/*
 * RolnRock theme: CSS used only on review pages (/review/, /write-review/, /reviews/).
 * Moved unchanged from style.css in Q1 stage 7 (2026-10-16). Loaded after style.css on those pages only (rolnrock_scripts() in functions.php).
 */

/* ---- Community reviews ---- */
.rr-review-wrap{margin-top:32px; margin-bottom:48px; max-width:900px;}
.rr-reviews-hub{margin-top:28px; margin-bottom:48px;}
.rr-hub-tabs{display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px; border-bottom:1px solid var(--line); margin-bottom:14px;}
.rr-hub-tabs > a:not(.rr-write-btn){padding:8px 0 12px; border-bottom:2px solid transparent; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim) !important; text-decoration:none !important;}
.rr-hub-tabs > a.is-on{color:var(--text) !important; border-bottom-color:var(--red);}
.rr-hub-tabs-gap{flex:1;}
.rr-hub-filter{padding:0; margin-bottom:8px;}
.rr-hub-filter a{text-decoration:none !important;}
.rr-review-article{padding:24px !important;}
.rr-review-head{display:flex; gap:20px; align-items:flex-start; margin-bottom:20px; flex-wrap:wrap;}
.rr-review-cover{width:160px; height:160px; object-fit:cover; border-radius:8px; border:1px solid var(--line); flex:0 0 auto;}
.rr-review-headtext{flex:1; min-width:220px;}
.rr-review-headtext .rr-review-subject{font-size:16px; margin-bottom:8px;}
.rr-review-by{margin:6px 0 0; font-size:13px; color:var(--text-dim); display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
.rr-review-by a{display:inline-flex; align-items:center; gap:6px; color:var(--text) !important; text-decoration:none !important; font-weight:600;}
.rr-review-by img{width:28px !important; height:28px !important; border-radius:50%;}
.rr-review-text{font-size:16px; line-height:1.7; color:var(--text);}
.rr-review-text blockquote{border-left:3px solid var(--red); margin:12px 0; padding:4px 0 4px 14px; color:var(--chrome-dim);}
.rr-review-foot.rr-post-foot{display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px; padding-top:12px; border-top:1px solid var(--line);}
.rr-review-editlink{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim) !important;}
.rr-review-comments{margin-top:28px;}

/* Form */
.rr-review-form{padding:24px !important;}
.rr-rf-label{margin:22px 0 10px; font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--red);}
.rr-rf-label:first-of-type{margin-top:0;}
.rr-rf-label span{color:var(--text-dim); text-transform:none; letter-spacing:0;}
.rr-rf-label span[hidden]{display:none;}
.rr-rf-cats{display:flex; flex-wrap:wrap; gap:8px;}
.rr-rf-cat{cursor:pointer;}
.rr-rf-cat input{position:absolute; opacity:0; pointer-events:none;}
.rr-rf-cat span{display:inline-block; padding:8px 16px; border:1px solid var(--line); border-radius:99px; color:var(--text-dim); font-size:14px;}
.rr-rf-cat.is-on span,.rr-rf-cat input:focus-visible + span{border-color:var(--red); color:#fff; background:var(--red);}
.rr-rf-picker{position:relative;}
.rr-rf-q{width:100%; height:46px; box-sizing:border-box; padding:0 14px; background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:6px; font-size:15px;}
.rr-rf-q[hidden]{display:none;}
.rr-rf-res{position:absolute; left:0; right:0; top:calc(100% + 4px); z-index:40; background:var(--bg-raised); border:1px solid var(--line); border-radius:8px; max-height:360px; overflow-y:auto; box-shadow:0 12px 30px rgba(0,0,0,.45);}
.rr-rf-res[hidden]{display:none;}
.rr-rf-chosen{display:flex; align-items:center; gap:12px; padding:8px 10px; border:1px solid var(--red); border-radius:6px; background:var(--bg);}
.rr-rf-chosen[hidden]{display:none;}
.rr-rf-chosen img{width:48px; height:48px; object-fit:cover; border-radius:4px;}
.rr-rf-chosen img[hidden]{display:none;}
.rr-rf-chosen-t{flex:1; min-width:0; color:var(--text);}
.rr-rf-chosen-t em{display:block; font-style:normal; color:var(--text-dim); font-size:13px;}
.rr-rf-unpick{background:none; border:0; color:var(--text-dim); font-size:24px; cursor:pointer; padding:0 6px;}
.rr-rf-row{display:flex; flex-wrap:wrap; gap:12px 18px; margin:12px 0;}
.rr-rf-row label{display:flex; flex-direction:column; gap:6px; flex:1 1 220px; font-size:13px; color:var(--text-dim);}
.rr-rf-row input[type=text],.rr-rf-row input[type=date],.rr-rf-row select{height:44px; box-sizing:border-box; padding:0 12px; background:var(--bg); color:var(--text); border:1px solid var(--line); border-radius:6px; font-size:15px;}
.rr-rf-hint{display:block; font-size:12px; color:var(--text-dim); margin:4px 0 0; flex-basis:100%;}
.rr-formrate{display:inline-flex; align-items:center; gap:12px;}
.rr-formrate-stars{cursor:pointer; padding:4px 0; outline:none;}
.rr-formrate-stars:focus-visible{box-shadow:0 0 0 2px var(--red); border-radius:3px;}
.rr-formrate .rr-stars{font-size:32px; letter-spacing:5px;}
.rr-formrate-n{font-size:22px; color:var(--text); min-width:30px;}
.rr-review-form .wp-editor-wrap{margin-top:8px;}
.rr-review-form textarea.wp-editor-area{background:var(--bg) !important; color:var(--text) !important; border:1px solid var(--line) !important; font-size:15px; line-height:1.6; padding:12px !important; min-height:240px;}
.rr-review-form .quicktags-toolbar{background:var(--bg-raised) !important; border:1px solid var(--line) !important; border-bottom:0 !important;}
.rr-review-form .quicktags-toolbar input{background:var(--bg) !important; color:var(--text) !important; border:1px solid var(--line) !important; border-radius:3px; padding:2px 10px !important; min-height:28px;}
.rr-rf-files{color:var(--text-dim); font-size:14px;}
.rr-rf-notice{margin:22px 0 10px; padding:10px 14px; border:1px solid var(--line); border-radius:6px; font-size:13px; color:var(--chrome-dim);}
.rr-rf-msg{min-height:0; margin:0 0 10px; font-size:14px;}
.rr-rf-msg.is-bad{color:var(--red); font-weight:600;}
@media (max-width:600px) {
	.rr-review-article,.rr-review-form{padding:16px !important;}
	.rr-review-cover{width:110px; height:110px;}
	.rr-formrate .rr-stars{font-size:30px; letter-spacing:4px;}
}
.rr-rf-step > .rr-rf-label:first-child{margin-top:24px;}
.rr-rf-label [data-word]{color:inherit; text-transform:inherit; letter-spacing:inherit;}
.rr-reviews-hub .card-grid{margin-top:16px;}
.rr-reviews-section .rr-reviews-hub{margin-top:0;}

/* ===== Community review tiles (2026-10-06) ===== */
.rr-ctile-grid{margin-top:16px;}

/* Review public agreement checkbox (2026-10-06) */
.rr-rf-agree{display:flex; gap:10px; align-items:flex-start; margin:4px 0 14px; font-size:15px; line-height:1.5; color:var(--text); cursor:pointer;}
.rr-rf-agree input{width:20px; height:20px; margin-top:2px; flex:0 0 20px; accent-color:var(--red);}
.rr-rf-agree a{color:var(--cyan);}

/* X12 (2026-10-15): share buttons on member reviews (under the like button) and album pages; Related on member reviews */
.rr-review-related{margin-top:28px}

/* F10 (2026-10-15): member reviews. Own review marker, album score box on reviews, "See all" link, album reviews page */
.card.rr-review-albumbox{flex-direction:row; flex-wrap:wrap; align-items:center; gap:18px; padding:20px 24px; margin-top:24px}
.rr-review-albumbox-img{flex:0 0 72px; width:72px; height:72px; border-radius:6px; overflow:hidden; display:block; background:var(--line)}
.rr-review-albumbox-img img{width:100%; height:100%; object-fit:cover; display:block}
.rr-review-albumbox-text{flex:1; min-width:200px}
.rr-review-albumbox-text .rr-rating-label a{color:inherit}
.rr-review-albumbox-text .rr-rating-score{margin-bottom:6px}
@media (max-width:600px) {
	.card.rr-review-albumbox{padding:16px}
}
