/**
 * Espace Pub - Styles Frontend
 * Utilise !important pour surcharger les styles du thème
 */

/* ==========================================================================
   Reset complet du wrapper - surcharge les styles du thème
   ========================================================================== */
.espace-pub-wrapper {
    display: block !important;
    flex: none !important;
    flex-direction: unset !important;
    gap: 0 !important;
    align-items: unset !important;
    justify-content: unset !important;
    margin: 15px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   Mode Block (pleine largeur, centré)
   ========================================================================== */
.espace-pub-wrapper.espace-pub-block {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    text-align: center !important;
}

.espace-pub-wrapper.espace-pub-block .espace-pub-item {
    display: inline-block !important;
    text-align: left !important;
}

/* Largeurs en mode block */
.espace-pub-wrapper.espace-pub-block.espace-pub-width-100 .espace-pub-item {
    width: 100% !important;
    display: block !important;
}

.espace-pub-wrapper.espace-pub-block.espace-pub-width-75 .espace-pub-item {
    width: 75% !important;
}

.espace-pub-wrapper.espace-pub-block.espace-pub-width-50 .espace-pub-item {
    width: 50% !important;
}

.espace-pub-wrapper.espace-pub-block.espace-pub-width-33 .espace-pub-item {
    width: 33.333% !important;
}

.espace-pub-wrapper.espace-pub-block.espace-pub-width-25 .espace-pub-item {
    width: 25% !important;
}

.espace-pub-wrapper.espace-pub-block.espace-pub-width-custom .espace-pub-item {
    width: var(--pub-width, 300px) !important;
    max-width: 100% !important;
}

/* ==========================================================================
   Mode Float Left (à gauche du texte)
   ========================================================================== */
.espace-pub-wrapper.espace-pub-float-left {
    display: block !important;
    float: left !important;
    clear: left !important;
    margin: 0 25px 20px 0 !important;
}

/* Largeurs en mode float left */
.espace-pub-wrapper.espace-pub-float-left.espace-pub-width-100 {
    width: 40% !important;
}

.espace-pub-wrapper.espace-pub-float-left.espace-pub-width-75 {
    width: 35% !important;
}

.espace-pub-wrapper.espace-pub-float-left.espace-pub-width-50 {
    width: 50% !important;
}

.espace-pub-wrapper.espace-pub-float-left.espace-pub-width-33 {
    width: 33.333% !important;
}

.espace-pub-wrapper.espace-pub-float-left.espace-pub-width-25 {
    width: 25% !important;
}

.espace-pub-wrapper.espace-pub-float-left.espace-pub-width-custom {
    width: var(--pub-width, 300px) !important;
    max-width: 50% !important;
}

/* ==========================================================================
   Mode Float Right (à droite du texte)
   ========================================================================== */
.espace-pub-wrapper.espace-pub-float-right {
    display: block !important;
    float: right !important;
    clear: right !important;
    margin: 0 0 20px 25px !important;
}

/* Largeurs en mode float right */
.espace-pub-wrapper.espace-pub-float-right.espace-pub-width-100 {
    width: 40% !important;
}

.espace-pub-wrapper.espace-pub-float-right.espace-pub-width-75 {
    width: 35% !important;
}

.espace-pub-wrapper.espace-pub-float-right.espace-pub-width-50 {
    width: 50% !important;
}

.espace-pub-wrapper.espace-pub-float-right.espace-pub-width-33 {
    width: 33.333% !important;
}

.espace-pub-wrapper.espace-pub-float-right.espace-pub-width-25 {
    width: 25% !important;
}

.espace-pub-wrapper.espace-pub-float-right.espace-pub-width-custom {
    width: var(--pub-width, 300px) !important;
    max-width: 50% !important;
}

/* ==========================================================================
   Item Publicité
   ========================================================================== */
.espace-pub-item {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    background: #fff !important;
    line-height: 0 !important;
    font-size: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.espace-pub-item:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================================================
   Lien
   ========================================================================== */
.espace-pub-link {
    display: block !important;
    text-decoration: none !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.espace-pub-link:focus {
    outline: 2px solid #0073aa !important;
    outline-offset: 2px !important;
}

/* ==========================================================================
   Image - IMPORTANT: pas d'espace en dessous
   ========================================================================== */
.espace-pub-image {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    vertical-align: top !important;
    transition: opacity 0.3s ease !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.espace-pub-item:hover .espace-pub-image {
    opacity: 0.95 !important;
}

/* ==========================================================================
   Clearfix pour le contenu
   ========================================================================== */
.entry-content::after,
.post-content::after,
.article-content::after,
.content::after,
.single-post .content-area::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media screen and (max-width: 768px) {
    .espace-pub-wrapper.espace-pub-float-left,
    .espace-pub-wrapper.espace-pub-float-right {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 15px 0 !important;
        clear: both !important;
    }
    
    .espace-pub-wrapper.espace-pub-block .espace-pub-item {
        width: 100% !important;
        display: block !important;
    }
}

/* ==========================================================================
   Thème Sombre
   ========================================================================== */
@media (prefers-color-scheme: dark) {
    .espace-pub-item {
        background: #2d2d2d !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    }
    
    .espace-pub-item:hover {
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
    }
}

/* ==========================================================================
   Animation d'entrée
   ========================================================================== */
@keyframes espacePubFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.espace-pub-item {
    animation: espacePubFadeIn 0.4s ease forwards !important;
}
