/*
Theme Name: Les Maillons du Quotidien
Template: astra
Description: Thème enfant sur-mesure pour l'association Les Maillons du Quotidien.
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,500;9..144,600&family=Nunito+Sans:wght@400;600;700&display=swap');

:root {
    --lmdq-sage: #8c9473;
    --lmdq-sage-deep: #6c7457;
    --lmdq-terracotta: #c0755e;
    --lmdq-terracotta-deep: #a2593f;
    --lmdq-gold: #e8ba6b;
    --lmdq-paper: #faf6f0;
    --lmdq-cream: #f3ece1;
    --lmdq-ink: #3a352c;
    --lmdq-muted: #756e5f;
    --lmdq-line: #e5ddcd;
}

/* ---------- Base ---------- */
body {
    background: var(--lmdq-paper);
    color: var(--lmdq-ink);
    font-family: 'Nunito Sans', 'Segoe UI', sans-serif;
    font-size: 17px;
    line-height: 1.65;
}
h1, h2, h3, h4,
.entry-title, .ast-oembed-container + h1 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 500;
    color: var(--lmdq-terracotta-deep);
    letter-spacing: -0.01em;
    line-height: 1.15;
}
h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); font-weight: 300; }
h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); margin-bottom: 0.6em; }
h3 { font-size: 1.3rem; }
a { color: var(--lmdq-terracotta); }
a:hover { color: var(--lmdq-sage-deep); }
::selection { background: var(--lmdq-gold); color: var(--lmdq-ink); }

/* ---------- Header ---------- */
.ast-primary-header, #masthead {
    background: var(--lmdq-paper) !important;
    border-bottom: 1px solid var(--lmdq-line);
}
.main-header-menu .menu-item > .menu-link,
.ast-above-header-menu a {
    font-family: 'Nunito Sans', sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.01em;
    color: var(--lmdq-ink) !important;
}
.main-header-menu .menu-item > .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link {
    color: var(--lmdq-terracotta) !important;
}
.ast-site-identity .site-title a { color: var(--lmdq-terracotta-deep) !important; font-family: 'Fraunces', serif; }

/* ---------- Hero ---------- */
.lmdq-hero {
    position: relative;
    background: linear-gradient(135deg, var(--lmdq-sage) 0%, var(--lmdq-sage-deep) 100%);
    color: #fff;
    padding: 90px 24px 110px;
    text-align: center;
    overflow: hidden;
    margin-bottom: 0;
}
.lmdq-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 15% 25%, rgba(232,186,107,0.28) 0, transparent 45%),
        radial-gradient(circle at 85% 75%, rgba(192,117,94,0.35) 0, transparent 50%);
    pointer-events: none;
}
.lmdq-hero-inner { position: relative; max-width: 760px; margin: 0 auto; }
.lmdq-hero .lmdq-eyebrow {
    display: inline-block; text-transform: uppercase; letter-spacing: 0.14em;
    font-size: 13px; font-weight: 700; color: var(--lmdq-gold);
    margin-bottom: 18px; font-family: 'Nunito Sans', sans-serif;
}
.lmdq-hero h1 { color: #fff; margin: 0 0 20px; text-wrap: balance; }
.lmdq-hero p { font-size: 19px; color: rgba(255,255,255,0.92); max-width: 560px; margin: 0 auto 34px; }

/* ---------- Buttons ---------- */
.lmdq-btn, .wp-block-button__link, .button, a.button {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--lmdq-terracotta) !important;
    color: #fff !important;
    border: none; border-radius: 999px;
    padding: 14px 30px !important;
    font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 15px;
    text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
    box-shadow: 0 10px 24px -10px rgba(160,80,55,0.55);
}
.lmdq-btn:hover, .wp-block-button__link:hover, .button:hover {
    background: var(--lmdq-terracotta-deep) !important;
    transform: translateY(-2px);
    color: #fff !important;
}
.lmdq-btn.lmdq-btn-light {
    background: #fff !important; color: var(--lmdq-terracotta-deep) !important; box-shadow: none;
}
.lmdq-btn.lmdq-btn-light:hover { background: var(--lmdq-cream) !important; }

/* ---------- Themes grid (ateliers) ---------- */
.lmdq-themes {
    max-width: 1080px; margin: 0 auto; padding: 80px 24px;
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
}
.lmdq-theme-card {
    background: #fff; border: 1px solid var(--lmdq-line); border-radius: 18px;
    padding: 30px 26px; transition: transform .2s ease, box-shadow .2s ease;
}
.lmdq-theme-card:hover { transform: translateY(-4px); box-shadow: 0 18px 32px -20px rgba(58,53,44,0.25); }
.lmdq-theme-card .lmdq-icon {
    width: 48px; height: 48px; border-radius: 13px; display: flex; align-items: center; justify-content: center;
    background: var(--lmdq-cream); color: var(--lmdq-terracotta); font-size: 22px; margin-bottom: 16px;
}
.lmdq-theme-card h3 { margin: 0 0 8px; color: var(--lmdq-ink); font-family: 'Nunito Sans', sans-serif; font-weight: 700; font-size: 17px; }
.lmdq-theme-card p { margin: 0; font-size: 14.5px; color: var(--lmdq-muted); }

/* ---------- Section: intro / mission ---------- */
.lmdq-section { max-width: 780px; margin: 0 auto; padding: 70px 24px; }
.lmdq-section.lmdq-center { text-align: center; }
.lmdq-section .lmdq-eyebrow {
    display: block; text-transform: uppercase; letter-spacing: 0.14em; font-size: 13px;
    font-weight: 700; color: var(--lmdq-sage-deep); margin-bottom: 14px; font-family: 'Nunito Sans', sans-serif;
}
.lmdq-section-alt { background: var(--lmdq-cream); }
.lmdq-section-alt .lmdq-inner { max-width: 780px; margin: 0 auto; padding: 70px 24px; }

/* ---------- Calendar / events block ---------- */
.lmdq-events-wrap { max-width: 1080px; margin: 0 auto; padding: 80px 24px; }
.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events-single-event-title { color: var(--lmdq-terracotta-deep) !important; font-family: 'Fraunces', serif !important; }
.tribe-events-calendar-list__event { border-radius: 14px !important; }

/* ---------- CTA band ---------- */
.lmdq-cta {
    background: var(--lmdq-ink); color: #fff; text-align: center;
    padding: 70px 24px; margin-top: 0;
}
.lmdq-cta h2 { color: #fff; }
.lmdq-cta p { color: rgba(255,255,255,0.75); max-width: 480px; margin: 0 auto 28px; }

/* ---------- Footer ---------- */
#colophon, .ast-small-footer {
    background: var(--lmdq-ink) !important; color: rgba(255,255,255,0.7) !important;
    font-family: 'Nunito Sans', sans-serif;
}
#colophon a, .ast-small-footer a { color: #fff !important; }

/* ---------- Responsive ---------- */
@media (max-width: 800px) {
    .lmdq-themes { grid-template-columns: 1fr; padding: 60px 20px; }
    .lmdq-hero { padding: 70px 20px 80px; }
}
