/* ===== Base pubs ===== */

.tmz-ad {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tmz-ad__variant {
    display: none;
    width: 100%;
    justify-content: center;
}

.tmz-ad-box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* tailles "cibles" */
.tmz-ad-box--billboard {
    max-width: 970px;
    min-height: 250px;
}

.tmz-ad-box--megabanner,
.tmz-ad-box--megabanner-bottom {
    max-width: 728px;
    min-height: 90px;
}

.tmz-ad-box--pave-haut,
.tmz-ad-box--pave-bas {
    max-width: 300px;
    min-height: 250px;
}

.tmz-ad-box--megaskyscraper {
    width: 160px;
    min-width: 160px;
    min-height: 600px;
}

.tmz-ad-box--skyscraper {
    width: 120px;
    min-width: 120px;
    min-height: 600px;
}

/* espacements */
.ad-block {
    margin: 1.25rem auto;
}

.ad-block--after-filter {
    margin: 1rem auto 1.5rem;
}

.ad-block--after-pagination {
    margin: 1.5rem auto 2rem;
}

.ad-block--home-bottom {
    margin: 1.5rem auto 2rem;
}

/* ===== Desktop large ===== */
@media (min-width: 1360px) {
    .tmz-ad__variant--desktop {
        display: flex;
    }

    .tmz-ad__variant--desktop-narrow,
    .tmz-ad__variant--mobile {
        display: none;
    }
}

/* ===== Desktop plus étroit ===== */
@media (min-width: 1001px) and (max-width: 1359px) {
    .tmz-ad__variant--desktop-narrow {
        display: flex;
    }

    .tmz-ad__variant--desktop,
    .tmz-ad__variant--mobile {
        display: none;
    }

    /* si pas de version narrow fournie, la version desktop classique peut rester visible */
    .tmz-ad:not(:has(.tmz-ad__variant--desktop-narrow)) .tmz-ad__variant--desktop {
        display: flex;
    }
}

/* ===== Mobile / tablette ===== */
@media (max-width: 1000px) {
    .tmz-ad__variant--mobile {
        display: flex;
    }

    .tmz-ad__variant--desktop,
    .tmz-ad__variant--desktop-narrow {
        display: none;
    }
}

/* ===== Spécifique colonnes latérales ===== */
.pub-left .tmz-ad,
.pub-right .tmz-ad {
    width: 100%;
    justify-content: center;
}

@media (max-width: 1000px) {
    .pub-left,
    .pub-right {
        display: none !important;
    }
}

/* sidebar profil : masque à partir de 768px comme demandé */
@media (max-width: 768px) {
    .sidebar-ad {
        display: none !important;
    }
}

/* =========================
   Layouts pubs pages profil
   ========================= */

/* bloc horizontal standard */
.ad-block--profil-top {
    margin: 1rem auto 1.5rem;
}

.ad-block--profil-bottom {
    margin: 1.5rem auto 2rem;
}

/* wrapper : contenu centré + pub droite */
.profil-ad-layout {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 1.25rem;
    box-sizing: border-box;
}

/* colonne contenu */
.profil-ad-layout__main {
    flex: 0 1 800px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* colonne pub droite */
.profil-ad-layout__side {
    flex: 0 0 160px;
    width: 160px;
    min-width: 160px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: sticky;
    top: 1rem;
}

/* version desktop étroite */
@media (min-width: 1001px) and (max-width: 1359px) {
    .profil-ad-layout {
        max-width: 1000px;
    }

    .profil-ad-layout__side {
        flex-basis: 120px;
        width: 120px;
        min-width: 120px;
    }
}

/* responsive : on masque la colonne pub */
@media (max-width: 1000px) {
    .profil-ad-layout {
        max-width: 100%;
        display: block;
    }

    .profil-ad-layout__main {
        width: 100%;
        max-width: 100%;
    }

    .profil-ad-layout__side {
        display: none !important;
    }
}

/* blocs pubs horizontaux sur pages profil */
.profil-ad-layout__main .ad-block,
.profilboard .ad-block {
    width: 100%;
    max-width: 728px;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}