/* Import Google Fonts - Roboto */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap');

:root {
    --noovimo-bg: #F8FAFC;
    --noovimo-primary-color: #dd083b;
    --noovimo-primary-rgb: 221, 8, 59;
}

/* Application de la police Roboto */
body,
h1, h2, h3, h4, h5, h6,
p, a, span, div,
input, textarea, select, button {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Fond gradient global inspiré de l'agenda */
body {
    background: var(--noovimo-bg);
    background-image:
        radial-gradient(circle at 18% 18%, rgba(var(--noovimo-primary-rgb), 0.08), transparent 32%),
        radial-gradient(circle at 78% 12%, rgba(15, 23, 42, 0.08), transparent 30%),
        radial-gradient(circle at 50% 100%, rgba(12, 74, 110, 0.04), transparent 35%);
    min-height: 100vh;
}

#page-wrapper,
.is-center-content,
.celst-main-content,
.celst-left-sidebar,
.celst-right-sidebar {
    background: transparent;
}

/* Adoucit le fond des zones principales pour laisser ressortir les cartes */
.nhc-calendar-container,
.nhd-dashboard-container,
.mnd-dashboard-container,
.nhm-mail-container {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.98));
    border-radius: 16px;
}

/* Forcer l'ouverture du menu profil BP quand la classe est présente (fallback JS) */
body.user-menu-open #user-sidebar {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(-6px);
    z-index: 9999;
}

/* Corrections menu latéral (icônes + trigger) */
#navbar #nav-trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #1f2937 !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 9999;
}
#navbar #nav-trigger i,
#navbar #nav-trigger svg {
    color: #1f2937 !important;
}

.noovimo-modern-menu-ready .main-modern-menu li.menu-item a.has-modern-icon .woffice-modern-icon {
    display: flex !important;
    opacity: 1 !important;
    color: #1f2937 !important;
}

/* SnappyMail plein écran */
body.page-template-template-snappymail-full {
    --adminbar-offset: 0px;
}

body.admin-bar.page-template-template-snappymail-full {
    --adminbar-offset: 32px;
}

@media (max-width: 782px) {
    body.admin-bar.page-template-template-snappymail-full {
        --adminbar-offset: 46px;
    }
}

.snappymail-fullpage {
    min-height: calc(100vh - var(--adminbar-offset));
    padding: 0;
    margin: 0;
}

body.page-template-template-snappymail-full #content,
body.page-template-template-snappymail-full #content-container,
body.page-template-template-snappymail-full #left-content {
    padding: 0 !important;
    margin: 0 !important;
}

body.page-template-template-snappymail-full .snappymail-embed-wrapper,
body.page-template-template-snappymail-full .snappymail-embed-wrapper iframe {
    height: calc(100vh - var(--adminbar-offset));
    min-height: calc(100vh - var(--adminbar-offset));
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: block;
}

.noovmail-hero {
    margin: 0 0 12px 0;
    padding: 16px 18px;
    border-radius: 12px;
    background: linear-gradient(120deg, #0f172a, #172554);
    color: #e2e8f0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.noovmail-hero__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 4px 0;
}

.noovmail-hero__subtitle {
    margin: 0;
    font-size: 14px;
    color: rgba(226, 232, 240, 0.85);
}

/* Badge mails sur la cloche */
#nav-notification-trigger {
    position: relative;
}

.noov-mail-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: var(--noovimo-primary-color);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 6px 16px rgba(var(--noovimo-primary-rgb), 0.3);
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.2s ease;
}

.noov-mail-badge.active {
    opacity: 1;
    transform: scale(1);
}

/* Widget NoovMail (dashboard) */
.noov-mail-widget {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.noov-mail-widget__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.noov-mail-widget__title {
    font-weight: 700;
    color: #0f172a;
}

.noov-mail-widget__count {
    font-size: 12px;
    font-weight: 700;
    color: var(--noovimo-primary-color);
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 999px;
    padding: 4px 8px;
}

.noov-mail-widget__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    font-weight: 600;
    color: var(--noovimo-primary-color);
    text-decoration: none;
    border: 1px solid var(--noovimo-primary-color);
    border-radius: 10px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
}

.noov-mail-widget__cta:hover {
    background: var(--noovimo-primary-color);
    color: #fff;
}

.noov-mail-widget__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

.noov-mail-widget__item {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 8px 10px;
    background: #f8fafc;
}

.noov-mail-widget__from {
    font-weight: 700;
    color: #0f172a;
}

.noov-mail-widget__subject {
    font-size: 13px;
    color: #475569;
}

.noov-mail-widget__date {
    font-size: 12px;
    color: #94a3b8;
}

.noov-mail-widget__empty {
    margin: 6px 0 0 0;
    color: #475569;
    font-size: 13px;
}
