/* ==========================================================================\n   Alcance · Showcase — Pulse / Float / Quote\n   Widgets sem dependência de JS: sempre visíveis no frontend e no editor.\n   ========================================================================== */

/* Base compartilhada das imagens */
.alcm-demo{
  --alcm-demo-accent:#A8CE3E;
  --alcm-demo-speed:5s;
  --alcm-demo-zoom:1.08;
  --alcm-demo-shift-x:-1.4%;
  --alcm-demo-shift-y:-1%;
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:18px;
  isolation:isolate;
  background:linear-gradient(135deg,#1E3062,#4B8199);
}
.alcm-demo__img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  z-index:0;
  transform:translateZ(0);
}
.alcm-demo__ph{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.56);
  font:inherit;
  background:linear-gradient(135deg,#1E3062,#4B8199);
}

/* Pulse */
.alcm-demo--pulse{
  overflow:visible;
}
.alcm-demo--pulse .alcm-demo__clip{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:inherit;
  z-index:0;
}
.alcm-demo__fx-pulse{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:0 0 0 0 color-mix(in srgb,var(--alcm-demo-accent) 46%,transparent);
  animation:alcm-demo-pulse var(--alcm-demo-speed) ease-out infinite;
}
@keyframes alcm-demo-pulse{
  0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--alcm-demo-accent) 46%,transparent)}
  70%,100%{box-shadow:0 0 0 22px transparent}
}
.alcm-demo__badge{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  max-width:calc(100% - 36px);
  padding:7px 14px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--alcm-demo-accent) 40%,transparent);
  background:rgba(14,16,32,.72);
  color:#EAF0F6;
  font:inherit;
  font-size:.8rem;
  line-height:1.2;
  font-weight:600;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}

/* Float / Ken Burns */
.alcm-demo--float .alcm-demo__img{
  animation:alcm-demo-float var(--alcm-demo-speed) ease-in-out infinite alternate;
  transform-origin:center;
  will-change:transform;
}
@keyframes alcm-demo-float{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(var(--alcm-demo-zoom)) translate3d(var(--alcm-demo-shift-x),var(--alcm-demo-shift-y),0)}
}
.alcm-demo__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.alcm-demo__content{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding:clamp(24px,5vw,52px);
}
.alcm-demo__content--center{
  align-items:center;
  text-align:center;
}
.alcm-demo__eyebrow{
  margin:0;
  color:var(--alcm-demo-accent);
  font:inherit;
  font-size:.7rem;
  line-height:1.25;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.alcm-demo__title{
  margin:0;
  max-width:680px;
  color:#EAF0F6;
  font:inherit;
  font-size:clamp(1.4rem,3.2vw,2.2rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
}
.alcm-demo__title .hl{color:var(--alcm-demo-accent)}
.alcm-demo__desc{
  margin:0;
  max-width:560px;
  color:#C7D3E0;
  font:inherit;
  font-size:.98rem;
  line-height:1.55;
}
.alcm-demo__content--center .alcm-demo__desc{margin-inline:auto}

/* Quote
   A tag blockquote possui margens UA/tema que podem deslocar e extravasar
   o contêiner Elementor. O shell controla o alinhamento sem margens negativas.
*/
.elementor-widget-alcance-quote,
.elementor-widget-alcance-quote > .elementor-widget-container {
  min-width:0;
  max-width:100%;
}
.elementor-widget-alcance-quote .alcm-quote-shell {
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:stretch;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.elementor-widget-alcance-quote .alcm-quote{
  box-sizing:border-box;
  margin:0;
  max-width:100%;
  min-width:0;
  flex-shrink:1;
  overflow-wrap:anywhere;
}
.alcm-quote{
  --alcm-quote-accent:#A8CE3E;
  --alcm-quote-bg-a:rgba(75,129,153,.14);
  --alcm-quote-bg-b:rgba(168,206,62,.05);
  --alcm-quote-border:rgba(168,206,62,.25);
  position:relative;
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin:0;
  padding:38px 34px;
  border:1px solid var(--alcm-quote-border);
  border-radius:18px;
  background:linear-gradient(160deg,var(--alcm-quote-bg-a),var(--alcm-quote-bg-b));
  overflow:hidden;
}
.alcm-quote__mark{
  display:block;
  margin:0 0 10px;
  color:var(--alcm-quote-accent);
  font:inherit;
  font-size:3.4rem;
  line-height:.6;
  font-weight:800;
}
.alcm-quote__text{
  margin:0;
  color:#EAF0F6;
  font:inherit;
  font-size:1.28rem;
  line-height:1.4;
  font-weight:600;
  letter-spacing:-.01em;
}
.alcm-quote__author{
  display:block;
  margin-top:18px;
  color:#93A2B8;
  font:inherit;
  font-size:.86rem;
  line-height:1.4;
  font-weight:500;
}

@media (max-width:640px){
  .alcm-quote{padding:28px 22px}
  .alcm-quote__text{font-size:1.1rem}
  .alcm-demo__content{padding:22px}
  .alcm-demo__badge{left:14px;bottom:14px;max-width:calc(100% - 28px)}
}

@media (prefers-reduced-motion:reduce){
  .alcm-demo__fx-pulse,
  .alcm-demo--float .alcm-demo__img{
    animation:none !important;
  }
}

/* v2.2.3 — Preencher coluna: estilos condicionais gerados pelo
   controle fill_parent do Elementor (selectors no widget PHP).
   Sem overrides de wrapper dependentes das configurações da instância.
   Isso impede o fatal error ao inicializar o editor. */
