.reviews-intro {
  min-height: 68vh;
  padding-top: clamp(7rem, 11vw, 10rem);
  background: linear-gradient(180deg, #f6f0e7 0%, #fffdf9 100%);
}

.reviews-inner {
  width: min(900px, calc(100% - 40px));
  max-width: 900px;
  min-width: 0;
}

.reviews-inner h1 {
  margin: 0.8rem 0 1.25rem;
  color: #123f3d;
  font-size: clamp(2.35rem, 6vw, 4.8rem);
  line-height: 1.18;
}

.reviews-inner h1 em {
  color: #b86b2a;
  font-style: normal;
}

.reviews-lead {
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  line-height: 1.85;
}

.review-list {
  margin-top: 3rem;
  min-width: 0;
}

.review-empty,
.review-card {
  padding: clamp(1.6rem, 4vw, 2.6rem);
  border: 1px solid rgba(18, 63, 61, 0.16);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(18, 63, 61, 0.08);
}

.review-empty strong,
.review-card h2 {
  display: block;
  color: #123f3d;
  font-size: clamp(1.25rem, 3vw, 1.65rem);
  overflow-wrap: anywhere;
}

.review-empty p,
.review-card p {
  margin-bottom: 0;
  line-height: 1.75;
  word-break: normal;
  overflow-wrap: anywhere;
}

.review-card + .review-card {
  margin-top: 1.25rem;
}

.review-meta {
  color: #6f655a;
  font-size: 0.95rem;
}

.reviews-footer {
  padding-bottom: 2rem;
}

@media (max-width: 640px) {
  .reviews-intro {
    min-height: 62vh;
    padding-top: 6.5rem;
  }

  .review-empty,
  .review-card {
    padding: 1.35rem;
    border-radius: 18px;
  }

  .review-empty strong,
  .review-card h2 {
    font-size: 1.15rem;
  }

  .reviews-inner h1 {
    font-size: 2.05rem;
    letter-spacing: -0.045em;
  }
}

/* ===== 여행후기 본문·사진 (관리실이 추가한 부분) ===== */
.review-body{margin-top:.6rem}
.review-body p{margin:0 0 .9rem;font-size:1.02rem;line-height:1.85}
.review-photos{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.review-photo-item{margin:0;display:flex;flex-direction:column;gap:5px}
.review-photo-open{display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:#e9e6dd;cursor:zoom-in;aspect-ratio:4/3}
.review-photo-open img{display:block;width:100%;height:100%;object-fit:cover}
.review-photo-open:focus-visible{outline:3px solid #164f4a;outline-offset:2px}
.review-photo-caption{font-size:.88rem;line-height:1.4;color:#6f655a}
.review-viewer{border:0;padding:0;margin:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh;background:rgba(10,14,13,.94);color:#fff}
.review-viewer::backdrop{background:rgba(0,0,0,.7)}
.review-viewer[open]{display:flex;flex-direction:column}
.review-viewer-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}
.review-viewer-btn{font:inherit;font-weight:700;padding:10px 18px;border:2px solid #fff;border-radius:10px;background:transparent;color:#fff;cursor:pointer}
.review-viewer-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 56px}
.review-viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.review-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:72px;border:0;border-radius:10px;background:rgba(255,255,255,.18);color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}
.review-viewer-nav.is-prev{left:4px}
.review-viewer-nav.is-next{right:4px}
.review-viewer-caption{margin:0;padding:12px 18px 20px;text-align:center;font-size:1.05rem;min-height:1.6em}
@media(max-width:640px){
  .review-photos{grid-template-columns:repeat(2,1fr)}
  .review-viewer-stage{padding:0 4px}
  .review-viewer-nav{width:44px;height:60px;font-size:2rem;background:rgba(0,0,0,.35)}
}
