/* AIO Resispar | banner 3D / mídia com 10 efeitos selecionáveis */
.aio-sensor3d-section{
  width:100%;
  padding:28px 0 34px;
  overflow:hidden;
  background:#fff;
}
.aio-sensor3d-section .container{
  width:min(calc(100% - 24px),1576px);
  max-width:1576px;
  margin:0 auto;
}
.aio-sensor3d{position:relative;isolation:isolate}
.aio-sensor3d__visual{
  position:relative;
  width:100%;
  aspect-ratio:1576/560;
  overflow:hidden;
  border-radius:22px;
  background:#04162d;
  box-shadow:0 26px 60px rgba(8,18,36,.18),0 0 0 1px rgba(255,255,255,.05) inset;
}
.aio-sensor3d__picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.aio-sensor3d__media{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;object-position:center;transform:none!important;
  filter:saturate(1.02) contrast(1.01);background:#04162d;
}
.aio-sensor3d__image{user-select:none;-webkit-user-drag:none}
.aio-sensor3d__ambient,.aio-sensor3d__fx,.aio-sensor3d__particles,.aio-sensor3d__grid,.aio-sensor3d__spot,.aio-sensor3d__scan{position:absolute;inset:0;pointer-events:none}
.aio-sensor3d__ambient{z-index:2;background:radial-gradient(circle at 18% 50%,rgba(74,132,255,.18),transparent 28%),radial-gradient(circle at 84% 42%,rgba(255,255,255,.08),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(2,8,20,.14));mix-blend-mode:screen}
.aio-sensor3d__fx,.aio-sensor3d__particles,.aio-sensor3d__grid,.aio-sensor3d__spot,.aio-sensor3d__scan{opacity:0;z-index:3}
.aio-sensor3d__fx--2{z-index:4}.aio-sensor3d__scan{z-index:5}.aio-sensor3d__spot{z-index:4}.aio-sensor3d__grid{z-index:3}.aio-sensor3d__particles{z-index:4}

/* density support */
.aio-sensor3d{--density-scale:calc(var(--effect-density,62) / 62);--density-opacity:calc(var(--effect-density,62) / 100)}

/* 10 effects */
.aio-sensor3d[data-effect="soft_shine"] .aio-sensor3d__fx--1{opacity:calc(.78 * var(--density-opacity));inset:-25% auto -25% -24%;width:calc(18% + (var(--density-scale) * 5%));background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 15%,rgba(255,255,255,.88) 52%,rgba(122,169,255,.34) 68%,transparent 100%);transform:rotate(14deg);filter:blur(1px) drop-shadow(0 0 22px rgba(255,255,255,.28));animation:aioFxSoftShine var(--effect-speed,5.2s) linear infinite}
.aio-sensor3d[data-effect="blue_sweep"] .aio-sensor3d__scan{opacity:calc(.92 * var(--density-opacity));inset:auto -10% 14% -22%;height:calc(10% + (var(--density-scale) * 6%));background:linear-gradient(90deg,transparent,rgba(54,124,255,.14),rgba(168,203,255,.58),rgba(54,124,255,.14),transparent);filter:blur(calc(8px + (var(--density-scale) * 4px)));animation:aioFxBlueSweep var(--effect-speed,5.2s) ease-in-out infinite}
.aio-sensor3d[data-effect="pulse_glow"] .aio-sensor3d__spot{opacity:calc(.72 * var(--density-opacity));background:radial-gradient(circle at 50% 50%,rgba(116,168,255,.42),rgba(68,114,198,.16) 24%,transparent 46%);transform:scale(calc(.88 + (var(--density-scale) * .12)));animation:aioFxPulseGlow var(--effect-speed,5.2s) ease-in-out infinite}
.aio-sensor3d[data-effect="diagonal_light"] .aio-sensor3d__fx--1{opacity:calc(.75 * var(--density-opacity));inset:-20% auto -20% -36%;width:calc(22% + (var(--density-scale) * 8%));background:linear-gradient(90deg,transparent,rgba(255,255,255,.08) 20%,rgba(255,255,255,.82) 48%,rgba(104,154,255,.28) 68%,transparent 100%);transform:rotate(24deg);filter:blur(2px);animation:aioFxDiagonal var(--effect-speed,5.2s) cubic-bezier(.45,.05,.2,.95) infinite}
.aio-sensor3d[data-effect="top_glow"] .aio-sensor3d__fx--1{opacity:calc(.7 * var(--density-opacity));inset:0;background:linear-gradient(180deg,rgba(162,205,255,.38),rgba(162,205,255,.14) 18%,transparent 46%);animation:aioFxTopGlow var(--effect-speed,5.2s) ease-in-out infinite}
.aio-sensor3d[data-effect="grid_scan"] .aio-sensor3d__grid{opacity:calc(.35 * var(--density-opacity));background-image:linear-gradient(rgba(151,190,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(151,190,255,.18) 1px,transparent 1px);background-size:calc(48px - (var(--density-scale) * 14px)) calc(48px - (var(--density-scale) * 14px));mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
.aio-sensor3d[data-effect="grid_scan"] .aio-sensor3d__scan{opacity:calc(.9 * var(--density-opacity));inset:0 auto 0 -16%;width:12%;background:linear-gradient(90deg,transparent,rgba(196,224,255,.74),rgba(96,148,255,.3),transparent);filter:blur(8px);transform:skewX(-16deg);animation:aioFxGridScan var(--effect-speed,5.2s) linear infinite}
.aio-sensor3d[data-effect="spotlight"] .aio-sensor3d__spot{opacity:calc(.84 * var(--density-opacity));background:radial-gradient(circle at 25% 48%,rgba(255,255,255,.24),rgba(131,179,255,.18) 18%,transparent 38%);transform:scale(calc(.92 + (var(--density-scale) * .10)));animation:aioFxSpotlight var(--effect-speed,5.2s) ease-in-out infinite}
.aio-sensor3d[data-effect="sparkles"] .aio-sensor3d__particles{opacity:calc(.34 * var(--density-opacity));background-image:radial-gradient(circle,rgba(255,255,255,.92) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(131,179,255,.82) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(255,255,255,.55) 0 1px,transparent 1.8px);background-size:calc(150px - (var(--density-scale) * 40px)) calc(110px - (var(--density-scale) * 28px)),calc(190px - (var(--density-scale) * 45px)) calc(140px - (var(--density-scale) * 35px)),calc(220px - (var(--density-scale) * 48px)) calc(170px - (var(--density-scale) * 40px));background-position:0 0,35px 24px,80px 55px;animation:aioFxSparkles var(--effect-speed,5.2s) linear infinite}
.aio-sensor3d[data-effect="lines_flow"] .aio-sensor3d__fx--1,.aio-sensor3d[data-effect="lines_flow"] .aio-sensor3d__fx--2{opacity:calc(.75 * var(--density-opacity));left:-30%;width:160%;height:calc(3px + (var(--density-scale) * 2px));inset:auto auto 22% -30%;background:linear-gradient(90deg,transparent 0%,transparent 15%,rgba(163,200,255,.15) 28%,rgba(255,255,255,.95) 48%,rgba(107,157,255,.24) 64%,transparent 80%);filter:blur(.8px) drop-shadow(0 0 10px rgba(155,197,255,.25));animation:aioFxLinesFlow var(--effect-speed,5.2s) linear infinite}
.aio-sensor3d[data-effect="lines_flow"] .aio-sensor3d__fx--2{inset:auto auto 38% -30%;height:calc(2px + (var(--density-scale) * 1.5px));opacity:calc(.55 * var(--density-opacity));animation-delay:-1.6s}
.aio-sensor3d[data-effect="glass_reflection"] .aio-sensor3d__fx--1{opacity:calc(.55 * var(--density-opacity));inset:0;background:linear-gradient(120deg,transparent 12%,rgba(255,255,255,.12) 26%,rgba(255,255,255,.02) 34%,transparent 42%,transparent 58%,rgba(255,255,255,.07) 72%,transparent 82%)}
.aio-sensor3d[data-effect="glass_reflection"] .aio-sensor3d__fx--2{opacity:calc(.82 * var(--density-opacity));inset:-25% auto -25% -24%;width:calc(14% + (var(--density-scale) * 6%));background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.03) 12%,rgba(255,255,255,.78) 46%,rgba(153,196,255,.3) 62%,transparent 100%);transform:rotate(12deg);filter:blur(1px);animation:aioFxSoftShine var(--effect-speed,5.2s) ease-in-out infinite}
.aio-sensor3d[data-effect="frame_glow"] .aio-sensor3d__fx--1{opacity:calc(.9 * var(--density-opacity));inset:0;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15), inset 0 0 calc(24px + (var(--density-scale) * 40px)) rgba(84,136,255,.2), 0 0 calc(20px + (var(--density-scale) * 25px)) rgba(84,136,255,.08);animation:aioFxFrameGlow var(--effect-speed,5.2s) ease-in-out infinite}

@keyframes aioFxSoftShine{0%,18%{left:-24%;opacity:0}26%{opacity:.94}58%{left:120%;opacity:.6}64%,100%{left:120%;opacity:0}}
@keyframes aioFxBlueSweep{0%,16%{transform:translateX(-16%);opacity:0}24%{opacity:.85}58%{transform:translateX(105%);opacity:.55}66%,100%{transform:translateX(105%);opacity:0}}
@keyframes aioFxPulseGlow{0%,100%{transform:scale(.94);opacity:.28}50%{transform:scale(1.06);opacity:.78}}
@keyframes aioFxDiagonal{0%,18%{left:-36%;opacity:0}28%{opacity:.86}60%{left:118%;opacity:.5}68%,100%{left:118%;opacity:0}}
@keyframes aioFxTopGlow{0%,100%{opacity:.28}50%{opacity:.78}}
@keyframes aioFxGridScan{0%{left:-16%;opacity:0}12%{opacity:.88}70%{left:112%;opacity:.42}84%,100%{left:112%;opacity:0}}
@keyframes aioFxSpotlight{0%,100%{transform:translateX(-6%) scale(.94);opacity:.26}50%{transform:translateX(12%) scale(1.06);opacity:.84}}
@keyframes aioFxSparkles{0%{transform:translate3d(0,0,0);opacity:.14}50%{transform:translate3d(12px,-10px,0);opacity:.38}100%{transform:translate3d(24px,4px,0);opacity:.14}}
@keyframes aioFxLinesFlow{0%{background-position:-32% 0;opacity:.12}16%{opacity:.88}100%{background-position:145% 0;opacity:.12}}
@keyframes aioFxFrameGlow{0%,100%{opacity:.34;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1), inset 0 0 28px rgba(84,136,255,.14), 0 0 24px rgba(84,136,255,.04)}50%{opacity:.95;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22), inset 0 0 62px rgba(84,136,255,.25), 0 0 46px rgba(84,136,255,.09)}}

.aio-sensor3d__textblock{position:absolute;top:var(--text-top,14%);left:var(--text-left,8%);z-index:8;width:min(var(--text-width,40%), 560px);display:flex;flex-direction:column;gap:10px;text-align:var(--text-align,left)}
.aio-sensor3d__textblock--center{left:50%;transform:translateX(-50%)}
.aio-sensor3d__textblock--right{left:auto;right:var(--text-left,8%)}
.aio-sensor3d__text1,.aio-sensor3d__text2,.aio-sensor3d__text3{font-family:Montserrat,Arial,sans-serif;color:#fff;text-shadow:0 8px 22px rgba(0,0,0,.44)}
.aio-sensor3d__text1{font-size:var(--text1-size,18px);line-height:1.15;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#dfeaff}
.aio-sensor3d__text2{font-size:var(--text2-size,42px);line-height:.98;font-weight:900;letter-spacing:-.02em;max-width:100%}
.aio-sensor3d__text3{font-size:var(--text3-size,17px);line-height:1.45;font-weight:500;max-width:92%;color:rgba(255,255,255,.92)}

.aio-sensor3d__actions{position:absolute;top:var(--actions-top,78%);left:50%;z-index:8;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:16px;width:min(780px,var(--actions-width,44%))}
.aio-sensor3d__button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:220px;min-height:54px;padding:0 24px;border-radius:12px;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1;font-weight:700;text-decoration:none!important;white-space:nowrap;backdrop-filter:blur(8px);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease}
.aio-sensor3d__button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}
.aio-sensor3d__button:hover svg{transform:translateX(4px)}
.aio-sensor3d__button--primary{color:#fff!important;border:1px solid rgba(255,255,255,.18);background:linear-gradient(110deg,#203065 0%,#294b92 55%,#203065 100%);box-shadow:0 10px 26px rgba(32,48,101,.28),0 0 18px rgba(95,146,255,.16) inset}
.aio-sensor3d__button--primary:hover{color:#fff!important;transform:translateY(-2px);box-shadow:0 14px 34px rgba(32,48,101,.38),0 0 24px rgba(95,146,255,.22) inset}
.aio-sensor3d__button--secondary{color:#fff!important;border:1px solid rgba(255,255,255,.68);background:rgba(4,15,31,.72);box-shadow:0 10px 26px rgba(0,0,0,.2),0 0 0 1px rgba(255,255,255,.03) inset}
.aio-sensor3d__button--secondary:hover{color:#fff!important;transform:translateY(-2px);border-color:#fff;background:rgba(7,20,40,.86)}
.aio-sensor3d__hint{position:absolute;left:50%;bottom:var(--hint-bottom,5%);z-index:8;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none;text-align:center}
.aio-sensor3d__hint-bars{display:flex;align-items:center;justify-content:center;gap:8px}.aio-sensor3d__hint-bars i{display:block;width:50px;height:4px;border-radius:999px;background:rgba(255,255,255,.26)}.aio-sensor3d__hint-bars i:first-child{background:linear-gradient(90deg,#91b5ff,#ffffff);box-shadow:0 0 18px rgba(145,181,255,.32)}
.aio-sensor3d__hint-text{font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.2;letter-spacing:.20em;text-transform:uppercase;color:rgba(255,255,255,.82);text-shadow:0 8px 24px rgba(0,0,0,.42)}
.aio-sensor3d__hint-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;animation:aioSensorArrow 2s ease-in-out infinite}
.aio-sensor3d__hint-arrow svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes aioSensorArrow{0%,100%{transform:translateY(0);opacity:.68}50%{transform:translateY(8px);opacity:1}}

@media(max-width:1200px) and (min-width:768px){
  .aio-sensor3d-section .container{width:calc(100% - 24px)}
  .aio-sensor3d__text1{font-size:calc(var(--text1-size,18px) * .82)}
  .aio-sensor3d__text2{font-size:calc(var(--text2-size,42px) * .78)}
  .aio-sensor3d__text3{font-size:calc(var(--text3-size,17px) * .88)}
  .aio-sensor3d__actions{gap:12px;width:min(740px,calc(var(--actions-width,44%) + 12%))}
  .aio-sensor3d__button{min-width:180px;min-height:46px;padding:0 18px;font-size:13px;border-radius:10px}
  .aio-sensor3d__hint-text{font-size:12px}.aio-sensor3d__hint-bars i{width:38px}
}
@media(max-width:767px){
  .aio-sensor3d-section{padding:18px 0 24px}
  .aio-sensor3d-section .container{width:calc(100% - 16px)}
  .aio-sensor3d__visual{aspect-ratio:16/9;border-radius:16px;box-shadow:0 18px 38px rgba(4,10,20,.2)}
  .aio-sensor3d__textblock{top:8%;left:6%;width:84%;gap:6px;text-align:left;transform:none!important}
  .aio-sensor3d__text1{font-size:11px;letter-spacing:.12em}
  .aio-sensor3d__text2{font-size:20px;line-height:1.04}
  .aio-sensor3d__text3{font-size:10px;line-height:1.32;max-width:86%}
  .aio-sensor3d__actions{top:auto;bottom:15%;left:50%;width:88%;gap:7px;transform:translateX(-50%)}
  .aio-sensor3d__button{flex:1 1 0;min-width:0;min-height:40px;padding:0 10px;border-radius:9px;font-size:10.5px;gap:6px}
  .aio-sensor3d__button svg{width:14px;height:14px}
  .aio-sensor3d__hint{bottom:2.4%;gap:3px}.aio-sensor3d__hint-bars{gap:5px}.aio-sensor3d__hint-bars i{width:22px;height:3px}.aio-sensor3d__hint-text{font-size:8px;letter-spacing:.15em}.aio-sensor3d__hint-arrow{width:18px;height:18px}.aio-sensor3d__hint-arrow svg{width:12px;height:12px}
  .aio-sensor3d[data-effect="grid_scan"] .aio-sensor3d__grid{background-size:20px 20px}
}
@media(prefers-reduced-motion:reduce){.aio-sensor3d__fx,.aio-sensor3d__particles,.aio-sensor3d__grid,.aio-sensor3d__spot,.aio-sensor3d__scan,.aio-sensor3d__hint-arrow{animation:none!important}}


/* AIO SAFE SENSOR 3D MEDIA 2026-09-22
   Mantém a arte inteira ao trocar imagens no editor e evita recortes/zoom excessivos. */
.aio-sensor3d__visual{
  aspect-ratio:1920/550!important;
  background:#061b26!important;
}
.aio-sensor3d__picture{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#061b26!important;
}
.aio-sensor3d__media{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-position:center center!important;
  transform:none!important;
}
.aio-sensor3d[data-media-fit="contain"] .aio-sensor3d__media{
  object-fit:contain!important;
}
.aio-sensor3d[data-media-fit="cover"] .aio-sensor3d__media{
  object-fit:cover!important;
}
@media(max-width:767px){
  .aio-sensor3d__visual{
    aspect-ratio:1080/1350!important;
  }
}


/* AIO SENSOR3D NATURAL IMAGE MODE 2026-09-22
   Imagem enviada pelo editor define a própria altura. Isso impede zoom gigante
   quando a nova arte tem proporção diferente da anterior. */
.aio-sensor3d--image .aio-sensor3d__visual{
  aspect-ratio:auto!important;
  min-height:0!important;
  height:auto!important;
}
.aio-sensor3d--image .aio-sensor3d__picture{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
}
.aio-sensor3d--image .aio-sensor3d__image{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.aio-sensor3d--video .aio-sensor3d__visual{
  aspect-ratio:16/9!important;
}
@media(max-width:767px){
  .aio-sensor3d--image .aio-sensor3d__visual{aspect-ratio:auto!important}
  .aio-sensor3d--image .aio-sensor3d__image{height:auto!important}
  .aio-sensor3d--video .aio-sensor3d__visual{aspect-ratio:16/9!important}
}

/* AIO FINAL SAFE SENSOR 3D - never expands to natural image height */
.aio-sensor3d--image .aio-sensor3d__visual{
  width:100%!important;
  height:clamp(300px,29vw,500px)!important;
  min-height:300px!important;
  max-height:500px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#061b26!important;
}
.aio-sensor3d--image .aio-sensor3d__picture{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  background:#061b26!important;
}
.aio-sensor3d--image .aio-sensor3d__image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-position:center center!important;
  transform:none!important;
}
.aio-sensor3d[data-media-fit="cover"] .aio-sensor3d__image{object-fit:cover!important;}
.aio-sensor3d[data-media-fit="contain"] .aio-sensor3d__image{object-fit:contain!important;}
@media(max-width:767px){
  .aio-sensor3d--image .aio-sensor3d__visual{
    height:clamp(320px,88vw,520px)!important;
    min-height:320px!important;
    max-height:520px!important;
  }
}
