/* Banners del Home (carrusel) y formulario de descarga con registro. Generado/gestionado desde /adminpass. */
.itc-banners{background:#0F0E37;padding:8px 16px 44px;position:relative;z-index:3}
.itc-banners-inner{max-width:1200px;margin:0 auto;position:relative}
.itc-banners-stage{display:grid}
.itc-banner{display:none}
.itc-banner:first-child{display:block}
.itc-banners.is-ready .itc-banner{display:block;grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}
.itc-banners.is-ready .itc-banner.is-active{opacity:1;visibility:visible}
.itc-banner.is-expired{display:none!important}
.itc-banner-link{display:block;border-radius:20px;text-decoration:none;outline-offset:4px;transition:transform .25s ease,box-shadow .25s ease}
a.itc-banner-link:hover{transform:translateY(-3px)}
a.itc-banner-link:focus-visible{outline:3px solid #FF6D00}
.itc-banner picture{display:block}
.itc-banner-media{display:block;width:100%;height:auto;border-radius:20px;background:#15144a;box-shadow:0 18px 50px rgba(0,0,0,.38),0 0 0 1px rgba(115,221,201,.22)}
a.itc-banner-link:hover .itc-banner-media{box-shadow:0 22px 60px rgba(0,0,0,.45),0 0 0 1px rgba(115,221,201,.5),0 0 34px rgba(24,224,210,.25)}
.itc-banner-video{object-fit:cover}
.itc-banners-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border-radius:50%;border:1px solid rgba(115,221,201,.5);background:rgba(15,14,55,.72);color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}
.itc-banners-nav:hover{background:#FF6D00;border-color:#FF6D00}
.itc-banners-nav:focus-visible{outline:3px solid #FF6D00;outline-offset:2px}
.itc-banners-prev{left:-10px}
.itc-banners-next{right:-10px}
.itc-banners-dots{display:flex;gap:10px;justify-content:center;margin-top:18px}
.itc-banners-dot{width:12px;height:12px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:background .2s,transform .2s}
.itc-banners-dot[aria-current="true"]{background:#73DDC9;transform:scale(1.25)}
.itc-banners-dot:focus-visible{outline:3px solid #FF6D00;outline-offset:3px}
@media (max-width:767px){
  .itc-banners{padding:0 12px 32px}
  .itc-banner-media,.itc-banner-link{border-radius:14px}
  .itc-banners-nav{width:38px;height:38px;font-size:18px}
  .itc-banners-prev{left:-4px}.itc-banners-next{right:-4px}
}
@media (prefers-reduced-motion:reduce){
  .itc-banners.is-ready .itc-banner{transition:none}
  a.itc-banner-link:hover{transform:none}
}

/* ---- Formulario de descarga con registro (modal + página sin JS) — compacto ---- */
body.itc-gate-open{overflow:hidden}
.itc-gate-overlay{position:fixed;inset:0;z-index:100000;background:rgba(10,9,40,.78);display:flex;align-items:center;justify-content:center;padding:12px;overflow-y:auto}
.itc-gate-overlay[hidden]{display:none}
.itc-gate-dialog,.itc-gate-card{background:#fff;color:#51677D;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45);width:100%;max-width:540px;max-height:calc(100vh - 24px);overflow-y:auto;padding:20px 22px 16px;position:relative;box-sizing:border-box;font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:14px!important;line-height:1.4!important}
.itc-gate-dialog h2,.itc-gate-card h1{font-family:Jost,Montserrat,system-ui,sans-serif!important;font-weight:600!important;color:#0F0E37!important;font-size:19px!important;line-height:1.25!important;margin:0 36px 6px 0!important;padding:0!important}
.itc-gate-dialog p,.itc-gate-card p{margin:0 0 10px!important;font-size:13px!important;line-height:1.4!important;color:#51677D!important}
.itc-gate-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:0;background:#eef1f5;color:#0F0E37;font-size:20px;line-height:1;cursor:pointer;padding:0}
.itc-gate-close:hover{background:#dfe5ec}
.itc-gate-close:focus-visible,.itc-gate-btn:focus-visible,.itc-gate-form input:focus-visible{outline:3px solid #FF6D00;outline-offset:2px}
.itc-gate-form{display:grid!important;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0!important}
.itc-gate-form label{display:grid;gap:3px;margin:0!important;font-size:12px!important;font-weight:600!important;color:#0F0E37!important;line-height:1.2!important}
.itc-gate-form input:not([type=checkbox]){width:100%!important;height:36px!important;box-sizing:border-box!important;padding:6px 10px!important;margin:0!important;border:1.5px solid #cfd8e3!important;border-radius:8px!important;font:400 14px/1.2 Montserrat,system-ui,sans-serif!important;color:#0F0E37!important;background:#fff!important;box-shadow:none!important}
.itc-gate-form input.is-invalid{border-color:#d93025!important}
.itc-gate-form .itc-gate-check{grid-column:1/-1;display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important;font-size:12px!important;line-height:1.35!important;color:#51677D!important}
.itc-gate-form .itc-gate-check input{margin:2px 0 0!important;flex:none;width:16px!important;height:16px!important}
.itc-gate-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.itc-gate-btn{grid-column:1/-1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:50px;background:#FF6D00;color:#fff!important;font-family:Jost,Montserrat,sans-serif;font-weight:600;font-size:15px;line-height:1.2;padding:11px 24px;margin:0;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s}
.itc-gate-btn:hover{background:#e65f00;transform:translateY(-1px)}
.itc-gate-btn[disabled]{opacity:.6;cursor:wait;transform:none}
.itc-gate-form .itc-gate-msg{grid-column:1/-1;min-height:0;font-size:12.5px!important;margin:0!important}
.itc-gate-msg:empty{display:none}
.itc-gate-msg.is-error{color:#c5221f!important}
.itc-gate-msg.is-ok{color:#0b7a55!important}
.itc-gate-dialog .itc-gate-priv{font-size:11px!important;color:#7a8a9c!important;margin:8px 0 0!important}
.itc-gate-back{display:inline-block;margin-bottom:10px;font-size:12px;color:#51677D}
body.itc-gate-page{margin:0;min-height:100vh;background:#0F0E37;display:flex;align-items:center;justify-content:center;padding:16px}
.itc-gate-card .itc-gate-form{grid-template-columns:1fr}
@media (max-width:560px){
  .itc-gate-form{grid-template-columns:1fr}
  .itc-gate-dialog,.itc-gate-card{padding:16px 16px 12px}
}
@media (prefers-reduced-motion:reduce){.itc-gate-btn{transition:none}}
