.mp-single-header {
   margin: 0;
}

.mp-single-header__media {
   margin: 0;
}

.mp-single-header__media,
.mp-single-header__bar {
   width: 100vw;
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
}

.mp-single-gallery {
   position: relative;
   border-radius: 0;
}

.mp-single-gallery__top {
   overflow: hidden;
   border-radius: 0;
   height: 320px;
}

.mp-single-gallery__top .swiper-wrapper,
.mp-single-gallery__top .swiper-slide {
   height: 100%;
}

.mp-single-gallery__top .swiper-slide {
   display: block;
}

.mp-single-gallery__item {
   appearance: none;
   border: 0;
   padding: 0;
   background: transparent;
   cursor: pointer;
   position: relative;
   width: 100%;
   height: 100%;
}

.mp-single-gallery__item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}

.mp-single-gallery__top-nav {
   position: absolute;
   top: 50%;
   width: 46px;
   height: 46px;
   margin-top: -23px;
   border-radius: 999px;
   border: 1px solid rgba(0, 0, 0, 0.12);
   background: rgba(255, 255, 255, 0.88);
   z-index: 2;
   cursor: pointer;
}

.mp-single-gallery__top-nav--prev {
   left: 12px;
}

.mp-single-gallery__top-nav--next {
   right: 12px;
}

.mp-single-gallery__top-nav::before {
   content: '';
   display: block;
   width: 10px;
   height: 10px;
   border-right: 2px solid rgba(17, 24, 39, 0.95);
   border-bottom: 2px solid rgba(17, 24, 39, 0.95);
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%) rotate(135deg);
}

.mp-single-gallery__top-nav--next::before {
   transform: translate(-50%, -50%) rotate(-45deg);
}

.mp-single-gallery__cta {
   position: absolute;
   right: 12px;
   bottom: 12px;
   appearance: none;
   border: 1px solid rgba(0, 0, 0, 0.14);
   background: rgba(255, 255, 255, 0.92);
   color: #111827;
   border-radius: 10px;
   padding: 8px 10px;
   font-size: 13px;
   line-height: 1;
   cursor: pointer;
   z-index: 2;
}

.mp-single-gallery__cta:hover {
   background: #fff;
}

.mp-single-gallery__modal[hidden] {
   display: none;
}

.mp-single-gallery__modal {
   position: fixed;
   inset: 0;
   z-index: 100000;
}

.mp-single-gallery__modal-overlay {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, 0.76);
}

.mp-single-gallery__modal-content {
   position: absolute;
   inset: 0;
   display: grid;
   align-items: center;
   justify-items: center;
   padding: 18px;
}

.mp-single-gallery__close {
   position: absolute;
   top: 14px;
   right: 14px;
   width: 42px;
   height: 42px;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.28);
   background: rgba(0, 0, 0, 0.45);
   color: #fff;
   font-size: 26px;
   line-height: 1;
   cursor: pointer;
   z-index: 3;
}

.mp-single-gallery__swiper {
   width: min(1100px, 100%);
   height: min(680px, 80vh);
   position: relative;
   border-radius: 16px;
   overflow: hidden;
   background: #0b1220;
}

.mp-single-gallery__swiper .swiper-slide {
   display: grid;
   align-items: center;
   justify-items: center;
   background: #0b1220;
}

.mp-single-gallery__swiper .swiper-slide img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   display: block;
}

.mp-single-gallery__nav {
   position: absolute;
   top: 50%;
   width: 44px;
   height: 44px;
   margin-top: -22px;
   border-radius: 999px;
   border: 1px solid rgba(255, 255, 255, 0.22);
   background: rgba(0, 0, 0, 0.35);
   z-index: 3;
   cursor: pointer;
}

.mp-single-gallery__nav--prev {
   left: 12px;
}

.mp-single-gallery__nav--next {
   right: 12px;
}

.mp-single-gallery__nav::before {
   content: '';
   display: block;
   width: 10px;
   height: 10px;
   border-right: 2px solid rgba(255, 255, 255, 0.9);
   border-bottom: 2px solid rgba(255, 255, 255, 0.9);
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%) rotate(135deg);
}

.mp-single-gallery__nav--next::before {
   transform: translate(-50%, -50%) rotate(-45deg);
}

.mp-single-gallery__pagination {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 14px;
   z-index: 3;
   display: flex;
   justify-content: center;
   gap: 6px;
}

.mp-single-gallery__pagination .swiper-pagination-bullet {
   width: 7px;
   height: 7px;
   opacity: 0.5;
   background: #fff;
}

.mp-single-gallery__pagination .swiper-pagination-bullet-active {
   opacity: 1;
}

.mp-single-header__bar {
   padding: 16px 0 0;
   overflow: visible;
}

.mp-single-header__inner {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 16px;
   overflow: visible;
}

.mp-single-header__title .directorist-listing-details__listing-title {
   margin: 0;
   font-size: 24px;
   line-height: 1.25;
}

.mp-single-header__title .directorist-listing-details__tagline {
   margin: 6px 0 0;
}

.mp-single-header__actions {
   display: flex;
   align-items: center;
   gap: 10px;
   flex: none;
   overflow: visible;
}

.mp-single-header__actions .directorist-social-share {
   position: relative;
}

.mp-single-header__actions .directorist-social-share-links {
   list-style: none;
   margin: 8px 0 0;
   padding: 8px;
   position: absolute;
   top: 100%;
   right: 0;
   min-width: 180px;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, 0.12);
   border-radius: 10px;
   box-shadow: 0 14px 35px rgba(0, 0, 0, 0.18);
   z-index: 10;
   display: none;
}

.mp-single-header__actions .directorist-social-share:hover .directorist-social-share-links,
.mp-single-header__actions .directorist-social-share:focus-within .directorist-social-share-links {
   display: block;
}

.mp-single-header__actions .directorist-social-share-links a {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 8px 10px;
   border-radius: 8px;
   color: #111827;
   text-decoration: none;
   font-size: 13px;
   line-height: 1.2;
}

.mp-single-header__actions .directorist-social-share-links a:hover {
   background: rgba(17, 24, 39, 0.06);
}

@media (max-width: 1024px) {
   .mp-single-gallery__top {
      height: 260px;
   }
   .mp-single-gallery__item {
      min-height: 0;
   }
}

@media (max-width: 640px) {
   .mp-single-gallery__top {
      height: 240px;
   }
   .mp-single-gallery__item {
      min-height: 0;
   }
   .mp-single-header__inner {
      flex-direction: column;
      align-items: stretch;
   }
   .mp-single-header__actions {
      justify-content: flex-start;
      flex-wrap: wrap;
   }
}
