/* =====================================================================
   Página «Próximamente» (modo Coming Soon de Avada · plantilla «Mantenimiento»)
   Prefijo ukl-soon-. Se carga solo cuando el modo de mantenimiento está activo.
   ===================================================================== */
body:has(.ukl-soon){ background:#060A22 !important; }
body:has(.ukl-soon) #wrapper,body:has(.ukl-soon) #main,body:has(.ukl-soon) .fusion-row{ background:transparent !important; }
.ukl-soon{
  --s-bg:#060A22; --s-coral:#FD495C; --s-lilac:#C9C6F2; --s-violet:#B04BD8; --s-text:#E8EAF7; --s-muted:#9BA3C7;
  --s-line:rgba(255,255,255,.12); --s-glass:rgba(255,255,255,.05); --s-green:#2BD67B; --s-amber:#FFB547;
  --s-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif; --s-mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace;
  position:relative; min-height:100vh; background:transparent !important; padding:28px 16px 24px !important; color:var(--s-text); font-family:var(--s-display); overflow:hidden;
}
.ukl-soon > .fusion-builder-row{ position:relative; z-index:2; min-height:calc(100vh - 52px); display:flex !important; flex-direction:column; flex-wrap:nowrap !important; }
.ukl-soon > .fusion-builder-row > .fusion-layout-column{ width:100% !important; max-width:1180px !important; margin:0 auto !important; flex:0 0 auto !important; }
body:has(.ukl-soon) .vx-root{ display:none !important; }
.ukl-soon .fusion-column-wrapper{ padding:0 !important; margin:0 !important; }

/* fondo: red de puntos (canvas del JS) y destellos */
.ukl-soon-net{ position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.ukl-soon::before{ content:""; position:fixed; inset:-20%; z-index:0; pointer-events:none; background:
  radial-gradient(40% 35% at 18% 20%,rgba(253,73,92,.18),transparent 70%),
  radial-gradient(45% 40% at 85% 75%,rgba(176,75,216,.16),transparent 70%),
  radial-gradient(60% 50% at 50% 110%,rgba(38,55,158,.35),transparent 70%); }

/* cabecera */
.ukl-soon-logo{ display:block !important; max-width:none !important; }
.ukl-soon-logo img{ height:34px !important; width:auto !important; display:block; }

/* bloque central */
.ukl-soon .ukl-soon-hero{ flex:1 1 auto !important; display:grid !important; place-items:center; padding-block:48px 32px !important; }
.ukl-soon-hero > .fusion-column-wrapper{ max-width:860px; display:flex !important; flex-direction:column; align-items:center; text-align:center; row-gap:22px !important; margin:0 auto !important; }
.ukl-soon-pill p{ display:inline-flex; align-items:center; gap:10px; margin:0; padding:8px 14px; border-radius:99px; border:1px solid var(--s-line); background:var(--s-glass); font:700 11px/1 var(--s-mono); letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.ukl-soon-pill p::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--s-green); box-shadow:0 0 0 4px rgba(43,214,123,.18); animation:ukSoonPulse 2s infinite; }
@keyframes ukSoonPulse{ 50%{ box-shadow:0 0 0 7px rgba(43,214,123,.05); } }
.ukl-soon-h1{ margin:0 !important; }
.ukl-soon-h1{ width:100%; }
.ukl-soon-h1 .fusion-title-heading{ text-align:center !important; margin:0 !important; font:800 clamp(38px,6.4vw,78px)/1.04 var(--s-display) !important; letter-spacing:-.025em !important; color:#fff !important; text-wrap:balance; }
.ukl-soon-h1 em{ font-style:normal; background:linear-gradient(90deg,var(--s-coral),var(--s-violet) 55%,var(--s-lilac)); -webkit-background-clip:text; background-clip:text; color:transparent; padding:.06em .04em .14em; margin:-.06em -.04em -.14em; }
.ukl-soon-lead p{ margin:0 auto; max-width:640px; font-size:clamp(16px,1.6vw,19px); line-height:1.6; color:var(--s-muted); text-wrap:pretty; }

/* botones: los dos en una fila (fila interior) */
.ukl-soon-hero .fusion-builder-row-inner{ width:100% !important; max-width:none !important; margin:0 !important; justify-content:center !important; }
.ukl-soon-btns{ width:100% !important; margin:0 !important; }
.ukl-soon-btns > .fusion-column-wrapper{ flex-direction:row !important; flex-wrap:wrap !important; justify-content:center !important; gap:12px; }
.ukl-soon-btn.fusion-button{ display:inline-flex !important; align-items:center; gap:10px; padding:15px 24px !important; border-radius:12px !important; border:1px solid transparent !important; font:700 15px/1 var(--s-display) !important; letter-spacing:0 !important; text-transform:none !important; box-shadow:none; transition:transform .2s, background .2s; }
.ukl-soon-btn.fusion-button .fusion-button-text{ font:inherit !important; color:inherit !important; }
.ukl-soon-btn--coral.fusion-button{ background:var(--s-coral) !important; color:#fff !important; box-shadow:0 18px 36px -14px rgba(253,73,92,.75); }
.ukl-soon-btn--coral.fusion-button::after{ content:"→"; font-weight:700; }
.ukl-soon-btn--coral.fusion-button:hover{ transform:translateY(-2px); }
.ukl-soon-btn--ghost.fusion-button{ background:rgba(255,255,255,.03) !important; color:#fff !important; border-color:rgba(255,255,255,.28) !important; }
.ukl-soon-btn--ghost.fusion-button:hover{ background:rgba(255,255,255,.08) !important; }

/* puesta en marcha */
.ukl-soon-status{ width:min(520px,100%); margin-inline:auto; padding:18px 20px; border-radius:18px; border:1px solid var(--s-line); background:var(--s-glass); backdrop-filter:blur(6px); text-align:left; }
.ukl-soon-status h2{ margin:0 0 12px !important; text-align:left; font:700 11px/1 var(--s-mono) !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--s-muted) !important; }
.ukl-soon-status ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.ukl-soon-status li{ text-align:left; display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:10px; font-size:14.5px; color:var(--s-text); }
.ukl-soon-status li::before{ content:""; width:20px; height:20px; border-radius:50%; background:rgba(43,214,123,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.5l2.2 2.2 4.8-5' fill='none' stroke='%232BD67B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }
.ukl-soon-status li b{ font:700 11px/1 var(--s-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--s-green); }
.ukl-soon-status li.run::before{ background:none; border:2px solid var(--s-amber); border-right-color:transparent; width:12px; height:12px; margin:4px; animation:ukSoonSpin 1s linear infinite; }
.ukl-soon-status li.run b{ color:var(--s-amber); }
@keyframes ukSoonSpin{ to{ transform:rotate(360deg); } }

/* tarjetas de contacto */
.ukl-soon-cardlist ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ukl-soon-cardlist a{ display:grid; gap:6px; height:100%; padding:20px 22px; border-radius:18px; border:1px solid var(--s-line); background:var(--s-glass); text-decoration:none; color:var(--s-text); transition:border-color .2s, transform .2s; }
.ukl-soon-cardlist a:hover{ border-color:rgba(253,73,92,.6); transform:translateY(-2px); }
.ukl-soon-cardlist small{ font:700 10.5px/1 var(--s-mono); letter-spacing:.14em; text-transform:uppercase; color:var(--s-coral); }
.ukl-soon-cardlist b{ font:700 18px/1.25 var(--s-display); color:#fff; }
.ukl-soon-cardlist span{ font-size:13.5px; color:var(--s-muted); }

/* pie */
.ukl-soon-foot p{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin:22px 0 0; padding-top:16px; border-top:1px solid var(--s-line); font-size:12.5px; color:var(--s-muted); }
.ukl-soon-foot .eu{ font-style:italic; }

@media (max-width:820px){
  .ukl-soon-cardlist ul{ grid-template-columns:1fr; }
  .ukl-soon-logo img{ height:28px !important; }
}
@media (prefers-reduced-motion:reduce){
  .ukl-soon-pill p::before,.ukl-soon-status li.run::before{ animation:none; }
}

/* el logotipo no usa la carga diferida (en la página de mantenimiento no siempre se dispara) */
.ukl-soon-logo img.lazyload{ opacity:1 !important; }

/* separación entre los dos botones */
.ukl-soon-btns > .fusion-column-wrapper > *{ margin:0 6px 8px !important; }
