.wedding-wrapper {
   position: relative;
   color: #fff;
   padding: 100px 0;
   margin-bottom: -80px;
}

.wedding-wrapper::before {
   content: '';
   position: absolute;
   left: 50%;
   top: 0;
   width: 100vw;
   height: 100%;
   transform: translateX(-50%);
   background: linear-gradient(180deg, #F55475 0%, #DFC2FF 100%);
   z-index: -1;
   pointer-events: none;
}

.wedding-wrapper img {
   max-width: 100%;
   height: auto;
}

.wedding-fly {
   position: absolute;
   left: 0;
   top: 50px;
   width: 100%;
   text-align: center;
   pointer-events: none;
}

.wedding-container {
   max-width: 990px;
   margin-left: auto;
   margin-right: auto;
}

.wedding-title {
   font-size: 60px;
   line-height: 1.2;
   text-transform: uppercase;
   margin-bottom: 50px;
}

.wedding-showcase {
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
   margin-bottom: 50px;
}

.wedding-text {
   font-size: 24px;
   line-height: 1.4;
   margin-bottom: 50px;
}

.wedding-fond-title {
   font-size: 30px;
   font-weight: 500;
   line-height: 1.2;
   padding: 20px;
   background-color: rgba(255, 255, 255, 0.2);
   margin-bottom: 50px;
   border-radius: 20px;
   text-align: center;
}

.wedding-showcase-slider {
   margin-bottom: 50px;
   position: relative;
}

.wedding-showcase-slider .wedding-showcase {
   margin-bottom: 0;
}

.splide--fade .splide__slide {
   opacity: 0;
   z-index: 0;
   pointer-events: none;
}

.splide--fade .splide__slide.is-active {
   opacity: 1;
   z-index: 1;
}

.splide--fade .splide__track {
   overflow: visible;
}

.wedding-showcase-slider .splide__arrow {
   fill: #fff;
   background-color: transparent;
}

.wedding-showcase-slider .splide__arrow--next {
   right: -60px;
}

.wedding-showcase-slider .splide__arrow--prev {
   left: -60px;
}

.wedding-tabs {
   box-shadow: 0 20px 100px rgba(0, 0, 0, 0.25);
   margin-bottom: 50px;
   display: flex;
   border-radius: 20px;
   overflow: hidden;
}

.wedding-tabs__item {
   flex-grow: 1;
   flex-basis: 0;
   font-size: 30px;
   line-height: 1.2;
   padding: 20px;
   cursor: pointer;
   text-align: center;
   border-radius: 20px;
}

.wedding-tabs__item.disabled {
   opacity: .5;
   cursor: not-allowed;
}

.wedding-tabs__item.active {
   background-color: #fff;
   color: #000;
}

.wedding-subtitle {
   font-size: 40px;
   line-height: 1.2;
   margin-bottom: 50px;
   border-radius: 20px;
   text-align: center;
}

.wedding-steps {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px 45px;
   margin-bottom: 50px;
}

.wedding-steps__item {
   display: flex;
   align-items: center;
   flex-direction: column;
   background-color: rgba(255, 255, 255, 0.2);
   box-shadow: 0 20px 100px rgba(0, 0, 0, 0.25);
   padding: 30px;
   gap: 20px;
   border-radius: 20px;
}

.happy-element__text {
   text-align: center;
   font-size: 24px;
   line-height: 1.4;
}

.wedding-dashed-button {
   font-size: 30px;
   line-height: 1.2;
   color: #fff;
   text-decoration: none;
   padding: 30px;
   border: 3px dashed #fff;
   border-radius: 20px;
   width: 100%;
   max-width: 550px;
   display: flex;
   justify-content: center;
   align-items: center;
   text-align: center;
   margin-left: auto;
   margin-right: auto;
}

.wedding-table {
   width: 100%;
}

.wedding-table th {
   text-align: center;
   padding: 10px;
}

.wedding-table th:first-child {
   width: 50px;
}

.wedding-table td {
   text-align: center;
   padding: 10px;
   border-top: 1px solid rgba(255,255,255, .1);
}

@media (max-width: 1023px) {
   .wedding-wrapper {
      padding: 40px 0;
   }

   .wedding-title {
      font-size: 30px;
   }

   .wedding-subtitle {
      font-size: 24px;
   }

   .wedding-text {
      font-size: 20px;
   }

   .wedding-fond-title {
      padding: 14px;
   }

   .wedding-tabs {
      flex-direction: column;
   }

   .wedding-tabs__item {
      font-size: 20px;
      padding: 16px;
   }

   .wedding-steps {
      grid-template-columns: repeat(1, 1fr);
   }

   .wedding-dashed-button {
      font-size: 20px;
      padding: 20px;
   }
}

@media (max-width: 499px) {
   .wedding-wrapper {
      margin-bottom: -15px;
   }
}