/*
Gabriel Messenger V123 - Carousel native border blank-band fix
Purpose:
- V121/V122 CSS conflict can leave a blank beige strip at the carousel bottom.
- The banner artwork already contains the correct Vatican golden border and center cross medallion.
- This final override shows the complete banner image and disables generated/cropped separator layers.

Apply after site.css and after any V118/V119/V120/V121/V122 carousel hotfix CSS.
Preferred _Layout.cshtml line:
<link rel="stylesheet" href="~/css/gm-v123-carousel-native-border-blank-band-fix.css" asp-append-version="true" />
*/

/* Strong selector intentionally beats old V118/V119/V121 responsive carousel rules. */
.gm-carousel-v100,
.gm-carousel-v100.gm-carousel-v118-single-border,
.gm-carousel-v100.gm-carousel-v119-mobile-production,
.gm-carousel-v100.gm-carousel-v121-responsive-final,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  overflow: hidden !important;
}

.gm-carousel-v100 .carousel-inner,
.gm-carousel-v100.gm-carousel-v121-responsive-final .carousel-inner,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .carousel-inner {
  aspect-ratio: 1900 / 550 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background: transparent !important;
}

.gm-carousel-v100 .carousel-item,
.gm-carousel-v100 .carousel-item.active,
.gm-carousel-v100 .carousel-item-next,
.gm-carousel-v100 .carousel-item-prev,
.gm-carousel-v100 .carousel-item-start,
.gm-carousel-v100 .carousel-item-end,
.gm-carousel-v100.gm-carousel-v121-responsive-final .carousel-item,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .carousel-item {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background: transparent !important;
}

.gm-carousel-v100 .gm-carousel-v100-frame,
.gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-frame,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-frame {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Key fix: cancel old calc(100% - border-height). Show the full 1900x550 banner image. */
.gm-carousel-v100 .gm-carousel-v100-img,
.gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-img,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  position: relative !important;
  z-index: 1 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Disable all generated separators/circles/crosses so the only visible border is the one inside the banner artwork. */
.gm-carousel-v100 .gm-carousel-v100-frame::before,
.gm-carousel-v100 .gm-carousel-v100-frame:before,
.gm-carousel-v100 .gm-carousel-v100-frame::after,
.gm-carousel-v100 .gm-carousel-v100-frame:after,
.gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-frame::before,
.gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-frame:before,
.gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-frame::after,
.gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-frame:after,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-frame::before,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-frame:before,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-frame::after,
.gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-frame:after,
.gm-carousel-v100 .carousel-item::after,
.gm-carousel-v100 .gm-v107-glitter,
.gm-carousel-v100 .gm-carousel-v100-separator,
.gm-carousel-v100 .gm-carousel-v100-frame .gm-carousel-v100-separator {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  animation: none !important;
  opacity: 0 !important;
}

/* Mobile keeps the same full image, so the border/medallion from the image cannot become a blank strip. */
@media (max-width: 991.98px) {
  .gm-carousel-v100 .carousel-inner,
  .gm-carousel-v100.gm-carousel-v121-responsive-final .carousel-inner,
  .gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .carousel-inner {
    aspect-ratio: 1900 / 550 !important;
  }

  .gm-carousel-v100 .gm-carousel-v100-img,
  .gm-carousel-v100.gm-carousel-v121-responsive-final .gm-carousel-v100-img,
  .gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .gm-carousel-v100-img {
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (max-width: 575.98px) {
  .gm-carousel-v100 .carousel-inner,
  .gm-carousel-v100.gm-carousel-v121-responsive-final .carousel-inner,
  .gm-carousel-v100.gm-carousel-v118-single-border.gm-carousel-v119-mobile-production.gm-carousel-v121-responsive-final .carousel-inner {
    aspect-ratio: 1900 / 550 !important;
  }

  .gm-carousel-v100 .carousel-control-prev,
  .gm-carousel-v100 .carousel-control-next {
    width: 9% !important;
    z-index: 20 !important;
  }
}


/* V135 mobile non-sticky header */
@media (max-width:767.98px){
header,.top-header,.main-header,.navbar,.navbar-wrapper,.sticky-top,.fixed-top,.gm-header,.gm-navbar{
position:static !important;
top:auto !important;
}
body{padding-top:0!important;}
html{scroll-padding-top:0!important;}
}
