:root {
    --color-wedding: #6d2b50;
    --color-pink: #e8a0bf;
    --color-gold: #c9a84c;
    --color-bg: #fdf6f0;
}

body {
    background-color: var(--color-bg);
    font-family: 'Segoe UI', system-ui, sans-serif;
    color: #333;
}

/* NAVBAR */
.bg-wedding { background-color: var(--color-wedding) !important; }
.text-pink   { color: var(--color-pink) !important; }
.text-gold   { color: var(--color-gold) !important; }

/* CARDS DASHBOARD */
.stat-card {
    border: none;
    border-radius: 1rem;
    transition: transform .15s, box-shadow .15s;
}
.stat-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.12); }

.stat-card .icon-circle {
    width: 56px; height: 56px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}

/* TABLES */
.table-responsive { border-radius: .75rem; overflow: hidden; }
.table thead { background-color: var(--color-wedding); color: #fff; }
.table thead th { border: none; font-weight: 500; }

/* BADGES */
.badge-status {
    font-size: .78rem;
    padding: .35em .7em;
    border-radius: .5rem;
}

/* FORMS */
.form-label { font-weight: 500; }
.card { border: none; border-radius: 1rem; box-shadow: 0 2px 12px rgba(0,0,0,.07); }
.card-header {
    background-color: var(--color-wedding);
    color: #fff;
    border-radius: 1rem 1rem 0 0 !important;
    font-weight: 600;
}

/* BTN custom */
.btn-wedding {
    background-color: var(--color-wedding);
    color: #fff;
    border: none;
}
.btn-wedding:hover { background-color: #5a2342; color: #fff; }
.btn-gold {
    background-color: var(--color-gold);
    color: #fff;
    border: none;
}
.btn-gold:hover { background-color: #b08a35; color: #fff; }

/* COUNTDOWN */
#countdown .cd-block {
    min-width: 70px;
    padding: .5rem 1rem;
    background: var(--color-wedding);
    border-radius: .75rem;
    color: #fff;
    text-align: center;
}
#countdown .cd-block span.num { font-size: 2rem; font-weight: 700; display: block; }
#countdown .cd-block span.lbl { font-size: .7rem; opacity: .8; text-transform: uppercase; }

/* PAGE TITLE */
.page-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-wedding);
    border-left: 4px solid var(--color-gold);
    padding-left: .75rem;
    margin-bottom: 1.5rem;
}

/* PROGRESS BAR */
.progress { border-radius: 1rem; height: 10px; }
.progress-bar { background-color: var(--color-wedding); }

/* BED ICONS */
.bed-icon { line-height: 1; }

/* MODAL */
.modal-header { background-color: var(--color-wedding); color: #fff; }
.modal-header .btn-close { filter: invert(1); }
.list-group-item:has(input:checked) { background-color: #fdf0f6; border-color: var(--color-pink); }

/* ALERTS */
.alert { border-radius: .75rem; border: none; }
