/* Scoped review screens; existing navigation/responsive stylesheet is untouched. */
.client-review-page { background: var(--warm-cream); color: var(--coffee-black); min-height: 100dvh; padding: 1.25rem; }
.client-review-brand { display: flex; justify-content: center; margin: 1rem auto 2rem; }
.client-review-brand .brand-mark__name { color: var(--coffee-black); }
.client-review-brand .brand-mark__by, .client-review-brand .brand-mark__gold { color: var(--color-gold-text); }
.client-review-panel { width: min(100%, 42rem); box-sizing: border-box; margin: 0 auto 3rem; padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid var(--champagne-gold); border-radius: .35rem; background: #fffaf2; }
.client-review-panel h1 { font-family: var(--font-display); font-size: clamp(1.8rem, 5vw, 2.6rem); text-align: center; color: var(--coffee-black); }
.client-review-panel p { color: var(--dark-brown); }
.client-review-form { display: grid; gap: 1.3rem; margin-top: 1.6rem; }
.client-review-form label, .client-review-form legend { font-weight: 600; font-size: 1rem; }
.client-review-form input:not([type=checkbox]):not([type=radio]):not([type=submit]), .client-review-form textarea, .client-review-share input, .review-copy-text { box-sizing: border-box; width: 100%; min-width: 0; padding: .8rem; border: 1px solid #9d8a70; border-radius: .2rem; background: #fffdf8; color: var(--coffee-black); font: inherit; font-size: 1rem; }
.client-review-form textarea, .review-copy-text { resize: vertical; }
.client-review-form input[type=file] { overflow: hidden; }
.client-review-form :focus-visible, .client-review-share :focus-visible, .review-thanks :focus-visible { outline: 3px solid var(--color-gold-text); outline-offset: 3px; }
.review-stars { border: 0; padding: 0; margin: 0; }
.review-stars__options { display: flex; flex-wrap: wrap; gap: .65rem; padding-top: .5rem; }
.review-stars__options label { display: flex; align-items: center; gap: .2rem; min-height: 44px; cursor: pointer; }
.review-stars__options label > span[aria-hidden] { color: var(--color-gold-text); font-size: 1.7rem; }
.review-stars__options input, .review-permissions input { width: 1.15rem; height: 1.15rem; flex-shrink: 0; accent-color: var(--color-gold-text); }
.review-permissions { display: grid; gap: .9rem; }
.review-permissions label { display: flex; align-items: flex-start; gap: .7rem; line-height: 1.6; font-weight: 400; min-height: 44px; }
.review-help, .review-private-note { font-size: .9rem; line-height: 1.6; }
.review-private-note { border-left: 3px solid var(--champagne-gold); padding-left: .8rem; }
.client-review-errors { border: 2px solid #9b3434; color: #752222; padding: 1rem; }
.client-review-errors h2 { font-size: 1.2rem; color: #752222; }
.review-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.review-thanks { text-align: center; }
.review-thanks__check { font-size: 3rem; color: var(--color-gold-text); }
.review-copy-text { min-height: 8rem; text-align: left; margin-block: 1rem; }
.review-thanks__actions { display: grid; justify-items: stretch; gap: .8rem; }
.client-review-panel .button, .client-review-admin-actions .button, .client-review-share .button { min-height: 44px; white-space: normal; text-align: center; }
.client-review-panel .button--primary { color: var(--coffee-black); background: var(--champagne-gold); border-color: var(--champagne-gold); }
.client-review-panel .button--secondary { color: var(--coffee-black); background: transparent; border-color: var(--champagne-gold); }
.client-review-panel button:disabled { color: var(--coffee-black); opacity: .72; cursor: not-allowed; }
.review-return { display: inline-block; margin-top: 1rem; color: var(--color-gold-text); text-decoration: underline; }
.client-review-share { display: grid; gap: .7rem; padding: 1rem; border: 1px solid var(--border-gold); margin-block: 1rem; overflow-wrap: anywhere; }
.client-review-tabs { display: flex; flex-wrap: wrap; gap: .7rem; margin-block: 1.5rem; }
.client-review-tabs a { display: block; min-height: 44px; padding: .6rem .85rem; border: 1px solid var(--border-gold); border-radius: .2rem; }
.client-review-tabs a[aria-current=page] { background: var(--champagne-gold); color: var(--coffee-black); }
.client-review-admin-card { padding: 1.25rem; margin-block: 1rem; border: 1px solid var(--border-gold); border-radius: .25rem; overflow-wrap: anywhere; min-width: 0; max-width: 100%; }
.client-review-admin-card h2 { margin: 0.75rem 0 0.35rem; font-size: 1.35rem; line-height: 1.25; }
.client-review-share, .client-review-tabs, .client-review-form { min-width: 0; max-width: 100%; }
.client-review-share > *, .client-review-form > * { min-width: 0; }
.client-review-body { white-space: pre-wrap; }
.client-review-admin-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.client-review-thumbnail { width: 8rem; max-height: 8rem; object-fit: contain; border-radius: .2rem; }
.client-review-public-photo { width: 100%; max-height: 20rem; object-fit: contain; }
@media (max-width: 40rem) { .client-review-page { padding: .75rem; } .client-review-brand { margin-bottom: 1rem; } .client-review-admin-actions { flex-direction: column; } .client-review-admin-actions form, .client-review-admin-actions button { width: 100%; } .client-review-tabs { gap: .4rem; } }
