/**
 * 11-DIVI-COMPAT — capa de compatibilidad (ARCHIVO NUEVO) — v1.2
 * ------------------------------------------------------------------
 * Los archivos 00 → 10 son copia exacta del proyecto original y NO se
 * tocan. Este archivo solo deshace lo que Divi agrega por su cuenta
 * (reset, márgenes, colores, paddings, listas con viñetas) para que
 * el resultado sea idéntico al HTML estático.
 *
 * Técnica de especificidad: "html body <elemento>" (0,0,3) le gana al
 * CSS de Divi (0,0,1) sin importar el orden de carga, pero pierde
 * siempre contra cualquier regla con clase del sistema GROÜ.
 * Sin :is()/:where() para que el editor de WordPress no marque errores.
 */

/* ---------- 1. Envoltorios de Divi "transparentes" ---------- */
body:not(.et-fb) .grou-bloque,
body:not(.et-fb) .grou-bloque .et_pb_module,
body:not(.et-fb) .grou-bloque .et_pb_code_inner{ display:contents; }
body.et-fb .grou-bloque{ padding:0 !important; background:transparent !important; }

/* position:sticky se rompe si algún ancestro tiene overflow distinto de visible */
.grou-site #page-container,
.grou-site #et-boc,
.grou-site #et-main-area,
.grou-site #main-content,
.grou-site .et-l,
.grou-site .et_builder_inner_content{ overflow:visible !important; }

/* Header del Theme Builder siempre por encima del contenido */
.grou-site .et-l--header,
.grou-site .et-l--header > .et_builder_inner_content{ position:relative; z-index:100 !important; }
.grou-site #main-content{ background:transparent; }

/* ---------- 2. Base: body, links, párrafos, títulos ---------- */
html body.grou-site{
  font-family:var(--font-body); font-size:16px; line-height:1.6; font-weight:400;
  color:var(--color-ink); background:var(--color-bg);
}
html body a{ color:inherit; }
html body p{ margin:1em 0; padding-bottom:0; }
html body figure{ margin:1em 40px; }
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6{ color:inherit; padding-bottom:0; }
html body h1, html body h2, html body h3{ line-height:1.05; font-weight:500; }
html body h1{ font-size:2em; }
html body h2{ font-size:1.5em; }
html body h3{ font-size:1.17em; }
html body strong, html body b{ font-weight:700; }
html body img{ height:auto; }

/* ---------- 3. Listas sin viñetas (contenido, header y footer) ---------- */
html body .entry-content ul, html body .entry-content ol,
html body .et-l--header ul,  html body .et-l--header ol,
html body .et-l--footer ul,  html body .et-l--footer ol,
html body .et-l--body ul,    html body .et-l--body ol{ list-style:none; padding:0; line-height:inherit; }
html body .entry-content li,
html body .et-l--header li,
html body .et-l--footer li,
html body .et-l--body li{ list-style:none; }
/* la regla de arriba le gana al padding del menú móvil de 03-header.css: se restaura tal cual */
@media (max-width:900px){ html body .et-l--header .nav-links{ padding:40px; } }

/* ---------- 4. Barra de administración (solo con sesión iniciada) ---------- */
@media (min-width:783px){
  .admin-bar .site-header{ top:32px; }
  .admin-bar .project-subnav{ top:calc(var(--header-h) + 32px); }
}
@media (min-width:601px) and (max-width:782px){
  .admin-bar .site-header{ top:46px; }
  .admin-bar .project-subnav{ top:calc(var(--header-h) + 46px); }
}

/* ---------- 5. Contact Form 7 (solo si se usa, ver GUIA) ---------- */
.contact-form .wpcf7-form-control-wrap{ display:block; }
.contact-form .contact-form__consent .wpcf7-form-control-wrap{ display:inline-block; }
.contact-form .wpcf7-list-item{ margin:0; }
.contact-form input[type="submit"].btn{ -webkit-appearance:none; appearance:none; cursor:pointer; }
.contact-form .wpcf7-not-valid{ border-color:var(--color-brand) !important; }
.contact-form .wpcf7-not-valid-tip{ color:var(--color-brand); font-size:12px; margin-top:6px; }
.contact-form .wpcf7-spinner{ vertical-align:middle; }
.contact-form .wpcf7-response-output{
  margin:20px 0 0 !important; padding:16px 18px !important; max-width:52ch;
  background:var(--color-bg-alt); border:1px solid var(--color-line) !important; border-radius:var(--radius);
  font-size:14px; color:var(--color-ink);
}