@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");
/*
Variables de:
  - colores
  - anchos de contenedores
  - ptos. ruptura
*/
/* Fuentes Comunes */
:root {
  --vtm-padding-containers:20px;
  --vtm-ancho-max-containers: 1200px;
  --vtm-ancho-max-containers-estrechos: 1080px;
  --wp--style--global--content-size: calc(var(--vtm-ancho-max-containers) + var(--vtm-padding-containers) * 2 ) !important;
  --color-brand-primary-blue: #004976;
  --color-brand-primary-blue-1: #E6EEF4;
  --color-brand-primary-blue-2: #B3D1E3;
  --color-brand-primary-blue-3: #80B4D2;
  --color-brand-primary-blue-4: #4D97C1;
  --color-brand-primary-blue-5: #267AB0;
  --color-brand-primary-blue-6: #004976;
  --color-brand-primary-blue-7: #003D62;
  --color-brand-primary-blue-8: #00314E;
  --color-brand-primary-blue-9: #00253A;
  --color-brand-primary-blue-10: #001926;
  --color-brand-primary-red: #C10016;
  --color-brand-primary-red-1: #FCE8EB;
  --color-brand-primary-red-2: #F7BDC6;
  --color-brand-primary-red-3: #F192A1;
  --color-brand-primary-red-4: #EB677C;
  --color-brand-primary-red-5: #E53C57 ;
  --color-brand-primary-red-6: #C10016;
  --color-brand-primary-red-7: #A10013;
  --color-brand-primary-red-8: #810010;
  --color-brand-primary-red-9: #61000C;
  --color-brand-primary-red-10: #410008;
  --color-grayscale-black-solid: #3C3C3B;
  --color-grayscale-black-50: #F7F7F7;
  --color-grayscale-black-100: #E3E3E3;
  --color-grayscale-black-200: #C8C8C8;
  --color-grayscale-black-300: #A4A4A4;
  --color-grayscale-black-400: #818181;
  --color-grayscale-black-500: #666666;
  --color-grayscale-black-600: #515151;
  --color-grayscale-black-700: #434343;
  --color-grayscale-black-800: #383838;
  --color-grayscale-black-900: #3C3C3B;
  --color-grayscale-white-solid: #ffffff;
  --color-grayscale-white-50: #ffffff;
  --color-grayscale-white-100: #FEFEFE;
  --color-grayscale-white-200: #FCFCFC;
  --color-grayscale-white-300: #FAFAFA;
  --color-grayscale-white-400: #F7F7F7;
  --color-grayscale-white-500: #F5F5F5;
  --color-grayscale-white-600: #EEEEEE;
  --color-grayscale-white-700: #E0E0E0;
  --color-grayscale-white-800: #BDBDBD;
  --color-grayscale-white-900: #9E9E9E;
  --color-state-stroke-error: #D12D00;
  --color-state-fill-error: #FFF7F5;
  --color-state-stroke-success: #00713D;
  --color-state-fill-success: #E2F4E8;
  --color-state-stroke-info: #1F4ECF;
  --color-state-fill-info: #E3EFFD;
  --color-state-stroke-warning: #E34B04;
  --color-state-fill-warning: #FBF3E2;
  --font-normal: "Nunito Sans";
  --font-header: "Nunito Sans";
  --font-h1-size: 60px;
  --font-h2-size: 54px;
  --font-h3-size: 40px;
  --font-h4-size: 30px;
  --font-p1-size: 26px;
  --font-p2-size: 20px;
  --font-p3-size: 18px;
  --font-p4-size: 16px;
  --font-s1-size: 14px;
  --font-button-p4-size: 16px;
  --font-button-s1-size: 14px;
  --font-action-link-p4-size: 16px;
  --font-action-link-s1-size: 14px
  // Shadows
  --shadow-xs: 0px 1px 2px 0px #0000000D;
  --shadow-sm: 0px 2px 4px 0px #0000000F;
  --shadow-md: 0px 4px 8px 0px #00000014;
  --shadow-lg: 0px 8px 16px 0px #0000001A;
  --shadow-xl: 0px 16px 32px 0px #0000001F;
  --shadow-soft: 0px 10px 30px -5px #00000014;
  --shadow-floating: 0px 20px 40px -10px #0000001F;
}

/* Las media queries no aceptan variables css, por lo que las ponemos aquí */
/* CSS Reset */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  overflow-x: hidden;
}

img,
picture,
video,
canvas,
svg {
  display: flex;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

a {
  text-decoration-skip-ink: auto;
  color: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body main, body footer {
  color: var(--color-grayscale-black-solid);
  font-family: var(--font-normal);
  font-size: var(--font-p4-size);
  font-weight: 400;
  line-height: 1.4;
}
body main, body footer {
  font-family: var(--font-normal);
}
body main,
body main p,
body main li, body footer,
body footer p,
body footer li {
  font-family: var(--font-normal);
}
body main h1, body main h3, body main h4, body main h5, body footer h1, body footer h3, body footer h4, body footer h5 {
  font-family: var(--font-headers);
}

body #page-container, body #page-container p, body #page-container li {
  font-family: var(---font-normal);
  font-size: var(--font-p4-size);
}

body #page-container h1, body #page-container h2, body #page-container h3, body #page-container h4, body #page-container h5, body #page-container h6 {
  font-family: var(--font-header);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body .archive-main-wrapper {
  min-height: 100vh;
}

/* Muy importante. El mapeada de tamaños debe de ir de mayor ancho de pantalla a menor obligatioramente!!!
  ejemplo: $font-sizes: ( 1024px: 19px, 640px : 17px, 480px : 16px );*/
/*
 1. buttones sin icono mixins
*/
/*
 1. links sin icono mixins
*/
.notification.notification--outline {
  background-color: #fff;
}

.breadcrumbs,
.breadcrumbs a {
  font-family: var(--font-normal);
  font-size: var(--font-s1-size);
  font-weight: 400;
  line-height: 1;
  color: var(--color-grayscale-black-solid);
}
.breadcrumbs a {
  color: var(--color-brand-primary-blue-6) !important;
  text-decoration: underline;
}
.breadcrumbs .separador {
  width: 16px;
  display: inline-flex;
  text-align: center;
  justify-content: center;
}
.breadcrumbs br {
  display: none !important;
}

.button-primary-l {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-primary-l:hover {
  background-color: var(--color-brand-primary-blue-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-4);
  outline: 1px solid var(--color-brand-primary-blue-4);
  cursor: pointer;
}
.button-primary-l:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-primary-l:disabled, .button-primary-l.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-primary-l.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-primary-l:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
  outline: 2px solid var(--color-brand-primary-blue-6) !important;
  outline-offset: 0px !important;
}

.button-primary-m {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-primary-m:hover {
  background-color: var(--color-brand-primary-blue-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-4);
  outline: 1px solid var(--color-brand-primary-blue-4);
  cursor: pointer;
}
.button-primary-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-primary-m:disabled, .button-primary-m.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-primary-m.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-primary-m:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
  outline: 2px solid var(--color-brand-primary-blue-6) !important;
  outline-offset: 0px !important;
}
.button-primary-m {
  padding: 12px 32px !important;
}

.button-primary-s {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-primary-s:hover {
  background-color: var(--color-brand-primary-blue-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-4);
  outline: 1px solid var(--color-brand-primary-blue-4);
  cursor: pointer;
}
.button-primary-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-primary-s:disabled, .button-primary-s.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-primary-s.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-primary-s:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
  outline: 2px solid var(--color-brand-primary-blue-6) !important;
  outline-offset: 0px !important;
}
.button-primary-s {
  padding: 8px 32px !important;
  font-size: var(--font-s1-size) !important;
}

.button-secondary-l {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-5);
  border: 1px solid var(--color-brand-primary-blue-5);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-secondary-l:hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-5);
  border: 1px solid var(--color-brand-primary-blue-5);
  outline: 1px solid var(--color-brand-primary-blue-5);
  cursor: pointer;
}
.button-secondary-l:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-secondary-l:disabled, .button-secondary-l.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
}
.button-secondary-l.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
  pointer-events: none;
}
.button-secondary-l:active {
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  outline: 2px solid var(--color-grayscale-white-solid) !important;
  outline-offset: 0px !important;
}
.button-secondary-l {
  border-width: 1px !important;
}
.button-secondary-l:hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}

.button-secondary-m {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-5);
  border: 1px solid var(--color-brand-primary-blue-5);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-secondary-m:hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-5);
  border: 1px solid var(--color-brand-primary-blue-5);
  outline: 1px solid var(--color-brand-primary-blue-5);
  cursor: pointer;
}
.button-secondary-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-secondary-m:disabled, .button-secondary-m.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
}
.button-secondary-m.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
  pointer-events: none;
}
.button-secondary-m:active {
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  outline: 2px solid var(--color-grayscale-white-solid) !important;
  outline-offset: 0px !important;
}
.button-secondary-m {
  border-width: 1px !important;
}
.button-secondary-m:hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}
.button-secondary-m {
  padding: 12px 32px !important;
}

.button-secondary-s {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-5);
  border: 1px solid var(--color-brand-primary-blue-5);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-secondary-s:hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-5);
  border: 1px solid var(--color-brand-primary-blue-5);
  outline: 1px solid var(--color-brand-primary-blue-5);
  cursor: pointer;
}
.button-secondary-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-secondary-s:disabled, .button-secondary-s.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
}
.button-secondary-s.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
  pointer-events: none;
}
.button-secondary-s:active {
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  outline: 2px solid var(--color-grayscale-white-solid) !important;
  outline-offset: 0px !important;
}
.button-secondary-s {
  border-width: 1px !important;
}
.button-secondary-s:hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}
.button-secondary-s {
  padding: 8px 32px !important;
  font-size: var(--font-s1-size) !important;
}

.button-terciary-l {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-red-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-terciary-l:hover {
  background-color: var(--color-brand-primary-red-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-4);
  outline: 1px solid var(--color-brand-primary-red-4);
  cursor: pointer;
}
.button-terciary-l:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-terciary-l:disabled, .button-terciary-l.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
}
.button-terciary-l.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
  pointer-events: none;
}
.button-terciary-l:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-red-6);
  border: 1px solid var(--color-brand-primary-red-6);
  outline: 2px solid var(--color-brand-primary-red-6) !important;
  outline-offset: 0px !important;
}

.button-terciary-m {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-red-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-terciary-m:hover {
  background-color: var(--color-brand-primary-red-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-4);
  outline: 1px solid var(--color-brand-primary-red-4);
  cursor: pointer;
}
.button-terciary-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-terciary-m:disabled, .button-terciary-m.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
}
.button-terciary-m.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
  pointer-events: none;
}
.button-terciary-m:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-red-6);
  border: 1px solid var(--color-brand-primary-red-6);
  outline: 2px solid var(--color-brand-primary-red-6) !important;
  outline-offset: 0px !important;
}
.button-terciary-m {
  padding: 12px 32px !important;
}

.button-terciary-s {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-red-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-terciary-s:hover {
  background-color: var(--color-brand-primary-red-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-4);
  outline: 1px solid var(--color-brand-primary-red-4);
  cursor: pointer;
}
.button-terciary-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-terciary-s:disabled, .button-terciary-s.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
}
.button-terciary-s.disabled {
  background-color: var(---color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-800);
  pointer-events: none;
}
.button-terciary-s:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-red-6);
  border: 1px solid var(--color-brand-primary-red-6);
  outline: 2px solid var(--color-brand-primary-red-6) !important;
  outline-offset: 0px !important;
}
.button-terciary-s {
  padding: 8px 32px !important;
  font-size: var(--font-s1-size) !important;
}

.button-ghost-l {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-ghost-l:hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 1px solid var(--color-grayscale-black-solid);
  cursor: pointer;
}
.button-ghost-l:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-ghost-l:disabled, .button-ghost-l.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-ghost-l.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-ghost-l:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 2px solid var(--color-grayscale-black-solid) !important;
  outline-offset: 0px !important;
}
.button-ghost-l {
  border-width: 1px !important;
}
.button-ghost-l:hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}

.button-ghost-m {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-ghost-m:hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 1px solid var(--color-grayscale-black-solid);
  cursor: pointer;
}
.button-ghost-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-ghost-m:disabled, .button-ghost-m.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-ghost-m.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-ghost-m:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 2px solid var(--color-grayscale-black-solid) !important;
  outline-offset: 0px !important;
}
.button-ghost-m {
  border-width: 1px !important;
}
.button-ghost-m:hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}
.button-ghost-m {
  padding: 12px 32px !important;
}

.button-ghost-s {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-ghost-s:hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 1px solid var(--color-grayscale-black-solid);
  cursor: pointer;
}
.button-ghost-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-ghost-s:disabled, .button-ghost-s.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-ghost-s.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-ghost-s:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 2px solid var(--color-grayscale-black-solid) !important;
  outline-offset: 0px !important;
}
.button-ghost-s {
  border-width: 1px !important;
}
.button-ghost-s:hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}
.button-ghost-s {
  padding: 8px 32px !important;
  font-size: var(--font-s1-size) !important;
}

.button-primary-m__wrapper a {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.button-primary-m__wrapper a:hover {
  background-color: var(--color-brand-primary-blue-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-4);
  outline: 1px solid var(--color-brand-primary-blue-4);
  cursor: pointer;
}
.button-primary-m__wrapper a:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.button-primary-m__wrapper a:disabled, .button-primary-m__wrapper a.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.button-primary-m__wrapper a.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.button-primary-m__wrapper a:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
  outline: 2px solid var(--color-brand-primary-blue-6) !important;
  outline-offset: 0px !important;
}
.button-primary-m__wrapper a {
  padding: 12px 32px !important;
}

.link-primary-default-m {
  font-size: var(--font-p4-size);
  color: var(--color-brand-primary-blue-5) !important;
  font-weight: 400 !important;
  text-decoration: underline;
}
.link-primary-default-m:hover {
  color: var(--color-brand-primary-blue-4) !important;
  cursor: pointer;
}
.link-primary-default-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
  border-radius: 8px;
}
.link-primary-default-m:active {
  color: var(--color-brand-primary-blue-7) !important;
  text-shadow: 0px 0px 1px var(--color-brand-primary-blue-7) !important;
  box-shadow: none !important;
}
.link-primary-default-m.disabled {
  color: var(--color-grayscale-white-800) !important;
}

.link-primary-default-s {
  font-size: var(--font-p4-size);
  color: var(--color-brand-primary-blue-5) !important;
  font-weight: 400 !important;
  text-decoration: underline;
}
.link-primary-default-s:hover {
  color: var(--color-brand-primary-blue-4) !important;
  cursor: pointer;
}
.link-primary-default-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
  border-radius: 8px;
}
.link-primary-default-s:active {
  color: var(--color-brand-primary-blue-7) !important;
  text-shadow: 0px 0px 1px var(--color-brand-primary-blue-7) !important;
  box-shadow: none !important;
}
.link-primary-default-s.disabled {
  color: var(--color-grayscale-white-800) !important;
}
.link-primary-default-s {
  font-size: var(--font-s1-size);
}

.link-secondary-default-m {
  font-size: var(--font-p4-size);
  color: var(--color-brand-primary-red-5) !important;
  font-weight: 400 !important;
  text-decoration: underline;
}
.link-secondary-default-m:hover {
  color: var(--color-brand-primary-red-4) !important;
  cursor: pointer;
}
.link-secondary-default-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
  border-radius: 8px;
}
.link-secondary-default-m:active {
  color: var(--color-brand-primary-red-8) !important;
  text-shadow: 0px 0px 1px var(--color-brand-primary-red-8) !important;
  box-shadow: none !important;
}
.link-secondary-default-m.disabled {
  color: var(--color-grayscale-white-800) !important;
}

.link-secondary-default-s {
  font-size: var(--font-p4-size);
  color: var(--color-brand-primary-red-5) !important;
  font-weight: 400 !important;
  text-decoration: underline;
}
.link-secondary-default-s:hover {
  color: var(--color-brand-primary-red-4) !important;
  cursor: pointer;
}
.link-secondary-default-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
  border-radius: 8px;
}
.link-secondary-default-s:active {
  color: var(--color-brand-primary-red-8) !important;
  text-shadow: 0px 0px 1px var(--color-brand-primary-red-8) !important;
  box-shadow: none !important;
}
.link-secondary-default-s.disabled {
  color: var(--color-grayscale-white-800) !important;
}
.link-secondary-default-s {
  font-size: var(--font-s1-size);
}

.link-negative-default-m {
  font-size: var(--font-p4-size);
  color: var(--color-grayscale-black-700) !important;
  font-weight: 400 !important;
  text-decoration: underline;
}
.link-negative-default-m:hover {
  color: var(--color-grayscale-black-solid) !important;
  cursor: pointer;
}
.link-negative-default-m:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
  border-radius: 8px;
}
.link-negative-default-m:active {
  color: var(--color-grayscale-black-solid) !important;
  text-shadow: 0px 0px 1px var(--color-grayscale-black-solid) !important;
  box-shadow: none !important;
}
.link-negative-default-m.disabled {
  color: var(--color-grayscale-white-800) !important;
}

.link-negative-default-s {
  font-size: var(--font-p4-size);
  color: var(--color-grayscale-black-700) !important;
  font-weight: 400 !important;
  text-decoration: underline;
}
.link-negative-default-s:hover {
  color: var(--color-grayscale-black-solid) !important;
  cursor: pointer;
}
.link-negative-default-s:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
  border-radius: 8px;
}
.link-negative-default-s:active {
  color: var(--color-grayscale-black-solid) !important;
  text-shadow: 0px 0px 1px var(--color-grayscale-black-solid) !important;
  box-shadow: none !important;
}
.link-negative-default-s.disabled {
  color: var(--color-grayscale-white-800) !important;
}
.link-negative-default-s {
  font-size: var(--font-s1-size);
}

input {
  font-size: var(--font-p4-size);
  font-family: var(--font-normal);
  line-height: 1;
  padding: 15px 12px;
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 8px;
  display: inline-block;
  position: relative;
}
input:read-only {
  background-color: var(--color-grayscale-white-700);
  border: 1px solid var(--color-grayscale-black-500);
  outline: 1px solid var(--color-grayscale-black-500);
  outline-offset: 0px;
}
input.error {
  color: var(--color-grayscale-black-solid);
  font-weight: 700;
  background-color: var(--color-state-fill-error);
  border-color: var(--color-state-stroke-error);
  outline: 1px solid var(--color-state-stroke-error);
  outline-offset: 0px;
}
input.success {
  color: var(--color-grayscale-black-solid);
  font-weight: 700;
  background-color: var(--color-state-fill-success);
  border-color: var(--color-state-stroke-success);
  outline: 1px solid var(--color-state-stroke-success);
  outline-offset: 0px;
}
input:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
input:disabled {
  position: relative;
  color: var(--color-grayscale-white-800) !important;
  border-color: var(--color-grayscale-white-800) !important;
  background-color: var(--color-grayscale-white-solid) !important;
}
input:placeholder {
  color: var(--color-grayscale-black-500);
}

.tag {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 4px;
  display: inline-block;
}

.tag.tag--informative {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-info);
  border: 1px solid var(--color-state-stroke-info);
  border-radius: 4px;
  display: inline-block;
}

.tag.tag--error {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-error);
  border: 1px solid var(--color-state-stroke-error);
  border-radius: 4px;
  display: inline-block;
}

.tag.tag--warning {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-warning);
  border: 1px solid var(--color-state-stroke-error);
  border-radius: 4px;
  display: inline-block;
}

.tag.tag--success {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-success);
  border: 1px solid var(--color-state-stroke-success);
  border-radius: 4px;
  display: inline-block;
}

.tag.tag--neutral {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-300);
  border: 1px solid var(--color-grayscale-black-solid);
  border-radius: 4px;
  display: inline-block;
}

.tag.tag--solid {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-white-solid);
  background-color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  border-radius: 4px;
  display: inline-block;
  font-weight: 700;
}

.tag.tag--brand {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  padding: 7px 16px 5px 16px;
  color: var(--color-grayscale-white-solid);
  background-color: var(--color-brand-primary-red-6);
  border: 1px solid var(--color-brand-primary-red-6);
  border-radius: 4px;
  display: inline-block;
  font-weight: 700;
}

.chip {
  font-size: var(--font-s1-size);
  font-family: var(--font-normal);
  font-weight: 400;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-300);
  border: 0.5px solid var(--color-grayscale-black-solid);
  border-radius: 4px;
  display: inline-flex;
  align-items: start;
  gap: 8px;
  padding: 14px 12px 10px 12px;
  line-height: 16px;
  cursor: pointer;
}
.chip i {
  font-size: 16px;
}
.chip button {
  cursor: pointer;
  padding: 0px !important;
  border: none !important;
  background-color: transparent !important;
  color: var(--color-grayscale-black-solid);
}
.chip .chip__text {
  padding-right: 4px;
}
.chip:hover {
  border: 1px solid var(--color-grayscale-black-solid);
}
.chip.selected {
  background-color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
}
.chip.selected, .chip.selected button, .chip.selected i {
  color: var(--color-grayscale-white-solid);
}
.chip.disabled, .chip.disabled button, .chip.disabled i {
  color: var(--color-grayscale-white-800);
}
.chip.disabled {
  border-color: var(--color-grayscale-white-800);
  background-color: var(--color-grayscale-white-solid);
}
.chip:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}

.notification {
  display: grid;
  grid-template-columns: 20px auto 20px;
  align-items: start;
  align-content: start;
  column-gap: 10px;
  row-gap: 8px;
  max-width: 500px;
  border: 1px solid black;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-success);
  border-color: var(--color-state-stroke-success);
  padding: 12px 12px 14px 12px;
  border-radius: 12px;
}
.notification .notification__icon, .notification .notification__icon:before {
  color: var(--color-state-stroke-success);
}
.notification .notification__icon {
  font-size: 20px;
}
.notification .notification__title {
  padding-top: 2px;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
}
.notification .notification__content {
  grid-column: 2;
  grid-row: 2;
}
.notification .notification__content, .notification .notification__content p {
  font-size: var(--font-button-p4-size);
  font-weight: 400;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.notification .notification__icon-close {
  grid-column: 3;
  grid-row: 1;
}

.notification.notification--success {
  display: grid;
  grid-template-columns: 20px auto 20px;
  align-items: start;
  align-content: start;
  column-gap: 10px;
  row-gap: 8px;
  max-width: 500px;
  border: 1px solid black;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-success);
  border-color: var(--color-state-stroke-success);
  padding: 12px 12px 14px 12px;
  border-radius: 12px;
}
.notification.notification--success .notification__icon, .notification.notification--success .notification__icon:before {
  color: var(--color-state-stroke-success);
}
.notification.notification--success .notification__icon {
  font-size: 20px;
}
.notification.notification--success .notification__title {
  padding-top: 2px;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
}
.notification.notification--success .notification__content {
  grid-column: 2;
  grid-row: 2;
}
.notification.notification--success .notification__content, .notification.notification--success .notification__content p {
  font-size: var(--font-button-p4-size);
  font-weight: 400;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.notification.notification--success .notification__icon-close {
  grid-column: 3;
  grid-row: 1;
}

.notification.notification--error {
  display: grid;
  grid-template-columns: 20px auto 20px;
  align-items: start;
  align-content: start;
  column-gap: 10px;
  row-gap: 8px;
  max-width: 500px;
  border: 1px solid black;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-error);
  border-color: var(--color-state-stroke-error);
  padding: 12px 12px 14px 12px;
  border-radius: 12px;
}
.notification.notification--error .notification__icon, .notification.notification--error .notification__icon:before {
  color: var(--color-state-stroke-error);
}
.notification.notification--error .notification__icon {
  font-size: 20px;
}
.notification.notification--error .notification__title {
  padding-top: 2px;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
}
.notification.notification--error .notification__content {
  grid-column: 2;
  grid-row: 2;
}
.notification.notification--error .notification__content, .notification.notification--error .notification__content p {
  font-size: var(--font-button-p4-size);
  font-weight: 400;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.notification.notification--error .notification__icon-close {
  grid-column: 3;
  grid-row: 1;
}

.notification.notification--info {
  display: grid;
  grid-template-columns: 20px auto 20px;
  align-items: start;
  align-content: start;
  column-gap: 10px;
  row-gap: 8px;
  max-width: 500px;
  border: 1px solid black;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-info);
  border-color: var(--color-state-stroke-info);
  padding: 12px 12px 14px 12px;
  border-radius: 12px;
}
.notification.notification--info .notification__icon, .notification.notification--info .notification__icon:before {
  color: var(--color-state-stroke-info);
}
.notification.notification--info .notification__icon {
  font-size: 20px;
}
.notification.notification--info .notification__title {
  padding-top: 2px;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
}
.notification.notification--info .notification__content {
  grid-column: 2;
  grid-row: 2;
}
.notification.notification--info .notification__content, .notification.notification--info .notification__content p {
  font-size: var(--font-button-p4-size);
  font-weight: 400;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.notification.notification--info .notification__icon-close {
  grid-column: 3;
  grid-row: 1;
}

.notification.notification--warning {
  display: grid;
  grid-template-columns: 20px auto 20px;
  align-items: start;
  align-content: start;
  column-gap: 10px;
  row-gap: 8px;
  max-width: 500px;
  border: 1px solid black;
  color: var(--color-grayscale-black-solid);
  background-color: var(--color-state-fill-warning);
  border-color: var(--color-state-stroke-warning);
  padding: 12px 12px 14px 12px;
  border-radius: 12px;
}
.notification.notification--warning .notification__icon, .notification.notification--warning .notification__icon:before {
  color: var(--color-state-stroke-warning);
}
.notification.notification--warning .notification__icon {
  font-size: 20px;
}
.notification.notification--warning .notification__title {
  padding-top: 2px;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
}
.notification.notification--warning .notification__content {
  grid-column: 2;
  grid-row: 2;
}
.notification.notification--warning .notification__content, .notification.notification--warning .notification__content p {
  font-size: var(--font-button-p4-size);
  font-weight: 400;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.notification.notification--warning .notification__icon-close {
  grid-column: 3;
  grid-row: 1;
}

.notification.notification--outline {
  background-color: #fff;
}

/* Boton cerrar.
 * - El mixin `_07.m_notificactions.scss` se encarga de posicionarlo
 *   en el grid (col 3, row 1). Aqui reseteamos los estilos <button>
 *   por defecto y le damos feedback hover/focus/active accesible.
 * - Sin !important: el bloque del mixin tiene mayor specificity, pero
 *   no toca estas propiedades visuales.
 */
.notification__icon-close {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 1;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.notification__icon-close > i,
.notification__icon-close > .icon {
  font-size: inherit;
  line-height: 1;
  pointer-events: none;
}
.notification__icon-close:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
.notification__icon-close:focus {
  outline: none;
}
.notification__icon-close:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 1px;
  background-color: rgba(0, 0, 0, 0.04);
}
.notification__icon-close:active {
  background-color: rgba(0, 0, 0, 0.15);
}

/* Cuando una notificacion se cierra, el JS pone aria-hidden=true
 * y hace slideUp. Mantenemos esta clase por si quieres anadir
 * un slideOut mas elaborado via CSS. */
.notification[aria-hidden=true] {
  cursor: default;
}

.swiper-mobile-desktop-grid-3-items.swiper .swiper-wrapper {
  align-items: stretch;
  padding-bottom: 50px;
}
.swiper-mobile-desktop-grid-3-items.swiper .swiper-wrapper .swiper-slide {
  height: auto;
  display: flex;
}
.swiper-mobile-desktop-grid-3-items.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-brand-primary-blue-6);
  background-color: var(--color-grayscale-white-solid);
  width: 16px;
  height: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.swiper-mobile-desktop-grid-3-items.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: var(--color-brand-primary-blue-6);
  aspect-ratio: initial !important;
  border-radius: 100vmax;
}
.swiper-mobile-desktop-grid-3-items.swiper .swiper-pagination .swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.swiper-mobile-desktop-grid-3-items.swiper .swiper-pagination .swiper-pagination-bullet.disabled,
.swiper-mobile-desktop-grid-3-items.swiper .swiper-pagination .swiper-pagination-bullet-disabled {
  border: 1px solid var(--color-grayscale-white-700);
}
@media (min-width: 1024px) {
  .swiper-mobile-desktop-grid-3-items.swiper .swiper-wrapper {
    padding-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    transform: none !important;
    gap: 20px;
  }
  .swiper-mobile-desktop-grid-3-items.swiper .swiper-wrapper .shortcode-prueba-slider .swiper-slide {
    width: auto !important;
    height: auto;
  }
  .swiper-mobile-desktop-grid-3-items.swiper .swiper-pagination {
    display: none;
  }
}

.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-wrapper {
  align-items: stretch;
  padding-bottom: 50px;
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-wrapper .swiper-slide {
  height: auto;
  display: flex;
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-brand-primary-blue-6);
  background-color: var(--color-grayscale-white-solid);
  width: 16px;
  height: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: var(--color-brand-primary-blue-6);
  aspect-ratio: initial !important;
  border-radius: 100vmax;
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.disabled,
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet-disabled {
  border: 1px solid var(--color-grayscale-white-700);
}
@media (min-width: 1024px) {
  .swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-wrapper {
    padding-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    transform: none !important;
    gap: 20px;
  }
  .swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-wrapper .shortcode-prueba-slider .swiper-slide {
    width: auto !important;
    height: auto;
  }
  .swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination {
    display: none;
  }
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
}
.swiper-mobile-desktop-grid-3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-brand-primary-red-6);
}

.swiper-mobile-desktop-grid-4-items.swiper .swiper-wrapper {
  align-items: stretch;
  padding-bottom: 50px;
}
.swiper-mobile-desktop-grid-4-items.swiper .swiper-wrapper .swiper-slide {
  height: auto;
  display: flex;
}
.swiper-mobile-desktop-grid-4-items.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-brand-primary-blue-6);
  background-color: var(--color-grayscale-white-solid);
  width: 16px;
  height: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.swiper-mobile-desktop-grid-4-items.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: var(--color-brand-primary-blue-6);
  aspect-ratio: initial !important;
  border-radius: 100vmax;
}
.swiper-mobile-desktop-grid-4-items.swiper .swiper-pagination .swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.swiper-mobile-desktop-grid-4-items.swiper .swiper-pagination .swiper-pagination-bullet.disabled,
.swiper-mobile-desktop-grid-4-items.swiper .swiper-pagination .swiper-pagination-bullet-disabled {
  border: 1px solid var(--color-grayscale-white-700);
}
@media (min-width: 1200px) {
  .swiper-mobile-desktop-grid-4-items.swiper .swiper-wrapper {
    padding-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    transform: none !important;
    gap: 20px;
  }
  .swiper-mobile-desktop-grid-4-items.swiper .swiper-wrapper .shortcode-prueba-slider .swiper-slide {
    width: auto !important;
    height: auto;
  }
  .swiper-mobile-desktop-grid-4-items.swiper .swiper-pagination {
    display: none;
  }
}

.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-wrapper {
  align-items: stretch;
  padding-bottom: 50px;
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-wrapper .swiper-slide {
  height: auto;
  display: flex;
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-brand-primary-blue-6);
  background-color: var(--color-grayscale-white-solid);
  width: 16px;
  height: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: var(--color-brand-primary-blue-6);
  aspect-ratio: initial !important;
  border-radius: 100vmax;
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.disabled,
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet-disabled {
  border: 1px solid var(--color-grayscale-white-700);
}
@media (min-width: 1200px) {
  .swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-wrapper {
    padding-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    transform: none !important;
    gap: 20px;
  }
  .swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-wrapper .shortcode-prueba-slider .swiper-slide {
    width: auto !important;
    height: auto;
  }
  .swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination {
    display: none;
  }
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
}
.swiper-mobile-desktop-grid-4-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-brand-primary-red-6);
}

.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-wrapper {
  align-items: stretch;
  padding-bottom: 50px;
}
.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-wrapper .swiper-slide {
  height: auto;
  display: flex;
}
.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-brand-primary-blue-6);
  background-color: var(--color-grayscale-white-solid);
  width: 16px;
  height: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: var(--color-brand-primary-blue-6);
  aspect-ratio: initial !important;
  border-radius: 100vmax;
}
.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-pagination .swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-pagination .swiper-pagination-bullet.disabled,
.swiper-mobile-desktop-grid-1x3-items.swiper .swiper-pagination .swiper-pagination-bullet-disabled {
  border: 1px solid var(--color-grayscale-white-700);
}
@media (min-width: 1024px) {
  .swiper-mobile-desktop-grid-1x3-items.swiper .swiper-wrapper {
    padding-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    transform: none !important;
    gap: 20px;
  }
  .swiper-mobile-desktop-grid-1x3-items.swiper .swiper-wrapper .shortcode-prueba-slider .swiper-slide {
    width: auto !important;
    height: auto;
  }
  .swiper-mobile-desktop-grid-1x3-items.swiper .swiper-pagination {
    display: none;
  }
}

.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-wrapper {
  align-items: stretch;
  padding-bottom: 50px;
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-wrapper .swiper-slide {
  height: auto;
  display: flex;
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-brand-primary-blue-6);
  background-color: var(--color-grayscale-white-solid);
  width: 16px;
  height: 16px;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 48px;
  background-color: var(--color-brand-primary-blue-6);
  aspect-ratio: initial !important;
  border-radius: 100vmax;
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.disabled,
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet-disabled {
  border: 1px solid var(--color-grayscale-white-700);
}
@media (min-width: 1024px) {
  .swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-wrapper {
    padding-bottom: 0px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    transform: none !important;
    gap: 20px;
  }
  .swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-wrapper .shortcode-prueba-slider .swiper-slide {
    width: auto !important;
    height: auto;
  }
  .swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination {
    display: none;
  }
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet {
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
}
.swiper-mobile-desktop-grid-1x3-items--rojo.swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--color-brand-primary-red-6);
}

.paginacion {
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 40px;
  border-top: 1px solid var(--color-grayscale-white-800);
}
.paginacion:not(:has(*)) {
  display: none;
}
.paginacion .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 29px;
  min-width: 29px;
  border-radius: 4px;
  background: var(--color-grayscale-white-solid);
  font-size: var(--font-s1-size);
  font-weight: 700 !important;
  color: var(--color-grayscale-black-solid);
  text-decoration: none !important;
  border: 1px solid var(--color-grayscale-white-solid);
}
.paginacion a.page-numbers:hover {
  border: 1px solid var(--color-brand-primary-blue-6);
}
.paginacion a.page-numbers:focus {
  outline: 2px solid var(--color-state-stroke-info);
  border: 1px solid var(--color-grayscale-white-solid);
}
.paginacion .current {
  background: var(--color-brand-primary-red-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-red-6);
}
.paginacion a.prev,
.paginacion a.next {
  font-size: 24px;
  font-weight: 400 !important;
}

calendar-range::part(heading) {
  font-size: var(--font-p1-size) !important;
  color: var(--color-grayscale-black-solid);
  font-weight: 400;
  text-transform: capitalize;
}
calendar-range::part(button) {
  margin: 4px;
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
calendar-range::part(button):hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 1px solid var(--color-grayscale-black-solid);
  cursor: pointer;
}
calendar-range::part(button):focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
calendar-range::part(button):disabled, calendar-range::part(button).disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
calendar-range::part(button).disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
calendar-range::part(button):active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 2px solid var(--color-grayscale-black-solid) !important;
  outline-offset: 0px !important;
}
calendar-range::part(button) {
  border-width: 1px !important;
}
calendar-range::part(button):hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}
calendar-range::part(button) {
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  padding: 2px 0px 0px 0px;
  display: flex;
  align: center;
  justify-content: center;
}
calendar-range calendar-month::part(heading) {
  font-size: var(--font-p1-size) !important;
  color: var(--color-grayscale-black-solid);
  font-weight: 400;
  text-transform: capitalize;
}
calendar-range calendar-month::part(day) {
  font-size: var(--font-s1-size);
  color: var(--color-grayscale-black-solid);
  font: var(--font-normal);
  border: 1px solid var(--color-grayscale-black-400) !important;
  border-radius: 4px;
  margin: 2px;
}
calendar-range calendar-month::part(th) {
  position: relative;
  border: none !important;
}
calendar-range calendar-month::part(th):before, calendar-range calendar-month::part(th):after {
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0px;
  left: 2px;
  content: "";
  width: calc(100% - 4px);
  height: calc(100% - 2px);
  background: var(--color-grayscale-black-500);
  position: absolute;
  border-radius: 4px;
}
calendar-range calendar-month::part(th):after {
  content: "M";
  color: #fff;
}
calendar-range calendar-month::part(th day-0):after {
  content: "D";
}
calendar-range calendar-month::part(th day-1):after {
  content: "L";
}
calendar-range calendar-month::part(th day-2):after {
  content: "M";
}
calendar-range calendar-month::part(th day-3):after {
  content: "X";
}
calendar-range calendar-month::part(th day-4):after {
  content: "J";
}
calendar-range calendar-month::part(th day-5):after {
  content: "V";
}
calendar-range calendar-month::part(th day-6):after {
  content: "S";
}
calendar-range calendar-month {
  --color-accent: var(--color-brand-primary-blue-1);
}

calendar-date::part(heading) {
  font-size: var(--font-p1-size) !important;
  color: var(--color-grayscale-black-solid);
  font-weight: 400;
  text-transform: capitalize;
}
calendar-date::part(button) {
  margin: 4px;
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-white-solid);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
calendar-date::part(button):hover {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 1px solid var(--color-grayscale-black-solid);
  cursor: pointer;
}
calendar-date::part(button):focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
calendar-date::part(button):disabled, calendar-date::part(button).disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
calendar-date::part(button).disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
calendar-date::part(button):active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-grayscale-black-solid);
  border: 1px solid var(--color-grayscale-black-solid);
  outline: 2px solid var(--color-grayscale-black-solid) !important;
  outline-offset: 0px !important;
}
calendar-date::part(button) {
  border-width: 1px !important;
}
calendar-date::part(button):hover {
  outline: 1px solid var(--color-brand-primary-blue-5);
}
calendar-date::part(button) {
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  padding: 2px 0px 0px 0px;
  display: flex;
  align: center;
  justify-content: center;
}
calendar-date calendar-month::part(heading) {
  font-size: var(--font-p1-size) !important;
  color: var(--color-grayscale-black-solid);
  font-weight: 400;
  text-transform: capitalize;
}
calendar-date calendar-month::part(day) {
  font-size: var(--font-s1-size);
  color: var(--color-grayscale-black-solid);
  font: var(--font-normal);
  border: 1px solid var(--color-grayscale-black-400) !important;
  border-radius: 4px;
  margin: 2px;
}
calendar-date calendar-month::part(th) {
  position: relative;
  border: none !important;
}
calendar-date calendar-month::part(th):before, calendar-date calendar-month::part(th):after {
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0px;
  left: 2px;
  content: "";
  width: calc(100% - 4px);
  height: calc(100% - 2px);
  background: var(--color-grayscale-black-500);
  position: absolute;
  border-radius: 4px;
}
calendar-date calendar-month::part(th):after {
  content: "M";
  color: #fff;
}
calendar-date calendar-month::part(th day-0):after {
  content: "D";
}
calendar-date calendar-month::part(th day-1):after {
  content: "L";
}
calendar-date calendar-month::part(th day-2):after {
  content: "M";
}
calendar-date calendar-month::part(th day-3):after {
  content: "X";
}
calendar-date calendar-month::part(th day-4):after {
  content: "J";
}
calendar-date calendar-month::part(th day-5):after {
  content: "V";
}
calendar-date calendar-month::part(th day-6):after {
  content: "S";
}
calendar-date calendar-month {
  --color-accent: var(--color-brand-primary-blue-1);
}

calendar-date.no-anyo::part(container) {
  position: relative;
  width: 100%;
}
calendar-date.no-anyo::part(header) {
  position: absolute;
  width: 100%;
}
calendar-date.no-anyo span[slot=previous],
calendar-date.no-anyo span[slot=next] {
  z-index: 999;
}
calendar-date.no-anyo calendar-month::part(heading) {
  font-size: var(--font-p1-size) !important;
  transform: translateY(3px);
}
calendar-date.no-anyo calendar-month::part(table) {
  margin-top: 20px;
}
calendar-date.no-anyo calendar-month::part(button) {
  pointer-events: none;
}
calendar-date.no-anyo calendar-month::part(today) {
  background-color: var(--color-brand-primary-blue-1) !important;
  color: var(--color-grayscale-black-solid) !important;
}
calendar-date.no-anyo calendar-month::part(has-events) {
  pointer-events: auto;
  background-color: var(--color-brand-primary-blue-5) !important;
  color: var(--color-grayscale-white-solid) !important;
}
calendar-date.no-anyo calendar-month::part(has-events):hover {
  color: var(--color-grayscale-white-solid) !important;
  outline: 2px solid var(--color-state-stroke-info) !important;
}

/* Secciones con fondo imagen */
.vtm-seccion-fondo-atomos-izqda,
.vtm-seccion-fondo-atomos-derecha,
.vtm-seccion-fondo-atomos-izqda--bottom,
.vtm-seccion-fondo-atomos-derecha--bottom {
  position: relative;
}
.vtm-seccion-fondo-atomos-izqda:before,
.vtm-seccion-fondo-atomos-derecha:before,
.vtm-seccion-fondo-atomos-izqda--bottom:before,
.vtm-seccion-fondo-atomos-derecha--bottom:before {
  position: absolute !important;
  overflow: hidden !important;
  margin-top: 0px;
  margin-bottom: 0px;
  content: "";
  top: 0px;
  height: 100%;
  width: 35vw;
  min-width: 200px;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.15;
  z-index: -1;
  /* Fade in/out en parte superior e inferior para evitar corte visual */
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 82%, transparent 100%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.vtm-seccion-fondo-atomos-izqda {
  margin-bottom: 0px !important;
}
.vtm-seccion-fondo-atomos-izqda:before {
  margin-left: calc(50% - 50dvw) !important;
  background-image: url("../../img/background-atomos-grande-izqda.png");
  left: 0px;
  top: -150px;
  height: 150%;
  background-position: right top;
}

.vtm-seccion-fondo-atomos-derecha {
  margin-top: 0px !important;
  padding-top: 80px !important;
}
.vtm-seccion-fondo-atomos-derecha:before {
  margin-right: calc(50% - 50dvw) !important;
  background-image: url("../../img/background-atomos-grande-derecha.png");
  right: 0px;
  height: 175%;
  background-position: left top;
}

/* Variantes --bottom: mismas imágenes pero ancladas desde la parte inferior */
.vtm-seccion-fondo-atomos-izqda--bottom {
  margin-top: 0px !important;
  padding-top: 80px !important;
}
.vtm-seccion-fondo-atomos-izqda--bottom:before {
  margin-left: calc(50% - 50dvw) !important;
  background-image: url("../../img/background-atomos-grande-izqda.png");
  left: 0px;
  top: auto;
  bottom: -150px;
  height: 150%;
  background-position: right bottom;
}

.vtm-seccion-fondo-atomos-derecha--bottom {
  margin-bottom: 0px !important;
}
.vtm-seccion-fondo-atomos-derecha--bottom:before {
  margin-right: calc(50% - 50dvw) !important;
  background-image: url("../../img/background-atomos-grande-derecha.png");
  right: 0px;
  top: auto;
  bottom: 0px;
  height: 175%;
  background-position: left bottom;
}

.filtro-generico-term {
  position: relative;
}
.filtro-generico-term fieldset {
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: none !important;
}
.filtro-generico-term fieldset > button {
  min-width: 175px;
  width: 100%;
  padding: 12px 6px 10px 8px;
  background: transparent;
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 8px;
}
.filtro-generico-term fieldset > button:focus {
  border-radius: 8px;
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.filtro-generico-term fieldset div[role=listbox] {
  padding: 0px 12px 0px 18px;
}
.filtro-generico-term,
.filtro-generico-term fieldset {
  max-width: 180px !important;
  width: 180px;
}
.filtro-generico-term[data-filtro-slug=patologias], .filtro-generico-term[data-filtro-slug=patologias] fieldset {
  max-width: 250px !important;
  width: 250px;
}
.filtro-generico-term .filtro-generico-term__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-generico-term .filtro-generico-term__placeholder .texto {
  width: calc(100% - 20px);
  text-align: left;
}
.filtro-generico-term .filtro-generico-term__placeholder .icono {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-generico-term .filtro-generico-term__valores {
  max-height: 0px;
  overflow: hidden;
  background-color: #fff;
  padding: 0 12px 0 18px;
}
.filtro-generico-term.filtro-desplegado fieldset > button {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 0px solid var(--color-grayscale-black-500) !important;
}
.filtro-generico-term.filtro-desplegado button:focus {
  outline: 0px !important;
}
.filtro-generico-term.filtro-desplegado button:focus .icono {
  outline: 2px solid var(--color-state-stroke-info) !important;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__placeholder .icono {
  transform: rotate(180deg);
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores {
  padding-top: 10px;
  padding-bottom: 18px;
  max-height: 10000px;
  position: absolute;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom: 1px solid var(--color-grayscale-black-500) !important;
  border-left: 1px solid var(--color-grayscale-black-500) !important;
  border-right: 1px solid var(--color-grayscale-black-500) !important;
  z-index: 9;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor {
  display: flex;
  gap: 4px;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor input[type=checkbox] {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  appearance: none !important;
  -webkit-appearance: none;
  opacity: 0;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor input[type=checkbox]:read-only {
  outline: none;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor label {
  position: relative;
  padding-left: 28px;
  padding-top: 4px;
  padding-bottom: 4px;
  min-height: 24px;
  cursor: pointer;
  display: inline-block;
  line-height: 1.5;
  user-select: none;
  overflow-wrap: anywhere;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor label::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 7px;
  width: 5px;
  height: 9px;
  border: solid var(--color-state-stroke-success);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 0.2s ease-in-out;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor input[type=checkbox]:checked + label::before {
  background-color: var(--color-grayscale-white-solid);
  border-color: var(--color-grayscale-black-solid);
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor input[type=checkbox]:checked + label::after {
  transform: rotate(45deg) scale(1);
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor input[type=checkbox]:focus-visible + label::before {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 1px;
}
.filtro-generico-term.filtro-desplegado .filtro-generico-term__valores .filtro-generico-term__valor--child {
  padding-left: 10px;
}

.filtro-date-range-picker {
  position: relative;
}
.filtro-date-range-picker fieldset {
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: none !important;
}
.filtro-date-range-picker fieldset > button {
  min-width: 175px;
  width: 100%;
  padding: 12px 6px 10px 8px;
  background: transparent;
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 8px;
}
.filtro-date-range-picker fieldset > button:focus {
  border-radius: 8px;
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.filtro-date-range-picker fieldset div[role=listbox] {
  padding: 0px 12px 0px 18px;
}
.filtro-date-range-picker {
  position: relative;
}
.filtro-date-range-picker, .filtro-date-range-picker fieldset {
  max-width: 175px !important;
  width: 175px;
}
.filtro-date-range-picker .filtro-date-range-picker__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 175px !important;
  width: 175px;
}
.filtro-date-range-picker .filtro-date-range-picker__placeholder .texto {
  width: calc(100% - 20px);
  text-align: left;
}
.filtro-date-range-picker .filtro-date-range-picker__placeholder .icono {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-date-range-picker .filtro-date-range-picker-values {
  width: 0px;
  max-height: 0px;
  overflow: hidden;
}
.filtro-date-range-picker.filtro-desplegado button:focus {
  outline: 0px !important;
}
.filtro-date-range-picker.filtro-desplegado button:focus .icono {
  outline: 2px solid var(--color-state-stroke-info) !important;
}
.filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker__placeholder .icono {
  transform: rotate(180deg);
}
.filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker-values {
  padding-top: 10px;
  padding-bottom: 18px;
  max-height: 10000px;
  display: grid;
  position: absolute;
  top: 60px;
  z-index: 1000;
  background: white;
  width: 600px;
  justify-content: center;
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 8px;
}
.filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker-values calendar-range::part(months) {
  display: flex;
  flex-direction: row;
  /* Align side by side */
  gap: 24px;
  /* Adds a nice gap between the two months */
  flex-wrap: wrap;
  /* Responsive! Stacks vertically automatically on mobile screens */
  justify-content: center;
}
.filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker-values {
  /* Optional: Make sure each month stays uniform */
}
.filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker-values calendar-month {
  flex: 1;
  min-width: 250px;
  /* Prevents them from squishing too small */
  max-width: 320px;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  justify-content: center;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner {
  display: flex;
  gap: 10px;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn:hover {
  background-color: var(--color-brand-primary-blue-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-4);
  outline: 1px solid var(--color-brand-primary-blue-4);
  cursor: pointer;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn:disabled, .filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
  outline: 2px solid var(--color-brand-primary-blue-6) !important;
  outline-offset: 0px !important;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #clear-btn {
  padding: 8px 32px !important;
  font-size: var(--font-s1-size) !important;
  margin-inline: auto;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn {
  display: inline-block;
  clear: both;
  font-size: var(--font-button-p4-size);
  font-weight: 700;
  background-color: var(--color-brand-primary-blue-6);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-6);
  border-radius: 100vmax;
  padding: 16px 32px;
  margin-bottom: 10px;
  text-decoration: none !important;
  line-height: 1;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn:hover {
  background-color: var(--color-brand-primary-blue-4);
  color: var(--color-grayscale-white-solid);
  border: 1px solid var(--color-brand-primary-blue-4);
  outline: 1px solid var(--color-brand-primary-blue-4);
  cursor: pointer;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn:focus {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn:disabled, .filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn.disabled {
  background-color: var(--color-grayscale-white-700);
  color: var(--color-grayscale-white-800);
  border: 1px solid var(--color-grayscale-white-700);
  pointer-events: none;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn:active {
  background-color: var(--color-grayscale-white-solid);
  color: var(--color-brand-primary-blue-6);
  border: 1px solid var(--color-brand-primary-blue-6);
  outline: 2px solid var(--color-brand-primary-blue-6) !important;
  outline-offset: 0px !important;
}
.filtro-date-range-picker.filtro-desplegado .botones-extra .botones-extra-inner #aplicar-btn {
  padding: 8px 32px !important;
  font-size: var(--font-s1-size) !important;
  margin-inline: auto;
}
@media (max-width: 980px) {
  .filtro-date-range-picker .filtro-date-range-picker-values {
    left: -200px;
    display: flex;
    flex-direction: column;
    max-width: min(100vw - 56px, 500px);
  }
}

.filtro-ordenar-por {
  position: relative;
}
.filtro-ordenar-por fieldset {
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: none !important;
}
.filtro-ordenar-por fieldset > button {
  min-width: 175px;
  width: 100%;
  padding: 12px 6px 10px 8px;
  background: transparent;
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 8px;
}
.filtro-ordenar-por fieldset > button:focus {
  border-radius: 8px;
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.filtro-ordenar-por fieldset div[role=listbox] {
  padding: 0px 12px 0px 18px;
}
.filtro-ordenar-por, .filtro-ordenar-por fieldset {
  max-width: 175px !important;
  width: 175px;
}
.filtro-ordenar-por .filtro-ordenar-por__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-ordenar-por .filtro-ordenar-por__placeholder .texto {
  width: calc(100% - 20px);
  text-align: left;
}
.filtro-ordenar-por .filtro-ordenar-por__placeholder .icono {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-ordenar-por .filtro-ordenar-por__valores {
  max-height: 0px;
  overflow: hidden;
  background-color: #fff;
}
.filtro-ordenar-por.filtro-desplegado fieldset > button {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 0px solid var(--color-grayscale-black-500) !important;
}
.filtro-ordenar-por.filtro-desplegado button:focus {
  outline: 0px !important;
}
.filtro-ordenar-por.filtro-desplegado button:focus .icono {
  outline: 2px solid var(--color-state-stroke-info) !important;
}
.filtro-ordenar-por.filtro-desplegado .filtro-ordenar-por__placeholder .icono {
  transform: rotate(180deg);
}
.filtro-ordenar-por.filtro-desplegado .filtro-ordenar-por__valores {
  padding-top: 10px;
  padding-bottom: 18px;
  max-height: 10000px;
  position: absolute;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom: 1px solid var(--color-grayscale-black-500) !important;
  border-left: 1px solid var(--color-grayscale-black-500) !important;
  border-right: 1px solid var(--color-grayscale-black-500) !important;
  z-index: 9;
}
.filtro-ordenar-por.filtro-desplegado .filtro-ordenar-por__valores .filtro-ordenar-por__valor {
  display: flex;
  gap: 4px;
}
.filtro-ordenar-por.filtro-desplegado .filtro-ordenar-por__valores .filtro-ordenar-por__valor input:read-only {
  outline: none;
}
.filtro-ordenar-por.filtro-desplegado .filtro-ordenar-por__valores .filtro-ordenar-por__valor input:focus {
  outline: 1px solid var(--color-state-stroke-info);
}
/* Base styling for the slide-out panel */
dialog#filtros-dialog {
  height: 100vh;
  max-height: 100vh;
  width: 423px;
  position: fixed;
  inset-block: 0;
  inset-inline-start: auto;
  /* Aligns to the right side */
  inset-inline-end: 0;
  margin: 0;
  border-color: transparent;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15);
  /* Animation setup */
  transform: translateX(100%);
  transition: transform 0.3s ease, display 0.3s ease allow-discrete;
}

dialog#filtros-dialog .dialog-content {
  padding: 24px;
}
dialog#filtros-dialog .dialog-content .dialog-header {
  display: flex;
  justify-content: end;
  padding-right: 4px;
}
dialog#filtros-dialog .dialog-content .dialog-header button#close-filtros-dialogo {
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 24px;
}
dialog#filtros-dialog .dialog-content .dialog-header button#close-filtros-dialogo:focus {
  outline: 2px solid var(--color-state-stroke-info) !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por {
  border-bottom: 1px solid var(--color-grayscale-white-900) !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por,
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por fieldset {
  width: 100%;
  max-width: 100% !important;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por,
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por .filtro-ordenar-por__placeholder,
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por .filtro-ordenar-por__valores {
  border-color: transparent;
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por.filtro-desplegado .filtro-ordenar-por__valores {
  position: relative;
  border-color: transparent !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por fieldset > button {
  padding-left: 0px !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por .filtro-ordenar-por__placeholder .texto {
  font-weight: 700;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__ordenar-por .filtro-ordenar-por .filtro-ordenar-por__placeholder i {
  font-size: 24px;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas {
  border-bottom: 1px solid var(--color-grayscale-white-900) !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas,
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas fieldset {
  width: 100%;
  max-width: 100% !important;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas,
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas .filtro-fechas-tabuladas__placeholder,
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas .filtro-fechas-tabuladas__valores {
  border-color: transparent;
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas.filtro-desplegado .filtro-fechas-tabuladas__valores {
  position: relative;
  border-color: transparent !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas fieldset > button {
  padding-left: 0px !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas .filtro-fechas-tabuladas__placeholder .texto {
  font-weight: 700;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__fechas-tabuladas .filtro-fechas-tabuladas .filtro-fechas-tabuladas__placeholder i {
  font-size: 24px;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker, dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker fieldset {
  width: 100% !important;
  max-width: 100% !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker__placeholder {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0px !important;
  border-top: 0px;
  border-left: 0px;
  border-right: 0px;
  border-radius: 0px;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker__placeholder .texto {
  color: var(--color-grayscale-black-solid) !important;
  font-size: var(--font-p4-size) !important;
  font-weight: 700 !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker__placeholder .icono i {
  color: var(--color-grayscale-black-solid);
  font-size: 24px;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker #filtro-date-range-picker {
  /* 1. Force the internal layout to stack vertically */
  display: flex;
  flex-direction: column;
  gap: 1.5rem; /* Adds space between the two months */
  position: relative;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker__placeholder {
  border-bottom: 0px !important;
  border-bottom-left-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker-values {
  position: relative !important;
  display: flex;
  flex-direction: column;
  max-width: min(100vw - 56px, 500px);
  left: 0px !important;
  top: 0px;
  width: min(100vw, 375px) !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__date-range-picker .filtro-date-range-picker.filtro-desplegado .filtro-date-range-picker-values .custom-range-picker {
  width: min(100vw, 360px) !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias {
  margin-top: 20px;
  margin-bottom: 30px;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .titulo {
  font-size: var(--font-p2-size);
  font-weight: 500;
  color: var(--color-grayscale-black-solid);
  margin-bottom: 0px;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax {
  display: flex;
  flex-direction: column;
  gap: 0px;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term {
  border-bottom: 1px solid var(--color-grayscale-white-900) !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term,
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term fieldset {
  width: 100%;
  max-width: 100% !important;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term,
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term .filtro-generico-term__placeholder,
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term .filtro-generico-term__valores {
  border-color: transparent;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term.filtro-desplegado .filtro-generico-term__valores {
  position: relative;
  border-color: transparent !important;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term .filtro-generico-term__valor--child {
  padding-left: 10px;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term fieldset > button {
  padding-left: 0px !important;
  margin-top: 3px;
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term .filtro-generico-term__placeholder .texto {
  font-weight: 700;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__taxonomias .filtros-tax .filtro-generico-term .filtro-generico-term__placeholder i {
  font-size: 24px;
  color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog .dialog-content .dialog-content__botones {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  width: 100%;
}
dialog#filtros-dialog .dialog-content .dialog-content__botones button {
  width: auto;
  padding-left: 26px !important;
  padding-right: 26px !important;
}

/* When the dialog is open */
dialog#filtros-dialog[open] {
  transform: translateX(0);
}

/* Styling the backdrop (overlay) */
dialog#filtros-dialog::backdrop {
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease, display 0.3s ease allow-discrete;
}

dialog#filtros-dialog[open]::backdrop {
  opacity: 1;
}

/* Starting style for entry animation (Modern browsers support this) */
@starting-style {
  dialog#filtros-dialog[open] {
    transform: translateX(100%);
  }
  dialog#filtros-dialog[open]::backdrop {
    opacity: 0;
  }
}
.filtro-fechas-tabuladas {
  position: relative;
}
.filtro-fechas-tabuladas fieldset {
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: none !important;
}
.filtro-fechas-tabuladas fieldset > button {
  min-width: 175px;
  width: 100%;
  padding: 12px 6px 10px 8px;
  background: transparent;
  font-size: var(--font-p4-size);
  font-weight: 400;
  color: var(--color-grayscale-black-500);
  border: 1px solid var(--color-grayscale-black-500);
  border-radius: 8px;
}
.filtro-fechas-tabuladas fieldset > button:focus {
  border-radius: 8px;
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 2px;
}
.filtro-fechas-tabuladas fieldset div[role=listbox] {
  padding: 0px 12px 0px 18px;
}
.filtro-fechas-tabuladas, .filtro-fechas-tabuladas fieldset {
  max-width: 175px !important;
  width: 175px;
}
.filtro-fechas-tabuladas .filtro-fechas-tabuladas__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-fechas-tabuladas .filtro-fechas-tabuladas__placeholder .texto {
  width: calc(100% - 20px);
  text-align: left;
}
.filtro-fechas-tabuladas .filtro-fechas-tabuladas__placeholder .icono {
  display: flex;
  align-items: center;
  justify-content: center;
}
.filtro-fechas-tabuladas .filtro-fechas-tabuladas__valores {
  max-height: 0px;
  overflow: hidden;
  background-color: #fff;
}
.filtro-fechas-tabuladas.filtro-desplegado fieldset > button {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border-bottom: 0px solid var(--color-grayscale-black-500) !important;
}
.filtro-fechas-tabuladas.filtro-desplegado button:focus {
  outline: 0px !important;
}
.filtro-fechas-tabuladas.filtro-desplegado button:focus .icono {
  outline: 2px solid var(--color-state-stroke-info) !important;
}
.filtro-fechas-tabuladas.filtro-desplegado .filtro-fechas-tabuladas__placeholder .icono {
  transform: rotate(180deg);
}
.filtro-fechas-tabuladas.filtro-desplegado .filtro-fechas-tabuladas__valores {
  padding-top: 10px;
  padding-bottom: 18px;
  max-height: 10000px;
  position: absolute;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  border-bottom: 1px solid var(--color-grayscale-black-500) !important;
  border-left: 1px solid var(--color-grayscale-black-500) !important;
  border-right: 1px solid var(--color-grayscale-black-500) !important;
  z-index: 9;
}
.filtro-fechas-tabuladas.filtro-desplegado .filtro-fechas-tabuladas__valores .filtro-fechas-tabuladas__valor {
  display: flex;
  gap: 4px;
}
.filtro-fechas-tabuladas.filtro-desplegado .filtro-fechas-tabuladas__valores .filtro-fechas-tabuladas__valor input:read-only {
  outline: none;
}
.filtro-fechas-tabuladas.filtro-desplegado .filtro-fechas-tabuladas__valores .filtro-fechas-tabuladas__valor input:focus {
  outline: 1px solid var(--color-state-stroke-info);
}
/* ==========================================================================
   FILTROS DIALOG: CUSTOM CHECKBOXES & RADIOS
   ========================================================================== */
/* --------------------------------------------------------------------------
   CHECKBOXES - Inside .filtro-generico-term
   -------------------------------------------------------------------------- */
/* 1. Hide the native checkbox input completely */
dialog#filtros-dialog .filtro-generico-term__valor input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  opacity: 0;
}
dialog#filtros-dialog {
  /* 2. Set up the label to leave space for your custom box */
}
dialog#filtros-dialog .filtro-generico-term__valor label {
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  display: inline-block;
  line-height: 1.4;
  user-select: none;
  padding-top: 3px;
}
dialog#filtros-dialog {
  /* 3. Build the custom unchecked box using ::before */
}
dialog#filtros-dialog .filtro-generico-term__valor label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
  border-radius: 4px;
  transition: all 0.2s ease-in-out;
}
dialog#filtros-dialog {
  /* 4. Style the active state background color when checked */
}
dialog#filtros-dialog .filtro-generico-term__valor input[type=checkbox]:checked + label::before {
  background-color: var(--color-grayscale-white-solid);
  border-color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog {
  /* 5. Create the checkmark icon using ::after */
}
dialog#filtros-dialog .filtro-generico-term__valor label::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 6px;
  width: 6px;
  height: 10px;
  border: solid var(--color-state-stroke-success);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 0.2s ease-in-out;
}
dialog#filtros-dialog {
  /* Scale the checkmark into view when checked */
}
dialog#filtros-dialog .filtro-generico-term__valor input[type=checkbox]:checked + label::after {
  transform: rotate(45deg) scale(1);
}
dialog#filtros-dialog {
  /* 6. CRITICAL FOR ACCESSIBILITY: Define a highly visible focus ring */
}
dialog#filtros-dialog .filtro-generico-term__valor input[type=checkbox]:focus-visible + label::before {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 1px;
}

/* --------------------------------------------------------------------------
   RADIO BUTTONS - Inside .filtro-ordenar-por
   -------------------------------------------------------------------------- */
dialog#filtros-dialog {
  /* 1. Hide the native radio input completely */
}
dialog#filtros-dialog .filtro-ordenar-por__valor input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  opacity: 0;
}
dialog#filtros-dialog {
  /* 2. Set up the label to leave space for your custom radio circle */
}
dialog#filtros-dialog .filtro-ordenar-por__valor label {
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  display: inline-block;
  line-height: 1.4;
  user-select: none;
  padding-top: 3px;
}
dialog#filtros-dialog {
  /* 3. Build the custom unchecked outer circle using ::before (border-radius: 50%) */
}
dialog#filtros-dialog .filtro-ordenar-por__valor label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
}
dialog#filtros-dialog {
  /* 4. Style the active state outer border color when selected */
}
dialog#filtros-dialog .filtro-ordenar-por__valor input[type=radio]:checked + label::before {
  background-color: var(--color-grayscale-white-solid);
  border-color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog {
  /* 5. Create the centered inner success dot using ::after */
}
dialog#filtros-dialog .filtro-ordenar-por__valor label::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 8px;
  width: 10px;
  height: 10px;
  background-color: var(--color-state-stroke-success);
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
}
dialog#filtros-dialog {
  /* Scale the inner dot into view when selected */
}
dialog#filtros-dialog .filtro-ordenar-por__valor input[type=radio]:checked + label::after {
  transform: scale(1);
}
dialog#filtros-dialog {
  /* 6. CRITICAL FOR ACCESSIBILITY: Define a highly visible focus ring */
}
dialog#filtros-dialog .filtro-ordenar-por__valor input[type=radio]:focus-visible + label::before {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 1px;
}

/* --------------------------------------------------------------------------
   RADIO BUTTONS - Inside .filtro-fechas-tabuladas
   -------------------------------------------------------------------------- */
dialog#filtros-dialog {
  /* 1. Hide the native radio input completely */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  appearance: none;
  -webkit-appearance: none;
  opacity: 0;
}
dialog#filtros-dialog {
  /* 2. Set up the label to leave space for your custom radio circle */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor label {
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  display: inline-block;
  line-height: 1.4;
  user-select: none;
  padding-top: 3px;
}
dialog#filtros-dialog {
  /* 3. Build the custom unchecked outer circle using ::before (border-radius: 50%) */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-grayscale-black-solid);
  background-color: var(--color-grayscale-white-solid);
  border-radius: 50%;
  transition: all 0.2s ease-in-out;
}
dialog#filtros-dialog {
  /* 4. Style the active state outer border color when selected */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor input[type=radio]:checked + label::before {
  background-color: var(--color-grayscale-white-solid);
  border-color: var(--color-grayscale-black-solid);
}
dialog#filtros-dialog {
  /* 5. Create the centered inner success dot using ::after */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor label::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 8px;
  width: 10px;
  height: 10px;
  background-color: var(--color-state-stroke-success);
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
}
dialog#filtros-dialog {
  /* Scale the inner dot into view when selected */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor input[type=radio]:checked + label::after {
  transform: scale(1);
}
dialog#filtros-dialog {
  /* 6. CRITICAL FOR ACCESSIBILITY: Define a highly visible focus ring */
}
dialog#filtros-dialog .filtro-fechas-tabuladas__valor input[type=radio]:focus-visible + label::before {
  outline: 2px solid var(--color-state-stroke-info);
  outline-offset: 1px;
}

#main-content .archive-main-wrapper, main .archive-main-wrapper {
  width: 100% !important;
  padding-top: 40px;
  padding-bottom: 40px;
}
#main-content .archive-main-wrapper section, #main-content .archive-main-wrapper nav, main .archive-main-wrapper section, main .archive-main-wrapper nav {
  width: 100% !important;
  max-width: calc(var(--vtm-ancho-max-containers) + var(--vtm-padding-containers) * 2) !important;
  margin-inline: auto;
  padding-left: var(--vtm-padding-containers) !important;
  padding-right: var(--vtm-padding-containers) !important;
  box-sizing: border-box;
}
#main-content .archive-main-wrapper section.section--full-bleed, main .archive-main-wrapper section.section--full-bleed {
  max-width: 100% !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
#main-content .archive-main-wrapper .zona-breadcrumbs, main .archive-main-wrapper .zona-breadcrumbs {
  margin-bottom: 40px;
}
@media (max-width: 1120px) {
  #main-content .archive-main-wrapper, main .archive-main-wrapper {
    padding-top: 96px !important;
  }
}

.archive-generico-titulo-y-descripcion__titulo h1 {
  font-size: var(--font-h3-size);
  font-weight: 400;
  font-family: var(--font-normal);
  color: var(---color-grayscale-black-solid);
}
.archive-generico-titulo-y-descripcion__titulo {
  margin-bottom: 20px;
}
.archive-generico-titulo-y-descripcion__descripcion, .archive-generico-titulo-y-descripcion__descripcion p {
  font-size: var(--font-p2-size);
  font-weight: 400;
  font-family: var(--font-normal);
  color: var(---color-grayscale-black-solid);
  line-height: 1.3;
}
@media (max-width: 768px) {
  .archive-generico-titulo-y-descripcion__titulo h1 {
    font-size: var(--font-p1-size);
  }
  .archive-generico-titulo-y-descripcion__titulo {
    margin-bottom: 12px;
  }
  .archive-generico-titulo-y-descripcion__descripcion, .archive-generico-titulo-y-descripcion__descripcion p {
    font-size: var(--font-p3-size);
  }
}

.zona-filtros-con-chips-y-boton-filtrar {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 20px;
  border-bottom: 1px solid var(--color-grayscale-white-700);
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__total-resultados {
  grid-row: 1;
  grid-column: 1/3;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__chips {
  grid-row: 3;
  grid-column: 1/3;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__chips .zona-filtros-con-chips-y-boton-filtrar__chips-inner {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 12px;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__chips:not(:has(.chip)) {
  display: none;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__boton-filtrar-y-ordenar {
  grid-row: 2;
  grid-column: 1/3;
  justify-content: start;
  display: flex;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__boton-filtrar-y-ordenar button#open-filters {
  padding-left: 16px !important;
  padding-right: 16px !important;
  align-items: center;
  display: inline-flex;
  align-self: flex-start;
}
.zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__boton-filtrar-y-ordenar button#open-filters i {
  margin-right: 5px;
}
@media (max-width: 768px) {
  .zona-filtros-con-chips-y-boton-filtrar {
    display: flex;
    flex-direction: column;
    padding-top: 24px;
  }
  .zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__total-resultados {
    order: 1;
  }
  .zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__chips {
    order: 3;
  }
  .zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__chips:not(:has(.zona-filtros-con-chips-y-boton-filtrar__chips-inner > *)) {
    display: none;
  }
  .zona-filtros-con-chips-y-boton-filtrar .zona-filtros-con-chips-y-boton-filtrar__boton-filtrar-y-ordenar {
    order: 2;
    justify-content: start;
  }
}

body.post-type-archive-publicaciones .archive-generico-titulo-y-descripcion {
  padding-bottom: 40px;
}
@media (max-width: 768px) {
  body.post-type-archive-publicaciones .archive-generico-titulo-y-descripcion {
    padding-bottom: 10px;
  }
}
body.post-type-archive-publicaciones .zona-grid__grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
body.post-type-archive-publicaciones .zona-grid__grid > div {
  border-bottom: 1px solid var(--color-grayscale-white-800);
  padding-left: 16px;
  padding-right: 16px;
}
body.post-type-archive-publicaciones .zona-grid__paginacion {
  border-top: 0px;
}
@media (max-width: 768px) {
  body.post-type-archive-publicaciones .zona-grid__grid > div {
    padding-left: 0px;
    padding-right: 0px;
  }
}

/*# sourceMappingURL=ppal-style-cpt-archive-publicaciones.css.map */