/* =========================================================
   bootstrap_barrio_giguellerie — 30-hero.css
   Hero slider edge-to-edge + overlay
   ========================================================= */

.featured-top__inner.section.container {
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.featured-top .region-wrapper-featured-top.full-width > .container {
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.featured-top .view-content.row,
.featured-top .carousel .row {
  margin-left: 0;
  margin-right: 0;
}
.featured-top .row > * {
  padding-left: 0;
  padding-right: 0;
}

/* Desktop: ~16:9 ; Mobile: ~4:3 */
:root{
  --bbg-hero-height: min(
    56.25vw,
    calc(100svh - var(--drupal-displace-offset-top, 0px) - var(--bbg-header-height, 0px))
  );
}

@media (max-width: 575.98px){
  :root{
    --bbg-hero-height: min(
      75vw,
      calc(100svh - var(--drupal-displace-offset-top, 0px) - var(--bbg-header-height, 0px))
    );
  }
}

.featured-top .hero-slide{
  height: var(--bbg-hero-height);
  overflow: hidden;
  position: relative;
}

.featured-top .hero-media-wrapper{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.featured-top .hero-media-wrapper > *,
.featured-top .hero-media-wrapper .field,
.featured-top .hero-media-wrapper .field__item,
.featured-top .hero-media-wrapper picture,
.featured-top .hero-media-wrapper img,
.featured-top .hero-media-wrapper video{
  width: 100%;
  height: 100%;
}

.featured-top .hero-media-wrapper img,
.featured-top .hero-media-wrapper video{
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Fix iOS / wrappers */
#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper{
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper > *,
#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper .field,
#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper .field__item,
#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper picture{
  width: 100%;
  height: 100%;
}

#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper img,
#views-bootstrap-slider-accueil-block-1 .hero-media-wrapper video{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

#views-bootstrap-slider-accueil-block-1 .carousel-indicators{
  bottom: max(0.2rem, env(safe-area-inset-bottom));
}

#views-bootstrap-slider-accueil-block-1 .carousel-indicators {
  z-index: 10;
  margin-bottom: 0;
}

.featured-top .hero-media-wrapper video::-webkit-media-controls {
  display: none !important;
}
.featured-top .hero-media-wrapper video {
  outline: none;
}

.hero-text-pure {
  max-width: min(62rem, 100%);
}

.hero-text-pure .hero-title{
  font-weight: 700;
  font-size: clamp(1.6rem, 3.4vw + 0.6rem, 3.4rem);
  line-height: 1.05;
  margin: 0 0 .35rem 0;
  overflow-wrap: anywhere;
}

.hero-text-pure .hero-subtitle{
  font-weight: 500;
  font-size: clamp(1.05rem, 1.6vw + 0.55rem, 1.8rem);
  line-height: 1.2;
  margin: 0;
  overflow-wrap: anywhere;
}

.cta-wrapper a {
  display: inline-block;
  padding: 12px 30px;
  background-color: #0d6efd;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 700;
  font-size: 1.1rem;
}
.cta-wrapper a:hover {
  background-color: #0b5ed7;
}

.featured-top{
  position: relative;
  z-index: 0;
}
.featured-top .hero-media-wrapper{
  pointer-events: none;
  background: #333;
}

.hero-slide .hero-content-layer{
  padding-top: var(--header-offset) !important;
}