@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/* Render the `main` element consistently in IE. */
main {
  display: block;
}

/* Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari. */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ FUENTES +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');
 */
/* @font-face {
	font-family: OpenSans; 
	font-style: normal;
	font-weight: 400;
	font-display: fallback;
	src: 
		local("Opens Sans"),
		url('../fonts/OpenSans/OpenSans-Regular.woff') format('woff'), 
		url('../fonts/OpenSans/OpenSans-Regular.ttf') format('truetype'); 
} */
/* @font-face {
    font-family: FuenteLight;
	font-style: normal;
	font-weight: 100;
	font-display: swap;
    src: 
		local("Segoe UI"),
		url('c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff2') format("woff2"),
		url('c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff') format("woff"),
		url('c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.ttf') format("ttf");
} */
@font-face {
  font-family: FuenteRegular;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Segoe UI"), url("https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff2") format("woff2"), url("https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff") format("woff"), url("https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.ttf") format("ttf");
}
@font-face {
  font-family: FuenteBold;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Segoe UI"), url("https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff2") format("woff2"), url("https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff") format("woff"), url("https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.ttf") format("ttf");
}
/* @font-face {
	font-family: FuenteRegular; 
	font-style: normal;
	font-weight: 400;
	font-display: fallback;
	src: 
		local("Jost-Regular"),
		url('../fonts/Jost/Jost-Regular.woff') format('woff'), 
		url('../fonts/Jost/Jost-Regular.ttf') format('truetype'); 
} */
@font-face {
  font-family: Merriweather;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Merriweather"), url("../fonts/Merriweather/Merriweather-Regular.woff") format("woff"), url("../fonts/Merriweather/Merriweather-Regular.ttf") format("truetype");
}
/* open-sans-300 - latin */
/* @font-face {
	font-display: swap; 
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	font-stretch:semi-condensed;
	src: url('../fonts/open-sans-v36-latin-300.woff2') format('woff2'), 
		 url('../fonts/open-sans-v36-latin-300.ttf') format('truetype'); 
  } */
/* open-sans-300italic - latin */
/*   @font-face {
	font-display: swap;
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 300;
	src: url('../fonts/open-sans-v36-latin-300italic.woff2') format('woff2'),
		 url('../fonts/open-sans-v36-latin-300italic.ttf') format('truetype');
  } */
/* open-sans-regular - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/open-sans-v36-latin-regular.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-regular.ttf") format("truetype");
}
/* open-sans-italic - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/open-sans-v36-latin-italic.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-italic.ttf") format("truetype");
}
/* open-sans-500 - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/open-sans-v36-latin-500.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-500.ttf") format("truetype");
}
/* open-sans-500italic - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/open-sans-v36-latin-500italic.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-500italic.ttf") format("truetype");
}
/* open-sans-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/open-sans-v36-latin-600.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-600.ttf") format("truetype");
}
/* open-sans-600italic - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/open-sans-v36-latin-600italic.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-600italic.ttf") format("truetype");
}
/* open-sans-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/open-sans-v36-latin-700.woff2") format("woff2"), url("../fonts/open-sans-v36-latin-700.ttf") format("truetype");
}
/* open-sans-700italic - latin */
/*   @font-face {
	font-display: swap; 
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 700;
	src: url('../fonts/open-sans-v36-latin-700italic.woff2') format('woff2'), 
		 url('../fonts/open-sans-v36-latin-700italic.ttf') format('truetype'); 
  } */
/* open-sans-800 - latin */
/*   @font-face {
	font-display: swap; 
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 800;
	src: url('../fonts/open-sans-v36-latin-800.woff2') format('woff2'), 
		 url('../fonts/open-sans-v36-latin-800.ttf') format('truetype'); 
  } */
/* open-sans-800italic - latin */
/*   @font-face {
	font-display: swap; 
	font-family: 'Open Sans';
	font-style: italic;
	font-weight: 800;
	src: url('../fonts/open-sans-v36-latin-800italic.woff2') format('woff2'), 
		 url('../fonts/open-sans-v36-latin-800italic.ttf') format('truetype'); 
  } */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ FUENTE BASE. FLUID RESPONSIVE FONTS +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Web para calcular: https://websemantics.uk/tools/responsive-font-calculator/ 
 16px @ 768px increasing to 24px @ 1920px  */
/* Tamaño mínimo Fuente (en móviles) */
:root {
  font-size: 16px !important;
}

/* Tamaño fuente en tabletas y escritorio */
/* Cálculo: font-size: calc(<tamaño mínimo (16px)> + (<tamaño máximo (24px)> - <tamaño mínimo (16px)) * 
            ((100vw - <anchura mínima ventana (768px)>) / (<anchura máxima ventana (1920px)> - <tamaño mínimo ventana (768px)>));
			font-size: calc(16px + 8 * ((100vw - 768px) / 1152)); */
@media (min-width: 768px) {
  :root {
    /* font-size: calc(1rem + ((1vw - 7.68px) * 0.6944)) !important; */
    /* Where: * 0.6944 = 100 * font_Size_Difference / viewport_Width_Difference */
    font-size: calc(16px + 4 * (100vw - 768px) / 1152) !important;
  }
}
/* Tamaño máximo */
@media (min-width: 1920px) {
  :root {
    font-size: 20px !important;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ COLORES CON VARIABLES +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
:root {
  /* Paleta colores 60-30-10 */
  --clDominante: #425e5e;
  --clAcentos: #75b2ad; /* rgba(117,178,171,.2); */
  --fondoOscuro: #27363b;
  --fondoClaro: #f5f5f5;
  --clTitulares: #333333;
  --colorPri: #2d4998;
  --colorSec: #ed9607;
  --colorTer: #c4322f;
  --colorResaltado: rgb(250,186,9);
  --colorEnlace: var(--colorPri);
  --colorEnlaceResaltado: var(--colorSec);
  --colorTitular: var(--colorPri);
  /* Paleta colores CIENCIAS DEL TRABAJO */
  --gradoRRLLyRRHH: rgba(71,106,48,1); /* Pantone 18-0135 - Treetop */
  --gradoFinancias: rgba(163,204,201,1); /* Pantone 14-4809 - EggShell Blue */
  --doblemasterConsultoriaLaboral: rgba(211,197,77,1); /* Pantone 14-0647 - Celery */
  --masterDireccion: rgba(102,103,171,1); /* Pantone 17-3938 - Very Peri */
  --masterCienciasTrabajo: rgba(75,155,105,1); /* Pantone 16-6127 - Greenbriar */
  --doblemasterCienciasTrabajoRRHH: rgba(208,151,134,1); /* Pantone 16-1330 - Muted Clay */
  /* Footer */
  --fondoFooter: #ab9999;
  --colorFooter: white;
  --colorFooterResaltado: black;
  --fondoCopyright: var(--fondoFooter);
  --colorCopyright: var(--colorFooter);
  --colorCopyrightResaltado: var(--colorFooterResaltado);
  /* Otros */
  --colorGris: #808080;
  --color01: #00405C;
  --color02: #EAB82A;
  --color03: #8d0739;
  --color04: #EEF2F4;
  --color05: #3D3D3D;
  --color06: #181818;
  /* Paleta Institucional US */
  --us-rojo-oscuro: #8d0739; /* rgb(165,1,51) */
  --us-rojo: #a20b32; /* rgb(190,15,46) */
  --us-amarillo: #eab82a; /* rgb(250,186,9) */
  --us-gris-oscuro: #3f3f3e; /* rgb(61,61,60) */
  --us-gris-claro: #c4c4c4; /* rgb(198,198,198) */
  /* Paleta Ampliada US*/
  --us-naranja: #d99122; /* rgb(240,146,5) */
  --us-verde-agua: #a0bc39; /* rgb(149,190,5) */
  --us-verde-azulado: #599d93; /* rgb(5,159,148) */
  --us-magenta: #a11553; /* rgb(189,19,83) */
  --us-gris-azulado: #70899d; /* rgb(100,138,159) */
  /* Otros */
  --color-texto: #6f6f6f;
  --color-texto-resaltado: #4f4f4f;
  --color-texto-claro: #9f9f9f;
  --color-crema: #E8E6CD;
  --color-negro: #000000;
  --color-gris: #3d3d3d;
  --color-gris-muy-oscuro: #1e1e1e;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ VALORES POR DEFECTO +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
*, *:before, *:after {
  box-sizing: inherit;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
  overflow-x: hidden;
}

body, html {
  height: 100%;
  background-color: white;
  color: var(--color-texto);
  font-family: FuenteRegular, Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizelegibility;
  letter-spacing: 0;
  word-spacing: normal;
  line-height: 1.7rem;
  text-indent: 0;
  white-space: normal;
  /*hyphens: manual;
  overflow-wrap:normal;
  word-break: normal;
  line-break: normal; */
  text-align: left;
  text-justify: inter-character;
  text-overflow: ellipsis;
  vertical-align: baseline;
  text-decoration: none;
  text-transform: none;
}

h1, h2, h3, h4, h5, h6,
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span,
.hff-10 h1,
.hff-10 h2,
.hff-10 h3,
.hff-10 h4,
.hff-10 h5,
.hff-10 h6,
.hff-10 .title-teaser-text .title,
.sff-10 .site-name,
.slff-10 .site-slogan {
  font-family: FuenteRegular, Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin: 10px 0;
}

hr {
  border: 0;
  border-top: 1px solid #eee;
  margin: 20px 0;
}

p, span, a, ul, ol, li {
  font-family: FuenteRegular, Helvetica, Arial, sans-serif;
}

a {
  text-decoration: none !important;
  color: var(--colorEnlace);
}

a:hover {
  color: var(--colorEnlaceResaltado);
  /* font-weight: 700 */
}

strong {
  font-weight: bold;
  color: var(--color-texto-resaltado);
}

em {
  font-style: italic;
}

img {
  margin-bottom: 0;
  /* width: 100%; */
  height: auto;
}

/* ----------------------------------------------------------------------------
+
+   L A Y O U T   +
+
------------------------------------------------------------------------------- */
/* -----------------------------
| El Layout de la página se encuentra en: templates\page.html.twig
| El valor de las variables del layout están en: config\install\theme_us.settings.yml
| Aunque de momento no funcionan estas
 --------------------------------- */
/* -----------------------------
| CONTAINER REGIONES
 -------------------------------- */
/* CONTAINER. Establece la anchura base de los elementos de la página -------------- */
/* Portátiles más bajo tienen resolución 1366px, por eso no pasar de esa anchura */
/* BREAKPOINTS DE BOOTSTRAP 5
X-Small: < 576px (Móviles)
Small (sm): >= 576px (Móviles apaisado: >= 576 and < 768px)
Medium (md): >= 768px (Tablets: >=768 and < 992px)
Large (lg): >= 992px (Desktop: >=992 and < 1200px)
Extra large (xl): >= 1200px (Desktop largos: >= 1200 and < 1440px)
Extra extra large (xxl): >= 1440px (Desktop superlargo: >= 1440px)
*/
/* Móvil */
@media (max-width: 767px) {
  .container {
    width: 100%;
  }
}
/* Tablet */
@media (min-width: 768px) {
  .container {
    width: 100%;
  }
}
/* Desktop */
@media (min-width: 992px) {
  .container {
    width: 970px; /* Antes: 100% */
  }
}
/* Extra Desktop */
@media (min-width: 1200px) {
  .container {
    width: 1170px; /* Antes lo puse en: 1300px */
  }
}
/* Extra extra Desktop */
@media (min-width: 1440px) {
  .container {
    width: 1430px; /* Antes lo puse en 1200px */
  }
}
.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/* -----------------------------
| PECULIARIDADES REGIONES 
  (Por defecto todas las regiones tiene el 100% ancho, no hay que expresarlo)
 --------------------------------- */
/* PAGE -- Quita padding superior encima del menú ----------------------------------- */
.page {
  padding: 0;
  background: #f5f1ec;
}

/* HEADER-TOP (Logos Móvil + [Atajos + Redes Sociales + Idioma + Navigon]) ------------ */
#header-top {
  position: sticky !important;
  z-index: 1499 !important;
  width: 100%;
  display: block;
  background-color: transparent;
  height: 53px;
  display: none;
}

.header-top > .container {
  display: flex;
  justify-content: space-between;
}

/* Header-top Derecho (Atajos + Redes Sociales + Idioma + Navigon) */
.header-top-second > .region-header-top-second {
  display: flex;
  justify-content: flex-end;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  #header-top {
    position: static !important;
    height: 53px;
    display: block;
  }
}
/* Tablet */
/* ------------------------------------------------------------------------------------- */
/* HEADER (Logo + Menú derecha + Buscador) ---------------------------------------------
   ----(header-first / header-second / header-third (main-navigation / search-area) ---- */
.header {
  position: relative;
  /* top: 53px !important; */
  z-index: 499;
  width: 100%;
  border-bottom: 0;
  padding-top: 5px;
  padding-bottom: 0;
  /* background-color: var(--fondoClaro); */
}

.header > .container {
  /* display: grid;  
  grid-template-columns: repeat(auto-fit, 
  						minmax(100px,9fr) 
  						minmax(min-content,1fr)); 
  justify-items: space-between; */
  display: flex;
  justify-content: space-between;
}

.header-first {
  order: 1;
  flex: 3;
}

.header-second {
  order: 2;
  flex: 2;
}

.header-third {
  order: 3;
  flex: 1;
  display: flex;
  justify-content: flex-end;
  /* Añadido para desplazar lupa y Servicios */
  position: relative;
  /* top: 30px; */
  /* top: 60px; */
  align-items: center;
}

.main-navigation {
  /*  flex: 5; */
  order: 1;
}

.search-area {
  /*  flex: 1; */
  order: 2;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* La oculta en modo móvil, y con ello: logo, buscador y perfil */
  .header {
    /* display: none; */
    height: 0;
    padding: 0;
  }
}
/* Tablet */
/* ------------------------------------------------------------------------------------- */
/* HEADER-BOTTOM (Menú centrado -------------------------------------------------------- */
.header-bottom {
  /* background-color: var(--colorPri); */
  /* padding: 8px 0; */
}

.header-bottom > .container {
  /* background-color: var(--colorPri); */
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.region-header-bottom {
  /* border-bottom: 4px solid var(--colorPri); */
}

/* ------------------------------------------------------------------------------------- */
/* BANNER (Aviso + Carrusel + Cabecera-titulares) ---------------------------------------- */
.banner > .container {
  /* 	width: 100%;
  	padding-left: 0;
  	padding-right: 0;
  	margin-right: auto;
  	margin-left: auto; */
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

/* ------------------------------------------------------------------------------------- */
/* HIGHLIGHTED-TOP [RESALTADO] --------------------------------------------------------- */
.highlighted-top {
  width: 100%;
  /* background-color: var(--fondoClaro);
  padding-top: 40px; */
  /* margin-bottom: 40px; */
  margin-bottom: -10px;
  /* margin-top: 10px; */
  background: #e3d9d9;
  padding: 5rem 0 3rem !important;
}
.highlighted-top .title {
  text-align: center;
  color: black;
  margin-top: 0 !important;
  margin-bottom: 3rem !important;
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 100;
}

/* ------------------------------------------------------------------------------------- */
/* HIGHLIGHTED [RESALTADO] ------------------------------------------------------------- */
.highlighted {
  /* background: #f2f2f2; */
}

/* ------------------------------------------------------------------------------------- */
/* HIGHLIGHTED-BOTTOM [RESALTADO] ------------------------------------------------------ */
/* Modificado para ocupar todo el ancho para NOVEDADES en MEDICINA */
.highlighted-bottom > .container {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin-right: auto;
  margin-left: auto;
}

/* ------------------------------------------------------------------------------------- */
/* CONTENT-TOP (Miga de pan) ----------------------------------------------------------- */
/* ------------------------------------------------------------------------------------- */
/* MAIN-CONTENT (Contenido principal) --------------------------------------------------
   ----- (main / sidebar-first / sidebar-second) --------------------------------------- */
.main-content > .container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.main {
  flex: 5;
  order: 2;
}

.sidebar-first {
  flex: 1.695;
  order: 1;
}

.sidebar-second {
  flex: 1.695;
  order: 3;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .main-content > .container {
    flex-direction: column;
  }
  .main {
    order: 1;
  }
  .sidebar-first {
    order: 2;
  }
}
/* Tablet */
/* ------------------------------------------------------------------------------------- */
/* CONTENT-BOTTOM (NOTICIAS DESTACADAS) ------------------------------------------------- */
/* Colocamos fondo a las noticias destacadas */
.content-bottom-second {
  background-color: var(--color04);
}

/* ------------------------------------------------------------------------------------- */
/* FEATURED-TOP [DESTACADO] ------------------------------------------------------------ */
/* PARALLAX  */
.featured-top {
  /* background-image: url(/sites/odontologia/files/img/sliders/aerea.jpg);
  min-height: 500px;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative; */
  background: var(--fondoClaro);
}

.featured-top-transparent-bg {
  /* background: white;
  width: 100%;
  height: 100%;
  opacity: .7;
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  mix-blend-mode: normal; */
}

.featured-top .container {
  z-index: 1;
  position: relative;
}

/* ------------------------------------------------------------------------------------- */
/* FEATURED [DESTACADO](Enlaces destacados) -------------------------------------------- */
/* ------------------------------------------------------------------------------------- */
/* FEATURED-BOTTOM [DESTACADO] --------------------------------------------------------- */
.featured-bottom {
  padding: 5rem 0 3rem !important;
}
.featured-bottom .title {
  text-align: center;
  color: black;
  margin-top: 0 !important;
  margin-bottom: 3rem !important;
  font-size: 3rem;
  line-height: 3rem;
  font-weight: 100;
}

/* ------------------------------------------------------------------------------------- */
/* FOOTER-TOP -------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------- */
/* FOOTER (logo US + Dirección + Mapa + Sociales) --------------------------------------
   ---- (footer-area / footer-area / footer-area / footer-area) ------------------------ */
.footer {
  /* background: #C3CFD6; */
  background: var(--fondoFooter);
  margin-top: 20px;
  padding: 30px 0 0;
}

.footer > .container {
  /* display: grid;
  grid-template-columns: repeat(auto-fit,  minmax(100px,1fr)); 
  justify-items: space-between; */
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-area {
  margin-bottom: 20px;
}

.footer-area:nth-child(1) {
  flex: 1;
}

.footer-area:nth-child(2) {
  flex: 1.5;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .footer > .container {
    /* grid-template-columns: 1fr; */
    flex-direction: column;
    align-items: center;
  }
}
/* Tablet */
/* ------------------------------------------------------------------------------------- */
/* FOOTER-BOTTOM (Copyright) ----------------------------------------------------------- */
.footer-bottom {
  /* background: #C3CFD6; */
  background: var(--fondoCopyright);
  padding: 5px 0;
}

.footer-bottom > .container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  justify-items: space-between;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .footer-bottom > .container {
    grid-template-columns: 1fr;
  }
}
/* Tablet */
/* ------------------------------------------------------------------------------------- */
/* PADDING INFERIOR DE REGIONES EN PORTADA  ---------------- */
.highlighted-top,
.highlighted,
.highlighted-bottom,
.content-top,
.content-bottom,
.featured-top,
.featured,
.featured-bottom {
  padding-bottom: 40px;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .highlighted-top,
  .highlighted,
  .highlighted-bottom,
  .content-top,
  .content-bottom,
  .featured-top,
  .featured,
  .featured-bottom {
    padding-bottom: 0;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ANULA: "TODAVÍA NO SE HA CREADO CONTENIDO PARA LA PORTADA" +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.view-frontpage.view-display-id-page_1 {
  display: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   LOGOS DESKTOP Y MÓVIL  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Logos Desktop */
.logos-desk {
  padding: 0;
  /*   display: flex;
    align-items: center; */
  z-index: 10;
  display: flex;
}

.logos-desk .logo-andalucia {
  display: inline-block;
  height: 4rem;
  max-height: 90px;
  min-height: 53px;
  position: relative;
  margin: 0px;
  top: 10px;
  display: none;
  /* 	&:after {
  		content: "";
  	    display: block;
  	    width: 1px;
      	background: #b7b5b5;
      	height: 40%;
      	position: absolute;
      	right: 0;
      	top: 15px;
  	} */
}

.logos-desk .logo-andalucia__img {
  width: auto;
  height: 100%;
  display: block;
  object-fit: contain;
}

.logos-desk .logo-sevilla {
  position: relative;
  top: -2px;
  left: -25px;
  order: 2;
  height: 5rem;
  max-height: 100px;
  min-height: 40px;
  display: block;
}

.logos-desk .logo-sevilla__img {
  width: auto;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* .logos-desk__blanco img {
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
} */
/* Escondemos logos móviles */
.logos-movil {
  display: none;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Escondemos los logos Desktop */
  .logos-desk {
    display: none;
  }
  /* Logos móviles */
  .logos-movil {
    display: flex;
    align-items: center;
    z-index: 10;
  }
  .logos-movil .logo-andalucia {
    position: relative;
    top: 2px;
    order: 3;
    margin-left: 5px;
    display: none;
  }
  .logos-movil .logo-andalucia img,
  .logos-movil .logo-sevilla img {
    height: 53px;
    width: 100%;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   ATAJOS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.atajos {
  margin: 6px 20px;
  line-height: 0;
  color: white !important;
  transition: 0.5s;
  background: var(--us-amarillo);
  border-radius: 35px;
  position: relative;
  font-size: 16px;
  padding: 10px 40px;
  width: fit-content;
}

.atajos__titulo::after {
  content: "\f107";
  font-family: "FontAwesome";
  font-size: 13px;
  margin-left: 10px;
}

.atajos__menu {
  position: absolute;
  top: 41px;
  left: 0;
  margin: 0 auto;
  padding: 5px 5px 15px 5px;
  /* background-color: white; */
  /*     border-radius: 7px; */
  transform: translateY(10px);
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
  /* box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%); */
  z-index: 99;
  line-height: 1.4rem;
  width: 100%;
}

.atajos:hover {
  /* transform: scale(1.15); */
  cursor: pointer;
}

.atajos:hover > .atajos__menu {
  /* visibility: visible; */
  transform: translate(0, 0);
  opacity: 1;
  pointer-events: auto;
}

.atajos__lista {
  list-style: none;
}

/* Elementos */
.atajos__item {
  margin-bottom: 5px;
  width: 100%;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  /* margin: 5px 20px; */
  line-height: 0;
  padding: 20px 10px;
  font-size: 14px;
  transition: 0.5s;
  border-radius: 35px;
  position: relative;
}

.atajos__item:hover a {
  color: black;
}

/* Enlaces */
.atajos__enlace {
  font-size: 14px;
  text-align: center;
  display: block;
  padding: 0 5px;
  transition: 0.5s;
  color: white;
}

/* Uno */
.atajos__item:nth-child(1) {
  background: #a0bc39;
  border: 1px solid #a0bc39;
}

.atajos__item:nth-child(1) > a:hover {
  color: #a0bc39 !important;
}

/* Dos */
.atajos__item:nth-child(2) {
  background: #a4320f;
  border: 1px solid #a4320f;
}

.atajos__item:nth-child(2) > a:hover {
  color: #a4320f !important;
}

/* Tres */
.atajos__item:nth-child(3) {
  background: #70899d;
  border: 1px solid #70899d;
}

.atajos__item:nth-child(3) > a:hover {
  color: #70899d !important;
}

.atajos__item:hover {
  background: white;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .atajos {
    /* position: relative;
    left: calc(190px - 100vw); */
    left: -25px;
    top: 0;
    font-size: 12px;
    padding: 10px 25px;
    display: none;
  }
}
/* Tablet */
/*@use "partials/menu-rapido";
@use "partials/atajos-boton"; */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   REDES SOCIALES   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.redes-sociales {
  position: relative;
  top: 7px;
  z-index: 99999;
}

.redes-sociales__lista {
  display: flex;
  color: white;
}

/* .redes-sociales__lista::after{
    font-size: 90%;
    padding: 0;
    color: inherit;
    content: "|";
    padding: 0 0.2rem;
    margin-right: 20px;
} */
.redes-sociales__item {
  margin-right: 20px;
  list-style-type: none;
}

.redes-sociales__item .fa-solid {
  margin-right: 5px;
  color: inherit;
}

.redes-sociales__enlace {
  font-size: 0.8rem;
  color: inherit;
  opacity: 0.5;
}

.redes-sociales__enlace:hover {
  color: white !important;
  opacity: 1;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .redes-sociales {
    display: none;
  }
}
/* Tablet */
/* SELECTOR DE IDIOMAS (Región: "Navegación") */
/* En Config > Regional > Language > Icons
Reemplazar enlace (activo)
Ruta del archivos de iconos: sites/internacional/themes/custom/theme_us/images/flags/*.png
Tamaño de la imagen: 48x62 */
.language-switcher-language-url {
  margin-left: 10px;
}

.language-switcher-language-url ul.links {
  display: flex;
  justify-content: flex-end;
  list-style: none;
}

/* Coloca un icono sobre el otro */
/* .language-switcher-language-url ul.links li:first-of-type */
.es {
  position: relative;
  margin-right: -7px;
}

/* Conmuta botones de idiomas entre activo y no activo */
.es,
.en {
  opacity: 0.2;
  z-index: 0;
}

.es.is-active,
.en.is-active {
  opacity: 1;
  z-index: 1;
  filter: drop-shadow(0 0 2px #888);
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .traductor {
    display: none;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   TRADUCTOR  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
ul.traductor {
  margin: auto;
  padding: 8px 0;
  list-style: none;
  background: transparent;
  color: white;
  overflow: hidden;
  font-size: 0.7rem;
}

ul.traductor li {
  display: inline;
  font-size: 100%;
  color: white;
  text-decoration: none;
}

ul.traductor li + li:before {
  font-size: 90%;
  padding: 0;
  color: inherit;
  content: "|";
  padding-right: 0.4rem;
}

ul.traductor li a {
  color: inherit;
  text-decoration: none;
  cursor: pointer !important;
}

ul.traductor li a:hover {
  color: #ffb606 !important;
  text-decoration: underline;
  text-underline-position: under;
  text-decoration-thickness: 2px;
}

.traductor .ingles:before {
  content: "EN";
}

.traductor .frances:before {
  content: "FR";
}

.traductor .italiano:before {
  content: "IT";
}

.traductor .espanol:before {
  content: "ES";
}

a.gflag {
  display: none;
  vertical-align: middle;
  font-size: 16px;
  padding: 1px 0;
}

a.gflag img {
  border: 0;
}

a.gflag:hover {
  background-image: url(https://gtranslate.net/flags/16a.png);
}

#goog-gt-tt {
  display: none !important;
}

.goog-te-banner-frame {
  display: none !important;
}

.goog-te-menu-value:hover {
  text-decoration: none !important;
}

body {
  top: 0 !important;
}

#google_translate_element2 {
  display: none !important;
}

.goog-tooltip {
  display: none !important;
}

.goog-tooltip:hover {
  display: none !important;
}

.goog-text-highlight {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body > .skiptranslate {
  display: none;
}

/* FIN TRADUCTOR */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   BUSCADOR (Region: Naviga Search area)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Estructura:
	<div> .search-area
		<div> .region-search-area	
			<div> #block-theme-us-search .search-block-form .block-search
				<form> #search-block-form 
					<div CASILLA-BUSQUEDA> .js-form-item .form-item .js-form-type-search .form-type-search .js-form-item-keys .form-item-keys .form-no-label
						<label> .visually-hidden "Buscar"
						<input> #edit-keys .form-search "Escriba lo que quiere buscar"
					<div ICONO LUPA> #edit-actions .form-actions js-form-wrapper .form-wrapper
						<input> #edit-submit .button .js-form-submit .form-submit
						::after (Aquí cambiamos la apariencia del botón y lo convertimos en lupa)
*/
.search-area {
  position: relative;
  margin: 0;
  width: 25px;
  height: 35px;
  margin-top: 1px;
}

/* 1. CASILLA DE BÚSQUEDA (aparece oculta-> width: 0) ----------------- */
.search-area #edit-keys {
  font-size: 16px;
  color: black;
  background-color: rgb(221, 207, 206);
  width: 0;
  padding: 0;
  position: absolute;
  top: -2px;
  z-index: 498;
  right: -10px;
  border-radius: 25px;
  border: none;
  -webkit-transition: all linear 0.35s;
  -moz-transition: all linear 0.35s;
  -o-transition: all linear 0.35s;
  -ms-transition: all linear 0.35s;
  transition: all linear 0.35s;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  height: 37px;
}

/* Clase que se añade a .form-search para mostrar casilla */
.muestra-caja-buscador {
  width: 500px !important;
  padding: 8px 45px 8px 25px !important;
}

input:-internal-autofill-selected {
  -webkit-appearance: menulist-button;
  background-color: var(--colorSec) !important;
  background-image: none !important;
  color: -internal-light-dark-color(black, white) !important;
}

:focus {
  outline: -webkit-focus-ring-color auto 1px;
  outline-color: -webkit-focus-ring-color;
  outline-style: auto;
  outline-width: 0;
}

/* 2. LUPA ----------------------------------- */
/* Contenedor de la LUPA */
.search-area #edit-actions {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
  /* Botón Search (transparente, posicionado encima) */
}
.search-area #edit-actions input[type=submit] {
  background-color: transparent;
  min-width: 35px;
  width: 35px;
  height: 35px;
  position: absolute;
  right: 0;
  margin: 0;
  padding: 0;
  /* text-indent: -9999px; */
  font-size: 0;
  border-radius: 0;
  display: block;
  cursor: pointer;
}
.search-area #edit-actions {
  /* Muestra la lupa de búsqueda, en lugar del botón Search */
}
.search-area #edit-actions::after {
  font-family: "FontAwesome";
  font-size: 25px;
  content: "\f002";
  color: black;
  /* cursor: pointer; */
  /* top: 0; */
  /* left: 0; */
  /* position: absolute; */
  /* padding-left: 1px; */
  /* z-index: 498; */
  /* line-height: 40px; */
  /* width: 20px; */
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .search-area {
    top: -43px;
    right: 55px;
  }
  .muestra-casilla {
    width: 0 !important;
    padding: 0 !important;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .muestra-casilla {
    width: 55vw !important;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   VISTA RESULTADO BUSCADOR   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.search-form input.form-text,
.search-form input.form-tel,
.search-form input.form-email,
.search-form input.form-url,
.search-form input.form-search,
.search-form input.form-file,
.search-form input.form-number,
.search-form input.form-color,
.search-form textarea.form-textarea,
.search-form textarea,
.search-form select.form-select,
.search-form select {
  background-color: #ddcfce;
  color: #454545;
  font-size: inherit;
  padding: 14px 15px;
  outline: none;
  border: none;
  -webkit-appearance: none;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -o-border-radius: 50px;
  border-radius: 50px;
  width: 300px;
}

/* Botón Búsqueda */
.search-area input[type=submit]:hover {
  outline: none;
  background: transparent !important;
}

a.button,
input[type=submit],
input[type=reset],
input[type=button] {
  background-color: var(--us-rojo-oscuro);
  color: white;
  font-size: 14px;
  text-transform: uppercase;
  padding: 15px 23px;
  color: #ffffff;
  display: inline-block;
  line-height: 1;
  -webkit-border-radius: 24px;
  -moz-border-radius: 24px;
  border-radius: 24px;
  min-width: 160px;
  border: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  margin: 10px 5px 10px 0;
  text-align: center;
}

a.button:hover,
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover {
  background-color: var(--us-amarillo) !important;
  color: black !important;
}

/* Titular resultados búsqueda */
/* .region-content h2 {
	font-size: 1.9rem;
	line-height: 2.4rem;
	color: var(--colorPri);
	text-align: left;
	text-transform: none;
	margin-bottom: 0;
	margin-top: 30px;	
} */
/* Titular texto encontrado */
.search-results h3,
.search-results h3 > a {
  font-size: 1.6rem;
  line-height: 2.1rem;
  color: var(--color03) !important;
  text-align: left;
  text-transform: none;
  margin-bottom: 10px;
  margin-top: 30px;
}

.search-results h3 > a:hover {
  color: var(--us-rojo-oscuro) !important;
}

/* Texto Búsqueda */
.search-results p,
.search-results span {
  margin: 0;
  padding: 0 0 22px 0;
  border: 0;
  font-style: inherit !important;
  font-variant: inherit !important;
  font-stretch: inherit !important;
  font-family: FuenteRegular, Helvetica, Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  letter-spacing: right !important;
  text-align: left;
}

/* Enlace de ayuda */
.search-help-link {
  color: var(--us-amarillo) !important;
}

.search-help-link:hover {
  color: var(--us-rojo-oscuro) !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   MENU NAVEGACION PRINCIPAL   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Quitar espacio superior */
nav.block-menu,
nav.block {
  padding: 0;
}

/* MENÚ */
.menu {
  position: relative;
  /* bottom: 30px; */
}

/* Listas */
.menu ul {
  list-style: none;
}

/* Cambiar cursor por defecto a links que no enlacen a ningún sitio */
.menu .menu__link[href=""],
.menu .menu__link[href="#"],
.menu .menu__link[href="javascript:void(0)"] {
  cursor: default !important;
}

.menu > ul {
  display: flex;
  justify-content: center;
  /* height: 40px; */
}

/* Elementos <li> */
.menu__item {
  position: relative;
  margin: 0 0.7vw;
  /* padding-bottom: 15px; */
}

/* FLECHA EN ICONOS CON HIJOS ---------------------------- */
/* Sustituye "desplegable" por flecha  arriba (f077) abajo (f078) */
.menu__flecha {
  visibility: hidden;
  transition: 0.65s;
  font-size: 0.5rem;
  width: 0.4rem;
  order: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-right: 0.4rem;
  position: absolute;
  right: 0;
  top: 5px;
}

.menu__flecha::before {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  color: black;
  font-size: 0.4rem;
  font-weight: 900;
  visibility: visible;
}

/* FLECHA A LA DERECHA DE LOS MENÚS CON HIJOS */
.menu__item:hover > .menu__flecha {
  transform: rotate(180deg);
  transition: 0.65s;
}

.menu__item:hover > .menu__flecha::before {
  color: white;
}

/* Enlaces menú nivel 0 */
.menu__item > .menu__link {
  line-height: 1.4rem;
  color: black;
  /* text-shadow: 1px 1px 2px black; */
  padding: 5px 15px;
  /* letter-spacing: 1px; */
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
  white-space: nowrap;
}

.menu__item > .menu__link.conHijos {
  padding-right: 25px;
}

.menu__item:hover > .menu__link {
  /* font-weight: 400; */
  background-color: rgba(128, 128, 128, 0.494);
  /* 	color: white !important;  */
}

.menu__item:hover::after {
  content: "";
  display: block;
  width: 100%;
  margin-top: 0;
  height: 1.5px;
  background-color: white;
  opacity: 1;
  z-index: 1;
}

.menu__item:last-child > .menu__link {
  color: white;
  background: #850909;
  border-radius: 15px;
}

/* DESPLEGABLE ----------------------------------------------------- */
.menu__desplegable {
  position: absolute;
  top: calc(100% - 7px);
  left: 0;
  width: auto; /* 15vw; */
  min-width: 18vw;
  transform: translateY(10px);
  opacity: 0;
  pointer-events: none; /* Importante para que sólo se despligue al colocar ratón en enlace */
  transition: 0.4s;
  line-height: 20px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  padding: 0;
  background-color: #f2f2f2;
  z-index: 999;
  /* Coloca un borde superior de 2px */
  border-top: 2px solid var(--colorPri);
}

/* Prepara <ul> como relative para poner en absolute la flecha que se pone arriba */
.menu__desplegable ul {
  position: relative;
}

/* Elementos <li> del desplegable */
.menu__item--desplegable {
  position: relative;
}

/* Línea debajo de cada item (2) porque el último item (menu__icono) es el icono que se mueve al principio */
.menu__item--desplegable:not(:nth-last-child(2)) {
  border-bottom: 1px solid #e1e1e1;
}

/* FLECHA -- Icono flecha de los desplegables se gira mirando a derecha */
.menu__item--desplegable > .menu__flecha {
  transform: rotate(-90deg);
  transition: 0.65s;
  font-size: 0.7rem;
  margin-right: 1rem;
  top: 8px;
}

.menu__item--desplegable:hover > .menu__flecha,
.menu__item--desplegable:active > .menu__flecha {
  transform: rotate(-270deg);
  transition: 0.65s;
}

/* Enlaces de desplegable */
.menu__item--desplegable > .menu__link {
  color: black !important;
  padding: 0.4rem 1rem;
  font-size: 0.8rem;
  line-height: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: 0.3s;
  flex: 1;
}

.menu__item--desplegable:hover > .menu__link {
  background-color: rgba(211, 197, 77, 0.2);
  color: black !important;
  font-weight: normal;
}

/* DESPLEGABLE SECUNDARIO ----------------------------------------------- */
.menu__desplegable--sec {
  top: 0;
  left: 94%;
  cursor: pointer;
  transform: translateX(10px);
  background-color: #f2f2f2;
  border: none;
  border-left: 2px dotted var(--colorPri);
}

/* En el link de la derecha, los dropdown se orientan a la izquierda */
.menu__item:nth-of-type(6) .menu__desplegable--sec,
.menu__item:nth-of-type(7) .menu__desplegable--sec {
  left: -94%;
  border: none;
  border-right: 2px dotted var(--colorPri);
  max-width: 10vw;
}

/* Muestra el menu__desplegable al hacer hover sobre un enlace que tenga desplegable */
.menu__item:hover > .menu__desplegable,
.menu__item--desplegable:hover > .menu__desplegable {
  transform: translate(0, 0);
  opacity: 1;
  pointer-events: auto;
}

/* ICONO (TRIÁNGULO) QUE POSICIONAMOS AL PRINCIPIO DEL MENU */
.menu__item > .menu__desplegable:first-of-type > ul > .menu__icono {
  position: absolute;
  top: -35px;
  left: 3px;
  cursor: pointer;
  transition: 0.3s;
  /* Esto genera el triángulo equilatero mirando hacia arriba */
  width: 0;
  height: 0;
  border-right: 15px solid transparent;
  border-top: 15px solid transparent;
  border-left: 15px solid transparent;
  border-bottom: 15px solid var(--colorPri);
  display: none; /* Oculto el triángulo */
}

.menu__item--desplegable:first-child:hover ~ .menu__icono {
  background-color: transparent !important;
}

/* Icono en los desplegables (no la utilizamos aquí) 
.menu__desplegable.menu__desplegable--sec .menu__icono{
    top: 10px;
    left: -5.5px;
} */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Anulamos scroll body */
  /* 	body {
  		overflow: hidden;
  	} */
  /* Fondo del Menú */
  .menu-fondo {
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    display: none;
    background-color: #dedede;
    align-items: flex-start;
    transition: width 0.3s;
    padding: 0;
    z-index: 999;
    overflow: hidden;
  }
  .menu {
    /*flex: initial;*/
    display: block;
    width: 100%;
  }
  .menu ul {
    flex-direction: column;
  }
  /* FLECHA A LA DERECHA ITEMS CON HIJOS ----------------------   */
  /* Icono menú principal */
  /* Flecha a la derecha de los items con hijos */
  .menu__flecha {
    transition: 0.7s;
    transform: rotate(0deg);
    top: 12px;
    margin-right: 20px;
    z-index: 1;
    font-size: 20px;
    width: 20px;
  }
  .menu__flecha::before {
    font-size: 20px;
  }
  /* Anula rotación cuando posicionamos sobre enlace delante flecha */
  .menu__item:hover > .menu__flecha,
  .menu__item:active > .menu__flecha {
    transform: none;
  }
  .menu__item > .menu__flecha:hover,
  .menu__item > .menu__flecha:active {
    transform: rotate(180deg);
    transition: 0.65s;
  }
  /* Cada <li> ocupa todo el ancho, y los oculta */
  .menu__item {
    width: 100%;
    opacity: 1;
    /* transform: translateY(15px); */
    padding-bottom: 0;
  }
  .menu__item > .menu__link {
    font-size: 120%;
    line-height: 0.5rem;
    padding: 1.6rem 2rem;
    color: black !important;
    justify-content: flex-start;
  }
  /* Coloca una línea debajo de cada elemento */
  .menu__item > .menu__link:not(:nth-last-child(1)),
  .menu__item > .menu__link:not(:nth-last-child(2)) {
    border-bottom: 1px solid #ccc;
  }
  /* Al hacer hover escala y muestra color debajo */
  .menu__item:hover > .menu__link,
  .menu__item:active > .menu__link {
    transform: scale(1.1);
    background-color: var(--colorSec);
    color: white !important;
    padding: 1.6rem 3rem;
  }
  /* Muestra dropdown */
  /* .menu__desplegable, 
  .menu__desplegable.menu__desplegable--sec{ */
  .menu__desplegable {
    position: initial;
    top: initial;
    left: initial;
    transform: initial;
    opacity: 1;
    pointer-events: none;
    width: 100%;
    padding: 0;
    background-color: white;
    display: none;
    box-shadow: 0 0;
    overflow: hidden;
    border-left: 1px solid var(--colorPri);
  }
  /* Barra superior sobre el menú dropdown */
  .menu__item > .menu__desplegable:first-of-type::before {
    content: "";
    height: 0;
  }
  /* CLASES PARA ESCONDER - MOSTRAR MENÚS. ASIGNADOS POR JAVASCRIPT */
  .menuHide {
    display: none;
  }
  .menuShow {
    display: block;
  }
  /* DESPLEGABLE -------------------------------------------------------- */
  .menu__item--desplegable > .menu__link {
    background-color: transparent;
    font-size: 120%;
    padding: 1rem 3.5rem;
    line-height: 1;
    justify-content: flex-start;
  }
  .menu__item--desplegable > .menu__link:not(:nth-last-child(2)) {
    border-bottom: 1px solid #e1e1e1;
  }
  /* Flecha  */
  /* Icono flecha de los dropdown se gira mirando a derecha */
  .menu__item--desplegable > .menu__flecha {
    transform: rotate(0deg);
    transition: transform 0.3s;
    margin-left: 0.4rem;
  }
  /* Anula rotación cuando posicionamos sobre enlace delante flecha */
  .menu__item--desplegable:hover > .menu__flecha,
  .menu__item--desplegable:active > .menu__flecha {
    transform: none;
  }
  /* Realiza rotación flecha solo cuando nos colocamos sobre ella o está activa */
  .menu__item--desplegable > .menu__flecha:hover,
  .menu__item--desplegable > .menu__flecha:active {
    transform: rotate(180deg);
    transition: transform 0.3s;
  }
  .menu__desplegable.menu__desplegable--sec .menu__item--desplegable > .menu__link {
    padding: 1.2rem 2rem 1.2rem 5rem;
  }
  .menu__desplegable.menu__desplegable--sec .menu__desplegable.menu__desplegable--sec .menu__item--desplegable > .menu__link {
    padding: 1.2rem 2rem 1.2rem 7rem;
  }
  .menu__item--desplegable:not(:nth-last-child(2)) {
    border-bottom: none;
  }
  /* Active y Hover sobre item--desplegable */
  .menu__item--desplegable:hover > .menu__lin,
  .menu__item--desplegable:active > .menu__link {
    background-color: rgba(165, 1, 51, 0.05) !important;
    color: black !important;
  }
  /* En el link de la derecha, los desplegables se orientan a la izquierda */
  .menu__item:nth-of-type(6) .menu__desplegable--sec,
  .menu__item:nth-of-type(7) .menu__desplegable--sec {
    /* left: -94%; 
    border:none;
    border-right: 2px dotted var(--colorPri); */
    max-width: 100vw;
  }
  /* Contenedor items con hijos */
  .menu__link-ctn.conHijos {
    display: flex;
    justify-content: space-between;
  }
  /* ICONO DELANTE DE LOS ITEMS DE 2 Y TERCER NIVEL ----------------------- */
  /* Icono delante de los items 3º nivel (cuadrado)*/
  .menu__item .menu__item--desplegable .menu__item--desplegable .menu__item--desplegable > .menu__link::before {
    content: "◾";
    display: inline-block;
    padding-right: 10px;
    font-size: 0.5rem;
  }
  /* Icono delante de los items 2º nivel (círculo) */
  .menu__item .menu__item--desplegable .menu__item--desplegable > .menu__link::before {
    content: "●";
    display: inline-block;
    padding-right: 10px;
    font-size: 0.5rem;
  }
  /* ICONO (POR EJEMPLO TRIÁNGULO) QUE PODEMOS SITUAR EN MENÚ ---------------- */
  .menu__icono {
    z-index: 1;
    background-color: transparent !important;
    top: 0 !important;
    left: 50px !important;
    transform: scale(1.1) rotate(180deg);
    transition: 0.5s !important;
  }
  /* Color triángulo */
  .menu__item > .menu__desplegable:first-of-type > ul > .menu__icono {
    border-bottom: 15px solid var(--colorSec);
  }
  /* Triángulo activo o hover se muestra del color resaltado */
  .menu__item:hover .menu__icono,
  .menu__item:active .menu__icono {
    border-bottom: 15px solid var(--colorPri) !important;
  }
  /* No muestra triángulo en dropdown--sec */
  .menu__desplegable--sec .menu__icono {
    display: none;
  }
  /* Mantiene color del triángulo al iluminarse franja de abajo */
  .menu__item--desplegable:first-child:hover ~ .menu__icono,
  .menu__item--desplegable:first-child:active ~ .menu__icono {
    border-bottom: 15px solid var(--colorPri) !important;
  }
}
/* Tablet */
/* ---------------------------------------------------------
+ NAVICON (Menú móvil) +
------------------------------------------------------------ */
.navicon {
  position: absolute;
  top: -50px;
  right: 19px;
  display: none;
  align-items: center;
  justify-content: flex-end;
}

.navicon__ctn {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Línea central */
.navicon__ctn div {
  width: 2rem;
  height: 5px;
  border-radius: 6px;
  background-color: black;
  position: relative;
  z-index: 1001;
  transition: 0.5s;
}

/* Líneas de arriba y abajo */
.navicon__ctn div:before,
.navicon__ctn div:after {
  content: "";
  position: absolute;
  width: inherit;
  height: inherit;
  background-color: black;
  border-radius: 6px;
  transition: 0.5s;
}

/* Línea de arriba */
.navicon__ctn div:before {
  transform: translateY(-10px);
}

/* Línea de abajo */
.navicon__ctn div:after {
  transform: translateY(10px);
}

/* El <input> #check es el que indica si está pulsado o no el Navicon */
#check {
  position: absolute;
  top: -30px;
  /* right: 15px; */
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  z-index: 90000;
  cursor: pointer;
  opacity: 0;
}

#check:checked ~ .navicon .navicon__ctn div {
  background-color: transparent;
}

#check:checked ~ .navicon .navicon__ctn div:before {
  transform: translateY(0) rotate(-45deg);
}

#check:checked ~ .navicon .navicon__ctn div:after {
  transform: translateY(0) rotate(45deg);
}

@keyframes animation {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Navicon */
  #check {
    display: block;
  }
  .navicon {
    display: flex;
    z-index: 89999;
  }
  /* Quitamos position:relative para poder situar bien fondo menú */
  .header-third {
    position: static;
  }
  /* Al hacer clic en Navicon, muestra menú que se desplaza desde la izquierda a derecha */
  #check:checked ~ .menu-fondo {
    /* transform: translateX(0); */
    display: block;
    width: 100%;
  }
  /* Clic en Navicon, animación en <li> */
  #check:checked ~ .menu-fondo .menu {
    animation: animation 0.5s ease forwards 0.6s; /* var(--i); */
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   A V I S O   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.aviso {
  background-color: var(--us-rojo-oscuro);
  display: flex;
  color: white;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}

.aviso__titular {
  display: flex;
  justify-content: center;
}

.aviso__titular a {
  color: yellow !important;
}

.aviso__titular .fontawesome-icons {
  font-size: 2rem;
  margin-right: 10px;
}

.aviso__titulo {
  color: white;
}

.aviso__texto {
  font-size: 0.9rem;
  line-height: 1rem;
  text-align: center;
  color: white;
}

.aviso__texto strong {
  color: white;
}

/* .aviso__enlace:hover {
	color: var(--colorSec) !important;
} */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   CARRUSEL MÁSTER (FUSIÓN FINAL: ESTILO ANTIGUO + ESTRUCTURA NUEVA)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* --- VARIABLES & RESET --- */
.carrusel-wrapper {
  --colorPri: #a50133;
  --blanco: #fff;
  --negro: #000;
  --transicion-suave: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Carrusel Fantasma para compensar el espacio del Carrusel absolute */
.carrusel-fantasma {
  position: relative;
  padding-bottom: 25.5%;
  background: transparent;
  color: transparent;
  display: none;
}

/* --- ESTRUCTURA PRINCIPAL (LAYOUT) --- */
.carrusel {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 0;
  z-index: 1;
  background-color: #000;
  /* Lógica de Aspecto Dinámico */
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="9_16"]) {
  --aspecto: 0.5625;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="4_5"]) {
  --aspecto: 0.8;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="1_1"]) {
  --aspecto: 1;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="4_3"]) {
  --aspecto: 1.3333333333;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="3_2"]) {
  --aspecto: 1.5;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="14_9"]) {
  --aspecto: 1.5555555556;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="16_10"]) {
  --aspecto: 1.6;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="16_9"]) {
  --aspecto: 1.7777777778;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="21_9"]) {
  --aspecto: 2.3333333333;
}
.carrusel:has(> .carrusel-diapositivas > .diapositiva:first-child[data-aspecto="2_39_1"]) {
  --aspecto: 2.39;
}
.carrusel {
  aspect-ratio: var(--aspecto);
  height: auto;
}

.carrusel-diapositivas {
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform;
}

/* --- DIAPOSITIVA --- */
.diapositiva {
  flex: 1 0 100%;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0;
  /* --- 1. CAPA DE IMAGEN FONDO --- */
}
.diapositiva__imagen-ctn {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
  overflow: hidden;
}
.diapositiva__img, .diapositiva img, .diapositiva .background {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  /* position: absolute; 
  top: 0; left: 0; */
  border: none;
  /* Aseguramos el punto de origen en el centro */
  transform-origin: center center;
  will-change: transform, filter; /* Optimización para animaciones */
  transform: scale(1);
}
.diapositiva {
  /* --- 1.1 EFECTO FONDO --- */
  /* Definición de keyframes para los distintos efectos */
}
@keyframes kenBurnsAnim {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
@keyframes zoomOutAnim {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes panLeftAnim {
  0% {
    transform: scale(1.15) translate(0, 0);
  }
  100% {
    transform: scale(1.15) translate(-40px, 0);
  }
}
@keyframes panRightAnim {
  0% {
    transform: scale(1.15) translate(0, 0);
  }
  100% {
    transform: scale(1.15) translate(40px, 0);
  }
}
@keyframes rotateAnim {
  0% {
    transform: scale(1.2) rotate(0deg);
  }
  100% {
    transform: scale(1.2) rotate(4deg);
  }
}
@keyframes blurInAnim {
  0% {
    transform: scale(1.1);
    filter: blur(8px);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    filter: blur(0px);
    opacity: 1;
  }
}
@keyframes grayToColorAnim {
  0% {
    transform: scale(1.1);
    filter: grayscale(100%);
  }
  100% {
    transform: scale(1);
    filter: grayscale(0%);
  }
}
@keyframes slideLeftAnim {
  from {
    transform: scale(1.2) translateX(8%);
  }
  to {
    transform: scale(1.2) translateX(-8%);
  }
}
@keyframes slideRightAnim {
  from {
    transform: scale(1.2) translateX(-8%);
  }
  to {
    transform: scale(1.2) translateX(8%);
  }
}
.diapositiva {
  /* Aplicación de animaciones según el atributo data-efecto-img cuando la diapositiva está activa */
}
.diapositiva.activa[data-efecto-img=ken_burns] .diapositiva__img, .diapositiva.activa[data-efecto-img=ken_burns] img, .diapositiva.activa[data-efecto-img=ken_burns] .background {
  animation: kenBurnsAnim 10s ease-out forwards;
}
.diapositiva.activa[data-efecto-img=zoom_out] .diapositiva__img, .diapositiva.activa[data-efecto-img=zoom_out] img, .diapositiva.activa[data-efecto-img=zoom_out] .background {
  animation: zoomOutAnim 10s ease-out forwards;
}
.diapositiva.activa[data-efecto-img=pan_left] .diapositiva__img, .diapositiva.activa[data-efecto-img=pan_left] img, .diapositiva.activa[data-efecto-img=pan_left] .background {
  animation: panLeftAnim 8s ease-out forwards;
}
.diapositiva.activa[data-efecto-img=pan_right] .diapositiva__img, .diapositiva.activa[data-efecto-img=pan_right] img, .diapositiva.activa[data-efecto-img=pan_right] .background {
  animation: panRightAnim 8s ease-out forwards;
}
.diapositiva.activa[data-efecto-img=rotate] .diapositiva__img, .diapositiva.activa[data-efecto-img=rotate] img, .diapositiva.activa[data-efecto-img=rotate] .background {
  animation: rotateAnim 7s ease-in-out forwards;
}
.diapositiva.activa[data-efecto-img=blur_in] .diapositiva__img, .diapositiva.activa[data-efecto-img=blur_in] img, .diapositiva.activa[data-efecto-img=blur_in] .background {
  animation: blurInAnim 2.5s ease-out forwards;
}
.diapositiva.activa[data-efecto-img=gray_to_color] .diapositiva__img, .diapositiva.activa[data-efecto-img=gray_to_color] img, .diapositiva.activa[data-efecto-img=gray_to_color] .background {
  animation: grayToColorAnim 5s ease-out forwards;
}
.diapositiva.activa[data-efecto-img=slide_left] .diapositiva__img, .diapositiva.activa[data-efecto-img=slide_left] img, .diapositiva.activa[data-efecto-img=slide_left] .background {
  animation: slideLeftAnim 8s ease-in-out forwards;
}
.diapositiva.activa[data-efecto-img=slide_right] .diapositiva__img, .diapositiva.activa[data-efecto-img=slide_right] img, .diapositiva.activa[data-efecto-img=slide_right] .background {
  animation: slideRightAnim 8s ease-in-out forwards;
}
.diapositiva {
  /* --- DEFAULT --- */
}
.diapositiva.activa:not([data-efecto-img]) .diapositiva__img, .diapositiva.activa:not([data-efecto-img]) img, .diapositiva.activa:not([data-efecto-img]) .background {
  animation: kenBurnsAnim 10s ease-out forwards;
}
.diapositiva {
  /* --- ESTATICA --- */
}
.diapositiva.activa[data-efecto-img=estatica] .diapositiva__img, .diapositiva.activa[data-efecto-img=estatica] img, .diapositiva.activa[data-efecto-img=none] img {
  animation: none;
  transform: scale(1);
  filter: none;
}
.diapositiva {
  /* --- 1.2 OVERLAY --- */
}
.diapositiva .background-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  transition: background 0.3s;
}
.diapositiva[data-overlay=gradiente_corporativo] .background-overlay {
  background: linear-gradient(135deg, rgba(220, 207, 210, 0.2) 0%, rgba(83, 3, 35, 0.7) 100%);
}
.diapositiva[data-overlay=oscuro] .background-overlay {
  background: rgba(0, 0, 0, 0.5);
}
.diapositiva[data-overlay=claro] .background-overlay {
  background: rgba(255, 255, 255, 0.5);
}
.diapositiva {
  /* --- 2. TEXTO (CON SU CAJA)  --- */
}
.diapositiva__texto-ctn {
  position: absolute;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: white;
  /* FONDO DE CAJA (Glassmorphism + Colores) */
}
.diapositiva__texto-ctn .diapositiva__color-fondo {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.85;
  backdrop-filter: blur(10px);
  transition: background-color 0.3s;
}
.diapositiva__texto-ctn {
  /* --- 2.1 COLORES DE CAJA --- */
  --colorCaja: white;
}
.diapositiva__texto-ctn[data-color-caja=transparente] {
  --colorCaja: transparent;
}
.diapositiva__texto-ctn[data-color-caja=blanco] {
  --colorCaja: white;
  opacity: 1;
}
.diapositiva__texto-ctn[data-color-caja=gris] {
  --colorCaja: rgb(128,135,189,1);
}
.diapositiva__texto-ctn[data-color-caja=amarillo] {
  --colorCaja: rgba(230,168,56,1);
}
.diapositiva__texto-ctn[data-color-caja=naranja] {
  --colorCaja: rgba(253,180,4,1);
}
.diapositiva__texto-ctn[data-color-caja=rojo] {
  --colorCaja: rgba(173,0,80,1);
}
.diapositiva__texto-ctn[data-color-caja=granate] {
  --colorCaja: rgba(108,8,11,1);
}
.diapositiva__texto-ctn[data-color-caja=magenta] {
  --colorCaja: rgba(220,24,140,1);
}
.diapositiva__texto-ctn[data-color-caja=violeta] {
  --colorCaja: rgba(155,88,153,1);
}
.diapositiva__texto-ctn[data-color-caja=azul_marino] {
  --colorCaja: rgba(18,37,98,1);
}
.diapositiva__texto-ctn[data-color-caja=azul] {
  --colorCaja: rgba(62,73,144,1);
}
.diapositiva__texto-ctn[data-color-caja=verde_azulado] {
  --colorCaja: rgba(2,119,114,1);
}
.diapositiva__texto-ctn[data-color-caja=verde] {
  --colorCaja: rgba(0,129,64,1);
}
.diapositiva__texto-ctn[color=verde_amarillento] {
  --colorCaja: rgba(113, 156, 15,1);
}
.diapositiva__texto-ctn .diapositiva__color-fondo {
  background-color: var(--colorCaja);
}
.diapositiva__texto-ctn {
  /* --- 2.2 TRANSPARENCIA --- */
}
.diapositiva__texto-ctn[data-transparencia="0"] .diapositiva__color-fondo {
  opacity: 1;
}
.diapositiva__texto-ctn[data-transparencia="10"] .diapositiva__color-fondo {
  opacity: 0.9;
}
.diapositiva__texto-ctn[data-transparencia="20"] .diapositiva__color-fondo {
  opacity: 0.8;
}
.diapositiva__texto-ctn[data-transparencia="30"] .diapositiva__color-fondo {
  opacity: 0.7;
}
.diapositiva__texto-ctn[data-transparencia="40"] .diapositiva__color-fondo {
  opacity: 0.6;
}
.diapositiva__texto-ctn[data-transparencia="50"] .diapositiva__color-fondo {
  opacity: 0.5;
}
.diapositiva__texto-ctn[data-transparencia="60"] .diapositiva__color-fondo {
  opacity: 0.4;
}
.diapositiva__texto-ctn[data-transparencia="70"] .diapositiva__color-fondo {
  opacity: 0.3;
}
.diapositiva__texto-ctn[data-transparencia="80"] .diapositiva__color-fondo {
  opacity: 0.2;
}
.diapositiva__texto-ctn[data-transparencia="90"] .diapositiva__color-fondo {
  opacity: 0.1;
}
.diapositiva__texto-ctn[data-transparencia="100"] {
  opacity: 0;
}
.diapositiva__texto-ctn {
  /* --- 2.3 TIPOGRAFÍA --- */
}
.diapositiva__texto-ctn .diapositiva__titulo {
  font-size: 2.5rem;
  line-height: 2.8rem;
  font-weight: 900;
  margin: 0;
  padding: 1rem 0;
  letter-spacing: 0.05rem;
  color: inherit;
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  transition: font-size 0.3s ease; /* Transición suave si cambia dinámicamente */
}
.diapositiva__texto-ctn .diapositiva__resumen {
  font-size: 1.1rem;
  line-height: 1.7rem;
  color: inherit;
  max-height: 450px;
  overflow: hidden;
  transition: font-size 0.3s ease;
}
.diapositiva__texto-ctn .diapositiva__resumen p {
  margin: 0;
}
.diapositiva__texto-ctn[data-tipografia=muy_grande] .diapositiva__titulo {
  font-size: 3.5rem;
  line-height: 4rem;
  padding-bottom: 2rem;
}
.diapositiva__texto-ctn[data-tipografia=muy_grande] .diapositiva__resumen {
  font-size: 1.3rem;
  line-height: 2rem;
}
.diapositiva__texto-ctn[data-tipografia=grande] .diapositiva__titulo {
  font-size: 3rem;
  line-height: 3.5rem;
}
.diapositiva__texto-ctn[data-tipografia=grande] .diapositiva__resumen {
  font-size: 1.2rem;
  line-height: 1.8rem;
}
.diapositiva__texto-ctn[data-tipografia=mediano] .diapositiva__titulo {
  font-size: 2.5rem;
  line-height: 2.8rem;
}
.diapositiva__texto-ctn[data-tipografia=mediano] .diapositiva__resumen {
  font-size: 1.1rem;
  line-height: 1.7rem;
}
.diapositiva__texto-ctn[data-tipografia=pequeno] .diapositiva__titulo {
  font-size: 2rem;
  line-height: 2.3rem;
  padding-bottom: 1.2rem;
}
.diapositiva__texto-ctn[data-tipografia=pequeno] .diapositiva__resumen {
  font-size: 1rem;
  line-height: 1.5rem;
}
.diapositiva__texto-ctn[data-tipografia=muy_pequeno] .diapositiva__titulo {
  font-size: 1.5rem;
  line-height: 1.8rem;
  padding-bottom: 1rem;
}
.diapositiva__texto-ctn[data-tipografia=muy_pequeno] .diapositiva__resumen {
  font-size: 0.9rem;
  line-height: 1.3rem;
}
.diapositiva__texto-ctn {
  /* --- 2.4 COLORES DE TEXTO --- */
  --colorTexto-caja: white;
}
.diapositiva__texto-ctn[data-color-texto=blanco] {
  --colorTexto-caja: white;
}
.diapositiva__texto-ctn[data-color-texto=negro] {
  --colorTexto-caja: black;
}
.diapositiva__texto-ctn[data-color-texto=amarillo] {
  --colorTexto-caja: yellow;
}
.diapositiva__texto-ctn[data-color-texto=azul] {
  --colorTexto-caja: rgb(2,173,193);
}
.diapositiva__texto-ctn[data-color-texto=gris] {
  --colorTexto-caja: rgb(128,135,189);
}
.diapositiva__texto-ctn[data-color-texto=rojo] {
  --colorTexto-caja: rgb(173,0,80);
}
.diapositiva__texto-ctn[data-color-texto=violeta] {
  --colorTexto-caja: rgb(155,88,153);
}
.diapositiva__texto-ctn[data-color-texto=verde] {
  --colorTexto-caja: rgb(10, 109, 66);
}
.diapositiva__texto-ctn[data-color-texto=naranja] {
  --colorTexto-caja: rgb(230,168,56);
}
.diapositiva__texto-ctn[data-color-texto=magenta] {
  --colorTexto-caja: rgb(205, 13, 205);
}
.diapositiva__texto-ctn {
  color: var(--colorTexto-caja);
}
.diapositiva__texto-ctn .diapositiva__titulo, .diapositiva__texto-ctn a {
  color: var(--colorTexto-caja);
}
.diapositiva__texto-ctn {
  /* --- 2.5 BOTÓN ENLACE --- */
}
.diapositiva__texto-ctn .btn-carrusel {
  background: transparent;
  padding: 4px 20px;
  width: fit-content;
  border: 1px solid currentColor;
  border-radius: 20px;
  margin-top: 20px;
  color: inherit;
  text-decoration: none;
  font-weight: 400;
  display: inline-block;
  transition: 0.3s;
  color: var(--colorTexto-caja);
  text-decoration: none !important;
}
.diapositiva__texto-ctn .btn-carrusel:hover {
  background: var(--colorTexto-caja) !important;
  color: var(--colorCaja) !important;
  opacity: 0.8 !important;
}
.diapositiva__texto-ctn .btn-carrusel[data-estilo=solido] {
  background: var(--colorTexto-caja);
  color: var(--colorCaja);
  border: none;
}
.diapositiva__texto-ctn .btn-carrusel[data-estilo=outline] {
  background: transparent;
  color: var(--colorTexto-caja);
  border: 2px solid var(--colorTexto-caja);
}
.diapositiva__texto-ctn {
  /* --- 2.6 POSICIONAMIENTO Y FORMA CAJA TEXTO --- */
}
.diapositiva__texto-ctn[data-ubica=sup_izq] {
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  align-items: flex-start;
  text-align: left;
  padding-left: 60px;
}
.diapositiva__texto-ctn[data-ubica=sup_izq][data-texto-forma=inclinada] {
  clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
  padding-right: 6rem;
}
.diapositiva__texto-ctn[data-ubica=sup_izq][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 0% 0% 50px 0%);
}
.diapositiva__texto-ctn[data-ubica=sup_cen] {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  height: auto;
  align-items: center;
  text-align: center;
}
.diapositiva__texto-ctn[data-ubica=sup_cen][data-texto-forma=inclinada] {
  clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%);
}
.diapositiva__texto-ctn[data-ubica=sup_cen][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 0% 0% 50% 50%);
  padding-bottom: 50px;
}
.diapositiva__texto-ctn[data-ubica=sup_der] {
  top: 0;
  right: 0;
  left: auto;
  width: auto;
  height: auto;
  align-items: flex-end;
  text-align: right;
  padding-right: 60px;
}
.diapositiva__texto-ctn[data-ubica=sup_der][data-texto-forma=inclinada] {
  clip-path: polygon(0% 0, 100% 0, 100% 100%, 15% 100%);
  padding-left: 6rem;
}
.diapositiva__texto-ctn[data-ubica=sup_der][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 0% 0% 0% 50px);
}
.diapositiva__texto-ctn[data-ubica=cen_izq] {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  align-items: flex-start;
  text-align: left;
  padding-left: 60px;
}
.diapositiva__texto-ctn[data-ubica=cen_izq][data-texto-forma=inclinada] {
  clip-path: polygon(85% 0%, 0% 0%, 0% 100%, 100% 100%);
  padding-right: 6rem;
}
.diapositiva__texto-ctn[data-ubica=cen_izq][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 0% 50px 50px 0%);
}
.diapositiva__texto-ctn[data-ubica=cen] {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  align-items: center;
  text-align: center;
}
.diapositiva__texto-ctn[data-ubica=cen][data-texto-forma=inclinada] {
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  padding: 4rem 7rem;
}
.diapositiva__texto-ctn[data-ubica=cen][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 50% 50% 50% 50%);
}
.diapositiva__texto-ctn[data-ubica=cen_der] {
  top: 50%;
  right: 0;
  left: auto;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  align-items: flex-end;
  text-align: right;
  padding-right: 60px;
}
.diapositiva__texto-ctn[data-ubica=cen_der][data-texto-forma=inclinada] {
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%);
  padding-left: 6rem;
}
.diapositiva__texto-ctn[data-ubica=cen_der][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 50px 0% 0% 50px);
}
.diapositiva__texto-ctn[data-ubica=inf_izq] {
  bottom: 0;
  left: 0;
  top: auto;
  width: auto;
  height: auto;
  align-items: flex-start;
  text-align: left;
  padding-left: 60px;
}
.diapositiva__texto-ctn[data-ubica=inf_izq][data-texto-forma=inclinada] {
  clip-path: polygon(0 0, 85% 0, 100% 100%, 0% 100%);
  padding-right: 6rem;
}
.diapositiva__texto-ctn[data-ubica=inf_izq][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 0% 50px 0% 0%);
}
.diapositiva__texto-ctn[data-ubica=inf_cen] {
  bottom: 0;
  left: 50%;
  top: auto;
  transform: translateX(-50%);
  width: auto;
  height: auto;
  align-items: center;
  text-align: center;
}
.diapositiva__texto-ctn[data-ubica=inf_cen][data-texto-forma=inclinada] {
  clip-path: polygon(15% 0, 85% 0, 100% 100%, 0% 100%);
  padding-bottom: 0;
}
.diapositiva__texto-ctn[data-ubica=inf_cen][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 50% 50% 0% 0%);
  padding-top: 50px;
  padding-bottom: 0;
}
.diapositiva__texto-ctn[data-ubica=inf_der] {
  bottom: 0;
  right: 0;
  right: auto;
  top: auto;
  width: auto;
  height: auto;
  align-items: flex-end;
  text-align: right;
  padding-right: 60px;
}
.diapositiva__texto-ctn[data-ubica=inf_der][data-texto-forma=inclinada] {
  clip-path: polygon(15% 0, 100% 0, 100% 100%, 0% 100%);
  padding-left: 6rem;
}
.diapositiva__texto-ctn[data-ubica=inf_der][data-texto-forma=curvada] {
  clip-path: inset(0 0 0 0 round 50px 0% 0% 0%);
}
.diapositiva__texto-ctn {
  /* --- 2.7 ANCHURA --- */
  /* Genera desde 20 hasta 100 saltando de 10 en 10 */
}
.diapositiva__texto-ctn[data-texto-anchura="20"] {
  width: 20%;
}
.diapositiva__texto-ctn[data-texto-anchura="30"] {
  width: 30%;
}
.diapositiva__texto-ctn[data-texto-anchura="40"] {
  width: 40%;
}
.diapositiva__texto-ctn[data-texto-anchura="50"] {
  width: 50%;
}
.diapositiva__texto-ctn[data-texto-anchura="60"] {
  width: 60%;
}
.diapositiva__texto-ctn[data-texto-anchura="70"] {
  width: 70%;
}
.diapositiva__texto-ctn[data-texto-anchura="80"] {
  width: 80%;
}
.diapositiva__texto-ctn[data-texto-anchura="90"] {
  width: 90%;
}
.diapositiva__texto-ctn[data-texto-anchura="100"] {
  width: 100%;
}
.diapositiva__texto-ctn {
  /* --- 2.8 ALTURA --- */
}
.diapositiva__texto-ctn[data-texto-altura=auto] {
  height: auto;
}
.diapositiva__texto-ctn[data-texto-altura="35"] {
  height: 35%;
}
.diapositiva__texto-ctn[data-texto-altura="50"] {
  height: 50%;
}
.diapositiva__texto-ctn[data-texto-altura="66"] {
  height: 66%;
}
.diapositiva__texto-ctn[data-texto-altura="100"] {
  height: 100%;
}
.diapositiva {
  /* --- 2.7 ANIMACIÓN: TITULO, RESUMEN Y BOTÓN ENLACE --- */
  /* Estado inicial de los elementos (Ocultos) */
}
.diapositiva .anim-item {
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1), opacity 0.8s ease;
  will-change: transform, opacity;
}
.diapositiva {
  /* Definición de posiciones iniciales según el efecto elegido */
}
.diapositiva[data-anim-texto*=fade_up] .anim-item {
  transform: translateY(40px);
}
.diapositiva[data-anim-texto=fade_down] .anim-item {
  transform: translateY(-40px);
}
.diapositiva[data-anim-texto=slide_up] .anim-item {
  transform: translateY(80px);
}
.diapositiva[data-anim-texto=slide_down] .anim-item {
  transform: translateY(-80px);
}
.diapositiva[data-anim-texto*=slide_left] .anim-item {
  transform: translateX(-50px);
}
.diapositiva[data-anim-texto*=slide_right] .anim-item {
  transform: translateX(50px);
}
.diapositiva[data-anim-texto*=zoom_in] .anim-item {
  transform: scale(0.9);
}
.diapositiva[data-anim-texto=blur_reveal] .anim-item {
  filter: blur(10px);
  opacity: 0;
}
.diapositiva[data-anim-texto=flip_in_x] .anim-item {
  transform: perspective(400px) rotateX(90deg);
  opacity: 0;
}
.diapositiva[data-anim-texto=elastic_slide] .anim-item {
  transform: translateX(-150px);
  opacity: 0;
}
.diapositiva[data-anim-texto=elastic_slide] .anim-item {
  transition: all 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.diapositiva {
  /* ACTIVACIÓN: Cuando la diapositiva tiene la clase .activa */
}
.diapositiva.activa .anim-item {
  opacity: 1;
  transform: translate(0) scale(1); /* Resetea cualquier movimiento previo */
}
.diapositiva {
  /* Retardos en cascada (Stagger) para que no entre todo a la vez */
  /* El título entra primero, el texto después, el botón al final */
}
.diapositiva.activa .anim-item:nth-child(1) {
  transition-delay: 0.3s;
}
.diapositiva.activa .anim-item:nth-child(2) {
  transition-delay: 0.5s;
}
.diapositiva.activa .anim-item:nth-child(3) {
  transition-delay: 0.7s;
}

/* 3. IMAGEN FOREGROUND */
/* Contenedor del Foreground: Ocupa todo el espacio pero es "invisible" a clicks (pointer-events) salvo la imagen */
.diapositiva__foreground-ctn {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  /*  padding: 5%;  */
  display: flex;
  width: 100%;
  overflow: hidden;
  /* La alineación por defecto se define abajo según el atributo data-pos-fg del padre */
}
.diapositiva__foreground-ctn .diapositiva__foreground-img {
  max-width: 100%; /* Ajusta el tamaño máximo de tu foreground */
  height: auto;
  object-fit: contain;
  will-change: transform, opacity;
  opacity: 0; /* Oculto por defecto hasta que entre la animación */
}

/* --- TAMAÑO DEL FOREGROUND --- */
/* .diapositiva[data-tam-fg="10"] .diapositiva__foreground-ctn { max-width: 10%; } */
.diapositiva[data-tamano-fg="10"] .diapositiva__foreground-img {
  width: 10% !important;
  height: 10% !important;
}

.diapositiva[data-tamano-fg="20"] .diapositiva__foreground-img {
  width: 20% !important;
  height: 20% !important;
}

.diapositiva[data-tamano-fg="30"] .diapositiva__foreground-img {
  width: 30% !important;
  height: 30% !important;
}

.diapositiva[data-tamano-fg="40"] .diapositiva__foreground-img {
  width: 40% !important;
  height: 40% !important;
}

.diapositiva[data-tamano-fg="50"] .diapositiva__foreground-img {
  width: 50% !important;
  height: 50% !important;
}

.diapositiva[data-tamano-fg="60"] .diapositiva__foreground-img {
  width: 60% !important;
  height: 60% !important;
}

.diapositiva[data-tamano-fg="70"] .diapositiva__foreground-img {
  width: 70% !important;
  height: 70% !important;
}

.diapositiva[data-tamano-fg="80"] .diapositiva__foreground-img {
  width: 80% !important;
  height: 80% !important;
}

.diapositiva[data-tamano-fg="90"] .diapositiva__foreground-img {
  width: 90% !important;
  height: 90% !important;
}

.diapositiva[data-tamano-fg="100"] .diapositiva__foreground-img {
  width: 100% !important;
  height: 100% !important;
}

/* Excepión para tamaño auto */
.diapositiva[data-tamano-fg=auto] .diapositiva__foreground-img {
  width: auto !important;
  height: auto !important;
}

/* --- POSICIONAMIENTO DEL FOREGROUND --- */
.diapositiva[data-pos-fg=sup_izq] .diapositiva__foreground-ctn {
  align-items: flex-start;
  justify-content: flex-start;
}

.diapositiva[data-pos-fg=sup_cen] .diapositiva__foreground-ctn {
  align-items: flex-start;
  justify-content: center;
}

.diapositiva[data-pos-fg=sup_der] .diapositiva__foreground-ctn {
  align-items: flex-start;
  justify-content: flex-end;
}

.diapositiva[data-pos-fg=cen_izq] .diapositiva__foreground-ctn {
  align-items: center;
  justify-content: flex-start;
}

.diapositiva[data-pos-fg=cen] .diapositiva__foreground-ctn {
  align-items: center;
  justify-content: center;
}

.diapositiva[data-pos-fg=cen_der] .diapositiva__foreground-ctn {
  align-items: center;
  justify-content: flex-end;
}

.diapositiva[data-pos-fg=inf_izq] .diapositiva__foreground-ctn {
  align-items: flex-end;
  justify-content: flex-start;
}

.diapositiva[data-pos-fg=inf_cen] .diapositiva__foreground-ctn {
  align-items: flex-end;
  justify-content: center;
}

.diapositiva[data-pos-fg=inf_der] .diapositiva__foreground-ctn {
  align-items: flex-end;
  justify-content: flex-end;
}

/* --- KEYFRAMES FOREGROUND --- */
@keyframes fg-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fg-bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes fg-slideUp {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fg-slideDown {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fg-rotateIn {
  from {
    opacity: 0;
    transform: rotate(-200deg) scale(0.5);
  }
  to {
    opacity: 1;
    transform: rotate(0) scale(1);
  }
}
@keyframes fg-elasticPop {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  60% {
    opacity: 1;
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes fg-glitch {
  0% {
    opacity: 0;
    transform: translateX(-10px);
    clip-path: inset(50% 0 30% 0);
  }
  20% {
    opacity: 1;
    transform: translateX(10px);
    clip-path: inset(10% 0 60% 0);
  }
  40% {
    transform: translateX(-5px);
    clip-path: inset(80% 0 5% 0);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
    clip-path: inset(0 0 0 0);
  }
}
@keyframes fg-slideLeft {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fg-slideRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* --- APLICACIÓN --- */
/* Nota: Añadimos delay de 0.5s para que entre un poco después del fondo */
.diapositiva.activa[data-anim-fg=fade_in] .diapositiva__foreground-img {
  animation: fg-fadeIn 1s ease 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=bounce_in] .diapositiva__foreground-img {
  animation: fg-bounceIn 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=slide_up] .diapositiva__foreground-img {
  animation: fg-slideUp 0.8s ease-out 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=slide_down] .diapositiva__foreground-img {
  animation: fg-slideDown 0.8s ease-out 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=rotate_in] .diapositiva__foreground-img {
  animation: fg-rotateIn 0.8s ease-out 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=elastic_pop] .diapositiva__foreground-img {
  animation: fg-elasticPop 0.8s ease-out 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=glitch] .diapositiva__foreground-img {
  animation: fg-glitch 0.4s steps(5) 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=slide_left] .diapositiva__foreground-img {
  animation: fg-slideLeft 0.8s ease-out 0.3s forwards;
}

.diapositiva.activa[data-anim-fg=slide_right] .diapositiva__foreground-img {
  animation: fg-slideRight 0.8s ease-out 0.3s forwards;
}

.diapositiva.activa .diapositiva__foreground-img {
  opacity: 0.8 !important;
}

/* --- 4. CONTROLES Y UI --- */
.carrusel-ui {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 20;
}

.carrusel-btn {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 48px;
  background: rgba(0, 0, 0, 0.1);
  border: none;
  cursor: pointer;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carrusel-btn:hover {
  background: rgba(0, 0, 0, 0.5);
}
.carrusel-btn.prev {
  left: 0;
  border-radius: 0 50% 50% 0;
}
.carrusel-btn.next {
  right: 0;
  border-radius: 50% 0 0 50%;
}

/* --- 5. EL BOTÓN PLAY/STOP --- */
.carrusel-play-pause {
  pointer-events: auto;
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid white;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 30;
  transition: background 0.3s;
}
.carrusel-play-pause:hover {
  background: rgba(0, 0, 0, 0.5);
}
.carrusel-play-pause {
  /* Ajuste fino del icono dentro del círculo */
}
.carrusel-play-pause .icon-svg {
  width: 14px;
  height: 14px;
  display: block;
}

/* Versión grande para pantallas grandes */
.icon-svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

/* --- 6. LOS PUNTOS INDICADORES --- */
.carrusel-dots {
  pointer-events: auto;
  position: absolute;
  bottom: 20px;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 10px;
  z-index: 30;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  border: 2px solid white;
  cursor: pointer;
  transition: 0.3s;
}
.dot.activa {
  background: white;
  transform: scale(1.2);
}

/* --- 7. BARRA DE PROGRESO --- */
.carrusel-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  background: rgb(176, 11, 11); /*background: white;   mix-blend-mode: difference; */
  width: 0%;
  transition: width 0.1s linear;
  z-index: 25;
}

/* --- RESPONSIVE MÓVIL  --- */
@media (max-width: 767px) {
  .carrusel,
  .carrusel-diapositivas,
  .diapositiva,
  .diapositiva__imagen-ctn {
    aspect-ratio: 4/3 !important;
  }
  /* Reset total de posicionamiento de texto para móvil */
  .diapositiva__texto-ctn {
    width: 100% !important;
    height: auto !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    clip-path: none !important; /* Quitar formas recortadas */
    padding: 20px 45px !important;
    /* Fondo degradado oscuro para legibilidad siempre en móvil */
    /* background: linear-gradient(to top, rgba(0,0,0,0.95) 10%, rgba(0,0,0,0.6) 80%, transparent);  */
    justify-content: flex-end;
    text-align: center !important;
    align-items: center !important;
    /* .diapositiva__color-fondo { display: none; } */ /* Ocultar caja de color */
    /* Forzar texto visible */
  }
  .diapositiva__texto-ctn .diapositiva__titulo {
    font-size: 1.5rem !important;
    line-height: 1.8rem !important;
    padding-top: 0;
    padding: 0;
  }
  .diapositiva__texto-ctn .diapositiva__resumen {
    display: none;
  }
  .diapositiva__texto-ctn { /* Ocultar resumen en móvil */ }
  .diapositiva__texto-ctn .btn-carrusel {
    margin-top: 15px;
  }
  .dot {
    display: none;
  } /* Ocultar puntos indicadores en móvil */
}
/* Tablet  */
@media (min-width: 768px) and (max-width: 1200px) {
  .diapositiva__texto-ctn {
    width: 50%;
    padding: 20px;
    /* --- 2.3 TIPOGRAFÍA --- */
  }
  .diapositiva__texto-ctn .diapositiva__titulo {
    font-size: 2.5rem;
    line-height: 2.8rem;
    font-weight: 900;
    margin: 0;
    padding: 1rem 0;
    letter-spacing: 0.05rem;
    color: inherit;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
    transition: font-size 0.3s ease; /* Transición suave si cambia dinámicamente */
  }
  .diapositiva__texto-ctn .diapositiva__resumen {
    font-size: 1.1rem;
    line-height: 1.7rem;
    color: inherit;
    max-height: 450px;
    overflow: hidden;
    transition: font-size 0.3s ease;
  }
  .diapositiva__texto-ctn .diapositiva__resumen p {
    margin: 0;
  }
  .diapositiva__texto-ctn[data-tipografia=muy_grande] .diapositiva__titulo {
    font-size: 3rem;
    line-height: 3.5rem;
    padding-bottom: 2rem;
  }
  .diapositiva__texto-ctn[data-tipografia=muy_grande] .diapositiva__resumen {
    font-size: 1rem;
    line-height: 1.3rem;
  }
  .diapositiva__texto-ctn[data-tipografia=grande] .diapositiva__titulo {
    font-size: 2.5rem;
    line-height: 3rem;
  }
  .diapositiva__texto-ctn[data-tipografia=grande] .diapositiva__resumen {
    font-size: 1rem;
    line-height: 1.3rem;
  }
  .diapositiva__texto-ctn[data-tipografia=mediano] .diapositiva__titulo {
    font-size: 2rem;
    line-height: 2.3rem;
  }
  .diapositiva__texto-ctn[data-tipografia=mediano] .diapositiva__resumen {
    font-size: 1rem;
    line-height: 1.3rem;
  }
  .diapositiva__texto-ctn[data-tipografia=pequeno] .diapositiva__titulo {
    font-size: 1.5rem;
    line-height: 2rem;
    padding-bottom: 1.2rem;
  }
  .diapositiva__texto-ctn[data-tipografia=pequeno] .diapositiva__resumen {
    font-size: 1rem;
    line-height: 1.3rem;
  }
  .diapositiva__texto-ctn[data-tipografia=muy_pequeno] .diapositiva__titulo {
    font-size: 1rem;
    line-height: 1.5rem;
    padding-bottom: 1rem;
  }
  .diapositiva__texto-ctn[data-tipografia=muy_pequeno] .diapositiva__resumen {
    font-size: 1rem;
    line-height: 1.3rem;
  }
  .diapositiva__titulo {
    font-size: 1.5rem;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   CABECERA TITULAR   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Contenedor de la cabecera */
.cabecera-titular {
  position: relative;
  padding: 0;
  margin: 0;
  overflow: hidden;
  background: var(--colorPri);
  display: flex;
  justify-content: center;
  align-items: center;
  /* 	clip-path: ellipse(100% 100% at 30% -1%); */
}

.cabecera-titular::before {
  content: "";
  display: block;
  padding-top: 15%;
}

/* Imagen */
.cabecera-titular__foto-ctn {
  margin: 0;
}

.cabecera-titular__foto-img {
  /* filter: blur(1.2px) brightness(1.3) contrast(1.3) grayscale(1) opacity(.3) invert(0); */
  height: 100%;
  width: 100%;
  z-index: 1;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  /* mix-blend-mode: overlay; */
}

/* Escondemos el título de la página */
.page-title {
  display: none;
}

/* Título */
.cabecera-titular__texto-ctn {
  /* display: flex;
     justify-content: center; */
  /* align-items: flex-end; */
  /* align-items: center; */
  /*  position: absolute;
   top: 21px;
   padding: 0;
   width: 100%;
   height: 100%; */
  padding: 20px;
}

.cabecera-titular__texto-seccion {
  color: #fbfbb8;
  font-size: 1.4rem;
  z-index: 2;
  line-height: 1.7rem;
  white-space: normal;
  font-family: FuenteBold, Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: -10px;
  position: relative;
}

.cabecera-titular__texto-titulo {
  /* word-break: break-word; */
  /* color: var(--colorPri); */
  color: white;
  font-size: 3rem;
  line-height: 3.3rem !important;
  z-index: 2;
  /*  background: white; */
  /*  padding: 10px 15%; */
  /* padding-top: 20px;
  text-align: center; */
  white-space: normal;
  font-family: FuenteRegular, Helvetica, Arial, sans-serif;
  /* text-transform: uppercase; */
  text-align: center;
  text-shadow: 2px 2px 2px #555;
  /* box-shadow: 0px 0px 9px 3px rgba(0,0,0,0.25); */
  /* mix-blend-mode: exclusion; */
  position: relative;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .cabecera-titular::before {
    padding-top: 150px;
  }
  /* Titulo */
  .cabecera-titular__texto-titulo {
    font-size: 2.5rem;
    line-height: 2.8rem !important;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .cabecera-titular::before {
    padding-top: 150px;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   LÍNEA DEBAJO DE TÍTULO PÁGINAS CONTENIDOS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.page-title {
  color: var(--colorPri);
  line-height: 2.4rem;
  margin-top: 10px !important;
}

.page-title::after {
  content: "";
  display: block;
  max-width: 100px;
  margin-top: 5px;
  /* border-style: solid; */
  /* border-width: 0.9px; */
  opacity: 0.7;
  margin-bottom: 30px;
  background-color: var;
  height: 1.5px;
  background-color: var(--colorSec);
}

/* @use "partials/titulaciones"; */
/* 
	CKEDITOR
	--------
	Región:
	Template:
	Descripción:
	Última revisión: 
*/
/* ----------------------------------------------------------------------------
+
+   C K E D I T O R  -  E L E M E N T O S  B A S E  (A R T I C L E)  +
+
------------------------------------------------------------------------------- */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CKEDITOR: CABECERAS H1-H6 , CON FORMATO +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
h1 {
  font-size: 2.2rem;
  line-height: 2.7rem;
  color: var(--colorSec);
  text-transform: none;
  margin: 30px 0 0 !important;
}

article h2, article h2 > a {
  font-size: 1.9rem;
  line-height: 2rem;
  color: var(--colorSec);
  text-transform: none;
  margin-bottom: 1rem;
  margin-top: 30px;
}
article h3, article h3 > a {
  font-size: 1.4rem;
  line-height: 1.8rem;
  color: var(--colorPri) !important;
  text-transform: none;
  margin-bottom: 1rem;
  margin-top: 30px;
  font-weight: 900;
}
article h4, article h4 > a {
  font-size: 1.1rem;
  line-height: 1.5rem;
  color: var(--colorPri) !important;
  text-transform: none;
  margin: 20px 0 10px !important;
}
article h5, article h5 > a {
  font-size: 1rem;
  line-height: 1.2rem;
  color: var(--colorPri) !important;
  text-transform: none;
  margin: 20px 0 10px !important;
}
article h6, article h6 > a {
  font-size: 0.9rem;
  line-height: 1.2rem;
  color: var(--colorSec) !important;
  text-transform: none;
  margin: 20px 0 10px !important;
}
article:is(h1, h2, h3, h4, h5, h6) {
  text-align: left;
  margin-bottom: 15px;
}
article:is(h1, h2, h3, h4, h5, h6).text-align-center {
  text-align: center;
}
article:is(h1, h2, h3, h4, h5, h6).text-align-right {
  text-align: right;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CKEDITOR, FUENTES: Normal, Negrita, Cursiva, Subrayado, Tachado, superíndice, subíndice +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Normal */
article p, article span {
  margin: 0;
  padding: 0 0 18px 0;
  border: 0;
  font-style: inherit !important;
  font-variant: inherit !important;
  font-stretch: inherit !important;
  font-family: FuenteRegular, Helvetica, Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  letter-spacing: right !important;
  text-align: left;
}
article p.text-align-justify {
  text-align: justify;
}
article p.text-align-right {
  text-align: right;
}
article p.text-align-center {
  text-align: center;
}
article {
  /* Negrita */
}
article strong {
  font-weight: bold;
  color: var(--color-texto-resaltado);
}
article {
  /* Cursiva */
}
article em {
  font-style: italic;
}
article {
  /* Subrayado */
}
article u {
  text-decoration: underline;
}
article {
  /* Tachado */
}
article s {
  text-decoration: line-through;
}
article {
  /* Superíndice u subíndice */
}
article sup, article sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
article sup {
  top: -0.5em;
}
article sub {
  bottom: -0.25em;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CKEDITOR: ENLACES +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Enlaces */
article a {
  /* color: var(--color-texto);  */
  color: var(--colorEnlace);
  display: inline;
  /* text-decoration:none; */
  text-underline-position: under;
  text-decoration-line: underline !important;
  text-decoration-style: dotted !important;
  text-decoration-color: rgb(221, 221, 238) !important;
  margin: 0;
  padding: 0;
  transition: all 0.2s ease-in-out;
  /* word-break: break-all; */
}
article a:hover {
  color: var(--colorEnlaceResaltado);
  text-decoration: none;
  /* font-weight:900; */
}
article a {
  /* Ficheros PDF */
}
article a[href$=".pdf" i]::after {
  content: "\f1c1";
  font-family: FontAwesome;
  font: var(--fa-font-solid);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: red;
  position: relative;
  left: 2px;
  font-size: 1rem;
  font-weight: 100;
  line-height: 0;
  padding: 0 6px;
}
article a {
  /* Ficheros WORD */
}
article a[href$=".doc" i]::after, article a[href$=".docx" i]::after {
  content: "\f1c2";
  font-family: FontAwesome;
  font: var(--fa-font-solid);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: blue;
  position: relative;
  left: 2px;
  font-size: 1rem;
  font-weight: 100;
  line-height: 0;
  padding: 0 6px;
}
article a {
  /* Ficheros EXCEL */
}
article a[href$=".xls" i]::after, article a[href$=".xlsx" i]::after {
  content: "\f1c3";
  font-family: FontAwesome;
  font: var(--fa-font-solid);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: green;
  position: relative;
  left: 2px;
  font-size: 1rem;
  font-weight: 100;
  line-height: 0;
  padding: 0 6px;
}
article a {
  /* Ficheros VIDEOS US */
}
article a[href*="videos.us.es"]::after, article a[href*="https://apoyotic.us.es/videos"]::after, article a[href*="https://tv.us.es"]::after, article a[href*="http://tv.us.es"]::after {
  content: "\f03d";
  font-family: FontAwesome;
  font: var(--fa-font-solid);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--us-rojo-oscuro);
  position: relative;
  left: 2px;
  font-size: 1rem;
  font-weight: 100;
  padding: 0 6px;
  /* bottom: -3px; */
}
article a {
  /* Ficheros YOUTUBE */
}
article a[href*=youtube i]::after {
  /* font: var(--fa-font-solid); */
  content: "\f167";
  font-family: FontAwesome;
  /* font: var(--fa-font-solid); 
   		text-rendering: auto; */
  -webkit-font-smoothing: antialiased;
  color: red;
  position: relative;
  left: 2px;
  font-size: 1rem;
  font-weight: 100;
  /* line-height: 0; */
  padding: 0 6px;
  /* bottom: -3px; */
}
article {
  /* Videos */
}
article video {
  border: 1px solid var(--colorSec);
  width: 100%;
  height: 100%;
}

/* Anula imagen que da el sistema (REVISAR) */
.file--application-pdf {
  background-image: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CKEDITOR: LISTAS +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ LISTAS DESORDENADAS (UL. Hasta 4 niveles) +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Lista 1 nivel */
article ul {
  /* list-style-type: disc; */
  list-style: none;
  /* list-style-position: outside; */
  /* list-style-image: url("../images/lista.png"); */
  font-style: inherit !important;
  font-variant: inherit !important;
  font-stretch: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  font-weight: normal;
  text-align: left;
  letter-spacing: 0;
  padding-left: 2.6rem;
  margin-bottom: 1rem;
}
article ul li {
  font-style: inherit !important;
  font-variant: inherit !important;
  font-stretch: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  /* letter-spacing: right !important; */
  text-align: left !important;
}
article ul {
  /* Cambia el marcador 1 nivel*/
}
article ul > li::before {
  content: "\f111";
  font-family: FontAwesome;
  /* font: var(--fa-font-solid); */
  color: var(--colorSec) !important;
  font-size: 0.4rem !important;
  font-weight: 900;
  display: inline-block;
  position: relative;
  top: -3px;
  left: -1.2rem;
  margin-right: -0.4rem;
}

/* Lista 2 nivel */
article ul ul {
  padding-left: 1.6rem;
  margin-bottom: 0;
}
article ul > li ul > li::before {
  content: "\f111";
  font: var(--fa-font-regular);
  /* font-family: FontAwesome; */
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--colorSec) !important;
  font-size: 0.4rem !important;
  font-weight: 100;
  display: inline-block;
  position: relative;
  top: -3px;
  left: -1.2rem;
  margin-right: -0.4rem;
}

/* Lista 3 nivel */
article ul ul ul {
  padding-left: 1.6rem;
  margin-bottom: 0;
}

article ul > li ul > li ul > li::before {
  content: "\f0c8";
  /* font: var(--fa-font-solid);  */
  font-family: FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--colorSec) !important;
  font-size: 0.4rem !important;
  font-weight: 100;
  display: inline-block;
  position: relative;
  top: -3px;
  left: -1.2rem;
  margin-right: -0.4rem;
}

/* Lista 4 nivel */
article ul ul ul ul {
  padding-left: 1.6rem;
  margin-bottom: 0;
}

article ul > li ul > li ul > li ul > li::before {
  content: "\f0c8";
  font-family: FontAwesome;
  /* font: var(--fa-font-solid);  */
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--colorSec) !important;
  font-size: 0.4rem !important;
  font-weight: 100;
  display: inline-block;
  position: relative;
  top: -3px;
  left: -1.2rem;
  margin-right: -0.4rem;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ LISTAS ORDENADAS (OL. Hasta 4 niveles) +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Lista 1 nivel */
article ol {
  list-style-type: decimal;
  list-style-position: outside;
  padding-left: 2.6rem;
}

/* Lista 2 nivel */
article ol ol {
  list-style-type: lower-alpha;
  list-style-position: outside;
  padding-left: 1.2rem;
}

/* Lista 3 nivel */
article ol ol ol {
  list-style-type: lower-roman;
  list-style-position: outside;
  padding-left: 1.2rem;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ MEDIA +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* div */
article div {
  padding-bottom: 5px;
  clear: both;
  overflow: hidden;
}

/* Cita */
article blockquote {
  padding: 0 2rem;
  margin: 2rem 0 2rem 2rem;
  border-left: 14px solid var(--colorSec);
  font-size: 1.6rem;
  line-height: 2.2rem;
}
article blockquote > p {
  padding: 0;
}

/* Línea horizontal */
hr {
  border: 0;
  border-top: 1px dashed var(--color-texto-claro);
  margin: 20px 0;
}

/*   MODO MÓVIL / TABLET ELEMENTOS CKEDITOR   ---------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* texto */
  article p,
  article span {
    text-align: left !important;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  article ul {
    margin-left: 40px;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  CKEDITOR: TABLA RESPONSIVA 2 COLUMNAS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* article table td i {
	padding-bottom: 35px;
    display: block;
} */
/* Resetear valores tablas */
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  /* font-size: 100%;
  vertical-align: baseline; */
}

/* Tabla */
table {
  margin: 10px auto;
  /* border-collapse: collapse; */
  /* border: 1px solid #eee; */
  /* border-spacing: 0; */
  /* border-bottom: 2px solid var(--colorPri); */
  /* width: 98%; */
  margin-bottom: 60px;
  box-shadow: 0px 0px 9px 3px rgba(0, 0, 0, 0.25);
  /* Titulo */
}
table caption {
  font-size: 1.5rem;
  line-height: 1.5rem;
  color: var(--colorSec);
  text-transform: uppercase;
  margin-bottom: 20px;
}

/* alternar color filas */
tbody tr:nth-child(odd) {
  background: rgba(100, 138, 159, 0.1);
}

/* Fila resaltada */
table tr:hover {
  background: rgb(113, 156, 15), 0.1;
}

table tr:hover td {
  color: black;
}

/* Alineación tabla */
table[align=center] {
  margin: 10px auto;
  margin-bottom: 60px;
}

table[align=left] {
  float: left;
  margin: 0 20px 10px 0;
}

table[align=right] {
  float: right;
  margin: 0 0 10px 20px;
}

/* Filas */
table th,
table td {
  color: #444;
  border: 2px solid white;
  padding: 12px 35px;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.2rem;
}

/* Cabecera (Debe ir detrás de filas) */
table th {
  background: var(--colorPri);
  color: #fff;
  text-transform: uppercase;
  font-size: 0.8rem;
  line-height: 1.2rem;
  text-align: center;
}

/* Permite desplazamiento horizontal en modo móvil */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Scrooll horizontal */
  table {
    /* display: block;  */
    overflow-x: auto;
    /* box-shadow:none; */
    width: 97% !important;
  }
  table th,
  table td {
    border: 1px solid white;
    padding: 10px;
    font-size: 0.8rem;
    line-height: 1rem;
  }
  table th {
    font-size: 0.7rem;
    line-height: 0.9rem;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   CKEDITOR: VÍDEO EXTERNO <VIDEO>   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* .video-externo[data-align="center"]{
	margin: 0 auto;
}
.video-externo[data-align="left"]{
	float: left;
}
.video-externo[data-align="right"]{
	float: right;
}
.video-externo {width:100%;}
.video-externo[data-width="20"]{width:20%;}
.video-externo[data-width="25"]{width:25%;}
.video-externo[data-width="30"]{width:30%;}
.video-externo[data-width="35"]{width:35%;}
.video-externo[data-width="40"]{width:40%;}
.video-externo[data-width="45"]{width:45%;}
.video-externo[data-width="50"]{width:50%;}
.video-externo[data-width="55"]{width:55%;}
.video-externo[data-width="60"]{width:60%;}
.video-externo[data-width="65"]{width:65%;}
.video-externo[data-width="70"]{width:70%;}
.video-externo[data-width="75"]{width:75%;}
.video-externo[data-width="80"]{width:80%;}
.video-externo[data-width="85"]{width:85%;}
.video-externo[data-width="90"]{width:90%;}
.video-externo[data-width="95"]{width:95%;} */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* .video-externo {
  	margin: 0 !important;
  	width: 100% !important;
  } */
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CKEDITOR: FOTOS 
En el campo alt, añadimos al final "--ancho=núm"  para controlar el ancho en porcentaje


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1. FOTOS CKEDITOR: FOTOS SIN PIE DE TEXTO (ETIQUETA). No llevan el contenedor <figure>  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Ver el ancho en webs Drupal 11 */
.ancho5 {
  width: 5% !important;
}

.ancho10 {
  width: 10% !important;
}

.ancho15 {
  width: 15% !important;
}

.ancho20 {
  width: 20% !important;
}

.ancho25 {
  width: 25% !important;
}

.ancho30 {
  width: 30% !important;
}

.ancho35 {
  width: 35% !important;
}

.ancho40 {
  width: 40% !important;
}

.ancho45 {
  width: 45% !important;
}

.ancho50 {
  width: 50% !important;
}

.ancho55 {
  width: 55% !important;
}

.ancho60 {
  width: 60% !important;
}

.ancho65 {
  width: 65% !important;
}

.ancho70 {
  width: 70% !important;
}

.ancho75 {
  width: 75% !important;
}

.ancho80 {
  width: 80% !important;
}

.ancho85 {
  width: 85% !important;
}

.ancho90 {
  width: 90% !important;
}

.ancho95 {
  width: 95% !important;
}

.ancho100 {
  width: 100% !important;
}

article img {
  width: 100%;
  display: block;
  /* Alineación */
}
article img.align-center {
  display: block;
  margin: 0 auto 40px auto;
  width: fit-content;
}
article img.align-left {
  float: left;
  margin: 10px 40px 10px 0;
}
article img.align-right {
  float: right;
  margin: 10px 0 10px 40px;
}
article img {
  /* Ancho de la foto (Dejar, pues lo utilizan versiones web Drupal 9 */
}
article img[alt*="--ancho=20"] {
  width: 20% !important;
}
article img[alt*="--ancho=25"] {
  width: 25% !important;
}
article img[alt*="--ancho=30"] {
  width: 30% !important;
}
article img[alt*="--ancho=35"] {
  width: 35% !important;
}
article img[alt*="--ancho=40"] {
  width: 40% !important;
}
article img[alt*="--ancho=45"] {
  width: 45% !important;
}
article img[alt*="--ancho=50"] {
  width: 50% !important;
}
article img[alt*="--ancho=55"] {
  width: 55% !important;
}
article img[alt*="--ancho=60"] {
  width: 60% !important;
}
article img[alt*="--ancho=65"] {
  width: 65% !important;
}
article img[alt*="--ancho=70"] {
  width: 70% !important;
}
article img[alt*="--ancho=75"] {
  width: 75% !important;
}
article img[alt*="--ancho=80"] {
  width: 80% !important;
}
article img[alt*="--ancho=85"] {
  width: 85% !important;
}
article img[alt*="--ancho=90"] {
  width: 90% !important;
}
article img[alt*="--ancho=95"] {
  width: 95% !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2. FOTOS CKEDITOR: FOTOS CON PIE DE TEXTO (Etiqueta). Se envuelven con <figure>, y se le añade un <figcaption> +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
article figure {
  margin: 0;
  position: relative;
  z-index: 1;
  /* Alineación */
}
article figure.align-center {
  display: block;
  margin: 0 auto 20px auto;
}
article figure.align-left {
  float: left;
  margin: 10px 20px 10px 0;
}
article figure.align-right {
  float: right;
  margin: 10px 0 10px 20px;
}
article figure {
  /* Ancho de la foto (dejar para versiones anteriores) */
}
article figure img {
  width: 100% !important;
}
article figure:has(img[alt*="--ancho=20"]) {
  width: 20%;
}
article figure:has(img[alt*="--ancho=25"]) {
  width: 25%;
}
article figure:has(img[alt*="--ancho=30"]) {
  width: 30%;
}
article figure:has(img[alt*="--ancho=35"]) {
  width: 35%;
}
article figure:has(img[alt*="--ancho=40"]) {
  width: 40%;
}
article figure:has(img[alt*="--ancho=45"]) {
  width: 45%;
}
article figure:has(img[alt*="--ancho=50"]) {
  width: 50%;
}
article figure:has(img[alt*="--ancho=55"]) {
  width: 55%;
}
article figure:has(img[alt*="--ancho=60"]) {
  width: 60%;
}
article figure:has(img[alt*="--ancho=65"]) {
  width: 65%;
}
article figure:has(img[alt*="--ancho=70"]) {
  width: 70%;
}
article figure:has(img[alt*="--ancho=75"]) {
  width: 75%;
}
article figure:has(img[alt*="--ancho=80"]) {
  width: 80%;
}
article figure:has(img[alt*="--ancho=85"]) {
  width: 85%;
}
article figure:has(img[alt*="--ancho=90"]) {
  width: 90%;
}
article figure:has(img[alt*="--ancho=95"]) {
  width: 95%;
}
article figure {
  /* Pie de foto */
}
article figure > figcaption {
  display: block !important;
  padding: 7px;
  margin: 0;
  width: 100%;
  text-align: right;
  color: var(--color-texto-claro);
  opacity: 1;
  font-size: 0.8rem;
  font-weight: 100;
  font-style: italic;
  line-height: 1rem;
}
article figure {
  /* Sombra doble */
}
article figure.sombra2 {
  margin-bottom: 90px;
}
article figure.sombra2::before {
  content: "";
  width: 100%;
  height: 100%;
  z-index: -1;
  position: absolute;
  right: 8px;
  top: 0.8rem;
  transform: rotate(2deg);
  transform-origin: center;
  background: var(--us-rojo-oscuro);
  opacity: 0.4;
}
article figure.sombra2::after {
  content: "";
  width: 100%;
  height: 100%;
  z-index: -1;
  position: absolute;
  right: 15px;
  top: 1.1rem;
  transform: rotate(-2deg);
  transform-origin: center;
  background: var(--us-rojo-oscuro);
  opacity: 0.2;
}
article figure.sombra2 > figcaption {
  position: absolute;
  bottom: -5rem;
  color: var(--us-rojo-oscuro);
  font-size: 0.7rem;
  line-height: 1.4rem;
}
article figure.sombra2 > figcaption::first-line {
  font-weight: 800;
  font-style: normal;
  font-size: 1rem;
}
article figure {
  /* & > .media-image {
  	margin: 0;
  } */
}

/* .media-image {
	margin: 0 auto;
} */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   CKEDITOR: MEDIA: image / remote-video / document   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1. MEDIA  CKEDITOR: Foto sin pie de texto
Estructura:
	article.align-center media media--type-image media--view-mode-default
		div.field field--name-field-media-image field--type-image field--label-visually_hidden
    		div.field__label visually-hidden
            div.field__item
				img alt=
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.media--type-image {
  /* Alineación */
}
.media--type-image.align-center {
  display: block;
  margin: 0 auto 20px auto;
}
.media--type-image.align-left {
  float: left;
  margin: 10px 20px 10px 0;
}
.media--type-image.align-right {
  float: right;
  margin: 10px 0 10px 20px;
}
.media--type-image img {
  width: 100% !important;
}
.media--type-image:has(img[alt*="--ancho=20"]) {
  width: 20%;
}
.media--type-image:has(img[alt*="--ancho=25"]) {
  width: 25%;
}
.media--type-image:has(img[alt*="--ancho=30"]) {
  width: 30%;
}
.media--type-image:has(img[alt*="--ancho=35"]) {
  width: 35%;
}
.media--type-image:has(img[alt*="--ancho=40"]) {
  width: 40%;
}
.media--type-image:has(img[alt*="--ancho=45"]) {
  width: 45%;
}
.media--type-image:has(img[alt*="--ancho=50"]) {
  width: 50%;
}
.media--type-image:has(img[alt*="--ancho=55"]) {
  width: 55%;
}
.media--type-image:has(img[alt*="--ancho=60"]) {
  width: 60%;
}
.media--type-image:has(img[alt*="--ancho=65"]) {
  width: 65%;
}
.media--type-image:has(img[alt*="--ancho=70"]) {
  width: 70%;
}
.media--type-image:has(img[alt*="--ancho=75"]) {
  width: 75%;
}
.media--type-image:has(img[alt*="--ancho=80"]) {
  width: 80%;
}
.media--type-image:has(img[alt*="--ancho=85"]) {
  width: 85%;
}
.media--type-image:has(img[alt*="--ancho=90"]) {
  width: 90%;
}
.media--type-image:has(img[alt*="--ancho=95"]) {
  width: 95%;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2. MEDIA  CKEDITOR: Foto con pie de texto
Estructura:
	figure.caption caption-drupal-media align-right role="group"
		article.media media--type-image media--view-mode-default"
			div.field field--name-field-media-image field--type-image field--label-visually_hidden
    			div.field__label visually-hidden
              	div.field__item
					img alt=
		figcaption
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
figure.caption-drupal-media div {
  padding-bottom: 0;
}
figure.caption-drupal-media .media--type-image {
  width: auto !important;
}
figure.caption-drupal-media {
  /* Alineación */
}
figure.caption-drupal-media.align-center {
  display: block;
  margin: 0 auto 20px auto;
}
figure.caption-drupal-media.align-left {
  float: left;
  margin: 10px 20px 10px 0;
}
figure.caption-drupal-media.align-right {
  float: right;
  margin: 10px 0 10px 20px;
}
figure.caption-drupal-media img {
  width: 100% !important;
}
figure.caption-drupal-media:has(img[alt*="--ancho=20"]) {
  width: 20%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=25"]) {
  width: 25%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=30"]) {
  width: 30%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=35"]) {
  width: 35%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=40"]) {
  width: 40%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=45"]) {
  width: 45%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=50"]) {
  width: 50%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=55"]) {
  width: 55%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=60"]) {
  width: 60%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=65"]) {
  width: 65%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=70"]) {
  width: 70%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=75"]) {
  width: 75%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=80"]) {
  width: 80%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=85"]) {
  width: 85%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=90"]) {
  width: 90%;
}
figure.caption-drupal-media:has(img[alt*="--ancho=95"]) {
  width: 95%;
}

/* Los Media que tengan pie de foto, el width está en <figure>, por lo que hay que poner width = auto en .media-image */
/* figure > .media-image {width: auto !important;} */
/* .media--type-video {

} */
/* VÍDEOS-REMOTE MEDIA Y VÍDEOS YOUTUBE */
/* .media-remote-video > div,
.contenedor-youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.media-remote-video > div > iframe,
.contenedor-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Fotos */
  article img {
    float: none;
    max-width: 100%;
    width: 100% !important;
    height: auto;
    margin: 0 auto;
  }
  article figure {
    width: 100% !important;
  }
  article figure > figcaption {
    font-size: 1rem;
    line-height: 1.4rem;
  }
  article .ancho10, article .ancho15,
  article .ancho20, article .ancho25,
  article .ancho30, article .ancho35,
  article .ancho40, article .ancho45,
  article .ancho50, article .ancho55,
  article .ancho60, article .ancho65,
  article .ancho70, article .ancho75,
  article .ancho80, article .ancho85,
  article .ancho90, article .ancho95 {
    width: 100% !important;
  }
  /* Media */
  .media--type-image {
    width: 100% !important;
  }
  .figure.caption-drupal-media {
    width: 100% !important;
  }
  /* .media-image {width: 100% !important;}
  figure:has(.media-image){width: 100% !important;} */
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ACORDEÓN DRUPAL (NO ES EL MÓDULO)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid #003eff;
  background: var(--colorPri);
  font-weight: normal;
  color: white !important;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ PARRAFO INTRODUCTORIO VISTAS
+T++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.parrafo-intro {
  background: rgba(255, 255, 255, 0.5);
  padding: 2rem 3rem;
  margin-bottom: 2rem;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .parrafo-intro {
    padding: 2rem 1.5rem;
  }
}
/* Tablet */
/* 
	CKEDITOR-MODULOS
	----------------
	Región:
	Template:
	Descripción:
	Última revisión: 

Módulos:
   0. Acordeón (no US)
   1. Cuadro (US)
   2. Etiquetas (US)
   3. Galerías (US)
   4. PDF (US)
   5. Plantillas (US)
   6. Tarjetas (US)
   7. Vídeo (US)
   ----------
   8. Marcadador (estilo)
   9. Color texto (estilo)
*/
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/* 0. CKEDITOR: ACCORDION  +
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Se compone de: */
/* Contenedor Acordeón */
.ckeditor-accordion-container > dl {
  position: relative;
  border: none;
}

article div.ckeditor-accordion-container {
  padding-bottom: 0;
}

/* Cabecera */
.ckeditor-accordion-container > dl dt > a,
.ckeditor-accordion-container > dl dt:last-of-type > a,
.ckeditor-accordion-container > dl dt > a:not(.button) {
  display: block;
  padding: 10px 15px 10px 10px;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 300ms;
  transition: background-color 300ms;
  border-bottom: 1px solid #d4d4d4;
  font-size: 1.4rem;
  line-height: 1.5rem;
  color: var(--colorSec);
  transition: all 0.35s ease-out;
  /* Incorporado */
  display: flex;
  justify-content: space-between;
  position: relative;
  text-decoration: none !important;
}

/* .ckeditor-accordion-container > dl dt:first-of-type > a {
	border-top: 1px solid #d4d4d4;
    font-size: 1.4rem;
    line-height: 1.5rem;
    font-weight: 400;
    color: var(--colorSec) !important;
    transition: all .35s ease-out;
} */
/* Hover y Active */
.ckeditor-accordion-container > dl dt > a:hover,
.ckeditor-accordion-container > dl dt.active > a,
.ckeditor-accordion-container > dl dt > a:not(.button):hover {
  background: transparent;
  color: var(--colorSec) !important;
}

.ckeditor-accordion-container > dl dt.active > a {
  border-bottom: none;
  font-size: 1.9rem;
  line-height: 2rem;
  margin-bottom: 1rem;
}

/* Flechita */
.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle {
  /* display: inline-block;
  position: absolute; */
  display: block;
  position: relative;
  /* padding: 0 10px; */
  width: 30px;
  height: 30px;
  z-index: 1;
  /* top: calc(50% - 1px); */
  /*  left: inherit;
  right: 10px; */
  /* left: auto;
  right: 0; */
  box-sizing: border-box;
  /* Añadido */
  order: 2;
  top: 10px;
  padding: 0 15px;
  left: 13px;
}

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:before,
.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:after {
  background: var(--color-texto);
  /* -webkit-transition: all 600ms cubic-bezier(0.4,0,0.2,1);
     transition: all 600ms cubic-bezier(0.4,0,0.2,1); */
  transition: all 0.35s ease-out;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 10px;
  z-index: -1;
  left: 0;
  top: 0;
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
  will-change: transform;
}

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:before {
  left: 13px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.ckeditor-accordion-container > dl dt > a > .ckeditor-accordion-toggle:after {
  right: 13px;
  left: auto;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

/* Número */
.ckeditor-accordion-container > dl dt > a > .faq__numero {
  /* color: var(--colorPri); */
  font-size: 1.2rem;
}

/* Cuerpo */
.ckeditor-accordion-container > dl dd {
  display: none;
  padding: 0 15px;
  margin: 0;
  will-change: height;
  border-bottom: 1px solid #d4d4d4;
  /* margin-left: 1.8rem; */
  padding-left: 1.3rem;
}

/* Nuevo en módulo D9 */
.ckeditor-accordion-container > dl dt > a:focus,
.ckeditor-accordion-container > dl dt > a:not(.button):focus {
  outline-color: red;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  1. CKEDITOR: CUADRO DE TEXTO   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.cuadroInfo,
.cuadroResumen {
  background: #efeaea;
  margin-right: 0.8rem;
  padding: 0 1.5rem;
}
.cuadroInfo h3,
.cuadroResumen h3 {
  font-size: 1.4rem;
  line-height: 1.4rem;
}
.cuadroInfo p,
.cuadroResumen p {
  font-size: 1rem;
  line-height: 1rem;
}
.cuadroInfo,
.cuadroResumen {
  /* Alineación */
}
.cuadroInfo.align-center,
.cuadroResumen.align-center {
  display: block;
  margin: 0 auto 20px auto;
}
.cuadroInfo.align-left,
.cuadroResumen.align-left {
  float: left;
  margin: 10px 20px 10px 0;
}
.cuadroInfo.align-right,
.cuadroResumen.align-right {
  float: right;
  margin: 10px 0 10px 20PX;
}

.cuadroResumen {
  background: rgb(215, 212, 250);
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .cuadroInfo,
  .cuadroResumen {
    width: 100% !important;
    margin: 0.8rem 0;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   2. CKEDITOR: ETIQUETAS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.etiquetas {
  padding: 10px 0;
  list-style: none;
  color: inherit;
  z-index: 2;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.etiquetas li {
  margin-right: 5px;
  /* float: left;
  font-size: .8rem; */
  color: inherit;
  text-decoration: none;
}
.etiquetas li::before {
  display: none !important;
}
.etiquetas li a {
  display: inline-block;
  line-height: 1.5em;
  margin-bottom: 0.5rem;
  padding: 5px 1rem;
  font-size: 0.8rem;
  white-space: nowrap;
  color: var(--color-texto-claro);
  background: white;
  border-radius: 0.7rem;
  border: 1px solid var(--color-texto-claro);
}
.etiquetas li a:hover {
  color: white !important;
  background: var(--color-texto-claro);
}
.etiquetas {
  /* Alineación */
}
.etiquetas.align-center {
  justify-content: center;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .etiquetas {
    justify-content: center;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3. CKEDITOR: GALERIAS DE FOTOS +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Miniaturas */
.galeriaFotos__thumb,
.galeriaFotos__thumb figure {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background-color: rgb(250, 250, 250);
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  overflow: hidden;
  display: block;
  /* Imagen dentro de las miniaturas */
}
.galeriaFotos__thumb img,
.galeriaFotos__thumb figure img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 1s ease;
}
.galeriaFotos__thumb:hover img,
.galeriaFotos__thumb figure:hover img {
  opacity: 0.7;
  /* transition: opacity 0.35s ease 0s, transform 0.35s ease 0s; */
  transform: scale(1.25);
  filter: invert(1);
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  cursor: pointer;
}
.galeriaFotos__thumb,
.galeriaFotos__thumb figure {
  /* Pie de foto */
}
.galeriaFotos__thumb figcaption,
.galeriaFotos__thumb figure figcaption {
  display: block !important;
  padding: 10px 20px;
  margin: 0;
  width: 100%;
  text-align: left;
  color: black;
  opacity: 1;
  font-size: 0.8rem;
  font-weight: 100;
  font-style: normal;
  line-height: 1rem;
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  transition: all 0.5s ease-in-out 0s, transform 0.5s ease-in-out 0s;
  bottom: -100px;
  visibility: hidden;
  overflow: hidden;
}
.galeriaFotos__thumb:hover figcaption,
.galeriaFotos__thumb figure:hover figcaption {
  bottom: 0;
  visibility: visible;
}

/* Los Media que estén dentro de una galería, indicar width en su envoltorio: <figure class="GaleriaFotos__thumb"> y quitarlo de <figure[role="group"]>.
De .media-image ya se quitó en el paso anterior */
.galeriaFotos__thumb > figure {
  width: auto !important;
}

/* Galería Estándar */
article .galeriaFotos[data-tipo=estandard] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1vmin;
  padding: 0;
  margin-bottom: 60px;
}
article .galeriaFotos[data-tipo=estandard].galeriaFotos--x3 {
  grid-template-columns: repeat(3, 1fr);
}
article .galeriaFotos[data-tipo=estandard].galeriaFotos--x4 {
  grid-template-columns: repeat(4, 1fr);
}
article .galeriaFotos[data-tipo=estandard].galeriaFotos--x5 {
  grid-template-columns: repeat(5, 1fr);
}
article .galeriaFotos[data-tipo=estandard].galeriaFotos--x6 {
  grid-template-columns: repeat(6, 1fr);
}
article .galeriaFotos[data-tipo=estandard].galeriaFotos--x7 {
  grid-template-columns: repeat(7, 1fr);
}
article .galeriaFotos[data-tipo=estandard].galeriaFotos--x8 {
  grid-template-columns: repeat(8, 1fr);
}

/* Galerías Masonry */
article .galeriaFotos[data-tipo=masonry] {
  columns: 2 250px;
  column-gap: 0.5rem;
  padding: 0;
  margin-bottom: 60px;
}
article .galeriaFotos[data-tipo=masonry].galeriaFotos--x3 {
  columns: 3 250px;
}
article .galeriaFotos[data-tipo=masonry].galeriaFotos--x4 {
  columns: 4 200px;
}
article .galeriaFotos[data-tipo=masonry].galeriaFotos--x5 {
  columns: 5 200px;
}
article .galeriaFotos[data-tipo=masonry].galeriaFotos--x6 {
  columns: 6 150px;
}
article .galeriaFotos[data-tipo=masonry].galeriaFotos--x7 {
  columns: 7 150px;
}
article .galeriaFotos[data-tipo=masonry].galeriaFotos--x8 {
  columns: 8 100px;
}
article .galeriaFotos[data-tipo=masonry] .galeriaFotos__thumb {
  margin-bottom: 0.5rem;
}

/*   MODO MÓVIL / TABLET FOTOS Y GALERÍA FOTOS   ---------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Galerías */
  article .galeriaFotos[data-tipo=estandard].galeriaFotos--x3, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x4, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x5, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x6, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x7, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x8, article .galeriaFotos[data-tipo=estandard] {
    grid-template-columns: 1fr;
    height: auto;
  }
  article .galeriaFotos[data-tipo=masonry] {
    columns: 1 100%;
    height: auto;
  }
  article .galeriaFotos img {
    height: auto;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  /* Galerías */
  article .galeriaFotos[data-tipo=estandard].galeriaFotos--x3, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x4, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x5, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x6, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x7, article .galeriaFotos[data-tipo=estandard].galeriaFotos--x8, article .galeriaFotos[data-tipo=estandard] {
    grid-template-columns: repeat(3, 1fr);
    height: auto;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   GALERIAS (NO SE USA)  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* .galerias {
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.galeria {
	height: auto;
	width:  100%; 
	overflow: hidden;
	position: relative;
	padding: 0;
	margin: 4px;
	width: 30%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction:column;
	height:25vh;
}
.galeria__titulo {
	z-index: 2;
	text-transform: none;
	color: white !important;
	font-size: 2rem;
	margin: 0;
	padding: 0;
	line-height: 1.2rem;
	font-family: FuenteBold, Helvetica, Arial, sans-serif;
}
.galeria__info {
	z-index: 2;
	text-transform: none;
	color: white !important;
	font-size: 1.2rem;
	margin: 0;
	padding: 0;
	line-height: 1.2rem;
}
.galeria__img,
.galeria__enlace {
	height: 100%;
	width: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: .3;
    transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    transform: scale(1.1);
}
.galeria__enlace.colorin1 {
	background-color: var(--colorPri); 
	mix-blend-mode: multiply;
	z-index: 1;
	opacity: 1
}
.galeria__enlace.colorin2 {
	background-color: var(--colorSec); 
	mix-blend-mode: multiply;
	z-index: 1;
	opacity: 1
}
.galeria__enlace.colorin3 {
	background-color: var(--color03); 
	mix-blend-mode: multiply;
	z-index: 1;
	opacity: 1
}
.galeria__enlace:hover {
	opacity:.8;
}
.galeria__enlace:hover .galeria__img {
	opacity:.2;
    transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
    transform: scale(1.45);
} */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* 	.galeria {
  		width: 100%
  	}
  	.galeria__titulo {
  		font-size: 1.4rem;
  		margin: 0 0 4px;
  		line-height: 1.4rem;
  	} */
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++
+  4. CKEDITOR: PDF INSERTADO (DE MOMENTO NO LA OFREZCO COMO HERRAMIENTA)   +
+++++++++++++++++++++++++++++++++++ */
/* Anchura */
.pdf-insertado {
  width: 100%;
  height: 100vh;
}

.pdf-insertado[data-width="95"] {
  width: 95%;
  height: 95vh;
}

.pdf-insertado[data-width="90"] {
  width: 90%;
  height: 90vh;
}

.pdf-insertado[data-width="85"] {
  width: 85%;
  height: 85vh;
}

.pdf-insertado[data-width="80"] {
  width: 80%;
  height: 80vh;
}

.pdf-insertado[data-width="75"] {
  width: 75%;
  height: 75vh;
}

.pdf-insertado[data-width="70"] {
  width: 70%;
  height: 70vh;
}

.pdf-insertado[data-width="55"] {
  width: 65%;
  height: 65vh;
}

.pdf-insertado[data-width="60"] {
  width: 60%;
  height: 60vh;
}

.pdf-insertado[data-width="55"] {
  width: 55%;
  height: 55vh;
}

.pdf-insertado[data-width="50"] {
  width: 50%;
  height: 50vh;
}

.pdf-insertado[data-width="45"] {
  width: 45%;
  height: 45vh;
}

.pdf-insertado[data-width="40"] {
  width: 40%;
  height: 40vh;
}

.pdf-insertado[data-width="35"] {
  width: 35%;
  height: 35vh;
}

.pdf-insertado[data-width="30"] {
  width: 30%;
  height: 30vh;
}

.pdf-insertado[data-width="25"] {
  width: 25%;
  height: 25vh;
}

.pdf-insertado[data-width="20"] {
  width: 20%;
  height: 20vh;
}

.pdf-insertado[data-width="15"] {
  width: 15%;
  height: 15vh;
}

.pdf-insertado[data-width="10"] {
  width: 10%;
  height: 10vh;
}

/* Alineación */
.pdf-insertado.align-center {
  display: block;
  margin: 0 auto 20px auto;
}

.pdf-insertado.align-left {
  float: left;
  margin: 10px 20px 10px 0;
}

.pdf-insertado.align-right {
  float: right;
  margin: 10px 0 10px 20PX;
}

/* iframe se adapta*/
.pdf-insertado iframe {
  width: 100%;
  height: 100%;
}

/* Modo móvil */
@media (max-width: 767px) {
  .pdf-insertado {
    width: 100% !important;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  5. CKEDITOR: PLANTILLAS DISEÑO   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Columnas fluidas */
.colx1 {
  column-count: 1;
}

.colx2 {
  /* column-count: 2; */
  columns: 2;
  column-gap: 2rem;
  /* column-rule: var(--color-texto-claro) dashed 1px; */
  text-align: justify;
}

.colx3 {
  columns: 3;
  column-gap: 2rem;
  /* column-rule: var(--color-texto-claro) dashed 1px; */
  text-align: justify;
}

.colx4 {
  columns: 4;
  column-gap: 2rem;
  /* column-rule: var(--color-texto-claro) dashed 1px; */
  text-align: justify;
}

/* Columnas independientes */
.colx2blq,
.colx3blq,
.colx4blq {
  /* display: flex; */
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2rem;
}

.colx3blq {
  grid-template-columns: repeat(3, 1fr);
}

.colx4blq {
  grid-template-columns: repeat(4, 1fr);
}

/* .colx2blq > div,
.colx3blq > div,
.colx4blq > div{
	margin: 0 1rem;
	flex: 1;
}
.colx2blq > div:first-child,
.colx3blq > div:first-child,
.colx4blq > div:first-child{
	margin-left: 0;
}
.colx2blq > div:last-child,
.colx3blq > div:last-child,
.colx4blq > div:last-child{
	margin-right: 0;
} */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .colx2,
  .colx3,
  .colx4 {
    columns: 1;
  }
  .colx2blq,
  .colx3blq,
  .colx4blq {
    /* flex-direction: column; */
    grid-template-columns: 1fr;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .colx3,
  .colx4 {
    columns: 2;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   CKEDITOR: PLANTILLA FOTO - TEXTO   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* .fotoTexto {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 1rem 0;
} */
.fotoTexto {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2rem;
  width: 100%;
  margin: 1rem 0;
}
.fotoTexto.der {
  grid-template-columns: 2fr 1fr;
}

.fotoTexto__img {
  /* flex: 25%; */
  overflow: hidden;
  /* margin: 0 2rem 1rem 0; */
  padding: 0;
  /* Este <figure> lo añade automáticamente Drupal al editar foto */
}
.fotoTexto__img figure {
  margin: 0;
}
.fotoTexto__img figure span {
  padding: 0;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* .fotoTexto__img {
  	flex: 100%;
  	margin: 0 0 1rem 0;
  }
  .fotoTexto__texto {
  	flex: 100%;
  } */
  .fotoTexto {
    grid-template-columns: 1fr;
  }
  .fotoTexto.der {
    grid-template-columns: 1fr;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  /* 	.fotoTexto__img {
  		flex: 50%;
  	}
  	.fotoTexto__texto {
  		flex: calc(50% - 2rem);
  	} */
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  6. CKEDITOR: TARJETA   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.tarjetas {
  display: grid;
  column-gap: 1rem;
}
.tarjetas .tarjetas--x1 {
  grid-template-columns: repeat(1, 1fr);
}
.tarjetas .tarjetas--x2 {
  grid-template-columns: repeat(2, 1fr);
}
.tarjetas .tarjetas--x3 {
  grid-template-columns: repeat(3, 1fr);
}
.tarjetas .tarjetas--x4 {
  grid-template-columns: repeat(4, 1fr);
}

.tarjeta {
  background: white;
  border-radius: 16px 16px 16px 16px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
  padding: 20px;
  border: 2px dotted var(--colorPri);
  margin-bottom: 1rem;
}

/* ORIENTACIÓN -------------------  */
/* Tarjeta Apaisada */
.tarjeta--apaisada {
  display: flex;
  align-items: stretch;
}
.tarjeta--apaisada .tarjeta__foto {
  /* margin-bottom: -.5rem; */
  flex: 1;
  margin-right: 20px;
}
.tarjeta--apaisada .tarjeta__info {
  flex: 2;
  margin-bottom: 10px;
}
.tarjeta--apaisada:is(.tarjeta__puesto, .tarjeta__nombre, .tarjeta__adscrito, .tarjeta__descripcion, .tarjeta__email, .tarjeta__tele, .tarjeta__contacto) {
  text-align: left;
}

/* Vertical */
.tarjeta--vertical {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.tarjeta--vertical .tarjeta__foto {
  /* margin-bottom: -.5rem; */
  /* flex: 1; */
  /* margin-bottom: 20px; */
}
.tarjeta--vertical .tarjeta__info {
  /* flex: 2; */
  margin-bottom: 10px;
  padding: 0 20px;
}
.tarjeta--vertical:is(.tarjeta__puesto, .tarjeta__nombre, .tarjeta__adscrito, .tarjeta__descripcion, .tarjeta__email, .tarjeta__tele, .tarjeta__contacto) {
  text-align: center;
}

/* Foto ------------------------------ */
.tarjeta__foto {
  margin: 0 auto;
  padding: 0;
}

/* Sin foto */
.tarjeta--foto-no .tarjeta__foto {
  display: none;
}

/* Foto Cuadrada */
.tarjeta--foto-cuadrada .tarjeta__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Foto Redonda */
.tarjeta--foto-redonda .tarjeta__foto img {
  border-radius: 50%;
  width: 12vmax;
  height: 12vmax;
  object-fit: cover;
}

.tarjeta__puesto {
  color: var(--colorSec) !important;
  font-size: 0.8rem;
  margin-bottom: 10px !important;
  line-height: 1.1rem;
  font-weight: 100;
}

.tarjeta__nombre {
  color: var(--colorPri) !important;
  font-size: 1.2rem !important;
  text-align: left;
  line-height: 1.4rem !important;
  text-transform: uppercase;
  /* font-weight: 900 !important; */
  padding-bottom: 10px;
  /* font-weight: 900; */
  font-family: FuenteBold !important;
}

.tarjeta__emails,
.tarjeta__email,
.tarjeta__teles,
.tarjeta__tele {
  font-size: 0.7rem;
  line-height: 1rem;
  text-align: left;
}

.tarjeta__email,
.tarjeta__tele,
.tarjeta__web {
  margin-right: 17px;
}

.tarjeta__email a,
.tarjeta__tele a,
.tarjeta__web a {
  color: var(--colorEnlace);
}
.tarjeta__email a::before,
.tarjeta__tele a::before,
.tarjeta__web a::before {
  content: "";
  font: var(--fa-font-solid);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: var(--colorPri) !important;
  font-size: 1rem !important;
  font-weight: 900;
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: 7px;
  opacity: 0.3;
}

.tarjeta__email a::before {
  content: "\f0e0";
}

.tarjeta__email a[href$="mailto:"]::before {
  display: none;
}

.tarjeta__tele a::before {
  content: "\f095";
}

.tarjeta__tele a[href$="tel:"]::before {
  display: none;
}

.tarjeta-item__web a[href]::before {
  content: "\f0c1";
}

.tarjeta-item__web a:not([href])::before {
  display: none;
}

.tarjeta-item__web a:not([href]) {
  display: none;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .tarjetas:is(.tarjetas--x1, .tarjetas--x2, .tarjetas--x3, .tarjetas--x4) {
    grid-template-columns: 1fr;
  }
  .tarjeta {
    width: 100% !important;
    margin: 0.8rem 0;
  }
  .tarjeta--apaisada {
    flex-direction: column;
  }
  .tarjeta--apaisada .tarjeta__info {
    align-items: center;
  }
  .tarjeta__foto {
    display: flex;
    margin-top: 0;
  }
  .tarjeta--foto-redonda .tarjeta__foto img {
    width: 60vw !important;
    height: 60vw;
  }
  .tarjeta--foto-cuadrada .tarjeta__foto img {
    width: 90vw;
    height: 60vw;
  }
  .tarjeta__puesto {
    text-align: center;
  }
  .tarjeta__nombre {
    text-align: center;
  }
  .tarjeta__adscrito {
    text-align: center;
  }
  .tarjeta__descripcion {
    text-align: center;
  }
  .tarjeta__contacto {
    flex-direction: column;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  7. CKEDITOR: VÍDEO INSERTADO (YOUTUBE / VIMEO)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.videoinsertado {
  position: relative;
  overflow: hidden;
}
.videoinsertado::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.videoinsertado iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.videoinsertado {
  /* Alineación */
}
.videoinsertado.align-center {
  display: block;
  margin: 0 auto 20px auto;
}
.videoinsertado.align-left {
  float: left;
  margin: 10px 20px 10px 0;
}
.videoinsertado.align-right {
  float: right;
  margin: 10px 0 10px 20PX;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .videoinsertado {
    width: 100% !important;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  8. CKEDITOR: MARCADOR   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.marcarAmarillo, .marcarNaranja, .marcarVioleta, .marcarCeleste, .marcarVerde {
  color: black !important;
  padding: 2px 4px;
}

.marcarAmarillo {
  background-color: rgb(248, 248, 147);
}

.marcarNaranja {
  background-color: rgb(251, 199, 101);
}

.marcarVioleta {
  background-color: rgb(238, 155, 238);
}

.marcarCeleste {
  background-color: rgb(146, 223, 223);
}

.marcarVerde {
  background-color: rgb(185, 209, 151);
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+  9. CKEDITOR: TEXTO DE COLOR   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.textoNaranja, .textoNaranja strong {
  color: rgb(249, 164, 6) !important;
}

.textoRojo, .textoRojo strong {
  color: rgb(230, 5, 5) !important;
}

.textoVioleta, .textoVioleta strong {
  color: rgb(237, 5, 237) !important;
}

.textoMorado, .textoMorado strong {
  color: rgb(142, 7, 232) !important;
}

.textoAzul, .textoAzul strong {
  color: rgb(25, 5, 241) !important;
}

.textoVerde, .textoVerde strong {
  color: rgb(11, 193, 7) !important;
}

.textoGris, .textoGris strong {
  color: rgb(136, 136, 136) !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   EQUIPO DE GOBIERNO   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.equipo-gobierno {
  display: flex;
  gap: 2rem;
}

.equipo-gob-item {
  margin: 30px 0;
  display: flex;
  width: 100%;
  padding: 25px;
  flex-direction: column;
  align-items: center;
  /* justify-content: center; */
  /* border: 2px dashed rgba(0, 0, 0, 0.2); */
  /* border-radius: 30px; */
  box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.12);
  background: white;
  position: relative;
}

.equipo-gob-item:has(.Vocal) {
  background: rgba(136, 159, 247, 0.1);
  order: 2;
}

.equipo-gob-item:has(.Secretario),
.equipo-gob-item:has(.Secretaria) {
  order: 1;
}

.equipo-gob-item:has(.Tesorero),
.equipo-gob-item:has(.Tesorera) {
  order: 3;
}

/* Foto */
.equipo-gob-item__foto {
  margin: 0;
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1/1;
  max-height: 20vw;
  overflow: hidden;
}

.equipo-gob-item__img {
  /* border-radius: 20px 20px 0 0; */
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.equipo-gob-item__sombra {
  /* width: 17vw;
     height: 17vw;
     display: block;
     background: var(--colorSec);
     position: absolute;
     top: 42px;
     left: -15px;
     transform: rotate(5deg);
     z-index: -1; */
  display: none;
}

/* Info */
.equipo-gob-item__info {
  /* border-left: 2px dashed rgba(113, 156, 15,.4); */
  padding: 1.5rem;
  text-align: left;
  /* border-bottom: 2px dashed rgba(113, 156, 15,.4); */
  /* border-radius: 0 0 0 60px; */
  padding-bottom: 3.5rem;
}

.equipo-gob-item__puesto {
  color: var(--colorSec) !important;
  font-family: FuenteBold, Helvetica, Arial, sans-serif;
  font-size: 1.1rem;
  line-height: 1.2rem;
  text-transform: uppercase;
  /* font-weight: 900; */
  margin-top: 0;
}

.equipo-gob-item__nombre {
  color: var(--colorPri) !important;
  font-size: 1.9rem !important;
  line-height: 1.9rem !important;
  padding-bottom: 10px;
  text-shadow: 1px 1px 2px #ccc;
}

.equipo-gob-item__adscrito {
  color: var(--color-texto) !important;
  font-size: 0.8rem !important;
  line-height: 1rem !important;
  font-style: italic;
  font-weight: 900;
}

.equipo-gob-item__descripcion {
  /* border-bottom: 1px solid var(--color-texto-claro);
  font-size: .8rem !important;
  text-align: left;
  line-height: 1.2rem !important; */
  font-size: 0.9rem;
  line-height: 1.5rem;
}

.equipo-gob-item__contacto {
  font-size: 0.7rem;
  text-align: left;
  /* display: flex; */
  /* flex-wrap: wrap; */
  margin-top: 10px;
  position: absolute;
  bottom: 2rem;
}

.equipo-gob-item__email a,
.equipo-gob-item__email2 a,
.equipo-gob-item__tele a,
.equipo-gob-item__web a {
  color: grey;
}

.equipo-gob-item__email a::before,
.equipo-gob-item__email2 a::before,
.equipo-gob-item__tele a::before,
.equipo-gob-item__web a::before {
  content: "";
  font-family: "Font Awesome 5 Free";
  color: grey;
  font-size: 1rem !important;
  font-weight: 900;
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: 7px;
}

/* Email */
.equipo-gob-item__email a::before,
.equipo-gob-item__email2 a::before {
  content: "\f0e0";
}

.equipo-gob-item__email a[href$="mailto:"]::before {
  display: none;
}

.equipo-gob-item__email2 a[href$="mailto:"]::before {
  display: none;
}

.equipo-gob-item__email > a:not([href$="mailto:"]) {
  margin-right: 17px;
}

.equipo-gob-item__email2 > a:not([href$="mailto:"]) {
  margin-right: 17px;
}

/* Teléfono */
.equipo-gob-item__tele a::before {
  content: "\f095";
}

.equipo-gob-item__tele a[href$="tel:"]::before {
  display: none;
}

.equipo-gob-item__tele a[href$="tel:"] {
  display: none;
}

.equipo-gob-item__tele > a:not([href$="tel:"]) {
  margin-right: 17px;
}

/* Web */
.equipo-gob-item__web a[href]::before {
  content: "\f0c1";
}

.equipo-gob-item__web a[href=""]::before {
  display: none;
}

.equipo-gob-item__web a[href=""] {
  display: none;
}

.equipo-gob-item__web a[href=""] {
  margin-right: 17px;
}

/* Directorio US */
.equipo-gob-item__directorio {
  /* background: transparent; */
  background: var(--colorSec);
  box-shadow: 0px 2px 10px 1px rgba(0, 0, 0, 0.25);
  padding: 10px 20px;
  border-radius: 1rem;
  /* border: 1px solid grey; */
  line-height: 0.7rem;
  margin: 0;
  margin-top: 10px;
  position: relative;
  height: fit-content;
  width: fit-content;
  margin-bottom: 20px;
}

.equipo-gob-item__directorio > a {
  /* color: grey; */
  color: black;
  font-size: 0.7rem;
  line-height: 0.7rem;
}

.equipo-gob-item__directorio:hover {
  /* background: grey; */
  background: rgb(171, 124, 12);
}

.equipo-gob-item__directorio:hover > a {
  /* color: white; */
  background: transparent;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 992px) {
  .equipo-gobierno {
    flex-direction: column;
  }
  .equipo-gob-item {
    /* flex-direction: column; */
    margin: 0;
    /* align-items: center; */
    padding: 15px;
    /* margin-bottom: 2rem; */
  }
  .equipo-gob-item:has(.Vocal) {
    order: 1;
  }
  .equipo-gob-item:has(.Secretaria) {
    order: 2;
  }
  .equipo-gob-item:has(.Tesorero) {
    order: 3;
  }
  /* Coloca línea debajo de cada item, excepto en el último */
  /* .equipo-gob-item:not(:last-child) .equipo-gob-item__info{
  	border-bottom: 1px dashed rgba(113, 156, 15,.4);
  } */
  /* Foto */
  .equipo-gob-item__foto {
    border-top: 0;
    max-height: 40vw;
  }
  .equipo-gob-item__img {
    /* width: 50vw;
    height: 50vw; */
    /* 	border-radius: 50%;
    	border: 2px dashed var(--colorSec);
    	box-shadow: none; */
  }
  /* .equipo-gob-item__sombra::before{
  	content: "";
  	width: 5vw;
  	height: 5vw;
  	background: white;
  	border-radius: 50%;
  	z-index: 2;
  	display: block;
  	position: relative;
  	top: 4vw;
  	left: 4vw;
  } */
  /* Info */
  .equipo-gob-item__info {
    padding-top: 20px;
  }
  .equipo-gob-item__puesto,
  .equipo-gop-item__nombre,
  .equipo-gob-item__adscrito {
    margin: 0;
  }
  .equipo-gob-item__descripcion {
    text-align: left;
    margin: 20px 0;
  }
  .equipo-gob-item__contacto {
    /* justify-content: center; */
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   EQUIPO PERSONAL   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.equipo-personal {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.equipo-personal-item {
  display: flex;
  background: white;
  width: 30%;
  border-radius: 16px 16px 16px 16px;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
  flex-direction: column;
  justify-content: center;
  padding: 20px 25px 60px 25px;
  border: 2px dotted #afc973;
  margin: 0 15px 30px 15px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.equipo-personal-item__puesto {
  color: var(--colorSec) !important;
  font-size: 0.8rem;
  margin-bottom: 10px !important;
  line-height: 1.1rem;
  font-weight: 100;
}

.equipo-personal-item__nombre {
  color: var(--colorPri) !important;
  font-size: 1.2rem !important;
  line-height: 1.4rem !important;
  text-transform: uppercase;
  /* font-weight: 900 !important; */
  padding-bottom: 10px;
  /* font-weight: 900; */
  font-family: FuenteBold !important;
}

.equipo-personal-item__sede-turno {
  font-size: 0.8rem;
  /* background: #ebe8e8; */
  border-top: 1px dotted var(--colorPri);
  border-bottom: 1px dotted var(--colorPri);
  /* margin: 0; */
  /* padding: 0; */
  /* text-align: center; */
  color: white;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #afc973;
  padding: 5px 0;
  width: 100%;
}

.equipo-personal-item__sede,
.equipo-personal-item__turno {
  display: inline-block;
  /* margin: 0 15px 3px 0; */
  line-height: 1rem;
  color: inherit;
}

.equipo-personal-item__sede {
  margin-right: 1rem;
}

.equipo-personal-item__sede::before {
  display: inline-block;
  content: "\f3c5";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.equipo-personal-item__turno::before {
  display: inline-block;
  content: "\f017";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.equipo-personal-item__contacto {
  font-size: 0.8rem;
  line-height: 1.2rem;
}

.equipo-personal-item__mails,
.equipo-personal-item__mail,
.equipo-personal-item__tels,
.equipo-personal-item__tel {
  font-size: 0.7rem;
  line-height: 1rem;
  text-align: left;
}

.equipo-personal-item__email,
.equipo-personal-item__tele,
.equipo-personal-item__web {
  margin-right: 17px;
}

.equipo-personal-item__email a,
.equipo-personal-item__tele a,
.equipo-personal-item__web a {
  color: var(--colorEnlace);
}

.equipo-personal-item__email a::before,
.equipo-personal-item__tele a::before,
.equipo-personal-item__web a::before {
  content: "";
  font-family: "Font Awesome 5 Free";
  color: var(--colorPri) !important;
  font-size: 1rem !important;
  font-weight: 900;
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: 7px;
  opacity: 0.3;
}

.equipo-personal-item__email a::before {
  content: "\f0e0";
}

.equipo-personal-item__email a[href$="mailto:"]::before {
  display: none;
}

.equipo-personal-item__tele a::before {
  content: "\f095";
}

.equipo-personal-item__tele a[href$="tel:"]::before {
  display: none;
}

.equipo-personal-item__web a[href]::before {
  content: "\f0c1";
}

.equipo-personal-item__web a:not([href])::before {
  display: none;
}

.equipo-personal-item__web a:not([href]) {
  display: none;
}

/* Foto en Movilidad */
.equipo-personal-item__foto {
  margin: 0 auto;
  padding: 0;
}

.equipo-personal-item__img {
  border-radius: 50%;
  width: 12vmax;
  height: 12vmax;
  object-fit: cover;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .equipo-personal-item {
    width: 100%;
    padding: 10px 20px 10px 20px;
  }
  .personal-miembro-item__puesto {
    font-size: 1rem;
    line-height: 1.2rem;
  }
  .personal-miembro-item__nombre {
    font-size: 1.3rem !important;
    line-height: 1.5rem !important;
  }
  .personal-miembro-item__mails,
  .personal-miembro-item__mail,
  .personal-miembro-item__tels,
  .personal-miembro-item__tel {
    font-size: 0.9rem;
    line-height: 1.1rem;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .equipo-personal-item {
    width: 45%;
  }
  .equipo-personal-item__puesto {
    font-size: 0.9rem;
    line-height: 1.1rem;
  }
  .equipo-personal-item__nombre {
    font-size: 1.3rem !important;
    line-height: 1.5rem !important;
  }
  .equipo-personal-item__mails,
  .equipo-personal-item__mail,
  .equipo-personal-item__tels,
  .equipo-personal-item__tel {
    font-size: 0.8rem;
    line-height: 1rem;
  }
}
/* @use "partials/servicios"; */
/* @use "partials/actualidad"; */
/* Filtro Vistas */
.filtro-vista {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
  padding: 1rem;
  margin-bottom: 2rem;
  background: rgba(255, 255, 255, 0.5);
  /* Elementos Generados */
}
.filtro-vista .view-header {
  order: 1;
  display: block;
  padding: 0;
  /* display: inline-flex;
  flex-wrap: wrap;
  gap: 5px; */
}
.filtro-vista {
  /* Elementos Generados */
}
.filtro-vista .view-content {
  order: 2;
  display: block;
  padding: 0;
  /* display: inline-flex;
  flex-wrap: wrap;
  gap: 5px; */
}
.filtro-vista {
  /* Botones añadidos: TODOS  TODOS AGRUPADOS */
}
.filtro-vista .view-footer {
  order: 3;
  /* display: flex;
  gap: 1px; */
}
.filtro-vista {
  /* Estilo común a todos los botones de filtro */
}
.filtro-vista .filtro-vista__boton {
  font-size: 12px;
  line-height: 1;
  padding: 5px 10px;
  background: rgba(0, 0, 0, 0.05);
  color: rgba(0, 0, 0, 0.8);
  border: none;
  margin: 0;
  white-space: nowrap;
  display: inline-block;
}
.filtro-vista .filtro-vista__boton:hover {
  background: rgb(233, 204, 213);
  color: black !important;
  cursor: pointer;
}
.filtro-vista .filtro-vista__boton.filtro-activo {
  background: var(--us-rojo-oscuro);
  color: white !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   ETIQUETAS FILTRO  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.filtro__item {
  font-size: 12px;
  line-height: 15px;
  padding: 5px 10px;
  background: white;
  color: black;
  border: none;
  /* margin: 3px; */
  padding: 10px 15px;
  border: 1px solid grey;
  margin-right: -1px;
}
.filtro__item:nth-child(1) {
  border-radius: 15px 0 0 15px;
}
.filtro__item:last-child {
  border-radius: 0 15px 15px 0;
}
.filtro__item.filtro__item--activo {
  background: var(--colorPri);
  color: white !important;
}
.filtro__item:hover {
  background: var(--colorSec);
  color: white !important;
  cursor: pointer;
}

.filtro__opciones {
  margin: 20px auto 50px;
  width: fit-content;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  /* grid-gap: 5px; */
  padding-bottom: 20px;
  border-bottom: 1px dotted #d5d2d2;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   ETIQUETAS FILTRO  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.eventos-blq .filtro-vista {
  margin-bottom: 0;
}
.eventos-blq .filtro-vista:nth-child(1) {
  padding-bottom: 0;
}
.eventos-blq .view-filters {
  background: white;
  padding: 1rem;
  margin-bottom: 2rem;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   EVENTOS BLOQUE - PORTADA (Vista: código Twig en Global Text)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Mostramos título centrado */
.eventos-parent > .titulo {
  text-align: center;
  color: var(--colorPri);
  text-transform: uppercase;
  font-family: FuenteBold, Helvetica, Arial, sans-serif;
  font-size: 2rem;
  margin-bottom: 4rem;
  padding-top: 5rem;
}

.eventos-parent > .titulo::after {
  content: "";
  display: block;
  max-width: 70%;
  opacity: 0.7;
  margin-bottom: 30px;
  height: 1.5px;
  background-color: var(--colorSec);
  margin: 0 auto;
  margin-top: 15px;
  opacity: 0.4;
}

/* Posicionamos todas las noticias de portada accediendo a su contenedor */
/* .block-views-blocknoticias-block-1 .view-noticias .view-content{ */
.eventos-blq .agrupa__ctn {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  /* display: grid;
     grid-template-columns: repeat(3,1fr);
     grid-gap: 1.2rem; */
}

.eventos-blq.eventos-blq--pag .agrupa__ctn {
  justify-content: left;
}

/* Filtro expuesto */
.views-exposed-form {
  display: flex;
  height: 30px;
  align-items: center;
}
.views-exposed-form .js-form-item {
  display: flex;
  height: 30px;
  align-items: center;
}
.views-exposed-form .js-form-item label {
  visibility: hidden;
  font-size: 0;
}
.views-exposed-form .js-form-item label::after {
  content: "Curso: ";
  font-size: 1rem;
  visibility: visible;
  display: inline-block;
}
.views-exposed-form .js-form-item .form-select {
  margin: 0 10px;
}

.eventos-blq--pag .agrupa__titulo {
  width: 100%;
  font-size: 2rem;
  color: var(--us-rojo-oscuro);
  margin-top: 3rem;
  border-bottom: 2px dotted #e3b3c5;
  padding-bottom: 10px;
  margin-bottom: 2rem;
}

/* Contenedor Individual noticia: 3 columnas por fila */
.evento-blq {
  /* width: calc(33% - 20px); */
  margin-bottom: 30px;
  background-color: white;
  overflow: hidden;
  position: relative;
  width: 23%;
  /* box-shadow: 0 0 9px rgba(0, 0, 0, .1); */
  --shadow-soft: 0 4px 10px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 10px 20px rgba(0, 0, 0, .5);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: fadeIn 0.6s ease-out;
}
.evento-blq:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}
.evento-blq .evento-blq__header {
  position: relative;
}
.evento-blq .evento-blq__header .evento-blq__imagen {
  aspect-ratio: 16/9;
  width: fit-content;
  overflow: hidden;
}
.evento-blq .evento-blq__header .evento-blq__imagen img {
  width: 100%;
  transition: transform 0.5s ease;
}
.evento-blq .evento-blq__header .evento-blq__categoria {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 10px;
  padding: 5px 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
  font-size: 10px;
  white-space: nowrap;
  background: var(--us-rojo-oscuro);
  color: white;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  line-height: 1;
}
.evento-blq:has(.evento-blq__enlace:hover) {
  /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); */
  /* opacity: .5; */
  filter: grayscale(80%);
  /* background: rgba(255, 255, 255, .2); */
  outline: 2px dashed var(--us-rojo);
  cursor: pointer;
}
.evento-blq:has(.evento-blq__enlace:hover) .evento-blq__imagen img {
  transform: scale(1.1);
}

/* Foto */
/* .evento-blq__foto-ctn {
    height: 12rem; 
    background-color: grey;
    margin: 0;
	padding: 0;
    overflow: hidden;
    position: relative;
	flex: 1.4;
}
.evento-blq__foto-ctn::before{
	content: '';
	display: block;
	padding-top:100%;
}
.evento-blq__foto-img{
	object-fit: cover;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
	transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
	transform: scale(1);
} */
/* Enlace cubre todo */
.evento-blq__enlace {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
  /* &:hover ~ .evento-blq__foto-ctn > .evento-blq__foto-img{
  	opacity: 0.7;
  	transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  	transform: scale(1.25);
  } */
  /* &:hover {
  	background: grey;
  	opacity: .05;
  } */
}

/* Categorias */
/* .evento-blq__categorias ul {
	list-style: none;
    display: flex;
    font-size: .7rem;
	line-height: 1rem;
    flex-wrap: wrap;
	color: var(--colorTer);
}
.evento-blq__categorias ul > li:not(:nth-child(1))::before {
	content: " ";
    background-color: lightgrey;
    display: inline-block;
    width: 1px;
    margin: 0 7px;
    height: 12px;
    position: relative;
    top: 3px;
} */
/* Contenedor */
.evento-blq__ctn {
  display: flex;
}

/* Fecha */
.evento-blq__fecha {
  background: grey;
  color: white;
  line-height: 1;
  margin-right: 13px;
  text-align: center;
  text-transform: uppercase;
  /*  height: 50%;
   width: 50%; */
  height: 65px;
  width: 65px;
  padding: 5px 10px;
  /* flex: 10%; */
  /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(142, 14, 103, 0.34);
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Cambia color caja fecha en función del tiempo presente/futuro/pasado */
.evento-blq__fecha.tiempo-presente {
  background: var(--colorTer);
}

.evento-blq__fecha.tiempo-futuro {
  background: #9f9c9c;
}

.evento-blq__fecha.tiempo-pasado {
  background: rgb(207, 205, 205);
}

.evento-blq__fecha-ctn {
  /* margin: 0;
     padding: 0;
     border: 0;
     outline: 0;
     font-size: 100%;
     vertical-align: baseline;
     background: transparent; */
}

.evento-blq__dia {
  display: block;
  /* font-size: 1.2rem; */
  font-size: 33px;
  /* letter-spacing: 2px; */
}

.evento-blq__mes {
  display: block;
  font-size: 15px;
  /* font-size: 0.7rem; */
}

/* Textos */
.evento-blq__textos {
  /* flex: 90%; */
  padding: 1rem 1.2rem;
}

/* Titular */
.evento-blq__titulo {
  font-size: 1.4rem;
  line-height: 1.6rem;
  text-align: left;
  text-transform: none;
  margin: 7px 0;
  text-transform: none;
  color: black;
  font-weight: 800;
}

.evento-blq__resumen {
  font-size: 0.9rem;
  line-height: 1.3rem;
  color: black;
}

/* Periodo, horario y lugar */
.evento-blq__info {
  position: relative;
  margin: 10px 0 5px 0;
  font-size: 0.7rem;
  color: #a3a0a0;
  line-height: 0.8rem;
  display: block;
  /* background: #edeaea; */
  /*    padding: 10px;
     border-left: 2px dotted #d7d4d4;
     padding-bottom: 7px; */
  margin-top: 30px;
}

.evento-blq__periodo,
.evento-blq__horario,
.evento-blq__lugar {
  display: block;
  margin: 0 15px 3px 0;
  line-height: 1rem;
  color: inherit;
}

.evento-blq__periodo::before {
  display: inline-block;
  content: "\f073";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.evento-blq__horario::before {
  display: inline-block;
  content: "\f017";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.evento-blq__lugar::before {
  display: inline-block;
  content: "\f3c5";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

/* Subtítulo */
.evento-blq__subtitulo {
  margin: 0;
  /* padding: 0 0 22px 0; */
  text-align: left;
  font-size: 0.8rem;
  line-height: 1.4rem;
  /* -webkit-box-orient: vertical; */
  display: block;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* Posicionamos todas las noticias de portada accediendo a su contenedor */
  .eventos .view-content {
    flex-direction: column;
    /* grid-template-columns: repeat(2,1fr); */
  }
  /* Contenedor Individual noticia, sólo tres columnas por fila */
  .evento-blq {
    width: 100%;
  }
  .evento-blq__fecha {
    width: 45px;
  }
  .evento-blq__fecha {
    width: 45px;
    height: 45px;
    padding: 2px;
  }
  .evento-blq__dia {
    font-size: 27px;
  }
  .evento-blq__mes {
    font-size: 10px;
  }
  /* Botón */
  .view-footer {
    padding-bottom: 20px;
  }
  .view-footer p,
  .view-footer a {
    line-height: 35px;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  /* Posicionamos todas las noticias de portada accediendo a su contenedor */
  /* 	.block-views-blocknoticias-block-1 .view-noticias .view-content{
  		grid-template-columns: repeat(2,1fr);
  	}
  	.noticia-blq__foto-ctn {
  		flex: 1;
  		max-height:200px;
  	}
  	.noticia-blq__texto-ctn {
  		padding: 0 20px;
  		flex: 2;
  	}
  	.noticia-blq__texto-titulo {
  		line-height: 1.5rem;
  	} */
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   EVENTOS PÁGINA. LISTADO (Vista: código Twig en Global Text)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Posicionamos todas las noticias de portada accediendo a su contenedor */
.eventos-pag .agrupa__ctn {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-direction: column;
  /* display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 1.2rem; */
}

/* Cabecera grupo categoría */
.eventos-pag > h3 {
  color: var(--colorPri);
  font-size: 1.6rem;
  line-height: 1.4rem;
}

.eventos-pag > h3::after {
  content: "";
  display: block;
  max-width: 40%;
  margin-top: 10px;
  border-style: solid;
  border-width: 0.9px;
  color: var(--colorSec);
  opacity: 0.3;
  /* margin-bottom: 30px; */
}

/* Contenedor Individual noticia: 3 columnas por fila */
.evento-pag {
  margin-bottom: 30px;
  background-color: transparent;
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 1rem 4rem;
  border-bottom: 1px dashed lightgrey;
}

.evento-pag:not(:last-child) {
  border-bottom: 1px dotted #d5d2d2;
}

/* Foto */
.evento-pag__foto-ctn {
  /* width: 30%; */
  height: 12rem;
  background-color: grey;
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
  flex: 1.4;
}

.evento-pag__foto-ctn::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.evento-pag__foto-img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.7;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  transform: scale(1);
}

/* Enlace cubre todo */
.evento-pag__enlace {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
}

.evento-pag__enlace:hover ~ .evento-pag__foto-ctn > .evento-pag__foto-img {
  opacity: 0.7;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  transform: scale(1.25);
}

.evento-pag__enlace:hover {
  background: grey;
  opacity: 0.05;
}

/* Contenedor */
.evento-pag__ctn {
  display: flex;
  gap: 1rem;
}

/* Categorias */
.evento-pag__categorias ul {
  list-style: none;
  display: flex;
  font-size: 0.7rem;
  line-height: 1rem;
  flex-wrap: wrap;
  color: var(--colorTer);
}

.evento-pag__categorias ul > li:not(:nth-child(1))::before {
  content: " ";
  background-color: lightgrey;
  display: inline-block;
  width: 1px;
  margin: 0 7px;
  height: 12px;
  position: relative;
  top: 3px;
}

/* Fecha */
.evento-pag__fecha {
  color: white;
  line-height: 1;
  margin-right: 13px;
  text-align: center;
  text-transform: uppercase;
  /*     height: 50%; */
  height: 78px;
  /* width: 50%; */
  padding: 5px 10px;
  /* flex: 3%; */
  /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); */
  width: 65px;
  position: relative;
  overflow: hidden;
}

/* Cambia color caja fecha en función del tiempo presente/futuro/pasado */
.evento-pag__fecha.tiempo-presente {
  background: var(--colorTer);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(142, 14, 103, 0.34);
  /* border: 1px dotted rgb(146,189,109); */
}

.evento-pag__fecha.tiempo-futuro {
  background: #9f9c9c;
}

.evento-pag__fecha.tiempo-pasado {
  background: rgb(207, 205, 205);
}

.evento-pag__fecha-ctn {
  /* margin: 0;
     padding: 0;
     border: 0;
     outline: 0;
     font-size: 100%;
     vertical-align: baseline;
     background: transparent; */
}

.evento-pag__dia {
  display: block;
  /* font-size: 1.2rem; */
  font-size: 33px;
  /* letter-spacing: 2px; */
}

.evento-pag__mes {
  display: block;
  /* font-size: 0.7rem; */
  font-size: 15px;
}

.evento-pag__tiempo {
  display: block;
  font-size: 0.6rem;
  background: rgb(240, 188, 212);
  padding: 2px 0;
  width: 102%;
  position: absolute;
  left: -1px;
  bottom: 0;
  color: var(--colorTer);
  border-top: 2px dotted rgb(213, 104, 159);
}

.evento-pag__fecha.tiempo-futuro .evento-pag__tiempo {
  background: #d4d2d2;
  color: #9f9c9c;
  border-top: 2px dotted #9f9c9c;
}

.evento-pag__fecha.tiempo-pasado .evento-pag__tiempo {
  background: rgb(233, 232, 232);
  color: rgb(207, 205, 205);
  border-top: 2px dotted rgb(207, 205, 205);
}

/* Textos */
.evento-pag__textos {
  flex: 97%;
}

/* Titular */
.evento-pag__titulo {
  font-size: 1.4rem;
  line-height: 1.6rem;
  text-align: left;
  text-transform: none;
  margin: 7px 0;
  text-transform: none;
  color: black;
}

/* Periodo, horario y lugar */
.evento-pag__info {
  position: relative;
  margin: 10px 0 5px 0;
  font-size: 0.7rem;
  color: #a3a0a0;
  line-height: 0.8rem;
  display: block;
  /* padding: 10px;
  border-left: 3px dotted #d7d4d4;
  padding-bottom: 7px; */
  display: flex;
  flex-flow: wrap;
}

.evento-pag__periodo,
.evento-pag__horario,
.evento-pag__lugar {
  display: block;
  margin: 0 15px 3px 0;
  line-height: 1rem;
  color: inherit;
}

.evento-pag__periodo::before {
  display: inline-block;
  content: "\f073";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.evento-pag__horario::before {
  display: inline-block;
  content: "\f017";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.evento-pag__lugar::before {
  display: inline-block;
  content: "\f3c5";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

/* Subtítulo */
.evento-pag__subtitulo {
  margin: 0;
  /* padding: 0 0 22px 0; */
  text-align: left;
  font-size: 0.8rem;
  line-height: 1.4rem;
  /* -webkit-box-orient: vertical; */
  display: block;
  margin-bottom: 1rem;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .evento-pag {
    padding: 1rem;
  }
  .evento-pag__fecha {
    width: 45px;
    height: 58px;
    padding: 2px;
  }
  .evento-pag__dia {
    font-size: 27px;
  }
  .evento-pag__mes {
    font-size: 10px;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   EVENTO FICHA. INDIVIDUAL (Template: node--eventos.html.twig)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.evento-ficha {
  margin-bottom: 30px;
  background-color: white;
  overflow: hidden;
  width: 100%;
  padding: 2rem;
}

/* 1. HEADER */
.evento-ficha__header {
  padding: 0 6rem;
  margin: 2rem 0;
  margin-bottom: 1rem;
  /* Categorias */
}
.evento-ficha__header .evento-ficha__categorias {
  display: flex;
  margin-bottom: 10px;
}
.evento-ficha__header .evento-ficha__categorias span {
  font-size: 14px !important;
  line-height: 1rem !important;
  color: var(--us-rojo-oscuro) !important;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.evento-ficha__header .evento-ficha__categorias span:not(:nth-child(1))::before {
  content: " ";
  background-color: #fece00;
  /* position: relative; */
  /* left: -10px; */
  height: 16px;
  top: 3px;
  display: inline-block;
  width: 1px;
  margin: 0 7px;
}
.evento-ficha__header {
  /* Titulares */
}
.evento-ficha__header .evento-ficha__titulares {
  margin: 10px 0;
}
.evento-ficha__header .evento-ficha__titulares h1 {
  font-size: 3rem;
  line-height: 3.3rem;
  margin: 0 !important;
  color: black;
}
.evento-ficha__header .evento-ficha__titulares h2 {
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: black;
}

/* 2. CONTENIDO */
.evento-ficha__contenido {
  /* Foto */
}
.evento-ficha__contenido .evento-ficha__foto {
  margin-bottom: 2rem;
}
.evento-ficha__contenido .evento-ficha__foto img {
  max-height: 100%;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.evento-ficha__contenido .evento-ficha__foto figcaption {
  display: block !important;
  padding: 7px 0;
  margin: 0;
  width: 100%;
  text-align: left;
  color: var(--color-texto-claro);
  opacity: 1;
  font-size: 0.8rem;
  font-style: normal;
  line-height: 1rem;
  text-align: right;
  border-bottom: 1px dashed lightgrey;
  padding-bottom: 1rem;
}
.evento-ficha__contenido {
  /* Cuerpo */
}
.evento-ficha__contenido .evento-ficha__cuerpo {
  padding: 0 6rem 0 0;
  display: flex;
  gap: 4rem;
}
.evento-ficha__contenido .evento-ficha__cuerpo .evento-ficha__cuerpo-main {
  flex: 75%;
}
.evento-ficha__contenido .evento-ficha__cuerpo .evento-ficha__cuerpo-aside {
  flex: 25%;
}

/* 3. DATOS DEL EVENTO */
.evento-ficha__datos {
  position: relative;
  font-size: 0.7rem;
  /* color: #a3a0a0; */
  line-height: 1rem;
  display: block;
  background: #edeaea;
  padding: 10px;
  /* border-top: 1px dotted #aeaeae; */
  /*  border-left: 3px dotted #d7d4d4; */
  margin-bottom: 1rem;
  padding: 2rem;
  padding-bottom: 1rem;
  /* Periodo */
}
.evento-ficha__datos .evento-ficha__periodo > span:nth-child(1)::before {
  display: inline-block;
  content: "\f073";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}
.evento-ficha__datos .evento-ficha__periodo > span {
  padding: 0;
}
.evento-ficha__datos {
  /* Horario */
}
.evento-ficha__datos .evento-ficha__horario::before {
  display: inline-block;
  content: "\f017";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}
.evento-ficha__datos {
  /* Lugar */
}
.evento-ficha__datos .evento-ficha__lugar::before {
  display: inline-block;
  content: "\f3c5";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

/* 4. GALERÍA DE FOTOS */
.evento-ficha__galeria {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  padding: 0 6rem;
}

.evento-ficha__galeria[data-galeria$=x2] {
  grid-template-columns: repeat(2, 1fr);
}

.evento-ficha__galeria[data-galeria$=x4] {
  grid-template-columns: repeat(4, 1fr);
}

.evento-ficha__galeria[data-galeria$=x5] {
  grid-template-columns: repeat(5, 1fr);
}

.evento-ficha__galeria[data-galeria$=x6] {
  grid-template-columns: repeat(6, 1fr);
}

.evento-ficha__galeria[data-galeria$=x7] {
  grid-template-columns: repeat(7, 1fr);
}

.evento-ficha__galeria[data-galeria$=x8] {
  grid-template-columns: repeat(8, 1fr);
}

.evento-ficha__galeria-titulo {
  font-size: 1.4rem;
  color: var(--colorPri) !important;
  padding: 0 6rem;
}

.evento-ficha__galeria-foto {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.evento-ficha__galeria-foto figure::before {
  content: "";
  display: block;
  padding-bottom: 56.25%;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}

.evento-ficha__galeria-foto:hover img {
  filter: grayscale(100%);
  transition: all 0.35s ease 0s;
  cursor: pointer;
}

.evento-ficha__galeria-foto img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.35s ease 0s;
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0px;
}

.evento-ficha__galeria-foto figcaption {
  position: relative;
  z-index: 2;
  background: white;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .evento-ficha {
    padding: 0;
  }
  .evento-ficha__header {
    padding: 0 1rem;
    margin-bottom: 0;
  }
  .evento-ficha__header .evento-ficha__categorias span {
    font-size: 12px !important;
  }
  .evento-ficha__header .evento-ficha__titulares h1 {
    font-size: 2rem;
    line-height: 2.3rem;
  }
  .evento-ficha__header .evento-ficha__titulares h2 {
    margin-bottom: 0;
    margin-top: 20px;
  }
  .evento-ficha__contenido .evento-ficha__foto {
    padding: 1rem;
    margin: 0;
  }
  .evento-ficha__contenido .evento-ficha__cuerpo {
    padding: 0 1rem;
    flex-direction: column;
  }
  .evento-ficha__datos {
    font-size: 1rem;
    line-height: 1.2rem;
  }
  .evento-ficha__galeria-titulo {
    padding: 0 1rem;
  }
  .evento-ficha__galeria {
    padding: 0 1rem;
  }
  .evento-ficha__galeria[data-galeria$=x5] {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Tablet */
/* 
	NOTICIAS
	------
	Región:
	Template:
	Descripción:
	Última revisión: 11/03/2025
    Definiciones: 
       - COMUNICADO OFICIAL: Documento mediante el cual se hace pública una información de carácter general
                             a un colectivo amplio de personas. Nota, declaración o parte que se comunica
                             para conocimiento público.
       - NOTICIA: Información sobre algo que se considera interesante divulgar. Relato o escrito sobre un 
                  hecho actual y de interés público, es un texto objetivo y difundido.
       - EVENTO: Acontecimiento previamente organizado que reúne a un determinado número de personas en tiempo 
                 y lugar preestablecidos que desarrollarán y compartirán una serie de actividades afines a un 
                 mismo objetivo para estímulo del comercio, la industria, el intercambio social y la cultura general.
                 Los eventos son aquellos fenómenos que surgen de ocasiones no rutinarias y que tienen objetivos
                 de ocio, culturales u organizativos establecidos de forma separada a la actividad normal diaria,
                 cuya finalidad es ilustrar, celebrar, entretener o generar experiencias en un grupo de personas.
        - BOLETÍN INTERNO DE NOTICIAS: Publicación informativa remitida con una cierta periodicidad al correo
                                       electrónico de un público previamente suscrito. Sirven para informar a sus
                                       destinatarios y proporcionales comunicaciones internas sobre su lugar de 
                                       trabajo.
        - SECCIÓN: Cada una de las parates en que se divide un objeto, una empresa... etc.
        - CATEGORÍA: Cada una de las clases o diviciones establecidas al clasificar algo.
*/
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   COMUNICADOS BLOQUE - PORTADA (Vista: código Twig en Global Text)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Título */
.block-views-blockactualdiad-blq-noticias .title {
  font-weight: 500;
}

.noticias-blq .view-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* gap: 30px; */
  /* display: grid;
  grid-template-columns: repeat(4, 1fr); */
}

.noticia-blq {
  /* width: 30%; */
  flex: 1;
  position: relative;
  padding: 30px;
  background: white;
  /* outline: 2px dashed var(--us-gris-azulado); */
  /* box-shadow: 0 0 20px rgba(0,0,0,.1); */
  margin: 10px;
  --shadow-soft: 0 4px 10px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 10px 20px rgba(0, 0, 0, .5);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: fadeIn 0.6s ease-out;
}
.noticia-blq:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}
.noticia-blq .noticia__imagen {
  aspect-ratio: 6/4;
  overflow: hidden;
  width: 100%;
}
.noticia-blq .noticia__imagen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.noticia-blq .noticia__categoria {
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1rem;
  color: var(--us-rojo-oscuro);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
  padding: 0;
}
.noticia-blq .noticia__categoria .categoria-tag {
  display: inline-block;
  transition: background 0.3s ease;
  /*   position: absolute;
    top: 10px;
    right: 10px; */
  padding: 5px 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
  font-size: 10px;
  white-space: nowrap;
  background: var(--us-rojo-oscuro);
  color: white;
  /* box-shadow: 0 0 6px rgba(0, 0, 0, 0.5); */
  line-height: 1;
}
.noticia-blq .noticia__titulo {
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--colorTitular);
  margin-bottom: 1rem;
}
.noticia-blq .noticia__resumen {
  --root-color-dark-blue-800: #17253d;
  font-weight: 400;
  line-height: 1.5rem;
  letter-spacing: -0.03em;
  color: var(--root-color-dark-blue-800);
  font-size: 0.9rem;
}
.noticia-blq .noticia__fecha {
  font-size: 0.6rem;
  line-height: 0.6rem;
  text-align: left;
  margin: 15px 0;
  color: var(--color-texto-claro);
}
.noticia-blq .noticia__fecha::before {
  display: inline-block;
  content: "\f073";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}
.noticia-blq:has(.noticia__enlace:hover) {
  /*  box-shadow: 0 0 20px rgba(0,0,0,.2); */
  /* opacity: .5; */
  filter: grayscale(80%);
  /* background: rgba(255,255,255,.2);  */
  outline: 2px dashed var(--us-rojo);
  cursor: pointer;
}
.noticia-blq:has(.noticia__enlace:hover) .noticia__imagen img {
  transform: scale(1.1);
}
.noticia-blq .noticia__enlace {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: transparent;
  /*    &:hover {
         outline: 2px dashed var(--us-rojo-oscuro);
         cursor: pointer;
     } */
}
.noticia-blq {
  /* Agregar la línea entre elementos */
}
.noticia-blq:not(:last-child)::after {
  /* content: "";
  position: absolute;
  right: -.5%; 
  top: 0;
  height: 100%;
  width: 0; 
  border-right: 1.5px dashed lightgray; */
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .noticias-blq .view-content {
    flex-direction: column;
    padding: 0;
  }
  .noticia-blq {
    flex: 1;
  }
  .noticia-blq:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.5%;
    height: 0;
    width: 100%;
    border-top: 1.5px dashed lightgray;
    top: auto;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .nuestras-cifras {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   NOTICIAS PÁGINA. LISTADO (Vista: código Twig en Global Text)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.noticias-pag {
  margin-bottom: 4rem;
}
.noticias-pag > .view-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Cabecera grupo categoría */
.noticias-pag > .view-content h3 {
  /* background: var(--colorPri);
     color: white;
     padding: 10px 30px;
     font-size: 1.6rem;
     line-height: 1.4rem;
     width: max-content; */
  /* &::after{
  	content: "";
  	display: block;
  	max-width: 20%;
  	margin-top: 10px;
  	border-style: dashed;
  	border-width: 0.9px;
  	color: rgb(120, 117, 117);
  	opacity: .3;
  } */
}

/* Contenedor Individual noticia: 4 columnas por fila */
.noticia-pag {
  background-color: white;
  overflow: hidden;
  /* border-radius: 16px 16px 16px 16px; */
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
  position: relative;
  width: 100%;
  padding: 1rem;
  --shadow-soft: 0 4px 10px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 10px 20px rgba(0, 0, 0, .5);
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: fadeIn 0.6s ease-out;
}
.noticia-pag:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}

.noticia-pag:has(.noticia-pag__enlace:hover) {
  /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); */
  /* opacity: .5; */
  filter: grayscale(80%);
  /* background: rgba(255, 255, 255, .2); */
  outline: 2px dashed var(--us-rojo);
  cursor: pointer;
}
.noticia-pag:has(.noticia-pag__enlace:hover) .noticia-pag__foto-ctn img {
  transform: scale(1.1);
}

.noticia-pag__ctn {
  display: flex;
  gap: 20px;
  position: relative;
}
.noticia-pag__ctn .noticia-pag__foto-ctn {
  flex: 30%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.noticia-pag__ctn .noticia-pag__foto-ctn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.noticia-pag__ctn .noticia-pag__texto-ctn {
  flex: 70%;
  padding-right: 1.5rem;
}

/* Enlace cubre todo */
.noticia-pag__enlace {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
}

/* Categoria */
.noticia-pag__categorias {
  background-color: #a50404;
  display: inline-block;
  position: absolute;
  padding: 5px 10px;
  border-radius: 0;
  left: 10px;
  top: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
  font-size: 10px;
  background: var(--us-rojo-oscuro);
  color: white;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  line-height: 1;
}

/* Titular */
.noticia-pag__titulo {
  font-size: 1.4rem;
  line-height: 1.6rem;
  text-align: left;
  text-transform: none;
  color: var(--colorTitular);
}

/* Fecha */
.noticia-pag__fecha {
  font-size: 0.6rem;
  line-height: 0.6rem;
  text-align: left;
  margin: 15px 0 30px 0;
  color: var(--color-texto-claro);
}
.noticia-pag__fecha::before {
  display: inline-block;
  content: "\f073";
  font: var(--fa-font-solid);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  margin: 0 5px 0 0;
}

/* Encabezado de Filtro agrupado */
.noticias-pag h3 {
  width: 100%;
  font-size: 2rem;
  color: var(--us-rojo-oscuro);
  margin-top: 3rem;
  border-bottom: 2px dotted #e3b3c5;
  padding-bottom: 10px;
  margin-bottom: 0;
}

/* Búsqueda expuesta */
/* & .view-filters {
    order:1;
    display:flex;
    justify-content: flex-start;

    label {
        font-size: .8rem;
        color: var(--color-texto-claro);
    }

    a.button, input[type=submit], input[type=reset], input[type=button] {
        background-color: var(--us-rojo-oscuro);
        color: white;
        font-size: 14px;
        text-transform: uppercase;
        padding: 6.5px;
        color: #ffffff;
        display: inline-block;
        line-height: 1;
        -webkit-border-radius: 24px;
        -moz-border-radius: 24px;
        border-radius: 0;
        min-width: 80px;
        border: none;
        -webkit-transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -ms-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        margin: 10px 5px 10px 0;
        text-align: center;
        position: relative;
        left: -20px;
    }
}
& .view-content {order:3;}

& .views-exposed-form {
    display:flex;
    align-items: center;
    gap: 20px;
} */
.noticias-pag .filtro-vista {
  margin-bottom: 0 !important;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .noticia-pag__ctn {
    flex-direction: column;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   NOTICIA FICHA. INDIVIDUAL (Template: node--noticias.html.twig)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.noticia-ficha {
  margin-bottom: 30px;
  /* height: 500px; */
  background-color: white;
  overflow: hidden;
  width: 100%;
  padding: 2rem;
}

/* 1. HEADER */
.noticia-ficha__header {
  padding: 0 6rem;
  margin: 2rem 0;
  margin-bottom: 1rem;
  /* Categorias */
}
.noticia-ficha__header .noticia-ficha__categorias {
  display: flex;
  margin-bottom: 10px;
}
.noticia-ficha__header .noticia-ficha__categorias span {
  font-size: 14px !important;
  line-height: 1rem !important;
  color: var(--us-rojo-oscuro) !important;
  padding: 0;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.noticia-ficha__header .noticia-ficha__categorias span:not(:nth-child(1))::before {
  content: " ";
  background-color: #fece00;
  /* position: relative; */
  /* left: -10px; */
  height: 16px;
  top: 3px;
  display: inline-block;
  width: 1px;
  margin: 0 7px;
}
.noticia-ficha__header {
  /* Titulares */
}
.noticia-ficha__header .noticia-ficha__titulares {
  margin: 0;
}
.noticia-ficha__header .noticia-ficha__titulares h1 {
  font-size: 3rem;
  line-height: 3.4rem;
  margin: 0 !important;
  color: black;
}
.noticia-ficha__header .noticia-ficha__titulares h2 {
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: black;
  margin-top: 20px;
  margin-bottom: 20px;
}
.noticia-ficha__header .noticia-ficha__fecha {
  font-size: 0.8rem;
}
.noticia-ficha__header .noticia-ficha__fecha span {
  padding: 0;
}

/* 2. CONTENIDO */
.noticia-ficha__contenido {
  /* Foto */
}
.noticia-ficha__contenido .noticia-ficha__foto {
  margin-bottom: 2rem;
}
.noticia-ficha__contenido .noticia-ficha__foto > img {
  max-height: 100%;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.noticia-ficha__contenido .noticia-ficha__foto figcaption {
  display: block !important;
  padding: 7px 0;
  margin: 0;
  width: 100%;
  text-align: left;
  color: var(--color-texto-claro);
  opacity: 1;
  font-size: 0.8rem;
  font-style: normal;
  line-height: 1rem;
  text-align: right;
  border-bottom: 1px dashed lightgrey;
  padding-bottom: 1rem;
}
.noticia-ficha__contenido {
  /*Cuerpo */
}
.noticia-ficha__contenido .noticia-ficha__cuerpo {
  padding: 0 6rem;
}

/* 3. GALERÍA DE FOTOS */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   ESTILOS DE LA GALERÍA (Grid y Masonry)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.noticia-ficha__galeria-titulo {
  font-size: 1.4rem;
  color: var(--colorPri) !important;
  padding: 0 6rem;
  margin-bottom: 1rem !important;
  border-bottom: 2px solid #fece00;
  display: inline-block;
  margin-left: 6rem !important;
  padding-left: 0;
  padding-right: 1rem;
}

/* Base Grid */
.noticia-ficha__galeria {
  --gap-galeria: 1rem;
  display: grid;
  gap: var(--gap-galeria);
  padding: 0 6rem;
  /* Variantes Grid (Tus clases existentes) */
}
.noticia-ficha__galeria[data-galeria$=x2] {
  grid-template-columns: repeat(2, 1fr);
}
.noticia-ficha__galeria[data-galeria$=x3] {
  grid-template-columns: repeat(3, 1fr);
}
.noticia-ficha__galeria[data-galeria$=x4] {
  grid-template-columns: repeat(4, 1fr);
}
.noticia-ficha__galeria[data-galeria$=x5] {
  grid-template-columns: repeat(5, 1fr);
}
.noticia-ficha__galeria[data-galeria$=x6] {
  grid-template-columns: repeat(6, 1fr);
}
.noticia-ficha__galeria[data-galeria$=x7] {
  grid-template-columns: repeat(7, 1fr);
}
.noticia-ficha__galeria[data-galeria$=x8] {
  grid-template-columns: repeat(8, 1fr);
}
.noticia-ficha__galeria {
  /* Variante Masonry (Nueva) */
}
.noticia-ficha__galeria[data-galeria=masonry] {
  display: block; /* Masonry usa columnas CSS, no grid */
  column-count: 4;
  column-gap: var(--gap-galeria);
}

/* Fotos individuales */
.noticia-ficha__galeria-foto {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  border-radius: 4px;
  aspect-ratio: 1/1;
}
.noticia-ficha__galeria-foto img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease, filter 0.35s ease;
}
.noticia-ficha__galeria-foto {
  /* Pie de foto */
}
.noticia-ficha__galeria-foto figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
  opacity: 0;
  text-align: center;
  transition: opacity 0.55s ease;
}
.noticia-ficha__galeria-foto {
  /* Ajuste específico para Masonry: romper evita cortes raros */
}
.noticia-ficha__galeria-foto[data-galeria=masonry] .noticia-ficha__galeria-foto {
  margin-bottom: var(--gap-galeria);
  break-inside: avoid;
}
.noticia-ficha__galeria-foto {
  /* Efecto hover sobre imagen */
}
.noticia-ficha__galeria-foto:hover img {
  filter: brightness(0.8);
  transform: scale(1.05);
}
.noticia-ficha__galeria-foto {
  /* Efecto hover sobre Pie de foton */
}
.noticia-ficha__galeria-foto:hover figcaption {
  opacity: 1;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .noticia-ficha {
    padding: 0;
  }
  .noticia-ficha__header {
    padding: 0 1rem;
    margin-bottom: 0;
  }
  .noticia-ficha__header .noticia-ficha__categorias span {
    font-size: 12px !important;
  }
  .noticia-ficha__header .noticia-ficha__titulares h1 {
    font-size: 2rem;
    line-height: 2.3rem;
  }
  .noticia-ficha__contenido .noticia-ficha__foto {
    padding: 1rem;
    margin: 0;
  }
  .noticia-ficha__contenido .noticia-ficha__cuerpo {
    padding: 0 1rem;
  }
  /* Galería */
  .noticia-ficha__galeria-titulo {
    margin-left: 1rem !important;
  }
  .noticia-ficha__galeria {
    padding-left: 1rem;
    padding-right: 1rem;
    padding: 0 1rem;
    /* Grid normal en móvil: 2 columnas máximo generalmente */
  }
  .noticia-ficha__galeria[data-galeria$=x3], .noticia-ficha__galeria[data-galeria$=x4], .noticia-ficha__galeria[data-galeria$=x5], .noticia-ficha__galeria[data-galeria$=x6], .noticia-ficha__galeria[data-galeria$=x7], .noticia-ficha__galeria[data-galeria$=x8] {
    grid-template-columns: repeat(2, 1fr);
  }
  .noticia-ficha__galeria {
    /* Masonry en móvil: menos columnas */
  }
  .noticia-ficha__galeria[data-galeria=masonry] {
    column-count: 2;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   PAGINADOR (Actualidad (Noticias) / Agenda (Eventos))   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.pager {
  margin-top: 15px;
}

.pager__items {
  clear: both;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 60px;
}

.pager__item {
  padding: 0;
  display: inline;
  margin-bottom: 15px;
}

.pager__item > a {
  padding: 10px 13px;
  font-size: 0.9rem;
  line-height: 1;
  color: var(--colorPri);
  background-color: white;
  border-top: 1px solid var(--color-texto-claro);
  border-right: 1px solid var(--color-texto-claro);
  border-bottom: 1px solid var(--color-texto-claro);
}

.pager__item:first-of-type a {
  border: 1px solid var(--color-texto-claro);
}

.pager__item > a:hover {
  background: rgba(113, 156, 15, 0.2);
  /* border: 1px solid var(--colorPri);  */
  /* border-color: var(--colorSec); */
}

/* Casilla activa */
.pager__item.is-active a {
  /* , li.pager__item.is-active:last-child a */
  color: white !important;
  background: var(--colorPri);
  border: 1px solid var(--colorPri);
}

.pager__item.is-active {
  font-weight: 100;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   ENLACES DESTACADOS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Titular del bloque */
.block-views-blockenlaces-destacados-block-1 h2 {
  text-transform: none;
  color: black;
  font-size: 1.8rem !important;
  line-height: 2.3rem !important;
  margin-bottom: 50px !important;
  text-align: center !important;
}

/* Contenedor de los bloques con iconos */
.enlaces-destacados {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  /* grid-template-columns: repeat(7, 1fr); */
  gap: 10px;
  margin: 1rem 0;
}

/* Enlace (Icono y texto) */
.enlace-destacado {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 8vw;
  margin: 25px 10px;
  position: relative;
  opacity: 1;
}

/* Enlace */
.enlace-destacado__enlace {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
}

.enlace-destacado__enlace:hover {
  color: black !important;
  font-weight: 100 !important;
}

/* Icono */
.enlace-destacado__icono-ctn {
  width: 100px;
  height: 100px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* .enlace-destacado__icono {
    height: auto !important;
	max-height: calc(100vw * 7 / 100);
} */
/* Icono Bitmap */
.enlace-destacado__icono-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  transition: 0.5s;
  position: absolute;
  /* top: 0; */
  /* left: 0; */
  z-index: 0;
}

.enlace-destacado:hover .enlace-destacado__icono-img {
  opacity: 0.8;
  transition: 0.5s;
}

/* Si no existe imagen, esconde icono img */
.enlace-destacado__icono-img:not([src]) {
  display: none;
}

/* Icono FontAwesome */
.fontawesome-icons {
  position: relative;
}

.enlace-destacado__icono-ctn .fontawesome-icons .fontawesome-icon i {
  font-size: 2.5rem;
  color: white;
  opacity: 0.5;
  transition: 0.5s;
}

.enlace-destacado:hover .fontawesome-icons .fontawesome-icon i {
  opacity: 1;
  transition: 0.5s;
}

/* .enlace-destacado:nth-child(1) > .enlace-destacado__icono-ctn > .fontawesome-icons > .fontawesome-icon > i {
    color: var(--us-rojo);
}
.enlace-destacado:nth-child(2) > .enlace-destacado__icono-ctn > .fontawesome-icons > .fontawesome-icon > i {
    color: var(--us-naranja);
}
.enlace-destacado:nth-child(3) > .enlace-destacado__icono-ctn > .fontawesome-icons > .fontawesome-icon > i {
    color: var(--us-verde-agua);
}
.enlace-destacado:nth-child(4) > .enlace-destacado__icono-ctn > .fontawesome-icons > .fontawesome-icon > i {
    color: var(--us-verde-azulado);
}
.enlace-destacado:nth-child(5) > .enlace-destacado__icono-ctn > .fontawesome-icons > .fontawesome-icon > i {
    color: var(--us-magenta);
}
.enlace-destacado:nth-child(6) > .enlace-destacado__icono-ctn > .fontawesome-icons > .fontawesome-icon > i {
    color: var(--us-gris-azulado);
} */
/* Título */
.enlace-destacado__texto {
  padding: 0 10px;
  margin-top: 13px;
  color: black;
  /* opacity: .4; */
  max-width: 10vw;
  line-height: 1.2rem;
}

.enlace-destacado:hover {
  opacity: 1;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .enlaces-destacados {
    /* grid-template-columns: repeat(2, 1fr); */
    flex-wrap: wrap;
  }
  .enlace-destacado {
    width: 27vw;
    margin: 0;
    margin-bottom: 20px;
  }
  /* 	.enlace-destacado__icono-ctn {
  		width: 100%;
  		height: 20vw;
  	} */
  .enlace-destacado__texto {
    font-size: 1rem;
    line-height: 1.4rem;
    max-width: 30vw;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .enlaces-destacados {
    /* grid-template-columns: repeat(4, 1fr); */
    flex-wrap: wrap;
  }
  .enlace-destacado {
    width: 22vw;
    margin: 0;
    margin-bottom: 20px;
  }
  /* .enlace-destacado__icono-ctn {
  	width: 90px;
  	height: 50px;
  } */
  .enlace-destacado__texto {
    font-size: 1rem;
    line-height: 1.4rem;
    max-width: 15vw;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   REVISTAS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.revistas .view-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.revistas .view-content h3 {
  width: 100%;
  font-size: 2rem;
  color: var(--us-rojo-oscuro);
  margin-top: 3rem;
  border-bottom: 2px dotted #e1c0cd;
  padding-bottom: 10px;
  margin-bottom: 0;
}

.revistas__intro {
  font-size: 1.2rem;
  line-height: 1.8rem;
  padding-bottom: 3rem;
}

.revista__portada {
  /* box-shadow: 4px 4px 4px rgba(0,0,0,.4);
  overflow:hidden; */
  --shadow-soft: 0 4px 10px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 10px 20px rgba(0, 0, 0, .5);
  /* border-radius: 20px; */
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: fadeIn 0.6s ease-out;
}
.revista__portada:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}

.revista__portada img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.revista:has([data-formato="Revistas Digitales"]) {
  max-width: 31%;
}

.revista:has([data-formato="Revistas en Papel"]) {
  max-width: 22%;
}

.revista__enlace {
  width: 100%;
}

.revista__titular {
  font-size: 0.8rem;
  line-height: 1.2rem;
  margin-top: 0.5rem;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .revistas .view-content .agrupa__ctn {
    flex-direction: column;
  }
  .revista:has([data-formato="Revistas Digitales"]) {
    max-width: 1001%;
  }
  .revista:has([data-formato="Revistas en Papel"]) {
    max-width: 45%;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   GALERIA ACUARELAS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* .view-titulaciones > .view-content, */
.acuarelas-socios .view-content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  /*  gap: 5rem; */
  gap: 3rem;
  margin: 4rem 0;
}

.acuarela {
  width: 39%;
  position: relative;
}

.acuarela:has(.acuarela__marco[data-formato=Verticalx2]) {
  width: 26%;
}

.acuarela:has(.acuarela__marco[data-formato=Verticalx3]) {
  width: 22%;
}

.acuarela:has(.acuarela__marco[data-formato=Apaisado]) {
  width: 45%;
}

.acuarela:has(.acuarela__marco[data-formato=Apaisadox2]) {
  width: 49%;
}

.acuarela:has(.acuarela__marco[data-formato=Apaisadox3]) {
  width: 64%;
}

.acuarela__enlace {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 1;
}

.acuarela__marco {
  overflow: hidden;
  height: auto;
  /* Color del marco */
  border: 0.8rem solid #dfcdc0;
  /* border: 0.8rem solid #d7d1d1;  */
  background: transparent;
  box-shadow: 7px 10px 12px 0px rgba(0, 0, 0, 0.22);
}

.acuarela__paspartu {
  background: white;
  padding: 3rem;
  /* Sombra marco */
  box-shadow: inset 1px 1px 7px 4px rgba(0, 0, 0, 0.35);
}

.acuarela__foto {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.35s ease 0s;
}

.acuarela__foto:hover {
  filter: grayscale(100%);
  transition: all 0.35s ease 0s;
}

.acuarela__foto::after {
  box-shadow: inset 2px 2px 4px 0 rgba(0, 0, 0, 0.4);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 100%;
}

.acuarela__img {
  height: auto;
  width: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  opacity: 1;
  transform: scale(1);
}

.acuarela__enlace:hover ~ .acuarela__paspartu > .acuarela__foto > .acuarela__img {
  opacity: 0.7;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  transform: scale(1.15);
}

.acuarela__etiqueta {
  background: white;
  padding: 25px;
  font-size: 0.7rem;
  line-height: 0.8rem;
  width: auto;
  box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2);
  margin: 0 auto;
  margin-top: 1.5rem;
  max-width: 300px;
  position: relative;
}

.acuarela__titulo {
  font-size: 0.9rem;
  line-height: 1.2rem;
  font-weight: 800;
  color: #7d3232;
  margin-bottom: 10px;
}

.acuarela__estado[data-estado=Vendida] {
  color: red;
}

.acuarela__estado[data-estado=Vendida]::before {
  content: "";
  width: 10px;
  height: 10px;
  background: red;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  right: 10px;
}

.acuarela__papel:not([data-papel=""])::before {
  content: "Papel ";
}

.acuarela__autor {
  font-weight: 100;
  font-size: 0.9rem;
  color: var(--colorPri);
  margin-top: 10px;
  line-height: 1rem;
}

.acuarela__autor:hover {
  color: var(--colorSec);
}

/* .acuarela__autor::before {
    content: "Autor: ";
    font-weight: 100;
} */
/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .acuarelas {
    flex-direction: columns;
  }
  .acuarela,
  .acuarela:has(.acuarela__marco[data-formato=Vertical]),
  .acuarela:has(.acuarela__marco[data-formato=Verticalx2]),
  .acuarela:has(.acuarela__marco[data-formato=Verticalx3]),
  .acuarela:has(.acuarela__marco[data-formato=Apaisado]),
  .acuarela:has(.acuarela__marco[data-formato=Apaisadox2]),
  .acuarela:has(.acuarela__marco[data-formato=Apaisadox3]) {
    width: 100%;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .acuarelas {
    flex-direction: columns;
  }
  .acuarela,
  .acuarela:has(.acuarela__marco[data-formato=Vertical]),
  .acuarela:has(.acuarela__marco[data-formato=Verticalx2]),
  .acuarela:has(.acuarela__marco[data-formato=Verticalx3]),
  .acuarela:has(.acuarela__marco[data-formato=Apaisado]),
  .acuarela:has(.acuarela__marco[data-formato=Apaisadox2]),
  .acuarela:has(.acuarela__marco[data-formato=Apaisadox3]) {
    width: 100%;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   GUIAS MICROSOFT   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.guias {
  margin: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  /* gap: .5rem; */
  padding-top: 20px;
}

.guia {
  height: auto;
  width: 100%;
  /* overflow: hidden; */
  position: relative;
  padding: 0;
  margin: 10px;
  width: 10%;
}

.guia__ctn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Enlace */
.guia__enlace {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

/* Imagen */
.guia__imagen {
  height: 2.5rem;
  width: 2.5rem;
  margin-bottom: 10px;
}

.guia__img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
  transform: scale(1);
}

.guia__enlace:hover ~ .guia__ctn > .guia__imagen > .guia__img {
  transform: scale(1.1);
}

/* Texto */
.guia__texto {
  color: #1e1e1e;
  margin: 0;
  text-align: center;
  white-space: normal;
  font-size: 0.8rem;
  line-height: 1rem;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .guias {
    margin-bottom: 20px;
  }
  .guia {
    width: 20%;
    margin: 3px;
    margin-bottom: 20px;
  }
}
/* Tablet */
/* 
	CATÁLOGOS EXPOSICIONES
	--------
	Región:
	Template:
	Descripción:
	Última revisión: 3/03/2025
*/
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CATÁLOGO PÁGINA +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.catalogos > .view-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 4rem;
}

.catalogos__intro {
  font-size: 1.2rem;
  line-height: 1.8rem;
  padding-bottom: 3rem;
}

.catalogo {
  display: flex;
  gap: 2rem;
  background: white;
  padding: 30px;
  /*  box-shadow: 3px 3px 10px rgba(0, 0, 0, .2); */
  --shadow-soft: 0 10px 30px rgba(0,0,0,0.05);
  --shadow-hover: 0 15px 40px rgba(0,0,0,0.1);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: fadeIn 0.6s ease-out;
}
.catalogo:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}
.catalogo {
  /* Cartel */
}
.catalogo .catalogo__cartel {
  flex: 25%;
}
.catalogo .catalogo__cartel img {
  width: 100%;
}
.catalogo {
  /* textos */
}
.catalogo .catalogo__textos {
  flex: 75%;
  position: relative;
  margin-top: 1rem;
  padding-bottom: 3rem;
}
.catalogo .catalogo__textos .catalogo__titulo {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 700;
  color: var(--colorPri);
  margin: 0;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.17);
}
.catalogo .catalogo__textos .catalogo__ubica {
  font-size: 0.7rem;
  line-height: 1rem;
  font-weight: normal;
  color: #292727;
  background: #f5f5f5;
  border-left: 2px dotted #c3c3c3;
  padding: 10px 20px;
  margin: 20px 0;
}
.catalogo .catalogo__textos .catalogo__descripcion {
  padding: 0;
  margin: 0;
  border: 0;
  font-style: inherit !important;
  font-variant: inherit !important;
  font-stretch: inherit !important;
  font-family: FuenteRegular, Helvetica, Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
  text-align: left;
}
.catalogo .catalogo__textos .catalogo__enlace {
  font-size: 0.9rem;
  position: absolute;
  bottom: 0;
  right: 0;
  background: var(--colorPri);
  padding: 5px 25px;
  border-radius: 25px;
  color: white;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .catalogo {
    flex-direction: column;
  }
  .catalogo .catalogo__textos {
    margin-top: 0;
  }
}
/* Tablet */
/* 
	TALLER ONLINE
	--------
	Región:
	Template:
	Descripción:
	Última revisión: 3/03/2025
*/
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ CATÁLOGO PÁGINA +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.talleres-online > .view-content {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
  margin-bottom: 2rem;
}

.talleres-online__intro {
  font-size: 1.2rem;
  line-height: 1.8rem;
  padding-bottom: 3rem;
}

.taller-online {
  display: flex;
  gap: 2rem;
  background: white;
  padding: 30px;
  /*   box-shadow: 0px 0px 12px rgba(0, 0, 0, .12); */
  align-items: flex-start;
  --shadow-soft: 0 10px 30px rgba(0,0,0,0.05);
  --shadow-hover: 0 15px 40px rgba(0,0,0,0.1);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: fadeIn 0.6s ease-out;
}
.taller-online:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}
.taller-online .taller-online__caratula-detalles {
  /* Cartel */
}
.taller-online .taller-online__caratula-detalles .taller-online__caratula {
  flex: 0 0 30%;
  position: relative;
  /* border-radius: 20px; */
  aspect-ratio: 4/3;
  min-width: 250px;
  margin: 0;
  overflow: hidden;
}
.taller-online .taller-online__caratula-detalles .taller-online__caratula img:last-child {
  width: 30%;
  height: 30%;
  -webkit-transition: all 0.2sease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto auto;
  bottom: 0;
  opacity: 0;
}
.taller-online .taller-online__caratula-detalles .taller-online__caratula img:first-child {
  width: 100%;
  height: 100%;
  /* border-radius: 20px; */
  object-fit: cover;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.taller-online .taller-online__caratula-detalles .taller-online__caratula a:hover img:first-child {
  filter: grayscale(100%);
  opacity: 0.7;
  transition: all 0.5s ease-in-out;
}
.taller-online .taller-online__caratula-detalles .taller-online__caratula a:hover img:last-child {
  opacity: 1;
  transition: all 0.5s ease-in-out;
}
.taller-online .taller-online__caratula-detalles {
  /* Detalles */
}
.taller-online .taller-online__caratula-detalles .taller-online__detalles {
  font-size: 0.8rem;
  line-height: 1rem;
  font-weight: normal;
  color: slategrey;
  position: relative;
  margin-top: 10px;
}
.taller-online .taller-online__caratula-detalles .taller-online__detalles span {
  display: block;
}
.taller-online .taller-online__caratula-detalles .taller-online__detalles span strong {
  color: slategrey;
}
.taller-online .taller-online__caratula-detalles .taller-online__detalles .taller-online__tematica {
  padding: 5px 10px;
  width: fit-content;
  margin-top: 10px;
  position: absolute;
  top: -55px;
  right: 5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
  font-size: 10px;
  background: var(--us-rojo-oscuro);
  color: white;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  line-height: 1;
}
.taller-online {
  /* textos */
}
.taller-online .taller-online__textos {
  flex: 0 0 70%;
  position: relative;
}
.taller-online .taller-online__textos .taller-online__titulo {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 700;
  color: var(--colorPri);
  margin: 0;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.17);
  border-bottom: 1px dashed rgba(0, 0, 0, 0.2);
  margin-bottom: 1rem;
  padding-bottom: 13px;
}
.taller-online .taller-online__textos .taller-online__descripcion {
  /* padding: 20px 4rem 20px 0; */
  font-size: 1rem;
  line-height: 1.5rem;
  /* margin-bottom: 2rem; */
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .taller-online {
    flex-direction: column;
  }
  .taller-online .taller-online__caratula-detalles .taller-online__caratula {
    aspect-ratio: 16/9;
  }
}
/* Tablet */
.taller-buhaira-blog .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2.5rem;
  margin-bottom: 4rem;
}

/* Card Styles */
.taller-buhaira {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: flex;
  flex-direction: column;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.02);
  animation: fadeIn 0.6s ease-out;
}

.taller-buhaira:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}

.taller-buhaira__foto {
  height: auto;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
}

/* Imagen principal del tutorial */
.taller-buhaira__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}

.taller-buhaira:hover .taller-buhaira__foto img {
  transform: scale(1.05);
}

.taller-buhaira__info {
  padding: 1.5rem;
  flex-grow: 1;
  display: flex;
  gap: 10px;
  padding-bottom: 0;
}

.taller-buhaira__fecha {
  font-size: 0.7rem;
  color: #999;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 5px;
}

.taller-buhaira__curso,
.taller-buhaira__trimestre {
  font-size: 0.7rem;
  color: #999;
}

.taller-buhaira__texto {
  padding: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding-top: 0;
}

.taller-buhaira__titulo {
  /*  font-family: 'Playfair Display', serif; */
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
  line-height: 1.3;
  color: var(--text-main);
}

.taller-buhaira__titulo a {
  color: inherit;
  text-decoration: none;
}

.taller-buhaira__descripcion {
  font-size: 0.95rem;
  color: var(--text-light);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

.taller-buhaira__footer {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  /*  border-top: 1px solid #f0f0f0;
   padding-top: 1rem; */
}

/* --- ESTILOS DE BOTÓN PDF --- */
/* Soporte para el wrapper que Drupal pueda añadir o el link directo */
.taller-buhaira__enlace a {
  text-decoration: none;
  background-color: var(--us-rojo-oscuro);
  color: var(--white);
  width: 40px;
  height: 40px;
  border-radius: 25px;
  /* display: flex; */
  /* align-items: center; */
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 0.8rem;
  padding: 10px 20px;
}

/* Icono FontAwesome */
.taller-buhaira__enlace a::before {
  content: "\f781";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1rem;
  padding-right: 10px;
}

.taller-buhaira__enlace a:hover {
  background-color: rgb(184, 8, 8);
  /*    transform: rotate(90deg); */
}

/* Animación para el filtro */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* .hidden {
    display: none;
} */
/* Responsive */
@media (max-width: 768px) {
  /* h1 { font-size: 2.5rem; }
  .container { padding: 0 1.5rem 3rem; } */
}
/* @use "partials/nuestras-cifras";
@use "partials/conocenos"; */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   FOOTER (Logo US + Dirección + Mapa + Redes Sociales + Copyright)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.footer-area:nth-child(1) > .region-footer {
  display: flex;
  gap: 50px;
}

/* Logo US ----------------- */
.logo-footer {
  position: relative;
  /*  top: 25px; */
}

.logo-footer__enlace {
  margin-bottom: 20px;
}

/* .logo-footer__slogan-us{
	font-family: 'Merriweather', serif !important;
	font-size: 15.53px !important;
	padding: 0 0 0 97px;
	line-height: 20px;
	font-weight: normal;
	margin: 0;
	color: var(--colorFooter);
} */
/* Logo Bio */
.footer-direccion__logo {
  width: 150px;
  mix-blend-mode: unset;
  position: relative;
  bottom: -5px;
  left: -20px;
  opacity: 0.4;
}

.footer-direccion__logo-img {
  width: 100%;
}

/* Dirección --------------- */
.footer-direccion {
  display: flex;
  justify-content: flex-end;
  /* margin-bottom: 10px; */
  position: relative;
  /* bottom: -10px; */
}

.footer-direccion__ctn {
  display: flex;
  justify-content: flex-end;
  /* margin-bottom: 10px; */
  position: relative;
  bottom: -10px;
  flex-direction: column;
  color: var(--colorFooter);
}

.footer-direccion__ctn a {
  color: var(--colorFooter) !important;
  font-size: 14px;
}

.footer-direccion__ctn a:hover {
  color: var(--colorFooterResaltado) !important;
}

/* Nombre Facultad/Centro */
.footer-direccion__titulo {
  color: var(--colorFooter);
  font-size: 30px;
  line-height: 32px;
  /* font-weight: 800; */
  font-family: FuenteBold, Helvetica, Arial, sans-serif;
  text-shadow: 1px 1px 2px #666;
  margin: 0;
}

.footer-direccion__subtitulo {
  color: var(--colorFooter);
  font-size: 20px;
  line-height: 22px;
  margin: 0;
  font-family: FuenteBold, Helvetica, Arial, sans-serif;
  text-shadow: 1px 1px 2px #666;
  margin-bottom: 10px;
  opacity: 0.8;
}

/* .footer-direccion__titulo::after{
	content: "";
    display: block;
    max-width: 70%;
    height: 1.2px;
    background-color: var(--colorFooter);
    margin-top: 2px;
    opacity: .3;
} */
/* Email - Teléfono */
.footer-direccion__email::before {
  display: inline-block;
  content: "\f0e0";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

.footer-direccion__telefono {
  margin-left: 10px;
}

.footer-direccion__telefono::before {
  display: inline-block;
  content: "\f095";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

/* Mapa */
.mapa-footer {
  border: 2px dotted var(--colorFooter);
  display: flex;
  justify-content: center;
  /* filter: grayscale(80%) opacity(.7) brightness(.9); */
  opacity: 0.7;
  mix-blend-mode: luminosity;
}

/* Menú Footer -------------- */
.region-footer-third ul menu {
  display: flex;
  justify-content: space-evenly;
}

.region-footer-second ul.menu {
  /* padding-left:3rem; */
}

/* Redes Sociales ---------- */
.sociales {
  display: flex;
  justify-content: flex-end;
}

.sociales__titulo {
  font-family: FuenteRegular, Helvetica, Arial, sans-serif !important;
  color: var(--colorFooter);
  font-size: 16px;
  font-weight: 100;
  padding-right: 20px;
}

.sociales__ctn-enlaces {
  display: flex;
  align-items: center;
}

.sociales__enlace {
  font-size: 25px;
}

.sociales__icono {
  color: var(--colorFooter);
}

.sociales__enlace:hover .sociales__icono {
  color: white !important;
}

.sociales__enlace ~ a {
  padding-left: 30px;
}

/* Menú Pie de página */
.menu-pie {
  display: flex;
  gap: 10px;
  font-size: 0.7rem;
  flex-wrap: wrap;
  flex-direction: column;
  height: 9vw;
  line-height: 1.2rem;
  align-items: baseline;
  padding-left: 10rem;
}

.menu-pie a {
  color: var(--colorFooter) !important;
}

.menu-pie a:hover {
  color: var(--colorFooterResaltado) !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   FOOTER-BOTTOM (Avisos legales + Copyright)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.region-footer-bottom {
  display: flex;
  justify-content: space-between;
  border-top: 1px dotted var(--colorCopyright);
}

/* Legal + Copyright */
.legal,
.copyr {
  padding: 10px;
  line-height: 120%;
  color: var(--colorCopyright) !important;
  opacity: 0.8;
  font-size: 16px;
}

.legal {
  text-align: left;
}

.legal a {
  margin-right: 15px;
  white-space: nowrap;
  color: var(--colorCopyright) !important;
}

.legal a:hover {
  color: var(--colorCopyrightResaltado) !important;
}

.copyr {
  text-align: right;
}

.copyr a {
  color: var(--colorCopyright) !important;
}

.copyr a:hover {
  color: var(--colorCopyrightResaltado) !important;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .logo-footer {
    margin: 0 auto;
  }
  .logo-footer__slogan-us {
    /* padding: 0 100px !important; */
  }
  .logo-sic {
    margin: 0 20px 0 20px;
  }
  /* Dirección */
  .footer-direccion {
    text-align: left;
  }
  .footer-direccion {
    position: static;
    margin-bottom: 10px;
  }
  /* Logo Bio */
  .footer-direccion__logo {
    display: none;
  }
  .footer-direccion__ctn {
    text-align: center;
  }
  /* Plan Autoprotección */
  .plan-autoproteccion {
    position: static;
    margin-left: 0;
    margin-top: 15px;
    margin-bottom: 0;
  }
  #block-redes-sociales {
    display: block;
    padding-right: 0;
  }
  .sociales {
    justify-content: center;
  }
  .region-footer-bottom {
    flex-direction: column;
  }
  .legal,
  .copyr {
    text-align: center;
    padding: 8px 0;
  }
  .legal a {
    margin: 10px 10px;
  }
  .legal a:first-of-type,
  .legal a:last-of-type {
    margin: 10px 0;
  }
  .copyr {
    text-align: center;
  }
  .menu-pie {
    display: none;
  }
  /* Quitar margin inferior */
  .footer-area {
    margin-bottom: 0;
  }
  .footer-area:nth-child(1) > .region-footer {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   BOTÓN "VER MÁS" (Rojo/blanco)   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Común a todos los bloques: Su clase se define en las vistas: .boton_vermas rojo/blanco */
/* Muestra el botón */
.boton_vermas {
  border-radius: 35px;
  margin: 30px auto;
  margin-bottom: 50px;
  /* display: flex; */
  /* justify-content: center; */
  /* align-items: center; */
  padding: 30px 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent !important;
  border: 1px solid black;
  width: fit-content;
}

/* Color según sea rojo o blanco */
.boton_vermas.rojo {
  /* background-color: var(--us-rojo-oscuro);
  border: 1px solid var(--us-rojo-oscuro); */
}

.boton_vermas.blanco {
  /* background-color: rgba(220,0,106,.1);
  border: 1px solid var(--colorPri); */
}

/* Texto botón */
.boton_vermas a {
  font-size: 28px;
  line-height: 0;
  /* display: inherit; */
  display: block;
}

/* Color según tipo */
.boton_vermas.rojo a {
  color: white !important;
}

.boton_vermas.blanco a {
  color: black !important;
}

/* + */
.boton_vermas a span {
  font-size: 31px;
  color: white;
  /* position: relative; */
  /* top: 0; */
  /* left: 15px; */
  padding-left: 10px;
}

/* Color */
.boton_vermas.rojo a span {
  color: white;
}

.boton_vermas.blanco a span {
  color: black;
}

/* Hover sobre el botón */
.boton_vermas:hover {
  background-color: var(--colorSec) !important;
  border: 1px solid var(--colorSec);
  cursor: pointer;
}

.boton_vermas:hover a,
.boton_vermas:hover a span {
  text-decoration: none;
  color: white !important;
}

/* Deshabilita el <strong> que hay en botón FCT */
.view-noticias > strong {
  font-weight: 100;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .boton_vermas {
    padding: 12px 30px;
  }
  .boton_vermas a {
    font-size: 21px;
    line-height: 20px !important;
  }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
  .boton_vermas a {
    font-size: 24px;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ BOTÓN IR HACIA ARRIBA +
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#button-up {
  width: 60px;
  height: 60px;
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  border-radius: 50%;
  font-size: 25px;
  position: fixed;
  bottom: 50px;
  right: 50px;
  cursor: pointer;
  border: 2px solid white;
  transition: all 300ms ease;
  transform: scale(0);
  z-index: 9999;
  filter: invert(50%) sepia(7%) saturate(0%) hue-rotate(159deg) brightness(106%) contrast(108%);
}

#button-up:hover {
  /* transform: scale(1.4) !important;
  border-color: rgba(255,255,255,.04); */
  /* ANULADO, YA QUE EN MODO MÓVIL IMPEDÍA QUE SE CERRARA */
}

/* TO TOP. Flecha volver arriba ---------------------------------------------------- */
/* .to-top{
	background: rgba(69,0,46,.6);
	display:flex !important;
	justify-content: center;
	align-items:center;
	font-size:1.5rem;
	font-weight:100;
}
.to-top:hover{
	background: var(--color03);
	font-size:1.8rem;
} */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   COOKIES   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Título */
.eu-cookie-compliance-message h2 {
  /* font-size: 1.4rem;
     line-height: 1.3rem; */
  font-size: 18px;
  line-height: 20px;
}

/* Descripción */
.eu-cookie-compliance-category-description,
.eu-cookie-compliance-message p {
  /* font-size: 1rem;
     line-height: 1.2rem; */
  font-size: 16px;
  line-height: 18px;
  font-weight: normal;
  margin: 0 0 5px 0;
}

/* Título Categorías */
.eu-cookie-compliance-categories label {
  display: inline;
  /* font-size: 1.2rem;
  line-height: 1.1rem; */
  font-size: 16px;
  line-height: 18px;
  cursor: pointer;
}

/* Botones */
.eu-cookie-compliance-more-button {
  cursor: pointer;
  display: inline;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  text-decoration: underline;
  background: transparent;
  border-radius: 16px;
  color: white;
  font-size: 16px;
  line-height: 18px;
}

.disagree-button.eu-cookie-compliance-more-button,
.eu-cookie-compliance-agree-button,
.eu-cookie-compliance-default-button,
.eu-cookie-compliance-hide-button,
.eu-cookie-compliance-more-button-thank-you,
.eu-cookie-withdraw-button,
.eu-cookie-compliance-save-preferences-button {
  cursor: pointer;
  margin-right: 5px;
  margin-top: 1em;
  vertical-align: middle;
  overflow: visible;
  width: auto;
  -moz-box-shadow: inset 0 1px 0 0 #ffffff;
  -webkit-box-shadow: inset 0 1px 0 0 #ffffff;
  box-shadow: inset 0 1px 0 0 #ffffff;
  background: transparent;
  /* background-image: -moz-linear-gradient(top, #ededed 5%, #dfdfdf 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #ededed), color-stop(100%, #dfdfdf));
  background-image: -webkit-linear-gradient(top, #ededed 5%, #dfdfdf 100%);
  background-image: -o-linear-gradient(top, #ededed 5%, #dfdfdf 100%);
  background-image: -ms-linear-gradient(top, #ededed 5%, #dfdfdf 100%);
  background-image: linear-gradient(to bottom, #ededed 5%, #dfdfdf 100%); */
  -moz-border-radius: 25px;
  -webkit-border-radius: 25px;
  border-radius: 25px;
  border: 1px solid white;
  color: white;
  font-family: inherit;
  font-weight: normal;
  padding: 10px 25px;
  text-decoration: none;
  text-shadow: none;
  font-size: 16px;
  line-height: 18px;
}

.disagree-button.eu-cookie-compliance-more-button:hover,
.eu-cookie-compliance-agree-button:hover,
.eu-cookie-compliance-default-button:hover,
.eu-cookie-compliance-hide-button:hover,
.eu-cookie-compliance-more-button-thank-you:hover,
.eu-cookie-withdraw-button:hover,
.eu-cookie-compliance-save-preferences-button:hover {
  background: white;
  /* background-image: -moz-linear-gradient(top, #dfdfdf 5%, #ededed 100%);
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #dfdfdf), color-stop(100%, #ededed));
  background-image: -webkit-linear-gradient(top, #dfdfdf 5%, #ededed 100%);
  background-image: -o-linear-gradient(top, #dfdfdf 5%, #ededed 100%);
  background-image: -ms-linear-gradient(top, #dfdfdf 5%, #ededed 100%);
  background-image: linear-gradient(to bottom, #dfdfdf 5%, #ededed 100%); */
  color: var(--colorPri);
}

.eu-cookie-compliance-categories {
  clear: both;
  padding-top: 0;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  /* 	.eu-cookie-compliance-categories-buttons {
  		margin: 0 0 1em 0;
  		max-width: 100%;
  		float: left;
  		width: 100%;
  	} */
  .disagree-button.eu-cookie-compliance-more-button,
  .eu-cookie-compliance-agree-button,
  .eu-cookie-compliance-default-button,
  .eu-cookie-compliance-hide-button,
  .eu-cookie-compliance-more-button-thank-you,
  .eu-cookie-withdraw-button,
  .eu-cookie-compliance-save-preferences-button {
    width: 90vw;
    margin: 0 auto;
  }
  .eu-cookie-compliance-buttons.eu-cookie-compliance-has-categories {
    float: none;
  }
  .eu-cookie-compliance-message p {
    display: block;
  }
}
/* Tablet */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ MÓDULO A2A - COMPARTIR EN REDES SOCIALES +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.a2a_kit {
  line-height: 32px;
  display: flex;
  justify-content: flex-start;
}

.a2a_kit span {
  background: var(--colorPri) !important;
}

/* No sale en páginas PERFILES (Alumno, PAS, PDI)*/
.a2a_kit[data-a2a-title^=Perfil] {
  display: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ BREADCRUMB (MIGA DE PAN) +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.breadcrumb {
  font-size: 0.7rem;
  padding: 0;
  text-align: left;
  font-weight: 100;
}

/* Elementos de la lista */
.breadcrumb li {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

/* Elementos y separador */
.breadcrumb li,
.breadcrumb .breadcrumb-separator {
  /*  display: inline-block;
   overflow: hidden;
   vertical-align: top;
   line-height: 1.46; */
}

/* Separador */
.breadcrumb .breadcrumb-separator {
  /*  line-height: 1;
   font-size: 13px;
   padding-top: 2px;
   color: #1e1e1e;
   vertical-align: baseline; */
}

.breadcrumb li::before {
  /* content: " \BB "; */
  /* content: " / "; */
  content: "›";
  margin-left: 0.2rem;
}

/* Inicio */
.breadcrumb li:nth-child(1) .breadcrumb-separator {
  display: none;
}

.breadcrumb li:nth-child(1)::before {
  content: "";
}

.sr-only {
  position: inherit !important;
  width: inherit !important;
  height: inherit !important;
  padding: inherit !important;
  margin: inherit !important;
  overflow: inherit !important;
  clip: inherit !important;
  border: inherit !important;
}

.breadcrumb a {
  color: var(--color-texto) !important;
  text-decoration: none !important;
  font-weight: 100 !important;
}

.breadcrumb a:hover {
  color: black !important;
  /* text-decoration: underline !important; */
  /* text-underline-position: under;  */
}

/* @use "partials/localizacion"; */
/* =========================================
   VARIABLES Y COLORES POR GRUPO
   ========================================= */
:root {
  /* Variables Base Genéricas */
  --bg-card: #ffffff;
  --text-main: #2d3748;
  --text-muted: #718096;
  --border-light: #e2e8f0;
  --shadow-card: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Mapeo de Taxonomías a Colores 
   La clase se genera automáticamente en Twig con clean_class
*/
/* --- Configuración por defecto y Fallback --- */
/* Se aplica si no hay data-theme o si es "varios" */
.enlaces-grp,
.enlaces-grp[data-theme=varios] {
  --theme-color: #edf2f7; /* Default */
  --theme-dark: #4a5568;
}

/* --- Temas Específicos (Overrides) --- */
/* Grupo: Vocalías de Andalucia */
.enlaces-grp[data-theme=vocalías-de-andalucía] {
  --theme-color: #eef3f3; /* Pastel Melocotón */
  --theme-dark: #679781; /* Contraste */
}

/* Grupo: Agrupaciones del resto de España */
.enlaces-grp[data-theme=agrupaciones-del-resto-de-españa] {
  --theme-color: #f1e7e7; /* Pastel Rosado */
  --theme-dark: #a76969;
}

/* Grupo: Miembros de la ECWS */
.enlaces-grp[data-theme=miembros-de-la-ecws] {
  --theme-color: #f0f1fa; /* Pastel Naranja Suave */
  --theme-dark: #7e8dcb;
}

/* Grupo: Otras Agrupaciones Internacionales */
.enlaces-grp[data-theme=otras-agrupaciones-internacionales] {
  --theme-color: #f6f0e4; /* Pastel Verde Menta */
  --theme-dark: #e1b172;
}

/* Grupo: Museos de Acuarela */
.enlaces-grp[data-theme=museos-de-acuarela] {
  --theme-color: #f0f7fa; /* Pastel Gris Cálido */
  --theme-dark: #72c6c7;
}

/* Grupo: Acuarelistas Interesantes */
.enlaces-grp[data-theme=acuarelistas-interesantes] {
  --theme-color: #e0c3fc; /* Pastel Púrpura */
  --theme-dark: #6a4c93;
}

/* Grupo: Tutoriales interesantes */
.enlaces-grp[data-theme=tutoriales-interesantes] {
  --theme-color: #d8e2dc; /* Pastel Salvia */
  --theme-dark: #4a6fa5;
}

/* =========================================
   LAYOUT DE LA TARJETA (FILA)
   ========================================= */
.enlaces-grp {
  display: flex;
  flex-direction: column; /* Móvil primero */
  background-color: var(--bg-card);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  border: 1px solid var(--border-light);
  margin-bottom: 2rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media (min-width: 768px) {
  .enlaces-grp {
    flex-direction: row; /* Desktop: Fila horizontal */
  }
}
.enlaces-grp:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-hover);
}

/* --- Columna Izquierda: Imagen --- */
.enlaces-grp__img {
  position: relative;
  width: 100%;
  height: 200px; /* Altura fija en móvil */
  overflow: hidden;
  flex-shrink: 0;
  flex: none;
}

@media (min-width: 768px) {
  .enlaces-grp__img {
    /* width: 280px; */ /* Ancho fijo en desktop */
    height: auto; /* Altura automática (llena el contenedor) */
    flex: 20%;
  }
}
/* Reset y estilo para la imagen que viene de Drupal */
.enlaces-grp__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}

.enlaces-grp:hover > .enlaces-grp__img img {
  transform: scale(1.5);
}

/* Capa de color sobre la imagen */
.enlaces-grp__overlay {
  position: absolute;
  inset: 0;
  background-color: var(--theme-dark);
  opacity: 1;
  mix-blend-mode: color;
  z-index: 10;
  pointer-events: none;
}

/* --- Columna Derecha: Contenido --- */
.enlaces-grp__ctn {
  flex: 80%;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .enlaces-grp__ctn {
    padding: 2rem;
    padding-top: 1rem;
  }
}
/* Cabecera del Grupo */
.enlaces-grp__header {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--theme-color);
}

.enlaces-grp__title {
  font-size: 2rem !important;
  font-weight: 700;
  color: var(--theme-dark);
  margin: 0;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.17);
}

@media (min-width: 768px) {
  .enlaces-grp__title {
    font-size: 1.8rem;
  }
}
/* Lista de Enlaces (Grid) */
.enlaces-grp__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media (min-width: 640px) {
  .enlaces-grp__list {
    /* Grid responsivo: columnas automáticas mínimo 280px */
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}
/* Item de Enlace individual */
.enlaces-grp__item {
  list-style: none;
}

article ul.enlaces-grp__list > li::before {
  content: none;
}

.enlaces-grp__item a {
  display: flex;
  align-items: center;
  text-decoration: none !important;
  color: var(--text-main);
  padding: 0.5rem 1rem;
  background-color: var(--theme-color);
  /* border: 1px solid #f1f1f1; */
  border-radius: 8px;
  padding-right: 0.5rem;
  transition: all 0.2s ease;
}

.enlaces-grp__item a:hover {
  background-color: #ffffff;
  border: 1px solid var(--theme-dark);
  border-left: 4px solid var(--theme-dark);
  /* border-color: #ddd; */
  border-left-color: var(--theme-dark);
  transform: translateX(5px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

article.enlaces-grp a:hover {
  color: inherit !important;
}

/* Texto del enlace */
.enlaces-grp__descripcion {
  flex: 1;
  font-weight: 100 !important;
  font-size: 0.8rem !important;
  line-height: 1.2 !important;
  padding: 0;
}

/* Icono (Flecha) - Opcional, requiere FontAwesome o similar */
.enlaces-grp__flecha {
  margin-right: 10px;
  font-size: 0.8rem;
  color: var(--theme-dark);
  opacity: 0.7;
}

/* --- Badge de País --- */
.enlaces-grp__pais {
  display: inline-flex;
  align-items: center;
  font-size: 0.5rem !important;
  /* font-weight: 700; */
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0 8px;
  border-radius: 4px;
  margin-left: 10px;
  background-color: var(--theme-dark);
  /* border: 1px solid #e2e8f0; */
  color: white !important;
  /* box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); */
  white-space: nowrap;
  /* font-size: 0.8rem; */
  /*  background: #e3d9d9; */
  line-height: 1.2rem !important;
}

.enlaces-grp__pais i {
  display: none;
  margin-right: 4px;
  color: rgba(255, 255, 255, 0.2);
}

/* Esconde el titular de cada grupo */
.enlaces-acuarelas .agrupa__titulo {
  display: none;
}

/* Variables de color y tema */
:root {
  --bg-color: #fdfbf7; /* Blanco crema papel */
  --text-main: #4a4a4a;
  --text-light: #7a7a7a;
  --accent-pink: #f4c2c2;
  --accent-blue: #b4d8e7;
  --accent-green: #c1e1c1;
  --accent-lavender: #e6e6fa;
  --white: #ffffff;
  --shadow-soft: 0 10px 30px rgba(0,0,0,0.05);
  --shadow-hover: 0 15px 40px rgba(0,0,0,0.1);
}

/* * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Quicksand', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-main);
    background-image: radial-gradient(#e0e0e0 1px, transparent 1px);
    background-size: 30px 30px; 
} */
/* Header Styles */
/* header {
    text-align: center;
    padding: 4rem 1rem 2rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.8) 0%, rgba(253,251,247,0) 100%);
}

h1 {
    font-family: 'Playfair Display', serif;
    font-size: 3.5rem;
    color: var(--text-main);
    margin-bottom: 0.5rem;
    letter-spacing: -1px;
}

p.subtitle {
    font-size: 1.1rem;
    color: var(--text-light);
    max-width: 600px;
    margin: 0 auto 3rem;
} */
/* Filter Section */
/* .filter-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 3rem;
    padding: 0 1rem;
}

.filter-btn {
    background: var(--white);
    border: 2px solid transparent;
    padding: 0.8rem 1.5rem;
    border-radius: 50px;
    font-family: 'Quicksand', sans-serif;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    color: var(--text-light);
}

.filter-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
}

.filter-btn.active {
    background-color: var(--text-main);
    color: var(--white);
} */
/* Colores específicos para hover de filtros */
/* .filter-btn[data-filter="principiante"]:hover { border-color: var(--accent-blue); color: #5a7a8a; }
.filter-btn[data-filter="paisaje"]:hover { border-color: var(--accent-green); color: #5a8a6a; }
.filter-btn[data-filter="botanica"]:hover { border-color: var(--accent-pink); color: #8a5a6a; }
.filter-btn[data-filter="tecnica"]:hover { border-color: var(--accent-lavender); color: #6a5a8a; } */
/* Grid Layout */
/* .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem 5rem;
} */
.tutoriales .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 2.5rem;
  margin-bottom: 4rem;
}

/* Card Styles */
.tutorial {
  background: var(--white);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  display: flex;
  flex-direction: column;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.02);
  animation: fadeIn 0.6s ease-out;
}

.tutorial:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-hover);
}

.tutorial__foto {
  height: 220px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Imagen principal del tutorial */
.tutorial__foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}

.tutorial:hover .tutorial__foto img {
  transform: scale(1.05);
}

.tutorial__categoria {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 5px 10px;
  /* border-radius: 30px; */
  /* font-size: 0.6rem; */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 2;
  font-size: 10px;
  background: var(--us-rojo-oscuro);
  color: white;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  line-height: 1;
}

/* Colores de etiquetas por categoría */
.cat-principiante {
  color: #6ba4b8;
  border-bottom: 3px solid var(--accent-blue);
}

.cat-paisaje {
  color: #7ab886;
  border-bottom: 3px solid var(--accent-green);
}

.cat-botanica {
  color: #d68a9c;
  border-bottom: 3px solid var(--accent-pink);
}

.cat-tecnica {
  color: #8e8ad6;
  border-bottom: 3px solid var(--accent-lavender);
}

.tutorial__ctn {
  padding: 1.5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.tutorial__fecha {
  font-size: 0.7rem;
  color: #999;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 5px;
}

.tutorial__titulo {
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
  margin-bottom: 0.8rem;
  line-height: 1.3;
  color: var(--text-main);
}

.tutorial__titulo a {
  color: inherit;
  text-decoration: none;
}

.tutorial__descripcion {
  font-size: 0.95rem;
  color: var(--text-light);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

.tutorial__footer {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #f0f0f0;
  padding-top: 1rem;
}

.tutorial__autor {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* --- ESTILOS DE AUTOR --- */
.tutorial__autor-icono svg {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  /* border: 2px solid var(--white);
  box-shadow: 0 2px 5px rgba(0,0,0,0.1); */
  display: block;
  /*  background-color: #f0f0f0; */
  fill: #999;
  transform: scale(1.2);
  transform-origin: center;
}

.tutorial__autor-nombre {
  font-size: 0.85rem;
  font-weight: 600;
}

/* --- ESTILOS DE BOTÓN PDF --- */
/* Soporte para el wrapper que Drupal pueda añadir o el link directo */
.tutorial__pdf a {
  text-decoration: none;
  background-color: var(--text-main);
  color: var(--white);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  font-size: 0; /* Oculta el texto "PDF" o la URL */
}

/* Icono FontAwesome */
.tutorial__pdf a::before {
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1rem;
}

.tutorial__pdf a:hover {
  background-color: rgb(184, 8, 8);
  /*    transform: rotate(90deg); */
}

/* Animación para el filtro */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* .hidden {
    display: none;
} */
/* Responsive */
@media (max-width: 768px) {
  /* h1 { font-size: 2.5rem; }
  .container { padding: 0 1.5rem 3rem; } */
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ FORMULARIOS +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* --- Contenedor Principal del Formulario --- */
.contact-message-form {
  /* max-width: 600px; */
  margin: 2rem auto; /* Centrado horizontal */
  padding: 2.5rem;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05); /* Sombra elegante */
  font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #333;
  /* --- Estilos Generales de los Items --- */
}
.contact-message-form .form-item {
  margin-bottom: 1.5rem; /* Espacio entre campos */
  position: relative;
}
.contact-message-form {
  /* --- Etiquetas (Labels) --- */
}
.contact-message-form .form-item label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #2c3e50;
  font-size: 0.95rem;
}
.contact-message-form {
  /* Indicador de campo obligatorio (asterisco rojo) */
}
.contact-message-form .form-required::after {
  content: "*";
  color: #e74c3c;
  margin-left: 0.25em;
}
.contact-message-form {
  /* --- Inputs y Textareas --- */
  /* Drupal usa .form-text para inputs y .form-textarea para áreas de texto */
}
.contact-message-form .form-text,
.contact-message-form .form-textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid #dfe6e9;
  border-radius: 6px;
  background-color: #f9f9f9;
  font-size: 1rem;
  transition: all 0.3s ease;
  box-sizing: border-box; /* Asegura que el padding no rompa el ancho */
}
.contact-message-form {
  /* Efecto al hacer clic en el campo (Focus) */
}
.contact-message-form .form-text:focus,
.contact-message-form .form-textarea:focus {
  background-color: #fff;
  border-color: #3498db; /* Color azul al escribir */
  outline: none;
  box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.2);
}
.contact-message-form {
  /* --- Campo especial: Email del usuario (Solo lectura) --- */
  /* El div #edit-mail no es un input, es texto plano en tu HTML */
}
.contact-message-form #edit-mail {
  background-color: #eef2f7;
  border-left: 4px solid #3498db;
  padding: 1rem;
  border-radius: 4px;
  width: 100%;
}
.contact-message-form #edit-mail label {
  color: #7f8c8d;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.25rem;
}
.contact-message-form {
  /* --- Checkbox (Enviarme una copia) --- */
  /* Alineamos el checkbox con su etiqueta usando Flexbox */
}
.contact-message-form .form-item-copy {
  display: flex;
  align-items: center;
  margin-top: 1rem;
}
.contact-message-form .form-item-copy input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin-right: 10px;
  cursor: pointer;
  accent-color: #3498db; /* Color moderno para checkboxes */
}
.contact-message-form .form-item-copy label {
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
}
.contact-message-form {
  /* --- Botón de Enviar --- */
}
.contact-message-form .form-actions {
  margin-top: 2rem;
  text-align: right; /* Botón a la derecha */
}
.contact-message-form .button--primary {
  background-color: #3498db;
  color: white;
  padding: 0.8rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  border: none;
  border-radius: 30px; /* Botón redondeado */
  cursor: pointer;
  transition: transform 0.2s, background-color 0.2s, box-shadow 0.2s;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.contact-message-form .button--primary:hover {
  background-color: #2980b9;
  transform: translateY(-2px); /* Pequeña elevación */
  box-shadow: 0 5px 15px rgba(52, 152, 219, 0.4);
}
.contact-message-form .button--primary:active {
  transform: translateY(0);
}

/* --- Ajuste Mobile --- */
@media (max-width: 480px) {
  .contact-message-form {
    padding: 1.5rem;
    margin: 1rem;
  }
  .form-actions {
    text-align: center; /* Botón centrado en móvil */
  }
  .button--primary {
    width: 100%; /* Botón ancho completo en móvil */
  }
}
/* --- TRUCO PARA CAMBIAR TEXTO DE INGLÉS A ESPAÑOL CON CSS --- */
/* 1. Seleccionamos las etiquetas específicas por su atributo 'for' */
label[for=edit-subject-0-value],
label[for=edit-message-0-value] {
  font-size: 0 !important; /* Ocultamos el texto original (Subject/Message) */
  display: block; /* Aseguramos que mantenga su bloque */
}

/* 2. Insertamos "Asunto" antes de la etiqueta original */
label[for=edit-subject-0-value]::before {
  content: "Asunto"; /* Tu texto nuevo */
  font-size: 0.95rem; /* Restauramos el tamaño de letra visible */
  font-weight: 600; /* Mantenemos la negrita */
  color: #2c3e50; /* Mismo color que definimos antes */
  visibility: visible;
}

/* 3. Insertamos "Mensaje" antes de la etiqueta original */
label[for=edit-message-0-value]::before {
  content: "Mensaje";
  font-size: 0.95rem;
  font-weight: 600;
  color: #2c3e50;
  visibility: visible;
}

/* 4. IMPORTANTE: Restaurar el asterisco (*) de obligatorio */
/* Como pusimos font-size: 0 en el padre, el asterisco desapareció. Lo traemos de vuelta. */
label[for=edit-subject-0-value]::after,
label[for=edit-message-0-value]::after {
  font-size: 0.95rem !important; /* Tamaño visible */
  margin-left: 0.25em; /* Separación */
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   LIGHTBOX INTERACTIVO (ZOOM + PANNING + TOUCH)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.fotoLightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* VALORES CRÍTICOS FIJOS PARA ASEGURAR VISUALIZACIÓN */
  background: rgba(0, 0, 0, 0.95); /* Fondo negro casi opaco */
  z-index: 2147483647; /* Máximo valor posible en CSS */
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  /* Asegurar que los eventos del ratón funcionen */
  pointer-events: auto;
}

.fotoLightbox.active {
  opacity: 1;
  visibility: visible;
}

/* Contenedor central para el Zoom */
.fotoLightbox__contenedor-img {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.fotoLightbox__img {
  max-width: 90%;
  max-height: 85vh;
  object-fit: contain;
  transform-origin: center center;
  /* Transición suave por defecto */
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  user-select: none;
  -webkit-user-drag: none;
  cursor: zoom-in;
}

/* Estado Zoom Activado */
.fotoLightbox__contenedor-img.is-zoomed .fotoLightbox__img {
  cursor: grab;
  max-width: none;
  max-height: none;
}

.fotoLightbox__contenedor-img.is-zoomed .fotoLightbox__img:active {
  cursor: grabbing;
}

/* Botones Interfaz */
.fotoLightbox__btn {
  position: absolute;
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border: none;
  font-size: 2rem;
  padding: 0;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  transition: background 0.3s, transform 0.2s;
  z-index: 10001;
  backdrop-filter: blur(5px);
}

.fotoLightbox__btn:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.1);
}

.fotoLightbox__cerrar {
  top: 20px;
  right: 20px;
  font-size: 1.5rem;
  width: 50px;
  height: 50px;
}

.fotoLightbox__flechaAnt {
  left: 30px;
}

.fotoLightbox__flechaSig {
  right: 30px;
}

/* Ocultar flechas durante el zoom para no molestar */
.fotoLightbox__contenedor-img.is-zoomed ~ .fotoLightbox__flechaAnt,
.fotoLightbox__contenedor-img.is-zoomed ~ .fotoLightbox__flechaSig {
  opacity: 0;
  pointer-events: none;
}

/* Descripción / Caption inferior */
.fotoLightbox__info {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  text-align: center;
  pointer-events: none;
  z-index: 10002;
}

.fotoLightbox__descripcion {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 10px 20px;
  border-radius: 20px;
  display: inline-block;
  backdrop-filter: blur(4px);
  font-size: 1rem;
}

.fotoLightbox__contenedor-img.is-zoomed ~ .fotoLightbox__info {
  opacity: 0;
}

/* MODO MÓVIL / TABLET */
@media (max-width: 767px) {
  /* Ajustes botones Lightbox Móvil */
  .fotoLightbox__btn {
    width: 45px;
    height: 45px;
    font-size: 1.2rem;
  }
  .fotoLightbox__flechaAnt {
    left: 10px;
  }
  .fotoLightbox__flechaSig {
    right: 10px;
  }
  .fotoLightbox__descripcion {
    font-size: 0.9rem;
    width: 90%;
  }
}
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+   SOCIOS   +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.socio__nombre {
  font-size: 1.4rem;
  line-height: 1.7rem;
  color: var(--colorTer);
}

.socio__info {
  background: white;
  padding: 2rem 3rem;
}

.socio__contacto {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
  font-size: 0.8rem;
  line-height: 1rem;
  margin-top: 20px;
}

.socio__telefono::before,
.socio__email::before,
.socio__facebook::before,
.socio__web::before,
.socio__instagram::before {
  display: inline-block;
  content: "";
  font-family: Fontawesome;
  margin: 0 5px 0 0;
}

/* Email */
.socio__email::before {
  content: "\f0e0";
}

.socio__email[href$="mailto:"]::before {
  display: none;
}

.socio__email[href$="mailto:"] {
  display: none;
}

.socio__email:not([href$="mailto:"]) {
  margin-right: 10px;
}

/* Teléfono */
.socio__telefono::before {
  content: "\f095";
}

.socio__telefono[href$="tel:"]::before {
  display: none;
}

.socio__telefono[href$="tel:"] {
  display: none;
}

.socio__telefono:not([href$="tel:"]) {
  margin-right: 10px;
}

/* Web */
.socio__web::before {
  content: "\f0ac";
}

.socio__web[href=""]::before {
  display: none;
}

.socio__web[href=""] {
  display: none;
}

.socio__web:not([href=""]) {
  margin-right: 10px;
}

/* Facebook */
.socio__facebook::before {
  content: "\f09a";
}

.socio__facebook[href=""]::before {
  display: none;
}

.socio__facebook[href=""] {
  display: none;
}

.socio__facebook:not([href=""]) {
  margin-right: 10px;
}

/* Instagram */
.socio__instagram::before {
  content: "\f16d";
}

.socio__instagram[href=""]::before {
  display: none;
}

.socio__instagram[href=""] {
  display: none;
}

.socio__instagram:not([href=""]) {
  margin-right: 10px;
}

/*   MODO MÓVIL / TABLET   --------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* Móvil */
@media (max-width: 767px) {
  .socio__info {
    padding: 1rem 2rem;
  }
}
/* Tablet */

/*# sourceMappingURL=estilo_ms.css.map */
