/* assets/css/review.css
   REVIEW (add-reviews) page only. Self-contained form styling. */

.rv-hero-glow {
    position: absolute;
    top: -6rem;
    left: 50%;
    transform: translateX(-50%);
    width: 46rem;
    height: 28rem;
    background: radial-gradient(ellipse at center, rgba(79,70,229,0.14) 0%, transparent 65%);
    z-index: 0;
    pointer-events: none;
}
.dark .rv-hero-glow {
    background: radial-gradient(ellipse at center, rgba(99,102,241,0.22) 0%, transparent 65%);
}

/* Labels */
.rv-label {
    display: flex;
    align-items: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.4rem;
}
.dark .rv-label { color: #cbd5e1; }

/* Fields (shared look with the contact form) */
.ct-input {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #0f172a;
    font-size: 0.925rem;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}
.ct-input::placeholder { color: #94a3b8; }
.ct-input:focus { outline: none; border-color: #818cf8; box-shadow: 0 0 0 3px rgba(79,70,229,0.15); }
.dark .ct-input { background: #0f172a; border-color: #334155; color: #e2e8f0; }
.dark .ct-input:focus { border-color: #6366f1; }
textarea.ct-input { resize: vertical; min-height: 120px; }
.ct-input.ct-invalid { border-color: #ef4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.12); }

/* Errors + status */
.ct-err { display: none; font-size: 0.78rem; color: #ef4444; margin-top: 0.35rem; }
.ct-err.show { display: block; }
.ct-status { margin-top: 1rem; padding: 0.75rem 1rem; border-radius: 0.75rem; font-size: 0.85rem; font-weight: 500; }
.ct-status.err { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.ct-status.ok  { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.dark .ct-status.err { background: rgba(239,68,68,0.1); color: #fca5a5; border-color: rgba(239,68,68,0.25); }
.dark .ct-status.ok  { background: rgba(34,197,94,0.1); color: #86efac; border-color: rgba(34,197,94,0.25); }

/* Honeypot */
.rv-hp { position: absolute !important; left: -9999px !important; top: -9999px !important; height: 0; width: 0; overflow: hidden; }

/* Button loader */
.ct-loader { display: inline-block; width: 1.1rem; height: 1.1rem; border-radius: 9999px; border: 2px solid rgba(255,255,255,0.45); border-top-color: #fff; animation: ctSpin 0.7s linear infinite; }
@keyframes ctSpin { to { transform: rotate(360deg); } }
button[disabled] { opacity: 0.7; cursor: not-allowed; }

/* Star rating */
.rv-stars { display: inline-flex; gap: 0.35rem; }
.rv-star {
    font-size: 1.9rem;
    line-height: 1;
    color: #cbd5e1;
    transition: color 0.15s ease, transform 0.15s ease;
}
.dark .rv-star { color: #475569; }
.rv-star:hover { transform: scale(1.12); }
.rv-star.on { color: #f59e0b; }

/* Image drop zone */
.rv-drop {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.5rem;
    border: 2px dashed #cbd5e1;
    border-radius: 1rem;
    cursor: pointer;
    color: #64748b;
    font-size: 0.85rem;
    text-align: center;
    transition: border-color var(--transition-base), background var(--transition-base);
}
.rv-drop:hover { border-color: #818cf8; background: #f8fafc; }
.dark .rv-drop { border-color: #334155; color: #94a3b8; }
.dark .rv-drop:hover { border-color: #6366f1; background: #0f172a; }
