/*!
 * Inboost Pages: efectos y estilos de las páginas interiores (Servicios,
 * Posicionamiento web, Nosotros, Contacto, Blog, Artículo y Legales).
 * Divi pone estructura, contenido y presets; aquí solo lo que Divi no resuelve.
 * Todo usa los colores globales de Divi (--gcid-*), así el modo claro funciona solo.
 * Clases asignables en Divi (Avanzado → Atributos HTML → Class):
 *   <em class="ib-fill">   palabra que se rellena en lima al entrar en pantalla
 *   .ib-scrub              titular que se ilumina palabra a palabra con el scroll
 *   .ib-rot2               palabras que rotan (un <em> por palabra)
 *   .ib-crumbs             migas de pan (módulo Texto)
 *   .ib-chips              enlaces/etiquetas en píldora (módulo Texto)
 *   .ib-rows               filas editoriales con hover (sección)
 *   .ib-links              lista de enlaces con flecha (módulo Texto)
 *   .ib-form               formulario de contacto de Divi
 *   .ib-toc                índice automático (módulo Texto con <div data-ib-toc>)
 *   .ib-post / .ib-legal   tipografía de Post Content
 */
:root{
  --ibp-bg:var(--gcid-b719a11a-75ca-4dab-91c3-2dfd7a0094e2);
  --ibp-bg2:var(--gcid-secondary-color);
  --ibp-ink:var(--gcid-heading-color);
  --ibp-body:var(--gcid-body-color);
  --ibp-dim:var(--gcid-d87c0bee-40fb-4130-86cf-570b00706c7e);
  --ibp-line:var(--gcid-b9d8c99d-bcc6-4e22-b075-06517950484c);
  --ibp-lime:var(--gcid-primary-color);
  --ibp-ease:cubic-bezier(.16,1,.3,1);
}

/* ---------- Palabra que se rellena ---------- */
.ib-fill{position:relative;display:inline-block;font-style:normal!important;color:var(--ibp-lime)!important}
html.ib-pjs .ib-fill{color:var(--ibp-dim)!important}
html.ib-pjs .ib-fill::after{content:attr(data-text);position:absolute;left:-.1em;right:-.1em;top:-.25em;bottom:-.25em;padding:.25em .1em;white-space:inherit;color:var(--ibp-lime);pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%);
  -webkit-mask-size:220% 100%;mask-size:220% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:100% 0;mask-position:100% 0;transition:-webkit-mask-position 1.4s cubic-bezier(.65,0,.35,1),mask-position 1.4s cubic-bezier(.65,0,.35,1)}
html.ib-pjs .ib-fill.is-filled::after{-webkit-mask-position:0 0;mask-position:0 0}

/* ---------- Titular que se ilumina palabra a palabra ---------- */
.ib-scrub.is-split .ib-w{opacity:.2;transition:opacity .4s ease}
.ib-scrub.is-split .ib-w.is-lit{opacity:1}

/* ---------- Palabras que rotan (4 palabras, 3 s cada una) ---------- */
.ib-rot2{display:inline-grid;vertical-align:bottom;overflow:hidden;padding:0 .04em .1em 0;margin-bottom:-.1em;line-height:1.05}
.ib-rot2 em{grid-area:1/1;display:block;white-space:nowrap;font-style:normal;color:var(--ibp-lime);transform:translateY(110%);animation:ibRot2 12s var(--ibp-ease) infinite}
.ib-rot2 em:nth-child(2){animation-delay:3s}.ib-rot2 em:nth-child(3){animation-delay:6s}.ib-rot2 em:nth-child(4){animation-delay:9s}
@keyframes ibRot2{0%{transform:translateY(110%)}5%,22%{transform:translateY(0)}27%,100%{transform:translateY(-110%)}}
@media (max-width:767px){.ib-rot2{display:grid;width:max-content;max-width:100%}}

/* ---------- Migas de pan ---------- */
/* line-height 1.625 = 19,5px, el alto de la etiqueta de la derecha («Aceptando nuevos proyectos»): así la fila de migas mide lo mismo con o sin etiqueta y no salta al cambiar de página */
.ib-crumbs p{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;line-height:1.625;color:var(--ibp-body)}
.ib-crumbs a{color:var(--ibp-body)!important;transition:color .3s}
.ib-crumbs a:hover{color:var(--ibp-ink)!important}
.ib-crumbs span{color:var(--ibp-dim)}
.ib-crumbs strong{font-weight:400;color:var(--ibp-ink)}

/* ---------- Píldoras ---------- */
.ib-chips p{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ib-chips a,.ib-chips b{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:14px;font-weight:400;line-height:1;color:var(--ibp-ink)!important;text-decoration:none;transition:box-shadow .3s,color .3s,transform .2s}
.ib-chips a:hover{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-lime)!important}
.ib-chips a:active{transform:scale(.95)}
.ib-chips a.ib-arrow::after{content:"\2197";font-size:13px}
.ib-chips i{font-style:normal;color:var(--ibp-dim)}
.ib-chips b.on,.ib-chips a.on{color:var(--ibp-lime)!important;box-shadow:inset 0 0 0 1px var(--ibp-lime)}

/* ---------- Filas editoriales con hover (Servicios, Blog) ----------
   Sección con clase ib-rows: cada fila con clase ib-row. La fila bajo el
   cursor se desplaza, las demás se atenúan y la flecha pasa a lima y gira. */
.ib-rows .ib-row{position:relative;transition:opacity .45s var(--ibp-ease)}
.ib-rows .ib-row::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--ibp-lime);transform:scaleX(0);transform-origin:0 50%;transition:transform .8s var(--ibp-ease);z-index:1}
.ib-rows .ib-row:hover::after{transform:scaleX(1)}
.ib-rows .ib-row .et_pb_module_header{transition:transform .6s var(--ibp-ease),color .3s}
.ib-rows .ib-row:hover .et_pb_module_header{transform:translateX(14px)}
.ib-rows:has(.ib-row:hover) .ib-row:not(:hover){opacity:.4}
.ib-rows .ib-row .ib-arrow-c{position:relative}
.ib-rows .ib-row .ib-arrow-c::after{content:"\2192";position:absolute;right:0;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ibp-line);display:grid;place-items:center;font-size:16px;color:var(--ibp-ink);transition:transform .45s var(--ibp-ease),background .3s,color .3s,box-shadow .3s}
.ib-rows .ib-row:hover .ib-arrow-c::after{background:var(--ibp-lime);color:#0A0F1D;box-shadow:none;transform:rotate(-45deg)}
@media (min-width:981px){.ib-rows .ib-row .ib-arrow-c{padding-right:72px}}
@media (max-width:980px){.ib-rows .ib-row .ib-arrow-c::after{top:28px}.ib-rows .ib-row .ib-arrow-c{padding-right:60px}}
@media (hover:none){.ib-rows .ib-row:hover .et_pb_module_header{transform:none}.ib-rows:has(.ib-row:hover) .ib-row:not(:hover){opacity:1}}

/* ---------- Lista de enlaces con flecha (Especialidades) ---------- */
.ib-links ul{list-style:none;margin:0;padding:0!important}
.ib-links li{border-top:1px solid var(--ibp-line);padding:0!important}
.ib-links li:last-child{border-bottom:1px solid var(--ibp-line)}
.ib-links a{display:flex;align-items:center;gap:24px;padding:22px 0;color:var(--ibp-ink)!important;text-decoration:none;transition:padding .45s var(--ibp-ease)}
.ib-links a strong{display:block;font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ibp-ink);transition:color .3s}
.ib-links a span{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--ibp-body)}
.ib-links a::after{content:"\2197";flex:0 0 44px;height:44px;margin-left:auto;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ibp-line);display:grid;place-items:center;font-size:16px;transition:background .3s,color .3s,box-shadow .3s,transform .45s var(--ibp-ease)}
.ib-links a:hover{padding-left:12px}
.ib-links a:hover strong{color:var(--ibp-lime)}
.ib-links a:hover::after{background:var(--ibp-lime);color:#0A0F1D;box-shadow:none;transform:rotate(45deg)}

/* ---------- Lista con punto lima (Señales, Qué pasa después) ---------- */
.ib-dots ul{list-style:none;margin:0;padding:0!important}
.ib-dots li{position:relative;padding:26px 0 26px 36px!important;border-top:1px solid var(--ibp-line)}
.ib-dots li:last-child{border-bottom:1px solid var(--ibp-line)}
.ib-dots li::before{content:"";position:absolute;left:4px;top:36px;width:8px;height:8px;border-radius:50%;background:var(--ibp-lime);box-shadow:0 0 0 5px rgba(158,255,0,.14)}
.ib-dots li strong{display:block;font-size:clamp(19px,1.8vw,24px);font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--ibp-ink);margin-bottom:6px}
.ib-dots li span{display:block;font-size:15px;line-height:1.6;color:var(--ibp-body)}
.ib-dots li b{position:absolute;left:0;top:30px;font-size:12px;font-weight:400;color:var(--ibp-lime)}
.ib-dots.ib-num li::before{display:none}

/* ---------- Tarjeta SERP del hero de Posicionamiento web ---------- */
.ib-serp{border-radius:16px;box-shadow:inset 0 0 0 1px var(--ibp-line);background:var(--ibp-bg2);padding:22px;max-width:460px;margin-left:auto}
.ib-serp .q{display:flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:14px;color:var(--ibp-ink)}
.ib-serp .q::before{content:"";width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ibp-dim)}
.ib-serp .q::after{content:"";width:1px;height:18px;background:#00E5FF;animation:ibCaret 1s steps(1) infinite}
@keyframes ibCaret{50%{opacity:0}}
.ib-serp ol{position:relative;list-style:none;margin:16px 0 0;padding:0!important;height:300px}
.ib-serp li{position:absolute;left:0;right:0;height:50px;display:flex;align-items:center;gap:16px;padding:0 6px!important;border-top:1px solid var(--ibp-line);font-size:14px;color:var(--ibp-body);transition:top .6s var(--ibp-ease),opacity .4s}
.ib-serp li b{width:22px;font-weight:400;font-size:12px;color:var(--ibp-dim)}
.ib-serp li.you{color:var(--ibp-ink);font-weight:700}
.ib-serp li.you b{color:var(--ibp-lime)}
.ib-serp li.you i{margin-left:auto;white-space:nowrap;font-style:normal;font-size:12px;font-weight:600;color:#0A0F1D;background:var(--ibp-lime);border-radius:999px;padding:5px 10px}
.ib-serp li.you.is-top i{animation:ibPop .5s var(--ibp-ease)}
@keyframes ibPop{from{transform:scale(.7)}to{transform:none}}

/* ---------- Número en contorno (Filosofía) ---------- */
.ib-outline p{font-size:clamp(64px,7vw,110px);font-weight:700;letter-spacing:-.06em;line-height:.9;color:var(--ibp-bg)!important;-webkit-text-stroke:.025em var(--ibp-lime);paint-order:stroke fill}

/* ---------- Formulario de contacto (Divi Contact Form con clase ib-form) ---------- */
.ib-form .et_pb_contact_form{margin:0!important}
.ib-form .et_pb_contact_field{margin-bottom:28px!important;padding-left:0!important}
.ib-form .et_pb_contact_form_label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.ib-form .et_pb_contact_field_options_title{display:block!important;margin-bottom:14px;font-size:13px;color:var(--ibp-body)}
.ib-form input.input,.ib-form textarea.input{background:transparent!important;border:0!important;border-bottom:1px solid var(--ibp-line)!important;border-radius:0!important;padding:12px 0!important;font-size:clamp(17px,1.5vw,20px)!important;color:var(--ibp-ink)!important;transition:border-color .3s}
.ib-form input.input:focus,.ib-form textarea.input:focus{border-bottom-color:var(--ibp-lime)!important}
.ib-form .input::placeholder{color:var(--ibp-dim)!important;opacity:1}
.ib-form textarea.input{min-height:120px}
.ib-form .et_pb_contact_field_options_list{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px}
.ib-form .et_pb_contact_field_checkbox{margin:0!important;width:auto!important;flex:0 0 auto!important;position:relative}
.ib-form .et_pb_contact_field_checkbox input{position:absolute;opacity:0;pointer-events:none}
.ib-form .et_pb_contact_field_checkbox label{display:inline-flex!important;width:auto!important;align-items:center;min-height:40px;padding:0 18px!important;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:14px;color:var(--ibp-ink)!important;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s}
.ib-form .et_pb_contact_field_checkbox label i{display:none!important}
.ib-form .et_pb_contact_field_checkbox label:hover{box-shadow:inset 0 0 0 1px var(--ibp-ink)}
.ib-form .et_pb_contact_field_checkbox input:checked+label{background:var(--ibp-lime);color:#0A0F1D!important;box-shadow:none}
.ib-form .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_field_options_title{display:none!important}
.ib-form .et_pb_contact_field[data-id="privacidad"] label{display:flex!important;padding:0!important;box-shadow:none!important;background:none!important;color:var(--ibp-body)!important;font-size:13px;line-height:1.5;gap:12px;align-items:flex-start}
.ib-form .et_pb_contact_field[data-id="privacidad"] label::before{content:"";flex:0 0 18px;height:18px;margin-top:1px;border-radius:5px;box-shadow:inset 0 0 0 1px var(--ibp-dim);transition:background .2s}
.ib-form .et_pb_contact_field[data-id="privacidad"] input:checked+label::before{background:var(--ibp-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0F1D' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat;box-shadow:none}
.ib-form .et_pb_contact_field[data-id="privacidad"] input:checked+label{color:var(--ibp-body)!important}
.ib-form .et_contact_bottom_container{float:none!important;display:flex;align-items:center;gap:20px;margin-top:8px}
.ib-form .et_pb_contact_submit{margin:0!important}
.ib-form .et-pb-contact-message{color:var(--ibp-ink);font-size:17px}

/* ---------- Blog (módulo Blog de Divi) ---------- */
.ib-blog .et_pb_post{margin-bottom:0!important;border:0!important;padding:0!important;background:none!important}
.ib-blog .et_pb_image_container{margin:0 0 20px!important}
.ib-blog .et_pb_image_container a,.ib-blog .entry-featured-image-url{display:block;border-radius:16px;overflow:hidden;margin:0!important;background:var(--ibp-bg2)}
.ib-blog .et_pb_image_container img,.ib-blog .entry-featured-image-url img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.2s var(--ibp-ease)}
.ib-blog .et_pb_post:hover img{transform:scale(1.04)}
.ib-blog .entry-title{padding:0!important;margin:8px 0 10px!important}
.ib-blog .entry-title a{color:var(--ibp-ink)!important;transition:color .3s}
.ib-blog .et_pb_post:hover .entry-title a{color:var(--ibp-lime)!important}
.ib-blog .post-meta{font-size:12px!important;color:var(--ibp-body)!important}
.ib-blog .post-meta a{color:var(--ibp-lime)!important}
.ib-blog .post-content,.ib-blog .post-content p{color:var(--ibp-body)!important;font-size:15px;line-height:1.6}
.ib-blog .more-link{display:none}
.ib-blog.ib-blog-hero .et_pb_image_container img{aspect-ratio:16/9}
.ib-blog.ib-blog-hero .entry-title{font-size:clamp(30px,3.6vw,56px)!important;line-height:1!important;letter-spacing:-.045em}
.ib-blog.ib-blog-list .et_pb_post{display:grid;grid-template-columns:120px 1fr;gap:6px 24px;align-items:baseline;padding:26px 0!important;border-top:1px solid var(--ibp-line)!important;transition:padding .45s var(--ibp-ease)}
.ib-blog.ib-blog-list .et_pb_post:hover{padding-left:12px!important}
.ib-blog.ib-blog-list .post-meta{grid-row:1;grid-column:1}
.ib-blog.ib-blog-list .entry-title{grid-row:1;grid-column:2;margin:0!important;font-size:clamp(20px,2vw,28px)!important;letter-spacing:-.03em}
.ib-blog.ib-blog-list .et_pb_image_container,.ib-blog.ib-blog-list .post-content{display:none}
.ib-blog .pagination a{color:var(--ibp-ink)!important}
@media (max-width:767px){.ib-blog.ib-blog-list .et_pb_post{grid-template-columns:1fr}.ib-blog.ib-blog-list .entry-title{grid-row:auto;grid-column:1}}

/* ---------- Contenido de artículo y textos legales (Post Content) ---------- */
.ib-post,.ib-legal{max-width:720px}
.ib-post p,.ib-post li{font-size:18px;line-height:1.75;color:var(--ibp-body)}
.ib-legal p,.ib-legal li{font-size:16px;line-height:1.75;color:var(--ibp-body)}
.ib-post h2{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.035em;line-height:1.1;color:var(--ibp-ink);margin:2.2em 0 .6em;padding:0;scroll-margin-top:110px}
.ib-legal h2{font-size:26px;font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--ibp-ink);margin:2.4em 0 .6em;padding:1.2em 0 0;border-top:1px solid var(--ibp-line);scroll-margin-top:110px}
.ib-post > .et_pb_module_inner > h2:first-child,.ib-legal h2:first-child{margin-top:0}
.ib-post h3,.ib-legal h3{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--ibp-ink);margin:1.8em 0 .5em;padding:0}
.ib-legal h3{font-size:18px}
.ib-post a,.ib-legal a{color:var(--ibp-lime);text-decoration:underline;text-underline-offset:3px}
.ib-post ul,.ib-post ol,.ib-legal ul,.ib-legal ol{padding-left:1.2em!important;margin:0 0 1.4em}
.ib-post li::marker,.ib-legal li::marker{color:var(--ibp-lime)}
.ib-post blockquote{border:0!important;margin:2em 0;padding:0 0 0 24px!important;box-shadow:inset 2px 0 0 var(--ibp-lime);font-size:24px;line-height:1.4;font-weight:600;letter-spacing:-.02em;color:var(--ibp-ink)}
.ib-post blockquote p{font-size:inherit;color:inherit;line-height:inherit}
.ib-post img{border-radius:16px}
.ib-post strong,.ib-legal strong{color:var(--ibp-ink)}

/* ---------- Índice automático ---------- */
.ib-toc ol{list-style:none;margin:0;padding:0!important;counter-reset:toc}
.ib-toc li{counter-increment:toc;border-top:1px solid var(--ibp-line);padding:0!important}
.ib-toc li a{display:flex;gap:12px;padding:12px 0;font-size:14px;line-height:1.4;color:var(--ibp-body)!important;text-decoration:none;transition:color .3s,padding .4s var(--ibp-ease)}
.ib-toc li a::before{content:counter(toc,decimal-leading-zero);font-size:11px;padding-top:2px;color:var(--ibp-dim)}
.ib-toc li a:hover,.ib-toc li a.on{color:var(--ibp-ink)!important;padding-left:6px}
.ib-toc li a.on::before{color:var(--ibp-lime)}

/* ---------- Compartir ---------- */
.ib-share{display:flex;flex-wrap:wrap;gap:8px}
.ib-share a{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:13px;color:var(--ibp-ink)!important;text-decoration:none!important;transition:box-shadow .3s,color .3s}
.ib-share a:hover{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-lime)!important}

/* ---------- Menú: página activa con punto lima (como el boceto) ---------- */
/* Desplegable (Servicios → Posicionamiento web) */
.et-l--header .et-menu li .sub-menu{background:var(--ibp-bg2)!important;border:1px solid var(--ibp-line)!important;border-radius:14px;padding:8px!important;width:250px!important;margin-top:24px!important;box-shadow:0 28px 60px -24px rgba(0,0,0,.55)}
.et-l--header .et-menu li .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-34px;height:34px}
.et-l--header .et-menu li .sub-menu li{padding:0!important;width:100%}
.et-l--header .et-menu li .sub-menu a{display:block;width:100%!important;padding:12px 14px!important;border-radius:9px;font-size:14px!important;line-height:1.3!important;color:var(--ibp-body)!important;transition:background .25s,color .25s,padding .35s var(--ibp-ease)}
.et-l--header .et-menu li .sub-menu a:hover{background:rgba(158,255,0,.08);color:var(--ibp-ink)!important;padding-left:18px!important;opacity:1!important}
.et-l--header .et-menu li .sub-menu li.current-menu-item>a{color:var(--ibp-lime)!important}
.et-l--header .et-menu li .sub-menu a::before,.et-l--header .et-menu li .sub-menu a::after{display:none!important}
.et-l--header .et-menu>li.menu-item-has-children>a{padding-right:18px!important}
.et-l--header .et-menu>li.menu-item-has-children>a::before{margin-left:-11.5px}
.et-l--header .et-menu>li.menu-item-has-children>a::after{font-size:14px;right:0;top:1px;color:var(--ibp-dim);transition:transform .3s var(--ibp-ease),color .3s}
.et-l--header .et-menu>li.menu-item-has-children:hover>a::after{transform:rotate(180deg);color:var(--ibp-lime)}
.et-l--header .et_mobile_menu .sub-menu{padding-left:18px!important}
.et-l--header .et_mobile_menu .sub-menu a{font-size:18px!important;font-weight:600!important;color:var(--ibp-body)!important}
.et-l--header .et-menu>li>a{position:relative}
.et-l--header .et-menu>li.current-menu-item>a,.et-l--header .et-menu>li.current-menu-ancestor>a,.et-l--header .et-menu>li.current-page-ancestor>a,.et-l--header .et-menu>li.current_page_parent>a,.et-l--header .et-menu>li.ib-current>a{color:var(--ibp-ink)!important}
.et-l--header .et-menu>li>a::before{content:"";position:absolute;left:50%;bottom:-8px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--ibp-lime);transform:scale(0);transition:transform .45s var(--ibp-ease)}
.et-l--header .et-menu>li.current-menu-item>a::before,.et-l--header .et-menu>li.current-menu-ancestor>a::before,.et-l--header .et-menu>li.current-page-ancestor>a::before,.et-l--header .et-menu>li.current_page_parent>a::before,.et-l--header .et-menu>li.ib-current>a::before{transform:scale(1)}
.et-l--header .et_mobile_menu li.current-menu-item>a,.et-l--header .et_mobile_menu li.current-menu-ancestor>a,.et-l--header .et_mobile_menu li.current-page-ancestor>a,.et-l--header .et_mobile_menu li.ib-current>a{color:var(--ibp-lime)!important}

@media (prefers-reduced-motion:reduce){
  html.ib-pjs .ib-fill::after{transition:none;-webkit-mask-position:0 0;mask-position:0 0}
  .ib-rot2 em{animation:none;transform:none}.ib-rot2 em:not(:first-child){display:none}
  .ib-scrub.is-split .ib-w{opacity:1}
}
@media print{html.ib-pjs .ib-fill::after{-webkit-mask-position:0 0;mask-position:0 0}.ib-scrub.is-split .ib-w{opacity:1}}
.ib-form .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_field_checkbox{flex:1 1 100%!important}

/* ---------- Blog vacío: sin "No se encontraron resultados" (se rellena solo al publicar) ---------- */
.ib-blog .entry:has(.not-found-title){display:none}
.et_pb_row:has(.ib-blog .not-found-title){display:none}
.et_pb_section:has(.ib-blog .not-found-title):not(:has(.ib-blog-hero)){display:none}
.ib-blog.ib-blog-hero .entry-featured-image-url img{aspect-ratio:16/10;object-fit:cover;width:100%}
@media (max-width:980px){.ib-serp{margin-left:0;max-width:none}}

/* ---------- Blog: Divi 5 pinta todos los módulos Blog en cuadrícula; destacado y listado a una columna ---------- */
.ib-blog .et_overlay{display:none!important}
.ib-blog-hero .et_pb_blog_posts,.ib-blog-list .et_pb_blog_posts{display:block!important}
.ib-blog-hero .et_pb_post,.ib-blog-list .et_pb_post{width:100%!important;margin:0!important}
.ib-blog.ib-blog-hero .entry-title{font-size:clamp(30px,3.6vw,56px)!important;line-height:1.02!important;letter-spacing:-.045em;margin:14px 0 16px!important}
.ib-blog.ib-blog-hero .post-content p{font-size:17px!important;line-height:1.6;max-width:52ch}
@media (min-width:981px){
  .ib-blog.ib-blog-hero .et_pb_post:has(.et_pb_image_container){display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)!important;grid-template-rows:auto auto 1fr;column-gap:56px;align-items:start}
  .ib-blog.ib-blog-hero .et_pb_image_container{grid-row:1/span 3!important;grid-column:1!important;margin:0!important;width:100%!important}
  .ib-blog.ib-blog-hero .et_pb_post>*:not(.et_pb_image_container){grid-column:2!important}
  .ib-blog.ib-blog-hero .et_pb_post:has(.et_pb_image_container) .entry-title{align-self:end;margin-top:0!important}
}
/* Sin imagen destacada: bloque de marca en lugar del hueco */
.ib-blog:not(.ib-blog-list) .et_pb_blog_posts .et_pb_post.et_pb_no_thumb::before{content:""!important;display:block!important;width:100%;aspect-ratio:4/3;margin-bottom:20px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--ibp-line);
  background:radial-gradient(circle at 78% 22%,rgba(158,255,0,.16),transparent 55%),linear-gradient(var(--ibp-line) 1px,transparent 1px) 0 0/36px 36px,linear-gradient(90deg,var(--ibp-line) 1px,transparent 1px) 0 0/36px 36px,var(--ibp-bg2)}
.ib-blog-grid .et_pb_post{transition:transform .6s var(--ibp-ease)}
.ib-blog-grid .et_pb_post:hover{transform:translateY(-4px)}
/* Listado */
.ib-blog.ib-blog-list .et_pb_post{display:grid!important;grid-template-columns:130px minmax(0,1fr) 44px;gap:6px 24px;align-items:center;padding:24px 0!important;border-top:1px solid var(--ibp-line)!important;transition:padding .45s var(--ibp-ease)}
.ib-blog.ib-blog-list .et_pb_post:last-child{border-bottom:1px solid var(--ibp-line)!important}
.ib-blog.ib-blog-list .et_pb_post::after{content:"\2197"!important;display:grid!important;visibility:visible!important;width:44px;height:44px!important;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ibp-line);display:grid;place-items:center;font-size:16px;color:var(--ibp-ink);grid-row:1;grid-column:3;transition:background .3s,color .3s,box-shadow .3s,transform .45s var(--ibp-ease)}
.ib-blog.ib-blog-list .et_pb_post:hover{padding-left:12px!important}
.ib-blog.ib-blog-list .et_pb_post:hover::after{background:var(--ibp-lime);color:#0A0F1D;box-shadow:none;transform:rotate(45deg)}
.ib-blog.ib-blog-list .post-meta{grid-row:1;grid-column:1;margin:0!important}
.ib-blog.ib-blog-list .post-meta .entry-categories,.ib-blog.ib-blog-list .post-meta{font-size:12px!important}
.ib-blog.ib-blog-list .entry-title{grid-row:1;grid-column:2;margin:0!important}
.ib-blog.ib-blog-list .post-content{display:none!important}
@media (max-width:767px){.ib-blog.ib-blog-list .et_pb_post{grid-template-columns:minmax(0,1fr) 44px}.ib-blog.ib-blog-list .post-meta{grid-row:2;grid-column:1}.ib-blog.ib-blog-list .entry-title{grid-row:1;grid-column:1}.ib-blog.ib-blog-list .et_pb_post::after{grid-row:1/span 2;grid-column:2}}
.ib-blog.ib-blog-hero .entry-title a{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.ib-blog.ib-blog-list .entry-title a{font-size:clamp(20px,2vw,28px)!important;letter-spacing:-.03em;line-height:1.15!important}
/* Cuadrícula del blog en móvil: una columna (Divi 5 reparte con --column-count e ignora el ancho de teléfono) */
@media (max-width:767px){
  .ib-blog-grid .et_pb_blog_posts{--column-count:1!important;row-gap:48px!important}
  .ib-blog-grid .et_pb_image_container img{aspect-ratio:16/10}
}
/* Fotos del blog: siempre recortadas al hueco, sin estirarse */
.ib-blog .et_pb_image_container img{width:100%!important;height:auto;object-fit:cover}

/* ==========================================================================
   Piezas visuales del hero de los servicios (módulo Texto con la clase indicada).
   Comparten la tarjeta de .ib-serp: fondo secundario, borde fino, radio 16.
   ========================================================================== */
.ib-vis{border-radius:16px;box-shadow:inset 0 0 0 1px var(--ibp-line);background:var(--ibp-bg2);padding:22px;width:100%;max-width:460px;box-sizing:border-box;margin-left:auto;position:relative;overflow:hidden}
.ib-vis .q{display:flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:14px;color:var(--ibp-ink)}
.ib-vis .q::before{content:"";width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ibp-dim);flex:none}
.ib-vis .q::after{content:"";width:1px;height:18px;background:#00E5FF;animation:ibCaret 1s steps(1) infinite}
@media (max-width:980px){.ib-vis{margin-left:0;max-width:none}}
@keyframes ibUpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Mapa local */
.ib-map .grid{position:relative;height:230px;margin-top:16px;border-radius:12px;overflow:hidden;
  background:linear-gradient(115deg,transparent 46%,var(--ibp-line) 46.5%,var(--ibp-line) 48%,transparent 48.5%),
  linear-gradient(20deg,transparent 60%,var(--ibp-line) 60.5%,var(--ibp-line) 61.5%,transparent 62%),
  linear-gradient(var(--ibp-line) 1px,transparent 1px) 0 0/42px 42px,linear-gradient(90deg,var(--ibp-line) 1px,transparent 1px) 0 0/42px 42px}
.ib-map .grid i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--ibp-dim)}
.ib-map .grid i:nth-child(1){left:14%;top:26%}.ib-map .grid i:nth-child(2){left:70%;top:18%}.ib-map .grid i:nth-child(3){left:28%;top:72%}.ib-map .grid i:nth-child(4){left:82%;top:64%}
.ib-map .grid b{position:absolute;left:52%;top:44%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--ibp-lime);animation:ibPinPulse 2.4s infinite}
.ib-map .grid b::after{content:"";position:absolute;left:8px;top:8px;width:10px;height:10px;border-radius:50%;background:#0A0F1D}
@keyframes ibPinPulse{0%{box-shadow:0 0 0 0 rgba(158,255,0,.45)}70%{box-shadow:0 0 0 22px rgba(158,255,0,0)}100%{box-shadow:0 0 0 0 rgba(158,255,0,0)}}
.ib-map .card{margin-top:14px;padding:14px 16px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ibp-line);display:grid;gap:4px;font-size:13px;color:var(--ibp-body);animation:ibUpIn 1s var(--ibp-ease) both .3s}
.ib-map .card strong{font-size:16px;color:var(--ibp-ink)}
.ib-map .card .st{color:var(--ibp-lime);letter-spacing:2px}
.ib-map .card em{font-style:normal;color:var(--ibp-lime);font-weight:600}

/* Navegador que se construye */
.ib-browser{padding:0}
.ib-browser .bar{display:flex;align-items:center;gap:7px;height:44px;padding:0 16px;border-bottom:1px solid var(--ibp-line);font-size:12px;color:var(--ibp-body)}
.ib-browser .bar i{width:10px;height:10px;border-radius:50%;background:var(--ibp-line)}
.ib-browser .bar span{margin-left:12px;flex:1;height:26px;display:flex;align-items:center;padding:0 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line)}
.ib-browser .page{padding:22px 22px 120px;display:grid;gap:12px}
.ib-browser .page b{display:block;height:12px;border-radius:6px;background:var(--ibp-line);transform-origin:0 50%;animation:ibBuild 6s var(--ibp-ease) infinite}
.ib-browser .page b.h{height:26px;width:78%;background:var(--ibp-ink);opacity:.9}
.ib-browser .page b.l{width:92%}.ib-browser .page b.s{width:64%}
.ib-browser .page b.btn{width:120px;height:34px;border-radius:999px;background:var(--ibp-lime)}
.ib-browser .page .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.ib-browser .page .cards b{height:74px;border-radius:10px;transform-origin:50% 50%}
.ib-browser .page>:nth-child(2){animation-delay:.15s}.ib-browser .page>:nth-child(3){animation-delay:.3s}.ib-browser .page>:nth-child(4){animation-delay:.45s}
.ib-browser .page .cards b:nth-child(1){animation-delay:.6s}.ib-browser .page .cards b:nth-child(2){animation-delay:.75s}.ib-browser .page .cards b:nth-child(3){animation-delay:.9s}
@keyframes ibBuild{0%{transform:scaleX(0);opacity:0}12%,88%{transform:none;opacity:1}100%{transform:none;opacity:0}}
.ib-browser .score{position:absolute;right:18px;bottom:18px;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:var(--ibp-bg);box-shadow:inset 0 0 0 4px var(--ibp-lime)}
.ib-browser .score strong{display:block;font-size:26px;line-height:1;color:var(--ibp-ink)}
.ib-browser .score span{display:block;font-size:9px;margin-top:3px;color:var(--ibp-body);text-transform:uppercase;letter-spacing:.06em}

/* Anuncio de Google Ads */
.ib-ads .ad{margin-top:16px;padding:16px 18px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ibp-lime);display:grid;gap:6px;animation:ibUpIn 1s var(--ibp-ease) both .2s}
.ib-ads .ad .tag{font-size:11px;font-weight:700;color:var(--ibp-ink)}
.ib-ads .ad .u{font-size:12px;color:var(--ibp-body)}
.ib-ads .ad strong{font-size:17px;line-height:1.25;color:#8AB4F8}
html[data-theme="light"] .ib-ads .ad strong{color:#1A0DAB}
.ib-ads .ad p{margin:0;font-size:13px;line-height:1.5;color:var(--ibp-body);padding:0!important}
.ib-ads ul{list-style:none;margin:16px 0 0;padding:0!important;display:grid;gap:12px}
.ib-ads li{display:grid;grid-template-columns:1fr auto;gap:6px 12px;font-size:13px;color:var(--ibp-body);padding:0!important}
.ib-ads li b{font-weight:600;color:var(--ibp-lime)}
.ib-ads li i{grid-column:1/-1;height:4px;border-radius:4px;background:var(--ibp-line);position:relative;overflow:hidden}
.ib-ads li i::after{content:"";position:absolute;inset:0;background:var(--ibp-lime);transform-origin:0 50%;animation:ibBar 5s var(--ibp-ease) infinite}
.ib-ads li:nth-child(1) i::after{--w:.78}.ib-ads li:nth-child(2) i::after{--w:.56;animation-delay:.2s}.ib-ads li:nth-child(3) i::after{--w:.9;animation-delay:.4s}
@keyframes ibBar{0%{transform:scaleX(0)}30%,85%{transform:scaleX(var(--w,.7))}100%{transform:scaleX(var(--w,.7));opacity:.4}}

/* Embudo inbound */
.ib-funnel ol{list-style:none;margin:0;padding:0!important;display:grid;gap:8px;justify-items:center}
.ib-funnel li{height:52px;display:grid;place-items:center;border-radius:10px;font-size:14px;font-weight:600;color:var(--ibp-ink);box-shadow:inset 0 0 0 1px var(--ibp-line);padding:0!important;animation:ibStage 8s infinite}
.ib-funnel li:nth-child(1){width:100%}.ib-funnel li:nth-child(2){width:84%;animation-delay:2s}.ib-funnel li:nth-child(3){width:68%;animation-delay:4s}.ib-funnel li:nth-child(4){width:52%;animation-delay:6s}.ib-funnel li:nth-child(5){width:40%}
@keyframes ibStage{0%,25%{background:rgba(158,255,0,.14);box-shadow:inset 0 0 0 1px var(--ibp-lime)}30%,100%{background:transparent}}
.ib-funnel p{margin:16px 0 0;font-size:13px;line-height:1.5;color:var(--ibp-body);text-align:center;padding:0!important}

/* Checklist */
.ib-check .t{display:block;font-size:15px;color:var(--ibp-ink);margin-bottom:14px}
.ib-check ol{list-style:none;margin:0;padding:0!important;display:grid}
.ib-check li{display:flex;align-items:center;gap:14px;padding:13px 4px!important;border-top:1px solid var(--ibp-line);font-size:14px;color:var(--ibp-body)}
.ib-check li::before{content:"";flex:none;width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--ibp-dim);background:transparent center/12px no-repeat;animation:ibTick 7s infinite}
.ib-check li:nth-child(2)::before{animation-delay:.6s}.ib-check li:nth-child(3)::before{animation-delay:1.2s}.ib-check li:nth-child(4)::before{animation-delay:1.8s}.ib-check li:nth-child(5)::before{animation-delay:2.4s}
@keyframes ibTick{0%,8%{background-color:transparent;background-image:none;box-shadow:inset 0 0 0 1px var(--ibp-dim)}12%,85%{background-color:var(--ibp-lime);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0F1D' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E")}100%{background-color:transparent;background-image:none}}
@media (prefers-reduced-motion:reduce){.ib-browser .page b,.ib-ads li i::after,.ib-funnel li,.ib-check li::before,.ib-map .grid b{animation:none!important}.ib-ads li i::after{transform:scaleX(var(--w,.7))}}

/* Desplegable de Servicios a dos columnas (escritorio) */
@media (min-width:981px){
  .et-l--header .et-menu>li.menu-item-has-children>.sub-menu:has(>li:nth-child(7)){width:540px!important;column-count:2;column-gap:4px;left:50%!important;margin-left:-270px!important}
  .et-l--header .et-menu>li.menu-item-has-children>.sub-menu:has(>li:nth-child(7))>li{break-inside:avoid;display:block}
  .et-l--header .et-menu>li.menu-item-has-children>.sub-menu:has(>li:nth-child(7)) a{padding:10px 14px!important;font-size:14px!important}
}

/* ==========================================================================
   Piezas visuales únicas por servicio (2026-09-29). Base común: .ib-vis
   ========================================================================== */
.ib-vis .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--ibp-body);margin-bottom:14px}
.ib-vis .hd strong{color:var(--ibp-ink);font-size:15px}
.ib-vis .pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;color:#0A0F1D;background:var(--ibp-lime);white-space:nowrap}
@keyframes ibIn{0%,4%{opacity:0;transform:translateY(10px)}10%,90%{opacity:1;transform:none}100%{opacity:0}}

/* Tienda (SEO ecommerce) */
.ib-shop .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.ib-shop .it{border-radius:12px;box-shadow:inset 0 0 0 1px var(--ibp-line);padding:10px;display:grid;gap:7px;position:relative}
.ib-shop .it i{display:block;height:74px;border-radius:8px;background:linear-gradient(135deg,var(--ibp-line),transparent)}
.ib-shop .it b{display:block;height:8px;width:80%;border-radius:4px;background:var(--ibp-line)}
.ib-shop .it s{display:block;height:8px;width:40%;border-radius:4px;background:var(--ibp-dim)}
.ib-shop .it.you{box-shadow:inset 0 0 0 1px var(--ibp-lime)}
.ib-shop .it.you i{background:linear-gradient(135deg,rgba(158,255,0,.35),transparent)}
.ib-shop .it.you s{background:var(--ibp-lime)}
.ib-shop .it.you em{position:absolute;top:16px;left:16px;font-style:normal}
.ib-shop .cart{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:13px;color:var(--ibp-body)}
.ib-shop .cart strong{color:var(--ibp-lime);animation:ibPop2 3s var(--ibp-ease) infinite}
@keyframes ibPop2{0%,60%{transform:scale(1)}70%{transform:scale(1.35)}80%,100%{transform:scale(1)}}

/* Panel WordPress (SEO WordPress) */
.ib-wp ul{list-style:none;margin:0;padding:0!important;display:grid}
.ib-wp li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 2px!important;border-top:1px solid var(--ibp-line);font-size:14px;color:var(--ibp-body)}
.ib-wp li i{flex:none;width:36px;height:20px;border-radius:999px;background:var(--ibp-lime);position:relative}
.ib-wp li i::after{content:"";position:absolute;top:3px;left:19px;width:14px;height:14px;border-radius:50%;background:#0A0F1D}
.ib-wp li.off i{animation:ibOffBg 6s infinite}
.ib-wp li.off i::after{animation:ibOffKnob 6s infinite}
.ib-wp li.off:nth-child(4) i,.ib-wp li.off:nth-child(4) i::after{animation-delay:.8s}
@keyframes ibOffBg{0%,30%{background:var(--ibp-lime)}40%,92%{background:var(--ibp-line)}100%{background:var(--ibp-lime)}}
@keyframes ibOffKnob{0%,30%{left:19px;background:#0A0F1D}40%,92%{left:3px;background:var(--ibp-dim)}100%{left:19px}}
.ib-wp .cwv{display:grid;gap:10px;margin-top:16px}
.ib-wp .cwv div{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;font-size:12px;color:var(--ibp-body)}
.ib-wp .cwv b{height:6px;border-radius:6px;background:var(--ibp-line);position:relative;overflow:hidden}
.ib-wp .cwv b::after{content:"";position:absolute;inset:0;background:var(--ibp-lime);transform-origin:0 50%;animation:ibBar 6s var(--ibp-ease) infinite}
.ib-wp .cwv div:nth-child(1) b::after{--w:.86}.ib-wp .cwv div:nth-child(2) b::after{--w:.78;animation-delay:.2s}.ib-wp .cwv div:nth-child(3) b::after{--w:.92;animation-delay:.4s}
.ib-wp .cwv em{font-style:normal;color:var(--ibp-lime);font-weight:600}

/* Editor de bloques (Diseño web WordPress) */
.ib-editor .wrap{display:grid;grid-template-columns:110px 1fr;gap:12px}
.ib-editor .side{display:grid;gap:8px;align-content:start}
.ib-editor .side span{display:block;padding:8px 10px;border-radius:8px;font-size:12px;color:var(--ibp-body);box-shadow:inset 0 0 0 1px var(--ibp-line);animation:ibPick 8s infinite}
.ib-editor .side span:nth-child(2){animation-delay:2s}.ib-editor .side span:nth-child(3){animation-delay:4s}.ib-editor .side span:nth-child(4){animation-delay:6s}
@keyframes ibPick{0%,20%{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-ink)}25%,100%{box-shadow:inset 0 0 0 1px var(--ibp-line)}}
.ib-editor .canvas{border-radius:10px;box-shadow:inset 0 0 0 1px var(--ibp-line);padding:14px;display:grid;gap:10px;align-content:start;min-height:230px}
.ib-editor .canvas b{display:block;border-radius:6px;background:var(--ibp-line);animation:ibIn 8s var(--ibp-ease) infinite both}
.ib-editor .canvas b.h{height:22px;width:80%;background:var(--ibp-ink);opacity:.85}
.ib-editor .canvas b.t{height:34px}.ib-editor .canvas b.i{height:70px;animation-delay:4s}.ib-editor .canvas b.btn{height:28px;width:110px;border-radius:999px;background:var(--ibp-lime);animation-delay:6s}
.ib-editor .canvas b.t{animation-delay:2s}
.ib-editor .saved{margin-top:12px;font-size:12px;color:var(--ibp-body);display:flex;justify-content:space-between}
.ib-editor .saved em{font-style:normal;color:var(--ibp-lime);font-weight:600}

/* Enlaces entrantes (Link building) */
.ib-links2 ul{list-style:none;margin:0;padding:0!important;display:grid;gap:8px}
.ib-links2 li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:11px 12px!important;border-radius:10px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:13px;color:var(--ibp-ink);animation:ibIn 9s var(--ibp-ease) infinite both}
.ib-links2 li span{grid-column:1;font-size:11px;color:var(--ibp-body)}
.ib-links2 li em{grid-row:1/span 2;grid-column:2;font-style:normal;font-size:11px;font-weight:600;color:var(--ibp-lime)}
.ib-links2 li:nth-child(2){animation-delay:1.2s}.ib-links2 li:nth-child(3){animation-delay:2.4s}.ib-links2 li:nth-child(4){animation-delay:3.6s}
.ib-links2 .auth{margin-top:16px;display:grid;gap:8px;font-size:12px;color:var(--ibp-body)}
.ib-links2 .auth b{height:8px;border-radius:8px;background:var(--ibp-line);position:relative;overflow:hidden}
.ib-links2 .auth b::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ibp-dim),var(--ibp-lime));transform-origin:0 50%;animation:ibBar 9s var(--ibp-ease) infinite;--w:.82}

/* Gráfica de recuperación (Penalizaciones SEO) */
.ib-recovery .chart{position:relative;height:190px;margin-top:6px;border-radius:10px;background:linear-gradient(var(--ibp-line) 1px,transparent 1px) 0 0/100% 38px;overflow:hidden}
.ib-recovery .chart i{position:absolute;inset:0;background:linear-gradient(180deg,rgba(158,255,0,.45),rgba(158,255,0,.04));clip-path:polygon(0 38%,14% 34%,26% 36%,34% 78%,44% 82%,54% 70%,64% 52%,76% 36%,88% 26%,100% 18%,100% 100%,0 100%)}
.ib-recovery .chart i{animation:ibWipe 7s var(--ibp-ease) infinite}
@keyframes ibWipe{0%{-webkit-mask-size:0 100%;mask-size:0 100%}60%,92%{-webkit-mask-size:100% 100%;mask-size:100% 100%}100%{-webkit-mask-size:100% 100%;mask-size:100% 100%;opacity:.3}}
.ib-recovery .chart i{-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:0 100%;mask-size:0 100%}
.ib-recovery .chart span{position:absolute;font-size:11px;padding:4px 8px;border-radius:999px;background:var(--ibp-bg);box-shadow:inset 0 0 0 1px var(--ibp-line);color:var(--ibp-body);white-space:nowrap}
.ib-recovery .chart .a{left:30%;top:14%}.ib-recovery .chart .b{right:6%;top:4%;color:#0A0F1D;background:var(--ibp-lime);box-shadow:none;animation:ibIn 7s infinite both 3.6s}
.ib-recovery .legend{display:flex;justify-content:space-between;margin-top:12px;font-size:12px;color:var(--ibp-body)}

/* Hoja de ruta (Consultor SEO) */
.ib-roadmap .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ib-roadmap .col{display:grid;gap:8px;align-content:start}
.ib-roadmap .col>span{font-size:11px;color:var(--ibp-body);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.ib-roadmap .col b{display:block;padding:10px;border-radius:9px;font-size:12px;font-weight:400;line-height:1.35;color:var(--ibp-ink);box-shadow:inset 0 0 0 1px var(--ibp-line)}
.ib-roadmap .col:first-child b{box-shadow:inset 0 0 0 1px var(--ibp-lime)}
.ib-roadmap .col b.mv{animation:ibMove 8s var(--ibp-ease) infinite}
@keyframes ibMove{0%,35%{transform:none;opacity:1}45%{transform:translateX(24px);opacity:0}55%{transform:translateX(-24px);opacity:0}65%,100%{transform:none;opacity:1}}
.ib-roadmap .note{margin-top:14px;padding-top:12px;border-top:1px solid var(--ibp-line);font-size:12px;color:var(--ibp-body)}
.ib-roadmap .note em{font-style:normal;color:var(--ibp-lime);font-weight:600}

/* Chat (Freelance SEO) */
.ib-chat .msgs{display:grid;gap:10px}
.ib-chat .m{max-width:82%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.45;animation:ibIn 10s var(--ibp-ease) infinite both}
.ib-chat .m.c{justify-self:start;background:var(--ibp-bg);box-shadow:inset 0 0 0 1px var(--ibp-line);color:var(--ibp-ink);border-bottom-left-radius:4px}
.ib-chat .m.y{justify-self:end;background:var(--ibp-lime);color:#0A0F1D;border-bottom-right-radius:4px}
.ib-chat .m:nth-child(2){animation-delay:1.5s}.ib-chat .m:nth-child(3){animation-delay:3s}.ib-chat .m:nth-child(4){animation-delay:4.5s}
.ib-chat .typing{justify-self:end;display:flex;gap:4px;padding:12px 14px;border-radius:14px;background:rgba(158,255,0,.16)}
.ib-chat .typing i{width:6px;height:6px;border-radius:50%;background:var(--ibp-lime);animation:ibDot 1.2s infinite}
.ib-chat .typing i:nth-child(2){animation-delay:.2s}.ib-chat .typing i:nth-child(3){animation-delay:.4s}
@keyframes ibDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}

/* Terminal de diagnóstico (Experto SEO) */
.ib-term{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ib-term .dots{display:flex;gap:6px;margin-bottom:14px}.ib-term .dots i{width:10px;height:10px;border-radius:50%;background:var(--ibp-line)}
.ib-term .ln{font-size:12.5px;line-height:1.5;color:var(--ibp-body);padding:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:ibIn 10s steps(1) infinite both}
.ib-term .ln b{font-weight:400;color:var(--ibp-lime)}
.ib-term .ln.cmd{color:var(--ibp-ink)}
.ib-term .ln:nth-child(3){animation-delay:.9s}.ib-term .ln:nth-child(4){animation-delay:1.8s}.ib-term .ln:nth-child(5){animation-delay:2.7s}.ib-term .ln:nth-child(6){animation-delay:3.6s}.ib-term .ln:nth-child(7){animation-delay:4.8s}
.ib-term .ln.ok{color:var(--ibp-lime);font-weight:600}
.ib-term .ln.ok::after{content:"▍";animation:ibCaret 1s steps(1) infinite}

/* Órbita de especialidades (Especialista SEO) */
.ib-orbit .sky{position:relative;height:290px;width:100%}
.ib-orbit .core{position:absolute;left:50%;top:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:13px;font-weight:700;color:#0A0F1D;background:var(--ibp-lime);box-shadow:0 0 0 12px rgba(158,255,0,.12),0 0 0 26px rgba(158,255,0,.05)}
.ib-orbit .ring{position:absolute;left:50%;top:50%;width:250px;height:250px;margin:-125px 0 0 -125px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ibp-line)}
.ib-orbit .ring span{position:absolute;left:50%;top:50%;margin:-15px 0 0 -48px;width:96px;height:30px;display:grid;place-items:center;border-radius:999px;font-size:11px;color:var(--ibp-ink);background:var(--ibp-bg);box-shadow:inset 0 0 0 1px var(--ibp-line);animation:ibSpinR 30s linear infinite}
.ib-orbit .ring span:nth-child(1){transform:rotate(0deg) translateY(-125px) rotate(0deg)}
.ib-orbit .ring span:nth-child(2){transform:rotate(72deg) translateY(-125px) rotate(-72deg)}
.ib-orbit .ring span:nth-child(3){transform:rotate(144deg) translateY(-125px) rotate(-144deg)}
.ib-orbit .ring span:nth-child(4){transform:rotate(216deg) translateY(-125px) rotate(-216deg)}
.ib-orbit .ring span:nth-child(5){transform:rotate(288deg) translateY(-125px) rotate(-288deg)}
.ib-orbit .ring span{animation:ibOrb 10s infinite}
.ib-orbit .ring span:nth-child(2){animation-delay:2s}.ib-orbit .ring span:nth-child(3){animation-delay:4s}.ib-orbit .ring span:nth-child(4){animation-delay:6s}.ib-orbit .ring span:nth-child(5){animation-delay:8s}
@keyframes ibOrb{0%,18%{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:#0A0F1D;background:var(--ibp-lime)}22%,100%{box-shadow:inset 0 0 0 1px var(--ibp-line)}}
.ib-orbit .ring::before{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(from 0deg,rgba(158,255,0,.35),transparent 18%);-webkit-mask:radial-gradient(circle,transparent 123px,#000 124px);mask:radial-gradient(circle,transparent 123px,#000 124px);animation:ibSweep 10s linear infinite}
@keyframes ibSweep{to{transform:rotate(360deg)}}

/* Pasos de la ayuda (Kit Digital) */
.ib-steps ol{list-style:none;margin:0;padding:0!important;display:grid;gap:0;position:relative}
.ib-steps ol::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:var(--ibp-line)}
.ib-steps li{position:relative;display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:center;padding:12px 0!important;font-size:14px;color:var(--ibp-body)}
.ib-steps li b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--ibp-ink);background:var(--ibp-bg);box-shadow:inset 0 0 0 1px var(--ibp-line);position:relative;animation:ibStep 8s infinite}
.ib-steps li:nth-child(2) b{animation-delay:2s}.ib-steps li:nth-child(3) b{animation-delay:4s}.ib-steps li:nth-child(4) b{animation-delay:6s}
@keyframes ibStep{0%,22%{background:var(--ibp-lime);color:#0A0F1D;box-shadow:0 0 0 6px rgba(158,255,0,.16)}28%,100%{background:var(--ibp-bg)}}
.ib-steps .prog{margin-top:14px;height:6px;border-radius:6px;background:var(--ibp-line);position:relative;overflow:hidden}
.ib-steps .prog::after{content:"";position:absolute;inset:0;background:var(--ibp-lime);transform-origin:0 50%;animation:ibFillX 8s linear infinite}
@keyframes ibFillX{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Indicador de visibilidad (SEO Kit Digital) */
.ib-gauge .dial{position:relative;width:240px;height:120px;margin:10px auto 0;overflow:hidden}
.ib-gauge .dial::before{content:"";position:absolute;left:0;top:0;width:240px;height:240px;border-radius:50%;background:conic-gradient(from 270deg,var(--ibp-lime) 0 var(--g,0deg),var(--ibp-line) var(--g,0deg) 180deg,transparent 180deg);-webkit-mask:radial-gradient(circle,transparent 84px,#000 85px);mask:radial-gradient(circle,transparent 84px,#000 85px);animation:ibGauge 6s var(--ibp-ease) infinite}
@property --g{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes ibGauge{0%{--g:20deg}55%,90%{--g:150deg}100%{--g:150deg}}
.ib-gauge .dial strong{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:15px;color:var(--ibp-ink)}
.ib-gauge .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.ib-gauge .chips span{height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;font-size:12px;color:var(--ibp-ink);box-shadow:inset 0 0 0 1px var(--ibp-line)}
.ib-gauge .chips span:first-child{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-lime)}
@media (prefers-reduced-motion:reduce){.ib-vis *,.ib-vis *::before,.ib-vis *::after{animation:none!important}}

/* Equilibrio titular / animación del hero (2026-09-29) */
.ib-map .grid{height:170px}
.ib-browser .page{padding:18px 18px 76px;gap:10px}
.ib-browser .page .cards b{height:54px}
.ib-links2 li{padding:9px 12px!important}
.ib-links2 ul{gap:7px}
.ib-links2 .auth{margin-top:12px}
.ib-funnel ol{gap:10px}
.ib-funnel li{height:60px;font-size:15px}
.ib-term .ln{padding:6px 0;font-size:13px}
.ib-roadmap .col b{padding:11px 10px}
.ib-orbit .sky{height:250px}
.ib-orbit .ring{width:216px;height:216px;margin:-108px 0 0 -108px}
.ib-orbit .ring span:nth-child(1){transform:rotate(0deg) translateY(-108px) rotate(0deg)}
.ib-orbit .ring span:nth-child(2){transform:rotate(72deg) translateY(-108px) rotate(-72deg)}
.ib-orbit .ring span:nth-child(3){transform:rotate(144deg) translateY(-108px) rotate(-144deg)}
.ib-orbit .ring span:nth-child(4){transform:rotate(216deg) translateY(-108px) rotate(-216deg)}
.ib-orbit .ring span:nth-child(5){transform:rotate(288deg) translateY(-108px) rotate(-288deg)}
.ib-orbit .ring::before{-webkit-mask:radial-gradient(circle,transparent 106px,#000 107px);mask:radial-gradient(circle,transparent 106px,#000 107px)}
.ib-orbit .core{width:84px;height:84px;margin:-42px 0 0 -42px}
.ib-term .ln:nth-child(7){animation-delay:4.5s}.ib-term .ln:nth-child(8){animation-delay:5.4s}.ib-term .ln:nth-child(9){animation-delay:6.3s}
.ib-links2 li{grid-template-columns:1fr auto;padding:10px 12px!important}
.ib-links2 li span{display:none}
.ib-links2 li em{grid-row:auto}
.ib-shop .grid2{grid-template-columns:repeat(3,1fr);gap:8px}
.ib-shop .it{padding:8px;gap:6px}
.ib-shop .it i{height:60px}
.ib-shop .it:nth-child(4){display:none}
.ib-shop .it.you em{top:auto;bottom:34px;left:50%;transform:translateX(-50%);font-size:10px;padding:0 8px}
.ib-browser .page{padding-bottom:58px}

/* ===== Listas con puntos/números propios: sin viñeta nativa (Divi ponía disc en móvil) ===== */
:is(.ib-links,.ib-dots,.ib-serp,.ib-toc,.ib-ads,.ib-funnel,.ib-check,.ib-wp,.ib-links2,.ib-steps) :is(ul,ol),
:is(.ib-links,.ib-dots,.ib-serp,.ib-toc,.ib-ads,.ib-funnel,.ib-check,.ib-wp,.ib-links2,.ib-steps) li{list-style:none!important}
:is(.ib-links,.ib-dots,.ib-serp,.ib-toc,.ib-ads,.ib-funnel,.ib-check,.ib-wp,.ib-links2,.ib-steps) li::marker{content:none}

/* ===== Menú móvil: Servicios plegado y scroll propio (inboost-pages.js) ===== */
.et-l--header .et_pb_menu .et_mobile_menu{max-height:calc(100vh - var(--ib-mm-top,80px));max-height:calc(100dvh - var(--ib-mm-top,80px));overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.et-l--header .et_pb_menu .et_mobile_menu li.menu-item-has-children:not(.ib-sub-open)>ul.sub-menu{display:none!important}
.et-l--header .et_mobile_menu li.menu-item-has-children>a{display:flex!important;align-items:center;gap:14px}
.et-l--header .et_mobile_menu li.menu-item-has-children>a::after{content:""!important;display:block!important;position:static!important;width:10px;height:10px;margin:-6px 0 0!important;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .3s cubic-bezier(.16,1,.3,1),margin .3s;font-family:inherit!important}
.et-l--header .et_mobile_menu li.ib-sub-open>a::after{transform:rotate(-135deg);margin-top:6px!important}
.et-l--header .et_mobile_menu li.ib-sub-open>ul.sub-menu{animation:ibSubIn .35s ease both}
@keyframes ibSubIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.et-l--header .et_mobile_menu .ib-sub-all>a{color:var(--ibp-ink)!important}

/* ===== Hero de páginas de servicio: misma altura y posiciones en todas =====
   El eyebrow ("SEO — SEO WordPress") repetía la miga de pan: se oculta y la miga
   queda justo encima del título. En escritorio el hero ocupa la pantalla menos la
   cabecera, el título escala con el alto de la ventana y los botones van abajo. */
.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp)) .et_pb_row_1>.et_pb_column:first-child>.et_pb_text:first-child{display:none!important}
@media (max-width:980px){.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp))>.et_pb_row_1{margin-top:28px!important}}
@media (min-width:981px){
.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp)){min-height:calc(100vh - var(--ib-hdr,85px))!important;min-height:calc(100svh - var(--ib-hdr,85px))!important;padding-top:28px!important;padding-bottom:clamp(24px,5vh,56px)!important;box-sizing:border-box!important}
.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp))>.et_pb_row_1{margin-top:clamp(24px,5vh,64px)!important;align-items:flex-start!important}
.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp))>.et_pb_row_2{margin-top:auto!important;padding-top:clamp(20px,4vh,48px)!important;align-items:flex-end!important}
.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp)) .et_pb_heading_0 .et_pb_module_header{font-size:clamp(40px,min(6.2vw,calc((100vh - var(--ib-hdr,85px) - 320px) / 3.94)),100px)!important}
.et_pb_section_0:has(.ib-crumbs) .et_pb_row_1>.et_pb_column:last-child>:is(.ib-vis,.ib-serp){zoom:var(--ib-vz,1)}
}

/* ===== Home: el hero cabe en la pantalla (botones visibles en portátiles pequeños) ===== */
@media (min-width:981px){
body.home #top.et_pb_section_0{min-height:calc(100vh - var(--ib-hdr,85px))!important;min-height:calc(100svh - var(--ib-hdr,85px))!important;row-gap:clamp(16px,3.2vh,60px)!important;padding-top:clamp(20px,4vh,40px)!important;padding-bottom:clamp(24px,5vh,56px)!important}
body.home #top.et_pb_section_0>.et_pb_row_1{padding-top:clamp(0px,4vh,49px)!important;padding-bottom:clamp(0px,3vh,42px)!important}
body.home #top .et_pb_heading_0 p.et_pb_module_header{font-size:clamp(52px,min(10vw,calc((100svh - var(--ib-hdr,85px) - 330px) / 1.95)),176px)!important}
}

/* ===== Página 404 (plantilla TB 765, cuerpo 764) ===== */
body.error404 .et-l--body .et_pb_group{justify-content:flex-start!important;margin-top:8px!important}
body.error404 .et-l--body .ib-chips{margin-top:28px!important}

/* ===== Contacto v2 (2026-10-02): formulario en tarjeta, etiquetas flotantes ===== */
.ib-form{position:relative;padding:clamp(22px,3vw,36px)!important;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.015) 60%);border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 80px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06)}
.ib-form::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(158,255,0,.45),transparent 35%,transparent 70%,rgba(158,255,0,.18));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.ib-form .et_pb_contact_form{column-gap:14px!important}
.ib-form .et_pb_contact_field{margin-bottom:14px!important}
/* campos de texto: etiqueta dentro de la caja que sube al escribir */
.ib-form .et_pb_contact_field:is([data-type="input"],[data-type="email"],[data-type="text"]){position:relative}
.ib-form .et_pb_contact_field:is([data-type="input"],[data-type="email"],[data-type="text"]) .et_pb_contact_form_label{position:absolute!important;left:19px!important;top:19px!important;margin:0!important;z-index:1;pointer-events:none;font-size:15px!important;font-weight:400!important;letter-spacing:0;color:rgba(255,255,255,.45)!important;transition:top .25s cubic-bezier(.16,1,.3,1),font-size .25s cubic-bezier(.16,1,.3,1),color .25s,letter-spacing .25s}
.ib-form .et_pb_contact_field:is([data-type="input"],[data-type="email"],[data-type="text"]):is(:focus-within,:has(.input:not(:placeholder-shown))) .et_pb_contact_form_label{top:9px!important;font-size:11px!important;font-weight:600!important;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55)!important}
.ib-form .et_pb_contact_field:focus-within .et_pb_contact_form_label{color:var(--ibp-lime)!important}
.ib-form input.input,.ib-form textarea.input{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:14px!important;padding:27px 18px 11px!important;font-size:16px!important;line-height:1.4!important;box-shadow:none!important;transition:border-color .25s,background .25s,box-shadow .25s}
.ib-form input.input:hover,.ib-form textarea.input:hover{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.2)!important}
.ib-form input.input:focus,.ib-form textarea.input:focus{background:rgba(158,255,0,.04)!important;border-color:var(--ibp-lime)!important;box-shadow:0 0 0 4px rgba(158,255,0,.12)!important}
.ib-form textarea.input{min-height:160px;resize:vertical}
/* opciones: píldoras con check */
.ib-form .et_pb_contact_field_options_title{font-size:12px!important;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55)!important;margin:8px 0 12px!important}
.ib-form .et_pb_contact_field_checkbox label{min-height:42px;padding:0 18px!important;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important;gap:0;transition:background .25s,box-shadow .25s,color .25s,padding .25s,transform .15s}
.ib-form .et_pb_contact_field_checkbox label:hover{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)!important}
.ib-form .et_pb_contact_field_checkbox label:active{transform:scale(.97)}
.ib-form .et_pb_contact_field_checkbox input:checked+label{background:var(--ibp-lime)!important;color:#0A0F1D!important;box-shadow:0 6px 20px -8px rgba(158,255,0,.6)!important;padding-left:14px!important}
.ib-form .et_pb_contact_field:not([data-id="privacidad"]) .et_pb_contact_field_checkbox input:checked+label::before{content:"";width:16px;height:16px;margin-right:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0F1D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/14px no-repeat}
.ib-form .et_pb_contact_field[data-id="privacidad"] label{background:none!important;box-shadow:none!important}
/* pie: captcha y botón en una fila */
.ib-form .et_contact_bottom_container{justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:6px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
.ib-form .et_pb_contact_right{margin:0!important}
.ib-form .et_pb_contact_right label{display:flex!important;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.6)!important}
.ib-form input.et_pb_contact_captcha{width:64px!important;padding:12px 10px!important;text-align:center;border-radius:12px!important}
.ib-form .et_pb_contact_submit{padding:15px 28px!important;border-radius:999px!important;box-shadow:0 10px 30px -12px rgba(158,255,0,.65);transition:transform .2s,box-shadow .25s!important}
.ib-form .et_pb_contact_submit:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(158,255,0,.8)}
@media (max-width:767px){.ib-form .et_contact_bottom_container{flex-direction:column;align-items:stretch}.ib-form .et_pb_button_wrapper,.ib-form .et_pb_contact_submit{width:100%}}
@media (prefers-reduced-motion:reduce){.ib-form *{transition:none!important}}
.ib-form .et_pb_contact_field:is([data-type="input"],[data-type="email"],[data-type="text"]) .et_pb_contact_form_label{display:block!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;white-space:nowrap!important;max-width:calc(100% - 38px)}
.ib-form .input::placeholder{color:transparent!important}

/* Botones sin flecha/icono de Divi al pasar el ratón (petición del cliente 2026-10-02) */
body #page-container .et_pb_button::after,body #page-container .et_pb_button::before,body #page-container .et_pb_button:hover::after{content:none!important;display:none!important}

/* ===== Mapa web (/mapa-web/, shortcode [inboost_mapa_web]) ===== */
.ib-sitemap{display:grid;gap:64px}
.ib-sm-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px 56px}
.ib-sitemap h2{font-size:13px!important;line-height:1.3!important;letter-spacing:.08em;text-transform:uppercase;font-weight:600!important;color:var(--ibp-lime)!important;margin:0 0 14px!important;padding:0 0 12px!important;border-bottom:1px solid var(--ibp-line)}
.ib-sitemap ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:0}
.ib-sitemap li{padding:0!important;margin:0!important}
.ib-sitemap li::marker{content:none}
.ib-sitemap a{display:inline-block;padding:6px 0;font-size:17px;line-height:1.35;color:var(--ibp-ink)!important;text-decoration:none;transition:color .2s,transform .2s}
.ib-sitemap a:hover{color:var(--ibp-lime)!important;transform:translateX(4px)}
.ib-sm-blog{columns:3 280px;column-gap:56px}
.ib-sm-blog h2{column-span:all}
.ib-sm-cat{break-inside:avoid;margin:0 0 36px}
.ib-sm-cat h3{margin:0 0 6px!important;padding:0!important;font-size:19px!important;line-height:1.3!important;font-weight:700!important}
.ib-sm-cat h3 span{margin-left:6px;font-size:12px;font-weight:500;color:var(--ibp-dim)}
.ib-sm-cat li a{font-size:14px;padding:4px 0;color:var(--ibp-body)!important}.et_pb_text.ib-sitemap-wrap{max-width:none!important;width:100%!important;flex:1 1 100%!important}
/* Mapa web v2: bloques de páginas, sin blog */
.ib-sitemap{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:56px}
.ib-sm-servicios,.ib-sm-sectores{grid-column:1/-1}
.ib-sm-servicios ul,.ib-sm-sectores ul{display:block!important;columns:3 220px;column-gap:56px}
.ib-sm-servicios li,.ib-sm-sectores li{break-inside:avoid}
/* Casos de éxito sin slider (fila desactivada en Divi): sin el margen que la separaba del slider */
#casos > .ib-cases-head:last-child{margin-bottom:0!important}
/* Privacidad: al marcarla solo cambia la casilla (no la píldora de las opciones) */
.ib-form .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_field_checkbox label,.ib-form .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_field_checkbox input:checked+label{padding:0!important;min-height:0!important;background:none!important;box-shadow:none!important;color:var(--ibp-body)!important;transform:none!important;transition:none!important}
.ib-form .et_pb_contact_field[data-id="privacidad"] .et_pb_contact_field_checkbox label::before{transition:background .2s,box-shadow .2s!important}
/* Home: espacio entre secciones de ~6 cm (preset: clamp(96px,13vw,200px) por lado) */
body.home .et_pb_section.preset--module--divi-section--e294226a-59ab-425d-8f49-278abda6afd9:not(#top):not(.et_pb_section_1){padding-top:clamp(76px,9.5vw,150px)!important;padding-bottom:clamp(76px,9.5vw,150px)!important}
/* "Aceptando nuevos proyectos": punto con onda que late (en todas las cabeceras) */
.et_pb_section_0 > .et_pb_row_0 > .et_pb_column:last-child .et_pb_text p > strong:first-child{position:relative;display:inline-block;width:8px;height:8px;margin:0 2px 0 0;vertical-align:middle;top:-1px;font-size:0!important;line-height:0;color:transparent!important;text-shadow:none!important;animation:none!important}
.et_pb_section_0 > .et_pb_row_0 > .et_pb_column:last-child .et_pb_text p > strong:first-child::before,.et_pb_section_0 > .et_pb_row_0 > .et_pb_column:last-child .et_pb_text p > strong:first-child::after{content:"";position:absolute;inset:0;border-radius:50%;background:#9EFF00}
.et_pb_section_0 > .et_pb_row_0 > .et_pb_column:last-child .et_pb_text p > strong:first-child::before{box-shadow:0 0 8px rgba(158,255,0,.7)}
.et_pb_section_0 > .et_pb_row_0 > .et_pb_column:last-child .et_pb_text p > strong:first-child::after{animation:ibPing 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes ibPing{0%{transform:scale(1);opacity:.8}75%,100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.et_pb_section_0 > .et_pb_row_0 > .et_pb_column:last-child .et_pb_text p > strong:first-child::after{animation:none;opacity:0}}

/* ==========================================================================
   Visuales nuevos (2026-10-07): ib-climb (Pamplona SEO), ib-phone (diseño web
   Pamplona), ib-firm (abogados). Misma base .ib-vis que el resto.
   ========================================================================== */
.ib-climb .bars{height:150px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;padding:12px 4px 0;border-bottom:1px solid var(--ibp-line)}
.ib-climb .bars i{display:block;height:100%;border-radius:8px 8px 0 0;background:var(--ibp-line);transform-origin:50% 100%;animation:ibGrowY 7s var(--ibp-ease) infinite}
.ib-climb .bars i:nth-child(1){--h:.22}.ib-climb .bars i:nth-child(2){--h:.34;animation-delay:.25s}.ib-climb .bars i:nth-child(3){--h:.46;animation-delay:.5s}
.ib-climb .bars i:nth-child(4){--h:.6;animation-delay:.75s}.ib-climb .bars i:nth-child(5){--h:.78;animation-delay:1s}
.ib-climb .bars i:nth-child(6){--h:1;animation-delay:1.25s;background:var(--ibp-lime);box-shadow:0 0 0 6px rgba(158,255,0,.12)}
.ib-climb .axis{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--ibp-dim)}
.ib-climb .kw{display:grid;gap:8px;margin-top:16px}
.ib-climb .kw span{display:flex;align-items:center;gap:10px;height:36px;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:13px;color:var(--ibp-ink);animation:ibPick 9s infinite}
.ib-climb .kw span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ibp-lime);flex:none}
.ib-climb .kw span:nth-child(2){animation-delay:3s}.ib-climb .kw span:nth-child(3){animation-delay:6s}
@keyframes ibGrowY{0%{transform:scaleY(.04)}35%,88%{transform:scaleY(var(--h,1))}100%{transform:scaleY(var(--h,1));opacity:.5}}

.ib-phone{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.ib-phone .ph{position:relative;width:150px;height:270px;border-radius:26px;box-shadow:inset 0 0 0 2px var(--ibp-line);background:var(--ibp-bg);padding:28px 14px 14px;box-sizing:border-box;display:grid;gap:9px;align-content:start;overflow:hidden}
.ib-phone .nt{position:absolute;left:50%;top:9px;width:46px;height:8px;margin-left:-23px;border-radius:8px;background:var(--ibp-line)}
.ib-phone .ph b{display:block;height:10px;border-radius:5px;background:var(--ibp-line);transform-origin:0 50%;animation:ibBuild 7s var(--ibp-ease) infinite}
.ib-phone .ph b.h{height:16px;width:80%;background:var(--ibp-ink);opacity:.85}
.ib-phone .ph b.l{width:92%;animation-delay:.3s}.ib-phone .ph b.l.s{width:64%;animation-delay:.5s}
.ib-phone .ph .ct{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ib-phone .ph .ct b{height:42px;border-radius:8px;animation-delay:.8s}
.ib-phone .ph b.im{height:52px;border-radius:8px;animation-delay:1.1s}
.ib-phone .call{position:absolute;left:12px;right:12px;bottom:12px;height:34px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#0A0F1D;background:var(--ibp-lime);animation:ibPinPulse 2.4s infinite}
.ib-phone .side strong{display:block;font-size:18px;line-height:1.2;letter-spacing:-.02em;color:var(--ibp-ink)}
.ib-phone .side span{display:block;margin-top:8px;font-size:13px;line-height:1.5;color:var(--ibp-body)}
@media (max-width:480px){.ib-phone{grid-template-columns:1fr;justify-items:center;text-align:center}}

.ib-firm .hd span{font-size:20px;color:var(--ibp-lime)}
.ib-firm .areas{display:flex;flex-wrap:wrap;gap:8px}
.ib-firm .areas span{height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;font-size:13px;color:var(--ibp-body);box-shadow:inset 0 0 0 1px var(--ibp-line);animation:ibPick 12s infinite}
.ib-firm .areas span:nth-child(2){animation-delay:2s}.ib-firm .areas span:nth-child(3){animation-delay:4s}.ib-firm .areas span:nth-child(4){animation-delay:6s}
.ib-firm .areas span:nth-child(5){animation-delay:8s}.ib-firm .areas span:nth-child(6){animation-delay:10s}
.ib-firm .who{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 16px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ibp-line);animation:ibUpIn 1s var(--ibp-ease) both .3s}
.ib-firm .who i{width:40px;height:40px;border-radius:50%;flex:none;background:var(--ibp-line);position:relative}
.ib-firm .who i::after{content:"";position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:var(--ibp-lime);box-shadow:0 0 0 3px var(--ibp-bg2)}
.ib-firm .who strong{display:block;font-size:15px;color:var(--ibp-ink)}
.ib-firm .who span{display:block;font-size:12px;color:var(--ibp-body)}
.ib-firm .cta{margin-top:14px;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:700;color:#0A0F1D;background:var(--ibp-lime);animation:ibPinPulse 2.8s infinite}
.ib-firm .cta em{font-style:normal}
@media (prefers-reduced-motion:reduce){.ib-climb *,.ib-phone *,.ib-firm *{animation:none!important}.ib-climb .bars i{transform:scaleY(var(--h,1))}}


/* ===== Glosario A-Z (2026-10-07): [inboost_glosario] dentro de .ib-links.ib-glossary ===== */
.ib-az{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.ib-az a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:14px;font-weight:700;color:var(--ibp-ink)!important;text-decoration:none;transition:box-shadow .3s,color .3s,transform .2s}
.ib-az a:hover{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-lime)!important;transform:translateY(-2px)}
.ib-az-g{scroll-margin-top:calc(var(--ib-hdr,85px) + 24px)}
.ib-glossary .ib-az-g h3{margin:36px 0 6px;padding:0;font-size:clamp(30px,3.2vw,44px);font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--ibp-lime)}
.ib-glossary .ib-az-g:first-of-type h3{margin-top:0}
.ib-glossary ul{margin:0;padding:0!important}
/* Formulario incrustado (soporte) */
.ib-embed iframe{display:block;width:100%;min-height:1200px;border:0;border-radius:16px;background:transparent}
/* Testimonios en vídeo dentro de las tarjetas de opiniones */
.ib-videos .et_pb_video{border-radius:12px;overflow:hidden;margin-bottom:18px!important}
.ib-videos .et_pb_video_box iframe{aspect-ratio:16/9;height:auto}
.ib-glossary .ib-az a{display:grid!important;place-items:center;gap:0;padding:0!important}
.ib-glossary .ib-az a::after{content:none!important;display:none!important}
.ib-glossary .ib-az a:hover{padding:0!important}


/* ===== Tarjetas de plan (2026-10-07): fila .ib-plans en /tarifas/ ===== */
.ib-plans>.et_pb_column{border:0!important;border-radius:16px;box-shadow:inset 0 0 0 1px var(--ibp-line);background:var(--ibp-bg2);padding:28px 26px!important;display:flex!important;flex-direction:column}
.ib-plans>.et_pb_column:nth-child(2){box-shadow:inset 0 0 0 1px var(--ibp-lime)}
.ib-plans>.et_pb_column>.et_pb_text{flex:1 1 auto!important;display:flex}
.ib-plans .et_pb_text_inner{display:flex;flex-direction:column;width:100%;flex:1 1 auto}
.ib-plans .ib-plan-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ibp-lime)!important;margin:0 0 10px!important;padding:0!important}
.ib-plans h3{font-size:clamp(24px,2.2vw,30px)!important}
.ib-plans .ib-plan-p{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:18px 0 4px!important;padding:0!important}
.ib-plans .ib-plan-p small{font-size:13px;color:var(--ibp-body)}
.ib-plans .ib-plan-p strong{font-size:clamp(34px,3.4vw,46px);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ibp-ink)}
.ib-plans .ib-plan-p span{font-size:14px;color:var(--ibp-body)}
.ib-plans .ib-plan-note{font-size:12px!important;color:var(--ibp-dim)!important;padding:0!important}
.ib-plans .ib-plan-note a{color:var(--ibp-body)!important;text-decoration:underline}
.ib-plans ul{list-style:none!important;margin:16px 0 24px!important;padding:16px 0 0!important;border-top:1px solid var(--ibp-line);display:grid;gap:10px}
.ib-plans li{position:relative;padding:0 0 0 26px!important;font-size:14px;line-height:1.45;color:var(--ibp-body);list-style:none!important}
.ib-plans li::marker{content:none}
.ib-plans li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:rgba(158,255,0,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239EFF00' stroke-width='3.2'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/10px no-repeat}
.ib-plans .ib-plan-cta{margin-top:auto!important;padding:0!important}
.ib-plans .ib-plan-cta a{display:flex;align-items:center;justify-content:center;height:48px;border-radius:999px;font-size:15px;font-weight:700;color:var(--ibp-ink)!important;box-shadow:inset 0 0 0 1px var(--ibp-line);text-decoration:none;transition:transform .2s,box-shadow .3s,color .3s,background .3s}
.ib-plans .ib-plan-cta a:hover{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-lime)!important;transform:translateY(-2px)}
.ib-plans>.et_pb_column:nth-child(2) .ib-plan-cta a{background:var(--ibp-lime);color:#0A0F1D!important;box-shadow:none}
.ib-plans>.et_pb_column:nth-child(2) .ib-plan-cta a:hover{box-shadow:0 10px 30px rgba(158,255,0,.25);color:#0A0F1D!important}
.ib-plans-incl .ib-incl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px!important;padding:0!important}
.ib-plans-incl .ib-incl b{font-weight:700;color:var(--ibp-ink);margin-right:6px;font-size:14px}
.ib-plans-incl .ib-incl span{height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ibp-line);font-size:13px;color:var(--ibp-body)}
@media (max-width:980px){.ib-plans>.et_pb_column{padding:24px 20px!important}}
/* Filas de complementos (tarifas-im): sin plan destacado */
.ib-plans-free>.et_pb_column:nth-child(2){box-shadow:inset 0 0 0 1px var(--ibp-line)}
.ib-plans-free>.et_pb_column:nth-child(2) .ib-plan-cta a{background:transparent;color:var(--ibp-ink)!important;box-shadow:inset 0 0 0 1px var(--ibp-line)}
.ib-plans-free>.et_pb_column:nth-child(2) .ib-plan-cta a:hover{box-shadow:inset 0 0 0 1px var(--ibp-lime);color:var(--ibp-lime)!important}


/* ===== Tarifas completas (2026-10-07): secciones dentro de cada plan, incluye, garantía ===== */
.ib-plans h4{margin:16px 0 8px!important;padding:14px 0 0!important;border-top:1px solid var(--ibp-line);font-size:12px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;line-height:1.3!important;color:var(--ibp-ink)!important}
.ib-plans h4.ib-plan-res{color:var(--ibp-lime)!important}
.ib-plans ul{margin:0 0 4px!important;padding:0!important;border-top:0!important;gap:8px}
.ib-plans .ib-plan-obj{font-size:13px!important;line-height:1.5!important;color:var(--ibp-body)!important;margin:14px 0 20px!important;padding:14px 0 0!important;border-top:1px solid var(--ibp-line)}
.ib-plans .ib-plan-obj b{color:var(--ibp-ink)}
.ib-incl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:22px}
.ib-incl-grid h4{font-size:13px!important;font-weight:700!important;letter-spacing:.06em;text-transform:uppercase;color:var(--ibp-lime)!important;margin:0 0 12px!important;padding:0!important}
.ib-incl-grid ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:8px}
.ib-incl-grid li{position:relative;padding:0 0 0 24px!important;font-size:14px;line-height:1.45;color:var(--ibp-body);list-style:none!important}
.ib-incl-grid li::marker{content:none}
.ib-incl-grid li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:rgba(158,255,0,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239EFF00' stroke-width='3.2'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/10px no-repeat}
@media (max-width:980px){.ib-incl-grid{grid-template-columns:1fr;gap:22px}}
.ib-guarantee{margin-top:8px;padding:24px 26px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--ibp-lime);background:rgba(158,255,0,.05)}
.ib-guarantee h4{margin:0 0 10px!important;padding:0!important;font-size:18px!important;font-weight:700!important;color:var(--ibp-ink)!important}
.ib-guarantee p{margin:0 0 8px!important;padding:0!important;font-size:15px;line-height:1.55;color:var(--ibp-body)}
.ib-guarantee p:last-child{margin-bottom:0!important}
.ib-guarantee strong{color:var(--ibp-ink)}
.ib-plans-help{margin-top:18px!important;font-size:15px;color:var(--ibp-body)}
.ib-plans-help a{color:var(--ibp-lime)!important;font-weight:700}
/* Migas generadas por [inboost_crumbs] (Divi quita el <p>): mismo estilo que .ib-crumbs p */
.ib-crumbs .et_pb_text_inner:not(:has(p)){display:flex;flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;font-size:12px;line-height:1.625;color:var(--ibp-body)}
.ib-crumbs .et_pb_text_inner:not(:has(p)) > a,.ib-crumbs .et_pb_text_inner:not(:has(p)) > span{flex:0 0 auto}
.ib-crumbs .et_pb_text_inner:not(:has(p)) > strong{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* Tarifas: aire entre intro, filas de tarjetas y garantía (la sección viene con rowGap 0) */
.et_pb_row:has(.ib-plans-incl) + .et_pb_row.ib-plans{margin-top:40px!important}
.et_pb_row.ib-plans + .et_pb_row.ib-plans{margin-top:32px!important}
.et_pb_row.ib-plans + .et_pb_row:has(.ib-plans-incl){margin-top:40px!important}
.ib-plans-incl .ib-guarantee{margin-bottom:32px!important}
.ib-plans .ib-plan-cta{padding-top:24px!important}
/* Un único plan: tarjeta a todo el ancho y listas en columnas */
.ib-plans:has(>.et_pb_column:only-child)>.et_pb_column{flex:1 1 100%!important;max-width:100%!important;width:100%!important}
.ib-plans:has(>.et_pb_column:only-child) ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:40px}
.ib-plans:has(>.et_pb_column:only-child) .ib-plan-cta a{max-width:320px}

/* ===== Cabeceras sin visual (Tarifas, Casos, Opiniones, Contacto, legales…): igual que las de servicio.
   Sin la etiqueta que repetía la miga, H1 cerca de las migas y con tope por alto de pantalla
   para que texto y botones quepan en portátiles bajos. ===== */
:is(.et_pb_section_0,.et_pb_section_0_tb_body):has(.ib-crumbs):not(:has(.ib-vis,.ib-serp,.ib-post-meta)) > :is(.et_pb_row_1,.et_pb_row_1_tb_body) > .et_pb_column:first-child > .et_pb_text:first-child:has(em){display:none!important}
:is(.et_pb_section_0,.et_pb_section_0_tb_body):has(.ib-crumbs):not(:has(.ib-vis,.ib-serp,.ib-post-meta)) > :is(.et_pb_row_1,.et_pb_row_1_tb_body){margin-top:clamp(24px,5vh,64px)!important}
:is(.et_pb_section_0,.et_pb_section_0_tb_body):has(.ib-crumbs):not(:has(.ib-vis,.ib-serp,.ib-post-meta)) > :is(.et_pb_row_2,.et_pb_row_2_tb_body){margin-top:clamp(24px,4vh,48px)!important}
@media (min-width:768px){:is(.et_pb_section_0,.et_pb_section_0_tb_body):has(.ib-crumbs):not(:has(.ib-vis,.ib-serp,.ib-post-meta)) .et_pb_heading_container h1{font-size:clamp(46px,min(7.4vw,13vh),112px)!important}}
@media (max-width:980px){:is(.et_pb_section_0,.et_pb_section_0_tb_body):has(.ib-crumbs):not(:has(.ib-vis,.ib-serp,.ib-post-meta)) > :is(.et_pb_row_1,.et_pb_row_1_tb_body){margin-top:28px!important}}

/* H1 de servicio con un poco más de ancho (58 %): los títulos largos (Pamplona) quedan en 4 líneas y los botones caben */
@media (min-width:981px){.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp))>.et_pb_row_1>.et_pb_column:first-child{flex:0 0 58%!important;max-width:58%!important;width:58%!important}.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp))>.et_pb_row_1>.et_pb_column:last-child{flex:1 1 0!important;min-width:0!important;max-width:none!important;width:auto!important}}

/* Chips con etiqueta de la cabecera («Ir a:», «Por sector:»): a todo el ancho, seguidos y con la etiqueta pequeña.
   Si no caben en una línea, pasan a la siguiente. */
.et_pb_section_0 .et_pb_column:has(>.ib-chips p>i){flex:0 0 100%!important;max-width:100%!important;width:100%!important}
.et_pb_section_0 .ib-chips:has(p>i){width:100%!important;max-width:none!important}
.et_pb_section_0 .ib-chips p:has(>i){gap:8px!important}
.et_pb_section_0 .ib-chips p:has(>i)>i{font-size:12px!important;white-space:nowrap;margin-right:4px}
.et_pb_section_0 .ib-chips p:has(>i)>a{white-space:nowrap;font-size:13px!important;padding-inline:12px!important}
/* Tarifas: en la tarjeta única a todo el ancho, botón centrado */
.ib-plans:has(>.et_pb_column:only-child) .ib-plan-cta a{margin-inline:auto}
/* Formulario de ClickUp (Soporte): ClickUp no permite tema oscuro en el iframe. Se invierte (blanco → negro)
   y se funde en modo lighten sobre el azul de las tarjetas, así el fondo queda en el tono de la web. */
iframe.clickup-embed{filter:invert(1) hue-rotate(180deg);mix-blend-mode:lighten;background:#fff;display:block}
p:has(>iframe.clickup-embed){background:var(--ibp-bg2);border-radius:16px;isolation:isolate;overflow:hidden;box-shadow:inset 0 0 0 1px var(--ibp-line);margin:0!important;padding:0!important;line-height:0}

/* H1 de servicio más largo de lo normal (clase ib-h1-long en el módulo): un 5 % más pequeño para ganar una línea */
.et_pb_section_0:has(.ib-crumbs):is(:has(.ib-vis),:has(.ib-serp)) .et_pb_heading_0.ib-h1-long .et_pb_module_header{font-size:clamp(40px,min(5.9vw,calc((100vh - var(--ib-hdr,85px) - 320px) / 3.94)),95px)!important}

/* Opiniones: franja de logos de clientes (cada logo enlaza a su vídeo #testimonio-...) */
.ib-logos{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 28px;align-items:center;margin:0!important;padding:0!important}
.ib-logos a{display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .3s,transform .3s}
.ib-logos a:hover,.ib-logos a:focus-visible{opacity:1;transform:translateY(-2px)}
.ib-logos img{display:block;width:100%;max-width:150px;height:auto;max-height:58px;object-fit:contain}
@media (max-width:980px){.ib-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:600px){.ib-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}}
[id^="testimonio-"]{scroll-margin-top:120px}
[id^="testimonio-"]:target{box-shadow:0 0 0 1px var(--ibp-lime)}

/* Vídeos bloqueados por Complianz (hasta aceptar cookies de marketing): miniatura del testimonio, botón de play
   y aviso abajo; toda la tarjeta acepta las cookies y carga el vídeo. */
.et_pb_video_box.cmplz-blocked-content-container{position:relative!important;aspect-ratio:16/9;height:auto!important;background-size:cover!important;background-position:center!important;border-radius:12px;overflow:hidden}
.et_pb_video_box.cmplz-blocked-content-container iframe.cmplz-placeholder-element{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0!important;pointer-events:none}
.et_pb_video_box.cmplz-blocked-content-container .cmplz-blocked-content-notice{position:absolute!important;inset:0!important;transform:none!important;margin:0!important;width:100%!important;max-width:none!important;height:100%!important;display:flex!important;align-items:flex-end;justify-content:center;padding:12px 14px!important;border:0!important;border-radius:0!important;background:linear-gradient(to top,rgba(10,15,29,.92) 0,rgba(10,15,29,.55) 34%,rgba(10,15,29,0) 62%)!important;color:#fff!important;font-size:12px!important;line-height:1.35!important;font-weight:500!important;text-align:center;cursor:pointer}
.et_pb_video_box.cmplz-blocked-content-container::after{content:"";position:absolute;left:50%;top:44%;width:56px;height:56px;transform:translate(-50%,-50%);border-radius:50%;background:var(--ibp-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.5v13l11-6.5z' fill='%230A0F1D'/%3E%3C/svg%3E") 55% 50%/22px no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.35);pointer-events:none;transition:transform .3s}
.et_pb_video_box.cmplz-blocked-content-container:hover::after{transform:translate(-50%,-50%) scale(1.08)}

/* Chips de categorías del blog (Blog y archivos): Divi quita el <p> y quedaban en línea sin hueco entre filas */
.ib-chips .et_pb_text_inner:not(:has(>p)){display:flex;flex-wrap:wrap;gap:8px}
