/* Minimal background layering so your theme styles control layout/typography */
.section.section--hero.artusi-hero {
  position: relative;
  overflow: hidden;
}

.artusi-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.artusi-hero__bg--image,
.hero__slide {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
}

.artusi-hero__bg--video .artusi-hero__video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

.artusi-hero__overlay {
  position: absolute;
  inset: 0;
  background: #000;
  pointer-events: none;
}

/* Ensure foreground content stays above background */
.section.section--hero.artusi-hero .container,
.section.section--hero.artusi-hero .hgroup {
  position: relative;
  z-index: 1;
}

/* Swiper controls (optional; hide if your theme provides its own) */
.hero-swiper__nav {
  position: absolute;
  inset: auto 0 16px 0;
  display: flex;
  justify-content: space-between;
  z-index: 2;
  padding: 0 16px;
}
.hero-swiper__btn {
  width: 40px;
  height: 40px;
  background: rgba(0,0,0,.35);
  border-radius: 999px;
  cursor: pointer;
}
.hero-swiper__pagination {
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 2;
  color: #fff;
}
.section.section--hero.artusi-hero { position: relative; overflow: hidden; }
.artusi-hero__bg { position: absolute; inset: 0; z-index: 0; }
.artusi-hero__bg--image, .hero__slide { width:100%; height:100%; background-size:cover; background-position:center; }
.artusi-hero__bg--video .artusi-hero__video {
  position:absolute; min-width:100%; min-height:100%; width:auto; height:auto;
  top:50%; left:50%; transform:translate(-50%,-50%); object-fit:cover;
}
.artusi-hero__overlay { position:absolute; inset:0; background:#000; pointer-events:none; }
.section.section--hero.artusi-hero .container, .section.section--hero.artusi-hero .hgroup { position:relative; z-index:1; }
.hero__slide, .artusi-hero__bg::after {
  position: relative; /* ensure pseudo is positioned correctly */
}

.hero__slide::after, .artusi-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35); /* adjust opacity as needed */
  pointer-events: none; /* don't block clicks */
  z-index: 1; /* sits above the background image */
  mix-blend-mode: multiply;
}

/* keep slide content above the overlay if you add any */
.hero__slide > *, .artusi-hero__bg > * {
  position: relative;
  z-index: 2;
}

.hgroup__title--hero span{text-align: center;}
.hgroup__title span [class^="word"]:empty,
.hgroup__subtitle span [class^="word"]:empty {
  display: none !important;
}
/* YouTube hero video wrapper */
.hero-yt-wrap{
  position:relative;
  padding-top:56.25%; /* 16:9 */
  background-size:cover;
  background-position:center;
}
.hero-yt-iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.artusi-hero--video .artusi-hero__yt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1; /* behind content */
}

.artusi-hero--video .artusi-hero__yt iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh; /* 100 * (16/9) — makes it wide enough */
  height: 100vh;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
}
/* Make the hero a positioned container so the video fills it */
.artusi-hero { position: relative; overflow: hidden; }

/* Salient-like video wrapper */
.nectar-video-wrap{
  position:absolute; inset:0;
  overflow:hidden; pointer-events:none; /* keep hero links clickable */
  z-index:0;
}
.nectar-video-inner{ position:absolute; inset:0; }

/* Instant poster paint behind iframe/video */
.nectar-video-poster{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
}

/* “cover” behavior for iframe and <video> (16:9) */
.nectar-video-iframe,
.nectar-video-file{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  /* Cover logic: whichever is bigger wins */
  width:177.78vh;      /* 100 * (16/9) — wide enough to cover on tall screens */
  height:100vh;
  min-width:100vw;     /* ensure edge-to-edge horizontally */
  min-height:56.25vw;  /* 100 * (9/16) — ensure vertical coverage on wide screens */
}

/* Overlay tint like Salient */
.nectar-video-color-overlay{
  position:absolute; inset:0; background:#000; z-index:1; pointer-events:none;
}

/* Keep foreground content above */
.artusi-hero .container,
.artusi-hero .hgroup { position:relative; z-index:2; }