/* ==========================================================================
   Page Hero — base
   ========================================================================== */

.iride-page-hero {
   position: relative;
}

.iride-page-hero__bg {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 1;
   pointer-events: none;
   overflow: hidden;
   container-type: size;
}

.iride-page-hero__bg::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #0b3f6d;
   opacity: 0.8;
   z-index: 2;
}

.iride-page-hero__bg img,
.iride-page-hero__bg video {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   z-index: 1;
}

.iride-page-hero__bg-iframe {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 1;
   translate: -50% -50%;
   aspect-ratio: 16 / 9;
   width: max(100cqw, calc(100cqh * 16 / 9));
   height: auto;
   max-width: none;
   border: 0;
   pointer-events: none;
}

.iride-page-hero__bg video {
}

.iride-page-hero__wrapper {
   position: relative;
   z-index: 2;
   padding-top: 50px!important;
   padding-bottom: 50px!important;
   color: #fff;
   overflow: visible;

   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
}

.iride-page-hero h1 {
   color: #fff;
   margin-bottom: 0;
   font-size: 2.5em;
   line-height: 1.1;
}

.iride-page-hero__subtitle {
   font-size: 1.25em;
}

.iride-page-hero__subtitle:not(:first-child) {
   margin-top: 5px;
}

.iride-page-hero__separator {
   width: 30%;
   height: 3px;
   background-color: #2179c0;
   margin-top: 10px;
}

.iride-page-hero__text {
   max-width: 600px;
}

.iride-page-hero__text:not(:first-child) {
   margin-top: 20px;
}

.iride-page-hero__ctas {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   row-gap: 10px;
}

.iride-page-hero__ctas:not(:first-child) {
   margin-top: 20px;
}

.iride-page-hero__cta {
   font-size: 16px;
   text-align: center;
   min-width: 170px;
   max-width: 100%;
   padding: 16px 18px 15px;
   background-color: #2179c0;
   color: #fff;
   transition: all 0.2s ease-in-out;
   text-transform: uppercase;

}

.iride-page-hero__cta:hover,
.iride-page-hero__cta:focus-visible {
   filter: brightness(1.2);
   color: #fff;
}

.iride-page-hero__cta:focus-visible {
   outline: 2px solid #fff;
}

@media (max-width: 768px) {
   .iride-page-hero__wrapper {
      padding-top: 30px!important;
      padding-bottom: 30px!important;
   }

   .iride-page-hero h1 {
      font-size: 2em;
   }

   .iride-page-hero__subtitle {
      font-size: 1.125em;
   }
}

@media (max-width: 480px) {

   .iride-page-hero h1 {
      font-size: 1.8em;
   }
}

/* Stati / varianti strutturali */

.iride-page-hero:has(.iride-page-hero__bg) {
}

.iride-page-hero:has(.iride-page-hero__bg img) {
}

.iride-page-hero:has(.iride-page-hero__bg video) {
}

.iride-page-hero:has(.iride-page-hero__bg-iframe) {
}

.iride-page-hero:has(.iride-page-hero__subtitle) {
}

.iride-page-hero:has(.iride-page-hero__text) {
}

.iride-page-hero:has(.iride-page-hero__ctas) {
}

/* ==========================================================================
   Layout — standard
   ========================================================================== */

.iride-page-hero--standard {
}

.iride-page-hero--standard .iride-page-hero__bg {
}

.iride-page-hero--standard .iride-page-hero__bg img {
}

.iride-page-hero--standard .iride-page-hero__bg video {
}

.iride-page-hero--standard .iride-page-hero__bg-iframe {
}

.iride-page-hero--standard .iride-page-hero__wrapper {
}

.iride-page-hero--standard h1 {
}

.iride-page-hero--standard .iride-page-hero__subtitle {
}

.iride-page-hero--standard .iride-page-hero__text {
}

.iride-page-hero--standard .iride-page-hero__ctas {
}

.iride-page-hero--standard .iride-page-hero__cta {
}

/* ==========================================================================
   Layout — wide
   ========================================================================== */

.iride-page-hero--wide {
}

.iride-page-hero--wide .iride-page-hero__bg {
}

.iride-page-hero--wide .iride-page-hero__bg img {
}

.iride-page-hero--wide .iride-page-hero__bg video {
}

.iride-page-hero--wide .iride-page-hero__bg-iframe {
}

.iride-page-hero--wide .iride-page-hero__wrapper {
   display: block;
   text-align: left;
}

.iride-page-hero--wide h1 {
}

.iride-page-hero--wide .iride-page-hero__subtitle {
}

.iride-page-hero--wide .iride-page-hero__separator {
   display: none;
}

.iride-page-hero--wide .iride-page-hero__text {
   max-width: 900px;
}

.iride-page-hero--wide .iride-page-hero__ctas {
}

.iride-page-hero--wide .iride-page-hero__cta {
}
