/* ==========================================================================
   Inboost FX: efectos interactivos del boceto.
   Cursor, malla del hero, preview de servicios, casos con scroll horizontal
   fijado, FAQ, foco del CTA y reloj del pie.
   Se carga desde functions.php del tema hijo junto a inboost-fx.js.
   ========================================================================== */
:root{--ib-eo:cubic-bezier(.16,1,.3,1);--ib-eio:cubic-bezier(.65,0,.35,1);--ib-lime:#9EFF00;--ib-bg:#0A0F1D;--ib-bg2:#0F1730;--ib-mute:rgba(255,255,255,.62);--ib-line:rgba(255,255,255,.1)}

/* ---------- Cursor personalizado (solo ratón) ---------- */
.ib-cursor{position:fixed;inset:0;pointer-events:none;z-index:100000;transition:opacity .3s}
.ib-cursor.hide{opacity:0}
.ib-c-dot,.ib-c-ring{position:fixed;left:0;top:0;border-radius:50%;will-change:transform}
.ib-c-dot{width:6px;height:6px;background:#fff;transition:opacity .2s}
.ib-c-ring{width:36px;height:36px;border:1px solid rgba(255,255,255,.4);display:grid;place-items:center;transition:width .5s var(--ib-eo),height .5s var(--ib-eo),background .3s,border-color .3s,border-radius .5s var(--ib-eo)}
.ib-c-label{font:600 13px/1 Inter,system-ui,sans-serif;letter-spacing:-.01em;color:var(--ib-bg);opacity:0;white-space:nowrap;transition:opacity .2s}
.ib-cursor[data-state="link"] .ib-c-ring{width:58px;height:58px;border-color:var(--ib-lime)}
.ib-cursor[data-state="btn"] .ib-c-ring{width:84px;height:84px;border-color:transparent;background:rgba(255,255,255,.07)}
.ib-cursor[data-state="view"] .ib-c-ring{width:108px;height:108px;background:#fff;border-color:#fff}
.ib-cursor[data-state="more"] .ib-c-ring{width:74px;height:74px;background:var(--ib-lime);border-color:var(--ib-lime)}
.ib-cursor[data-state="text"] .ib-c-ring{width:3px;height:64px;border-radius:2px;background:var(--ib-lime);border-color:transparent}
.ib-cursor[data-state="link"] .ib-c-dot,.ib-cursor[data-state="btn"] .ib-c-dot,.ib-cursor[data-state="view"] .ib-c-dot,.ib-cursor[data-state="more"] .ib-c-dot,.ib-cursor[data-state="text"] .ib-c-dot{opacity:0}
.ib-cursor[data-state="view"] .ib-c-label,.ib-cursor[data-state="more"] .ib-c-label{opacity:1;transition-delay:.12s}
html.ib-has-cursor,html.ib-has-cursor *{cursor:none!important}
html.ib-has-cursor input,html.ib-has-cursor textarea,html.ib-has-cursor select{cursor:auto!important}

/* ---------- Hero: malla interactiva (canvas) ---------- */
#top .ib-field{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 58%);mask-image:linear-gradient(90deg,transparent 8%,#000 58%);will-change:transform}
#top.ib-field-on::before{display:none!important}
@media (max-width:980px){#top .ib-field{-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 85%);mask-image:linear-gradient(180deg,#000 30%,transparent 85%);opacity:.75}}

/* ---------- Servicios: preview flotante que sigue al cursor ---------- */
.ib-svc-preview{position:fixed;left:0;top:0;width:260px;height:190px;border-radius:18px;background:var(--ib-bg2);border:1px solid rgba(158,255,0,.28);pointer-events:none;z-index:9999;opacity:0;transition:opacity .35s;overflow:hidden;will-change:transform}
.ib-svc-preview.on{opacity:1}
.ib-svc-preview .pv-v{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .35s;padding-bottom:18px}
.ib-svc-preview[data-i="1"] [data-v="1"],.ib-svc-preview[data-i="2"] [data-v="2"],.ib-svc-preview[data-i="3"] [data-v="3"],.ib-svc-preview[data-i="4"] [data-v="4"],.ib-svc-preview[data-i="5"] [data-v="5"],.ib-svc-preview[data-i="6"] [data-v="6"]{opacity:1}
.ib-svc-preview .pv-l{position:absolute;left:16px;bottom:12px;font:400 12px/1.2 Inter,system-ui,sans-serif;color:var(--ib-mute)}
.ib-svc-preview .v-rings{position:relative;width:120px;height:120px}
.ib-svc-preview .v-rings i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(158,255,0,.25)}
.ib-svc-preview .v-rings i:nth-child(2){inset:20px}.ib-svc-preview .v-rings i:nth-child(3){inset:40px;border-color:var(--ib-lime)}
.ib-svc-preview .v-rings b{position:absolute;inset:0;border-radius:50%;border:1px solid transparent;border-top-color:var(--ib-lime);animation:ibSpin 3s linear infinite}
.ib-svc-preview .v-rings::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#fff}
@keyframes ibSpin{to{transform:rotate(360deg)}}
.ib-svc-preview .v-br{width:176px;height:116px;border:1px solid rgba(255,255,255,.2);border-radius:8px;overflow:hidden}
.ib-svc-preview .v-br-top{height:18px;border-bottom:1px solid rgba(255,255,255,.12);display:flex;gap:4px;align-items:center;padding:0 8px}
.ib-svc-preview .v-br-top i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3)}
.ib-svc-preview .v-br-b{padding:14px;display:flex;flex-direction:column;gap:8px}
.ib-svc-preview .v-br-b span{height:8px;border-radius:4px;background:rgba(255,255,255,.18);width:50%}
.ib-svc-preview .v-br-b span:first-child{height:14px;width:78%;background:rgba(255,255,255,.75)}
.ib-svc-preview .v-br-b em{margin-top:4px;width:54px;height:16px;border-radius:9999px;background:var(--ib-lime)}
.ib-svc-preview .v-serp{width:180px;display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
.ib-svc-preview .v-serp li{display:flex;gap:10px;align-items:center;font:400 12px/1 Inter,system-ui,sans-serif;color:var(--ib-mute);padding:0}
.ib-svc-preview .v-serp span{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.14)}
.ib-svc-preview .v-serp li:first-child{color:var(--ib-lime)}.ib-svc-preview .v-serp li:first-child span{background:var(--ib-lime)}
.ib-svc-preview .v-bars{display:flex;align-items:flex-end;gap:8px;height:110px}
.ib-svc-preview .v-bars i{width:14px;border-radius:3px 3px 0 0;background:rgba(255,255,255,.18)}
.ib-svc-preview .v-bars i:nth-child(1){height:22%}.ib-svc-preview .v-bars i:nth-child(2){height:34%}.ib-svc-preview .v-bars i:nth-child(3){height:30%}.ib-svc-preview .v-bars i:nth-child(4){height:52%}.ib-svc-preview .v-bars i:nth-child(5){height:48%}.ib-svc-preview .v-bars i:nth-child(6){height:74%}.ib-svc-preview .v-bars i:nth-child(7){height:100%;background:var(--ib-lime)}
.ib-svc-preview .v-aa{display:flex;align-items:center;gap:18px;font:700 84px/1 Inter,system-ui,sans-serif;letter-spacing:-.06em;color:#fff}
.ib-svc-preview .v-aa span{display:flex;flex-direction:column;gap:6px}
.ib-svc-preview .v-aa i{width:22px;height:22px;border-radius:50%;background:#fff}.ib-svc-preview .v-aa i:nth-child(2){background:var(--ib-lime)}.ib-svc-preview .v-aa i:nth-child(3){background:var(--ib-bg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.ib-svc-preview .v-line{width:200px;height:110px}

/* ---------- Casos: pista horizontal ---------- */
#ib-cases-track>.et_pb_group{flex:none;padding-right:0!important;margin:0!important}
#ib-cases-track .et_pb_image,#ib-cases-track .et_pb_image_wrap{display:block;width:100%;max-width:none!important}
#ib-cases-track .et_pb_image_wrap{position:relative;overflow:hidden;border-radius:18px}
#ib-cases-track .et_pb_image img{display:block;width:100%;object-fit:cover;object-position:top center;transition:transform 1.4s var(--ib-eo)}
#ib-cases-track>.et_pb_group:hover .et_pb_image img{transform:scale(1.06)}
#ib-cases-track>.et_pb_group:hover .et_pb_image_wrap{box-shadow:inset 0 0 0 1px rgba(158,255,0,.6)}
@media (min-width:981px){
  #casos.ib-pinned{padding-top:0!important;padding-bottom:0!important}
  .ib-cases-pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,4vh,56px);overflow:hidden;padding-top:84px;box-sizing:border-box}
  .ib-cases-pin .ib-cases-head{margin-bottom:0!important}
  #ib-cases-track{width:max-content!important;max-width:none!important;will-change:transform}
  #ib-cases-track>.et_pb_group:nth-child(1){width:min(52vw,880px)}#ib-cases-track>.et_pb_group:nth-child(1) img{height:46vh}
  #ib-cases-track>.et_pb_group:nth-child(2){width:min(30vw,500px);margin-top:8vh!important}#ib-cases-track>.et_pb_group:nth-child(2) img{height:40vh}
  #ib-cases-track>.et_pb_group:nth-child(3){width:min(44vw,760px)}#ib-cases-track>.et_pb_group:nth-child(3) img{height:36vh}
  #ib-cases-track>.et_pb_group:nth-child(4){width:min(34vw,560px);margin-top:5vh!important}#ib-cases-track>.et_pb_group:nth-child(4) img{height:44vh}
  #ib-cases-track>.et_pb_group:nth-child(5){width:min(46vw,780px);margin-top:6vh!important}#ib-cases-track>.et_pb_group:nth-child(5) img{height:38vh}
  #ib-cases-track>.et_pb_group:nth-child(6){width:min(30vw,440px);height:40vh;min-height:0!important;margin-top:4vh!important}
}
.ib-cases-foot{display:flex;align-items:center;gap:20px;font:400 13px/1 Inter,system-ui,sans-serif;color:var(--ib-mute);font-variant-numeric:tabular-nums;width:calc(100% - clamp(40px,8.8vw,144px));max-width:1536px;margin:0 auto}
.ib-cases-bar{flex:1;height:1px;background:var(--ib-line);position:relative}
.ib-cases-bar i{position:absolute;inset:0;background:var(--ib-lime);transform:scaleX(0);transform-origin:0 50%}
@media (max-width:980px){
  #ib-cases-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px!important}
  #ib-cases-track::-webkit-scrollbar{display:none}
  #ib-cases-track>.et_pb_group{width:80vw;scroll-snap-align:start}
  #ib-cases-track .et_pb_image img{height:56vw}
  .ib-cases-foot{display:none}
}

/* ---------- CTA: foco que sigue al ratón ---------- */
#cta.ib-spot::before{-webkit-mask-position:calc(var(--mx,50%) - 280px) calc(var(--my,50%) + 72px - 280px)!important;mask-position:calc(var(--mx,50%) - 280px) calc(var(--my,50%) + 72px - 280px)!important;animation:ibGrid 12s linear infinite!important}

/* ---------- Nosotros: párrafo que se ilumina palabra a palabra ---------- */
.ib-lit-on p{color:var(--gcid-heading-color)!important;background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;animation:none!important}
.ib-lit-on .ib-w{opacity:.18;transition:opacity .35s}
.ib-lit-on .ib-w.lit{opacity:1}

@media (prefers-reduced-motion:reduce){
  .ib-svc-preview .v-rings b{animation:none}
}

/* Divi pone overflow en #page-container y eso rompe position:sticky (casos y proceso). clip evita el scroll horizontal sin crear contenedor de scroll. */
#page-container{overflow:clip!important}
.ib-cases-pin{width:100%;align-self:stretch}

/* ==========================================================================
   Botón de tema (versión clara / oscura)
   ========================================================================== */
.ib-theme-t{position:relative;flex:none;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:50%;background:none;color:var(--gcid-heading-color);box-shadow:inset 0 0 0 1px var(--gcid-b9d8c99d-bcc6-4e22-b075-06517950484c);display:grid;place-items:center;overflow:hidden;cursor:pointer;transition:box-shadow .3s}
.ib-theme-t:hover{box-shadow:inset 0 0 0 1px var(--gcid-primary-color)}
.ib-theme-t:active{transform:scale(.95)}
.ib-theme-t svg{position:absolute;width:18px;height:18px;transition:transform .6s var(--ib-eo),opacity .4s}
.ib-theme-t .i-moon{transform:translateY(140%) rotate(-90deg);opacity:0}
html[data-theme="light"] .ib-theme-t .i-sun{transform:translateY(-140%) rotate(90deg);opacity:0}
html[data-theme="light"] .ib-theme-t .i-moon{transform:none;opacity:1}
.et-l--header .et_pb_column:has(> .ib-theme-t){flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;column-gap:10px}
.ib-theme-m{display:none}
@media (max-width:767px){.ib-theme-m{display:grid;width:40px;height:40px}}

/* ==========================================================================
   Versión clara. Los colores globales de Divi se redefinen aquí, así toda la
   web cambia a la vez. Los acentos de texto pasan a verde vivo (#9EFF00, parecido al lima pero legible sobre blanco)
   para que se lean sobre blanco; los botones siguen en lima.
   ========================================================================== */
html[data-theme="light"]{
  color-scheme:light;
  --gcid-b719a11a-75ca-4dab-91c3-2dfd7a0094e2:#FFFFFF;
  --gcid-secondary-color:#F2F4F7;
  --gcid-heading-color:#0A0F1D;
  --gcid-body-color:rgba(10,15,29,.66);
  --gcid-d87c0bee-40fb-4130-86cf-570b00706c7e:rgba(10,15,29,.58);
  --gcid-b9d8c99d-bcc6-4e22-b075-06517950484c:rgba(10,15,29,.12);
  --gcid-primary-color:#9EFF00;
  --gcid-link-color:#9EFF00;
  --ib-bg:#FFFFFF;--ib-bg2:#F2F4F7;--ib-mute:rgba(10,15,29,.66);--ib-line:rgba(10,15,29,.12);
}
html[data-theme="light"],html[data-theme="light"] body,html[data-theme="light"] #page-container{background-color:#FFFFFF!important}
html[data-theme="light"] ::selection{background:#9EFF00;color:#0A0F1D}

/* Botones: el lima se mantiene */
html[data-theme="light"] body #page-container .preset--module--divi-button--1066b235-542e-482e-95dc-8b49c9c885d9,
html[data-theme="light"] body #page-container .et_pb_contact_submit{background-color:#9EFF00!important;box-shadow:inset 0 0 0 1px rgba(10,15,29,.08)}
html[data-theme="light"] body #page-container .preset--module--divi-button--1066b235-542e-482e-95dc-8b49c9c885d9:hover,
html[data-theme="light"] body #page-container .et_pb_contact_submit:hover{background-color:#B6FF3D!important}
/* Texto de los botones lima: azul marino (el preset lo tenia enlazado al color de fondo) */
html[data-theme="light"] body #page-container .et_pb_section .preset--module--divi-button--1066b235-542e-482e-95dc-8b49c9c885d9,
html[data-theme="light"] body #page-container .et_pb_section .preset--module--divi-button--1066b235-542e-482e-95dc-8b49c9c885d9:hover,
html[data-theme="light"] body #page-container .et_pb_section .preset--module--divi-button--1066b235-542e-482e-95dc-8b49c9c885d9:after,
html[data-theme="light"] body #page-container .et_pb_section .et_pb_contact_submit,
html[data-theme="light"] body #page-container .et_pb_section .et_pb_contact_submit:after{color:#0A0F1D!important}
/* Captcha del formulario */
html[data-theme="light"] #page-container .et_pb_contact_captcha_question,html[data-theme="light"] #page-container .et_pb_contact_captcha_label{color:var(--gcid-heading-color)!important}
/* Botón ghost: se rellena de azul marino y el texto pasa a blanco */
html[data-theme="light"] body #page-container .preset--module--divi-button--524073b3-50b5-4b2f-b99a-4cfdd42cc25e{background-image:linear-gradient(#0A0F1D,#0A0F1D)!important}
html[data-theme="light"] body #page-container .preset--module--divi-button--524073b3-50b5-4b2f-b99a-4cfdd42cc25e:hover{color:#FFFFFF!important}

/* Cabecera translúcida clara */
html[data-theme="light"] .et-l--header .et_pb_section::before{background:rgba(255,255,255,.72)!important}

/* Hero */
html[data-theme="light"] #top p.et_pb_module_header{color:var(--gcid-heading-color)!important}
html[data-theme="light"] #top::after{background:radial-gradient(ellipse 45% 40% at 72% 42%,rgba(158,255,0,.08),transparent 70%),linear-gradient(90deg,rgba(10,15,29,.06) 1px,transparent 1px) 0 0/calc(100%/6) 100%!important;border-right-color:rgba(10,15,29,.06)!important}

/* Negritas y detalles que estaban en blanco fijo */
html[data-theme="light"] .et_pb_text strong,html[data-theme="light"] .et_pb_toggle_content strong{color:var(--gcid-heading-color)!important}
html[data-theme="light"] #top > .et_pb_row:first-of-type .et_pb_text strong{color:var(--gcid-primary-color)!important}
html[data-theme="light"] .et_pb_text li:hover{color:var(--gcid-heading-color)!important}
html[data-theme="light"] #servicios .et_pb_row .et_pb_column:last-child::after{color:var(--gcid-heading-color)!important}
html[data-theme="light"] #servicios .et_pb_row:hover .et_pb_column:last-child::after{color:#FFFFFF!important}
html[data-theme="light"] .ib-team-photo::before{background:repeating-linear-gradient(135deg,rgba(10,15,29,.04) 0 1px,transparent 1px 14px)!important}
html[data-theme="light"] #preguntas .et_pb_toggle_title:before{color:var(--gcid-heading-color)!important}
html[data-theme="light"] #preguntas .et_pb_toggle_open .et_pb_toggle_title:before{color:#FFFFFF!important}
html[data-theme="light"] .et-l--footer li a:hover:before{color:#FFFFFF!important}
html[data-theme="light"] .et-l--footer .o{-webkit-text-stroke-color:rgba(10,15,29,.2)!important}

/* CTA final: cuadrícula oscura suave sobre blanco */
html[data-theme="light"] #cta{background-image:radial-gradient(circle at center,rgba(255,255,255,0) 0%,#FFFFFF 72%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpath d='M72 0.5H0.5V72' fill='none' stroke='%230A0F1D' stroke-opacity='0.08'/%3E%3C/svg%3E")!important}
html[data-theme="light"] #cta::before{opacity:.8}

/* Cursor */
html[data-theme="light"] .ib-c-dot{background:#0A0F1D}
html[data-theme="light"] .ib-c-ring{border-color:rgba(10,15,29,.4)}
html[data-theme="light"] .ib-cursor[data-state="link"] .ib-c-ring{border-color:#9EFF00}
html[data-theme="light"] .ib-cursor[data-state="btn"] .ib-c-ring{background:rgba(10,15,29,.07);border-color:transparent}
html[data-theme="light"] .ib-cursor[data-state="view"] .ib-c-ring{background:#0A0F1D;border-color:#0A0F1D}
html[data-theme="light"] .ib-cursor[data-state="view"] .ib-c-label{color:#FFFFFF}
html[data-theme="light"] .ib-cursor[data-state="more"] .ib-c-ring{background:#9EFF00;border-color:#9EFF00}
html[data-theme="light"] .ib-cursor[data-state="text"] .ib-c-ring{background:#9EFF00}

/* Vista previa de servicios */
html[data-theme="light"] .ib-svc-preview{border-color:rgba(158,255,0,.35)}
html[data-theme="light"] .ib-svc-preview .v-br{border-color:rgba(10,15,29,.2)}
html[data-theme="light"] .ib-svc-preview .v-br-top{border-color:rgba(10,15,29,.12)}
html[data-theme="light"] .ib-svc-preview .v-br-top i{background:rgba(10,15,29,.3)}
html[data-theme="light"] .ib-svc-preview .v-br-b span{background:rgba(10,15,29,.18)}
html[data-theme="light"] .ib-svc-preview .v-br-b span:first-child{background:rgba(10,15,29,.75)}
html[data-theme="light"] .ib-svc-preview .v-serp span,html[data-theme="light"] .ib-svc-preview .v-bars i{background:rgba(10,15,29,.14)}
html[data-theme="light"] .ib-svc-preview .v-serp li:first-child span,html[data-theme="light"] .ib-svc-preview .v-bars i:nth-child(7){background:#9EFF00}
html[data-theme="light"] .ib-svc-preview .v-aa{color:#0A0F1D}
html[data-theme="light"] .ib-svc-preview .v-aa i:nth-child(1),html[data-theme="light"] .ib-svc-preview .v-rings::after{background:#0A0F1D}
html[data-theme="light"] .ib-svc-preview .v-aa i:nth-child(3){background:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(10,15,29,.3)}

/* Logo de la cabecera: modulo Imagen (clase ib-logo) con la version para fondo oscuro;
   en la version clara se cambia por la de fondo claro. */
.ib-logo img{display:block;width:100%;height:auto}
.ib-logo a{display:block}
html[data-theme="light"] .ib-logo img{content:url("/wp-content/uploads/2026/09/inboost-logo-fondo-claro.png")}


/* ---------- Modo ligero (ordenadores antiguos, lo activa inboost-fx.js) ---------- */
html.ib-lite .ib-cursor,html.ib-lite .ib-svc-preview{display:none!important}
html.ib-lite *,html.ib-lite *::before,html.ib-lite *::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
