/* ========================================
   PAGINA INTERNA ANCE - ESTILO BV
   ======================================== */

/* HERO SPLIT 50/50 */
.node--type-pagina-interna-ance .layout-main-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}

.node--type-pagina-interna-ance .node__content {
  padding: 0 !important;
  text-align: justify !important;
}

/* HERO CONTAINER */
.ance-inner-hero {
  display: flex;
  width: 100%;
  height: 420px;
  overflow: hidden;
}

/* LADO IZQUIERDO - IMAGEN */
.ance-inner-hero__image {
  flex: 0 0 50%;
  width: 50%;
  overflow: hidden;
}

.ance-inner-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* LADO DERECHO - TÍTULO */
.ance-inner-hero__content {
  flex: 0 0 50% !important;
  width: 50% !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 120px 60px 40px 60px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  align-items: flex-start !important;
}

.ance-inner-hero__title {
  text-align: left !important;
}

/* BREADCRUMB */
.ance-inner-hero__breadcrumb {
  font-size: 13px;
  color: #999999;
  margin-bottom: 20px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ance-inner-hero__breadcrumb a {
  color: #999999 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.ance-inner-hero__breadcrumb a:hover {
  color: #00049e !important;
  text-decoration: none !important;
}

/* TÍTULO BICOLOR */
.ance-inner-hero__title {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.5px !important;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

.ance-inner-hero__title .title-bold {
  font-weight: 800 !important;
  color: #00049e;
  display: inline;
}

.ance-inner-hero__title .title-light {
  font-weight: 300 !important;
  color: #bbbbbb !important;
  display: inline;
}

/* ========================================
   ZONA DE CONTENIDO BODY
   ======================================== */

.ance-inner-content {
  max-width: 900px;
  margin: 60px auto;
  padding: 0 40px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.ance-inner-content h2 {
  font-size: 30px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 50px 0 20px 0;
  line-height: 1.15;
  text-align: left;
}

.ance-inner-content h2 .h2-bold {
  font-weight: 800;
  color: #00049e;
  display: inline;
}

.ance-inner-content h2 .h2-light {
  font-weight: 300;
  color: #aaaaaa;
  display: inline;
}

.ance-inner-content p {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #606060;
  margin-bottom: 16px;
}

.ance-intro {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #606060;
  line-height: 1.8;
}

.ance-list {
  list-style: disc;
  padding-left: 20px;
  margin: 10px 0 20px 0;
}

.ance-list li {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
  padding: 6px 0;
}

.ance-list li a {
  color: #00049e;
  text-decoration: none !important;
  font-weight: 700;
}

.ance-list li a:hover,
.ance-list li a:focus,
.ance-list li a:visited {
  text-decoration: none !important;
  color: #00049e;
}

/* ========================================
   SERVICIOS CON FLECHA ANIMADA
   ======================================== */

.ance-list--servicios {
  list-style: none;
  padding-left: 0;
}

.ance-list--servicios li {
  padding: 6px 0;
}

.ance-service-link,
.ance-inner-content .ance-list--servicios a,
.ance-inner-content .ance-list--servicios a:hover,
.ance-inner-content .ance-list--servicios a:focus,
.ance-inner-content .ance-list--servicios a:active,
.ance-inner-content .ance-list--servicios a:visited {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.ance-service-link {
  display: inline-flex;
  align-items: center;
  gap: 0px;
  color: #00049e;
  font-weight: 700;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 16px;
  transition: gap 0.25s ease;
}

.ance-service-link:hover {
  color: #00049e;
  gap: 14px;
}

.ance-arrow {
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  font-size: 32px;
  line-height: 0.5;
  margin-left: 6px;
}

.ance-service-link:hover .ance-arrow {
  opacity: 1;
  transform: translateX(0);
}

/* ========================================
   CTA FINAL
   ======================================== */

.ance-cta-block {
  margin-top: 50px;
  padding-bottom: 40px;
  text-align: center;
}

.ance-btn-bv {
  display: block;
  width: fit-content;
  margin: 0 auto;
  background-color: #00049e;
  color: #ffffff;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 14px 40px;
  text-decoration: none;
  border: 2px solid #00049e;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.ance-btn-bv:hover {
  background-color: transparent;
  color: #333333;
  border-color: #333333;
  text-decoration: none;
}

/* ========================================
   NAVBAR FIJO BLANCO EN PÁGINAS INTERNAS
   ======================================== */

.node--type-pagina-interna-ance .navbar,
body.node--type-pagina-interna-ance .navbar {
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

.node--type-pagina-interna-ance .navbar .navbar-brand img,
body.node--type-pagina-interna-ance .navbar .navbar-brand img {
  filter: none !important;
}

.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > a,
.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > .mega-menu-trigger,
.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > span,
.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > span.dropdown-toggle.tb-megamenu-no-link,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > a,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > .mega-menu-trigger,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > span,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > span.dropdown-toggle.tb-megamenu-no-link {
  color: #333333 !important;
}

.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > a:hover,
.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > .mega-menu-trigger:hover,
.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > span:hover,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > a:hover,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > .mega-menu-trigger:hover,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li > span:hover {
  color: #1a2b6b !important;
}


.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li:not(:last-child)::before,
body.node--type-pagina-interna-ance .navbar .tb-megamenu-nav > li:not(:last-child)::before {
  color: rgba(0,0,0,0.25) !important;
}

.node--type-pagina-interna-ance .field--name-field-hero-titulo,
.node--type-pagina-interna-ance .field--name-field-hero-subtitulo,
.node--type-pagina-interna-ance .node__meta,
.node--type-pagina-interna-ance .node__submitted {
  display: none !important;
}

/* CORRECCIÓN: logo sin filtro en páginas internas */
body.node--type-pagina-interna-ance .navbar-brand img.img-fluid {
  filter: none !important;
  -webkit-filter: none !important;
}

/* ========================================
   AJUSTE - ALTO DEL HERO
   ======================================== */
.ance-inner-hero {
  height: 500px !important;
}

/* ========================================
   BARRA AZUL EN PÁGINAS INTERNAS
   ======================================== */

body.node--type-pagina-interna-ance .navbar::after {
  content: '' !important;
  position: fixed !important;
  top: 122px !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, #00049e 0%, #00b0f0 100%) !important;
  z-index: 1029 !important;
  pointer-events: none !important;
  display: block !important;
}

@media (max-width: 1023px) {
  body.node--type-pagina-interna-ance .navbar::after {
    display: none !important;
  }
}

/* Fix ancho completo — hero páginas internas */
.ance-inner-hero {
  width: 100vw !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  position: relative !important;
  margin-top: 113px !important;
  z-index: 1 !important;
}

/* ========================================
   ACENTO AZUL EN NEGRITAS — TEXTO INTERNO
   ======================================== */
.ance-inner-content strong,
.ance-inner-content b {
  color: #00049e;
  font-weight: 700;
}

/* ========================================
   RESPONSIVE TABLET
   ======================================== */

@media (max-width: 1024px) {
  .ance-inner-hero { height: 350px !important; }
  .ance-inner-hero__content { padding: 30px 40px !important; }
}

/* ========================================
   RESPONSIVE MÓVIL
   ======================================== */

@media (max-width: 768px) {
  .ance-inner-hero { flex-direction: column; height: auto !important; }
  .ance-inner-hero__image { flex: 0 0 250px; width: 100%; height: 250px; }
  .ance-inner-hero__content { flex: 1; width: 100% !important; padding: 30px 25px !important; }
  .ance-inner-hero__title { font-size: 1.8rem !important; }
  .ance-inner-content { padding: 0 20px; margin: 40px auto; }
}

/* ========================================
   KEY FIGURES
   ======================================= */
.ance-keyfigures {
  display: flex; flex-wrap: nowrap; gap: 0; margin: 30px 0 40px 0;
}
.ance-keyfigure {
  flex: 1 1 0; display: flex; flex-direction: column; align-items: center;
  padding: 20px 40px; border-right: 1px solid #e0e0e0; min-width: 0;
}
.ance-keyfigure:first-child { padding-left: 0; }
.ance-keyfigure:last-child { border-right: none; padding-right: 0; }
.ance-keyfigure__number {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 48px; font-weight: 700; color: #00049e;
  line-height: 1; margin-bottom: 8px; text-align: center; width: 100%;
}
.ance-keyfigure__label {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 13px; font-weight: 700; color: #333333;
  text-transform: uppercase; letter-spacing: 0.5px;
  margin-bottom: 8px; line-height: 1.3; text-align: center; width: 100%;
}
.ance-keyfigure__desc {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 13px; font-weight: 400; color: #777777;
  line-height: 1.5; text-align: justify; width: 100%;
}
@media (max-width: 768px) {
  .ance-keyfigures { flex-direction: column; }
  .ance-keyfigure { border-right: none; border-top: 1px solid #e0e0e0; padding: 20px 0; }
  .ance-keyfigure:first-child { border-top: none; }
  .ance-keyfigure__number { font-size: 36px; }
}

/* ========================================
   H3
   ======================================= */
.ance-inner-content h3 {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 15px; font-weight: 700; color: #00049e;
  text-transform: uppercase; letter-spacing: 0.5px; margin: 28px 0 8px 0;
}
.ance-inner-content a[href^="mailto"] { color: #00049e; text-decoration: none; }
.ance-inner-content a[href^="mailto"]:hover { text-decoration: underline; }