.mb-home-banner{position:relative;border-radius:24px;overflow:hidden;background:transparent;min-height:420px;border:0;outline:0;box-shadow:none}
.mb-home-banner__track{display:flex;transition:transform .45s ease;height:100%}
.mb-home-banner__slide{min-width:100%;position:relative;display:block;min-height:420px;color:#fff;text-decoration:none;background:transparent;border:0;outline:0;box-shadow:none}
.mb-home-banner__picture,.mb-home-banner__picture img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;border:0;outline:0;box-shadow:none}
.mb-home-banner__fallback{position:absolute;inset:0;background:#071B4D}
.mb-home-banner__nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#071B4D;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.mb-home-banner__nav:hover{background:#fff}.mb-home-banner__nav--prev{left:18px}.mb-home-banner__nav--next{right:18px}
.mb-home-banner__dots{position:absolute;left:0;right:0;bottom:18px;z-index:4;display:flex;justify-content:center;gap:8px}.mb-home-banner__dot{width:8px;height:8px;border:0;border-radius:999px;background:rgba(255,255,255,.55);cursor:pointer}.mb-home-banner__dot.is-active{width:24px;background:#F5A900}
.mb-home-banner-empty{border:1px dashed #cfd8e7;border-radius:18px;padding:28px;text-align:center;color:#667085;background:#f8fafd;font-weight:800}
@media(max-width:760px){
  .mb-home-banner{
    border-radius:18px;
    min-height:0;
    height:auto;
    aspect-ratio:1920/650;
    overflow:hidden;
  }
  .mb-home-banner__track{height:100%}
  .mb-home-banner__slide{
    min-height:0;
    height:100%;
    aspect-ratio:1920/650;
    overflow:hidden;
  }
  .mb-home-banner__picture,
  .mb-home-banner__picture img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  .mb-home-banner__picture img{
    object-fit:contain;
    object-position:center center;
    background:transparent;
  }
  .mb-home-banner__nav{width:34px;height:34px;top:auto;bottom:10px;transform:none}
  .mb-home-banner__nav--prev{left:12px}.mb-home-banner__nav--next{right:12px}
  .mb-home-banner__dots{bottom:18px}
}
@media(max-width:420px){
  .mb-home-banner{border-radius:16px}
}

/* V544 - Banner Home Mobile padrao correto isolado
   Mantem o mesmo componente do desktop e corrige apenas o enquadramento mobile.
   Regra: banner preenche uma area visual confortavel no celular, sem container minúsculo,
   sem zoom artificial por transform e sem altura fixa herdada. */
@media (max-width: 760px){
  .mb-home-page-main .mb-home-banner{
    width:100% !important;
    height:clamp(180px, 40vw, 220px) !important;
    min-height:clamp(180px, 40vw, 220px) !important;
    max-height:220px !important;
    aspect-ratio:auto !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__track,
  .mb-home-page-main .mb-home-banner__slide,
  .mb-home-page-main .mb-home-banner__picture{
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
  }
  .mb-home-page-main .mb-home-banner__picture img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
    border-radius:0 !important;
    display:block !important;
  }
  .mb-home-page-main .mb-home-banner__nav{
    width:32px !important;
    height:32px !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    opacity:.85 !important;
  }
  .mb-home-page-main .mb-home-banner__nav--prev{left:8px !important;}
  .mb-home-page-main .mb-home-banner__nav--next{right:8px !important;}
  .mb-home-page-main .mb-home-banner__dots{bottom:10px !important;}
}

/* V545 - Banner Home Mobile Carrossel Fix
   Correção isolada: no mobile o banner volta a ser uma imagem em fluxo normal,
   sem altura fixa, sem absolute/crop e sem zoom. O tamanho final vem da proporção
   oficial do banner principal 1920x650. */
@media (max-width: 760px){
  .mb-home-page-main .mb-home-banner{
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    border-radius:16px !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__track{
    display:flex !important;
    align-items:stretch !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    transition:transform .45s ease !important;
  }
  .mb-home-page-main .mb-home-banner__slide{
    flex:0 0 100% !important;
    min-width:100% !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:auto !important;
    display:block !important;
    position:relative !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__picture{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    display:block !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__picture img{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1920/650 !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    display:block !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__nav{
    width:32px !important;
    height:32px !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    opacity:.9 !important;
  }
  .mb-home-page-main .mb-home-banner__nav--prev{left:8px !important;}
  .mb-home-page-main .mb-home-banner__nav--next{right:8px !important;}
  .mb-home-page-main .mb-home-banner__dots{bottom:10px !important;}
}


/* V546 - Banner Home Mobile com imagem propria
   Regra oficial: Desktop usa 1920x650. Mobile usa imagem propria 1080x1350 quando cadastrada.
   Se nao houver mobile, desktop entra como fallback sem tentativa de crop/zoom. */
@media (max-width: 760px){
  .mb-home-page-main .mb-home-banner{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    border-radius:16px !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__track{
    display:flex !important;
    align-items:flex-start !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    transition:transform .45s ease !important;
  }
  .mb-home-page-main .mb-home-banner__slide{
    flex:0 0 100% !important;
    min-width:100% !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    position:relative !important;
    display:block !important;
    overflow:hidden !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__picture{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    display:block !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__picture img{
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    border-radius:0 !important;
    background:transparent !important;
  }
  .mb-home-page-main .mb-home-banner__nav{
    width:34px !important;
    height:34px !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    opacity:.92 !important;
  }
  .mb-home-page-main .mb-home-banner__nav--prev{left:8px !important;}
  .mb-home-page-main .mb-home-banner__nav--next{right:8px !important;}
  .mb-home-page-main .mb-home-banner__dots{bottom:10px !important;}
}
