/*
Theme Name: Divi Child
Theme URI: https://www.elegantthemes.com/gallery/divi/
Description: Divi Child Theme optimizado para rendimiento y control de FOUC
Author: Tu Nombre
Author URI: https://www.elegantthemes.com
Template: Divi
Version: 1.0.0
*/

/* =========================================
   VARIABLES GLOBALES
   ========================================= */
:root {
  --primary-color: #5B4E8D;
  --text-dark: #333333;
  --text-muted: #6B7280;
  --accent-yellow: #FFD100;
  --bg-light: #F8F9FA;
  --border-color: #F3F4F6;
  --bp-font-heading: 'Poppins', sans-serif;
  --bp-font-body: 'Open Sans', sans-serif;
}

/* Forzar interlineado de todos los H1 a 1.05em */
h1, 
.et_pb_text_inner h1, 
.et_pb_module_header,
#et-boc .et-l h1 {
    line-height: 1.05em !important;
}

/* =========================================
   ESTILOS GLOBALES Y TABLAS
   ========================================= */
body {
  font-weight: 400 !important;
}

.et_pb_text h1,
.et_pb_text h2,
.et_pb_text h3,
.et_pb_text h4,
.et_pb_text h5,
.et_pb_text h6 {
  font-family: var(--bp-font-heading);
}

.tabla-precios td:nth-child(2),
.tabla-precios td:nth-child(3),
.tabla-precios td:nth-child(4),
.tabla-precios th:nth-child(2),
.tabla-precios th:nth-child(3),
.tabla-precios th:nth-child(4) {
  text-align: center !important;
  vertical-align: middle;
}

.tabla-precios tr:first-child th {
  font-size: 22px !important;
}

.tabla-precios {
  border-radius: 18px;
  overflow: hidden;  
}

.table-button {
  display: inline-block;
  padding: .55rem 1rem;
  border-radius: 50px;
  text-decoration: none !important;
  line-height: 1.2;
  color: #fff !important;
  background-color: #7d0057 !important;
  border: 0 !important;
}

.table-button:hover {
  background-color: #59003a !important;
}

/* Utilidades de alineación */
.bp-row-center { display: flex; align-items: stretch; }
.bp-row-center .bp-col-center { display: flex; flex-direction: column; justify-content: center; }
.alineaya > div { text-align: center; }
.hero .alineaya > div { text-align: left; }

.alineate { display: flex; flex-wrap: nowrap; align-items: center; gap: 20px; }
.alineate .et_pb_button_module_wrapper { margin: 0 !important; padding: 0 !important; max-width: none; display: block; }
.alineate-centrado { justify-content: center; }

@media only screen and (max-width: 767px) {
  .alineate { flex-direction: column; align-items: flex-start; gap: 20px; }
}
@media (max-width: 980px) {
  .alineate-centrado { align-items: center; }
}

/* =========================================
   TABLA PRECIOS RESPONSIVE
   ========================================= */
/* El módulo de Divi será el contenedor con scroll horizontal */
.tabla-precios-responsive .et_pb_text_inner {
  width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

/* TablePress / DataTables no debe romper el layout de Divi */
.tabla-precios-responsive .dt-container,
.tabla-precios-responsive .dt-layout-row,
.tabla-precios-responsive .dt-layout-cell {
  width: 100%;
  max-width: 100%;
  overflow: visible;
}

/* La tabla puede ser más ancha que el módulo */
.tabla-precios-responsive table.tablepress {
  width: max-content !important;
  min-width: 760px;
  max-width: none !important;
}

/* Para que las columnas no se aplasten demasiado */
.tabla-precios-responsive table.tablepress th,
.tabla-precios-responsive table.tablepress td {
  white-space: nowrap;
}
.tabla-precios-responsive #tablepress-1_wrapper {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}

.tabla-precios-responsive #tablepress-1 {
  min-width: 760px;
  width: max-content !important;
}


/* =========================================
   CARROUSEL Y HERO
   ========================================= */
.ba_logo_carousel .dtq-carousel .slick-slide { display: flex !important; align-items: center !important; justify-content: center !important; height: 150px; min-height: 120px; }
.ba_logo_carousel .ba_logo_carousel_child { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; }
.ba_logo_carousel .dtq-carousel-item img { max-height: 100%; width: auto; display: block; }

#hero .hero-shape {
  position: absolute; z-index: 0; top: 0; bottom: 0; left: var(--left-gutter, 560px); right: -40vw;
  pointer-events: none;
  background-image: url("https://wbeepaths.dvitsoft.es/wp-content/uploads/rib.svg");
  background-repeat: no-repeat; background-size: 100% 100%; background-position: left center;
}
#hero .hero-shape img { display: none; }
.hero-text .et_pb_button_module_wrapper { display: inline-block !important; width: auto !important; margin-right: 15px !important; text-align: left !important; clear: none !important; }

/* =========================================
   STAGE DINÁMICO (JS SWAP)
   ========================================= */
.swap-dynamic-stage { position: relative; width: 100%; min-height: 450px; border-radius: 18px; overflow: hidden; }
.swap-dynamic-stage > .swap-panel-module { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; margin: 0 !important; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .28s ease, visibility .28s ease; z-index: 1; }
.swap-dynamic-stage > .swap-panel-module.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 3; }
.swap-dynamic-stage > .swap-panel-module.is-leaving { opacity: 0; visibility: visible; pointer-events: none; z-index: 2; }
.swap-dynamic-stage > .swap-panel-module > .et_pb_module_inner, .swap-dynamic-stage > .swap-panel-module .swap-main-image, .swap-dynamic-stage > .swap-panel-module .lang-hero-v2, .swap-dynamic-stage > .swap-panel-module .bs-hero-v2 { width: 100%; height: 100%; }
.swap-dynamic-stage .swap-main-image { border-radius: 18px; overflow: hidden; position: relative; }
.swap-dynamic-stage .swap-main-image picture, .swap-dynamic-stage .swap-main-image img, .swap-dynamic-stage .swap-main-image video, .swap-dynamic-stage .swap-main-image .swap-inline-video { width: 100%; height: 100%; object-fit: cover; }
.swap-panel-module.et_pb_module { padding-bottom: 0 !important; }
.swap-main-image, .lang-hero-v2, .bs-hero-v2 { width: 100%; }
.swap-panel-hidden { display: none !important; }
.swap-panel-active { display: block; }
.swap-main-image, .swap-main-image-2, .swap-main-image-3 { border-radius: 18px; overflow: hidden; position: relative; }
.swap-main-image img, .swap-main-image-2 img, .swap-main-image-3 img { display: block; width: 100%; height: auto; opacity: 1; transition: opacity .15s ease; }
.swap-main-image img.is-fading-out, .swap-main-image-2 img.is-fading-out, .swap-main-image-3 img.is-fading-out { opacity: 0; }
.swap-main-image video, .swap-main-image .swap-inline-video { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; opacity: 1; transition: opacity .15s ease; }
.swap-main-image video.is-fading-out, .swap-main-image .swap-inline-video.is-fading-out { opacity: 0; }
.swap-main-image video { animation: swapFadeIn .75s ease; }

.swap-overlay-col { position: relative; }
.swap-overlay-col .swap-lang-phone, .swap-overlay-col .wp-lang-phone, .swap-overlay-col .swap-bs-phone, .swap-overlay-col .wp-bs-phone { pointer-events: none; opacity: 0; transition: opacity .15s ease; }
.swap-overlay-col .swap-lang-phone.is-visible, .swap-overlay-col .wp-lang-phone.is-visible, .swap-overlay-col .swap-bs-phone.is-visible, .swap-overlay-col .wp-bs-phone.is-visible { opacity: 1; }
.card-anuncio .et_pb_main_blurb_image { margin-bottom: 28px !important; }

/* =========================================
   FORMULARIOS MAUTIC
   ========================================= */
.mauticform-page-wrapper { background-color: #FFFFFF; padding: 30px; border-radius: 10px; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); }
.mauticform-row { margin-bottom: 23px; background-position: 50%; background-size: cover; }
.mauticform-row input, .mauticform-row select { padding: 16px 25px; border-radius: 60px !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; border: solid 1px #eeeeee !important; color: #666; background-color: #f9f9f9 !important; width: 100%; box-sizing: border-box; }
.mauticform-row select { padding: 16px 20px 16px 16px !important; -webkit-appearance: none; position: relative; }
.mauticform-row select:after { content: ""; position: absolute !important; top: 50% !important; right: 10px !important; transform: translateY(-50%) !important; border: 6px solid transparent; border-top-color: #666; margin-top: 3px; pointer-events: none; }
.mauticform-row input:focus, .mauticform-row select:focus { border: 1px solid #564787 !important; outline: none; box-shadow: 0 0 4px rgba(86, 71, 135, 0.5) !important; }
.mauticform-row button { width: 100% !important; color: #fefefe !important; border-width: 0px !important; border-radius: 50px !important; font-size: 18px !important; font-weight: 600 !important; background-color: #564787 !important; padding: 11px 1em !important; margin-top: 6px !important; line-height: 1.7em !important; transition: all .2s !important; }
.mauticform-message:not(:empty) { color: black !important; background-color: #FFFFFF; border-radius: 10px; padding: 10px; font-weight: 700; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2); }
#mauticform_comprarbeepaths_interes_de_demo { position: relative; }
#mauticform_input_comprarbeepaths_interes_de_demo { -webkit-appearance: none; appearance: none; padding-right: 2.6rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='currentColor' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; background-size: 12px 8px; }

@media (max-width: 980px) { .mauticform_wrapper { margin: 0 !important; } }

/* Checkbox personalizados Mautic */
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] { --cb-size: 20px; --cb-radius: 6px; --cb-border: 2px; --cb-gap: .6rem; --cb-accent: #564787; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-row { display: flex; align-items: center; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-checkbox { position: absolute; width: var(--cb-size); height: var(--cb-size); opacity: 0; z-index: 1; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-label { position: relative; display: inline-flex; align-items: center; padding-left: calc(var(--cb-size) + var(--cb-gap)); cursor: pointer; line-height: 1.3; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-label::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: var(--cb-size); height: var(--cb-size); border: var(--cb-border) solid rgba(0,0,0,.35); border-radius: var(--cb-radius); background: #fff; box-shadow: inset 0 1px 0 rgba(0,0,0,.04); }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-label::after { content: ""; position: absolute; left: calc(var(--cb-size) * 0.3); top: 50%; transform: translateY(-55%) rotate(45deg); width: calc(var(--cb-size) * 0.35); height: calc(var(--cb-size) * 0.6); border-right: 2px solid #fff; border-bottom: 2px solid #fff; opacity: 0; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-checkbox:checked + .mauticform-checkboxgrp-label::before { background: var(--cb-accent); border-color: var(--cb-accent); }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-checkbox:checked + .mauticform-checkboxgrp-label::after { opacity: 1; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-checkbox:focus-visible + .mauticform-checkboxgrp-label::before { box-shadow: 0 0 0 3px rgba(0, 123, 255, .35); }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-checkboxgrp-checkbox:disabled + .mauticform-checkboxgrp-label { opacity: .6; cursor: not-allowed; }
div[id^="mauticform_"][id$="_he_leido_y_acepto_la_poli"] .mauticform-errormsg { margin-top: .35rem; color: #c62828; font-size: .875rem; }


/* =========================================
   CABECERA ANTIGUA (Legacy #site-header)
   ========================================= */
#site-header { background:#fff; box-shadow: none; transition: background-color .28s ease, box-shadow .28s ease, padding .22s ease; --logo-h: 56px; --logo-h-scrolled: 38px; --y-pad: 18px; --y-pad-scrolled: 8px; --link-py: 16px; --link-py-scrolled: 10px; --btn-py: 16px; --btn-py-scrolled: 10px; }
#site-header .et_pb_row { display:flex; align-items:center; padding-top:0; padding-bottom:0; }
#site-header .et_pb_column { display:flex; align-items:center; }
#site-header .logo-light { display:none !important; }
#site-header .logo-dark { display:block !important; }
#site-header .et_pb_image { margin:0 !important; display:flex; align-items:center; overflow:visible !important; }
#site-header .et_pb_image img { max-height: var(--logo-h) !important; width:auto !important; }
#site-header .et_pb_menu .et-menu > li > a { color:#333 !important; line-height:1.2; }
#site-header .et_pb_menu .et-menu > li.menu-btn > a { padding: var(--btn-py) 1rem !important; border:1px solid #333 !important; border-radius:999px; background: transparent !important; }
#site-header .et_pb_menu .et-menu > li.menu-btn-destacado > a { color: #ffffff !important; background-color: #564787 !important; border-color: #564787 !important; padding: var(--btn-py) 1rem !important; border-radius: 50px; }
#site-header .et_pb_menu .et-menu > li.menu-btn > a:hover, #site-header .et_pb_menu .et-menu > li.menu-btn-destacado > a:hover { background:#7d0057 !important; border-color:#7d0057 !important; color:#fff !important; }
#site-header.is-scrolled { box-shadow: 0 2px 12px rgba(0,0,0,.06); padding: var(--y-pad-scrolled) 0; }
#site-header .et_pb_menu_inner_container { display:flex; align-items:center; }
#site-header .et_pb_menu__wrap { margin-left:auto; }

@media (max-width:980px) {
  #site-header .et_pb_menu .et_mobile_menu { position: fixed !important; left: 0; right: 0; top: 72px; width: 100vw; z-index: 99999; background-color: #ffffff !important; opacity: 1 !important; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
  #site-header .et_mobile_menu li, #site-header .et_mobile_menu li a { background-color: #ffffff !important; }
  #site-header .et_mobile_menu li a:hover { background-color: #f6f6f6 !important; }
}


/* =========================================
   NUEVA CABECERA (THEME BUILDER DIVI)
   ========================================= */

/* --- 1. PRE-HEADER GENERAL --- */
body #page-container .et_pb_section_0_tb_header.et_pb_section { background-color: var(--bg-light) !important; padding: 0 !important; border-bottom: 1px solid var(--border-color) !important; }
.et_pb_section_0_tb_header .et_pb_row { max-width: 1280px !important; height: 40px !important; padding: 0 20px !important; }
.et_pb_section_0_tb_header .et_pb_module { background-color: transparent !important; margin: 0 !important; padding: 0 !important; }
.et_pb_section_0_tb_header .et_pb_menu_inner_container, .et_pb_section_0_tb_header .et_pb_menu__wrap, .et_pb_section_0_tb_header .et_pb_menu__menu { display: flex !important; align-items: center !important; width: auto !important; margin: 0 !important; padding: 0 !important; }

/* Tipografía Pre-Header */
.et_pb_section_0_tb_header nav ul li a, .wpml-ls-native { font-family: 'Outfit', sans-serif !important; font-size: 13px !important; font-weight: 500 !important; color: var(--text-muted) !important; transition: color 0.3s ease; line-height: 1 !important; display: flex !important; align-items: center !important; }
.et_pb_section_0_tb_header nav ul li a:hover { color: var(--primary-color) !important; }

/* Distribución y Separadores (Flexbox unificado corregido) */
.et_pb_section_0_tb_header .et_pb_column_0_tb_header { 
    display: flex !important; 
    justify-content: flex-end !important; 
    align-items: center !important; 
    gap: 30px !important; 
}

/* Quita el gap de 30px en las cabeceras marcadas */
.et_pb_section_0_tb_header .et_pb_column_0_tb_header.header-sin-gap {
    gap: 0px !important;
}

.et_pb_menu_1_tb_header ul.et-menu { 
    display: flex !important; 
    flex-direction: row !important; 
    flex-wrap: nowrap !important;   
    align-items: center !important; 
    gap: 30px !important; 
    margin: 0 !important; 
    padding: 0 !important; 
    width: max-content !important;  
}

.et_pb_menu_1_tb_header ul.et-menu li { 
    margin: 0 !important; 
    padding: 0 !important; 
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important; 
}

.et_pb_section_0_tb_header .et_pb_menu_0_tb_header, .et_pb_menu_1_tb_header li.menu-separador { position: relative !important; }
.et_pb_section_0_tb_header .et_pb_menu_0_tb_header::after, .et_pb_menu_1_tb_header li.menu-separador::after {
  content: ''; position: absolute !important; right: -15px !important; top: 50% !important; transform: translateY(-50%) !important; width: 1px !important; height: 14px !important; background-color: #D1D5DB !important;
}

/* Icono Material en "Iniciar sesión" */
.et_pb_menu_1_tb_header li.menu-usericon > a { display: inline-flex !important; align-items: center !important; gap: 6px !important; }
/* --- ICONO VECTORIAL SVG EN "INICIAR SESIÓN" (Sin FOUC) --- */
.et_pb_menu_1_tb_header li.menu-usericon > a::before {
    content: '' !important; /* Ya no inyectamos texto */
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    background-color: currentColor !important; /* Hereda el color del texto y del hover automáticamente */
    
    /* Usamos el SVG como máscara */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px'%3E%3Cpath d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm146.5-204.5Q340-521 340-580t40.5-99.5Q421-720 480-720t99.5 40.5Q620-639 620-580t-40.5 99.5Q539-440 480-440t-99.5-40.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm100-95.5q47-15.5 86-44.5-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160q53 0 100-15.5ZM523-537q17-17 17-43t-17-43q-17-17-43-17t-43 17q-17 17-17 43t17 43q17 17 43 17t43-17Zm-43-43Zm0 360Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px'%3E%3Cpath d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm146.5-204.5Q340-521 340-580t40.5-99.5Q421-720 480-720t99.5 40.5Q620-639 620-580t-40.5 99.5Q539-440 480-440t-99.5-40.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm100-95.5q47-15.5 86-44.5-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160q53 0 100-15.5ZM523-537q17-17 17-43t-17-43q-17-17-43-17t-43 17q-17 17-17 43t17 43q17 17 43 17t43-17Zm-43-43Zm0 360Z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Neutralizar el padding nativo de Divi para menús con desplegable en el Pre-Header */
body #page-container .et_pb_section_0_tb_header .et-menu .menu-item-has-children > a:first-child {
    padding-right: 0 !important;
}


/* --- 2. HEADER PRINCIPAL (Glassmorphism) --- */
body #page-container .et_pb_section_1_tb_header.et_pb_section { background-color: rgba(255, 255, 255, 0.8) !important; backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important; border-bottom: 1px solid var(--border-color) !important; padding: 0 !important; box-shadow: none !important; }
.et_pb_section_1_tb_header .et_pb_row { max-width: 1280px !important; height: 80px !important; padding: 0 20px !important; }

/* REFACTORIZACIÓN: La columna ahora agrupa todo a la derecha */
.et_pb_section_1_tb_header .et_pb_column { display: flex !important; justify-content: flex-end !important; align-items: center !important; gap: 20px !important; }

/* El logo absorbe el espacio izquierdo para empujar el menú */
.canvas-logo { flex-shrink: 0; margin-bottom: 0 !important; margin-right: auto !important; }
.canvas-logo img { max-height: 45px !important; width: auto !important; }

/* Estrangulación del menú de Divi para que no se centre */
.et_pb_section_1_tb_header .et_pb_module_inner { background-color: transparent !important; margin-bottom: 0 !important; }
body #page-container .et_pb_section_1_tb_header .et_pb_menu_2_tb_header { background-color: transparent !important; margin-bottom: 0 !important; flex: 0 0 auto !important; max-width: max-content !important; margin-left: auto !important; }

/* Someter la estructura interna de Divi */
body #page-container .et_pb_section_1_tb_header .et_pb_menu_inner_container,
body #page-container .et_pb_section_1_tb_header .et_pb_menu__wrap,
body #page-container .et_pb_section_1_tb_header .et-menu-nav { display: flex !important; justify-content: flex-end !important; width: 100% !important; }

/* Tipografía y enlaces del menú */
.et_pb_menu_2_tb_header nav > ul { display: flex !important; align-items: center !important; gap: 30px !important; }
.et_pb_menu_2_tb_header nav ul li { margin: 0 !important; padding: 0 !important; }
.et_pb_menu_2_tb_header nav ul li a { font-family: 'Outfit', sans-serif !important; font-size: 15px !important; font-weight: 500 !important; color: var(--text-dark) !important; padding: 0 !important; transition: color 0.3s ease; }
.et_pb_menu_2_tb_header nav ul li a:hover { color: var(--primary-color) !important; }
.et_pb_menu .et-menu-nav li.current-menu-item > a { background-color: transparent !important; }

/* Botón CTA "Comprar" */
.et_pb_section_1_tb_header nav ul li.menu-btn-destacado { margin-left: 10px !important; }
.et_pb_section_1_tb_header nav ul li.menu-btn-destacado a { background-color: var(--primary-color) !important; color: #ffffff !important; padding: 10px 28px !important; border-radius: 9999px !important; font-weight: 600 !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; transition: all 0.3s ease; }
.et_pb_section_1_tb_header nav ul li.menu-btn-destacado a:hover { background-color: #4a3f75 !important; transform: scale(0.95); }

/* Eliminar el "hueco fantasma" del trigger en escritorio */
@media (min-width: 981px) {
    body #page-container .et_pb_section_1_tb_header .canvas-fullscreen-menu-trigger { display: none !important; width: 0 !important; margin: 0 !important; padding: 0 !important; }
}

/* --- 3. COMPORTAMIENTO MÓVIL (Theme Builder Header) --- */
@media (max-width: 980px) {
  /* Ocultar hamburguesa del top bar */
  .et_pb_section_0_tb_header .et_mobile_nav_menu { display: none !important; }
  .et_pb_section_0_tb_header .et_pb_menu__menu { display: block !important; }
  
  /* PREHEADER: Alinear a la DERECHA en móvil */
  .et_pb_section_0_tb_header .et_pb_column_0_tb_header { justify-content: flex-end !important; align-items: center !important; }
  .et_pb_section_0_tb_header nav ul { display: flex !important; justify-content: flex-end !important; align-items: center !important; gap: 15px !important; }
  
  /* HEADER PRINCIPAL: Logo a la izquierda, hamburguesa a la derecha */
  .et_pb_section_1_tb_header .et_pb_column { width: 100% !important; justify-content: space-between !important; }
  .et_pb_section_1_tb_header .et_mobile_nav_menu { display: flex !important; justify-content: flex-end !important; }
  
  /* Resto de tu código para el menú desplegable móvil... */
  .et_pb_section_1_tb_header .et_mobile_menu { position: absolute !important; top: calc(100% + 10px) !important; left: auto !important; right: 0 !important; width: 260px !important; max-width: 90vw !important; background-color: #ffffff !important; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1) !important; border-radius: 12px !important; padding: 15px !important; border: 1px solid var(--border-color) !important; }
  .et_pb_section_1_tb_header .et_mobile_menu li { margin-bottom: 5px !important; border-bottom: none !important; }
  .et_pb_section_1_tb_header .et_mobile_menu li a { color: var(--text-dark) !important; padding: 10px 15px !important; font-weight: 500 !important; }
  .et_pb_section_1_tb_header .et_mobile_menu li.menu-btn-destacado a { text-align: center !important; margin: 15px auto 5px auto !important; display: block !important; background-color: var(--primary-color) !important; color: #ffffff !important; border-radius: 9999px !important; width: 90% !important; padding: 12px 20px !important; }
  .et_pb_section_1_tb_header .et_mobile_menu li.menu-btn-destacado a:hover, .et_pb_section_1_tb_header .et_mobile_menu li.menu-btn-destacado a:active { background-color: #4a3f75 !important; transform: scale(0.95) !important; }
  
  .et_pb_section_1_tb_header .mobile_nav.opened .mobile_menu_bar::before { content: '\4d' !important; color: var(--primary-color) !important; }
  .et_pb_section_0_tb_header .et_pb_row.et_pb_equal_columns, .et_pb_section_1_tb_header .et_pb_row { display: flex !important; flex-direction: row !important; align-items: center !important; }
}
@media (min-width: 981px) {
  .mobile-only-menu-item { display: none !important; }
  .canvas-fullscreen-menu-trigger { display: none !important; }
}

/* Corrección exclusiva para evitar colisión del subrayado en móvil */
@media (max-width: 767px) {
    .beepaths-hero-title {
        line-height: 1.2 !important; 
    }
}

/* Subrayado escalable */
.beepaths-highlight-text {
    color: #5B4E8D;
    text-decoration: underline;
    text-decoration-color: #fbc83c;
    text-decoration-thickness: 0.08em; 
    text-underline-offset: 0.15em; 
}

/* Corchetes abstraídos */
.beepaths-bracket-box {
    position: relative;
    padding: 0 24px;
}
.beepaths-bracket-box::before,
.beepaths-bracket-box::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 10px;
    border: 4px solid #5B4E8D;
}
.beepaths-bracket-box::before {
    left: 0;
    border-right: none;
    border-radius: 8px 0 0 8px;
}
.beepaths-bracket-box::after {
    right: 0;
    border-left: none;
    border-radius: 0 8px 8px 0;
}

/* ============================================================
   ARQUITECTURA: Flujo Imagen -> Texto con Espaciado
   ============================================================ */

@media all and (max-width: 980px) {
  /* Inversión de columnas */
  .invertir-en-movil {
    display: flex !important;
    flex-direction: column-reverse !important;
  }

  /* Separación entre la imagen (ahora arriba) y el texto (abajo) */
  .invertir-en-movil > .et_pb_column:last-child {
    margin-bottom: 40px !important; /* Espacio de respiro entre mockup y titular */
  }
}

/* ============================================================
   FIX: Mockup Animación (Sección 3) y Sombras
   ============================================================ */

/* 1. Evitar el corte de la sombra en el stage */
.stage {
  overflow: visible !important; /* Permite que la sombra "salga" del contenedor */
  height: auto !important;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0; /* Margen interno para que no se pegue a los bordes de la fila */
}

/* 2. Suavizar la sombra para que no sea tan agresiva y se note menos el borde */
.phone-frame {
  box-shadow: 0 20px 60px -15px rgba(0,0,0,0.2) !important;
  border: 4px solid #ffffff !important; /* Un borde algo más fino ayuda en móvil */
}

/* 3. Ajuste de escala en móviles para que no toque los bordes del dispositivo */
@media all and (max-width: 767px) {
  .stage {
    min-height: 420px; /* Reducimos altura en móvil para evitar huecos blancos */
  }
  
  @keyframes focoFuturo {
    0%, 45% { opacity: 0; transform: translateX(30px) scale(0.7); }
    60%, 90% { opacity: 1; transform: translateX(0) scale(0.85); } /* Escala reducida de seguridad */
    100% { opacity: 0; transform: scale(0.9); }
  }
}

/* ==========================================================
   BEEPATHS: TABLA DE PRECIOS
========================================================== */
/* Suavizado del hover (Transform y Sombra) en las tarjetas */
.bp-pricing-row .et_pb_column {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform, box-shadow;
}

/* =========================================
   SISTEMA WPML (Desplegable Selector Idiomas)
   ========================================= */

/* Ocultar WPML si no hay traducción */
ul.et-menu > li.wpml-ls-item:not(.menu-item-has-children), ul.et_mobile_menu > li.wpml-ls-item:not(.menu-item-has-children) { display: none !important; }

/* Enlace principal WPML (Español) */
.et_pb_section_0_tb_header .wpml-ls-item { position: relative !important; margin: 0 !important; padding: 0 !important; cursor: pointer !important; padding-bottom: 20px !important; margin-bottom: -20px !important; }
.et_pb_section_0_tb_header .wpml-ls-native { display: flex !important; align-items: center !important; gap: 4px !important; }
.et_pb_section_0_tb_header .et-menu-nav li.menu-item-has-children > a::after { position: relative !important; top: 0 !important; right: 0 !important; margin: 0 0 0 6px !important; display: flex !important; align-items: center !important; line-height: 1 !important; }

/* Estados Hover Correctos (Mata el verde de Divi) */
.et_pb_section_0_tb_header .et_pb_menu_0_tb_header.et_pb_menu ul li:hover > a,
.et_pb_section_0_tb_header .et_pb_menu_0_tb_header.et_pb_menu ul li:hover > a span,
.et_pb_section_0_tb_header .et_pb_menu_0_tb_header.et_pb_menu ul li:hover > a::after,
.et_pb_section_0_tb_header .et_pb_menu_0_tb_header ul li.wpml-ls-item:hover > a {
    color: var(--primary-color) !important; opacity: 0.7 !important; transition: all 0.3s ease !important;
}

/* Caja del Submenú */
.et_pb_section_0_tb_header ul.sub-menu {
  display: flex !important; flex-direction: column !important; position: absolute !important; top: 45px !important; right: 0 !important; width: 160px !important; background-color: #ffffff !important; border: 1px solid var(--border-color) !important; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important; border-radius: 8px !important; padding: 4px 0 !important; z-index: 9999 !important; gap: 0 !important;
}

/* Opciones del Submenú (Limpieza de bloqueos) */
.et_pb_section_0_tb_header ul.sub-menu > li.wpml-ls-item { min-height: auto !important; line-height: normal !important; padding: 0 !important; margin: 0 !important; width: 100% !important; border-bottom: 1px solid var(--border-color) !important; }
.et_pb_section_0_tb_header ul.sub-menu > li.wpml-ls-item:last-child { border-bottom: none !important; }

/* Enlaces del submenú (Padding y Área Clicable) */
.et_pb_section_0_tb_header ul.sub-menu > li.wpml-ls-item > a {
  display: block !important; width: 100% !important; box-sizing: border-box !important; padding: 14px 22px !important; line-height: 1.2 !important; color: var(--text-dark) !important; font-weight: 500 !important; transition: all 0.2s ease !important;
}
.et_pb_section_0_tb_header ul.sub-menu > li.wpml-ls-item > a > span.wpml-ls-native { display: inline-block !important; vertical-align: middle !important; }

/* Hover en las opciones del submenú */
.et_pb_section_0_tb_header ul.sub-menu > li.wpml-ls-item > a:hover {
  background-color: var(--bg-light) !important; color: var(--primary-color) !important; opacity: 1 !important;
}

/* Extras */
@keyframes beepaths-bounce-arrow { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
.beepaths-animated-arrow { animation: beepaths-bounce-arrow 2s infinite ease-in-out; display: inline-block; margin-top: 4px; }

/* --- ELIMINAR PADDING FANTASMA DE DIVI EN EL PREHEADER --- */
.et_pb_section_0_tb_header .et_pb_menu--without-logo .et_pb_menu__menu > nav > ul > li > a {
    padding-bottom: 0 !important;
}

@media (max-width: 980px) {
    /* 1. Anula el space-between residual forzando agrupación a la derecha */
    body #page-container .et_pb_section_1_tb_header .et_pb_column {
        justify-content: flex-end !important;
    }

    /* 2. El logo empuja todo el bloque de menús hacia el extremo derecho */
    body #page-container .et_pb_section_1_tb_header .canvas-logo {
        margin-right: auto !important;
    }

    /* 3. Limita el crecimiento del menú para evitar colisiones */
    .et_pb_section_1_tb_header .et_pb_menu_2_tb_header {
        width: auto !important;
        flex: 0 1 auto !important;
    }

    /* 4. Oculta el tercer módulo fantasma si no se está usando (previene espacios vacíos) */
    .et_pb_section_1_tb_header .canvas-fullscreen-menu-trigger {
        display: none !important;
    }
}
.et_pb_blog_grid .et_pb_salvattore_content[data-columns="3"] {
    display: flex;
    flex-wrap: nowrap;
}