
/* Neteges InPas — mejoras de rendimiento y conversión */
html { scroll-behavior:smooth; }
img { max-width:100%; height:auto; }
.inpas-mobile-cta { display:none; }
.inpas-review-strip { padding:96px 44px; background:#f6fafd; }
.inpas-review-strip__inner { max-width:1220px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:46px; align-items:center; }
.inpas-review-card { background:#fff; border:1px solid #e2edf5; border-radius:20px; padding:28px; }
.inpas-review-stars { letter-spacing:.12em; color:#155190; font-size:18px; }
.inpas-review-note { font-size:14px; line-height:1.65; color:#607587; margin-top:12px; }
.inpas-review-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.inpas-review-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 22px; border-radius:999px; font-weight:700; }
.inpas-review-actions a:first-child { background:#155190; color:#fff; }
.inpas-review-actions a:last-child { border:1px solid #cbdde9; color:#155190; background:#fff; }
@media (max-width:900px){
  body { padding-bottom:76px; }
  body.page-presupuesto { padding-bottom:0; }
  .inpas-mobile-cta { position:fixed; z-index:1150; left:8px; right:8px; bottom:max(8px, env(safe-area-inset-bottom)); display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:6px; padding:7px; background:rgba(255,255,255,.96); border:1px solid #dce8f0; border-radius:18px; box-shadow:0 12px 36px rgba(11,58,102,.20); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
  body.page-presupuesto .inpas-mobile-cta { display:none; }
  .inpas-mobile-cta a { min-width:0; min-height:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:7px 5px; border-radius:13px; font-size:11px; line-height:1.1; font-weight:700; color:#0b3a66; text-align:center; }
  .inpas-mobile-cta a:last-child { background:#155190; color:#fff; }
  .inpas-mobile-cta__icon { font-size:18px; line-height:1; }
  .inpas-review-strip { padding:68px 18px; }
  .inpas-review-strip__inner { grid-template-columns:1fr; gap:24px; }
  .inpas-review-actions { display:grid; grid-template-columns:1fr; }
}
@media (max-width:380px){
  .inpas-mobile-cta { grid-template-columns:1fr 1fr 1.15fr; gap:4px; padding:5px; }
  .inpas-mobile-cta a { font-size:10px; padding:6px 3px; }
}

/* Transiciones de escritorio: barrido entre páginas y limpieza entre secciones */
@media (min-width:901px) and (prefers-reduced-motion:no-preference) {
  .inpas-page-wipe {
    position:fixed; inset:0; z-index:99999; pointer-events:none;
    background:#0b3a66; display:flex; align-items:center; justify-content:center;
    overflow:hidden; will-change:transform;
  }
  .inpas-page-wipe::before {
    content:""; position:absolute; inset:0; background:#42c1ff;
    clip-path:polygon(0 0, 18% 0, 8% 100%, 0 100%); opacity:.96;
  }
  .inpas-page-wipe__brand { position:relative; z-index:2; display:flex; align-items:baseline; gap:8px; color:#fff; font-size:30px; letter-spacing:-.04em; }
  .inpas-page-wipe__brand strong { color:#42c1ff; font-weight:800; }
  .inpas-page-wipe__line { position:absolute; left:0; right:0; top:50%; height:3px; background:rgba(255,255,255,.32); transform:translateY(-50%); }
  .inpas-page-wipe--entry { transform:translateX(0); transition:transform .64s cubic-bezier(.77,0,.18,1); }
  .inpas-page-wipe--entry.is-clear { transform:translateX(-102%); }
  .inpas-page-wipe--exit { transform:translateX(102%); transition:transform .40s cubic-bezier(.77,0,.18,1); }
  .inpas-page-wipe--exit.is-cover { transform:translateX(0); }

  .inpas-section-transition {
    position:relative; height:168px; overflow:hidden; isolation:isolate;
    background:linear-gradient(180deg,#fff 0%,#f6fafd 50%,#fff 100%);
  }
  .inpas-section-transition__track {
    position:absolute; left:5%; right:5%; top:50%; height:1px;
    background:linear-gradient(90deg,transparent,#c7dbe9 14%,#c7dbe9 86%,transparent);
  }
  .inpas-section-transition__wash {
    position:absolute; left:0; top:calc(50% - 34px); height:68px; width:0;
    background:linear-gradient(90deg,rgba(66,193,255,0),rgba(66,193,255,.20) 20%,rgba(66,193,255,.52) 62%,rgba(66,193,255,.10));
    border-top:1px solid rgba(66,193,255,.35); border-bottom:1px solid rgba(66,193,255,.22);
    transition:width 1.05s cubic-bezier(.2,.78,.2,1);
  }
  .inpas-section-transition__tool {
    position:absolute; top:50%; left:-74px; width:64px; height:64px; transform:translateY(-50%) rotate(-4deg);
    display:grid; place-items:center; background:#fff; border:1px solid #bcd8e9; border-radius:18px;
    box-shadow:0 12px 28px rgba(11,58,102,.16); color:#0b3a66;
    transition:left 1.12s cubic-bezier(.2,.78,.2,1), transform 1.12s cubic-bezier(.2,.78,.2,1);
  }
  .inpas-section-transition__tool svg { width:42px; height:42px; fill:#fff; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
  .inpas-section-transition__tool svg path:last-child { stroke:#42c1ff; }
  .inpas-section-transition__spark { position:absolute; top:34%; color:#42c1ff; opacity:0; font-size:18px; transition:opacity .25s ease .55s, transform .5s ease .55s; }
  .inpas-section-transition__spark.s1 { left:42%; transform:translateY(12px) scale(.7); }
  .inpas-section-transition__spark.s2 { left:58%; top:62%; transform:translateY(-12px) scale(.7); }
  .inpas-section-transition.is-active .inpas-section-transition__wash { width:100%; }
  .inpas-section-transition.is-active .inpas-section-transition__tool { left:calc(100% + 14px); transform:translateY(-50%) rotate(4deg); }
  .inpas-section-transition.is-active .inpas-section-transition__spark { opacity:1; transform:translateY(0) scale(1); }

  .inpas-reveal-section { opacity:0; transform:translateY(24px); transition:opacity .62s ease, transform .62s cubic-bezier(.2,.7,.2,1); }
  .inpas-reveal-section.is-visible { opacity:1; transform:none; }
}

/* Iconos SVG de la barra móvil */
.inpas-mobile-cta__icon svg { width:20px; height:20px; display:block; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.inpas-mobile-cta__icon--whatsapp { color:#128c4a; }


/* Firma Arklos — franja final del sitio */
.arklos-credit-bar {
  position:relative;
  z-index:2;
  width:100%;
  background:#fff;
  border-top:1px solid #e6edf2;
  color:#111827;
}
.arklos-credit-bar__link {
  width:100%;
  min-height:76px;
  padding:16px 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-decoration:none;
  color:inherit;
  transition:background .2s ease;
}
.arklos-credit-bar__label {
  font-size:12px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#6b7280;
  white-space:nowrap;
}
.arklos-credit-bar__logo {
  display:block;
  width:112px;
  height:auto;
  object-fit:contain;
  flex:0 0 auto;
}
.arklos-credit-bar__site {
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:13px;
  line-height:1;
  font-weight:700;
  color:#111827;
  white-space:nowrap;
}
.arklos-credit-bar__site svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}
@media (hover:hover) and (pointer:fine) {
  .arklos-credit-bar__link:hover { background:#f8fafc; }
  .arklos-credit-bar__link:hover .arklos-credit-bar__site svg { transform:translate(2px,-2px); }
}
.arklos-credit-bar__link:focus-visible {
  outline:3px solid #f4c20d;
  outline-offset:-3px;
}
@media (max-width:900px) {
  .arklos-credit-bar__link {
    min-height:68px;
    padding:14px 18px;
    gap:10px;
    flex-wrap:wrap;
  }
  .arklos-credit-bar__label {
    font-size:10px;
    letter-spacing:.06em;
  }
  .arklos-credit-bar__logo { width:92px; }
  .arklos-credit-bar__site { font-size:11px; }
}
@media (max-width:430px) {
  .arklos-credit-bar__link {
    display:grid;
    grid-template-columns:auto auto;
    grid-template-areas:"label label" "logo site";
    justify-content:center;
    column-gap:10px;
    row-gap:6px;
    min-height:76px;
    padding:12px 14px 14px;
  }
  .arklos-credit-bar__label { grid-area:label; text-align:center; }
  .arklos-credit-bar__logo { grid-area:logo; width:88px; }
  .arklos-credit-bar__site { grid-area:site; }
}
