/* ML Banner Pro — front.css
   Uses !important on structural properties to resist theme overrides.
   Decorative properties (colors, radius, fonts) do NOT use !important
   so themes can still customize visuals.
*/

.mlcp-carousel{position:relative !important;width:var(--mlcp-width,100%);max-width:100%;margin:0 auto}
.mlcp-viewport{overflow:hidden !important;width:100% !important;max-width:100% !important;display:block !important;container-type:inline-size}
.mlcp-track{display:flex !important;flex-wrap:nowrap !important;gap:var(--mlcp-gap,18px);transition:transform .45s ease !important;will-change:transform;width:max-content !important;max-width:none !important;list-style:none !important;margin:0 !important;padding:0 !important}
.mlcp-card{flex:0 0 var(--mlcp-card-width,320px) !important;width:var(--mlcp-card-width,320px) !important;min-width:var(--mlcp-card-width,320px) !important;max-width:100%;box-sizing:border-box !important}
.mlcp-link{text-decoration:none;display:block !important;width:100% !important;max-width:100%}
.mlcp-link--lightbox{cursor:pointer;outline:none}
.mlcp-link--lightbox:focus-visible .mlcp-image-wrap{outline:3px solid #fff;outline-offset:2px}
.mlcp-image-wrap{position:relative !important;height:var(--mlcp-height-px,var(--mlcp-height,320px));border-radius:var(--mlcp-radius,18px);overflow:hidden !important;background:var(--mlcp-card-bg,transparent);max-width:100%;padding:var(--mlcp-card-margin,0px);box-sizing:border-box !important}
.mlcp-carousel[data-lock-proportion="1"] .mlcp-image-wrap{height:auto !important;aspect-ratio:var(--mlcp-ratio,16 / 9)}
.mlcp-image-wrap img{width:100% !important;height:100% !important;object-fit:var(--mlcp-image-fit,cover) !important;display:block !important;transform:scale(1);transition:transform .45s ease;max-width:100% !important}
.mlcp-link:hover .mlcp-image-wrap img{transform:scale(1.04)}
.mlcp-overlay{position:absolute !important;inset:0;background:linear-gradient(to top, rgba(0,0,0,.86) 0%, rgba(0,0,0,var(--mlcp-overlay,.42)) 55%, rgba(0,0,0,.08) 100%)}
.mlcp-caption{position:absolute !important;left:0;right:0;bottom:0;padding:22px;color:#fff;text-align:center;z-index:2}
.mlcp-caption h3{margin:0;font-size:22px;line-height:1.15;font-weight:700}
.mlcp-caption p{margin:8px 0 0;font-size:16px;line-height:1.2;opacity:.95}

/* Nav buttons — z-index and pointer-events !important prevent theme interference */
.mlcp-nav{position:absolute !important;top:50% !important;transform:translateY(-50%) !important;z-index:10 !important;width:44px !important;height:44px !important;border-radius:999px !important;border:0 !important;background:rgba(0,0,0,.6) !important;color:#fff !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;pointer-events:auto !important;opacity:1 !important;visibility:visible !important;box-shadow:none !important;outline:none}
.mlcp-nav:hover{background:rgba(0,0,0,.85) !important}
.mlcp-nav:focus-visible{outline:2px solid #fff !important;outline-offset:2px !important}
.mlcp-prev{left:12px !important;right:auto !important}
.mlcp-next{right:12px !important;left:auto !important}

@media (max-width: 980px){
  .mlcp-card{flex:0 0 calc((100cqw - (var(--mlcp-gap,18px) * (var(--mlcp-tablet,2) - 1))) / var(--mlcp-tablet,2)) !important;width:calc((100cqw - (var(--mlcp-gap,18px) * (var(--mlcp-tablet,2) - 1))) / var(--mlcp-tablet,2)) !important;min-width:calc((100cqw - (var(--mlcp-gap,18px) * (var(--mlcp-tablet,2) - 1))) / var(--mlcp-tablet,2)) !important}
}
@media (max-width: 640px){
  .mlcp-carousel{width:100% !important;max-width:100% !important}
  .mlcp-viewport{padding:0 !important;max-width:100% !important}
  .mlcp-track{gap:var(--mlcp-mobile-gap,12px) !important}
  .mlcp-card{flex:0 0 var(--mlcp-mobile-card-width,min(100cqw, var(--mlcp-card-width,320px))) !important;width:var(--mlcp-mobile-card-width,min(100cqw, var(--mlcp-card-width,320px))) !important;min-width:var(--mlcp-mobile-card-width,min(100cqw, var(--mlcp-card-width,320px))) !important;max-width:100% !important}
  .mlcp-image-wrap{width:100% !important;height:auto !important;aspect-ratio:var(--mlcp-ratio,16 / 9);max-height:none !important}
  .mlcp-carousel[data-lock-proportion="1"] .mlcp-image-wrap{height:auto !important;aspect-ratio:var(--mlcp-ratio,16 / 9)}
  .mlcp-caption{padding:16px}
  .mlcp-caption h3{font-size:19px}
  .mlcp-caption p{font-size:14px}
  .mlcp-nav{width:32px !important;height:32px !important}
  .mlcp-prev{left:8px !important}
  .mlcp-next{right:8px !important}
}
.mlcp-carousel[data-rounded-corners="0"]{--mlcp-radius:0px}

/* =============================================
   MLCP LIGHTBOX
   ============================================= */
#mlcp-lb-overlay{
  display:none;
  position:fixed !important;
  inset:0;
  z-index:999999 !important;
  background:rgba(0,0,0,.88);
  align-items:center;
  justify-content:center;
}
#mlcp-lb-overlay.mlcp-lb-open{
  display:flex !important;
}
#mlcp-lb-inner{
  position:relative;
  max-width:92vw;
  max-height:90vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
#mlcp-lb-img{
  max-width:92vw;
  max-height:90vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:8px;
  display:block;
  box-shadow:0 8px 48px rgba(0,0,0,.7);
}
#mlcp-lb-close{
  position:fixed !important;
  top:18px;
  right:22px;
  z-index:1000000 !important;
  background:rgba(0,0,0,.65);
  color:#fff;
  border:none;
  border-radius:999px;
  width:44px;
  height:44px;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s;
}
#mlcp-lb-close:hover,
#mlcp-lb-close:focus{
  background:rgba(0,0,0,.9);
  outline:2px solid #fff;
  outline-offset:2px;
}
@media (max-width:640px){
  #mlcp-lb-img{max-width:98vw;max-height:85vh}
  #mlcp-lb-close{top:10px;right:10px;width:38px;height:38px;font-size:24px}
}

/* ===== Template "agenda" (1.14.0): [ml_carousel group="eventos" template="agenda" visible="3"] ===== */
.mlcp-agenda{--mlcp-ag-accent:#A80F17;--mlcp-ag-ink:inherit;--mlcp-ag-muted:currentColor;--mlcp-ag-rule:rgba(128,128,128,.28);--mlcp-ag-poster-w:96px;--mlcp-ag-poster-h:126px;--mlcp-ag-pad:14px;color:var(--mlcp-ag-ink)}
.mlcp-agenda .mlcp-ag-viewport{overflow:hidden;position:relative}
.mlcp-agenda .mlcp-ag-list{list-style:none;margin:0;padding:0;will-change:transform}
.mlcp-agenda .mlcp-ag-row{display:grid;grid-template-columns:64px minmax(0,1fr) var(--mlcp-ag-poster-w);gap:16px;align-items:center;padding:var(--mlcp-ag-pad) 0;border-bottom:1px solid var(--mlcp-ag-rule);margin:0;box-sizing:border-box}
.mlcp-agenda .mlcp-ag-day{text-align:center;border-right:1px solid var(--mlcp-ag-rule);padding-right:12px}
.mlcp-agenda .mlcp-ag-day b{display:block;font-size:40px;line-height:1;font-weight:600;color:var(--mlcp-ag-accent);font-variant-numeric:tabular-nums}
.mlcp-agenda .mlcp-ag-day span{display:block;margin-top:4px;font-size:11px;line-height:1;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.mlcp-agenda .mlcp-ag-txt{min-width:0}
.mlcp-agenda .mlcp-ag-title{display:block;font-size:17px;line-height:1.25;font-weight:400;color:inherit;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.mlcp-agenda a.mlcp-ag-title:hover{opacity:.72}
.mlcp-agenda .mlcp-ag-sub{display:block;margin-top:3px;font-size:14px;opacity:.7}
.mlcp-agenda .mlcp-ag-poster{display:block;width:var(--mlcp-ag-poster-w);height:var(--mlcp-ag-poster-h);overflow:hidden;cursor:zoom-in;background:rgba(128,128,128,.15)}
.mlcp-agenda .mlcp-ag-poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mlcp-agenda .mlcp-ag-poster:hover img{transform:scale(1.05)}
.mlcp-agenda .mlcp-ag-poster:focus-visible,.mlcp-agenda a.mlcp-ag-title:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mlcp-agenda .mlcp-ag-poster.is-empty{background:transparent;cursor:default}
@media (max-width:640px){.mlcp-agenda{--mlcp-ag-poster-w:80px;--mlcp-ag-poster-h:105px}.mlcp-agenda .mlcp-ag-row{grid-template-columns:56px minmax(0,1fr) var(--mlcp-ag-poster-w);gap:12px}}
@media (prefers-reduced-motion:reduce){.mlcp-agenda.is-scrolling .mlcp-ag-viewport{overflow-y:auto}}
