.elementor-widget-html:has(.canaa-banner-desktop),
.elementor-widget-shortcode:has(.canaa-banner-desktop){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  align-self:stretch!important;
  --container-widget-width:100%;
}

.elementor-widget-html:has(.canaa-banner-desktop)>.elementor-widget-container,
.elementor-widget-shortcode:has(.canaa-banner-desktop)>.elementor-widget-container,
.elementor-widget-shortcode:has(.canaa-banner-desktop)>.elementor-widget-container>.elementor-shortcode{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
  min-height:0;
  margin:0!important;
  padding:0!important;
}

.canaa-banner-desktop{
  --cbd-ink:#401201;
  --cbd-duration:360ms;
  --cbd-ease:cubic-bezier(.25,.1,.25,1);

  position:relative;
  display:block;
  isolation:isolate;

  width:100%;
  min-width:0;
  min-height:0;
  aspect-ratio:10/3;

  overflow:hidden;

  margin:0!important;
  padding:0!important;
  border:0;

  background:transparent;
  cursor:default;

  user-select:none;
  -webkit-user-select:none;

  touch-action:auto;
  overscroll-behavior-x:contain;
  -webkit-tap-highlight-color:transparent;
}

.canaa-banner-desktop,
.canaa-banner-desktop *{box-sizing:border-box;}
.canaa-banner-desktop.cbd-dragging{cursor:default;}
.canaa-banner-desktop:focus-visible{outline:2px solid var(--cbd-ink);outline-offset:-3px;}

.canaa-banner-desktop .cbd-track{position:absolute;inset:0;transform:translate3d(0,0,0);}
/* Estrutura de rolagem; proporções, fotos e controles continuam iguais. */
.canaa-banner-desktop[data-cbd-ready] .cbd-track{
  display:flex;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  transform:none;
  scroll-behavior:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overflow-anchor:none;
  contain:layout paint;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.canaa-banner-desktop .cbd-track::-webkit-scrollbar{display:none;width:0;height:0;}
.canaa-banner-desktop[data-cbd-ready] .cbd-slide{
  position:relative;
  inset:auto;
  flex:0 0 100%;
  width:100%;
  min-width:0;
  height:100%;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

.canaa-banner-desktop .cbd-slide{
  position:absolute;
  inset:0;
  margin:0;
  visibility:hidden;
}

.canaa-banner-desktop .cbd-slide.is-current,
.canaa-banner-desktop[data-cbd-ready] .cbd-slide,
.canaa-banner-desktop.cbd-single .cbd-slide{visibility:visible;}

.canaa-banner-desktop picture,
.canaa-banner-desktop img{display:block;width:100%;height:100%;margin:0!important;padding:0!important;}

.canaa-banner-desktop img{
  max-width:none;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:0;
  pointer-events:none;
  -webkit-user-drag:none;
}

.canaa-banner-desktop .cbd-controls[hidden]{display:none!important;}

.canaa-banner-desktop .cbd-control,
.canaa-banner-desktop .cbd-dot{
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent!important;
  color:var(--cbd-ink)!important;
  box-shadow:none!important;
  cursor:pointer;
  touch-action:manipulation;
  line-height:1;
  text-decoration:none;
}

.canaa-banner-desktop .cbd-control{position:absolute;z-index:3;opacity:.8;transition:opacity 160ms ease;}
.canaa-banner-desktop .cbd-control::before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgb(255 255 255 / 45%);
  border-radius:50%;
  background:rgb(255 255 255 / 65%);
  transition:background-color 160ms ease;
}
.canaa-banner-desktop .cbd-control:hover{opacity:1;}
.canaa-banner-desktop .cbd-control:hover::before{background:rgb(255 255 255 / 90%);}
.canaa-banner-desktop .cbd-control:focus:not(:focus-visible),
.canaa-banner-desktop .cbd-dot:focus:not(:focus-visible){outline:none;}
.canaa-banner-desktop .cbd-control:focus-visible,
.canaa-banner-desktop .cbd-dot:focus-visible{outline:2px solid var(--cbd-ink);outline-offset:1px;opacity:1;}
.canaa-banner-desktop .cbd-control svg{
  position:relative;
  display:block;
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.canaa-banner-desktop .cbd-prev{left:clamp(6px,1.2vw,20px);top:calc(50% - 22px);}
.canaa-banner-desktop .cbd-next{right:clamp(6px,1.2vw,20px);top:calc(50% - 22px);}

.canaa-banner-desktop .cbd-dots{
  position:absolute;
  z-index:3;
  bottom:8px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  isolation:isolate;
}
.canaa-banner-desktop .cbd-dots::before{
  content:"";
  position:absolute;
  inset:8px 7px;
  border:1px solid rgb(255 255 255 / 40%);
  border-radius:30px;
  background:rgb(255 255 255 / 65%);
  z-index:-1;
}
.canaa-banner-desktop .cbd-dot::before{
  content:"";
  width:5px;
  height:5px;
  border-radius:6px;
  background:var(--cbd-ink);
  opacity:.35;
  /* O indicador mantém os dois tamanhos, sem recalcular sua largura em
     cada quadro enquanto o próprio banner já está em movimento. */
  transition:opacity var(--cbd-duration) var(--cbd-ease);
}
.canaa-banner-desktop .cbd-dot[aria-current="true"]::before{width:17px;opacity:.85;}
.canaa-banner-desktop.cbd-dragging .cbd-dot::before{transition:none;}
.canaa-banner-desktop .cbd-sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.cbd-editor-note{margin:10px 0;padding:10px 12px;border:1px dashed #d4bd7b;background:#fff;color:#23384c;}

@media(max-width:1024px){
  .e-con:has(>.elementor-widget-html .canaa-banner-desktop),
  .e-con:has(>.e-con-inner>.elementor-widget-html .canaa-banner-desktop),
  .e-con:has(>.elementor-widget-shortcode .canaa-banner-desktop),
  .e-con:has(>.e-con-inner>.elementor-widget-shortcode .canaa-banner-desktop){
    height:auto!important;
    min-height:0!important;
    --min-height:0px;
  }

  .elementor-widget-html:has(.canaa-banner-desktop),
  .elementor-widget-shortcode:has(.canaa-banner-desktop),
  .elementor-widget-shortcode:has(.canaa-banner-desktop)>.elementor-widget-container>.elementor-shortcode{
    height:auto!important;
    min-height:0!important;
  }

  .canaa-banner-desktop{height:auto!important;min-height:0!important;}
  .canaa-banner-desktop img{object-fit:contain;}
}

@media(max-width:767px){
  .canaa-banner-desktop{aspect-ratio:8/9;}
  .canaa-banner-desktop .cbd-control{opacity:.9;}
  .canaa-banner-desktop .cbd-prev{left:4px;}
  .canaa-banner-desktop .cbd-next{right:4px;}
  .canaa-banner-desktop .cbd-dots{bottom:10px;}
}

@media(prefers-reduced-motion:reduce){
  .canaa-banner-desktop *,
  .canaa-banner-desktop *::before{transition:none!important;}
}

/* Mesmo motor das vitrines; mantém altura e proporções do Hero. */
.canaa-banner-desktop .axion-motion-viewport { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; overflow:clip; contain:layout paint; touch-action:pan-y pinch-zoom; }
.canaa-banner-desktop[data-cbd-ready] .cbd-track[data-axion-motion="transform"] { overflow:visible; contain:layout style; scroll-snap-type:none; touch-action:pan-y pinch-zoom; will-change:transform; }
