:root {
    --mit-violet: #3C3489;
    --mit-teal: #1D9E75;
    --mit-mint: #5DCAA5;
}

body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    color: #222;
}

/* --- Navbar --- */
.mit-navbar {
    background: linear-gradient(90deg, var(--mit-violet), var(--mit-teal));
}

.mit-navbar .nav-link {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

.mit-navbar .nav-link:hover {
    color: #fff;
}

.mit-btn-mint {
    background-color: var(--mit-mint);
    color: #103b2c;
    font-weight: 600;
    border: none;
}

.mit-btn-mint:hover {
    background-color: #4bb890;
    color: #103b2c;
}

/* --- Hero --- */
.mit-hero {
    background: linear-gradient(135deg, var(--mit-violet) 0%, var(--mit-teal) 100%);
    color: #fff;
    padding: 5rem 0;
}

.mit-hero h1 {
    font-weight: 800;
    font-size: 2.75rem;
}

.mit-hero .lead {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.9);
}

.mit-hero img.mit-logo-hero {
    max-height: 140px;
}

/* --- Buttons & accents --- */
.btn-mit-primary {
    background-color: var(--mit-teal);
    border-color: var(--mit-teal);
    color: #fff;
    font-weight: 600;
}

.btn-mit-primary:hover {
    background-color: #167a58;
    border-color: #167a58;
    color: #fff;
}

.btn-mit-outline {
    border: 2px solid #fff;
    color: #fff;
    font-weight: 600;
    background: transparent;
}

.btn-mit-outline:hover {
    background: #fff;
    color: var(--mit-violet);
}

.text-mit-violet { color: var(--mit-violet); }
.text-mit-teal { color: var(--mit-teal); }

/* --- Cards --- */
.mit-card {
    border: none;
    border-radius: 0.75rem;
    box-shadow: 0 4px 16px rgba(60, 52, 137, 0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    height: 100%;
}

.mit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(60, 52, 137, 0.15);
}

.mit-card .card-header {
    background-color: var(--mit-violet);
    color: #fff;
    font-weight: 600;
    border-radius: 0.75rem 0.75rem 0 0 !important;
}

.mit-badge-chapitre {
    background-color: var(--mit-mint);
    color: #103b2c;
    font-weight: 600;
    white-space: normal;
    max-width: 100%;
    text-align: left;
    line-height: 1.3;
}

/* --- Section titles --- */
.mit-section-title {
    color: var(--mit-violet);
    font-weight: 800;
    margin-bottom: 2rem;
    position: relative;
    padding-bottom: 0.5rem;
}

.mit-section-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: var(--mit-teal);
    border-radius: 2px;
}

/* --- Footer --- */
.mit-footer {
    background-color: var(--mit-violet);
    color: rgba(255, 255, 255, 0.85);
}

/* --- Links page --- */
.mit-link-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem;
    border-radius: 0.75rem;
    text-decoration: none;
    color: #222;
    background: #f7f7fb;
    transition: background 0.15s ease;
}

.mit-link-card:hover {
    background: #eceafb;
    color: var(--mit-violet);
}

.mit-link-card i {
    font-size: 1.75rem;
    color: var(--mit-teal);
}

/* --- Admin --- */
.mit-admin-header {
    background-color: var(--mit-violet);
    color: #fff;
    padding: 1.5rem 0;
}

/* --- Video embarquee (facade cliquable) --- */
/* .mit-video-facade est enfant direct de .ratio : Bootstrap lui applique deja
   position:absolute; inset:0; width:100%; height:100% via ".ratio > *".
   Ne pas redefinir position/width/height ici, sinon la boite perd ses dimensions. */
.mit-video-facade {
    display: block;
    cursor: pointer;
    background-color: #000;
    overflow: hidden;
}

.mit-video-facade img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.85;
    transition: opacity 0.15s ease;
}

.mit-video-facade:hover img {
    opacity: 1;
}

.mit-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(29, 158, 117, 0.9);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    padding-left: 4px;
    transition: transform 0.15s ease, background-color 0.15s ease;
}

.mit-video-facade:hover .mit-play-btn {
    background-color: var(--mit-teal);
    transform: translate(-50%, -50%) scale(1.1);
}

.mit-card-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* --- Bandeau de bienvenue (premiere visite) --- */
.mit-welcome-banner {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1080;
    width: 300px;
    max-width: calc(100vw - 2.5rem);
    background: linear-gradient(135deg, var(--mit-violet) 0%, var(--mit-teal) 100%);
    color: #fff;
    padding: 1.25rem 1.25rem 1.1rem;
    border-radius: 1rem;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.mit-welcome-banner.mit-welcome-visible {
    opacity: 1;
    transform: translateY(0);
}

.mit-welcome-close {
    position: absolute;
    top: 0.5rem;
    right: 0.75rem;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
}

.mit-welcome-close:hover {
    color: #fff;
}

/* --- Section inscription --- */
.mit-inscription-section {
    padding: 1rem 0 4rem;
}

.mit-inscription-card {
    background: linear-gradient(135deg, var(--mit-violet) 0%, var(--mit-teal) 100%);
    border-radius: 1rem;
    padding: 2.5rem;
    box-shadow: 0 10px 30px rgba(60, 52, 137, 0.2);
}

.mit-inscription-card .form-control {
    background-color: rgba(255, 255, 255, 0.95);
    border: none;
}

.mit-inscription-card .input-group-text {
    background-color: rgba(255, 255, 255, 0.95);
    border: none;
    color: var(--mit-teal);
}

@media (max-width: 767px) {
    .mit-inscription-card {
        padding: 1.5rem;
    }
}
