/*
Theme Name:   Develon Child
Theme URI:    https://develon.mx
Description:  Child theme de Divi para develon.mx — VRM Distribuidor Autorizado DEVELON México
Author:       VRM Develon
Author URI:   https://develon.mx
Template:     Divi
Version:      1.0.0
Text Domain:  develon-child
*/

:root {
  --d-orange:       #FF6A00;
  --d-orange-dark:  #CC5500;
  --d-orange-light: #FF8C33;
  --d-black:        #1C1C1C;
  --d-black-light:  #2A2A2A;
  --d-white:        #FFFFFF;
  --d-gray-bg:      #F5F5F5;
  --d-gray-text:    #555555;
  --d-gray-border:  #DDDDDD;
  --d-overlay:      rgba(28, 28, 28, 0.75);
  --font-primary:   'Exo', Arial, sans-serif;
  --section-padding-v:  70px;
  --section-padding-h:  0px;
  --col-padding:        40px;
  --col-padding-mobile: 20px;
  --radius-btn:  3px;
  --radius-card: 3px;
}

body, .et_pb_text, .et_pb_blurb, p {
  font-family: var(--font-primary);
  font-weight: 400;
  color: var(--d-gray-text);
  line-height: 1.7;
}
h1, h2, h3, h4, h5, h6,
.et_pb_module_header, .et_pb_title {
  font-family: var(--font-primary);
  font-weight: 700;
  color: var(--d-black);
  line-height: 1.25;
}

#main-header,
#main-header.et-fixed-header {
  background-color: var(--d-black) !important;
  border-bottom: none !important;
}
#main-header .et_pb_menu .et_pb_menu__logo img,
#logo { max-height: 38px; }

#main-header .et_pb_menu .et_menu li a,
#main-header nav ul li a {
  font-family: var(--font-primary);
  font-size: 13px; font-weight: 400;
  color: rgba(255, 255, 255, 0.75) !important;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
#main-header .et_pb_menu .et_menu li a:hover,
#main-header nav ul li a:hover { color: var(--d-orange) !important; }

#main-header .et_pb_menu .current-menu-item > a,
#main-header nav ul .current-menu-item > a,
#main-header nav ul .current_page_item > a {
  color: var(--d-orange) !important;
  font-weight: 600;
}
#main-header .et_pb_menu .et_menu ul {
  background-color: var(--d-black-light) !important;
  border-top: 2px solid var(--d-orange);
}
#main-header .et_pb_menu .et_menu ul li a {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  padding: 10px 18px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
#main-header .et_pb_menu .et_menu ul li a:hover {
  color: var(--d-orange) !important;
  background-color: var(--d-black) !important;
}
#main-header.et-fixed-header {
  background-color: var(--d-black) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
}

.et_pb_button, .et_pb_button_0, a.et_pb_button {
  font-family: var(--font-primary) !important;
  font-size: 13px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  background-color: var(--d-orange) !important;
  color: var(--d-white) !important;
  border: none !important;
  border-radius: var(--radius-btn) !important;
  padding: 12px 28px !important;
  transition: background-color 0.2s ease, transform 0.1s ease !important;
}
.et_pb_button:hover, a.et_pb_button:hover {
  background-color: var(--d-orange-dark) !important;
  border: none !important;
  transform: translateY(-1px);
}
.btn-outline-white.et_pb_button {
  background-color: transparent !important;
  color: var(--d-white) !important;
  border: 1.5px solid var(--d-white) !important;
}
.btn-outline-white.et_pb_button:hover { background-color: rgba(255,255,255,0.1) !important; }
.btn-black.et_pb_button {
  background-color: var(--d-black) !important;
  color: var(--d-white) !important;
  border: none !important;
}
.btn-black.et_pb_button:hover { background-color: #111111 !important; }
.btn-outline-orange.et_pb_button {
  background-color: transparent !important;
  color: var(--d-orange) !important;
  border: 1.5px solid var(--d-orange) !important;
}
.btn-outline-orange.et_pb_button:hover { background-color: rgba(255,106,0,0.08) !important; }

.et_pb_section.section-dark     { background-color: var(--d-black) !important; }
.et_pb_section.section-dark-alt { background-color: var(--d-black-light) !important; }
.et_pb_section.section-orange   { background-color: var(--d-orange) !important; }
.et_pb_section.section-gray     { background-color: var(--d-gray-bg) !important; }
.et_pb_section.hero-section     { border-bottom: 3px solid var(--d-orange); }

.hero-badge {
  display: inline-block;
  background-color: var(--d-orange);
  color: var(--d-white);
  font-family: var(--font-primary);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.04em;
  padding: 4px 14px;
  border-radius: 2px;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.vrm-tag {
  display: flex; align-items: center; gap: 12px;
  background-color: var(--d-black-light);
  border-left: 3px solid var(--d-orange);
  padding: 12px 16px;
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  margin-top: 20px;
}
.vrm-tag p, .vrm-tag span { font-size: 13px; color: rgba(255,255,255,0.7); margin: 0; }

.contact-item {
  display: flex; align-items: flex-start; gap: 14px;
  background-color: var(--d-gray-bg);
  border-left: 3px solid var(--d-orange);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  padding: 12px 14px; margin-bottom: 10px;
}
.contact-item .et_pb_blurb_content,
.contact-item p { font-size: 13px; color: var(--d-gray-text); margin: 0; }
.contact-item strong { display: block; font-size: 14px; font-weight: 600; color: var(--d-black); margin-bottom: 2px; }

.smart-badge {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 8px; background-color: var(--d-orange);
  border-radius: var(--radius-card);
  padding: 16px 14px; min-width: 120px; text-align: center;
}
.smart-badge .badge-icon {
  width: 40px; height: 40px;
  background-color: rgba(255,255,255,0.2);
  border-radius: 50%; margin: 0 auto;
}
.smart-badge p, .smart-badge span {
  font-family: var(--font-primary);
  font-size: 11px; font-weight: 700;
  color: var(--d-white); letter-spacing: 0.06em;
  text-transform: uppercase; line-height: 1.3; margin: 0;
}

.eq-card {
  background-color: var(--d-white);
  border-radius: var(--radius-card);
  overflow: hidden;
  border: 1px solid var(--d-gray-border);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}
.eq-card:hover {
  border-color: var(--d-orange) !important;
  box-shadow: 0 4px 16px rgba(255,106,0,0.12);
}
.eq-card .eq-img {
  background-color: var(--d-black); height: 110px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.eq-card .eq-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.eq-card:hover .eq-img img { transform: scale(1.04); }
.eq-card .eq-body { padding: 14px 16px; }
.eq-card .eq-name { font-family: var(--font-primary); font-size: 14px; font-weight: 700; color: var(--d-black); margin-bottom: 4px; }
.eq-card .eq-desc { font-size: 12px; color: #888; margin-bottom: 10px; line-height: 1.4; }
.eq-card .eq-link { font-size: 12px; font-weight: 600; color: var(--d-orange); text-decoration: none; transition: color 0.2s ease; }
.eq-card .eq-link:hover { color: var(--d-orange-dark); }

.cat-tabs { display: flex; gap: 0; border-bottom: 2px solid #EEEEEE; margin-bottom: 20px; flex-wrap: wrap; }
.cat-tab {
  font-family: var(--font-primary);
  font-size: 12px; font-weight: 600;
  padding: 10px 18px; color: #888; cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: color 0.2s ease, border-color 0.2s ease;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.cat-tab:hover { color: var(--d-orange); }
.cat-tab.active { color: var(--d-orange); border-bottom-color: var(--d-orange); }

.cta-bar-section { background-color: var(--d-orange) !important; }
.cta-bar-section h2,
.cta-bar-section h3,
.cta-bar-section .et_pb_module_header {
  color: var(--d-white) !important;
  font-family: var(--font-primary) !important;
  font-size: 20px !important; font-weight: 700 !important; margin-bottom: 6px;
}
.cta-bar-section p,
.cta-bar-section .et_pb_text_inner { color: rgba(255,255,255,0.88) !important; font-size: 13px; }

.et_pb_contact_form input[type="text"],
.et_pb_contact_form input[type="email"],
.et_pb_contact_form input[type="tel"],
.et_pb_contact_form textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  font-family: var(--font-primary) !important;
  font-size: 14px !important; color: var(--d-black) !important;
  background-color: var(--d-white) !important;
  border: 1px solid var(--d-gray-border) !important;
  border-radius: var(--radius-btn) !important;
  padding: 10px 14px !important; width: 100% !important;
  transition: border-color 0.2s ease !important;
}
.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: var(--d-orange) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255,106,0,0.12) !important;
}
.et_pb_contact_form .et_pb_contact_submit,
.wpcf7 input[type="submit"] {
  font-family: var(--font-primary) !important;
  font-size: 13px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: 0.06em !important;
  background-color: var(--d-orange) !important;
  color: var(--d-white) !important; border: none !important;
  border-radius: var(--radius-btn) !important;
  padding: 12px 28px !important; width: 100% !important;
  cursor: pointer !important; transition: background-color 0.2s ease !important;
}
.et_pb_contact_form .et_pb_contact_submit:hover,
.wpcf7 input[type="submit"]:hover { background-color: var(--d-orange-dark) !important; }

.sede-card {
  background-color: var(--d-white);
  border-left: 3px solid var(--d-orange);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  padding: 14px 16px; margin-bottom: 12px;
}
.sede-card .sede-name { font-family: var(--font-primary); font-size: 14px; font-weight: 600; color: var(--d-black); margin-bottom: 4px; }
.sede-card .sede-addr { font-size: 12px; color: #888; line-height: 1.5; margin: 0; }

.cotizacion-modal { background-color: var(--d-white); border-radius: var(--radius-card); overflow: hidden; }
.cotizacion-modal .modal-title { font-family: var(--font-primary); font-size: 20px; font-weight: 700; color: var(--d-black); margin-bottom: 4px; }
.cotizacion-modal .modal-subtitle { font-size: 16px; font-weight: 600; color: var(--d-orange); margin-bottom: 16px; }
.cotizacion-modal .modal-close {
  position: absolute; top: 12px; right: 12px;
  width: 32px; height: 32px;
  background-color: var(--d-gray-bg); color: var(--d-black);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 16px; font-weight: 700; transition: background-color 0.2s ease;
}
.cotizacion-modal .modal-close:hover { background-color: var(--d-gray-border); }

#main-footer { background-color: var(--d-black) !important; }
#main-footer .et_pb_widget_area,
#main-footer .footer-widget { background-color: transparent !important; }
#main-footer .et_pb_widget_area h4,
#main-footer .footer-col-title,
#main-footer .widget-title {
  font-family: var(--font-primary) !important;
  font-size: 11px !important; font-weight: 700 !important;
  color: var(--d-orange) !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important; margin-bottom: 14px !important;
}
#main-footer a,
#main-footer .et_pb_widget_area a {
  font-family: var(--font-primary) !important;
  font-size: 12px !important; color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important; transition: color 0.2s ease !important;
  display: block; margin-bottom: 7px;
}
#main-footer a:hover,
#main-footer .et_pb_widget_area a:hover { color: var(--d-orange) !important; }
#main-footer p, #main-footer .et_pb_text {
  font-size: 12px !important; color: rgba(255,255,255,0.4) !important; line-height: 1.6 !important;
}
#footer-bottom { background-color: #111111 !important; border-top: none !important; }
#footer-bottom p, #footer-bottom .footer-info { font-size: 11px !important; color: rgba(255,255,255,0.3) !important; }
#footer-bottom a { color: rgba(255,255,255,0.3) !important; font-size: 11px !important; }
#footer-bottom a:hover { color: var(--d-orange) !important; }

.whatsapp-float {
  position: fixed; bottom: 28px; right: 28px;
  background-color: #25D366; color: var(--d-white);
  border-radius: 28px; padding: 10px 20px;
  font-family: var(--font-primary); font-size: 13px; font-weight: 600;
  display: flex; align-items: center; gap: 8px;
  text-decoration: none; z-index: 9999;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.whatsapp-float:hover { background-color: #1EBE5A; transform: translateY(-2px); color: var(--d-white) !important; }
.whatsapp-float svg { width: 18px; height: 18px; fill: currentColor; }

@media (max-width: 767px) {
  .hero-section .et_pb_row { flex-direction: column-reverse !important; }
  .hero-section .et_pb_column:first-child { order: 2; padding: var(--col-padding-mobile) !important; }
  .hero-section .et_pb_column:last-child { order: 1; }
  .eq-grid-mobile { display: flex !important; overflow-x: auto; gap: 10px; padding-bottom: 10px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .eq-grid-mobile::-webkit-scrollbar { display: none; }
  .eq-grid-mobile .eq-card { min-width: 130px; flex-shrink: 0; }
  .vrm-section .et_pb_column:first-child { order: 2; }
  .vrm-section .et_pb_column:last-child  { order: 1; }
  .cta-bar-section .et_pb_row { flex-direction: column; }
  .cta-bar-section .et_pb_button { width: 100% !important; text-align: center !important; margin-bottom: 10px !important; }
  .contact-section .et_pb_column { width: 100% !important; }
  #main-footer .et_pb_row { flex-wrap: wrap; }
  #main-footer .et_pb_column { width: 50% !important; margin-bottom: 28px; }
  .whatsapp-float { padding: 10px 14px; bottom: 20px; right: 16px; }
  .whatsapp-float span { display: none; }
  .whatsapp-float { border-radius: 50%; width: 52px; height: 52px; padding: 0; justify-content: center; }
}
@media (max-width: 480px) { #main-footer .et_pb_column { width: 100% !important; } }

.text-white, .text-white p, .text-white h1, .text-white h2, .text-white h3, .text-white h4 { color: var(--d-white) !important; }
.text-orange, .text-orange p { color: var(--d-orange) !important; }
.text-muted-dark, .text-muted-dark p { color: rgba(255,255,255,0.55) !important; }
.border-left-orange { border-left: 3px solid var(--d-orange) !important; padding-left: 14px !important; }
.divider-orange { border: none; border-top: 3px solid var(--d-orange); margin: 20px 0; }
.hide-mobile { display: block; }
@media (max-width: 767px) { .hide-mobile { display: none !important; } }

/* ===== CTA BAR NARANJA ===== */
.cta-bar-develon {
    background-color: #FF6A00 !important;
    padding: 50px 0 !important;
}

.cta-bar-develon h2,
.cta-bar-develon .et_pb_text h2,
.cta-bar-develon p,
.cta-bar-develon .et_pb_text * {
    color: #FFFFFF !important;
    font-size: 28px !important;
    font-weight: 700 !important;
}

/* Botón oscuro — Solicitar cotización */
.cta-bar-develon .et_pb_button_0 {
    background-color: #1C1C1C !important;
    color: #FFFFFF !important;
    border: none !important;
}
.cta-bar-develon .et_pb_button_0:hover {
    background-color: #2A2A2A !important;
}

/* Botón outline — Ver equipos */
.cta-bar-develon .et_pb_button_1 {
    background-color: transparent !important;
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
}
.cta-bar-develon .et_pb_button_1:hover {
    background-color: rgba(255,255,255,0.15) !important;
}

/* ===== ELIMINAR MOVIMIENTO EN HOVER — TODOS LOS BOTONES ===== */
.et_pb_button {
    letter-spacing: 0.06em !important;
    padding: 12px 28px !important;
    transition: background-color 0.25s ease,
                color 0.25s ease,
                border-color 0.25s ease,
                border-width 0s !important;
}

.et_pb_button:hover {
    letter-spacing: 0.06em !important;
    padding: 12px 28px !important;
}

/* Evitar que el pseudo-elemento genere movimiento */
.et_pb_button:before,
.et_pb_button:after {
    display: none !important;
}

/* Botón outline — fijar borde para que no se mueva en hover */
.cta-bar-develon .et_pb_button_1 {
    border: 2px solid #FFFFFF !important;
    box-sizing: border-box !important;
}

.cta-bar-develon .et_pb_button_1:hover {
    border: 2px solid #FFFFFF !important;
    background-color: rgba(255,255,255,0.15) !important;
}

/* ============================================================
   DEVELON — Tablas de especificaciones técnicas
   CPT: equipo-develon  |  Módulo: et_pb_text (Text module)
   Divi 5 — develon-child  |  v3 confirmada con HTML real
   ============================================================ */

/* --- Contenedor general de la tabla --- */
.single-equipo-develon .et_pb_text_inner table,
.acf-specs-table {
    width: 100%;
    border-collapse: collapse;
    margin: 1rem 0 1.5rem;
    font-family: 'Exo', Arial, sans-serif;
    font-size: 0.93rem;
    background-color: #ffffff;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* --- Filas --- */
.single-equipo-develon .et_pb_text_inner table tr,
.acf-specs-table tr {
    border-bottom: 1px solid #ebebeb;
    transition: background-color 0.12s ease;
}

/* Última fila sin borde inferior */
.single-equipo-develon .et_pb_text_inner table tr:last-child,
.acf-specs-table tr:last-child {
    border-bottom: none;
}

/* Filas alternas — zebra suave */
.single-equipo-develon .et_pb_text_inner table tr:nth-child(even),
.acf-specs-table tr:nth-child(even) {
    background-color: #f8f8f8;
}

/* Hover — naranja muy suave, coherente con la paleta Develon */
.single-equipo-develon .et_pb_text_inner table tr:hover,
.acf-specs-table tr:hover {
    background-color: #fff3e0;
}

/* --- Celda izquierda: nombre de la especificación (<th>) --- */
.single-equipo-develon .et_pb_text_inner table th,
.acf-specs-table th {
    text-align: left;
    padding: 10px 16px;
    font-weight: 600;
    font-size: 0.85rem;
    color: #1C1C1C;
    background-color: #f2f2f2;
    width: 50%;
    vertical-align: middle;
    border-right: 3px solid #FF6A00;
    line-height: 1.4;
}

/* --- Celda derecha: valor (<td>) --- */
.single-equipo-develon .et_pb_text_inner table td,
.acf-specs-table td {
    text-align: left;
    padding: 10px 16px;
    color: #555555;
    font-size: 0.9rem;
    font-weight: 400;
    vertical-align: middle;
    line-height: 1.4;
}

/* --- Neutralizar estilos de tabla que Divi aplica globalmente --- */
.single-equipo-develon .et_pb_text_inner table tr th,
.single-equipo-develon .et_pb_text_inner table tr td {
    border-top: none;
    padding: 10px 16px;
}

/* --- Responsive: reduce padding en móvil --- */
@media only screen and (max-width: 600px) {

    .single-equipo-develon .et_pb_text_inner table,
    .acf-specs-table {
        font-size: 0.82rem;
        border-radius: 0;
    }

    .single-equipo-develon .et_pb_text_inner table th,
    .acf-specs-table th {
        width: 44%;
        padding: 8px 10px;
        font-size: 0.78rem;
    }

    .single-equipo-develon .et_pb_text_inner table td,
    .acf-specs-table td {
        padding: 8px 10px;
        font-size: 0.8rem;
    }
}