/*
 * JFM Chrome — header sticky, footer, mega-menu (overrides leves a Divi)
 * Spec: brand/pages/00-foundations.md
 *
 * Estrategia: NO reemplazar el header/footer de Divi todavía (Fase 2). Aquí solo
 * apuntamos los tokens visuales (color, sombra, blur) sobre el chrome existente
 * para que el sitio empiece a sentirse "JFM" sin reescribir HTML.
 */

/* ============================================
 * HEADER
 * ============================================ */
body.jfm-theme #main-header {
  background: rgba(255, 255, 255, 0.88) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  border-bottom: 1px solid rgba(15, 15, 18, 0.06);
  box-shadow: none;
  transition: box-shadow var(--jfm-dur-medium) ease-out,
              background var(--jfm-dur-medium) ease-out;
}

body.jfm-theme[data-scrolled="true"] #main-header {
  box-shadow: 0 1px 0 rgba(15, 15, 18, 0.04),
              0 4px 20px rgba(15, 15, 18, 0.04);
}

/* Logo: nada aquí (lo controla Divi customizer); aseguramos que el alt no rompa */
body.jfm-theme #logo {
  max-height: 48px;
}

/* Nav items */
body.jfm-theme #top-menu li a,
body.jfm-theme .et-menu li a {
  font-family: var(--jfm-font-body) !important;
  font-weight: 600;
  font-size: 15px;
  color: var(--jfm-gris-900);
  padding: 10px 14px;
  border-radius: var(--jfm-radius-md);
  transition: background var(--jfm-dur-fast) var(--jfm-ease-out),
              color var(--jfm-dur-fast) var(--jfm-ease-out);
}
body.jfm-theme #top-menu li a:hover,
body.jfm-theme .et-menu li a:hover {
  background: var(--jfm-gris-100);
  color: var(--jfm-tinta);
  opacity: 1;
}
body.jfm-theme #top-menu li.current-menu-item > a,
body.jfm-theme .et-menu li.current-menu-item > a {
  color: var(--jfm-naranja-oscuro);
  background: var(--jfm-naranja-08);
}

/* ============================================
 * FOOTER
 * ============================================ */
body.jfm-theme #main-footer,
body.jfm-theme #footer-bottom {
  background: var(--jfm-tinta);
  color: rgba(255, 255, 255, 0.78);
}
body.jfm-theme #main-footer h4,
body.jfm-theme #main-footer h5,
body.jfm-theme #main-footer h6 {
  font-family: var(--jfm-font-body);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--jfm-blanco);
  margin-bottom: 16px;
}
body.jfm-theme #main-footer a {
  color: rgba(255, 255, 255, 0.78);
  transition: color var(--jfm-dur-fast) ease-out;
}
body.jfm-theme #main-footer a:hover {
  color: var(--jfm-naranja-claro);
}
body.jfm-theme #footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 16px 0;
}

/* ============================================
 * BREADCRUMB (Rank Math/AIOSEO/Divi)
 * ============================================ */
body.jfm-theme .breadcrumb,
body.jfm-theme .rank-math-breadcrumb,
body.jfm-theme .et_pb_text_inner .breadcrumbs {
  font-family: var(--jfm-font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--jfm-gris-500);
}
body.jfm-theme .breadcrumb a,
body.jfm-theme .rank-math-breadcrumb a {
  color: var(--jfm-gris-700);
}
body.jfm-theme .breadcrumb a:hover,
body.jfm-theme .rank-math-breadcrumb a:hover {
  color: var(--jfm-naranja-oscuro);
}

/* ============================================
 * RESET WRAPPERS Divi entre header y hero — fix franja blanca
 * Divi 5 Theme Builder inyecta margin/padding en .et-l, #et-main-area,
 * #page-container y header.et-l--header. Cubrimos los 4 sospechosos.
 * ============================================ */

/* Body + page-container */
body.jfm-page-home,
body[class*="page-template-page-"] {
  padding-top: 0 !important;
}
body.jfm-page-home #page-container,
body[class*="page-template-page-"] #page-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: transparent !important;
}

/* Header Divi 5 Theme Builder */
body.jfm-page-home header.et-l--header,
body[class*="page-template-page-"] header.et-l--header,
body.jfm-page-home > .et-l--header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.jfm-page-home .et-l,
body[class*="page-template-page-"] .et-l {
  margin: 0 !important;
}

/* Main area */
body.jfm-page-home #et-main-area,
body[class*="page-template-page-"] #et-main-area {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
body.jfm-page-home #main-content,
body[class*="page-template-page-"] #main-content {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Wrappers de page Divi clásico */
body.jfm-page-home .et_pb_post,
body.jfm-page-home article.et_pb_post,
body[class*="page-template-page-"] .et_pb_post,
body[class*="page-template-page-"] article.et_pb_post {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
body.jfm-page-home .entry-content,
body[class*="page-template-page-"] .entry-content,
body.jfm-page-home .et_pb_post .entry-content,
body[class*="page-template-page-"] .et_pb_post .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Title automático Divi */
body.jfm-page-home .entry-title,
body[class*="page-template-page-"] .entry-title,
body.jfm-page-home .et_post_meta_wrapper,
body[class*="page-template-page-"] .et_post_meta_wrapper {
  display: none !important;
}

/* Main custom directo sin top space */
body.jfm-page-home main.jfm-home,
body.jfm-page-home main.jfm-page,
body[class*="page-template-page-"] main.jfm-home,
body[class*="page-template-page-"] main.jfm-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ============================================
 * RESET DEL HEADER GLOBAL DIVI THEME BUILDER
 * El header tiene wrappers internos con padding/margin defaults
 * (.et_builder_inner_content, .et_pb_section, .et_pb_fullwidth_code, etc.)
 * ============================================ */
header.et-l--header,
.et-l--header {
  background: var(--jfm-tinta) !important; /* fondo tinta consistente */
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
header.et-l--header > .et_builder_inner_content,
.et-l--header .et_builder_inner_content {
  padding: 0 !important;
  margin: 0 !important;
}
header.et-l--header .et_pb_section,
header.et-l--header .et_pb_section.et_pb_fullwidth_section,
header.et-l--header section.et_pb_section,
.et-l--header .et_pb_section,
.et-l--header section.et_pb_section {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}
header.et-l--header .et_pb_row,
header.et-l--header .et_pb_column,
header.et-l--header .et_pb_module,
header.et-l--header .et_pb_fullwidth_code,
header.et-l--header .et_pb_code_inner,
.et-l--header .et_pb_row,
.et-l--header .et_pb_column,
.et-l--header .et_pb_module,
.et-l--header .et_pb_fullwidth_code,
.et-l--header .et_pb_code_inner {
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

/* Asegurar que el mega-menu wrap no añada altura extra */
header.et-l--header .mega-menu-wrap,
.et-l--header .mega-menu-wrap {
  margin: 0 !important;
}

/* OVERRIDE específico de la clase del módulo Divi del header (compilada por Divi) */
.et_pb_fullwidth_code_0_tb_header,
.et_pb_section_0_tb_header.et_pb_section {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.et_pb_section_0_tb_header.et_pb_section {
  margin-bottom: 0 !important;
}

/* ============================================
 * WOOCOMMERCE NOTICES
 * ============================================ */
body.jfm-theme .woocommerce-message,
body.jfm-theme .woocommerce-info,
body.jfm-theme .woocommerce-error {
  border-radius: var(--jfm-radius-lg);
  border: none;
  font-family: var(--jfm-font-body);
  font-weight: 500;
  padding: 16px 20px;
  box-shadow: var(--jfm-shadow-rest);
}
body.jfm-theme .woocommerce-message {
  background: rgba(31,157,85,0.08);
  color: var(--jfm-success);
  border-left: 4px solid var(--jfm-success);
}
body.jfm-theme .woocommerce-info {
  background: rgba(46,107,210,0.08);
  color: var(--jfm-info);
  border-left: 4px solid var(--jfm-info);
}
body.jfm-theme .woocommerce-error {
  background: rgba(209,60,45,0.08);
  color: var(--jfm-error);
  border-left: 4px solid var(--jfm-error);
}
body.jfm-theme .woocommerce-message::before,
body.jfm-theme .woocommerce-info::before,
body.jfm-theme .woocommerce-error::before {
  color: inherit;
}
