/* =========================================================================
   EMULACIÓN DEL RUNTIME DE ELEMENTOR V4 (solo prototipo, NO se migra)
   Reproduce los estilos por defecto de cada átomo (llm_guidance.default_styles
   de los esquemas del MCP) para que el prototipo se comporte igual que el
   front-end real. Las clases globales (classes.css) se escriben "encima" de
   estos defaults, exactamente como ocurrirá en Elementor.
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

/* --- Kit · estilos por defecto del sitio (elementor/manage-default-styles) --- */
body {
  margin: 0;
  background-color: var(--cv-white);
  color: var(--cv-ink);
  font-family: var(--cv-font-body);
  font-size: var(--cv-fs-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

/* --- Átomos (defaults del esquema) --- */
[data-e="e-flexbox"] { position: relative; width: 100%; min-width: 0; padding: 10px; display: flex; flex-direction: row; }
[data-e="e-div-block"] { position: relative; width: 100%; min-width: 30px; padding: 10px; display: block; }
[data-e="e-grid"] { position: relative; width: 100%; min-width: 0; column-gap: 20px; row-gap: 20px; padding: 10px; display: grid; grid-template-columns: repeat(1, 1fr); grid-template-rows: repeat(2, 1fr); }
[data-e="e-heading"], [data-e="e-paragraph"] { all: unset; margin: 0; }
[data-e="e-heading"] { display: block; }
[data-e="e-paragraph"] { display: block; }
[data-e="e-button"] { text-align: center; padding: 12px 24px; border-radius: 2px; border-width: 0; border-style: solid; background-color: #375EFB; display: inline-block; cursor: pointer; font: inherit; color: #fff; }
[data-e="e-image"] { display: block; max-width: 100%; height: auto; }
[data-e="e-svg"] { width: 65px; height: 65px; display: inline-block; line-height: 0; }
[data-e="e-svg"] > svg { width: 100%; height: 100%; display: block; overflow: visible; }
[data-e="e-divider"] { display: block; width: 100%; border: 0; border-top: 1px solid currentColor; margin: 0; }
[data-e="e-tabs"] { position: relative; width: 100%; min-width: 0; padding-block-start: 0; display: flex; flex-direction: column; gap: 30px; }
[data-e="e-tabs-menu"], [data-e="e-tabs-content-area"] { position: relative; display: flex; min-width: 0; }
[data-e="e-tab"] { all: unset; position: relative; width: 160px; min-width: 0; color: #0C0D0E; cursor: pointer; padding: 8px; border: 2px solid #0C0D0E; background-color: #E0E0E0; display: block; box-sizing: border-box; }
[data-e="e-tab-content"] { position: relative; min-width: 0; width: 100%; }
[data-e="e-tab-content"][hidden] { display: none !important; }
[data-e="e-form"] { position: relative; width: 100%; min-width: 0; padding: 0; display: flex; flex-direction: row; gap: 8px; flex-wrap: wrap; align-content: start; align-items: center; }
[data-e="e-form-input"], [data-e="e-form-textarea"] { font: inherit; color: inherit; }
[data-e="e-form-label"] { display: block; }
[data-e="e-form-success-message"], [data-e="e-form-error-message"] { display: none; }
[data-e="e-form"][data-state="success"] [data-e="e-form-success-message"] { display: block; }
[data-e="e-collection-loop"] { position: relative; width: 100%; min-width: 0; display: block; }

/* Ubicación de cabecera de Theme Builder (.elementor-location-header).
   ÚNICO CSS global del proyecto: hace la cabecera sticky ocultando la top-bar. */
.proto-location-header { position: sticky; top: -38px; z-index: 100; }
@media (max-width: 767px) { .proto-location-header { top: 0; } }
