/* ===== Tipografías (ejemplo con Google Fonts) ===== */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap");

/* Lato Thin (100) */
@font-face {
  font-family: "Lato";
  src: local("Lato Thin"), local("Lato-Thin"),
       url("/assets/fonts/Lato/Lato-Thin.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* Lato Thin Italic (100 italic) */
@font-face {
  font-family: "Lato";
  src: local("Lato Thin Italic"), local("Lato-ThinItalic"),
       url("/assets/fonts/Lato/Lato-ThinItalic.ttf") format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* Lato Light (300) */
@font-face {
  font-family: "Lato";
  src: local("Lato Light"), local("Lato-Light"),
       url("/assets/fonts/Lato/Lato-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Lato Light Italic (300 italic) */
@font-face {
  font-family: "Lato";
  src: local("Lato Light Italic"), local("Lato-LightItalic"),
       url("/assets/fonts/Lato/Lato-LightItalic.ttf") format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* Lato Regular (400) */
@font-face {
  font-family: "Lato";
  src: local("Lato Regular"), local("Lato-Regular"), local("Lato"),
       url("/assets/fonts/Lato/Lato-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Lato Italic (400 italic) */
@font-face {
  font-family: "Lato";
  src: local("Lato Italic"), local("Lato-Italic"),
       url("/assets/fonts/Lato/Lato-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Lato Bold (700) */
@font-face {
  font-family: "Lato";
  src: local("Lato Bold"), local("Lato-Bold"),
       url("/assets/fonts/Lato/Lato-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Lato Bold Italic (700 italic) */
@font-face {
  font-family: "Lato";
  src: local("Lato Bold Italic"), local("Lato-BoldItalic"),
       url("/assets/fonts/Lato/Lato-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Lato Black (900) */
@font-face {
  font-family: "Lato";
  src: local("Lato Black"), local("Lato-Black"),
       url("/assets/fonts/Lato/Lato-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* Lato Black Italic (900 italic) */
@font-face {
  font-family: "Lato";
  src: local("Lato Black Italic"), local("Lato-BlackItalic"),
       url("/assets/fonts/Lato/Lato-BlackItalic.ttf") format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}


@font-face {
  font-display: swap;
  font-family: Ringside Sans;
  font-style: normal;
  font-weight: 100 600;
  src: local("Ringside"), local("Ringside-Book"),
    url(/assets/fonts/ringside/sans-serif/400/latin.woff2) format("woff2"),
    url(/assets/fonts/ringside/sans-serif/400/latin.woff) format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans;
  font-style: italic;
  font-weight: 100 600;
  src: local("Ringside"), local("Ringside-BookItal"),
    url(/assets/fonts/ringside/sans-serif/400/latin_italic.woff2)
    format("woff2"),
    url(/assets/fonts/ringside/sans-serif/400/latin_italic.woff)
    format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans;
  font-style: normal;
  font-weight: 700 900;
  src: local("Ringside"), local("Ringside-Black"),
    url(/assets/fonts/ringside/sans-serif/900/latin.woff2) format("woff2"),
    url(/assets/fonts/ringside/sans-serif/900/latin.woff) format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans;
  font-style: italic;
  font-weight: 700 900;
  src: local("Ringside"), local("Ringside-BlackItal"),
    url(/assets/fonts/ringside/sans-serif/900/latin_italic.woff2)
    format("woff2"),
    url(/assets/fonts/ringside/sans-serif/900/latin_italic.woff)
    format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans Extra Wide;
  font-style: normal;
  font-weight: 100 600;
  src: local("Ringside Extra Wide"), local("RingsideExtraWide-Book"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/400/latin.woff2)
    format("woff2"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/400/latin.woff)
    format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans Extra Wide;
  font-style: italic;
  font-weight: 100 600;
  src: local("Ringside Extra Wide"), local("RingsideExtraWide-BookItal"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/400/latin_italic.woff2)
    format("woff2"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/400/latin_italic.woff)
    format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans Extra Wide;
  font-style: normal;
  font-weight: 700 900;
  src: local("Ringside Extra Wide"), local("RingsideExtraWide-Black"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/900/latin.woff2)
    format("woff2"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/900/latin.woff)
    format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}
@font-face {
  font-display: swap;
  font-family: Ringside Sans Extra Wide;
  font-style: italic;
  font-weight: 700 900;
  src: local("Ringside Extra Wide"), local("RingsideExtraWide-BlackItal"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/900/latin_italic.woff2)
    format("woff2"),
    url(/assets/fonts/ringside/sans-serif-extra-wide/900/latin_italic.woff)
    format("woff");
  unicode-range:
    u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+0304, u+0308, u+0329, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd;
}



/* ===== Tema elea_exeltis (light) ===== */
:root,
[data-bs-theme="light"] {
  /* Fuente global */
  --bs-body-font-family: "Ringside Sans", Ringside, sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --bs-body-font-family-lato: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  /* --bs-body-font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; */
  --bs-body-font-size: 20px;


  /* Paleta principal (Bootstrap variables) */
  --bs-primary: #0a3075;
  --bs-secondary: #6c757d;
  --bs-success: #1ec28b;
  --bs-info: #0dcaf0;
  --bs-warning: #ffb020;
  --bs-danger: #f25757;
  --bs-light: #f8f9fa;
  --bs-dark: #091a4d;
  --bs-white: #ffffff;
  --bs-bg-sky-blue: #dcf3fb;
  --bs-bg-breadcrumb: #1A71BC;
  --bs-bg-table-head: #f5fbfe;
  --bs-bg-button: #0A3075;

  /* Body */
  --bs-body-bg: #ffffff;
  --bs-body-color: #1d1d1f; /* #000000; */

  /* Links */
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: #3a6fe9;

  --bs-bg-footer: #0a3075;
}

/* ===== Ajustes globales ===== */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--bs-body-font-family);
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-size: var(--bs-body-font-size);
}

.hero {
  padding: 4rem 2rem;
  background: var(--brand-gradient);
  color: #fff;
  min-height: 600px;
  position: relative;
}

.hero > .container {
  position: relative;
  height: 475px;
  z-index: 25;
}

.hero h1 {
  position: absolute;
  bottom: 1rem;
  font-weight: 200;
  font-size: 48px;
  font-family: var(--bs-body-font-family-lato);
}

.hero h1 strong {
  font-size: 58px;
}

body.interior .hero h1 {
  font-size: 40px;
}

body.interior .hero h1 strong {
  font-size: 40px;
}


.table thead tr th {
  background: var(--bs-bg-table-head);
  font-weight: bold;
  font-size: 14px;
  padding: 20px;
  font-family: var(--bs-body-font-family-lato);
  color: var(--bs-primary)!important;
}

tr td label {
  font-family: var(--bs-body-font-family-lato);
  color: var(--bs-primary)!important;
  font-weight: bold;
  font-size: 14px;
}

.table tr td {
  padding: 16px 20px;
  font-size: 18px;
  vertical-align: middle;
}

.table tr:hover td {
  background-color: #eef8fc;
  box-shadow: none;
}

.table {
  border-radius: 12px;
  border: 1px solid #EAECF0;
}

.table tr {
  border-bottom: 1px solid #ccedf9;
}

.table tr td strong {
  font-family: var(--bs-body-font-family-lato);
  font-size: 34px;
  font-weight: 300;
  color: var(--bs-primary);
}

.table .pdf img {
  width: 17px;
}

.hero.interior {
  min-height: 400px;
}

.hero.interior h1 {
  font-weight: 300;
}

.hero.interior > .container {
  position: relative;
  height: 350px;
}

h3.blue {
  color: var(--bs-primary);
  font-size: 34px;
  font-weight: bold;
}


.farmacovigilancia .frase {
  font-size: 14px;
  width: 75%;
}

.farmacovigilancia .super-text {
  font-size: 34px;
}

.form {
  /* background: #ECF8FC; */
  background: transparent;
  padding: 3rem 2rem;
  border-radius: 30px;
}

.form .form-control {
  background: transparent;
  color: var(--bs-body-color);
  border: none;
  border-bottom: 1px solid var(--bs-body-color);
  border-radius: 0;
}

.form .form-control::placeholder {
  color: var(--bs-body-color);
}

.form .cms_submit {
  background: var(--bs-bg-button);
  padding: 15px 25px;
  border-radius: 35px;
  color: var(--bs-white);
  border: none;
  font-size: 20px;
}

.nota-privacidad {
  font-size: 18px;
}

.quienes-somos main, 
.divisiones-estrategicas main, 
.lineas-terapeuticas main, 
.presencia-global main,
.bg-sky-blue main,
.dos-trayectorias main,
.certificaciones main,
.juntos main {
    contain: content; /* aisla el render en cada sección */
}
.presencia main, .nuestro-enfoque main { contain: content; }
.productos main, .therapeutic-areas main, .areas-terapeuticas main { contain: content; }
.table-hover tbody tr { transition: background-color .2s ease; }

.farmacovigilancia main { contain: content; }

.will-fade, 
.will-slide, 
.will-scale { 
  will-change: transform, opacity; 
}

.frase-home .super-text, 
.frase-home .fh-word { 
  will-change: transform, opacity; 
}

@media (prefers-reduced-motion: reduce){
  .will-anim { transition: none !important; animation: none !important; }
}


.bg-slider {
  background: url('/assets/images/fondo1_desktop.png');
  background-size: cover;
  background-color: var(--bs-primary);
}


.home-lineas .rounded-circle {
  background: #132f75;
}

.home-lineas .rounded-circle > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 3rem;
}

.home-lineas .rounded-circle img {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.home-lineas .rounded-circle span {
  color: var(--bs-white);
  margin-top: 12px;
  font-size: 20px;
}

.navbar-brand {
  color: var(--bs-white);
}

.navbar-main {
  background: color-mix(in oklab, var(--bs-dark) 85%, transparent)!important;
  border-radius: 50px;
  max-width: 55%;
  transition-duration: 0.5s;
  transition: max-width .28s ease;
  min-height: 75px;
  max-height: 75px;
}

.navbar-main.navbar-expand-lg {
  max-width: 80%;
}

.navbar .navbar-nav > .nav-item .nav-link {
  font-weight: 500;
  color: var(--bs-white);
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity .22s ease,
    transform .22s ease;
  font-weight: 500;
  font-size: 16px;
}

.navbar-main .navbar-nav {
  min-width: 735px;
  width: 99%;
  justify-content: space-evenly;
}

.navbar.navbar-expand-lg .navbar-nav > .nav-item .nav-link {
  opacity: 1;
  transform: translateY(0);
}

.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(1) .nav-link { transition-delay: 0ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(2) .nav-link { transition-delay: 40ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(3) .nav-link { transition-delay: 80ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(4) .nav-link { transition-delay: 120ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(5) .nav-link { transition-delay: 160ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(6) .nav-link { transition-delay: 200ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(7) .nav-link { transition-delay: 240ms; }
.navbar.navbar-expand-lg.nav-anim-in .navbar-nav > .nav-item:nth-child(8) .nav-link { transition-delay: 280ms; }


.navbar .nav-link.active {
  font-weight: 600;
  color: var(--bs-white);
  text-decoration: underline;
}

.img-gota-izquierda {
  border-radius: 0 50% 50%;
  aspect-ratio: 1;
  object-fit: cover;
}

.img-gota-derecha {
  border-radius: 50% 0% 50% 50%;
  aspect-ratio: 1;
  object-fit: cover;
}


.ver-mas {
  color: var(--bs-primary);
  font-size: 24px;
}

.ver-mas:after {
  content: ' >';
}

.btn-primary {
  background-color: var(--bs-primary);
  border: 2px solid var(--bs-primary);
  border-radius: 30px;
  font-weight: bolder;
}

.btn-primary .bi {
  font-weight: bolder;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
  border: 2px solid var(--bs-primary);
  background: var(--bs-white);
  color: var(--bs-primary);
}

.navbar-toggler {
  display: block;
  color: var(--bs-white);
  border: none;
  padding: 5px;
}

.navbar-toggler i {
  font-size: 27px;
}


.navbar-right {
  background: color-mix(in oklab, var(--bs-dark) 85%, transparent);
  border-radius: 50px;
  width: 170px;
  position: absolute;
  top: 0;
  right: 2rem;
  min-height: 75px;
}

.navbar-right .navbar-nav {
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-around;
}

.navbar-right .navbar-nav > .nav-item .nav-link {
  opacity: 1;
  color: var(--bs-white);
}

.navbar-right .linkedin {

}

.navbar-right .contact {

}

.circle {
  border-radius: 50%;
  background-color: #d5eff859;
  padding: 1.2rem;
}

.circle > .circle {
  padding: 4rem;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.circle img {
  max-width: 100%;
  height: auto;
}

.font-lato {
  font-family: var(--bs-body-font-family-lato);
}

main h2 {
  font-size: 42px;
  color: var(--bs-primary);
  margin-bottom: 20px;
  padding-left: 70px;
  position: relative;
  font-family: var(--bs-body-font-family-lato);
}

main h3 {
  font-family: var(--bs-body-font-family-lato);
}

main h2:before {
  content: ' ';
  background: url('/assets/images/icono_titulares.svg');
  background-size: 40px;
  position: absolute;
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  left: 0;
  top: -5px;
}

h2.super-text {
  /* font-size: 58px; */
  font-size: 34px;
  font-weight: 300;
  padding-left: 0;
}

main h2.super-text:before {
  display: none;
}

.bg-home {
  background-image: url('/assets/images/imagen fondo.svg');
  background-size: cover;
}

.bg-home section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.bg-sky-blue {
  background-color: var(--bs-bg-sky-blue);
}

.bg-sky-blue h2:before {
  background: none;
}

.current-page {
  font-size: 17px;
}

.navbar-expand-lg .current-page {
  display: none;
}

footer {
  color: var(--bs-white);
  font-size: 14px;
  font-weight: 300;
  background: var(--bs-bg-footer);
  position: relative;
}


:focus-visible {
  outline: 3px solid var(--bs-primary);
  outline-offset: 2px;
}

footer nav ul {
  list-style: none;
  display: flex;
  gap: 15px;
  justify-content: center;
}

footer nav ul a {
  color: var(--bs-white);
  text-decoration: none;
}

footer nav ul a:hover {
  color: var(--bs-white);
  text-decoration: underline;
}

footer p {
  margin-bottom: 1.5rem;
}

.txt-20 {
  font-size: 20px;
}

.txt-18 {
  font-size: 18px;
}

.presencia-global ul {
  list-style: none;
}

.up-to-top {
  background: #0EA4D7;
  padding: 30px;
  border-radius: 50%;
  position: absolute;
  right: -45px;
  top: -45px;
}

.up-to-top img {
  width: 23px;
}


.up-to-top img{
  display:inline-block; /* necesario para transformar */
  transform: translateY(0);
}

.up-to-top:hover img{
  animation: hop 320ms cubic-bezier(.2,.8,.2,1) both; /* una sola vez por hover */
}

.breadcrumb-int {
  background: var(--bs-bg-breadcrumb);
  font-size: 18px;
}

.breadcrumb-item,
.breadcrumb-item a {
  color: var(--bs-white);
  text-decoration: none;
}

.breadcrumb-item+.breadcrumb-item::before {
  color: var(--bs-white);
}

.breadcrumb-item.active {
  font-weight: 700;
  color: var(--bs-white);
}


body.interior .bg-sky-blue h2:before {
  content: ' ';
  background: url('/assets/images/icono_titulares.svg');
  background-size: 40px;
  position: absolute;
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  left: 0;
  top: -5px;
}

body.interior.farmacovigilancia main,
body.interior.contacto main,
body.interior.pharmacovigilance main,
body.interior.contact main {
  background: linear-gradient(to left, #f0f8ff 47%, transparent 47%);
  background-attachment: fixed;
}

.bg-light-blue {
  background: #f0f8ff;
}


.certificaciones,
.dos-trayectorias,
.juntos {
  background: var(--bs-white);
}

.dos-trayectorias img {
  max-width: 65%;
  height: 130px;
  object-fit: contain;
}

.dos-trayectorias h2:before {
  left: calc(50% - 338px);
}

.certificaciones img {
  width: 75%;
}

.certificaciones h2:before {
  /* background: none; */
  /* left: 21%; */
  left: calc(50% - 290px);
}

.filter-products .input-group-text {
  background: var(--bs-white);
  border-right: none;
  border-top-left-radius: 48px;
  border-bottom-left-radius: 48px;
  cursor: pointer;
  border-width: 2px;
}

.filter-products .input-group>.form-control {
  border-left: none;
  border-top-right-radius: 48px;
  border-bottom-right-radius: 48px;
  border-width: 2px;
  cursor: pointer;
}

.filter-products .form-control:focus {
  outline: 0;
  box-shadow: none;
  border-color: rgb(222, 226, 230); /* o el color que quieras */
}

.font-20 {
  font-size: 20px;
}

.font-25 {
  font-size: 25px;
}

.font-30 {
  font-size: 30px;
}

.domicilio {
  font-size: 14px;
  line-height: 1.75;
}

.domicilio a {
  color: var(--bs-primary);
  font-weight: bold;
}

.domicilio .city {
  font-weight: 500;
  color: var(--bs-primary);
}

footer .bandera {
  width: 32px;
}


.bg-sky-blue-form {
  background: #f0f8ff;
}

.navbar-right .nav-item .nav-link {
  padding-top: 0;
  padding-bottom: 0;
}

.navbar-right .nav-item:nth-child(2) .nav-link {
  margin-top: -9px;
}

.navbar-right .nav-item:nth-child(3) .nav-link {
  margin-top: -3px;
}

.hero video {
  position: absolute;
  z-index: 10;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: cover;
} 

.hero .video-overlay {
  background: #0a3075ab;
  position: absolute;
  z-index: 12;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

main p strong,
main li strong,
main table tr strong,
main .table thead tr th {
  color: #5d5d5d;
}


.bg-sky-blue.eleaexeltis h2:before {
  display: none;
}

.bg-sky-blue.eleaexeltis h2 {
  padding-left: 0;
}

.bg-sky-blue.eleaexeltis img {
  width: 400px;
}

.bg-sky-blue.eleaexeltis img.icon {
  width: 95px;
  height: 75px;
  object-fit: contain;
}

.bg-sky-blue.eleaexeltis .col-md-4:first-child img.icon {
  width: 75px;
  padding: 10px;
  /* margin-bottom: 1rem; */
}

.bg-sky-blue.eleaexeltis .col-md-4 {
  border-radius: 30px;
  border: 1px solid #4ccfe5ab;
}

.bg-sky-blue.eleaexeltis .col-md-4 h2 {
  font-size: 38px;
}

.bg-sky-blue.eleaexeltis .boxes {
  justify-content: center;
}

.lineas-terapeuticas.bg-sky-blue h2 {
  padding-left: 70px;
  position: relative;
}

.lineas-terapeuticas.bg-sky-blue h2:before {
  content: ' ';
  background: url(/assets/images/icono_titulares.svg);
  background-size: 40px;
  position: absolute;
  width: 60px;
  height: 60px;
  background-repeat: no-repeat;
  top: -8px;
  left: calc(50% - 210px);
}

.listado-areas .area {
  position: relative;
  min-height: 500px;
}

.listado-areas .area .col-md-4,
.listado-areas .area-v2 .col-md-6.content  {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 45px;
  position: relative;
}

.listado-areas .area .overlay {
  background: #0a3075ab;
  position: absolute;
  z-index: 5;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;  
}

.listado-areas .area h2,
.listado-areas .area p {
  z-index: 8;
  color: var(--bs-white);
} 

.listado-areas .area h2:before,
.listado-areas .area-v2 h2:before {
  background: none;
}

.listado-areas .area h2,
.listado-areas .area-v2 h2 {
  padding-left: 0;
  width: 100%;
  font-size: 34px;
  font-weight: 300;
}

.listado-areas .area-v2 h2 {
  width: 100%;
}

.listado-areas .area-v2 {
  margin-bottom: 50px;
}

.video-inst {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 30px;
  object-fit: cover;
}


.fw-300 {
  font-weight: 300!important;
}

.fw-400 {
  font-weight: 400!important;
}

.fw-500 {
  font-weight: 500!important;
}

.fw-600 {
  font-weight: 600!important;
}

.fw-700 {
  font-weight: 700!important;
}

.color-primary {
  color: var(--bs-primary)!important;
}

.ee-footer__icon:hover {
  text-decoration: none!important;
  background: #0EA4D7;
}


@keyframes hop{
  0%   { transform: translateY(0); }
  40%  { transform: translateY(-8px); }  /* sube */
  100% { transform: translateY(0); }     /* vuelve */
}

/* accesibilidad: respetar “reducir movimiento” */
@media (prefers-reduced-motion: reduce){
  .up-to-top:hover img{ animation: none; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  [data-anim],
  .fh-word {
    transition: none !important;
    animation: none !important;
  }
}



/* SOLO MOBILE (hasta < 992px, o sea xs/sm/md) */
@media (max-width: 991.98px) {
  .mobile {
    display: flex;
  }

  .desk {
    display: none;
  }


  .mobile.navbar-main {
    background-color: var(--bs-white)!important;
    border-radius: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    z-index: 99;
  }

  .mobile .navbar-toggler {
    color: var(--bs-primary);
  }

  .mobile .navbar-brand {
    margin-left: calc(50% - 130px);
    margin-right: auto;
  }

  .mobile.navbar-main .langs {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    background: 
    color-mix(in oklab, var(--bs-dark) 85%, transparent);
    border-radius: 50px;
    width: 155px;
    display: flex;
    list-style: none;
    padding: 12px 17px;
    font-size: 18px;
    justify-content: center;
    align-items: center;
    margin-left: 17%;
  }

  .bg-slider {
    background-position: center;
  }

  .up-to-top {
    right: 25px;
  }

  .hero h1 {
    font-size: 35px;
  }

  .hero h1 strong {
    font-size: 48px;
  }

  main h2 {
    font-size: 28px;
    padding-left: 50px;
  }

  main h2:before,
  body.interior .bg-sky-blue h2:before,
  .lineas-terapeuticas.bg-sky-blue h2:before {
    background-size: 30px;
    position: absolute;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    left: 0;
    top: -10px;
  }

  h3.blue {
    font-size: 28px;
  }

  main section {
    padding-left: 1.5rem!important;
    padding-right: 1.5rem!important;
  }

  .frase-home .super-text,
  .quienes-somos .super-text,
  .interior.presencia-en-latinoamerica .super-text,
  .presence-in-latin-america .super-text {
    font-size: 35px;
  }

  .footer-logo {
    margin-left: auto;
    margin-right: auto;
    display: table;
    margin-top: 20px;
  }

  footer .col-md-5 {
    padding: 0 1.5rem;
  }

  footer .navbar-right {
    position: relative;
    left: auto;
    right: auto;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
    margin-bottom: 30px;
  }

  footer .text-center ul {
    flex-direction: column;
    gap: 9px;
    margin-bottom: 30px;
    padding-left: 0;
  }

  footer .text-center ul li {
    width: 100%;
  }

  .breadcrumb {
    padding-left: 2.2rem;
    padding-right: 2.2rem;
  }

  body.interior .hero h1,
  body.interior .hero h1 strong {
    font-size: 34px;
  }

  .hero.interior > .container {
    height: 470px;
  }

  body.interior.farmacovigilancia main,
  body.interior.contacto main,
  body.interior.pharmacovigilance main,
  body.interior.contact main {
    background: none;
  }

  section.farmacovigilancia .col-md-5 .col-md-12,
  section.farmacovigilancia .col-md-5,
  section.contacto .col-md-5 .col-md-12,
  section.contacto .col-md-5  {
    padding-left: 0;
    padding-right: 0;
  }

  .interior.presencia-en-latinoamerica .nuestro-enfoque,
  .presence-in-latin-america .nuestro-enfoque {
    padding-top: 0;
  }

  .mobile.navbar .navbar-nav  > .nav-item .nav-link {
    color: var(--bs-primary);
    opacity: 1;
  }

  .mobile.navbar .navbar-nav  > .nav-item .nav-link.active {
    font-weight: bold;
  }

  .filter-products {
    flex-direction: column;
  }

  .filter-products .col {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
  }

  .certificaciones h2:before {
    left: 10px
  }

  .bg-sky-blue.eleaexeltis .col-md-4 {
    width: 98%;
  }

  .circle > .circle {
    padding: 1rem;
  }

  .ee-footer__icon {
    position: relative!important;
    margin-left: 20px;
  }

  .ee-footer__legal {
    padding-left: 12px;
    padding-right: 12px;
    text-align: justify;
  }

  tr.mobile {
    display: table-row!important;
  }

  tr.desk {
    display: none!important;
  }

  .certificaciones img {
    width: 100%;
  }
}


@media (max-width: 767px) {
  .ee-footer__legal {
    padding-left: 12px;
    padding-right: 12px;
    text-align: justify!important;
  }
}


/* SOLO DESKTOP (desde >= 992px, o sea lg/xl/xxl) */
@media (min-width: 992px) {
  .mobile {
    display: none;
  }
  
  .desk {
    display: flex;
  }

  body.interior.farmacovigilancia main,
  body.interior.contacto main,
  body.interior.pharmacovigilance main,
  body.interior.contact main {
    margin-top: -16px;
  }

  .filter-products #input_filter_8 {
    width: 245px;
  }

  .filter-products #input_filter_9 {
    width: 115px;
  }

  .filter-products #input_filter_7 {
    width: 48px;
  }

  .filter-products #input_filter_6 {
    width: 169px;
  }

  .filter-products #input_filter_5 {
    width: 97px;
  }

  .filter-products .col .input-group {
    flex-wrap: nowrap;
  }

  .filter-products {
    padding-left: 15px;
    padding-right: 15px;
    gap: 10px;
  }

  .filter-products .col {
    padding: 0;
  }

  header .navbar {
    position: fixed;
    z-index: 99;
  }

  header .navbar.navbar-right {
    top: auto;
  }

  .navbar .nav-link.active {
    text-decoration: none;
    background: #12306f;
    border-radius: 22px;
    color: #fff !important;
    padding: 8px 11px;
  }

  .breadcrumb {
    padding-left: 2.8rem;
    padding-right: 2.8rem;
  }

  body.interior main section > .container,
  main.bg-home section.container {
    padding-left: 2.8rem;
    padding-right: 2.8rem;
  }

  .hero h1 {
    left: 2.8rem;
  }

  .bg-sky-blue.eleaexeltis .col-md-4 {
    width: 32%;
  }

  .table tr th {
    min-width: 235px;
  }

  tr.mobile {
    display: none!important;
  }

  tr.desk {
    display: table-row!important;
  }

}


@media (max-width: 452px) {
  .lineas-terapeuticas.bg-sky-blue h2:before {
    left: calc(50% - 165px);
  }

  main h2:before,
  body.interior .bg-sky-blue h2:before,
  .lineas-terapeuticas.bg-sky-blue h2:before {
    background-size: 30px;
    position: absolute;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    left: 0;
    top: -10px;
  }
}


@media screen and (max-width: 1199px) and (min-width: 768px) {
  
}

/* 
@media screen and (max-width: 1399px) and (min-width: 551px) {
  .certificaciones h2:before {
    left: calc(50% - 290px);
  }
}
*/ 

