.review-public-page{max-width:920px;margin:0 auto;padding:60px 18px}.review-public-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 14px 36px rgba(47,35,20,.08)}.review-public-card h1{margin:.2em 0 .5em}.review-stay{color:var(--muted)}.review-form{display:grid;gap:16px;margin-top:22px}.review-form label{display:grid;gap:6px;font-weight:600}.review-form input,.review-form textarea{width:100%;padding:11px;border:1px solid #cfc6b9;border-radius:8px;background:#fff;font:inherit}.review-form textarea{min-height:170px;resize:vertical}.review-form fieldset{border:1px solid var(--line);border-radius:12px;padding:14px}.rating-pick{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:8px}.rating-pick input{position:absolute;opacity:0}.rating-pick span{font-size:30px;line-height:1;color:#cfc6b9;cursor:pointer}.rating-pick label:hover span,.rating-pick label:hover~label span,.rating-pick input:checked~span{color:#d08b2e}.review-error{padding:12px 14px;border-radius:10px;background:#fff0ed;color:#8a3028;border:1px solid #f0c5be}.reviews-public{display:grid;gap:16px}.reviews-public .review-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}.reviews-public .review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.reviews-public .review-name{font-weight:800}.reviews-public .review-stars{color:#d08b2e;letter-spacing:2px;white-space:nowrap}.reviews-public .review-date{font-size:13px;color:var(--muted)}.reviews-public .review-text{margin:15px 0 0;white-space:pre-wrap}.reviews-public .review-reply{margin-top:16px;padding:14px 16px;border-left:3px solid var(--accent);background:#f4eee5;border-radius:10px}.reviews-public .review-reply strong{display:block;margin-bottom:5px}.reviews-empty{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;color:var(--muted)}

/* v1.1 */
.reviews-public{max-width:1100px;margin:0 auto;padding:40px 0 16px}.reviews-public-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:18px}.reviews-scrollbox{height:980px;max-height:980px;overflow-y:auto;padding:4px 14px 4px 4px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.55);scrollbar-width:thin;scrollbar-color:#9baa9f #eef2ef}.reviews-scrollbox::-webkit-scrollbar{width:10px}.reviews-scrollbox::-webkit-scrollbar-track{background:#eef2ef;border-radius:10px}.reviews-scrollbox::-webkit-scrollbar-thumb{background:#a6b3aa;border-radius:10px;border:2px solid #eef2ef}.reviews-scroll-list{display:grid;gap:12px}.review-item{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px}.review-person{display:flex;align-items:center;gap:10px}.review-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#edf4ef;color:#41604e;font-weight:800}.review-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.review-name{font-weight:800}.review-date{font-size:12px;color:var(--muted)}.review-text{margin-top:13px;line-height:1.65;white-space:pre-wrap}.review-reply{margin-top:14px;padding:12px 14px;border-left:3px solid #7d9887;background:#f3f7f4;border-radius:0 12px 12px 0}.review-reply-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#496252}.reviews-empty{display:flex;gap:14px;padding:22px;border:1px dashed var(--line);border-radius:18px;background:#fafcfb}.reviews-empty-icon{font-size:28px;color:#8b9c90}.reviews-empty p{margin:0;color:var(--muted)}.reviews-scroll-hint{padding:8px 4px;color:var(--muted);font-size:12px}.reviews-write-note{white-space:nowrap}@media(max-width:700px){.reviews-public-head{display:grid}.reviews-scrollbox{height:820px;max-height:820px}}

/* Mobile UI 1.2 */
.review-public-page{padding:44px 14px}
.review-public-card{padding:24px}
.review-form input,.review-form textarea,.review-form select{min-height:46px}
.rating-pick{gap:6px}
.rating-pick span{display:grid;place-items:center;width:48px;height:48px;font-size:36px}
.review-form .button{min-height:48px}
.reviews-scrollbox{height:clamp(500px,70vh,780px);max-height:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.reviews-scroll-hint{display:flex;justify-content:space-between;gap:12px;align-items:center}
@media(max-width:700px){
  .review-public-page{padding:30px 12px}
  .review-public-card{padding:18px;border-radius:16px}
  .review-public-card h1{font-size:clamp(28px,8vw,38px)}
  .review-form{gap:14px}
  .review-form textarea{min-height:150px}
  .rating-pick span{width:52px;height:52px;font-size:38px}
  .review-form .button{width:100%}
  .reviews-public{padding:28px 0 14px}
  .reviews-public-head{gap:8px}
  .reviews-scrollbox{height:clamp(480px,68vh,680px);padding:4px 8px 4px 4px;border-radius:16px}
  .reviews-scroll-list{gap:10px}
  .review-item{padding:16px}
  .review-head{align-items:flex-start}
  .review-stars{font-size:14px}
  .review-text{font-size:15px}
  .reviews-scroll-hint{font-size:11px}
}
@media(max-width:400px){
  .rating-pick{gap:2px}
  .rating-pick span{width:48px;height:48px;font-size:34px}
}
