/*
 * se7en beatlab — Uplift GLOBAL (todo el sitio). Modernización 2026 segura: tipografía, botones,
 * forms, links, acento, selección, banner de cookies. NO cambia layouts/display de Elementor
 * (solo color/tipografía/espaciado/radio). Reversible: quitar el enqueue de se7en-global.
 */
:root{
  --s7g-accent:#f3cd4f;
  --s7g-accent-2:#d9aa2f;
  --s7g-ink:#18140a;
}

/* Suavizado + base */
html{ scroll-behavior:smooth; }
body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
::selection{ background:var(--s7g-accent); color:var(--s7g-ink); }

/* Headings: Bricolage Grotesque, más carácter (sin tocar color — respeta secciones claras/oscuras) */
h1,h2,h3,.elementor-heading-title{
  font-family:"Bricolage Grotesque","Inter",system-ui,-apple-system,sans-serif !important;
  letter-spacing:-.018em;
  line-height:1.08;
}
h1,h2,.elementor-heading-title{ font-weight:700 !important; }

/* Las páginas reconstruidas declaran su propia familia display. Esta regla resuelve
   el antiguo !important global sin afectar títulos heredados de Elementor. */
.s7-scope h1,.s7-scope h2,.s7-scope h3,
.s7-scope .s7-h1,.s7-scope .s7-h2,.s7-scope .s7-h3,
.s7-scope .s7-display{
  font-family:var(--s7-font-display) !important;
  font-weight:750 !important;
}

/* Links: hover de marca (no cambia el color base para no romper contraste por sección) */
a{ transition:color .15s ease, opacity .15s ease; }
a:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item):hover{ color:var(--s7g-accent-2); }

/* Botones heredados: acción clara sin la antigua forma de píldora sobredimensionada. */
.elementor-button,
.wp-block-button__link,
input[type="submit"],
button[type="submit"]:not(.s7-hero-button):not(.s7-btn):not([data-ab]){
  min-height:44px !important;
  background-color:var(--s7g-accent) !important;
  background-image:none !important;
  color:var(--s7g-ink) !important;
  border:1px solid var(--s7g-accent) !important;
  border-radius:10px !important;
  letter-spacing:.015em;
  font-weight:650 !important;
  transition:filter .15s ease, box-shadow .2s ease, transform .1s ease !important;
}
.elementor-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:not(.s7-hero-button):not(.s7-btn):not([data-ab]):hover{
  filter:brightness(1.06);
  box-shadow:0 10px 24px -18px rgba(243,205,79,.62) !important;
  transform:translateY(-1px);
  color:var(--s7g-ink) !important;
}
/* Variante "outline" de Elementor: no la pintamos sólida */
.elementor-button.elementor-button-info,
.elementor-button[class*="is-type-outline"]{ background:transparent !important; color:inherit !important; }

/* Inputs/forms: prolijos y redondeados */
.elementor-field-textual,
input[type="text"],input[type="email"],input[type="search"],input[type="tel"],input[type="url"],textarea,select{
  min-height:44px !important;
  border-radius:8px !important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.elementor-field-textual:focus,
input[type="text"]:focus,input[type="email"]:focus,input[type="search"]:focus,textarea:focus,select:focus{
  outline:none !important;
  border-color:var(--s7g-accent) !important;
  box-shadow:0 0 0 3px rgba(243,205,79,.22) !important;
}

/* Nav: subrayado de marca en hover (sin romper el menú) */
.elementor-nav-menu .elementor-item{ transition:color .15s ease; }
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active{ color:var(--s7g-accent-2) !important; }

/* El toggle móvil es el control primario del header: target táctil de 44 px. */
.elementor-menu-toggle{
  min-width:44px !important;
  min-height:44px !important;
  align-items:center;
  justify-content:center;
}

/* Foco accesible global de marca */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--s7g-accent); outline-offset:2px;
}

/* Banner de cookies propio del sitio (#s7ac-bar / #s7ac-ok) + genéricos → on-brand */
#s7ac-bar{ background:#0a0b0d !important; border-top:1px solid #242a35 !important; color:#c9d0d8 !important; }
#s7ac-bar a{ color:var(--s7g-accent) !important; }
#s7ac-ok,
#cookie-notice .cn-button,
.cli-plugin-button,.wt-cli-accept-btn,.cookie-notice-container .button,
[id*="cookie"] a.button,[class*="cookie"] .button{
  background:var(--s7g-accent) !important; color:var(--s7g-ink) !important;
  border-radius:999px !important; border:0 !important; font-weight:600 !important;
}

/* Imágenes: sin “salto” y con esquinas suaves donde aplica el theme */
img{ height:auto; }

/* ============================================================
   HOME — re-skin oscuro vía CSS DESCARTADO (revertido 2026-06-06).
   El home de Elementor tiene estilos por capas (shape-dividers, CSS del kit,
   headings sueltos) que resisten el override por CSS y dejaban una franja
   crema con texto de bajo contraste. El home premium se hará reconstruyéndolo
   (editor Elementor o plantilla propia), no con overrides. Por ahora el home
   queda en su diseño original (consistente y legible) + el polish global de arriba.
   ============================================================ */

/* ============================================================
   FULL-BLEED para páginas-shortcode (catálogo / producto / demo / Pass).
   Esas páginas renderizan el shortcode dentro de main.site-main, que el theme
   limita a max-width:1140px centrado sobre un body BLANCO → asomaba blanco a los
   costados de la sección oscura en pantallas anchas. Las plantillas propias
   (home, about, blog…) no tienen este wrapper y por eso ya eran full-bleed.
   Solución scopeada con :has(.s7-scope): el contenedor del theme pasa a ancho
   completo y el body queda oscuro; el contenido sigue centrado por .s7-wrap.
   ============================================================ */
body:has(.s7-scope){ background-color:#090d13 !important; }
.site-main:has(.s7-scope),
.page-content:has(.s7-scope){
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Site layout is maintained in se7en-site.css. */

/* Music Catalog's production and purchase sections use the dark page surface. */
body.s7-experience .s7-music-catalog #producer-workflow .s7-eyebrow,
body.s7-experience .s7-music-catalog #before-purchase a.s7-link{color:#edb185}
body.s7-experience .s7-music-catalog #before-purchase a.s7-link:hover,
body.s7-experience .s7-music-catalog #before-purchase a.s7-link:focus-visible{color:#ffdab9}

/* Commercial layout: scoped, responsive, no external assets. */
.s7-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.s7-workflow-grid article{min-width:0;padding:24px;border:1px solid var(--s7-line,#d8d8d8);border-radius:14px}.s7-workflow-grid h3{font-size:1.3rem;margin:14px 0}.s7-workflow-grid p{line-height:1.65}.s7-purchase-terms{margin:18px 0}.s7-commercial-price{font-size:1.1rem;font-weight:700;margin:12px 0 6px;line-height:1.5}.s7-store-card .s7-commercial-price{font-size:.95rem}.s7-storefront [id]{scroll-margin-top:100px}.s7-store-productnav .s7-wrap{flex-wrap:wrap;gap:12px}.s7-store-productnav a{min-height:44px;display:inline-flex;align-items:center}.s7-store-details summary{min-height:44px;cursor:pointer}.s7-storefront a:focus-visible,.s7-storefront summary:focus-visible{outline:3px solid var(--s7g-accent,#f3cd4f);outline-offset:4px}@media(max-width:760px){.s7-workflow-grid{grid-template-columns:1fr}.s7-workflow-grid article{padding:20px}.s7-store-productnav .s7-wrap{column-gap:18px;row-gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
