/* ===== TITRES ===== */
.contact .section-title{
    font-size: clamp(1.6rem, 3vw, 2.4rem);
    text-align:center;
    margin-bottom:10px;
    color:#222;
}

.contact .section-subtitle{
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
    text-align:center;
    color:#666;
    margin-bottom:clamp(25px,4vw,40px);
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
}

.contact .section-heading{
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    margin-top:clamp(30px,4vw,40px);
    margin-bottom:15px;
    color:#333;
}

/* ===== BLOCS PAR NIVEAU ===== */

.niveau-bloc{
    margin-bottom:clamp(30px,4vw,50px);
}

.niveau-title{
    font-size: clamp(1.1rem, 1.6vw, 1.3rem);
    margin-bottom:20px;
    padding-left:12px;
    border-left:4px solid #444;
    color:#222;
}

/* ===== GRID COURS ===== */

.cours-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:clamp(15px,2vw,25px);
}

/* ===== CARD COURS ===== */
.cours-card{
    background:#fff;
    padding:clamp(14px,2vw,20px);
    border-radius:8px;
    box-shadow:0 2px 6px rgba(0,0,0,0.06);
    transition:transform .25s ease, box-shadow .25s ease;
}

.cours-card:hover{
    transform:translateY(-4px);
    box-shadow:0 8px 18px rgba(0,0,0,0.08);
}

/* ===== CONTENU ===== */

.cours-matiere{
    font-size: clamp(1rem,1.4vw,1.1rem);
    margin-bottom:8px;
    color:#222;
}

.cours-info{
    font-size: clamp(0.85rem,1.1vw,0.95rem);
    color:#555;
    margin-bottom:4px;
}

.cours-description{
    font-size: clamp(0.85rem,1.1vw,0.95rem);
    color:#666;
    margin-top:6px;
    line-height:1.5;
}

/* ===== PLACEHOLDER SECTIONS ===== */

.placeholder{
    background:#f7f7f7;
    padding:clamp(15px,2vw,22px);
    border-radius:6px;
    color:#666;
    font-size:clamp(0.9rem,1.2vw,1rem);
}

/* ===== Encadrements Thèses / Mémoires ===== */
.encadrements-memoires-theses {
    margin-top: 30px;
}

/* Titre de chaque type d'encadrement */
.encadrements-memoires-theses h3 {
    font-size: clamp(1.3rem, 2vw, 1.6rem);
    color: #2c3e50;
    margin-bottom: 15px;
    border-left: 4px solid #db3447;
    padding-left: 10px;
}

/* Liste moderne avec puces */
.encadrements-memoires-theses p {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: clamp(0.95rem, 1.2vw, 1rem);
    color: #444444;
    line-height: 1.5;
}

/* Création de la puce personnalisée */
.encadrements-memoires-theses p::before {
    content: "•"; /* puce */
    position: absolute;
    left: 0;
    top: 0;
    color: #db345b; /* couleur de la puce */
    font-size: 1.2em;
    line-height: 1.5;
}

/* Hover léger pour effet moderne */
.encadrements-memoires-theses p:hover {
    background-color: #f5f8fa;
    border-radius: 4px;
    padding-left: 23px; /* léger shift visuel */
}


.cours-section {
    margin-top: 10px;
}

.cours-section ul {
    padding-left: 20px;
}

.cours-section li {
    margin-bottom: 5px;
}



/* Responsive */
@media (max-width: 768px) {
    .encadrements-memoires-theses h3 {
        font-size: 1.4rem;
    }
    .encadrements-memoires-theses p {
        font-size: 0.95rem;
        padding-left: 20px;
    }
}

@media (max-width: 480px) {
    .encadrements-memoires-theses h3 {
        font-size: 1.3rem;
    }
    .encadrements-memoires-theses p {
        font-size: 0.9rem;
        padding-left: 18px;
    }
}


/* ===== RESPONSIVE ===== */

/* tablettes */
@media(max-width:1024px){

    .cours-grid{
        grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    }
}

/* mobile */
@media(max-width:768px){
    .contact .container{
        padding-left:18px;
        padding-right:18px;
    }

    .cours-grid{
        grid-template-columns:1fr;
    }

    .niveau-title{
        border-left-width:3px;
    }

}

/* petits mobiles */
@media(max-width:480px){

    .contact .section-title{
        font-size:1.6rem;
    }

    .contact .section-subtitle{
        font-size:0.95rem;
    }

    .cours-card{
        padding:14px;
    }

    .cours-matiere{
        font-size:1rem;
    }

    .cours-info,
    .cours-description{
        font-size:0.9rem;
    }
}
