/* ==========================================================================
   A10WEB Studio 2026 · Capa PRO
   1) Relleno de estilo para clases nativas de Elementor/Elementor Pro
      (Loop Grid, Form, Accordion, Testimonial Carousel, Popup, nav, footer)
   2) Efectos "Refokus" en vanilla CSS/JS: grano, cursor a medida, botones
      magnéticos, texto partido en reveal, transición de página, loop grid.
   Pensado para acompañar a studio-2026.css y pages-2026.css sin sustituirlos.
   ========================================================================== */

/* -------------------------- 1. Utilidades base -------------------------- */

.a10-prose,.a10-case-copy{font-size:1.1rem;line-height:1.8;color:inherit}
.a10-prose h2,.a10-case-copy h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em;margin:1.4em 0 .5em}
.a10-prose p,.a10-case-copy p{margin:0 0 1.2em}
.a10-prose a,.a10-case-copy a{color:var(--violet);text-decoration:underline;text-underline-offset:3px}
.a10-prose ul,.a10-case-copy ul{padding-left:1.2em}

.a10-topline-a,.a10-topline-b{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:#d4d4d7}

.a10-capability{display:flex;flex-direction:column;gap:14px;flex:1 1 300px;min-width:260px;padding:30px;border-radius:22px;background:#fff;border:1px solid rgba(10,10,11,.12);text-decoration:none!important;color:#0a0a0b!important;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.a10-capability:hover{transform:translateY(-6px);box-shadow:0 30px 60px rgba(10,10,11,.14)}

.a10-card__num{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;color:var(--acid);opacity:.85}

.a10-main-nav{display:flex;align-items:center;gap:6px}
.a10-main-nav a{padding:10px 16px;border-radius:999px;font-size:.92rem;font-weight:600;transition:background .3s,color .3s}
.a10-main-nav a:hover{background:rgba(255,255,255,.1)}
.a10-header-cta{margin-left:8px}

.a10-loop-link{display:block}

.a10-popup-inner{position:relative;max-width:560px;margin:auto;padding:52px 46px;border-radius:28px;background:#0f0f12;border:1px solid var(--line);box-shadow:0 60px 120px rgba(0,0,0,.5)}
.a10-popup-inner .a10-h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.a10-popup-close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:#fff;font-size:1rem;cursor:pointer;transition:background .3s,transform .3s}
.a10-popup-close:hover{background:rgba(255,255,255,.12);transform:rotate(90deg)}

/* Loop Grid: tarjetas de casos (a10-project) y artículos (a10-card) generadas
   por los templates de Loop Item nativos de Elementor Pro. */
.a10-project__media{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:22px;background:#141416}
.a10-project__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.a10-project:hover .a10-project__media img{transform:scale(1.06)}
.a10-project__title{font-size:clamp(1.5rem,2.6vw,2.3rem);letter-spacing:-.04em;margin:18px 0 6px}
.a10-project__excerpt{color:#aeb0b8;font-size:.98rem;line-height:1.55;margin:0 0 10px}
.a10-project__meta{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--acid);opacity:.9}

/* FAQ — Accordion nativo de Elementor Pro */
.a10-faq .elementor-accordion-item{border:0;border-bottom:1px solid rgba(10,10,11,.16);background:transparent}
.a10-faq .elementor-tab-title{padding:26px 4px;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:700;letter-spacing:-.01em;cursor:pointer}
.a10-faq .elementor-tab-title .elementor-accordion-icon{color:var(--violet)}
.a10-faq .elementor-tab-content{padding:0 4px 26px;font-size:1.02rem;line-height:1.7;color:#3a3a3d}

/* Formulario de contacto (Elementor Pro Form) */
.a10-light .elementor-form .elementor-field-group{margin-bottom:18px}
.a10-light .elementor-form label{display:block;margin-bottom:8px;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em}
.a10-light .elementor-form input:not([type=checkbox]):not([type=radio]),
.a10-light .elementor-form textarea,
.a10-light .elementor-form select{width:100%;padding:16px 18px;border:1px solid rgba(10,10,11,.22);border-radius:14px;font:inherit;background:#fff!important;color:#0a0a0b!important;transition:border-color .3s,box-shadow .3s}
.a10-light .elementor-form input:focus,.a10-light .elementor-form textarea:focus,.a10-light .elementor-form select:focus{outline:0;border-color:var(--violet);box-shadow:0 0 0 4px rgba(104,87,255,.14)}
.a10-light .elementor-form textarea{min-height:170px}
.a10-light .elementor-form .elementor-button{background:var(--ink)!important;color:#fff!important;border-radius:999px;min-height:56px;font-weight:800}
.a10-light .elementor-form .elementor-button:hover{background:var(--violet)!important}
.a10-light .elementor-message.elementor-message-success{color:#1c7a3c}
.a10-light .elementor-message.elementor-message-danger{color:#c23a2b}

/* Testimonial carousel (Elementor Pro) */
.a10-light .elementor-widget-testimonial-carousel .elementor-testimonial__content{font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.5;color:#0a0a0b}
.a10-light .elementor-testimonial__footer{margin-top:20px}
.a10-light .elementor-testimonial__name{font-weight:800}
.a10-light .swiper-pagination-bullet-active{background:var(--violet)!important}

/* -------------------------- 2. Grano de textura -------------------------- */

.a10-grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:180px 180px}

/* ------------------------- 3. Cursor personalizado ----------------------- */

@media(hover:hover) and (pointer:fine){
  html.a10-has-cursor,html.a10-has-cursor a,html.a10-has-cursor button{cursor:none}
  .a10-cursor-dot,.a10-cursor-ring{position:fixed;top:0;left:0;z-index:10001;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}
  .a10-cursor-dot{width:8px;height:8px;background:var(--acid);transition:opacity .2s}
  .a10-cursor-ring{width:38px;height:38px;border:1px solid rgba(255,255,255,.55);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s,background .3s,opacity .2s}
  html.a10-cursor-hover .a10-cursor-ring{width:64px;height:64px;background:rgba(216,255,69,.12);border-color:var(--acid)}
  html.a10-cursor-hidden .a10-cursor-dot,html.a10-cursor-hidden .a10-cursor-ring{opacity:0}
}

/* --------------------------- 4. Botón magnético --------------------------- */

[data-magnetic]{display:inline-flex;transition:transform .25s var(--ease)}

/* ----------------------------- 5. Split text ------------------------------ */

[data-split]{overflow:visible}
[data-split] .a10-split-line{display:block;overflow:hidden}
[data-split] .a10-split-word{display:inline-block;transform:translateY(115%);opacity:0;transition:transform .8s var(--ease),opacity .8s var(--ease)}
[data-split].is-split-visible .a10-split-word{transform:translateY(0);opacity:1}

/* ---------------------------- 6. Transición de página ---------------------------- */

.a10-transition-curtain{position:fixed;inset:0;z-index:10002;background:var(--ink);transform:scaleY(0);transform-origin:bottom;pointer-events:none}
html.a10-transitioning .a10-transition-curtain{transition:transform .55s var(--ease)}
html.a10-transitioning-out .a10-transition-curtain{transform:scaleY(1);transform-origin:bottom}
html.a10-transitioning-in .a10-transition-curtain{transform:scaleY(0);transform-origin:top;transition:transform .6s var(--ease) .05s}

/* ------------------------------ Accesibilidad ------------------------------ */

@media(prefers-reduced-motion:reduce){
  .a10-grain{display:none}
  [data-split] .a10-split-word{transform:none;opacity:1;transition:none}
  .a10-transition-curtain{display:none}
  html.a10-has-cursor,html.a10-has-cursor a,html.a10-has-cursor button{cursor:auto}
  .a10-cursor-dot,.a10-cursor-ring{display:none}
}
@media(max-width:900px){
  .a10-cursor-dot,.a10-cursor-ring{display:none}
  html.a10-has-cursor,html.a10-has-cursor a,html.a10-has-cursor button{cursor:auto}
}
