:root {
    --creme: #fbf6ee;
    --ouro: #e8b86d;
    --marrom: #6b3f1d;
    --verde: #2d6a4f;
}

body {
    background-color: var(--creme);
    font-family: "Segoe UI", Tahoma, sans-serif;
}

.navbar-brand {
    font-weight: 700;
    letter-spacing: 0.02em;
}

.hero {
    background: linear-gradient(135deg, #6b3f1d, #c9842b);
    color: #fff;
    border-radius: 1.25rem;
}

.card-produto {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.25rem rgba(107, 63, 29, 0.08);
}

.btn-ouro {
    background-color: var(--ouro);
    border-color: var(--ouro);
    color: #3b2412;
    font-weight: 600;
}

.btn-ouro:hover {
    background-color: #d9a454;
    color: #3b2412;
}

.badge-sorteio {
    background-color: var(--verde);
}

.stepper .step-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #e6dccf;
    color: #6b3f1d;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.stepper .step .small {
    color: #8a7a68;
}

.stepper .step-active .step-dot {
    background-color: var(--verde);
    color: #fff;
}

.stepper .step:not(.step-active) {
    opacity: 0.5;
}

.status-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.status-pendente {
    background-color: #f0ad4e;
}

.status-preparando {
    background-color: #5bc0de;
}

.status-entregando {
    background-color: #0275d8;
}

.status-entregue {
    background-color: var(--verde);
}

.section-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8a7a68;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

/* Sorteio: countdown */
.countdown-box {
    background-color: rgba(255, 255, 255, 0.12);
    border-radius: 0.75rem;
    padding: 0.75rem 1.25rem;
    min-width: 72px;
}

.countdown-num {
    font-size: 2rem;
    font-weight: 800;
    color: var(--ouro);
    line-height: 1;
}

.countdown-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.8);
}

/* Sorteio: vencedor */
.winner-card {
    animation: winner-pop 0.9s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes winner-pop {
    0% { transform: scale(0.6) rotate(-4deg); opacity: 0; }
    60% { transform: scale(1.04) rotate(1deg); opacity: 1; }
    100% { transform: scale(1) rotate(0); }
}

.winner-trophy {
    animation: trophy-bounce 1.6s ease-in-out infinite;
}

@keyframes trophy-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.winner-name {
    background: linear-gradient(135deg, var(--marrom), var(--ouro));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* Sorteio: confete */
.confetti-piece {
    position: fixed;
    top: -24px;
    z-index: 9999;
    pointer-events: none;
    border-radius: 2px;
    animation-name: confetti-fall;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
}

@keyframes confetti-fall {
    0% { transform: translateY(0) rotate(0deg); opacity: 1; }
    100% { transform: translateY(110vh) rotate(720deg); opacity: 0; }
}
