/* =========================================
   1. IMPORTATIONS DE POLICES
   ========================================= */

/* Google Fonts : Poppins (Texte principal) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* Polices Locales */

/* Lilita One (Titres ronds) */
@font-face {
    font-family: 'LilitaOne';
    src: url('font/LilitaOne-Regular.ttf') format('truetype');
    font-weight: normal;
    font-display: swap;
}

/* Playfair Display (Texte élégant) */
@font-face {
    font-family: 'PlayfairDisplay';
    src: url('font/PlayfairDisplay.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Playfair Display Italique */
@font-face {
    font-family: 'PlayfairDisplay';
    src: url('font/PlayfairDisplay-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/* Urban Jungle (Gros titres déco) */
@font-face {
    font-family: 'UrbanJungle';
    /* Vérifiez l'extension exacte dans votre dossier (otf ou ttf) */
    src: url('font/urbanjungledemo.otf') format('opentype');
    font-weight: normal;
    font-display: swap;
}

/* =========================================
   2. STYLES DE BASE (GLOBAL)
   ========================================= */

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #FFF9E3; /* Crème par défaut */
    color: #1F2937; /* Gris foncé */
    overflow-x: hidden;
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Ajustement pour le scroll avec la navbar fixe */
section {
    scroll-margin-top: 80px;
}

/* Pour s'assurer que le footer reste en bas */
main {
    flex-grow: 1;
}

/* =========================================
   3. TYPOGRAPHIE & UTILITAIRES
   ========================================= */

/* Classes pour appliquer les polices */
.LilitaOne {
    font-family: 'LilitaOne', cursive;
}

.font-urban {
    font-family: 'UrbanJungle', display;
}

.playfair-display {
    font-family: 'PlayfairDisplay', serif;
}

/* Couleurs de fond */
.bg-creme {
    background-color: #FFF9E3;
}

.bg-cremedark {
    background-color: #EBE3CC;
}

/* Couleurs de texte spécifiques */
.text-jaune { color : #FFC107; }
.text-rose { color : #FF3399; }

/* Texte en dégradé (Jaune/Rose) */
.gradient-text {
    background: linear-gradient(90deg, #FFC107, #FF3399); 
    -webkit-background-clip: text; 
    background-clip: text; 
    color: transparent;
}

/* =========================================
   4. COMPOSANTS (BOUTONS, LIENS, INPUTS)
   ========================================= */

/* Liens génériques avec survol rose */
a.link-hover {
    transition: color 0.3s ease;
}
a.link-hover:hover {
    color: #FF3399;
    text-decoration: underline;
}

/* Bouton "Plat" (Gradient Jaune/Rose) */
.button-plat {
    background: linear-gradient(-90deg, #FFC107, #FF3399);
    transition: transform 0.2s, box-shadow 0.2s;
}

.button-plat:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(255, 51, 153, 0.4);
}

/* Effet de grossissement au survol (Cartes index) */
.hover-grow {
    transition: transform 0.3s ease;
}
.hover-grow:hover {
    transform: scale(1.05);
}

/* Champs de formulaire (Page Commande) */
.input-field {
    width: 100%;
    padding: 12px 15px;
    border-radius: 10px;
    border: 2px solid #e5e7eb;
    background-color: white;
    transition: border-color 0.3s;
    outline: none;
}
.input-field:focus {
    border-color: #FF3399;
}

/* Ombre portée pour les cartes (Page Paiement / 404) */
.card-shadow {
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* Bouton de confirmation (Page Paiement) */
.btn-confirm {
    background-color: #10B981; /* Vert */
    transition: all 0.3s;
}
.btn-confirm:hover {
    background-color: #059669;
    transform: scale(1.05);
}

/* =========================================
   5. STYLES SPÉCIFIQUES (ANIMATIONS & PAGES)
   ========================================= */

/* Page 404 : Animation de la carte flottante */
@keyframes float {
    0% { transform: translateY(1px) rotate(-5deg); }
    50% { transform: translateY(-20px) rotate(5deg); }
    100% { transform: translateY(1px) rotate(-5deg); }
}

.floating-card {
    animation: float 6s ease-in-out infinite;
}

/* Page Index : Background animé de la navbar */
.bg-gradient {
    background-color: #FFF9E3;
    /* Dégradé doux animé */
    background: linear-gradient(45deg, #e265e0, #e265e0, #dfe98b, #dceb5f, #FFF9E3, #FFF9E3, #FFF9E3);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
    background-attachment: scroll; 
}

@keyframes gradient {
    0% {background-position: 0% 50%;}
    50% {background-position: 100% 50%;}
    100% {background-position: 0% 50%;}
}