/* =================================================================
   REFORMA DE DISEÑO — Abogada Isabella Gonzales  ("Legal Premium")
   Paleta nueva: azul marino profundo + dorado prestigio + teal sobrio.
   Carga DESPUÉS de custom-logo.css → redefine variables y refina todo.
   ================================================================= */

:root{
  /* Nueva identidad */
  --c-navy:      #0E2A47;   /* primario profundo */
  --c-navy-2:    #1C4E7A;   /* azul medio */
  --c-gold:      #C49A45;   /* dorado prestigio (acento principal) */
  --c-gold-2:    #E2C480;   /* dorado claro */
  --c-teal:      #1C7C7A;   /* teal sobrio (acento secundario) */
  --c-ink:       #26303B;   /* texto */
  --c-muted:     #5C6672;   /* texto suave */
  --c-bg:        #FFFFFF;
  --c-bg-soft:   #F4F7FB;   /* gris perla */
  --c-bg-warm:   #FAF7F0;   /* marfil */
  --c-line:      #E6EBF1;

  /* Reescribe las variables del header (custom-logo.css) */
  --ig-navy:  var(--c-navy)  !important;
  --ig-navy-dark: #0A2038    !important;
  --ig-cyan:  var(--c-gold)  !important;   /* hovers/menu ahora dorados */
  --ig-gold:  var(--c-gold)  !important;

  /* Reescribe el acento del tema The7 */
  --wp--preset--color--accent: var(--c-gold) !important;
}

/* ---------- HEADER: logo izq · menú CENTRADO · CTA der (grid de 3 zonas) ---------- */
@media (min-width:992px){
  .header-bar{
    display:flex !important; align-items:center !important;
    justify-content:space-between !important;
    width:100% !important; box-sizing:border-box;
    padding-left:24px !important; padding-right:24px !important; gap:8px;
  }
  .header-bar .branding{ flex:0 0 auto !important; margin:0 !important; }
  #primary-menu{
    flex:0 1 auto !important;
    display:flex !important; flex-wrap:nowrap !important; margin:0 !important; padding:0 !important;
  }
  #primary-menu > li{ white-space:nowrap !important; }
  #primary-menu > li > a{ padding:9px 6px !important; }
  #primary-menu > li > a .menu-text{ font-size:11.5px !important; letter-spacing:0 !important; }
  a.ig-cta{ flex:0 0 auto !important; margin:0 !important; }
  .masthead .mini-search{ display:none !important; }
}
/* CTA "CONSULTA GRATIS" mejorado: icono a la derecha, sin subrayado, más vistoso */
a.ig-cta{
  flex-direction:row-reverse !important; gap:11px !important;
  padding:12px 24px !important;
  text-decoration:none !important;
  background:linear-gradient(135deg, #C9A24B 0%, #E6C97E 50%, #C9A24B 100%) !important;
  color:#10243d !important; font-weight:800 !important; letter-spacing:.5px !important;
  border-radius:50px !important;
  box-shadow:0 8px 20px rgba(196,154,69,.45), inset 0 1px 0 rgba(255,255,255,.4) !important;
}
a.ig-cta, a.ig-cta *, a.ig-cta .menu-text, a.ig-cta span{ text-decoration:none !important; }
a.ig-cta i, a.ig-cta .fas, a.ig-cta .fa-phone-alt{
  font-size:17px !important; text-decoration:none !important;
  display:inline-flex !important; align-items:center;
}
a.ig-cta:hover{
  background:linear-gradient(135deg, #B88E33 0%, #D9B864 50%, #B88E33 100%) !important;
  color:#0c1e33 !important; transform:translateY(-2px) !important;
  box-shadow:0 12px 26px rgba(196,154,69,.55), inset 0 1px 0 rgba(255,255,255,.4) !important;
}
/* Logo del header: transparente, a la izquierda, más presencia */
.header-bar .branding{ min-width:max-content !important; }
.branding a.ig-logo-link{ display:inline-block !important; }
.branding img.ig-logo{
  height:66px !important; width:auto !important;
  aspect-ratio:3 / 1 !important; max-width:none !important; flex:none !important;
  background:transparent !important; object-fit:contain !important;
}
@media (max-width:1200px){ .branding img.ig-logo{ height:58px !important; } }
@media (max-width:1100px){ .branding img.ig-logo{ height:52px !important; } }
@media (max-width:991px){ .branding img.ig-logo{ height:48px !important; } }
@media (max-width:480px){ .branding img.ig-logo{ height:42px !important; } }

/* ---------- TIPOGRAFÍA ---------- */
body{ color:var(--c-ink); }
h1,h2,h3,h4,h5,h6{ color:var(--c-navy); letter-spacing:.2px; }
.wf-wrap p, p{ color:var(--c-ink); }
/* Acento dorado en subtítulos pequeños / kickers */
.dt-fancy-title, .wf-td-subtitle{ color:var(--c-gold) !important; }
.color-accent, .color-accent > *, .fancy-subtitle, .fancy-subtitle > *{ color:var(--c-gold) !important; }

/* Separadores / líneas decorativas bajo títulos -> dorado (sustituye el cian) */
.dt-fancy-separator, .vc_sep_line, .wf-td-line,
.soc-separator, .separator-line, [class*="title"] .separator,
.dividers-color, .wpb_content_element .separator{
  background-color:var(--c-gold) !important; border-color:var(--c-gold) !important;
  background-image:none !important;
}
/* separadores con gradiente (linea bajo titulos de seccion) */
.dt-fancy-title:after, .fancy-title:after, .title-separator{
  background:var(--c-gold) !important;
}

/* ---------- BOTONES (reemplazan el gradiente cian→verde) ---------- */
/* Botón primario: azul marino → teal elegante */
a.default-btn-shortcode.dt-btn,
.wpb_button, .vc_btn3, button.dt-btn{
  background:linear-gradient(135deg, var(--c-navy) 0%, var(--c-teal) 100%) !important;
  border:none !important; color:#fff !important;
  border-radius:8px !important;
  box-shadow:0 8px 20px rgba(14,42,71,.20) !important;
  letter-spacing:.4px !important;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}
a.default-btn-shortcode.dt-btn:hover,
.wpb_button:hover, .vc_btn3:hover, button.dt-btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 28px rgba(14,42,71,.30) !important;
  background:linear-gradient(135deg, #0A2038 0%, #176C6A 100%) !important;
  color:#fff !important;
}

/* CTA del header en DORADO (acción principal, destaca) */
a.ig-cta{
  background:linear-gradient(135deg, var(--c-gold) 0%, var(--c-gold-2) 100%) !important;
  color:#10243d !important; font-weight:700 !important;
  box-shadow:0 8px 18px rgba(196,154,69,.40) !important;
}
a.ig-cta:hover{
  background:linear-gradient(135deg, #B4892F 0%, #D9B86A 100%) !important;
  color:#10243d !important; transform:translateY(-2px) !important;
  box-shadow:0 12px 26px rgba(196,154,69,.5) !important;
}

/* ---------- ENLACES / ACENTOS ---------- */
a{ color:var(--c-navy-2); }
a:hover{ color:var(--c-gold); }
.wf-wrap a:not(.dt-btn):not(.ig-cta):not(.default-btn-shortcode):hover{ color:var(--c-gold); }

/* Líneas y separadores decorativos en dorado */
.dt-fancy-separator, hr, .vc_sep_line{ border-color:var(--c-gold) !important; background:var(--c-gold) !important; }

/* ---------- SECCIONES / FONDOS ---------- */
/* (sin fondos alternados automaticos para no afectar el hero) */

/* Tarjetas / cajas con sombra suave y borde superior dorado */
.dt-icon-bg-on, .wpb_column .vc_column-inner > .wpb_wrapper > .dt-shortcode,
.wf-cell.box-style{ }

/* ---------- ICONOS CON CONTENEDOR (tarjeta cuadrada redondeada) ---------- */
.dt-icon-bg-on,
a.dt-icon.dt-icon-bg-on,
.dt-icon-bg-on.dt-icon-hover-on{
  background:transparent !important; background-image:none !important;
  border:none !important;
  width:96px !important; height:96px !important; line-height:96px !important;
  transition:transform .35s cubic-bezier(.2,.7,.3,1) !important;
}
/* Forma: cuadrado de esquinas redondeadas, fondo claro y borde fino dorado */
.dt-icon-bg-on .icon-inner:before,
.dt-icon-bg-on .icon-inner:after{
  border-radius:24px !important;
  background:#FFFFFF !important;
  box-shadow:0 12px 26px rgba(14,42,71,.12), inset 0 0 0 1px rgba(196,154,69,.45) !important;
  transition:background .35s ease, box-shadow .35s ease !important;
}
/* Glyph del icono -> azul marino */
.dt-icon-bg-on i,
.dt-icon-bg-on .icon-inner i{ color:var(--c-navy) !important; font-size:36px !important; transition:color .3s ease !important; }

/* Hover: la tarjeta se tiñe de azul marino, glyph dorado, se eleva */
.dt-icon-bg-on:hover{ transform:translateY(-7px) !important; }
.dt-icon-bg-on:hover .icon-inner:before,
.dt-icon-bg-on:hover .icon-inner:after{
  background:linear-gradient(140deg, var(--c-navy) 0%, #143a5e 100%) !important;
  box-shadow:0 18px 34px rgba(14,42,71,.30), inset 0 0 0 1px rgba(196,154,69,.0) !important;
}
.dt-icon-bg-on:hover i{ color:var(--c-gold-2) !important; }

/* Iconos sin contenedor (inline): dorados */
.dt-icon:not(.dt-icon-bg-on) i, .the7-icon, [class*="dt-icon"]:not(.dt-icon-bg-on) i{ color:var(--c-gold) !important; }

/* ---------- NÚMEROS ESTADÍSTICAS ---------- */
.stats-number, .vc_custom_heading.number, .counter{ color:var(--c-navy) !important; }

/* ---------- BANNER DE TÍTULO (subpáginas): azul marino unificado ---------- */
.page-title, .page-title.solid-bg, header.page-title,
#fancy-header, .fancy-header, header.fancy-header{
  background-color:#0E2A47 !important;
  background-image:linear-gradient(135deg, #0A2038 0%, #0E2A47 48%, #17456F 100%) !important;
  position:relative !important;
}
/* anular cualquier overlay/imagen oscura del fancy-header */
.fancy-header .fancy-header-overlay, #fancy-header .fancy-header-overlay,
.page-title .page-title-bg-overlay{ background:transparent !important; opacity:0 !important; }
.page-title:after, .fancy-header:after, #fancy-header:after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:radial-gradient(circle at 85% 18%, rgba(196,154,69,.18) 0%, rgba(196,154,69,0) 50%);
}
.page-title .wf-wrap, .fancy-header .wf-wrap, #fancy-header .wf-wrap{ position:relative; z-index:2; }
.page-title h1, .page-title .entry-title, .page-title .page-title-head h1,
.fancy-header h1, .fancy-header .fancy-title, #fancy-header h1{ color:#ffffff !important; }
/* breadcrumb legible */
.page-title .breadcrumbs, .page-title .breadcrumbs *,
.page-title .breadcrumbs a, .page-title .breadcrumbs span,
.fancy-header .breadcrumbs, .fancy-header .breadcrumbs *{ color:rgba(255,255,255,.72) !important; }
.page-title .breadcrumbs a:hover, .fancy-header .breadcrumbs a:hover{ color:var(--c-gold) !important; }
.page-title .breadcrumbs .breadcrumb-delimiter{ color:var(--c-gold) !important; }

/* ---------- COMPACTAR ESPACIADO GLOBAL (diseño más junto en todas las páginas) ---------- */
/* Franja del título: quitar el enorme hueco vacío superior */
.page-title, .page-title.solid-bg, header.page-title{
  padding-top:52px !important; padding-bottom:44px !important;
  height:auto !important; min-height:0 !important;
}
.page-title .wf-wrap{ padding-top:0 !important; padding-bottom:0 !important; min-height:0 !important; }
.page-title .page-title-head{ margin-bottom:6px !important; }
.page-title h1, .page-title .page-title-head h1, .page-title .entry-title{
  margin:0 0 6px !important; line-height:1.12 !important;
}
/* Contenedor principal: reducir el gran hueco entre el título y el contenido */
#main{ padding-top:34px !important; padding-bottom:44px !important; }
@media (max-width:991px){
  .page-title, .page-title.solid-bg, header.page-title{ padding-top:38px !important; padding-bottom:32px !important; }
  #main{ padding-top:24px !important; padding-bottom:32px !important; }
}

/* ---------- SECCIONES con fondo azul marino (.upb_row_bg): hero y banners de sección ---------- */
.upb_row_bg{
  background-image:linear-gradient(135deg, #0A2038 0%, #0E2A47 42%, #17456F 100%) !important;
  background-color:#0E2A47 !important;
  background-size:cover !important;
}
.upb_row_bg:after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 85% 15%, rgba(196,154,69,.18) 0%, rgba(196,154,69,0) 45%);
}
/* LEGIBILIDAD: el .upb_row_bg es un fondo HERMANO del contenido dentro del .vc_row.
   Por eso el texto a aclarar está en la columna hermana, no dentro de .upb_row_bg. */
.vc_row:has(> .upb_row_bg) h1, .vc_row:has(> .upb_row_bg) h2,
.vc_row:has(> .upb_row_bg) h3, .vc_row:has(> .upb_row_bg) h4,
.vc_row:has(> .upb_row_bg) h5, .vc_row:has(> .upb_row_bg) h6,
.vc_row:has(> .upb_row_bg) p, .vc_row:has(> .upb_row_bg) li,
.vc_row:has(> .upb_row_bg) .wpb_text_column,
.vc_row:has(> .upb_row_bg) .wpb_text_column *{ color:#ffffff !important; }
.vc_row:has(> .upb_row_bg) .fancy-subtitle,
.vc_row:has(> .upb_row_bg) h3 + h2{ color:var(--c-gold-2) !important; }
.vc_row:has(> .upb_row_bg) a:not(.dt-btn):not(.ig-cta):not(.ig-hero-btn){
  color:var(--c-gold-2) !important; text-decoration:underline; text-decoration-color:var(--c-gold);
}
.vc_row:has(> .upb_row_bg) strong, .vc_row:has(> .upb_row_bg) b{ color:#ffffff !important; }

/* ---------- CAJAS DESTACADAS del contenido (rediseño coherente) ---------- */
/* Caja CTA (antes verde chillón .vc_cta3 / .destacado) -> azul marino premium */
.destacado, .vc_cta3, .vc_general.vc_cta3{
  background:linear-gradient(135deg,#0E2A47 0%,#17456F 100%) !important;
  background-color:#0E2A47 !important;
  border:none !important; border-left:6px solid var(--c-gold) !important;
  border-radius:16px !important;
  box-shadow:0 14px 34px rgba(14,42,71,.25) !important; padding:2.2rem 2rem !important;
}
.destacado *, .vc_cta3 .vc_cta3-content, .vc_cta3 .vc_cta3-content *,
.vc_cta3 h2, .vc_cta3 h4, .vc_cta3 p{ color:#ffffff !important; }
.destacado a.dt-btn, .vc_cta3 .dt-btn, .vc_cta3 a.dt-btn{ color:#fff !important; }
/* Caja resumen/aviso (tldr) -> clara con acento dorado */
.tldr{
  background:#F4F7FB !important; border-radius:14px !important;
  border-left:6px solid var(--c-gold) !important;
  box-shadow:0 8px 22px rgba(14,42,71,.08) !important; padding:2rem 1.8rem !important;
}
.tldr, .tldr *{ color:var(--c-ink) !important; }
.tldr strong, .tldr b{ color:var(--c-navy) !important; }

/* ---------- ESTADÍSTICAS: tarjetas premium (rediseño completo de las barras) ---------- */
.vc_progress_bar{ counter-reset:igstat; }
.vc_progress_bar .vc_single_bar{
  background:#FFFFFF !important;
  border-radius:14px !important;
  border-left:5px solid var(--c-gold) !important;
  box-shadow:0 8px 24px rgba(14,42,71,.10) !important;
  height:auto !important; min-height:62px !important;
  overflow:visible !important; margin:0 0 16px 0 !important;
  display:flex !important; align-items:center !important;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
  animation:igStatIn .6s ease both;
}
.vc_progress_bar .vc_single_bar:hover{
  transform:translateX(8px) !important;
  box-shadow:0 14px 30px rgba(14,42,71,.18) !important;
  border-left-color:var(--c-navy) !important;
}
.vc_progress_bar .vc_single_bar .vc_label{
  color:var(--c-navy) !important; font-weight:700 !important; font-size:16px !important;
  position:static !important; padding:18px 22px !important; line-height:1.35 !important;
  text-shadow:none !important; display:flex !important; align-items:center !important; width:100%;
}
/* check dorado antes del texto */
.vc_progress_bar .vc_single_bar .vc_label:before{
  content:"\f00c"; font-family:"Font Awesome 6 Free","FontAwesome"; font-weight:900;
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; margin-right:14px; border-radius:9px; flex:0 0 auto;
  background:linear-gradient(135deg,var(--c-gold),var(--c-gold-2)); color:#10243d; font-size:14px;
}
/* enlaces dentro del dato (ej. "chiringuitos financieros"): inline y azul marino */
.vc_progress_bar .vc_single_bar .vc_label a{
  display:inline !important; color:var(--c-navy) !important; margin:0 5px !important;
  font-weight:700 !important; text-decoration:underline !important;
  text-decoration-color:var(--c-gold) !important; text-underline-offset:3px;
}
.vc_progress_bar .vc_single_bar .vc_label a:hover{ color:var(--c-gold) !important; }
/* el relleno de progreso ya no se usa */
.vc_progress_bar .vc_single_bar .vc_bar{ display:none !important; }
.vc_progress_bar .vc_single_bar .vc_label_units{ display:none !important; }
@keyframes igStatIn{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
.vc_progress_bar .vc_single_bar:nth-child(2){ animation-delay:.12s; }
.vc_progress_bar .vc_single_bar:nth-child(3){ animation-delay:.24s; }

/* ---------- HERO / BANNER ---------- */
/* Overlay azul marino mas elegante sobre el hero */
.dt-mega-section, .vc_row.parallax, section.main-banner{ }
.rev_slider .tp-caption, .slider h1{ color:#fff !important; }

/* ---------- FOOTER ---------- */
.footer-bottom, #footer, .footer{ background:var(--c-navy) !important; color:#dfe7f1; }
#footer a, .footer a{ color:#dfe7f1 !important; }
#footer a:hover, .footer a:hover{ color:var(--c-gold) !important; }
#bottom-bar{ background:#0A2038 !important; color:#aab8c8; }

/* Logo del footer: grande, centrado, con enlace al inicio */
.footer.empty-footer, footer.footer{ padding-top:46px !important; }
.ig-footer-logo{ text-align:center !important; padding:6px 20px 34px !important; }
.ig-footer-logo a{ display:inline-block; line-height:0; }
.ig-footer-logo img{
  width:360px; max-width:78%; height:auto; display:inline-block;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.35));
  transition:transform .35s cubic-bezier(.2,.7,.3,1), opacity .35s ease;
}
.ig-footer-logo a:hover img{ transform:translateY(-3px) scale(1.03); opacity:.92; }
/* línea dorada decorativa bajo el logo */
.ig-footer-logo:after{
  content:""; display:block; width:90px; height:3px; margin:22px auto 0;
  background:linear-gradient(90deg, transparent, var(--c-gold), transparent);
}
/* Centrar la barra inferior (enlaces legales) */
#bottom-bar .wf-container-bottom{ justify-content:center !important; text-align:center !important; flex-wrap:wrap; gap:6px 4px; }
#bottom-bar .mini-nav, #bottom-bar #bottom-menu{ float:none !important; margin:0 auto !important; text-align:center !important; display:inline-flex; flex-wrap:wrap; justify-content:center; }
#bottom-bar .wf-float-left, #bottom-bar .wf-float-right{ float:none !important; width:auto !important; text-align:center !important; }

@media (max-width:600px){ .ig-footer-logo img{ width:280px; } }

/* línea decorativa bajo títulos de sección (ej. "Nuestro Blog") -> dorada */
.dt-fancy-title.separator-double:after, .dt-fancy-title:after,
.fancy-title:after, .dt-fancy-separator span,
[class*="title"] .dt-fancy-separator,
.title-decoration, .title-style-default:after{ background:var(--c-gold) !important; }

/* ---------- DETALLES ---------- */
::selection{ background:var(--c-gold); color:#10243d; }
.breadcrumbs a, .breadcrumbs{ color:var(--c-muted) !important; }
