/* Couleurs personnalisées ACADÉMIE DES ANGES */
:root {
    --academie-yellow: #D7C735;
    --academie-blue: #53C2DD;
    --academie-yellow-light: #CBC55F;
    --academie-blue-dark: #151447;
    --academie-gray: #696969;
}

/* Logo Styling */
.academie-logo {
    max-height: 60px;
    width: auto;
}

/* Navbar customization */
.navbar-brand h1 {
    color: white;
}

/* Footer customization */
footer h1.text-white {
    color: var(--academie-yellow) !important;
}

/* Custom classes for academie colors */
.bg-academie-yellow {
    background-color: var(--academie-yellow) !important;
}

.bg-academie-blue {
    background-color: var(--academie-blue) !important;
}

.bg-academie-blue-dark {
    background-color: var(--academie-blue-dark) !important;
}

.text-academie-yellow {
    color: var(--academie-yellow) !important;
}

.text-academie-blue {
    color: var(--academie-blue) !important;
}

.text-academie-blue-dark {
    color: var(--academie-blue-dark) !important;
}

.text-academie-gray {
    color: var(--academie-gray) !important;
}

/* Button customizations */
.btn-academie-yellow {
    background-color: var(--academie-yellow);
    border-color: var(--academie-yellow);
    color: var(--academie-blue-dark);
}

.btn-academie-yellow:hover {
    background-color: #c7b830;
    border-color: #bbaa2c;
    color: var(--academie-blue-dark);
}

.btn-academie-blue {
    background-color: var(--academie-blue);
    border-color: var(--academie-blue);
    color: var(--academie-blue-dark);
}

.btn-academie-blue:hover {
    background-color: #4ab0c9;
    border-color: #45a8c0;
    color: var(--academie-blue-dark);
}

/* Section backgrounds */
.bg-academie-light {
    background-color: var(--light) !important;
}

/* Mobile header specific improvements */
@media (max-width: 768px) {
    .jumbotron {
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        min-height: 45vh !important;
    }

    .jumbotron-fluid {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .overlay-bottom {
        display: block !important;
    }

    .overlay-bottom::after {
        display: none;
    }

    /* Ensure header fills screen properly on mobile */
    .jumbotron.position-relative {
        width: 100%;
        height: 45vh;
    }
}

/* Responsive improvements */
/* Mobile responsive */
@media (max-width: 768px) {
    /* Logo responsive */
    .academie-logo {
        max-height: 35px;
    }

    /* Navbar brand text hide on mobile */
    .navbar-brand h1 {
        font-size: 0.9rem !important;
    }

    /* Navbar responsive */
    .navbar {
        padding: 0.5rem 1rem !important;
    }

    .navbar-brand {
        font-size: 0.9rem;
    }

    /* Jumbotron responsive */
    .jumbotron {
        min-height: 50vh !important;
        padding: 0 !important;
        background-position: center center !important;
        background-attachment: scroll !important;
    }

    /* Jumbotron header spécifique pour mobile */
    .jumbotron.position-relative {
        min-height: 45vh !important;
    }

    /* Container padding reduce on mobile */
    .container {
        padding: 0 10px;
    }

    /* Cards responsive */
    .courses-item, .team-item {
        margin-bottom: 1rem;
    }

    /* Form inputs responsive */
    .form-control {
        font-size: 16px; /* Prevent zoom on iOS */
        padding: 0.75rem !important;
    }

    /* Section titles responsive */
    .display-1 {
        font-size: 1.8rem !important;
    }

    .display-4 {
        font-size: 1.3rem !important;
    }

    /* Footer responsive */
    footer .col-md-6 {
        margin-bottom: 2rem;
    }

    /* Button responsive */
    .btn {
        padding: 0.5rem 1rem;
        font-size: 0.9rem;
    }

    /* Grid responsive */
    .row {
        margin-right: -5px;
        margin-left: -5px;
    }

    .col-lg-4, .col-md-6, .col-12 {
        padding-right: 5px;
        padding-left: 5px;
    }

    /* Topbar responsive */
    .topbar-text {
        font-size: 0.75rem;
    }

    /* Header and footer stay visible on very small screens */
    @media (max-width: 480px) {
        .site-topbar,
        .site-footer-main,
        .site-footer-bottom {
            display: block !important;
        }

        /* Additional mobile improvements */
        .navbar {
            padding: 0.25rem 0.5rem !important;
        }

        .academie-logo {
            max-height: 30px !important;
        }

        .navbar-brand h1 {
            font-size: 0.8rem !important;
        }

        .nav-link {
            font-size: 0.9rem !important;
            padding: 0.5rem 0.75rem !important;
        }

        .btn {
            font-size: 0.85rem !important;
            padding: 0.4rem 0.8rem !important;
        }

        .site-topbar .row,
        .site-footer-bottom .row {
            margin-right: 0;
            margin-left: 0;
        }

        .site-footer-main {
            margin-top: 40px !important;
            padding-top: 2rem !important;
            padding-bottom: 2rem !important;
        }
    }

    /* Ensure proper viewport meta tag behavior */
    @viewport {
        width: device-width;
        zoom: 1.0;
    }
}

/* Tablet responsive */
@media (min-width: 769px) and (max-width: 1024px) {
    .academie-logo {
        max-height: 50px;
    }
    
    .jumbotron {
        min-height: 400px !important;
    }
    
    .display-1 {
        font-size: 2.5rem !important;
    }
}

/* Large screens */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

/* Image responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Grid improvements */
.row {
    margin-right: -10px;
    margin-left: -10px;
}

.col-lg-4, .col-md-6, .col-12 {
    padding-right: 10px;
    padding-left: 10px;
}

/* Button responsive */
.btn {
    white-space: normal;
    word-wrap: break-word;
}

/* Navbar responsive improvements */
.navbar-collapse {
    max-height: 80vh;
    overflow-y: auto;
}

@media (max-width: 991px) {
    .navbar-nav {
        margin-top: 1rem;
    }
    
    .nav-item {
        margin-bottom: 0.5rem;
    }
    
    .btn-academie-yellow {
        display: block;
        text-align: center;
        margin-top: 1rem;
    }
}

/* Card hover effects improvement */
.courses-item:hover, .team-item:hover {
    transform: translateY(-5px);
    transition: transform 0.3s ease;
}

/* Spacing improvements */
.section-title {
    margin-bottom: 2rem;
}

.py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

@media (min-width: 768px) {
    .py-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

 /* Logo du développeur (Codyng) — bandeau bas de page */
  .developer-credit{
    display:flex;
    align-items:center;
    gap: 10px;
    margin: 0;
  }
  .author-logo-wrap{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid var(--or);
    border-radius: 999px;
    padding: 6px 20px;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .author-logo-wrap:hover{
    transform: scale(1.06);
    box-shadow: 0 0 0 2px rgba(182,144,42,0.35);
  }
  .author-logo{
    height: 40px;
    width: auto;
    display: block;
  }

  @media (max-width: 900px){
    .footer-main{ grid-template-columns: 1fr 1fr; }
    .newsletter-inner{ flex-direction: column; align-items:flex-start; }
  }
  @media (max-width: 560px){
    .footer-main{ grid-template-columns: 1fr; gap: 34px; }
    .footer-bottom-inner{ flex-direction: column; align-items:flex-start; }
  }

@media (max-width: 480px) {
    .site-topbar,
    .site-footer-main,
    .site-footer-bottom {
        display: block !important;
    }

    .site-footer-main {
        margin-top: 40px !important;
    }
}

/* Responsive global: header image and footer visible on every viewport */
.jumbotron,
.jumbotron.jumbotron-fluid,
.jumbotron.overlay-bottom,
.jumbotron.page-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.site-topbar,
.site-footer-main,
.site-footer-bottom {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width: 575.98px) {
    .jumbotron,
    .jumbotron.jumbotron-fluid,
    .jumbotron.overlay-bottom,
    .jumbotron.page-header {
        min-height: 260px !important;
        height: auto !important;
        margin-bottom: 45px !important;
    }

    .jumbotron.position-relative {
        min-height: 260px !important;
        height: auto !important;
    }

    .overlay-bottom::after {
        display: none !important;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .jumbotron,
    .jumbotron.jumbotron-fluid,
    .jumbotron.overlay-bottom,
    .jumbotron.page-header {
        min-height: 320px !important;
        height: auto !important;
        margin-bottom: 55px !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .jumbotron,
    .jumbotron.jumbotron-fluid,
    .jumbotron.overlay-bottom,
    .jumbotron.page-header {
        min-height: 380px !important;
        height: auto !important;
        margin-bottom: 70px !important;
    }
}

@media (min-width: 992px) {
    .jumbotron,
    .jumbotron.jumbotron-fluid,
    .jumbotron.overlay-bottom {
        min-height: 60vh !important;
    }
}
