/* Import du séparateur réutilisable */
@import url('partials/separator.css');

/* ========================================
   FOOTER
   ======================================== */

footer{
    .block-separator{
            top: 1px!important;
            /* z-index: -1; */

    }
}

.site-footer {
    background-color: #00283F;
    color: #FFFFFF;
    width: 100%;
    position: relative;
    padding-top: 20px;
    /* margin-top: 80px; */
}

/* Vague décorative */
.footer-wave {
    width: 100%;
    height: 92.5px;
    position: relative;
}

.footer-wave svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Main content */
.footer-main {
    background-color: #00283F;
    padding: 40px 0 50px;
}

.footer-main .container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-content {
    display: grid;
    grid-template-columns: 220px 220px 250px 200px;
    gap: 85px;
    justify-content: center;
    align-items: start;
}

/* Logo */
.footer-col-logo {
    padding: 0 10px;
}

.footer-logo {
    width: 100%;
    max-width: 250px;
    height: auto;
    display: block;
}

/* Agences */
.footer-col-agences {
    display: flex;
    flex-direction: column;
    gap: 37px;
}

.footer-agence-item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-agence-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    border-bottom: 1px solid #FFFFFF;
    padding: 0 0 15px 0;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.footer-agence-toggle:hover {
    opacity: 0.8;
}

.footer-agence-name {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: #5CBE95;
    text-align: left;
}

.footer-agence-icon {
    width: 20px;
    height: 20px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-agence-icon img {
    position: absolute;
    width: 100%;
    height: auto;
    filter: invert(1) contrast(2);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.footer-agence-icon .icon-minus {
    opacity: 0;
}

.footer-agence-toggle[aria-expanded="true"] .icon-plus {
    opacity: 0;
    transform: rotate(90deg);
}

.footer-agence-toggle[aria-expanded="true"] .icon-minus {
    opacity: 1;
}

.footer-agence-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #FFFFFF;
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out, margin-top 0.3s ease-in-out;
}

.footer-agence-content.is-open {
    max-height: 500px;
    opacity: 1;
}

.footer-agence-address,
.footer-agence-city,
.footer-agence-hours {
    color: #FFFFFF;
}

.footer-agence-phones {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.footer-agence-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: #FCC100;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-agence-phone:hover {
    opacity: 0.8;
}

.footer-agence-phone-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.footer-agence-phone-number {
    font-family: 'Maven Pro', sans-serif;
    font-weight: 900;
    font-size: 22px;
    line-height: 1;
    color: #FCC100;
    white-space: nowrap;
}

.footer-agence-email {
    color: #5CBE95;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-agence-email:hover {
    opacity: 0.8;
}

/* Newsletter */
.footer-col-newsletter {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.footer-section-title {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 800;
    font-size: 22px!important;
    color: #5CBE95;
    letter-spacing: 2.2px;
    margin: 0;
}

.footer-newsletter-box {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-newsletter-label {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 600;
    font-style: italic;
    font-size: 16px;
    color: #FFFFFF;
    letter-spacing: 1.6px;
}

.footer-newsletter-box .btn {
    align-self: flex-start;
}

.footer-socials-wrap {
    display: flex;
    flex-direction: row;
    gap: 15px;
    justify-content: space-between;
}

.footer-socials-label {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 16px;
    margin-top: auto;
    margin-bottom: auto;
    color: #FFFFFF;
    letter-spacing: 1.6px;
}

.footer-socials {
    display: flex;
    gap: 15px;
    align-items: center;
}

.footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 49px;
    height: 49px;
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 60px;
    padding: 15px;
    transition: background-color 0.3s ease;
}

.footer-social-link:hover {
    background-color: rgba(255, 255, 255, 0.25);
}

.footer-social-link img {
    width: 19px;
    height: 19px;
    object-fit: contain;
}

/* Certification */
.footer-col-certification {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
    margin-bottom: auto;
}

.footer-certification-text p {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 32;
    color: #FFFFFF;
    margin: 0;
    line-height: 1.4;
}

.footer-certification-logo {
    width: 180px;
}

.footer-certification-logo img {
    width: 100%;
    height: auto;
    display: block;
}

/* Partners */
.footer-partners {
    background-color: #00283F;
    border-top: 1px solid #FFFFFF;
    padding: 30px 0;
}

.footer-partners .container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-partners-content {
    display: flex;
    gap: 150px;
    justify-content: center;
    align-items: center;
}

.footer-partner-item {
    display: flex;
    gap: 25px;
    align-items: center;
}

.footer-partner-logo {
    flex-shrink: 0;
    &.logo-presanse img {
        height: 55px;
    }
}

.footer-partner-logo img {
    height: 75px;
    width: auto;
    display: block;
}

.footer-partner-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-partner-text p {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 13px;
    color: #FFFFFF;
    margin: 0;
    line-height: 1.4;
}

.footer-partner-text a {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #FFFFFF;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-partner-text a:hover {
    opacity: 0.8;
}

/* Legal */
.footer-legal {
    background-color: #007FB4;
    padding: 10px 0;
}

.footer-legal .container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer-legal-content {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-copyright {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 13px;
    color: #FFFFFF;
    margin: 0;
}

.footer-legal .menu-item {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline;
}

@media (min-width: 992px){
    .footer-legal .menu-item::before {
        content: '\00a0•\00a0';
        color: #FFFFFF;
        margin-right: 10px;
}

}
.footer-legal .menu-item:first-child::before {
    content: '\00a0•\00a0';
}

.footer-legal .menu-item a {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 13px;
    color: #FFFFFF;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-legal .menu-item a:hover {
    opacity: 0.8;
}

/* Responsive */
@media (max-width: 1400px) {
    .footer-content {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 40px;
        padding: 0 40px;
    }
    
    .footer-partners-content {
        padding: 0 100px;
        gap: 80px;
    }
}

@media (max-width: 1024px) {
    .footer-content {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    
    .footer-col-logo {
        grid-column: 1 / -1;
        justify-self: center;
    }
    
    .footer-partners-content {
        flex-direction: column;
        padding: 0 40px;
        gap: 40px;
    }
    
    .footer-partner-item {
        max-width: 600px;
    }
}

@media (max-width: 768px) {
    footer .block-separator {
        top: -20px !important;
    }
    
    .site-footer {
        padding-top: 70px;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 0;
    }
    
    .footer-main {
        padding: 30px 0 40px;
        margin-top: -92px;
    }
    
    .footer-partners {
        padding: 20px 0;
    }
    
    .footer-partners-content {
        padding: 0 20px;
        gap: 30px;
    }
    
    .footer-partner-item {
        flex-direction: column;
        text-align: center;
    }
    
    .footer-legal {
        padding: 15px 0;
    }
    
    .footer-copyright {
        display: block;
    }
    
    .footer-legal .menu-item {
        display: block;
        margin: 5px 0;
    }
}

@media (min-width: 501px) {
    .footer-legal-content {
        gap: 10px;
    }
}

@media (max-width: 500px) {
    .footer-legal-content {
        flex-direction: column;
    }
}


@media (max-width: 575px){
    .footer-certification-text
    {
        text-align: center;
    }
    .footer-certification-logo{
        margin: 0 auto;
    }
    .footer-partner-logo{
        width: 170px;
        img{
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    }
}