:root { 
    --gold: #c5a059; 
    --dark: #1b261c; 
    --cream: #fcfaf7; 
}

* { box-sizing: border-box; }

body { 
    margin: 0; 
    font-family: 'Montserrat', sans-serif; 
    background: var(--cream); 
    color: var(--dark); 
    line-height: 1.6;
}

/* --- HEADER & BANNER --- */
.navbar { 
    display: flex; justify-content: space-between; align-items: center; 
    padding: 15px 5%; background: #ffffff; 
    position: sticky; top: 0; z-index: 1000; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
}
.logo { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 700; }
.logo span { color: var(--gold); }

.search-minimal { background: #f4f4f4; padding: 5px 15px; border-radius: 20px; display: flex; align-items: center; }
.search-minimal input { border: none; background: transparent; outline: none; padding: 5px; width: 180px; font-size: 0.85rem;}
.search-minimal button { border: none; background: transparent; color: var(--gold); font-weight: 700; cursor: pointer; }

.harvest-banner { background: var(--dark); color: #fff; text-align: center; padding: 10px; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; }
.dot { height: 8px; width: 8px; background: #ff4d4d; border-radius: 50%; display: inline-block; margin-right: 10px; animation: blink 1.5s infinite; }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

/* --- HERO --- */
.hero-lux { 
    height: 40vh; 
    background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), url('https://images.unsplash.com/photo-1547592166-23ac45744acd?auto=format&fit=crop&w=1600&q=80') center/cover; 
    display: flex; align-items: center; justify-content: center; 
    color: #fff; text-align: center; 
}
.hero-overlay h1 { font-family: 'Cormorant Garamond', serif; font-size: 3.5rem; margin: 0; }
.hero-overlay h1 span { color: var(--gold); }
.hero-overlay p { font-size: 1.1rem; font-weight: 300; letter-spacing: 1px; margin-top: 10px; }

/* --- GRID & CARDS --- */
.container { padding: 60px 5%; max-width: 1400px; margin: 0 auto; }
.grid-recipes { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
    gap: 35px; 
}

.card { 
    background: #fff; border-radius: 12px; overflow: hidden; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: 0.3s; 
    display: flex; flex-direction: column; height: 100%;
}
.card:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0,0,0,0.1); }

/* CORRECTION DE L'IMAGE */
.card-img { 
    display: block; width: 100%; height: 240px; 
    background-size: cover; background-position: center; 
    background-repeat: no-repeat; position: relative; background-color: #eee;
}

.tag { position: absolute; top: 15px; right: 15px; background: #fff; padding: 5px 12px; border-radius: 5px; font-size: 0.7rem; font-weight: 700; color: var(--gold); }
.card-badges { position: absolute; bottom: 15px; left: 15px; display: flex; gap: 8px; }
.card-badges span { background: rgba(0,0,0,0.7); color: #fff; padding: 5px 10px; border-radius: 5px; font-size: 0.65rem; font-weight: 600; backdrop-filter: blur(2px); }

.card-body { padding: 25px; flex-grow: 1; display: flex; flex-direction: column; }
.author-label { font-size: 0.7rem; color: var(--gold); text-transform: uppercase; font-weight: 700; letter-spacing: 1px; margin-bottom: 8px; }
.card-body h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.6rem; margin: 0 0 12px; line-height: 1.2; color: var(--dark);}
.card-body p { font-size: 0.9rem; color: #555; margin-bottom: 25px; flex-grow: 1; }

.btn-more { align-self: flex-start; text-decoration: none; color: var(--gold); font-weight: 700; font-size: 0.8rem; border-bottom: 2px solid var(--gold); padding-bottom: 2px; text-transform: uppercase; transition: 0.3s;}
.btn-more:hover { color: var(--dark); border-color: var(--dark); }

/* --- FOOTER --- */
footer { text-align: center; padding: 60px 20px; background: #fff; border-top: 1px solid #eee; font-size: 0.85rem; color: #888; }
