/* Charte publique "Le Coq et ses Bêêêles" (accueil, mentions légales, confidentialité, désinscription, connexion) — voir Pages/Shared/_LayoutPublic.cshtml */

.home {
    --color-bg: #f5ead8;
    --color-surface: #ebddc5;
    --color-text: #201e1d;

    --color-neutral-100: #f9f4ed;
    --color-neutral-700: #645c50;
    --color-neutral-900: #2e2b25;

    --color-accent-100: #fff2eb;
    --color-accent-500: #d67f48;
    --color-accent-600: #b2622d;
    --color-accent-700: #8c491a;
    --color-accent-800: #643312;

    --color-accent-2-100: #f0fae1;
    --color-accent-2-700: #56633f;

    --font-heading: "Caprasimo", system-ui, sans-serif;
    --font-body: "Figtree", system-ui, sans-serif;

    --radius-md: 16px;
    --radius-lg: 28px;

    --shadow-sm: 0 1px 2px rgba(46, 43, 37, .14);
    --shadow-md: 0 3px 10px rgba(46, 43, 37, .16);

    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
}

.home h1, .home h2, .home h3 {
    font-family: var(--font-heading);
    font-weight: 400;
    letter-spacing: -.015em;
    line-height: 1.12;
    margin: 0 0 .5rem;
    color: var(--color-text);
}

.home-h1 { font-size: clamp(2.1rem, 4.5vw, 3rem); margin-bottom: 1rem; }
.home-h2 { font-size: clamp(1.6rem, 3vw, 2rem); }
.home-h3 { font-size: 1.15rem; }

.home-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--color-accent-100);
    color: var(--color-accent-800);
}

.home-lead { font-size: 18px; color: var(--color-neutral-700); margin: 0 0 1rem; }
.home-lead-muted { font-size: 17px; color: var(--color-neutral-700); margin: 0; }
.home-text { font-size: 15px; margin: 0; }
.home-muted { color: var(--color-neutral-700); }
.home-muted-sm { color: var(--color-neutral-700); font-size: 14px; margin: 0; }

.home-hero-card {
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 2.25rem 2rem;
    text-align: center;
}

.home-hero-logo { max-height: 210px; width: auto; margin: 0 auto 1.1rem; display: block; }

.home-card {
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 1.75rem;
    height: 100%;
    text-align: center;
}

.home-card-media {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 1rem;
    margin-bottom: 1rem;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-card-media img { max-height: 200px; width: auto; max-width: 100%; object-fit: contain; }

.home-section-tint {
    background: var(--color-accent-2-100);
    border-radius: var(--radius-lg);
    padding: 2.75rem 1.5rem;
}

.home-icon-badge {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin: 0 auto 1rem;
    box-shadow: var(--shadow-sm);
}

.home-step-number {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--color-accent-500);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 20px;
    margin: 0 auto;
}

.home-cta {
    background: var(--color-accent-700);
    color: #fff;
    border-radius: var(--radius-lg);
    padding: 3rem 1.5rem;
    text-align: center;
}

.home-cta h2 { color: #fff; }
.home-cta-text { font-size: 17px; opacity: .92; margin: 0 0 .5rem; }
.home-cta-brand { margin: 0; font-weight: 700; }

.home-footer {
    background: var(--color-neutral-900);
    color: #fff;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    padding: 1.25rem 1.5rem;
}

.home-footer-copy { opacity: .65; }

.home-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    padding: .5rem 1.25rem;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
}

.home-btn-outline { color: #fff; border-color: rgba(255, 255, 255, .35); }
.home-btn-outline:hover { background: rgba(255, 255, 255, .08); color: #fff; }

.home-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px;
    background: var(--color-neutral-900);
}

.home-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
}

.home-header-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.home-header-logo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-header-logo img {
    width: 120%;
    height: 120%;
    object-fit: cover;
}

.home-header-title {
    font-family: var(--font-heading);
    font-size: 18px;
    color: #fff;
}

.home-header-brand { text-decoration: none; }

/* --- Structure du layout public : pied de page collé en bas --- */
.home-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.home-page > main { flex: 1 0 auto; }

/* --- Pages de contenu (mentions légales, confidentialité...) --- */
.home-legal {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    padding: 2.5rem 2rem;
    font-size: 15px;
    line-height: 1.6;
}

@media (max-width: 575.98px) {
    .home-legal { padding: 1.75rem 1.25rem; }
}

.home-legal h2 {
    font-size: 1.35rem;
    margin-top: 2rem;
    color: var(--color-accent-700);
}

.home-legal ul { padding-left: 1.25rem; }
.home-legal li { margin-bottom: .25rem; }

.home-legal a { color: var(--color-accent-700); }
.home-legal a:hover { color: var(--color-accent-800); }

.home-legal .table { --bs-table-bg: transparent; font-size: 14px; }
.home-legal .table thead th { background: var(--color-surface); border-color: var(--color-surface); }
.home-legal .table td, .home-legal .table th { border-color: var(--color-surface); padding: .6rem .75rem; }

.home-legal-narrow { max-width: 600px; }

.home-legal .alert-success { background: var(--color-accent-2-100); border-color: var(--color-accent-2-100); color: var(--color-accent-2-700); }
.home-legal .alert-warning { background: var(--color-accent-100); border-color: var(--color-accent-100); color: var(--color-accent-800); }

.home-btn-primary { background: var(--color-accent-700); color: #fff; }
.home-btn-primary:hover, .home-btn-primary:focus { background: var(--color-accent-800); color: #fff; }

/* --- Connexion (Areas/Identity/Pages/Account/Login.cshtml) --- */
.home-login { max-width: 460px; }

.home-login .form-control {
    border-radius: var(--radius-md);
    border-color: var(--color-surface);
}

.home-login .form-control:focus,
.home-login .form-check-input:focus {
    border-color: var(--color-accent-500);
    box-shadow: 0 0 0 .2rem rgba(214, 127, 72, .25);
}

.home-login .form-check-input:checked {
    background-color: var(--color-accent-700);
    border-color: var(--color-accent-700);
}

.home-login .home-btn { font-size: 15px; padding: .7rem 1.25rem; }

.home-login-erreur.validation-summary-errors {
    background: var(--color-accent-100);
    color: var(--color-accent-800);
    border-radius: var(--radius-md);
    padding: .75rem 1rem;
    margin-bottom: 1rem;
    font-size: 14px;
}

.home-login-erreur ul { margin: 0; padding: 0; list-style: none; }
