.review-text-section { scroll-margin-top:100px; --rv-green:#3f624a; --rv-line:#dce5d7; }
.review-text-section [hidden] { display:none !important; }
.rv-toolbar { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:22px; border-bottom:1px solid var(--rv-line); padding:0 3px 19px; }
.rv-toolbar > span { font-size:13px; color:#7a8674; }
.rv-toolbar b { font-weight:600; color:#456a4e; margin-left:8px; }
.rv-toolbar a { color:#52785a; font-size:12px; text-decoration:none; }
.rv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rv-card { display:flex; flex-direction:column; background:#fafbf6; border:1px solid var(--rv-line); border-radius:20px; padding:26px; min-width:0; transition:border-color .2s,box-shadow .2s,transform .2s; }
.rv-card:nth-child(3n+2) { background:#f9f8f2; }
.rv-card-head { display:flex; align-items:center; gap:11px; padding-bottom:24px; }
.rv-mark { width:36px; height:36px; flex-shrink:0; border-radius:11px; background:#e6eee0; display:grid; place-items:center; color:#4f7757; font-size:18px; font-weight:900; }
.rv-card-head > div { min-width:0; }
.rv-card-head h3 { font-family:'Noto Sans KR',sans-serif; font-size:14px; font-weight:700; color:#334d39; margin:0; overflow-wrap:anywhere; line-height:1.4; }
.rv-card-head > div > span { font-size:10px; color:#88907f; }
.rv-topic { margin-left:auto; flex-shrink:0; font-size:10px; color:#77906f; border:1px solid #dde6d5; border-radius:100px; padding:4px 8px; }
.rv-card blockquote { padding:0; margin:0 0 25px; border:0; color:#52634c; font-size:14px; line-height:1.95; font-style:normal; white-space:pre-wrap; overflow-wrap:anywhere; word-break:normal; }
.rv-card blockquote::before { content:'“'; display:block; height:26px; font-family:Georgia,serif; font-size:41px; color:#b5c6ac; line-height:1; margin-bottom:12px; }
.rv-card footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; padding:17px 0 0; border-top:1px solid #e0e7d9; margin-top:auto; color:#8a937f; font-size:10px; }
.rv-card footer a { color:#6d8565; text-decoration:none; }
.rv-card footer a span { padding-left:5px; }
.rv-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:32px; }
.rv-pages { display:flex; gap:7px; }
.rv-pagination button { display:grid; place-items:center; width:38px; height:38px; border:1px solid #dce5d7; border-radius:10px; background:#fffef9; color:#6b8062; font:inherit; font-size:12px; cursor:pointer; }
.rv-pagination button[aria-current="page"] { background:#3d6047; color:#fff; border-color:#3d6047; }
.rv-pagination button:disabled { opacity:.35; cursor:default; }
.rv-pagination button:focus-visible,.rv-card a:focus-visible,.rv-toolbar a:focus-visible { outline:3px solid #87a77d; outline-offset:3px; }
.rv-status { margin-top:14px; text-align:center; font-size:11px; color:#8a9580; }
.rv-status:empty { display:none; }
@media(hover:hover) { .rv-card:hover { transform:translateY(-3px); border-color:#91a987; box-shadow:0 12px 30px #2945210a; } .rv-pagination button:not(:disabled):hover { border-color:#7e9c72; } }
@media(max-width:1100px) { .rv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .rv-grid { grid-template-columns:1fr; gap:15px; } .rv-card { padding:24px; border-radius:17px; } .rv-toolbar { gap:10px; padding-bottom:16px; } .rv-toolbar > span { font-size:11px; } .rv-toolbar a { font-size:10px; } .rv-card blockquote { font-size:13px; line-height:1.95; } .rv-card-head { padding-bottom:20px; } .rv-pagination { gap:14px; } }
@media(prefers-reduced-motion:reduce) { .rv-card { transition:none; } }
