/* ==========================================================================
   AUDTEC — Capa de rediseño premium (solo home, page-id-8)
   Refina paleta, profundidad, glass, glows, motion y arregla
   tarjetas de "compromisos" + bloque de formulario.
   Construido sobre la estructura Elementor existente (no la modifica).
   ========================================================================== */

:root{
  --aur-red:#EB001B;
  --aur-red-bright:#FF2E38;
  --aur-red-deep:#B00014;
  --aur-grad-red:linear-gradient(135deg,#FF3A41 0%,#EB001B 52%,#B30016 100%);
  --aur-ink:#0A0A0C;
  --aur-ink-2:#0E0F13;
  --aur-ink-3:#15161C;
  --aur-light:#F6F7F9;
  --aur-line:rgba(10,10,15,.08);
  --aur-line-soft:rgba(10,10,15,.06);
  --aur-glass:rgba(255,255,255,.05);
  --aur-glass-border:rgba(255,255,255,.10);
  --aur-radius:22px;
  --aur-radius-sm:14px;
  --aur-shadow-md:0 18px 40px -22px rgba(10,10,15,.30);
  --aur-shadow-lg:0 40px 80px -34px rgba(10,10,15,.45);
  --aur-shadow-red:0 22px 48px -16px rgba(235,0,27,.5);
  --aur-ease:cubic-bezier(.16,.84,.44,1);
}

body.home{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }

/* 1. BOTONES */
body.home .elementor-button,
body.home .rform-button-container button,
body.home button[type="submit"]{
  background:var(--aur-grad-red) !important;
  border:none !important;
  border-radius:999px !important;
  box-shadow:0 10px 26px -10px rgba(235,0,27,.55) !important;
  transition:transform .35s var(--aur-ease), box-shadow .35s var(--aur-ease), filter .35s var(--aur-ease) !important;
  letter-spacing:.2px;
  will-change:transform;
}
body.home .elementor-button:hover,
body.home .rform-button-container button:hover,
body.home button[type="submit"]:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 20px 42px -12px rgba(235,0,27,.7) !important;
  filter:saturate(1.08);
}
body.home .elementor-button:active{ transform:translateY(-1px) !important; }
body.home a{ transition:color .25s ease, opacity .25s ease; }

/* 2. MOTION reveals */
body.home.au-anim-ready .au-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .75s var(--aur-ease), transform .75s var(--aur-ease);
  will-change:opacity, transform;
}
body.home.au-anim-ready .au-reveal.is-visible{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  body.home.au-anim-ready .au-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* 3. HERO */
body.home .elementor-element-323ad065{
  position:relative;
  background:
    radial-gradient(60% 50% at 50% 38%, rgba(235,0,27,.20) 0%, rgba(235,0,27,0) 60%),
    radial-gradient(120% 80% at 50% 0%, #15070a 0%, #050506 55%, #000 100%) !important;
  overflow:hidden;
}
body.home .elementor-element-323ad065::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(80% 60% at 50% 35%, #000 0%, transparent 75%);
          mask-image:radial-gradient(80% 60% at 50% 35%, #000 0%, transparent 75%);
}
body.home .elementor-element-323ad065 > .e-con-inner,
body.home .elementor-element-323ad065 > .elementor-container{ position:relative; z-index:1; }
body.home .elementor-element-1bf8a93{ position:relative; }
body.home .elementor-element-1bf8a93::after{
  content:""; position:absolute; left:50%; top:55%; width:120%; height:60%;
  transform:translate(-50%,-50%); z-index:-1; pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%, rgba(235,0,27,.35) 0%, transparent 70%);
  filter:blur(20px);
}

/* 4. QUIENES SOMOS feature cards */
body.home .elementor-element-6c8f9d0a,
body.home .elementor-element-46bdf4cf{
  border-radius:var(--aur-radius) !important;
  transition:transform .4s var(--aur-ease), box-shadow .4s var(--aur-ease);
}
body.home .elementor-element-6c8f9d0a:hover,
body.home .elementor-element-46bdf4cf:hover{
  transform:translateY(-6px);
  box-shadow:var(--aur-shadow-lg);
}

/* 5. SERVICIOS grid */
body.home .elementor-element-4697e3ef{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:22px !important;
}
body.home .elementor-element-4697e3ef > .e-con,
body.home .elementor-element-4697e3ef > .elementor-element{
  flex:1 1 calc(25% - 22px) !important;
  max-width:300px;
  min-width:240px;
  background:#fff !important;
  border:1px solid var(--aur-line-soft) !important;
  border-radius:var(--aur-radius) !important;
  padding:30px 26px !important;
  box-shadow:0 1px 0 rgba(10,10,15,.02);
  position:relative;
  overflow:hidden;
  transition:transform .4s var(--aur-ease), box-shadow .4s var(--aur-ease), border-color .4s var(--aur-ease);
}
body.home .elementor-element-4697e3ef > .e-con::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--aur-grad-red); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--aur-ease);
}
body.home .elementor-element-4697e3ef > .e-con:hover{
  transform:translateY(-8px);
  box-shadow:var(--aur-shadow-lg);
  border-color:rgba(235,0,27,.22) !important;
}
body.home .elementor-element-4697e3ef > .e-con:hover::before{ transform:scaleX(1); }
body.home .elementor-element-4697e3ef img{
  transition:transform .4s var(--aur-ease), filter .4s var(--aur-ease);
}
body.home .elementor-element-4697e3ef > .e-con:hover img{
  transform:scale(1.08) translateY(-2px);
  filter:drop-shadow(0 8px 16px rgba(235,0,27,.35));
}

/* 6. STACK cards */
body.home .elementor-element-tech-grid{ gap:22px !important; }
body.home .elementor-element-tech-grid > .e-con{
  background:#12141B !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  border-radius:var(--aur-radius) !important;
  position:relative;
  overflow:hidden;
  transition:transform .4s var(--aur-ease), box-shadow .4s var(--aur-ease), border-color .4s var(--aur-ease);
}
body.home .elementor-element-tech-grid > .e-con::after{
  content:""; position:absolute; right:-40px; top:-40px; width:140px; height:140px;
  background:radial-gradient(50% 50% at 50% 50%, rgba(235,0,27,.12) 0%, transparent 70%);
  opacity:0; transition:opacity .45s var(--aur-ease); pointer-events:none;
}
body.home .elementor-element-tech-grid > .e-con:hover{
  transform:translateY(-7px);
  box-shadow:var(--aur-shadow-lg);
  border-color:rgba(235,0,27,.20) !important;
}
body.home .elementor-element-tech-grid > .e-con:hover::after{ opacity:1; }

/* 7. RITMO VERTICAL */
body.home .elementor-element-656e7f76{ margin-bottom:90px !important; }
body.home .elementor-element-323ad065{ margin-bottom:80px !important; }
body.home .elementor-element-5918b4d5{ margin-bottom:80px !important; }
body.home .elementor-element-3d45c7b1{ margin-bottom:80px !important; }
body.home .elementor-element-2144021e{ margin-bottom:0 !important; }
body.home .elementor-element-18cac1bf{ margin-bottom:0 !important; }
body.home .elementor-element-106f4fae{ margin-bottom:0 !important; }

/* 8. TRES COMPROMISOS fix */
body.home .elementor-element-40562af{
  margin-top:14px !important;
  align-items:stretch !important;
  gap:24px !important;
}
body.home .elementor-element-71e9c6f6{ position:relative; z-index:2; margin-bottom:6px; }
body.home .elementor-element-1d9cb4de,
body.home .elementor-element-29b65c15,
body.home .elementor-element-64dc5640{
  display:flex !important;
  flex-direction:column !important;
  border-radius:var(--aur-radius) !important;
  box-shadow:var(--aur-shadow-md);
  transition:transform .4s var(--aur-ease), box-shadow .4s var(--aur-ease);
}
body.home .elementor-element-1d9cb4de:hover,
body.home .elementor-element-29b65c15:hover,
body.home .elementor-element-64dc5640:hover{
  transform:translateY(-6px);
  box-shadow:var(--aur-shadow-lg);
}
body.home .elementor-element-192cafb3,
body.home .elementor-element-6acfcd21,
body.home .elementor-element-370af783{
  margin-top:auto !important;
  padding-top:18px;
}

/* 9. CTA + FORMULARIO bloque oscuro */
body.home .elementor-element-18cac1bf{
  background:
    radial-gradient(70% 60% at 50% 0%, rgba(235,0,27,.16) 0%, transparent 60%),
    linear-gradient(180deg,#0E0F13 0%,#0A0A0C 100%) !important;
  position:relative;
}
body.home .elementor-element-106f4fae{
  background:
    radial-gradient(80% 70% at 50% 120%, rgba(235,0,27,.18) 0%, transparent 60%),
    linear-gradient(180deg,#0A0A0C 0%,#0E0F13 100%) !important;
  position:relative;
  overflow:hidden;
}
body.home .elementor-element-106f4fae::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 50%, #000 0%, transparent 80%);
          mask-image:radial-gradient(70% 60% at 50% 50%, #000 0%, transparent 80%);
}
body.home .elementor-element-106f4fae > .e-con-inner,
body.home .elementor-element-106f4fae > .elementor-container{ position:relative; z-index:1; }
body.home .elementor-element-bf0aa50{
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:none !important;
}
/* tarjeta glass UNICA que envuelve todo el formulario */
body.home .elementor-element-be54079{
  max-width:720px !important;
  margin:0 auto !important;
  background:rgba(255,255,255,.045) !important;
  border:1px solid var(--aur-glass-border) !important;
  border-radius:26px !important;
  padding:42px 40px 46px !important;
  box-shadow:var(--aur-shadow-lg), inset 0 1px 0 rgba(255,255,255,.06) !important;
  -webkit-backdrop-filter:blur(14px);
          backdrop-filter:blur(14px);
}
/* cada campo: sin tarjeta propia, solo separacion */
body.home .elementor-element-106f4fae .rform-container{
  max-width:none !important;
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
          backdrop-filter:none !important;
}
body.home .elementor-element-106f4fae .rform-label-input,
body.home .elementor-element-106f4fae label{
  color:rgba(255,255,255,.86) !important;
  font-weight:600;
  letter-spacing:.2px;
}
body.home .elementor-element-106f4fae .rform-input,
body.home .elementor-element-106f4fae input,
body.home .elementor-element-106f4fae textarea{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:14px !important;
  color:#fff !important;
  padding:15px 18px !important;
  transition:border-color .3s var(--aur-ease), box-shadow .3s var(--aur-ease), background .3s var(--aur-ease) !important;
}
body.home .elementor-element-106f4fae .rform-input::placeholder,
body.home .elementor-element-106f4fae input::placeholder,
body.home .elementor-element-106f4fae textarea::placeholder{
  color:rgba(255,255,255,.42) !important;
}
body.home .elementor-element-106f4fae .rform-input:focus,
body.home .elementor-element-106f4fae input:focus,
body.home .elementor-element-106f4fae textarea:focus{
  outline:none !important;
  border-color:rgba(235,0,27,.65) !important;
  background:rgba(255,255,255,.07) !important;
  box-shadow:0 0 0 4px rgba(235,0,27,.18) !important;
}
body.home .elementor-element-106f4fae .rform-help-text{ color:rgba(255,255,255,.4) !important; }
body.home .elementor-element-106f4fae .rform-button-container button,
body.home .elementor-element-106f4fae button[type="submit"]{
  width:100%;
  padding:16px 28px !important;
  font-weight:700;
  letter-spacing:.4px;
}

/* 10. RESPONSIVE */
@media (max-width:1024px){
  body.home .elementor-element-4697e3ef > .e-con{ flex:1 1 calc(33.333% - 22px) !important; }
}
@media (max-width:768px){
  body.home .elementor-element-4697e3ef > .e-con{ flex:1 1 calc(50% - 16px) !important; min-width:160px; }
  body.home .elementor-element-40562af{ margin-top:8px !important; }
  /* Formulario movil: tarjeta mas ancha, menos margenes, campos a ancho casi completo */
  body.home .elementor-element-106f4fae{ padding-left:14px !important; padding-right:14px !important; }
  body.home .elementor-element-bf0aa50{ padding-left:0 !important; padding-right:0 !important; }
  body.home .elementor-element-be54079{ max-width:100% !important; padding:26px 18px 30px !important; }
  body.home .elementor-element-106f4fae .rform-container{ padding:0 !important; margin:0 !important; }
}
@media (max-width:480px){
  body.home .elementor-element-106f4fae{ padding-left:10px !important; padding-right:10px !important; }
  body.home .elementor-element-be54079{ padding:22px 15px 26px !important; }
}
@media (max-width:520px){
  body.home .elementor-element-4697e3ef > .e-con{ flex:1 1 100% !important; max-width:none; }
}

/* 11. Acento rojo del formulario integrado en la tarjeta */
body.home .elementor-element-bf0aa50::before{ display:none !important; }
body.home .elementor-element-be54079{ position:relative; overflow:hidden; }
body.home .elementor-element-be54079::before{
  content:""; position:absolute; left:0; right:0; top:0; height:3px;
  background:var(--aur-grad-red);
  box-shadow:0 0 18px rgba(235,0,27,.55);
  z-index:2;
}

/* 12. Tarjeta central 'Criterio tecnico' destacada (fondo oscuro, texto blanco) */
body.home.elementor-page-8 .elementor-element.elementor-element-29b65c15{
  background-color:#0B0B0F !important;
  background-image:radial-gradient(95% 75% at 50% 0%, rgba(235,0,27,.32) 0%, transparent 60%) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
body.home .elementor-element-29b65c15 .elementor-heading-title,
body.home .elementor-element-29b65c15 .elementor-icon-list-text,
body.home .elementor-element-29b65c15 .elementor-icon-list-text a{ color:#fff !important; }
