/*
Theme Name:   Whieda Divi Child
Theme URI:    https://whieda.com
Description:  Tema hijo de Divi para Whieda — reclutamiento, orientación, consultoría, productos y liderazgo ético. Diseño cuadrado (sin bordes redondeados) alineado con el estilo Divi de Elegant Themes.
Author:       Whieda
Author URI:   https://whieda.com
Template:     Divi
Version:      1.0.0
License:      GPL-2.0-or-later
Text Domain:  whieda-divi
Tags:         divi, child-theme, multilingual, wpml, polylang, business, leadership
*/

/* ======================================================
   VARIABLES DE MARCA WHIEDA
====================================================== */
:root {
    --whieda-primary:        #1B4F8A;
    --whieda-primary-dark:   #163D6D;
    --whieda-primary-light:  #2D6CB0;
    --whieda-secondary:      #1A7A4A;
    --whieda-secondary-light:#22A163;
    --whieda-accent:         #C68A00;
    --whieda-accent-light:   #F0AA00;
    --whieda-dark:           #0D1B2A;
    --whieda-neutral:        #64748B;
    --whieda-light:          #F0F4F8;
    --whieda-white:          #FFFFFF;
    --whieda-border:         #E2E8F0;
    --whieda-shadow:         rgba(27, 79, 138, 0.12);
    --whieda-shadow-hover:   rgba(27, 79, 138, 0.24);
}

/* ======================================================
   RESET GLOBAL — CUADRADOS (sin border-radius en Divi)
====================================================== */

/* Quitar todos los border-radius de Divi para el look cuadrado */
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_module,
.et_pb_blurb,
.et_pb_cta,
.et_pb_button_module,
.et_pb_text,
.et_pb_image,
.et_pb_pricing_table,
.et_pb_accordion_item,
.et_pb_promo,
.et_pb_number_counter,
.et_pb_team_member,
.et_pb_testimonial {
    border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
}

.et_pb_button,
.et_pb_promo_button,
input[type="submit"],
button,
.button {
    border-radius: 0 !important;
}

/* ======================================================
   TIPOGRAFÍA GLOBAL
====================================================== */
body,
.et_pb_text p,
.et_pb_blurb_description {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: var(--whieda-dark);
}

h1, h2, h3, h4, h5, h6,
.et_pb_text h1, .et_pb_text h2,
.et_pb_text h3, .et_pb_text h4 {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--whieda-dark);
}

/* ======================================================
   TARJETAS / CUADROS — Estilo base para módulos Divi
====================================================== */
.whieda-card .et_pb_module_inner,
.et_pb_blurb.whieda-card {
    background: var(--whieda-white);
    border: 1px solid var(--whieda-border);
    box-shadow: 0 2px 20px var(--whieda-shadow);
    padding: 32px;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.whieda-card .et_pb_module_inner:hover,
.et_pb_blurb.whieda-card:hover {
    box-shadow: 0 8px 40px var(--whieda-shadow-hover);
    transform: translateY(-2px);
}

/* Cuadro resaltado azul */
.whieda-card-primary .et_pb_module_inner {
    background: var(--whieda-primary);
    border-color: var(--whieda-primary-dark);
    color: #fff;
}

/* Cuadro resaltado verde */
.whieda-card-secondary .et_pb_module_inner {
    background: var(--whieda-secondary);
    border-color: #0f5c35;
    color: #fff;
}

/* Cuadro resaltado dorado */
.whieda-card-accent .et_pb_module_inner {
    background: var(--whieda-accent);
    border-color: #a07000;
    color: #fff;
}

/* ======================================================
   SECCIONES — Padding estándar
====================================================== */
.whieda-section-padding {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}

.whieda-section-padding-sm {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* ======================================================
   BOTONES — Estilo cuadrado Whieda
====================================================== */
.whieda-btn-primary.et_pb_button,
a.whieda-btn-primary {
    background-color: var(--whieda-primary) !important;
    border-color: var(--whieda-primary) !important;
    color: #fff !important;
    font-weight: 700 !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    letter-spacing: 0.03em !important;
    transition: background 0.2s ease !important;
}

.whieda-btn-primary.et_pb_button:hover,
a.whieda-btn-primary:hover {
    background-color: var(--whieda-primary-dark) !important;
    border-color: var(--whieda-primary-dark) !important;
}

.whieda-btn-accent.et_pb_button,
a.whieda-btn-accent {
    background-color: var(--whieda-accent) !important;
    border-color: var(--whieda-accent) !important;
    color: #0D1B2A !important;
    font-weight: 700 !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    letter-spacing: 0.03em !important;
}

.whieda-btn-accent.et_pb_button:hover,
a.whieda-btn-accent:hover {
    background-color: var(--whieda-accent-light) !important;
    border-color: var(--whieda-accent-light) !important;
}

.whieda-btn-outline.et_pb_button,
a.whieda-btn-outline {
    background-color: transparent !important;
    border: 2px solid var(--whieda-primary) !important;
    color: var(--whieda-primary) !important;
    font-weight: 700 !important;
    padding: 12px 30px !important;
}

.whieda-btn-outline.et_pb_button:hover,
a.whieda-btn-outline:hover {
    background-color: var(--whieda-primary) !important;
    color: #fff !important;
}

/* ======================================================
   BLURB MODULES — Tarjetas de funcionalidad
====================================================== */
.et_pb_blurb {
    background: var(--whieda-white);
    border: 1px solid var(--whieda-border);
    box-shadow: 0 2px 16px var(--whieda-shadow);
    padding: 30px !important;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    height: 100%;
}

.et_pb_blurb:hover {
    box-shadow: 0 6px 32px var(--whieda-shadow-hover);
    transform: translateY(-3px);
}

.et_pb_blurb .et_pb_main_blurb_image {
    margin-bottom: 18px !important;
}

.et_pb_blurb .et_pb_blurb_container {
    text-align: left;
}

.et_pb_blurb .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.et_pb_blurb_title {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--whieda-dark) !important;
    margin-bottom: 6px !important;
}

.et_pb_blurb_description {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: var(--whieda-neutral) !important;
}

/* Ícono cuadrado */
.et_pb_blurb .et_pb_main_blurb_image .et-pb-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 52px !important;
    height: 52px !important;
    background: rgba(27, 79, 138, 0.10) !important;
    padding: 10px !important;
}

/* ======================================================
   NÚMERO COUNTER — Estadísticas
====================================================== */
.et_pb_number_counter {
    padding: 20px 10px !important;
}

.et_pb_counter_container .percent {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.et_pb_counter_title {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-top: 8px !important;
}

/* ======================================================
   PRICING TABLES — Niveles de servicio
====================================================== */
.et_pb_pricing_table {
    border: 1px solid var(--whieda-border) !important;
    box-shadow: 0 2px 20px var(--whieda-shadow) !important;
}

.et_pb_pricing_table .et_pb_pricing_heading {
    padding: 28px 24px !important;
}

.et_pb_pricing_table .et_pb_pricing_content_top {
    padding: 20px 24px !important;
}

.et_pb_pricing_table .et_pb_pricing_content {
    padding: 0 24px 28px !important;
}

.et_pb_pricing_table .et_pb_pricing_content li {
    font-size: 14px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid var(--whieda-border) !important;
}

.et_pb_pricing_table .et_pb_pricing_content li:last-child {
    border-bottom: none !important;
}

.et_pb_featured_table {
    transform: scale(1.04);
    box-shadow: 0 8px 40px var(--whieda-shadow-hover) !important;
}

/* ======================================================
   ACCORDION — FAQ / pasos
====================================================== */
.et_pb_accordion_item {
    border: 1px solid var(--whieda-border) !important;
    margin-bottom: 6px !important;
    background: var(--whieda-white) !important;
}

.et_pb_accordion_item h5.et_pb_toggle_title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--whieda-dark) !important;
    padding: 16px 20px !important;
}

.et_pb_accordion_item.et_pb_toggle_open {
    border-color: var(--whieda-primary) !important;
    border-left: 3px solid var(--whieda-primary) !important;
}

.et_pb_accordion_item.et_pb_toggle_open h5 {
    color: var(--whieda-primary) !important;
}

/* ======================================================
   CTA — Llamada a la acción
====================================================== */
.et_pb_promo {
    padding: 60px !important;
    border-left: 4px solid var(--whieda-accent) !important;
}

.et_pb_promo h2.et_pb_promo_title {
    font-size: 36px !important;
    font-weight: 800 !important;
    margin-bottom: 16px !important;
}

/* ======================================================
   LISTA DE CHEQUEO — Checkmark items
====================================================== */
.whieda-checklist ul,
.whieda-checklist p {
    list-style: none !important;
    padding: 0 !important;
}

.whieda-checklist li,
.whieda-checklist p {
    padding-left: 28px !important;
    position: relative !important;
    margin-bottom: 12px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: var(--whieda-neutral) !important;
}

.whieda-checklist li::before,
.whieda-checklist p::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: var(--whieda-secondary) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* ======================================================
   BADGE / ETIQUETA SUPERIOR
====================================================== */
.whieda-badge {
    display: inline-block;
    background: rgba(27, 79, 138, 0.12);
    color: var(--whieda-primary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 6px 14px;
    margin-bottom: 16px;
}

.whieda-badge-white {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

/* ======================================================
   SEPARADOR / DIVIDER
====================================================== */
.whieda-divider {
    height: 4px !important;
    background: linear-gradient(to right, var(--whieda-primary), var(--whieda-secondary)) !important;
    width: 60px !important;
    margin-bottom: 24px !important;
}

/* ======================================================
   SECCIÓN DE INGRESOS — Destacado €85K
====================================================== */
.whieda-earnings-box {
    background: linear-gradient(135deg, var(--whieda-dark) 0%, var(--whieda-primary) 100%);
    padding: 50px 40px;
    text-align: center;
    color: #fff;
}

.whieda-earnings-box .whieda-amount {
    font-size: 80px;
    font-weight: 900;
    color: var(--whieda-accent-light);
    line-height: 1;
    letter-spacing: -0.03em;
}

.whieda-earnings-box .whieda-amount-label {
    font-size: 14px;
    color: rgba(255,255,255,0.60);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 8px;
}

.whieda-earnings-box .whieda-stats-row {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.15);
}

.whieda-earnings-box .whieda-stat-item .value {
    font-size: 24px;
    font-weight: 800;
    color: #fff;
}

.whieda-earnings-box .whieda-stat-item .label {
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ======================================================
   HITOS / MILESTONES — Niveles de ingresos
====================================================== */
.whieda-milestone {
    background: var(--whieda-white);
    border: 2px solid var(--whieda-border);
    padding: 30px 24px;
    text-align: center;
}

.whieda-milestone.bronze  { border-top: 4px solid #CD7F32; }
.whieda-milestone.silver  { border-top: 4px solid #A8A9AD; }
.whieda-milestone.gold    { border-top: 4px solid #FFD700; }
.whieda-milestone.platinum { border-top: 4px solid var(--whieda-primary); background: linear-gradient(to bottom, #f0f6ff, #fff); }

.whieda-milestone .level-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--whieda-neutral);
    margin-bottom: 8px;
}

.whieda-milestone .amount {
    font-size: 30px;
    font-weight: 900;
    color: var(--whieda-dark);
    line-height: 1;
}

.whieda-milestone .period {
    font-size: 12px;
    color: var(--whieda-neutral);
    margin-top: 4px;
}

.whieda-milestone .description {
    font-size: 13px;
    color: var(--whieda-neutral);
    margin-top: 12px;
    line-height: 1.5;
}

/* ======================================================
   PASOS DEL PROCESO — 7 pasos de reclutamiento
====================================================== */
.whieda-step {
    background: var(--whieda-white);
    border: 1px solid var(--whieda-border);
    padding: 24px 20px;
    text-align: center;
    position: relative;
    box-shadow: 0 2px 12px var(--whieda-shadow);
}

.whieda-step .step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: var(--whieda-primary);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    margin: 0 auto 14px;
}

.whieda-step .step-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--whieda-dark);
    margin-bottom: 6px;
}

.whieda-step .step-desc {
    font-size: 13px;
    color: var(--whieda-neutral);
    line-height: 1.5;
}

/* Línea conectora entre pasos */
.whieda-steps-row .et_pb_row::before {
    content: '';
    position: absolute;
    top: 44px;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(to right, var(--whieda-primary), var(--whieda-secondary));
    z-index: 0;
}

/* ======================================================
   SKILLS — Habilidades blandas/duras
====================================================== */
.whieda-skill-item {
    background: var(--whieda-white);
    border: 1px solid var(--whieda-border);
    border-left: 3px solid var(--whieda-primary);
    padding: 16px 20px;
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.whieda-skill-item.soft { border-left-color: #E11D48; }
.whieda-skill-item.hard { border-left-color: var(--whieda-primary); }

.whieda-skill-item .skill-icon {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 2px;
}

.whieda-skill-item .skill-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--whieda-dark);
    margin-bottom: 3px;
}

.whieda-skill-item .skill-desc {
    font-size: 13px;
    color: var(--whieda-neutral);
    line-height: 1.5;
}

/* ======================================================
   RECURSOS — Cuadros de recursos de orientación
====================================================== */
.whieda-resource {
    background: var(--whieda-white);
    border: 1px solid var(--whieda-border);
    padding: 36px 24px;
    text-align: center;
    box-shadow: 0 2px 16px var(--whieda-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.whieda-resource:hover {
    box-shadow: 0 6px 30px var(--whieda-shadow-hover);
    transform: translateY(-2px);
}

.whieda-resource .resource-icon {
    font-size: 36px;
    color: var(--whieda-primary);
    margin-bottom: 14px;
    display: block;
}

.whieda-resource .resource-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--whieda-dark);
    margin-bottom: 8px;
}

.whieda-resource .resource-desc {
    font-size: 13px;
    color: var(--whieda-neutral);
    line-height: 1.5;
}

/* ======================================================
   HEADER / NAVBAR — Personalización Divi
====================================================== */
#et-top-navigation .et_pb_menu .nav li a,
#top-menu li a {
    color: var(--whieda-dark) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    letter-spacing: 0.02em !important;
}

#et-top-navigation .et_pb_menu .nav li a:hover,
#top-menu li a:hover {
    color: var(--whieda-primary) !important;
}

#logo {
    max-height: 52px !important;
}

/* Header fixed con sombra */
#main-header {
    box-shadow: 0 2px 20px rgba(13,27,42,0.10) !important;
    background: rgba(255,255,255,0.97) !important;
    backdrop-filter: blur(8px) !important;
}

/* ======================================================
   FOOTER — Personalización
====================================================== */
#footer-info,
#et-footer-nav {
    background-color: var(--whieda-dark) !important;
    color: rgba(255,255,255,0.60) !important;
}

.et_pb_section.whieda-footer {
    background-color: var(--whieda-dark) !important;
}

.whieda-footer .et_pb_text_inner,
.whieda-footer p,
.whieda-footer h4 {
    color: rgba(255,255,255,0.85) !important;
}

.whieda-footer a {
    color: rgba(255,255,255,0.60) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.whieda-footer a:hover {
    color: #fff !important;
}

/* ======================================================
   GRADIENTES DE SECCIÓN — Fondos especiales
====================================================== */
.whieda-hero-gradient {
    background: linear-gradient(135deg, var(--whieda-dark) 0%, var(--whieda-primary) 60%, var(--whieda-secondary) 100%) !important;
}

.whieda-primary-gradient {
    background: linear-gradient(135deg, var(--whieda-primary-dark) 0%, var(--whieda-primary) 100%) !important;
}

.whieda-secondary-gradient {
    background: linear-gradient(135deg, #0d5c35 0%, var(--whieda-secondary) 100%) !important;
}

.whieda-accent-gradient {
    background: linear-gradient(135deg, #7a5200 0%, var(--whieda-accent) 100%) !important;
}

.whieda-dark-gradient {
    background: linear-gradient(135deg, #060d16 0%, var(--whieda-dark) 100%) !important;
}

/* ======================================================
   RESPONSIVE — Tablet y móvil
====================================================== */
@media (max-width: 980px) {
    .et_pb_blurb {
        margin-bottom: 20px !important;
    }

    .et_pb_pricing_tables .et_pb_pricing_table {
        width: 100% !important;
        float: none !important;
        margin-bottom: 20px !important;
    }

    .et_pb_featured_table {
        transform: none !important;
    }

    .whieda-earnings-box .whieda-amount {
        font-size: 60px;
    }

    .whieda-earnings-box .whieda-stats-row {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .whieda-earnings-box {
        padding: 36px 24px;
    }

    .whieda-earnings-box .whieda-amount {
        font-size: 50px;
    }

    .whieda-step {
        margin-bottom: 12px;
    }
}

/* ======================================================
   LANGUAGE SWITCHER — WPML / Polylang
====================================================== */
.wpml-ls-statics-shortcode_actions,
.pll-parent-menu-item {
    margin-left: 10px !important;
}

.wpml-ls a,
.pll-parent-menu-item a {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--whieda-primary) !important;
    border: 1px solid var(--whieda-primary) !important;
    padding: 4px 10px !important;
    transition: all 0.2s ease !important;
}

.wpml-ls a:hover,
.pll-parent-menu-item a:hover {
    background: var(--whieda-primary) !important;
    color: #fff !important;
}
