/* Tipografía del grupo Brel — Display Fraunces · Texto Inter (brel-design-system).
   En lugar de pelear con los selectores del tema Salient, se remapean las
   familias a nivel @font-face: esta hoja carga AL FINAL del documento, así
   que sus declaraciones ganan y "Poppins", "Open Sans" y "Didot-font" pasan
   a servirse con los woff2 del grupo (los mismos de brel-financial-web).
   Los iconos (icomoon / FontAwesome) no se tocan. */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url(/fonts/fraunces-latin.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url(/fonts/inter-latin.woff2) format('woff2');
}

/* Remapa las familias que el tema ya pide (texto → Inter).
   Pesos exactos: una cara con rango (100 900) PIERDE contra las caras de
   peso exacto de Google Fonts; con el mismo peso exacto, gana la declarada
   al último (esta hoja). */
/* Poppins → Inter */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 300; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
/* Open Sans → Inter */
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/inter-latin.woff2) format('woff2'); }
/* Display de los titulares (antes Didot) → Fraunces.
   Sin descriptor de peso: descriptores idénticos a la cara original del
   tema, y la declarada al último gana. */
@font-face { font-family: 'Didot-font'; font-display: swap; src: url(/fonts/fraunces-latin.woff2) format('woff2'); }
/* El tema también declara "GFS Didot" (Google) para los mismos titulares */
@font-face { font-family: 'GFS Didot'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/fraunces-latin.woff2) format('woff2'); }

/* Menú superior: en la serif del grupo (Fraunces), como los titulares */
#header-outer #top nav > ul.sf-menu > li > a,
#header-outer #top nav > ul.sf-menu > li > a .menu-title-text {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 17.5px;
  font-weight: 450;
  letter-spacing: .015em;
}

/* ============================================================
   Composición (ajustes pedidos por Luis, 18-ago-2026)
   ============================================================ */

/* --- Header: logo a la izquierda, menú al centro, idioma a la derecha --- */
@media (min-width: 1000px) {
  #header-outer #top > .container > .row { display: flex; align-items: center; }
  #header-outer #top > .container > .row > .col.span_3 { float: none; flex: none; }
  #header-outer #top > .container > .row > .col.span_9 { float: none; flex: 1 1 auto; min-width: 0; display: flex; align-items: center; }
  /* el nav del tema viene flotado y se encoge a su contenido: forzarlo a llenar */
  #header-outer #top nav { float: none; width: 100%; }
  #header-outer #top nav > ul.sf-menu {
    display: flex; align-items: center; justify-content: center;
    float: none; width: 100%; gap: clamp(22px, 3vw, 42px);
  }
  #header-outer #top nav > ul.sf-menu > li { float: none; margin: 0; }
  #header-outer #top nav > ul.sf-menu > li > a { padding-left: 0; padding-right: 0; }
  /* espaciador simétrico: reparte el espacio libre a ambos lados del grupo
     (el margin-left:auto del idioma solo se queda con la mitad) */
  #header-outer #top nav > ul.sf-menu::before { content: ""; margin-right: auto; }

  /* Idioma tipográfico "ES | EN" (el ::before es el idioma ACTUAL;
     el <li> de Polylang trae el alternativo) — sin globo ni iconos */
  /* pastilla del idioma: distintivo fino, hover que se enciende */
  #header-outer #top nav > ul.sf-menu > li.lang-item {
    margin-left: auto; display: flex; align-items: center; gap: 12px;
    border: 1px solid rgba(26,27,27,.18); border-radius: 999px;
    padding: 9px 18px;
    transition: border-color .2s ease, background-color .2s ease;
  }
  #header-outer #top nav > ul.sf-menu > li.lang-item:hover {
    border-color: rgba(26,27,27,.45);
    background-color: rgba(26,27,27,.04);
  }
  #header-outer #top nav > ul.sf-menu > li.lang-item::before {
    font-family: 'Inter', sans-serif; font-size: 13.5px; font-weight: 600;
    letter-spacing: .1em; line-height: 1; color: #1A1B1B;
    border-bottom: 1px solid currentColor; padding-bottom: 2px;
  }
  #header-outer #top nav > ul.sf-menu > li.lang-item.lang-item-en::before { content: "ES"; }
  #header-outer #top nav > ul.sf-menu > li.lang-item.lang-item-es::before { content: "EN"; }
  #header-outer #top nav > ul.sf-menu > li.lang-item > a {
    display: flex; align-items: center; gap: 12px;
    background-image: none; padding: 0;
    border-left: none; /* la barra "|" vieja del tema */
    margin: 0;
  }
  #header-outer #top nav > ul.sf-menu > li.lang-item > a::before {
    content: ""; width: 1px; height: 14px; background: rgba(26,27,27,.25);
  }
  #header-outer #top nav > ul.sf-menu > li.lang-item > a .menu-title-text {
    font-size: 14px; font-weight: 500; text-transform: uppercase;
    letter-spacing: .1em; color: rgba(26,27,27,.45);
  }
  #header-outer #top nav > ul.sf-menu > li.lang-item > a:hover .menu-title-text { color: #1A1B1B; }
  #header-outer #top nav > ul.sf-menu > li.lang-item i,
  #header-outer #top nav > ul.sf-menu > li.lang-item svg,
  #header-outer #top nav > ul.sf-menu > li.lang-item img { display: none; }
}

/* --- Sección "título izquierda / texto derecha": una sola pieza --- */
.wpb_row:has(> .row_col_wrap_12 > .vc_col-sm-4 h2) > .row_col_wrap_12 > .vc_col-sm-8 .wpb_text_column p {
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.75;
  color: rgba(26,27,27,.85);
  max-width: 60ch;
}
.wpb_row:has(> .row_col_wrap_12 > .vc_col-sm-4 h2) > .row_col_wrap_12 > .vc_col-sm-4 h3 {
  display: flex; align-items: center; gap: 10px;
}
.wpb_row:has(> .row_col_wrap_12 > .vc_col-sm-4 h2) > .row_col_wrap_12 > .vc_col-sm-4 h3::before {
  content: ""; width: 14px; height: 1px; background: currentColor; flex: none;
}
@media (min-width: 1000px) {
  .wpb_row:has(> .row_col_wrap_12 > .vc_col-sm-4 h2) > .row_col_wrap_12 > .vc_col-sm-8 > .vc_column-inner {
    display: flex; flex-direction: column; justify-content: center; height: 100%;
  }
  .wpb_row:has(> .row_col_wrap_12 > .vc_col-sm-4 h2) > .row_col_wrap_12 > .vc_col-sm-8 .wpb_text_column {
    border-left: 1px solid rgba(26,27,27,.15);
    padding-left: clamp(28px, 4vw, 56px);
  }
}

/* --- Bloque negro del manifiesto: contenido centrado en el recuadro --- */
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) .row_col_wrap_12 { justify-content: center; }
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) .vc_col-sm-5 {
  float: none; margin-left: auto; margin-right: auto;
}
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) .wpb_wrapper { text-align: center; }
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) ul {
  list-style: none; padding-left: 0; margin-left: 0;
}
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) .iwithtext {
  display: inline-flex; align-items: center; gap: 10px; float: none; margin: 0 20px;
}
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) .iwt-text a {
  font-size: 18px; letter-spacing: .08em;
}
/* el 800 visible y clicable bajo "Llámanos" */
.wpb_row:has(.iwithtext):has(a[href^="tel:"]) a[href^="tel:"]::after {
  content: "800 351 1026";
  display: block;
  font-size: 14px; font-weight: 400; letter-spacing: .06em;
  color: rgba(255,255,255,.55);
  margin-top: 6px;
}

/* --- Fichas del territorio: compactas y a la izquierda --- */
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child),
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) {
  max-width: 520px;
  margin-right: auto !important;
}

/* --- Footer: orden --- */
#footer-outer { border-top: 1px solid rgba(26,27,27,.1); }
#footer-outer a, .copy-footer a { transition: color .2s ease, opacity .2s ease; }
/* franja de contacto (mensaje izquierda / acciones derecha) */
.wpb_row:has(a.llamanos):not(:has(.wpb_row)) p { margin-bottom: 0; letter-spacing: .08em; }
/* línea legal: centrada, discreta */
.copy-footer p { font-size: 12.5px; letter-spacing: .08em; color: rgba(26,27,27,.55); }

/* --- Franja del footer: banda sutil dentro de la tinta (solo la fila
       MÁS INTERNA que contiene la liga, no sus ancestros) --- */
.wpb_row:has(a.llamanos) { background-color: transparent !important; }
.wpb_row:has(a.llamanos):not(:has(.wpb_row)) { background-color: rgba(245,242,236,.05) !important; }
.wpb_row:has(a.llamanos):not(:has(.wpb_row)) > [class*="row_col_wrap_12"] {
  background-color: transparent !important;
  padding-top: 12px; padding-bottom: 12px;
  display: flex; align-items: center;
}
/* mensaje de la izquierda: claro y presente */
.wpb_row:has(a.llamanos) .wpb_column:first-child p,
.wpb_row:has(a.llamanos) .wpb_column:first-child strong { color: rgba(245,242,236,.9) !important; }
/* etiqueta de la derecha ("Nunca estás solo") discreta, ligas en blanco */
.wpb_row:has(a.llamanos) .wpb_column:last-child p { color: rgba(245,242,236,.55) !important; }
/* etiqueta "Nunca estás solo" arriba, centrada sobre los dos botones */
.wpb_row:has(a.llamanos):not(:has(.wpb_row)) .wpb_column:last-child p {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start;
  gap: 5px 32px; text-align: center;
}
.wpb_row:has(a.llamanos):not(:has(.wpb_row)) .nes { width: 100%; text-align: center; }
.wpb_row:has(a.llamanos) a.llamanos,
.wpb_row:has(a.llamanos) a.escribenos {
  color: #fff !important;
  border-bottom: none;
}
.wpb_row:has(a.llamanos) a .lbl {
  border-bottom: 1px solid rgba(245,242,236,.35);
  padding-bottom: 2px;
  transition: border-color .2s ease;
}
.wpb_row:has(a.llamanos) a:hover .lbl { border-bottom-color: #fff; }
/* el 800 del holding, visible bajo Llámanos */
.wpb_row:has(a.llamanos) .tel-holding {
  display: block;
  font-size: 11.5px; font-weight: 400; letter-spacing: .06em;
  color: rgba(245,242,236,.55);
  margin-top: 2px;
}
/* el <strong> de la franja traía el logo B como background: fuera, texto limpio */
.wpb_row:has(a.llamanos) p strong { background: none !important; padding: 0 !important; }

/* ============ Footer completo en tinta (pedido de Luis) ============
   La tinta vive SOLO en el contenedor full-bleed (abajo); las filas
   internas van transparentes para no encimar rectángulos de anchos
   distintos. */
.wpb_row:has(.logo-brel-img),
.wpb_row:has(.copy-footer) { background-color: transparent !important; }
#footer-outer { background-color: #1A1B1B !important; }
.wpb_row:has(.logo-brel-img) .row-bg,
.wpb_row:has(a.llamanos) .row-bg,
.wpb_row:has(.copy-footer) .row-bg { background-color: transparent !important; background-image: none !important; }
/* texto claro en todo el bloque */
.wpb_row:has(.logo-brel-img) :is(h1,h2,h3,h4,h5,h6,p,li,span,strong) { color: rgba(245,242,236,.92) !important; }
body .wpb_row.wpb_row.wpb_row:has(.logo-brel-img) .wpb_wrapper a,
body .wpb_row.wpb_row.wpb_row:has(.logo-brel-img) .wpb_wrapper a span { color: rgba(245,242,236,.78) !important; }
body .wpb_row.wpb_row.wpb_row:has(.logo-brel-img) .wpb_wrapper a:hover,
body .wpb_row.wpb_row.wpb_row:has(.logo-brel-img) .wpb_wrapper a:hover span { color: #fff !important; }
/* encabezados de columna (DIVISIONES / NAVEGACIÓN) como etiquetas discretas */
.wpb_row:has(.logo-brel-img) h4 { color: rgba(245,242,236,.42) !important; letter-spacing: .14em; }
/* el logotipo grande, a blanco (los logos de división conservan su color) */
.wpb_row:has(.logo-brel-img) img.logo-brel-img { filter: brightness(0) invert(1); }
/* la franja se distingue con hairlines, no con otro gris */
.wpb_row:has(a.llamanos):not(:has(.wpb_row)) {
  border-top: 1px solid rgba(245,242,236,.14);
  border-bottom: 1px solid rgba(245,242,236,.14);
}
/* línea legal legible sobre tinta */
.wpb_row:has(.copy-footer) p, .copy-footer p, .copy-footer a { color: rgba(245,242,236,.5) !important; }
/* los colores de división ganan el hover también dentro del footer */
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-capital"]:hover,
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-capital"]:hover span { color: #EC1C24 !important; }
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-financial"]:hover,
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-financial"]:hover span { color: #2A68F7 !important; }
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-venture"]:hover,
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-venture"]:hover span { color: #00A44F !important; }
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-collection"]:hover,
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-collection"]:hover span { color: #EB008B !important; }
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-heritage"]:hover,
body .wpb_row.wpb_row.wpb_row .wpb_wrapper a[href*="brel-heritage"]:hover span { color: #28AAE1 !important; }

/* --- Divisiones: su color oficial al pasar el mouse --- */
a[href*="brel-capital"]:hover { color: #EC1C24 !important; }
a[href*="brel-financial"]:hover { color: #2A68F7 !important; }
a[href*="brel-venture"]:hover { color: #00A44F !important; }
a[href*="brel-collection"]:hover { color: #EB008B !important; }
a[href*="brel-heritage"]:hover { color: #28AAE1 !important; }

/* --- Territorio (.row7): portal centrado --- */
.row7 .row7-int { text-align: center; }
.row7 .row7-int > .row_col_wrap_12_inner { display: flex; flex-direction: column; align-items: center; }
.row7 .row7-int .wpb_column { width: 100% !important; float: none; }
/* contadores como banda centrada bajo el título */
.row7 .html-minesote { float: none !important; width: auto !important; display: inline-block; vertical-align: top; margin: 0 clamp(14px, 2.5vw, 38px) !important; }
.row7 .nectar-milestone { float: none !important; }
/* la frase "Elige una división" reubicada como antesala de las pastillas */
.row7 .brel-elige { text-align: center; margin: 52px 0 18px; }
.row7 .brel-elige p { color: rgba(26,27,27,.75); font-size: 15.5px; font-weight: 400; letter-spacing: .03em; margin: 0; }
/* pastillas de divisiones centradas */
.row7 .tabbed > ul.wpb_tabs_nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; float: none; width: 100%; }
.row7 .tabbed > ul.wpb_tabs_nav li { float: none; margin: 0; }
.row7 .tabbed > ul.wpb_tabs_nav li a { margin-right: 0 !important; }

/* --- La tinta del footer, con el mecanismo NATIVO de Salient ---
   Igual que el bloque negro del manifiesto: el color va en la variable
   --row-bg-color de la full-width-section y el tema estira su .row-bg
   de borde a borde por JS. Nada de márgenes negativos manuales. */
.full-width-section:has(img.logo-brel-img),
.full-width-section:has(.copy-footer) { --row-bg-color: #1A1B1B; }
.full-width-section:has(img.logo-brel-img) > .row-bg-wrap .row-bg,
.full-width-section:has(.copy-footer) > .row-bg-wrap .row-bg { background-color: #1A1B1B !important; }

/* el icono del teléfono viaja con el label (no con la caja del ancla),
   y el número queda centrado exactamente bajo él en ambos idiomas */
.wpb_row:has(a.llamanos) a.llamanos {
  background-image: none !important;
  padding-left: 0 !important;
  text-align: center;
}
.wpb_row:has(a.llamanos) a.llamanos .lbl {
  display: inline-block;
  background: url(/wp-content/uploads/2026/06/phone-1.png) no-repeat 0 45%;
  background-size: 12px;
  padding-left: 20px;
}

/* --- Banda de prensa ("Presencia en:") — pieza editorial --- */
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) > [class*="row_col_wrap_12"] {
  border-top: 1px solid rgba(26,27,27,.12);
  border-bottom: 1px solid rgba(26,27,27,.12);
  padding-top: 34px; padding-bottom: 34px;
  display: flex; align-items: center;
}
/* etiqueta como ceja tipográfica */
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) h2 {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(26,27,27,.5);
  display: flex; align-items: center; gap: 10px;
  margin: 0;
  white-space: nowrap;
}
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) h2::before {
  content: ""; width: 14px; height: 1px; background: currentColor; flex: none;
}
/* logotipos: altura pareja, proporción real, gris sobrio que despierta al hover */
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) .vc_col-sm-9 .wpb_wrapper {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 20px 42px;
}
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) .vc_col-sm-9 .wpb_wrapper > div {
  margin: 0 !important; float: none;
}
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) .vc_col-sm-9 img[src*="/container-"],
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) .vc_col-sm-9 img[data-nectar-img-src*="/container-"] {
  height: 44px !important; width: auto !important; max-width: none;
  filter: grayscale(1); opacity: .55;
  transition: opacity .25s ease, filter .25s ease;
}
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) .vc_col-sm-9 img[src*="/container-"]:hover,
.wpb_row:has(img[src*="/container-"], img[data-nectar-img-src*="/container-"]) .vc_col-sm-9 img[data-nectar-img-src*="/container-"]:hover {
  filter: none; opacity: 1;
}

/* --- Footer: contenido acotado y centrado (no pegado a la izquierda) --- */
@media (min-width: 1000px) {
  .full-width-section:has(img.logo-brel-img) [class*="row_col_wrap_12"]:not([class*="inner"]) {
    max-width: 1180px;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none;
  }
}

/* --- Footer superior: BREL izquierda · Divisiones al centro · Navegación
       alineada al borde derecho del recuadro de la franja --- */
@media (min-width: 1000px) {
  .wpb_row:has(img.logo-brel-img):not(:has(.wpb_row)) > [class*="row_col_wrap_12"] {
    display: flex; justify-content: space-between; align-items: flex-start;
  }
  /* el clearfix ::after del tema se vuelve un 4º item flex y se roba el
     borde derecho: fuera del reparto */
  .wpb_row:has(img.logo-brel-img):not(:has(.wpb_row)) > [class*="row_col_wrap_12"]::after,
  .wpb_row:has(img.logo-brel-img):not(:has(.wpb_row)) > [class*="row_col_wrap_12"]::before { display: none !important; }
  .wpb_row:has(img.logo-brel-img):not(:has(.wpb_row)) > [class*="row_col_wrap_12"] > .wpb_column {
    width: auto !important; float: none;
  }
  /* los 12px de relleno interno se conservan: con ellos el contenido de la
     primera y última columna cae exacto en los bordes del recuadro gris */
}

/* --- Territorio: las fichas dejan de ser cajas y se vuelven índice ---
   Sin recuadro (su borde al 8% no se veía), una sola línea divisoria
   entre desarrollos, y la ubicación alineada a la derecha: se lee como
   un directorio curado, no como una lista de recuadros vacíos. */
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child),
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) {
  max-width: 660px;
  margin: 0 auto !important;   /* la lista queda centrada en su columna */
  padding: 28px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  display: grid;
  grid-template-columns: 46px 1fr auto;   /* nº · desarrollo · ubicación */
  column-gap: 26px;
  align-items: baseline;
  counter-increment: brel-dev;
}
/* el número del catálogo (01, 02…) lo genera el CSS: sin tocar el HTML */
.child_column .vc_column-inner { counter-reset: brel-dev; }
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child)::before,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child)::before {
  content: counter(brel-dev, decimal-leading-zero);
  grid-column: 1; grid-row: 1 / span 2;
  font-family: 'Fraunces', Georgia, serif;
  font-size: 13px; font-weight: 400;
  color: rgba(26,27,27,.34);
  align-self: start;
  padding-top: 4px;
}
/* la última no lleva línea: cierra sola */
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child):last-child,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child):last-child {
  border-bottom: 0 !important;
}
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > h3,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) h3 {
  grid-column: 2; grid-row: 1;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .17em;
  color: rgba(26,27,27,.45) !important;
  margin: 0 0 8px !important;
}
/* el punto rojo del catálogo */
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) h3::before,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) h3::before {
  content: ""; display: inline-block;
  width: 5px; height: 5px; border-radius: 50%;
  background: #EC1C24;
  margin-right: 9px; vertical-align: middle;
}
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > h2,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) h2 {
  grid-column: 2; grid-row: 2;
  font-family: 'Fraunces', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(21px, 1.9vw, 26px) !important;
  margin: 0 !important;
  line-height: 1.12;
  letter-spacing: .004em;
}
/* ubicación a la derecha, en tono secundario */
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > p,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) p {
  grid-column: 3; grid-row: 1 / span 2;
  align-self: center;
  text-align: right;
  margin: 0 !important;
  font-size: 13px;
  font-weight: 400 !important;
  color: rgba(26,27,27,.48);
  white-space: nowrap;
}
@media (max-width: 700px) {
  .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child),
  .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) {
    grid-template-columns: 1fr;
  }
  .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child)::before,
  .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child)::before { display: none; }
  .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > h3,
  .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) h3,
  .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > h2,
  .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) h2 { grid-column: 1; }
  .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > p,
  .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) p {
    grid-column: 1; grid-row: 3; text-align: left; margin-top: 5px !important;
  }
}

/* La regla del tema (.brel-tab-info-int .wpb_text_column, con !important)
   gana en especificidad: se ancla la nuestra al mismo contenedor. */
.brel-tab-info-int .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child),
.brel-tab-info-int .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) {
  border: 0 !important;
  border-bottom: 1px solid rgba(26,27,27,.13) !important;
  border-radius: 0 !important;
}
.brel-tab-info-int .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child):last-child,
.brel-tab-info-int .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child):last-child {
  border-bottom: 0 !important;
}

/* El color del borde del tema no cede (shorthand con !important): la línea
   divisoria se dibuja con un pseudo-elemento propio, fuera de su alcance. */
.brel-tab-info-int .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child),
.brel-tab-info-int .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) {
  border: 0 !important;
  position: relative;
}
.brel-tab-info-int .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child)::after,
.brel-tab-info-int .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child)::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px;
  background: rgba(26,27,27,.14);
}
.brel-tab-info-int .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child):last-child::after,
.brel-tab-info-int .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child):last-child::after {
  display: none;
}

/* el ancho y el centrado también se anclan al contenedor del tema, que
   trae !important en .brel-tab-info-int .wpb_text_column */
.brel-tab-info-int .child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child),
.brel-tab-info-int .child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) {
  max-width: 660px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

/* --- Paneles de división: el contenido deja de desbordarse a la derecha ---
   Las filas internas de WPBakery traen márgenes negativos (gutter) que las
   hacen más anchas que el panel: el contenido salía ~40px fuera del borde
   derecho mientras a la izquierda quedaba un hueco grande. Neutralizados,
   la retícula se reparte dentro del panel y los márgenes quedan simétricos. */
@media (min-width: 1000px) {
  .brel-tab-info-int .row_col_wrap_12_inner,
  .brel-tab-info-int .row_col_wrap_12 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
}
/* las columnas no cedían (min-width auto) y se pasaban del panel; al
   permitirles encoger, su padding simétrico centra el contenido solo */
@media (min-width: 1000px) {
  .brel-tab-info-int .row_col_wrap_12_inner > .wpb_column,
  .brel-tab-info-int .row_col_wrap_12 > .wpb_column {
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
}

@media (min-width: 1000px) {
  .brel-tab-info-int .row_col_wrap_12_inner > .wpb_column:not(:has(.nectar_image_with_hotspots)) > .vc_column-inner {
    padding-left: clamp(24px, 3vw, 52px) !important;
    padding-right: clamp(24px, 3vw, 52px) !important;
  }
}

/* --- El logo de la ficha se salía del recuadro ---
   El CSS del sitio pone ese logo en position:absolute con right:15px, pero
   ninguna ficha era ancestro posicionado: se colgaba de la columna (sticky),
   así que quedaba 15px del borde de la COLUMNA, no de su recuadro. Con los
   márgenes viejos el desfase era de 5px y no se notaba; al centrar el panel
   creció a 23px (1280) y hasta 57px en pantallas anchas. Dándole a la ficha
   su propio marco de referencia, el logo aterriza dentro de su esquina. */
.brel-tab-info-int .vc_col-sm-5 .wpb_text_column { position: relative; }

/* --- La ubicación del catálogo tampoco cabía ---
   Iba en white-space:nowrap, cómodo en la portada; pero en las fichas
   angostas del panel (381px) las cadenas largas se salían hasta 80px por la
   derecha. Ahora envuelve solo cuando no cabe: donde hay espacio se sigue
   leyendo en una línea. */
.child_column .wpb_text_column:has(> h3:first-child + h2 + p:last-child) > p,
.child_column .wpb_text_column:has(> .wpb_wrapper > h3:first-child + h2 + p:last-child) p {
  white-space: normal;
  min-width: 0;
}

/* --- El destello de los puntos del mapa nacía a un lado del punto ---
   Dos cosas se juntaban. (1) Las coordenadas guardadas por el editor no
   apuntan al punto sino a la esquina de una caja de ~44px centrada en él:
   medidas contra los mapas, el punto real estaba 22px abajo y a la derecha
   en las cinco divisiones y en el Territorio. Ya se corrigieron en el HTML,
   leyendo el centro de cada punto directamente de la imagen. (2) La marca
   mide 30x30 y su esquina se pegaba a la coordenada, así que el destello
   quedaba 15px arriba y a la izquierda; el ajuste del sitio (-4px/+5px) solo
   tapaba una parte y el error crecía con el tamaño de la pantalla. Ahora la
   marca se centra en su coordenada: el destello brota del punto a cualquier
   tamaño, y de paso el área sensible al puntero también cae sobre el punto. */
.nectar_image_with_hotspots .nectar_hotspot_wrap {
  margin-left: -15px !important;
  margin-top: -15px !important;
}
/* cada división enciende en su color, no en blanco */
.brel-pulso-rojo  { --pulso: 236, 28, 36; }
.brel-pulso-azul  { --pulso: 42, 104, 247; }
.brel-pulso-verde { --pulso: 0, 164, 79; }
.brel-pulso-rosa  { --pulso: 235, 0, 139; }
.brel-pulso-cian  { --pulso: 0, 177, 244; }
.nectar_image_with_hotspots[data-stlye=color_pulse][data-hotspot-icon=plus_sign] .brel-pulso .nectar_hotspot:before {
  background-color: rgba(var(--pulso), .34) !important;
}
/* marca sin punto detrás (Financial trae una de sobra): no destella */
.brel-sin-punto .nectar_hotspot:before { display: none !important; }

/* --- Y la causa de fondo: la imagen y su contenedor no medían lo mismo ---
   Las marcas se posicionan en % del CONTENEDOR, pero los puntos viven en la
   IMAGEN. El CSS del sitio le fija a la imagen "height:625px; width:auto",
   así que su ancho lo manda su proporción (798px) y no el del contenedor:
   a los anchos donde la columna mide 836px, la imagen queda 38px más
   angosta y cada marca se corre hacia la derecha —más cuanto más a la
   derecha esté el punto—. Ese era el destello "a un lado del punto".
   Igualando las dos cajas, el porcentaje vuelve a significar lo mismo para
   la marca y para el punto, a cualquier ancho. */
/* la clase repetida es a propósito: la regla del sitio
   (.row7 .nectar_image_with_hotspots img) pesa más y hay que igualarla */
.nectar_image_with_hotspots.nectar_image_with_hotspots img {
  width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
}

/* --- "Experiencia Brel": el texto quedaba pegado a la fotografía ---
   La banda color papel tenía 90px de aire arriba y solo 22 abajo, así que
   el bloque se veía caído. Se reparte el MISMO aire total en dos mitades
   iguales (56 y 56), de modo que la sección conserva su altura y el texto
   queda centrado entre el arranque del papel y el inicio de la foto. Al ser
   valores fijos, el reparto sigue parejo aunque el texto cambie de renglones. */
@media (min-width: 501px) {
  #nosotros.row4 { padding-top: 56px !important; }
  #nosotros.row4 .wpb_text_column { margin-bottom: 56px !important; }
}
/* en móvil el sitio ya reduce el aire de arriba a 40px: se iguala abajo */
@media (max-width: 500px) {
  #nosotros.row4 .wpb_text_column { margin-bottom: 40px !important; }
}

/* --- La tesis del holding deja de flotar en el papel ---
   Entre la foto gris de arriba, el papel y la foto gris de abajo la frase
   más importante de la página se perdía en un mismo valor. Pasa a una losa
   de tinta del ancho exacto de la fotografía y pegada a ella, así que las
   dos se leen como una sola pieza editorial: imagen y tesis. Es el mismo
   recurso que ya usan el manifiesto y el pie, no vocabulario nuevo.
   El color entra por donde el sitio ya lo admite: el punto rojo del grupo. */
#nosotros .nectar-split-heading {
  position: relative;
  background-color: #1A1B1B;
  padding: clamp(56px, 6vw, 96px) clamp(24px, 5vw, 96px) clamp(60px, 6.4vw, 100px);
  overflow: hidden;
}
/* grano finísimo: le da materia a la tinta sin ensuciarla */
#nosotros .nectar-split-heading::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");
  opacity: .055;
}
/* el punto rojo, el mismo acento del catálogo de territorio */
#nosotros .nectar-split-heading::before {
  content: "";
  position: absolute;
  left: 50%;
  top: clamp(30px, 3.2vw, 50px);
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  border-radius: 50%;
  background: #EC1C24;
  z-index: 2;
}
#nosotros .nectar-split-heading p {
  font-family: 'Fraunces', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: clamp(21px, 1.95vw, 31px) !important;
  line-height: 1.5 !important;
  letter-spacing: .004em !important;
  color: #EFEBE4 !important;
  width: auto !important;
  max-width: 21em !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  position: relative;
  z-index: 1;
}
/* la fotografía y la losa se tocan: el tema deja 15px de papel entre las dos
   y ese hilo blanco las volvía dos cosas sueltas. Solo esa foto, no el icono */
#nosotros .img-with-aniamtion-wrap:not(:has(.icono-brel)) .hover-wrap {
  margin-bottom: 0 !important;
}
