/* ==========================================================================
   Gestion Komunik — Design system Swiss / Komunik
   Police : Space Grotesk. Accent unique : rose Komunik. Aucun arrondi,
   aucune ombre (bordures fines à la place). Clair, aéré, sans superpositions.
   ========================================================================== */

:root {
    --kom-pink: #FF1AA6;
    --kom-pink-hover: #d6157f;
    --kom-ink: #0A0A0A;
    --kom-border: #e5e5e5;
}

/* ---- Typographie ---- */
html, body, .btn, .input, .select, .textarea, .badge, .menu {
    font-family: 'Space Grotesk', system-ui, sans-serif;
}

body {
    background: #fff;
    color: var(--kom-ink);
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* ---- Aucun arrondi (Swiss / International Style) ---- */
* {
    border-radius: 0 !important;
}

/* ---- Pas d'ombres : bordures fines à la place ---- */
.card,
.shadow, .shadow-sm, .shadow-md, .shadow-lg, .shadow-xl,
.dropdown-content {
    box-shadow: none !important;
    border: 1px solid var(--kom-border);
}

/* ---- Accent rose unique ---- */
.btn-primary {
    background: var(--kom-pink);
    border-color: var(--kom-pink);
    color: #fff;
}
.btn-primary:hover {
    background: var(--kom-pink-hover);
    border-color: var(--kom-pink-hover);
}

.badge-primary {
    background: var(--kom-pink);
    border-color: var(--kom-pink);
    color: #fff;
}

.text-primary {
    color: var(--kom-pink) !important;
}

.link-primary {
    color: var(--kom-pink);
}

.tab-active,
.tab.tab-active {
    color: var(--kom-pink) !important;
    border-color: var(--kom-pink) !important;
}

/* ---- Navigation : lien actif souligné en rose (classe posée par main.js) ---- */
.nav-link {
    border-bottom: 2px solid transparent;
    transition: color .15s ease, border-color .15s ease;
}
.nav-link:hover {
    color: var(--kom-pink);
}
.nav-link.active {
    color: var(--kom-pink);
    border-bottom-color: var(--kom-pink);
    font-weight: 600;
}

/* ==========================================================================
   Header horizontal (remplace la sidebar/drawer)
   ========================================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: #fff;
    border-bottom: 1px solid var(--kom-border);
}

.site-header__bar {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 0 1rem;
    min-height: 4rem;
}

@media (min-width: 768px) {
    .site-header__bar {
        padding: 0 2rem;
    }
}

.site-header__brand {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    color: var(--kom-ink);
    flex-shrink: 0;
    white-space: nowrap;
}

/* Nav principale : repliée en menu déroulant sous 768px */
.site-nav {
    display: none;
    flex-direction: column;
}

.site-nav a.nav-link {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .85rem 1rem;
    font-size: .875rem;
    color: var(--kom-ink);
}

.site-nav.is-open {
    display: flex;
}

@media (max-width: 767.98px) {
    .site-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #fff;
        border-bottom: 1px solid var(--kom-border);
    }
    .site-nav a.nav-link {
        border-bottom: 1px solid var(--kom-border);
    }
    .site-nav a.nav-link.active {
        border-bottom: 1px solid var(--kom-pink);
    }
}

@media (min-width: 768px) {
    .site-nav {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: .25rem;
        flex: 1;
    }
    .site-nav a.nav-link {
        padding: 1.3rem .75rem;
    }
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: .25rem;
    margin-left: auto;
    flex-shrink: 0;
}

.site-header__burger {
    display: inline-flex;
}

@media (min-width: 768px) {
    .site-header__burger {
        display: none;
    }
}
