body {
    font-family: 'Poppins', sans-serif;
    background: linear-gradient(135deg, #0d47a1, #1565c0, #42a5f5);
    min-height: 100vh;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.card-sorteio {
    border: none;
    border-radius: 22px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.35);
    overflow: hidden;
    max-width: 900px;
    width: 100%;
}

.header-oficial {
    background: linear-gradient(90deg, #0d47a1, #1976d2);
    color: #fff;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    border-bottom: 4px solid #0d47a1;
}

.header-oficial img { height: 80px; }
.header-text { text-align: center; }
.header-text h4, .header-text small { margin: 0; }

.canvas-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
}

canvas {
    border-radius: 15px;
    border: 3px solid #1976d2;
    background: #fff;
    width: 100%;
    max-width: 1100px;
    height: auto;
}

.btn-container {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.btn-lg {
    font-weight: 600;
    font-size: 1.1rem;
    min-width: 180px;
}

#btnSortear { background-color: #28a745; border-color: #28a745; color: #fff; }
#btnEncerrar { background-color: #dc3545; border-color: #dc3545; color: #fff; }
#btnImagem { background-color: #ffc107; border-color: #ffc107; color: #000; }

.modal-backdrop.show { opacity: 0.6; }

@media (max-width: 768px) {
    canvas { max-width: 95%; }
    .header-oficial img { height: 60px; }
    .header-text h4 { font-size: 1.2rem; }
    .header-text small { font-size: 0.9rem; }
    .btn-lg { min-width: 140px; }
}
