/* --- Variables de Design Modernes --- */
:root {
    --primary-color: #091e73;
    --bg-light: #f4f5fa;
    --text-dark: #2c3e50;
    --text-muted: #64748b;
    --border-radius: 12px;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
}

/* --- Global & Background --- */
body, html {
    background-color: var(--bg-light) !important;
    font-family: 'Inter', 'Open Sans', sans-serif;
    color: var(--text-dark);
}

/* --- Header --- */
.header {
    background: var(--primary-color) !important;
    box-shadow: var(--shadow-sm);
}

/* --- Sidebar (Navigation) --- */
.page-sidebar {
    background: #ffffff !important;
    border-right: 1px solid #e2e8f0;
}

.page-sidebar-menu .title {
    color: var(--text-dark);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3px;
    transition: all 0.2s ease;
}

span.title.submenu-level-0, 
span.title.level-0 {
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 12px;
    color: var(--primary-color);
}

/* --- Contenu & Typographie --- */
.media-heading, .heading {
    color: var(--primary-color);
    font-weight: 700;
    letter-spacing: -0.5px;
}

.item_heading_link {
    font-size: 14px;
    color: var(--primary-color);
    text-decoration: none;
}

/* --- Page de Connexion (Login) --- */
.login {
    background-color: #ffffff !important;
    border-radius: var(--border-radius) !important;
    box-shadow: var(--shadow-md) !important;
    padding: 30px !important;
    border: 1px solid #edf2f7;
}

/* --- Breadcrumbs --- */
.page-breadcrumb {
    background: transparent;
    padding-left: 0;
}

.page-breadcrumb a {
    pointer-events: none;
    color: var(--text-muted) !important;
    font-size: 13px;
}

/* --- Bouton Registration (Custom Text) --- */
a.btn-registration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-color);
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 0 !important; /* Cache le texte original proprement */
    position: relative;
    transition: opacity 0.2s;
    min-height: 35px;
}

a.btn-registration::before {
    content: "Créer un compte";
    font-size: 13px;
    color: #ffffff;
    visibility: visible;
}

a.btn-registration:hover {
    opacity: 0.9;
    text-decoration: none;
}

/* --- Nettoyage Interface (Masquage) --- */
/* Masquer calendrier et config dashboard */
li a[href*="module=ext/calendar/personal"],
li a[onclick*="module=dashboard/configure"] {
    display: none !important;
}

/* --- Optimisation des images --- */
.fieldtype-image-container img {
    border-radius: 8px;
    object-fit: cover;
    box-shadow: var(--shadow-sm);
}

.listing-section-align-left ul.list-inline li{
    font-weight:700;
    color:#0b2c5f;
}

.fieldtype-image-container img {
    width: 50%;
}
.fieldtype-image-container{
    text-align:center;
}

/*===================================*/
a.item_heading_link{
    display:inline;
    font-size:15px;
    font-weight:700;
    color:#0b2c5f;
    text-decoration:none;
    letter-spacing:0.2px;
    position:relative;
    transition:color 0.2s ease;
}

a.item_heading_link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-3px;
    width:100%;
    height:2px;
    background:linear-gradient(90deg,#0b2c5f,transparent);
    transform:scaleX(0.3);
    transform-origin:left;
    transition:transform 0.25s ease;
    opacity:0.6;
}

a.item_heading_link:hover{
    color:#1e3a8a;
}

a.item_heading_link:hover::after{
    transform:scaleX(1);
    opacity:1;
}
@media (max-width: 768px){
    a.item_heading_link{
        line-height:1.4;
        display:block;
    }
}

.fieldtype-image-container {
    border: none;
    padding: 1px;
    overflow: visible;
}


/*             css inline right        */
.listing-section-align-right .list-inline{
    display:flex;
    gap:18px;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    margin:0;
    padding:0;
}

.listing-section-align-right .list-inline li{
    list-style:none;
    color:#e67e22;
    font-weight:700;
    font-size:15px;
    letter-spacing:0.2px;
    position:relative;
    padding-left:14px;
    text-shadow:0 1px 1px rgba(0,0,0,0.05);
}

.listing-section-align-right .list-inline li::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    color:#ff9f43;
    font-size:18px;
    line-height:1;
}

.listing-section-align-right .list-inline li:hover{
    color:#d35400;
}
/*               align center          */
.listing-section-align-center .list-inline{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    margin:6px 0;
    padding:4px 0;
}

.listing-section-align-center .list-inline li{
    list-style:none;
    color:#315b8a;
    font-size:13px;
    font-weight:600;
    letter-spacing:0.2px;
    position:relative;
    padding-left:12px;
    line-height:1.6;
}

.listing-section-align-center .list-inline li::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    color:#4f79a8;
    font-size:14px;
    line-height:1.5;
}