﻿/* =========================================
   CSE - ESPACE PUBLIC
   ========================================= */
:root {
    --cse-primary: #0D6EFD;
    --cse-dark: #1E3A5F;
    --cse-body: #F5F7FB;
    --cse-text: #344054;
}

body {
    background: var(--cse-body);
    color: var(--cse-text);
    font-family: "Segoe UI", sans-serif;
    min-height: 100vh;
}

/* HEADER */
.public-header {
    background: white;
    border-bottom: 1px solid #E5E7EB;
}

    .public-header .navbar {
        min-height: 76px;
    }

/* Logo - VERSION ICONE CORRIGEE */
.navbar-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--cse-dark);
    font-size: 1.35rem;
    font-weight: 700;
    text-decoration: none;
}

    .navbar-brand:hover {
        color: var(--cse-dark);
    }

.public-Iconelogo-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 1rem !important;
}

    .cse-iconelogo-hero,
    img.cse-iconelogo-hero {
        width: 26px !important;
        height: 26px !important;
        max-width: 26px !important;
        max-height: 26px !important;
        object-fit: contain !important;
        display: block !important;
    }

.navbar-brand small {
    display: block;
    font-size: .72rem;
    font-weight: 400;
    color: #6c757d;
}


.public-login {
    color: #6c757d;
    font-size: .85rem;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 6px;
    transition: .2s
}

    .public-login:hover {
        color: var(--cse-dark);
        background: #f5f5f5
    }

.public-hero {
    padding: 80px 20px 70px
}

.public-card {
    background: white;
    border-radius: 22px;
    padding: 60px 50px;
    box-shadow: 0 5px 25px rgba(0,0,0,.07)
}

.public-icon {
    font-size: 4.5rem;
    margin-bottom: 20px
}

.public-hero h1 {
    color: var(--cse-dark);
    font-weight: 700;
    font-size: 2.5rem
}

.public-hero .lead {
    max-width: 650px;
    margin: 0 auto;
    color: #6c757d;
    font-size: 1.1rem
}

.public-action {
    min-height: 125px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 14px;
    padding: 20px;
    text-decoration: none;
    transition: .25s ease
}

    .public-action i {
        font-size: 2rem;
        margin-bottom: 8px
    }

    .public-action strong {
        font-size: 1.05rem
    }

    .public-action small {
        margin-top: 5px
    }

.public-action-primary {
    background: var(--cse-primary);
    color: white
}

    .public-action-primary:hover {
        background: #0b5ed7;
        color: white;
        transform: translateY(-3px);
        box-shadow: 0 8px 18px rgba(13,110,253,.20)
    }

.public-action-outline {
    border: 2px solid var(--cse-primary);
    color: var(--cse-primary);
    background: white
}

    .public-action-outline:hover {
        background: #f0f6ff;
        color: var(--cse-primary);
        transform: translateY(-3px)
    }

.public-contact {
    margin-top: 30px
}

    .public-contact a {
        color: #6c757d;
        text-decoration: none;
        font-size: .95rem
    }

        .public-contact a:hover {
            color: var(--cse-primary)
        }

.public-footer {
    margin-top: 50px;
    padding: 30px 0 20px;
    background: var(--cse-dark);
    color: rgba(255,255,255,.85)
}

    .public-footer a {
        color: white;
        text-decoration: none
    }

        .public-footer a:hover {
            text-decoration: underline
        }

    .public-footer hr {
        border-color: rgba(255,255,255,.15);
        margin: 25px 0 15px
    }

@media (max-width: 767px) {
    .public-hero {
        padding: 40px 15px
    }

    .public-card {
        padding: 40px 20px;
        border-radius: 16px
    }

    .public-hero h1 {
        font-size: 2rem
    }

    .public-action {
        min-height: 110px
    }

    .public-header .navbar {
        min-height: 68px
    }
}
