/* Reviews, Happy Wall, sign-up and QR styles (HappyByNumberArt) */
.rv-intro{font-size:1.1rem;max-width:720px}
.rv-section{margin:34px 0}
.rv-section h2{color:var(--teal-deep);border-bottom:2px solid var(--teal);padding-bottom:6px;font-size:1.45rem}
.rv-empty{background:#fff7ed;border:2px dashed #b45309;border-radius:14px;padding:18px;text-align:center;font-size:1.05rem}
.rv-btn{display:inline-block;background:#e07a2e;color:#fff;font-weight:700;font-size:1.1rem;padding:14px 28px;min-height:48px;border-radius:999px;text-decoration:none;border:0;box-shadow:0 3px 0 #b45309;cursor:pointer;font-family:inherit}
.rv-btn:hover{filter:brightness(1.07);color:#fff}
.rv-board{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.rv-board li{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #ece3d6;border-radius:14px;padding:10px 14px}
.rv-board .rank{font-size:1.4rem;font-weight:700;color:var(--teal);min-width:2ch;text-align:center}
.rv-board img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex:none}
.rv-board .t{font-weight:700;color:var(--teal-deep)}
.rv-board a{text-decoration:none;color:inherit}
.rv-stars{color:#b45309;letter-spacing:.04em;white-space:nowrap}
.rv-muted{color:#555;font-size:.9rem}
.rv-book{background:#fff;border:1px solid #ece3d6;border-radius:16px;padding:16px;margin:0 0 16px}
.rv-book>h3{margin:0 0 4px;color:var(--teal-deep)}
.rv-book-head{display:flex;gap:14px;align-items:center}
.rv-book-head img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.rv-review{border-left:5px solid #f4a259;background:#fffdf9;border-radius:8px;padding:10px 14px;margin:12px 0 0}
.rv-review p{margin:4px 0}
.rv-review .txt{white-space:pre-line}
.rv-review .who{font-size:.9rem;color:#555}
.rv-label{display:inline-block;font-size:.75rem;font-weight:700;border-radius:999px;padding:2px 9px;margin-right:6px;background:#eef6f4;color:var(--teal-deep);vertical-align:middle}
.rv-label.amazon{background:#fdf1dc;color:#7a4a00}
.rv-label.etsy{background:#fde8d0;color:#9a3412}
.rv-photo{max-width:220px;width:100%;border-radius:10px;border:1px solid #ddd;margin-top:6px;display:block}
.rv-form{background:#fff7ed;border:2px solid #fde8d0;border-radius:16px;padding:18px;max-width:640px}
.rv-form label,.rv-form legend{display:block;font-weight:700;margin:16px 0 6px}
.rv-form .opt{font-weight:400;color:#555}
.rv-form input[type=text],.rv-form input[type=email],.rv-form select,.rv-form textarea{width:100%;font:inherit;font-size:16px;padding:12px;min-height:48px;border:1px solid #d8c8b4;border-radius:10px;background:#fff}
.rv-form fieldset{border:0;padding:0;margin:0}
.rv-starpick{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.rv-starpick input{position:absolute;opacity:0;width:1px;height:1px}
.rv-starpick label{font-size:2.6rem;line-height:1;margin:0;padding:4px;cursor:pointer;color:#d6cbbb;min-width:48px;min-height:48px;text-align:center}
.rv-starpick input:checked~label,.rv-starpick label:hover,.rv-starpick label:hover~label{color:#e8a317}
.rv-starpick input:focus-visible+label{outline:3px solid var(--teal);border-radius:8px}
.rv-check{display:flex;gap:10px;align-items:flex-start;font-weight:400 !important}
.rv-check input{width:24px;height:24px;flex:none;margin-top:2px;accent-color:var(--teal)}
.rv-note{font-size:.9rem;color:#5a3d00;background:#fdf1dc;border-radius:8px;padding:8px 10px}
.rv-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.rv-msg{border-radius:10px;padding:12px 14px;font-weight:700;margin:12px 0}
.rv-msg.ok{background:#eef6f4;border:2px solid var(--teal);color:var(--teal-deep)}
.rv-msg.err{background:#fdecea;border:2px solid #b42318;color:#7a1a12}
.rv-terms{font-size:.9rem;color:#444;background:#fff;border:1px solid #ece3d6;border-radius:12px;padding:10px 14px}
.rv-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.rv-wall figure{margin:0;background:#fff;border:1px solid #ece3d6;border-radius:14px;padding:8px}
.rv-wall img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.rv-wall figcaption{font-size:.9rem;margin-top:6px}
.rv-card-rating{font-size:.9rem;margin:0 0 8px}
.rv-card-rating a{color:var(--teal-deep);text-decoration:none;font-weight:600}
.rv-fav-badge{display:inline-block;background:var(--gold);color:var(--teal-deep);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 10px;border-radius:999px;margin-bottom:8px}
.rv-teachers{margin:24px 0;padding:16px;background:#f0faf8;border:2px solid var(--teal);border-radius:16px}
.rv-teachers h2{margin-top:0;color:var(--teal-deep);font-size:1.3rem}
.rv-signup{background:var(--soft);border-radius:16px;padding:18px;margin:28px auto;max-width:640px;text-align:left}
.rv-signup h2{margin:0 0 6px;color:var(--teal-deep);font-size:1.25rem;text-align:left}
.rv-signup .row{display:flex;gap:8px;flex-wrap:wrap}
.rv-signup input[type=email]{flex:1 1 220px;font:inherit;font-size:16px;padding:12px;min-height:48px;border:1px solid #c9d9d6;border-radius:10px}
.rv-signup .rv-btn{font-size:1rem;padding:12px 22px}
.site-footer .rv-signup{color:var(--ink)}
/* Home page QR, sits in the empty right-hand space of the hero on wide screens */
.hero{position:relative}
.home-qr{display:block;width:150px;margin:22px auto 0;text-align:center;text-decoration:none;color:var(--teal-deep);font-size:.85rem;font-weight:700;line-height:1.25}
.home-qr img{width:120px;height:120px;display:block;margin:0 auto 6px;background:#fff;padding:6px;border-radius:10px;border:2px solid var(--gold)}
@media (min-width:1240px){
  .home-qr{position:absolute;top:50%;right:28px;transform:translateY(-50%);margin:0}
}
@media (max-width:700px){
  .rv-board img{width:52px;height:52px}
  nav a{display:inline-block;padding:6px 0}
}
