/* Review page (?sa_rv=review): builds on the newsletter page card (page.css of the newsletter module). */
.sa-rv-page { max-width: 640px; }
.sa-rv-page .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sa-rv-head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.25rem; }
.sa-rv-head img { width: 88px; height: 88px; object-fit: cover; border-radius: 16px; background: var(--wp--preset--color--base, #F7F5F0); flex: 0 0 auto; }
.sa-rv-head h1 { font-size: clamp(1.35rem, 4.5vw, 1.75rem); margin: .2rem 0 0; }
.sa-rv-kicker { display: inline-block; background: var(--wp--preset--color--sage-soft, #E4EDE5); color: var(--wp--preset--color--accent, #2F5D45); font-size: 13px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }

.sa-rv-form { display: grid; gap: 1.1rem; }
.sa-rv-field { margin: 0; border: 0; padding: 0; min-width: 0; }
.sa-rv-field > label, .sa-rv-field legend, .sa-rv-label { display: block; font-weight: 700; color: var(--wp--preset--color--ink, #1F2328); margin-bottom: .4rem; font-size: 15px; padding: 0; }
.sa-rv-req { color: #A1452F; }
.sa-rv-opt { font-weight: 500; color: var(--wp--preset--color--muted, #5B616B); font-size: 14px; }
.sa-rv-form input[type=text], .sa-rv-form textarea { width: 100%; box-sizing: border-box; border: 1.5px solid var(--wp--preset--color--line, #E6E2D9); border-radius: 12px; padding: .75rem 1rem; font: inherit; font-size: 16px; color: var(--wp--preset--color--ink, #1F2328); background: #fff; min-height: 48px; }
.sa-rv-form textarea { min-height: 150px; resize: vertical; line-height: 1.55; }
.sa-rv-form input:focus-visible, .sa-rv-form textarea:focus-visible { outline: 3px solid var(--wp--preset--color--sage, #DCE7DD); outline-offset: 1px; border-color: var(--wp--preset--color--accent, #2F5D45); }
.sa-rv-hint { display: block; color: var(--wp--preset--color--muted, #5B616B); font-size: 13px; margin-top: .35rem; }
.sa-rv-error { color: #A1452F; font-size: 14px; font-weight: 600; margin: .35rem 0 0 !important; }
.sa-rv-field.has-error input[type=text], .sa-rv-field.has-error textarea { border-color: #A1452F; }
.sa-rv-alert { padding: .8rem 1rem; border-radius: 14px; background: #F8E6E1; color: #8A3524; font-weight: 600; margin: 0 !important; }
.sa-rv-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Stars: real radio buttons (keyboard: arrows), painted with :has(). */
.sa-rv-stars { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }
.sa-rv-star-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sa-rv-star { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; cursor: pointer; border-radius: 12px; color: #D8D3C8; transition: color .12s, transform .12s; }
.sa-rv-star svg { width: 38px; height: 38px; fill: currentColor; }
.sa-rv-star:hover { transform: scale(1.08); }
.sa-rv-star-input:focus-visible + .sa-rv-star { outline: 3px solid var(--wp--preset--color--sage, #DCE7DD); outline-offset: 1px; }
.sa-rv-stars:has(#sa-rv-r1:checked) .sa-rv-star:nth-of-type(-n+1),
.sa-rv-stars:has(#sa-rv-r2:checked) .sa-rv-star:nth-of-type(-n+2),
.sa-rv-stars:has(#sa-rv-r3:checked) .sa-rv-star:nth-of-type(-n+3),
.sa-rv-stars:has(#sa-rv-r4:checked) .sa-rv-star:nth-of-type(-n+4),
.sa-rv-stars:has(#sa-rv-r5:checked) .sa-rv-star:nth-of-type(-n+5) { color: #D9A33A; }
@media (hover: hover) {
	.sa-rv-stars:has(.sa-rv-star:hover) .sa-rv-star { color: #D8D3C8; }
	.sa-rv-stars .sa-rv-star:has(~ .sa-rv-star:hover), .sa-rv-stars .sa-rv-star:hover { color: #E5B95A !important; }
}
.sa-rv-stars-label { margin-left: .6rem; font-weight: 700; color: var(--wp--preset--color--ink, #1F2328); min-width: 6rem; }

/* Photos */
.sa-rv-file { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sa-rv-field > .sa-rv-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; min-height: 96px; padding: 1rem; border: 1.5px dashed var(--wp--preset--color--line, #D9D3C7); border-radius: 16px; background: var(--wp--preset--color--base, #F7F5F0); color: var(--wp--preset--color--accent, #2F5D45); cursor: pointer; text-align: center; }
.sa-rv-drop span { font-weight: 700; color: var(--wp--preset--color--accent, #2F5D45); }
.sa-rv-drop small { color: var(--wp--preset--color--muted, #5B616B); font-size: 13px; }
.sa-rv-file:focus-visible + .sa-rv-previews, .sa-rv-drop:hover { border-color: var(--wp--preset--color--accent, #2F5D45); }
.sa-rv-field:has(.sa-rv-file:focus-visible) .sa-rv-drop { outline: 3px solid var(--wp--preset--color--sage, #DCE7DD); }
.sa-rv-previews { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .6rem; }
.sa-rv-previews:empty { display: none; }
.sa-rv-previews figure { position: relative; margin: 0; width: 84px; height: 84px; }
.sa-rv-previews img { width: 84px; height: 84px; object-fit: cover; border-radius: 12px; display: block; }
.sa-rv-previews button { position: absolute; top: -8px; right: -8px; width: 32px; height: 32px; border-radius: 999px; border: 0; background: var(--wp--preset--color--ink, #1F2328); color: #fff; font-size: 18px; line-height: 1; cursor: pointer; }

.sa-rv-consent label { display: flex; gap: .7rem; align-items: flex-start; font-weight: 500; font-size: 14.5px; line-height: 1.5; color: var(--wp--preset--color--body, #4A5059); cursor: pointer; }
.sa-rv-consent input { width: 22px; height: 22px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--wp--preset--color--accent, #2F5D45); }
.sa-rv-submit { width: 100%; font-size: 17px; }
.sa-rv-submit[disabled] { opacity: .7; cursor: progress; }
.sa-rv-note { font-size: 13.5px; color: var(--wp--preset--color--muted, #5B616B); margin: 0 !important; text-align: center; }

/* Thank-you + next products */
.sa-rv-next { margin-top: 1.5rem; }
.sa-rv-next h2 { font-size: 1.15rem; margin: 0 0 .75rem; color: var(--wp--preset--color--ink, #1F2328); }
.sa-rv-next ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.sa-rv-next li { display: flex; align-items: center; gap: .8rem; padding: .6rem; border-radius: 16px; background: var(--wp--preset--color--base, #F7F5F0); }
.sa-rv-next img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; flex: 0 0 auto; }
.sa-rv-next li > span { flex: 1; font-weight: 700; color: var(--wp--preset--color--ink, #1F2328); line-height: 1.35; }
.sa-rv-next .sa-nl-page-btn { min-height: 44px; padding: 0 1.1rem; }
@media (min-width: 600px) { .sa-rv-submit { width: auto; justify-self: start; } .sa-rv-note { text-align: left; } }
@media (max-width: 420px) { .sa-rv-star { width: 44px; height: 44px; } .sa-rv-star svg { width: 34px; height: 34px; } .sa-rv-stars-label { width: 100%; margin: .2rem 0 0; } .sa-rv-head img { width: 64px; height: 64px; } }
