@charset "utf-8";
/* ===== 플레이바둑 후기 작성 (pixel-perfect to Figma node 320:1977) ===== */
/* All scoped under .pb-rvwrite. Page title styled within .pb-page wrapper. */

/* page title / breadcrumb (theme-rendered) to match Figma */
.pb-page:has(.pb-rvwrite) .pb-breadcrumb{ font-size:14px; color:#141d2f; font-weight:700; margin-bottom:18px; }
.pb-page:has(.pb-rvwrite) .pb-breadcrumb .cur{ color:#141d2f; font-weight:700; }
.pb-page:has(.pb-rvwrite) .pb-page-title{ font-family:"Pretendard",sans-serif; font-size:36px; font-weight:700; color:#111; line-height:normal; margin-bottom:10px; }

.pb-rvwrite{ font-family:"Pretendard",sans-serif; }
.pb-rvwrite .rvw-lead{ color:#6b7280; font-size:18px; font-weight:400; margin:0 0 34px; }

.pb-rvwrite .rvw-grid{ display:grid; grid-template-columns:820px 340px; gap:20px; align-items:start; }

/* ---- form card ---- */
.pb-rvwrite .rvw-card{ background:#fff; border:1px solid #e1e7f0; border-radius:22px; padding:50px; }
.pb-rvwrite .rvw-card__head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:24px; }
.pb-rvwrite .rvw-card__head h3{ font-size:26px; font-weight:700; color:#111; margin:0; line-height:normal; }
.pb-rvwrite .rvw-req{ color:#ef4444; font-size:15px; font-weight:500; }

.pb-rvwrite .rvw-row2{ display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:24px; }
.pb-rvwrite .rvw-field{ display:flex; flex-direction:column; }
.pb-rvwrite .rvw-lb{ font-size:16px; font-weight:600; color:#222; margin-bottom:12px; line-height:normal; }

.pb-rvwrite .rvw-field input[type=text],
.pb-rvwrite .rvw-field textarea{
  width:100%; box-sizing:border-box; background:#fff; border:1px solid #d9dee8; border-radius:10px;
  font-family:inherit; font-size:15px; color:#111; outline:none;
}
.pb-rvwrite .rvw-field input[type=text]{ height:56px; padding:0 18px; }
.pb-rvwrite .rvw-field input::placeholder,
.pb-rvwrite .rvw-field textarea::placeholder{ color:#9aa3b2; font-weight:400; }
.pb-rvwrite .rvw-field input:focus,
.pb-rvwrite .rvw-field textarea:focus{ border-color:#2d72e2; }

/* single-column rows (title / body) */
.pb-rvwrite > .rvw-grid .rvw-card > form > .rvw-field{ margin-bottom:24px; }
.pb-rvwrite .rvw-field textarea{ height:150px; padding:18px; resize:vertical; line-height:1.5; }

/* ---- rating ---- */
.pb-rvwrite .rvw-rate{ display:flex; align-items:center; gap:18px; height:64px; box-sizing:border-box;
  background:#f8fafc; border:1px solid #d9dee8; border-radius:12px; padding:0 18px; }
.pb-rvwrite .rvw-stars{ display:inline-flex; gap:5px; }
.pb-rvwrite .rvw-st{ width:26px; height:25px; cursor:pointer; display:inline-block; position:relative; }
.pb-rvwrite .rvw-st img{ width:100%; height:100%; display:block; }
.pb-rvwrite .rvw-st .s-on{ display:none; }
.pb-rvwrite .rvw-st.on .s-on{ display:block; }
.pb-rvwrite .rvw-st.on .s-off{ display:none; }
.pb-rvwrite .rvw-rate__hint{ font-size:15px; color:#7b8494; font-weight:400; }

/* ---- chips ---- */
.pb-rvwrite .rvw-chips{ display:flex; gap:11px; }
.pb-rvwrite .rvw-chip{ width:74px; height:40px; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #d9dee8; border-radius:20px; background:#fff; color:#4b5563; font-size:14px; font-weight:600; cursor:pointer; }
.pb-rvwrite .rvw-chip.on{ background:#eaf2ff; border-color:#2d72e2; color:#2d72e2; }

/* ---- bottom: upload + agree ---- */
.pb-rvwrite .rvw-bottom{ display:flex; align-items:center; gap:40px; margin:24px 0; }
.pb-rvwrite .rvw-upload{ width:360px; height:104px; box-sizing:border-box; flex-shrink:0;
  background:#f8fafc; border:1px solid #d9dee8; border-radius:12px; display:flex; align-items:center; gap:14px; padding:0 28px; cursor:pointer; }
.pb-rvwrite .rvw-upload__plus{ font-size:28px; line-height:1; color:#2d72e2; font-weight:400; }
.pb-rvwrite .rvw-upload__tx{ display:flex; flex-direction:column; gap:5px; }
.pb-rvwrite .rvw-upload__tx b{ font-size:16px; font-weight:600; color:#111; }
.pb-rvwrite .rvw-upload__tx span{ font-size:14px; font-weight:400; color:#7b8494; }
.pb-rvwrite .rvw-agree{ display:flex; align-items:center; gap:12px; cursor:pointer; }
.pb-rvwrite .rvw-agree input[type=checkbox]{ width:22px; height:22px; box-sizing:border-box; margin:0; appearance:none; -webkit-appearance:none;
  border:1px solid #aeb7c6; border-radius:4px; background:#fff; cursor:pointer; position:relative; flex-shrink:0; }
.pb-rvwrite .rvw-agree input[type=checkbox]:checked{ background:#2d72e2; border-color:#2d72e2; }
.pb-rvwrite .rvw-agree input[type=checkbox]:checked::after{ content:""; position:absolute; left:7px; top:3px; width:5px; height:10px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.pb-rvwrite .rvw-agree span{ font-size:15px; font-weight:400; color:#4b5563; }

/* ---- attached photo thumbnails ---- */
.pb-rvwrite .rvw-thumbs{ display:flex; flex-wrap:wrap; gap:12px; margin:-8px 0 24px; }
.pb-rvwrite .rvw-thumbs:empty{ margin:0; }
.pb-rvwrite .rvw-thumb{ position:relative; width:96px; height:96px; border-radius:12px; overflow:hidden; border:1px solid #d9dee8; background:#f8fafc; }
.pb-rvwrite .rvw-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.pb-rvwrite .rvw-thumb__x{ position:absolute; top:4px; right:4px; width:22px; height:22px; border:0; border-radius:50%;
  background:rgba(17,24,39,.7); color:#fff; font-size:16px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; }
.pb-rvwrite .rvw-thumb__x:hover{ background:rgba(17,24,39,.9); }

/* ---- actions ---- */
.pb-rvwrite .rvw-actions{ display:flex; gap:12px; justify-content:flex-end; }
.pb-rvwrite .rvw-btn{ display:inline-flex; align-items:center; justify-content:center; height:54px; border-radius:27px;
  font-size:16px; font-weight:600; font-family:inherit; cursor:pointer; box-sizing:border-box; }
.pb-rvwrite .rvw-btn--cancel{ width:150px; background:#fff; border:1px solid #d9dee8; color:#333; }
.pb-rvwrite .rvw-btn--submit{ width:198px; background:#2d72e2; border:0; color:#fff; }
.pb-rvwrite .rvw-btn--submit:hover{ background:#2461c5; }

/* ---- aside ---- */
.pb-rvwrite .rvw-aside{ display:flex; flex-direction:column; gap:20px; }
.pb-rvwrite .rvw-guide{ background:#f3f8ff; border:1px solid #d7e5fa; border-radius:22px; padding:46px 40px; }
.pb-rvwrite .rvw-guide__kicker{ font-size:15px; font-weight:700; color:#2d72e2; margin-bottom:16px; }
.pb-rvwrite .rvw-guide__title{ font-size:24px; font-weight:700; color:#111; line-height:1.25; margin:0 0 30px; }
.pb-rvwrite .rvw-steplist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:28px; }
.pb-rvwrite .rvw-steplist li{ display:flex; align-items:center; gap:24px; }
.pb-rvwrite .rvw-no{ position:relative; width:34px; height:34px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; }
.pb-rvwrite .rvw-no img{ position:absolute; inset:0; width:100%; height:100%; }
.pb-rvwrite .rvw-no b{ position:relative; color:#fff; font-size:14px; font-weight:700; }
.pb-rvwrite .rvw-no__tx{ font-size:16px; font-weight:500; color:#374151; }

.pb-rvwrite .rvw-preview{ background:#fff; border:1px solid #e1e7f0; border-radius:20px; padding:40px; }
.pb-rvwrite .rvw-preview__title{ font-size:18px; font-weight:700; color:#111; margin:0 0 16px; }
.pb-rvwrite .rvw-preview__stars{ display:flex; gap:5px; margin-bottom:18px; }
.pb-rvwrite .rvw-preview__stars img{ width:26px; height:25px; }
.pb-rvwrite .rvw-preview__quote{ font-size:18px; font-weight:700; color:#111; margin-bottom:14px; }
.pb-rvwrite .rvw-preview__note{ font-size:14px; font-weight:400; color:#6b7280; line-height:1.45; margin:0; }

/* ---- responsive ---- */
@media (max-width:1180px){
  .pb-rvwrite .rvw-grid{ grid-template-columns:1fr; min-width:0; }
  /* 1fr 트랙이 카드 min-content로 넓어져 뷰포트를 넘치지 않도록(360px 클리핑 방지) */
  .pb-rvwrite .rvw-grid > *{ min-width:0; }
  .pb-rvwrite .rvw-card{ padding:34px 24px; }
  .pb-rvwrite .rvw-upload{ width:auto; flex:1; }
}
@media (max-width:680px){
  /* 카드 내부 flex 행이 뷰포트를 넘치지 않도록 축소/줄바꿈 허용(360px 클리핑 방지) */
  .pb-rvwrite .rvw-card > form, .pb-rvwrite .rvw-field, .pb-rvwrite .rvw-preview{ min-width:0; }
  .pb-rvwrite .rvw-rate{ height:auto; flex-wrap:wrap; }
  .pb-rvwrite .rvw-chips{ flex-wrap:wrap; }
  .pb-rvwrite .rvw-row2{ grid-template-columns:1fr; gap:24px; }
  .pb-rvwrite .rvw-bottom{ flex-direction:column; align-items:stretch; gap:16px; }
  .pb-rvwrite .rvw-upload{ width:auto; }
  .pb-rvwrite .rvw-card{ padding:26px 20px; }
  .pb-rvwrite .rvw-actions{ flex-wrap:wrap; gap:10px; }
  .pb-rvwrite .rvw-actions .rvw-btn{ flex:1 1 auto; }
}
@media (max-width:680px){
  .pb-page:has(.pb-rvwrite) .pb-page-title{ font-size:26px; }
}
