/* ==========================================================
   PROJECT DETAILS MODAL
   ========================================================== */

.pr-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 17, 22, 0.82);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.35s ease,
    visibility 0.35s ease;
}
.pr-modal-overlay.active {
  opacity: 1;
  visibility: visible;
}

.pr-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  width: min(1100px, 152vw);
  height: min(640px, 88vh);
  background: #444444;
  border-radius: 10px;
  z-index: 999;
  display: flex;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0.35s ease;
}
.pr-modal.active {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

.pr-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 5;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: none;
  background: rgba(27, 32, 43, 0.7);
  color: #f3f1ec;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}
.pr-modal-close:hover {
  background: #f15a2b;
  color: #1b0e08;
}

.pr-modal-inner {
  display: flex;
  width: 100%;
  height: 100%;
}

/* -------- slider side -------- */

.pr-modal-slider {
  position: relative;
  width: 58%;
  height: 100%;
  flex-shrink: 0;
  background: #000;
}

.pr-modal-swiper,
.pr-modal-swiper .swiper-wrapper,
.pr-modal-swiper .swiper-slide {
  width: 100%;
  height: 100%;
}

.pr-modal-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pr-modal-swiper-counter {
  position: absolute;
  left: 24px;
  bottom: 22px;
  z-index: 4;
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: rgba(243, 241, 236, 0.85);
}

.pr-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(27, 32, 43, 0.55);
  color: #f3f1ec;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.pr-modal-nav:hover {
  background: #f15a2b;
}
.pr-modal-prev {
  left: 18px;
}
.pr-modal-next {
  right: 18px;
}

/* -------- details side -------- */

.pr-modal-details {
  width: 42%;
  height: 100%;
  overflow-y: auto;
  padding: 40px 30px 30px;
  color: #f3f1ec;
}

.pr-modal-details .pr-det-title h3 {
  font-family: "Big Shoulders Display", sans-serif;
  font-weight: 800;
  font-size: 28px;
  margin: 0 0 12px 0;
  transition: opacity 0.15s ease;
}

.pr-modal-details .pr-det-title_opt {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}
.pr-modal-details .pr-det-title_opt a {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #f15a2b;
  text-decoration: none;
}
.pr-modal-details .pr-det-title_opt span {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  color: #8c93a0;
}

.pr-modal-details #pr-det-dyn-desc {
  font-size: 14.5px;
  line-height: 1.7;
  color: #8c93a0;
  margin-bottom: 16px;
  transition: opacity 0.15s ease;
  text-align: justify;
}

.pr-modal-details .pr-list ul {
  list-style: none;
  margin: 0 0 28px 0;
  padding: 0;
  border-top: 1px solid rgba(220, 165, 28, 0.1);
}
.pr-modal-details .pr-list li {
  display: flex;
  justify-content: space-between;
  padding: 11px 0;
  font-size: 12px;
  border-bottom: 1px solid rgba(230, 166, 7, 0.1);
}
.pr-modal-details .pr-list li > span:first-child {
  color: #8c93a0;
}
.pr-modal-details .pr-list li [data-field] {
  color: #f3f1ec;
  font-weight: 500;
}

.pr-modal-details .pr-subtitle {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f15a2b;
  margin-bottom: 12px;
}
.pr-modal-details .accordion-inner p {
  font-size: 13.5px;
  line-height: 1.7;
  color: #8c93a0;
  margin: 0;
}

/* -------- responsive -------- */

@media (max-width: 820px) {
  .pr-modal {
    flex-direction: column;
    width: 94vw;
    height: 90vh;
  }
  .pr-modal-inner {
    flex-direction: column;
  }
  .pr-modal-slider {
    width: 100%;
    height: 42%;
  }
  .pr-modal-details {
    width: 100%;
    height: 58%;
    padding: 30px 26px;
  }
}

body.pr-modal-open {
  overflow: hidden;
}
