/* 
=======================================================
BIG PENHORES - LUXURY DESIGN
Tema luxuoso e profissional para a plataforma
=======================================================
*/

/* Importar fontes elegantes */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* Variáveis CSS para tema luxuoso com tons verdes escuros */
:root {
    --luxury-cyan: #00D4AA;
    --luxury-cyan-light: #4DFFDB;
    --luxury-cyan-dark: #00A688;
    --luxury-cyan-darker: #138A73;
    --luxury-dark: #0A0A0A;
    --luxury-dark-light: #1A1A1A;
    --luxury-gray: #2D2D2D;
    --luxury-gray-light: #404040;
    --luxury-white: #FFFFFF;
    --luxury-cream: #F0F8F6;
    --luxury-cream-green: #f0fdf4;
    --luxury-cream-green-hover: #ecfdf5;
    --luxury-shadow: rgba(0, 212, 170, 0.3);
    --luxury-shadow-darker: rgba(19, 138, 115, 0.3);
    --luxury-gradient: linear-gradient(135deg, #00D4AA 0%, #138A73 100%);
    --luxury-gradient-soft: linear-gradient(135deg, #00D4AA 0%, #17A589 100%);
    --luxury-gradient-dark: linear-gradient(135deg, #1A1A1A 0%, #0A0A0A 100%);
    --luxury-gradient-card: linear-gradient(145deg, #ffffff 0%, #f0fdf4 100%);
}

/* Aplicar fonte elegante */
body {
    font-family: 'Inter', sans-serif;
    background: 
        radial-gradient(circle at 20% 20%, rgba(0, 212, 170, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(0, 212, 170, 0.02) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(0, 212, 170, 0.01) 0%, transparent 50%),
        linear-gradient(135deg, var(--luxury-dark) 0%, var(--luxury-dark-light) 50%, var(--luxury-dark) 100%);
    background-attachment: fixed;
    color: var(--luxury-white);
    line-height: 1.6;
    min-height: 100vh;
    position: relative;
}

/* Padrão sutil de textura */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(circle at 1px 1px, rgba(0, 212, 170, 0.15) 1px, transparent 0);
    background-size: 40px 40px;
    opacity: 0.03;
    pointer-events: none;
    z-index: -1;
}

/* Títulos com fonte elegante */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    letter-spacing: -0.02em;
}

/* Header luxuoso */
#header {
    background: rgba(10, 10, 10, 0.95);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(0, 212, 170, 0.2);
    transition: all 0.3s ease;
}

#header:hover {
    border-bottom-color: var(--luxury-cyan);
}

/* Logo com efeito */
#logo {
    filter: drop-shadow(0 0 10px rgba(0, 212, 170, 0.3));
    transition: all 0.3s ease;
}

#logo:hover {
    filter: drop-shadow(0 0 15px rgba(0, 212, 170, 0.5));
    transform: scale(1.05);
}

/* Botões luxuosos */
.btn-luxury {
    background: var(--luxury-gradient);
    border: none;
    color: var(--luxury-dark);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 12px 30px;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
    position: relative;
    overflow: hidden;
}

.btn-luxury::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    transition: left 0.5s;
}

.btn-luxury:hover::before {
    left: 100%;
}

.btn-luxury:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0, 212, 170, 0.4);
    color: var(--luxury-dark);
}

/* Botões do header */
#btn-entrar {
    background: transparent;
    border: 2px solid var(--luxury-cyan);
    color: var(--luxury-cyan);
    padding: 8px 25px;
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
}

#btn-entrar:hover {
    background: var(--luxury-cyan);
    color: var(--luxury-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 212, 170, 0.3);
}

#btn-cadastrar {
    background: var(--luxury-gradient);
    border: none;
    color: var(--luxury-dark);
    padding: 8px 25px;
    border-radius: 25px;
    font-weight: 600;
    transition: all 0.3s ease;
}

#btn-cadastrar:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 212, 170, 0.4);
}

/* Cards de sorteio luxuosos com tons verdes escuros */
.card.bg-dark {
    background: var(--luxury-gradient-card) !important;
    border: 1px solid rgba(19, 138, 115, 0.25) !important;
    border-radius: 20px !important;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    backdrop-filter: blur(5px);
    box-shadow: 0 8px 25px rgba(19, 138, 115, 0.15);
}

.card.bg-dark::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--luxury-cyan-darker) 0%, var(--luxury-cyan) 50%, var(--luxury-cyan-darker) 100%);
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.card.bg-dark:hover::before {
    opacity: 1;
}

.card.bg-dark:hover {
    background: var(--luxury-cream-green-hover) !important;
    transform: translateY(-8px);
    box-shadow: 0 15px 35px var(--luxury-shadow-darker);
    border-color: var(--luxury-cyan-darker);
}

/* Valores em destaque */
.bg-dark-400 {
    background: rgba(0, 212, 170, 0.1) !important;
    border: 1px solid rgba(0, 212, 170, 0.3);
    border-radius: 15px;
    position: relative;
    overflow: hidden;
}

.bg-dark-400::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--luxury-gradient);
}

/* Números da sorte luxuosos */
.badge.badge-success {
    background: var(--luxury-gradient) !important;
    color: var(--luxury-dark) !important;
    padding: 8px 16px;
    border-radius: 25px;
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 4px 15px rgba(0, 212, 170, 0.3);
}

.badge.badge-success:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 212, 170, 0.4);
}

/* Seção de níveis luxuosa */
.bg-light {
    background: linear-gradient(135deg, var(--luxury-cream) 0%, #E8F8F5 100%) !important;
    color: var(--luxury-dark);
    position: relative;
}

.bg-light::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 2px 2px, rgba(0, 212, 170, 0.1) 1px, transparent 0);
    background-size: 60px 60px;
    opacity: 0.3;
    pointer-events: none;
}

.card.shadow-sm {
    background: var(--luxury-gradient-card);
    border: 1px solid rgba(19, 138, 115, 0.2);
    border-radius: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(19, 138, 115, 0.1);
    position: relative;
    overflow: hidden;
}

.card.shadow-sm::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--luxury-cyan-darker) 0%, var(--luxury-cyan) 50%, var(--luxury-cyan-darker) 100%);
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.card.shadow-sm:hover {
    background: var(--luxury-cream-green-hover);
    transform: translateY(-5px);
    box-shadow: 0 15px 35px var(--luxury-shadow-darker);
    border-color: var(--luxury-cyan-darker);
}

.card.shadow-sm:hover::before {
    opacity: 1;
}

/* Badges dos níveis */
.badge.badge-light-primary {
    background: rgba(0, 212, 170, 0.1);
    color: var(--luxury-cyan-dark);
    border: 1px solid rgba(0, 212, 170, 0.3);
}

.badge.badge-light-info {
    background: rgba(0, 212, 170, 0.2);
    color: var(--luxury-cyan-dark);
    border: 1px solid rgba(0, 212, 170, 0.4);
}

.badge.badge-light-warning {
    background: rgba(0, 212, 170, 0.3);
    color: var(--luxury-cyan-dark);
    border: 1px solid rgba(0, 212, 170, 0.5);
}

.badge.badge-light-success {
    background: var(--luxury-gradient);
    color: var(--luxury-dark);
    border: none;
    font-weight: 600;
}

/* Baú do tesouro luxuoso */
.treasure-chest-container {
    position: relative;
    background: radial-gradient(circle, rgba(0, 212, 170, 0.1) 0%, transparent 70%);
    border-radius: 50%;
    padding: 2rem;
}

.treasure-value {
    background: rgba(26, 26, 26, 0.9);
    border: 2px solid rgba(0, 212, 170, 0.3);
    backdrop-filter: blur(20px);
    border-radius: 20px;
    transition: all 0.3s ease;
}

.treasure-value:hover {
    border-color: var(--luxury-cyan);
    box-shadow: 0 15px 35px rgba(0, 212, 170, 0.3);
}

.treasure-amount {
    background: var(--luxury-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: none;
    filter: drop-shadow(0 2px 4px rgba(0, 212, 170, 0.5));
}

/* Tabela do baú luxuosa */
.table-dark {
    background: var(--luxury-dark-light);
}

.table-dark td, .table-dark th {
    border-color: rgba(0, 212, 170, 0.2);
    padding: 1.2rem 1rem;
}

.table-dark tbody tr:hover {
    background: rgba(0, 212, 170, 0.1);
    transform: scale(1.02);
    transition: all 0.3s ease;
}

/* Seção de loteria federal */
.lottery-section {
    background: #ffffff !important;
    border: 1px solid #e3e6f0 !important;
    border-radius: 20px;
    padding: 2rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0.15rem 1.75rem 0 rgba(58, 59, 69, 0.15) !important;
}

.lottery-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--luxury-gradient);
}

.lottery-number {
    background: var(--luxury-gradient);
    color: var(--luxury-dark);
    padding: 15px 20px;
    border-radius: 15px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 1.2rem;
    text-align: center;
    margin: 0.5rem;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(0, 212, 170, 0.3);
}

.lottery-number:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 35px rgba(0, 212, 170, 0.4);
}

/* Números da Big Penhores */
.big-number-primary {
    background: var(--luxury-gradient) !important;
    color: var(--luxury-dark) !important;
    padding: 12px 8px;
    border-radius: 12px;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(0, 212, 170, 0.4);
    border: 2px solid rgba(0, 212, 170, 0.6);
}

.big-number-secondary {
    background: linear-gradient(135deg, #20E3B2 0%, #17C9A3 100%) !important;
    color: var(--luxury-dark) !important;
    padding: 12px 8px;
    border-radius: 12px;
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    transition: all 0.3s ease;
    box-shadow: 0 8px 25px rgba(32, 227, 178, 0.4);
    border: 2px solid rgba(32, 227, 178, 0.6);
}

.big-number-primary:hover,
.big-number-secondary:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 40px rgba(0, 212, 170, 0.6);
}

/* Card especial para Big Penhores */
.card.border-warning,
.card.border-success {
    box-shadow: 
        0 25px 50px rgba(0, 212, 170, 0.3),
        0 0 0 1px rgba(0, 212, 170, 0.1),
        inset 0 1px 0 rgba(0, 212, 170, 0.1);
    backdrop-filter: blur(10px);
    border-color: var(--luxury-cyan) !important;
}

.card.border-warning:hover,
.card.border-success:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 30px 60px rgba(0, 212, 170, 0.4),
        0 0 0 1px rgba(0, 212, 170, 0.2),
        inset 0 1px 0 rgba(0, 212, 170, 0.2);
}

/* Footer luxuoso */
#footer-section {
    background: var(--luxury-dark);
    border-top: 1px solid rgba(0, 212, 170, 0.2);
}

.landing-dark-border {
    border: 1px solid rgba(0, 212, 170, 0.3) !important;
    background: var(--luxury-gradient-dark);
    transition: all 0.3s ease;
}

.landing-dark-border:hover {
    border-color: var(--luxury-cyan) !important;
    box-shadow: 0 10px 30px rgba(0, 212, 170, 0.2);
}

/* Scrollbar personalizada */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: var(--luxury-dark);
}

::-webkit-scrollbar-thumb {
    background: var(--luxury-gradient);
    border-radius: 6px;
    border: 2px solid var(--luxury-dark);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--luxury-cyan-light);
}

/* Animações de entrada */
@keyframes luxuryFadeIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.luxury-fade-in {
    animation: luxuryFadeIn 0.8s ease-out;
}

/* Efeito de brilho nos elementos importantes */
.luxury-glow {
    position: relative;
}

.luxury-glow::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: var(--luxury-gradient);
    z-index: -1;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.luxury-glow:hover::after {
    opacity: 0.7;
}

/* Responsividade para mobile */
@media (max-width: 768px) {
    .card.bg-dark {
        margin-bottom: 2rem;
    }
    
    .treasure-chest-container {
        padding: 1rem;
    }
    
    .lottery-section {
        padding: 1.5rem;
        margin: 1rem 0;
    }
    
    .btn-luxury {
        padding: 10px 25px;
        font-size: 0.9rem;
    }
}

/* Indicadores de carrossel luxuosos */
.carousel-indicators button {
    background-color: var(--luxury-cyan);
    border: none;
    opacity: 0.5;
    transition: all 0.3s ease;
}

.carousel-indicators button.active {
    opacity: 1;
    transform: scale(1.2);
}

/* Controles de carrossel luxuosos */
.carousel-control-prev, .carousel-control-next {
    color: var(--luxury-cyan);
    transition: all 0.3s ease;
}

.carousel-control-prev:hover, .carousel-control-next:hover {
    color: var(--luxury-white);
    transform: scale(1.1);
}

/* Placeholder para imagens dos sorteios */
.sorteio-image-placeholder {
    background: linear-gradient(45deg, var(--luxury-dark) 0%, var(--luxury-gray) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--luxury-cyan);
    min-height: 250px;
    position: relative;
    overflow: hidden;
}

.sorteio-image-placeholder::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(0, 212, 170, 0.05) 10px,
        rgba(0, 212, 170, 0.05) 20px
    );
    animation: shimmer 3s infinite linear;
}

@keyframes shimmer {
    0% { transform: translateX(-100%) translateY(-100%); }
    100% { transform: translateX(100%) translateY(100%); }
}

.sorteio-image-placeholder .placeholder-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.sorteio-image-placeholder .placeholder-icon {
    font-size: 4rem;
    margin-bottom: 1rem;
    opacity: 0.7;
}

.sorteio-image-placeholder .placeholder-text {
    color: var(--luxury-cyan);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
} 