/* ==========================================================
   Styles Sur-Mesure - Application Web de Mariage
   Thème : Élégance Moderne, Tons Or Champagne & Terracotta
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
    --color-primary: #8a3b4e;      /* Bordeaux / Terracotta élégant */
    --color-primary-light: #fbeff2;
    --color-primary-dark: #672635;
    --color-gold: #c59b27;         /* Or Champagne */
    --color-gold-light: #fef8ea;
    --color-gold-dark: #987515;
    --color-bg: #faf7f5;           /* Blanc crème chaleureux */
    --color-card: #ffffff;
    --font-serif: 'Cormorant Garamond', Georgia, serif;
    --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body {
    font-family: var(--font-sans);
    background-color: var(--color-bg);
    color: #2d3748;
    -webkit-tap-highlight-color: transparent;
}

.font-serif {
    font-family: var(--font-serif);
}

/* Texture de fond subtile et festive */
.wedding-bg {
    background-color: #faf7f5;
    background-image: 
        radial-gradient(circle at 10% 20%, rgba(197, 155, 39, 0.05) 0%, transparent 40%),
        radial-gradient(circle at 90% 80%, rgba(138, 59, 78, 0.05) 0%, transparent 40%);
}

/* Effets Glassmorphism & Cartes */
.glass-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(229, 231, 235, 0.8);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.04), 0 8px 10px -6px rgba(0, 0, 0, 0.02);
    border-radius: 1.25rem;
    transition: all 0.25s ease;
}

.game-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.game-card:active {
    transform: scale(0.98);
}

/* Boutons raffinés */
.btn-gold {
    background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%);
    color: white;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(184, 134, 11, 0.25);
    transition: all 0.2s ease;
}

.btn-gold:hover {
    background: linear-gradient(135deg, #e5c158 0%, #c59b27 100%);
    box-shadow: 0 6px 16px rgba(184, 134, 11, 0.35);
    transform: translateY(-1px);
}

.btn-primary {
    background: linear-gradient(135deg, #8a3b4e 0%, #672635 100%);
    color: white;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(138, 59, 78, 0.25);
    transition: all 0.2s ease;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #9c455b 0%, #782e3f 100%);
    box-shadow: 0 6px 16px rgba(138, 59, 78, 0.35);
    transform: translateY(-1px);
}

/* Cage de tir Unihockey interactive */
.floorball-cage {
    position: relative;
    width: 100%;
    max-width: 480px;
    height: 300px;
    margin: 0 auto;
    background: #1e293b;
    border: 8px solid #dc2626; /* Poteaux rouges réglementaires unihockey */
    border-radius: 12px 12px 4px 4px;
    overflow: hidden;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.8), 0 10px 25px rgba(0,0,0,0.2);
}

/* Filet de cage de unihockey en damier */
.floorball-net {
    position: absolute;
    inset: 0;
    background-size: 14px 14px;
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.15) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
}

/* Cibles interactives dans la cage */
.target-zone {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 3px dashed #fbbf24;
    border-radius: 12px;
    background: rgba(251, 191, 36, 0.25);
    color: #ffffff;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
    box-shadow: 0 0 15px rgba(251, 191, 36, 0.3);
}

.target-zone:hover, .target-zone:active {
    background: rgba(251, 191, 36, 0.5);
    transform: scale(1.05);
    border-color: #ffffff;
}

.target-zone.selected {
    background: rgba(34, 197, 94, 0.6);
    border-color: #22c55e;
    border-style: solid;
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.8);
}

/* Balle de unihockey (balle perforée) */
.floorball-ball {
    width: 32px;
    height: 32px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: inset -2px -2px 6px rgba(0,0,0,0.2), 0 4px 8px rgba(0,0,0,0.3);
    position: relative;
}

/* Trous de la balle de unihockey */
.floorball-ball::after {
    content: '';
    position: absolute;
    inset: 4px;
    border: 2px dotted #94a3b8;
    border-radius: 50%;
}

/* Podium du leaderboard */
.podium-1 {
    background: linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);
    border: 2px solid #f59e0b;
}

.podium-2 {
    background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
    border: 2px solid #94a3b8;
}

.podium-3 {
    background: linear-gradient(180deg, #ffedd5 0%, #fed7aa 100%);
    border: 2px solid #f97316;
}

/* Badges festifs */
.badge-gold {
    background-color: #fef3c7;
    color: #92400e;
    border: 1px solid #fde68a;
}

.badge-rose {
    background-color: #fce7f3;
    color: #9d174d;
    border: 1px solid #fbcfe8;
}

.badge-success {
    background-color: #dcfce7;
    color: #166534;
    border: 1px solid #bbf7d0;
}

/* Bottom Nav bar active state */
.nav-item.active {
    color: var(--color-primary);
    font-weight: 600;
}

/* Animations simples */
@keyframes bounceSubtle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}

.animate-subtle {
    animation: bounceSubtle 2s infinite ease-in-out;
}
