:root {
    --rz-bg: #F7F2EA;
    --rz-surface: #FFFFFF;
    --rz-surface-soft: #FBF8F3;
    --rz-ink: #1F2A22;
    --rz-ink-muted: #6B6F68;
    --rz-green: #24372B;
    --rz-green-hover: #1A2920;
    --rz-gold: #8C7A4E;
    --rz-border: #E6DFD2;
    --rz-font-body: "Jost", system-ui, sans-serif;
    --rz-font-heading: "Marcellus", Georgia, serif;
}

body {
    background: var(--rz-bg);
    color: var(--rz-ink);
    font-family: var(--rz-font-body);
}

/* Logo */
.rz-logo { display: block; height: 56px; width: auto; }

/* Buttons */
.rz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 220px; padding: 12px 28px; border-radius: 999px; font-size: 17px; font-weight: 500; text-decoration: none; border: 1px solid transparent; transition: background-color .15s, color .15s; }
.rz-btn-primary { background: var(--rz-green); color: #fff; }
.rz-btn-primary:hover { background: var(--rz-green-hover); color: #fff; }
.rz-btn-outline { background: transparent; color: var(--rz-ink); border-color: var(--rz-ink); }
.rz-btn-outline:hover { background: var(--rz-ink); color: #fff; }
.rz-btn-ghost { color: var(--rz-ink); border: 1px solid var(--rz-border); background: var(--rz-surface); }
.rz-btn-ghost:hover { background: var(--rz-surface-soft); }

/* Public pages (landing, login) */
.rz-public {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(ellipse at 0% 100%, rgba(140, 122, 78, .10), transparent 45%),
        radial-gradient(ellipse at 100% 0%, rgba(140, 122, 78, .10), transparent 45%),
        var(--rz-bg);
}
.rz-public-header { padding: 24px 64px; }
.rz-public-main { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 8px 16px 32px; }
.rz-public-title { font-family: var(--rz-font-heading); font-size: clamp(32px, 5vw, 56px); text-align: center; margin: 0; }
.rz-public-subtitle { font-size: 20px; color: var(--rz-ink-muted); text-align: center; margin: 12px 0 36px; }
.rz-public-footer { text-align: center; font-size: 13px; color: var(--rz-ink-muted); padding: 20px 16px 28px; }

.rz-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 520px)); gap: 32px; width: 100%; justify-content: center; }
.rz-choice-card { background: var(--rz-surface); border-radius: 24px; overflow: hidden; box-shadow: 0 12px 40px rgba(31, 42, 34, .08); display: flex; flex-direction: column; }
.rz-choice-card { transition: transform .25s ease, box-shadow .25s ease; }
.rz-choice-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(31, 42, 34, .14); }
.rz-choice-media { overflow: hidden; }
.rz-choice-image { aspect-ratio: 16 / 10; background-size: cover; background-position: center; transition: transform .6s ease; }
.rz-choice-card:hover .rz-choice-image { transform: scale(1.05); }
@media (prefers-reduced-motion: reduce) {
    .rz-choice-card, .rz-choice-image { transition: none; }
    .rz-choice-card:hover, .rz-choice-card:hover .rz-choice-image { transform: none; }
}
.rz-choice-image-price { background-image: url("../images/price.jpg"), linear-gradient(135deg, #C9D4C5, #8EA48A); }
.rz-choice-image-budget { background-image: url("../images/budget.jpg"), linear-gradient(135deg, #E8DCC8, #B9A57E); }
.rz-choice-body { padding: 28px 24px 32px; text-align: center; display: flex; flex-direction: column; align-items: center; }
.rz-choice-title { font-family: var(--rz-font-heading); font-size: 32px; margin: 0 0 8px; }
.rz-choice-text { color: var(--rz-ink-muted); font-size: 17px; margin-bottom: 24px; }

.rz-login-card { background: var(--rz-surface); border-radius: 24px; box-shadow: 0 12px 40px rgba(31, 42, 34, .08); padding: 32px; width: 100%; max-width: 420px; }
.rz-back-link { margin-top: 20px; color: var(--rz-ink-muted); text-decoration: none; }
.rz-back-link:hover { color: var(--rz-ink); }

@media (max-width: 768px) {
    .rz-public-header { padding: 16px; }
    .rz-choice-grid { grid-template-columns: 1fr; }
    .rz-btn { min-width: 0; width: 100%; }
}

/* Panel */
.rz-navbar { background: var(--rz-surface); border-bottom: 1px solid var(--rz-border); }
.rz-navbar .rz-logo { height: 34px; }
.rz-navbar .nav-link { color: var(--rz-ink-muted); font-weight: 500; border-radius: 999px; padding: 6px 14px !important; }
.rz-navbar .nav-link:hover { color: var(--rz-ink); }
.rz-navbar .nav-link.active { background: var(--rz-bg); color: var(--rz-green); }

.rz-page-title { font-family: var(--rz-font-heading); font-size: 28px; margin: 0; }
.rz-card { background: var(--rz-surface); border: 1px solid var(--rz-border); border-radius: 16px; }
.rz-panel .btn-primary { --bs-btn-bg: var(--rz-green); --bs-btn-border-color: var(--rz-green); --bs-btn-hover-bg: var(--rz-green-hover); --bs-btn-hover-border-color: var(--rz-green-hover); --bs-btn-active-bg: var(--rz-green-hover); --bs-btn-active-border-color: var(--rz-green-hover); }
.rz-panel .form-label { font-weight: 500; }
