        .donate-wrap    { max-width: 560px; margin: 60px auto; }
        .donate-wrap h1 { font-size: 1.9rem; margin-bottom: .4rem; }
        .donate-wrap > p { color: var(--muted); margin-bottom: 2rem; }

        .amount-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: .6rem;
            margin-bottom: 1rem;
        }
        .amount-btn {
            padding: .65rem .5rem;
            border: 2px solid var(--border);
            border-radius: 8px;
            background: var(--surface);
            cursor: pointer;
            font-weight: 600;
            font-size: .95rem;
            text-align: center;
            transition: border-color .15s, background .15s;
        }
        .amount-btn:hover,
        .amount-btn.selected { border-color: var(--accent); background: var(--accent-subtle); }

        .custom-row { display: flex; align-items: center; gap: .5rem; margin-bottom: 1.5rem; }
        .custom-row label { font-size: .85rem; color: var(--muted); white-space: nowrap; }
        .custom-row input { flex: 1; }

        .rosette-preview {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 10px;
            padding: 1rem 1.25rem;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: .75rem;
            min-height: 58px;
        }
        .rosette-preview .badge {
            background: var(--accent-gold, #c9a84c);
            color: #fff;
            border-radius: 999px;
            padding: .25rem .85rem;
            font-weight: 700;
            font-size: .9rem;
            white-space: nowrap;
        }
        .rosette-preview .note { font-size: .85rem; color: var(--muted); }

        .error-msg { color: var(--danger, #d9534f); margin-bottom: 1rem; font-size: .9rem; }

        .tiers-table { width: 100%; border-collapse: collapse; font-size: .85rem; margin-top: 2rem; }
        .tiers-table th { text-align: left; padding: .4rem .6rem; color: var(--muted); border-bottom: 1px solid var(--border); }
        .tiers-table td { padding: .4rem .6rem; border-bottom: 1px solid var(--border-subtle, #eee); }
    
