/* ========================================
   PROTECTION CONTRE LES THÈMES WORDPRESS
   Version: 1.0.4 - Protection des popups de campagne ajoutée
   ======================================== */

/* 
 * Ce fichier contient des règles CSS spécifiques pour protéger
 * nos styles contre l'écrasement par les thèmes WordPress
 */

/* ========================================
   RÈGLES DE PROTECTION GÉNÉRALES
   ======================================== */

/* Protection ciblée avec des sélecteurs très spécifiques */
body .my-istymo,
div.my-istymo,
section.my-istymo {
    /* Reset ciblé des styles de thème */
    display: block !important;
    box-sizing: border-box !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    line-height: 1.4 !important;
    color: #333 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ========================================
   PROTECTION DES ÉLÉMENTS CRITIQUES
   ======================================== */

/* Wrapper principal */
body .my-istymo .frontend-wrapper,
div.my-istymo .frontend-wrapper,
section.my-istymo .frontend-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 20px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Formulaires */
body .my-istymo .search-form,
div.my-istymo .search-form,
section.my-istymo .search-form {
    background: #fff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Tableaux */
body .my-istymo .data-table,
div.my-istymo .data-table,
section.my-istymo .data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    background: #fff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    position: relative !important;
    z-index: 1 !important;
    display: table !important;
    table-layout: fixed !important;
    min-width: 970px !important;
}

/* Largeur minimale spécifique pour les tableaux SCI */
body .my-istymo .sci-panel .data-table,
div.my-istymo .sci-panel .data-table,
section.my-istymo .sci-panel .data-table {
    min-width: 1150px !important;
}

/* En-têtes de tableau */
body .my-istymo .data-table th,
div.my-istymo .data-table th,
section.my-istymo .data-table th {
    background: #efeded8a !important;
    color: #000 !important;
    padding: 12px 8px !important;
    font-weight: 400 !important;
    font-size: 14px !important;
    border: none !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    display: table-cell !important;
}

/* Cellules de tableau */
body .my-istymo .data-table td,
div.my-istymo .data-table td,
section.my-istymo .data-table td {
    padding: 10px 8px !important;
    border-bottom: 1px solid #e9ecef !important;
    font-size: 13px !important;
    vertical-align: middle !important;
    transition: background-color 0.2s ease !important;
    display: table-cell !important;
}

/* Lignes de tableau */
body .my-istymo .data-table tr,
div.my-istymo .data-table tr,
section.my-istymo .data-table tr {
    display: table-row !important;
}

/* Corps de tableau */
body .my-istymo .data-table tbody,
div.my-istymo .data-table tbody,
section.my-istymo .data-table tbody {
    display: table-row-group !important;
}

/* En-tête de tableau */
body .my-istymo .data-table thead,
div.my-istymo .data-table thead,
section.my-istymo .data-table thead {
    display: table-header-group !important;
}

/* Boutons */
body .my-istymo .btn,
div.my-istymo .btn,
section.my-istymo .btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
    min-height: 44px !important;
    background: none !important;
    color: inherit !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 1 !important;
    box-sizing: border-box !important;
}

/* Alertes */
body .my-istymo .alert,
div.my-istymo .alert,
section.my-istymo .alert {
    padding: 12px 16px !important;
    border-radius: 6px !important;
    margin-bottom: 15px !important;
    border-left: 4px solid !important;
    border: none !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ========================================
   PROTECTION CONTRE LES FRAMEWORKS CSS
   ======================================== */

/* Bootstrap */
.my-istymo .container,
.my-istymo .row,
.my-istymo .col,
.my-istymo .col-* {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Foundation */
.my-istymo .grid-x,
.my-istymo .cell,
.my-istymo .small-*,
.my-istymo .medium-*,
.my-istymo .large-* {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Tailwind CSS */
.my-istymo .flex,
.my-istymo .grid,
.my-istymo .w-*,
.my-istymo .h-*,
.my-istymo .p-*,
.my-istymo .m-* {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* ========================================
   PROTECTION CONTRE LES THÈMES POPULAIRES
   ======================================== */

/* Astra */
.ast-container .my-istymo,
.ast-separate-container .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* GeneratePress */
.site-content .my-istymo,
.content-area .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* OceanWP */
#content .my-istymo,
.content-area .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Elementor */
.elementor .my-istymo,
.elementor-widget .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Beaver Builder */
.fl-builder-content .my-istymo,
.fl-row .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* ========================================
   PROTECTION DES MÉDIAS QUERIES
   ======================================== */

@media (max-width: 768px) {
    body .my-istymo .frontend-wrapper,
    div.my-istymo .frontend-wrapper,
    section.my-istymo .frontend-wrapper {
        padding: 10px !important;
    }
    
    body .my-istymo .search-form,
    div.my-istymo .search-form,
    section.my-istymo .search-form {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }
}

@media (max-width: 480px) {
    body .my-istymo .frontend-wrapper,
    div.my-istymo .frontend-wrapper,
    section.my-istymo .frontend-wrapper {
        padding: 5px !important;
    }
    
    body .my-istymo .search-form,
    div.my-istymo .search-form,
    section.my-istymo .search-form {
        padding: 10px !important;
        margin-bottom: 10px !important;
    }
}

/* ========================================
   PROTECTION CONTRE LES PLUGINS
   ======================================== */

/* WooCommerce */
.woocommerce .my-istymo,
.woocommerce-page .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Contact Form 7 */
.wpcf7 .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Yoast SEO */
.yoast .my-istymo {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* ========================================
   CORRECTIONS SPÉCIFIQUES
   ======================================== */

/* Colonne favoris - centrage de l'icône */
body .my-istymo .data-table th:first-child,
div.my-istymo .data-table th:first-child,
section.my-istymo .data-table th:first-child,
body .my-istymo .data-table td:first-child,
div.my-istymo .data-table td:first-child,
section.my-istymo .data-table td:first-child {
    width: 60px !important;
    min-width: 60px !important;
    text-align: center !important;
    display: table-cell !important;
}

body .my-istymo th i.fas.fa-heart,
div.my-istymo th i.fas.fa-heart,
section.my-istymo th i.fas.fa-heart {
    margin-left: 10px !important;
}

/* Colonne étiquette DPE - centrage de l'icône - Spécifique DPE uniquement */
body .my-istymo .dpe-panel .data-table th:nth-child(7),
div.my-istymo .dpe-panel .data-table th:nth-child(7),
section.my-istymo .dpe-panel .data-table th:nth-child(7) {
    text-align: center !important;
    width: 60px !important;
    min-width: 60px !important;
}

body .my-istymo .dpe-panel th i.fas.fa-certificate,
div.my-istymo .dpe-panel th i.fas.fa-certificate,
section.my-istymo .dpe-panel th i.fas.fa-certificate {
    margin-left: -12px !important;
}

/* Règles génériques supprimées - Utiliser les règles spécifiques DPE/SCI ci-dessous */

/* Règles génériques pour les cellules supprimées - Utiliser les règles spécifiques DPE/SCI ci-dessous */

/* Correction des boutons favoris */
body .my-istymo .favorite-btn,
div.my-istymo .favorite-btn,
section.my-istymo .favorite-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 18px !important;
    color: #ccc !important;
    transition: color 0.3s ease !important;
    padding: 5px !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

body .my-istymo .favorite-btn.active,
div.my-istymo .favorite-btn.active,
section.my-istymo .favorite-btn.active,
body .my-istymo .favorite-btn.favori,
div.my-istymo .favorite-btn.favori,
section.my-istymo .favorite-btn.favori {
    color: #ffd700 !important;
}

body .my-istymo .favorite-btn:hover,
div.my-istymo .favorite-btn:hover,
section.my-istymo .favorite-btn:hover {
    color: #ffd700 !important;
    background: #f0f0f0 !important;
}

/* ========================================
   STYLES SPÉCIFIQUES PAR SYSTÈME
   ======================================== */

/* ========================================
   STYLES SPÉCIFIQUES DPE
   ======================================== */

/* Largeurs fixes pour les colonnes DPE - Plus spécifique */
body .my-istymo .dpe-panel .data-table th:nth-child(1),
div.my-istymo .dpe-panel .data-table th:nth-child(1),
section.my-istymo .dpe-panel .data-table th:nth-child(1) {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: left !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(2),
div.my-istymo .dpe-panel .data-table th:nth-child(2),
section.my-istymo .dpe-panel .data-table th:nth-child(2) {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(3),
div.my-istymo .dpe-panel .data-table th:nth-child(3),
section.my-istymo .dpe-panel .data-table th:nth-child(3) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(4),
div.my-istymo .dpe-panel .data-table th:nth-child(4),
section.my-istymo .dpe-panel .data-table th:nth-child(4) {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(5),
div.my-istymo .dpe-panel .data-table th:nth-child(5),
section.my-istymo .dpe-panel .data-table th:nth-child(5) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(6),
div.my-istymo .dpe-panel .data-table th:nth-child(6),
section.my-istymo .dpe-panel .data-table th:nth-child(6) {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(7),
div.my-istymo .dpe-panel .data-table th:nth-child(7),
section.my-istymo .dpe-panel .data-table th:nth-child(7) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
}

body .my-istymo .dpe-panel .data-table th:nth-child(8),
div.my-istymo .dpe-panel .data-table th:nth-child(8),
section.my-istymo .dpe-panel .data-table th:nth-child(8) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

/* Cellules DPE */
body .my-istymo .dpe-panel .data-table td:nth-child(1),
div.my-istymo .dpe-panel .data-table td:nth-child(1),
section.my-istymo .dpe-panel .data-table td:nth-child(1) {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(2),
div.my-istymo .dpe-panel .data-table td:nth-child(2),
section.my-istymo .dpe-panel .data-table td:nth-child(2) {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(3),
div.my-istymo .dpe-panel .data-table td:nth-child(3),
section.my-istymo .dpe-panel .data-table td:nth-child(3) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(4),
div.my-istymo .dpe-panel .data-table td:nth-child(4),
section.my-istymo .dpe-panel .data-table td:nth-child(4) {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(5),
div.my-istymo .dpe-panel .data-table td:nth-child(5),
section.my-istymo .dpe-panel .data-table td:nth-child(5) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(6),
div.my-istymo .dpe-panel .data-table td:nth-child(6),
section.my-istymo .dpe-panel .data-table td:nth-child(6) {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(7),
div.my-istymo .dpe-panel .data-table td:nth-child(7),
section.my-istymo .dpe-panel .data-table td:nth-child(7) {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
}

body .my-istymo .dpe-panel .data-table td:nth-child(8),
div.my-istymo .dpe-panel .data-table td:nth-child(8),
section.my-istymo .dpe-panel .data-table td:nth-child(8) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

/* ========================================
   STYLES SPÉCIFIQUES SCI
   ======================================== */

/* Largeurs fixes pour les colonnes SCI - Plus spécifique */
body .my-istymo .sci-panel .data-table th:nth-child(1),
div.my-istymo .sci-panel .data-table th:nth-child(1),
section.my-istymo .sci-panel .data-table th:nth-child(1) {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: left !important;
}

body .my-istymo .sci-panel .data-table th:nth-child(2),
div.my-istymo .sci-panel .data-table th:nth-child(2),
section.my-istymo .sci-panel .data-table th:nth-child(2) {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    text-align: left !important;
}

th.col-entreprise, th.col-dirigeant, th.col-adresse {
    text-align: left !important;
}


body .my-istymo .sci-panel .data-table th:nth-child(3),
div.my-istymo .sci-panel .data-table th:nth-child(3),
section.my-istymo .sci-panel .data-table th:nth-child(3) {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
}

body .my-istymo .sci-panel .data-table th:nth-child(4),
div.my-istymo .sci-panel .data-table th:nth-child(4),
section.my-istymo .sci-panel .data-table th:nth-child(4) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

body .my-istymo .sci-panel .data-table th:nth-child(5),
div.my-istymo .sci-panel .data-table th:nth-child(5),
section.my-istymo .sci-panel .data-table th:nth-child(5) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .data-table th:nth-child(6),
div.my-istymo .sci-panel .data-table th:nth-child(6),
section.my-istymo .sci-panel .data-table th:nth-child(6) {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .data-table th:nth-child(7),
div.my-istymo .sci-panel .data-table th:nth-child(7),
section.my-istymo .sci-panel .data-table th:nth-child(7) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    text-align: center !important;
}

/* Cellules SCI */
body .my-istymo .sci-panel .data-table td:nth-child(1),
div.my-istymo .sci-panel .data-table td:nth-child(1),
section.my-istymo .sci-panel .data-table td:nth-child(1) {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

body .my-istymo .sci-panel .data-table td:nth-child(2),
div.my-istymo .sci-panel .data-table td:nth-child(2),
section.my-istymo .sci-panel .data-table td:nth-child(2) {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
}

body .my-istymo .sci-panel .data-table td:nth-child(3),
div.my-istymo .sci-panel .data-table td:nth-child(3),
section.my-istymo .sci-panel .data-table td:nth-child(3) {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
}

body .my-istymo .sci-panel .data-table td:nth-child(4),
div.my-istymo .sci-panel .data-table td:nth-child(4),
section.my-istymo .sci-panel .data-table td:nth-child(4) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
}

body .my-istymo .sci-panel .data-table td:nth-child(5),
div.my-istymo .sci-panel .data-table td:nth-child(5),
section.my-istymo .sci-panel .data-table td:nth-child(5) {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .data-table td:nth-child(6),
div.my-istymo .sci-panel .data-table td:nth-child(6),
section.my-istymo .sci-panel .data-table td:nth-child(6) {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .data-table td:nth-child(7),
div.my-istymo .sci-panel .data-table td:nth-child(7),
section.my-istymo .sci-panel .data-table td:nth-child(7) {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    text-align: center !important;
}


/* ========================================
   CLASSES SPÉCIFIQUES DES COLONNES
   ======================================== */

/* Classes pour les colonnes SCI */
body .my-istymo .sci-panel .col-favoris,
div.my-istymo .sci-panel .col-favoris,
section.my-istymo .sci-panel .col-favoris {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .col-entreprise,
div.my-istymo .sci-panel .col-entreprise,
section.my-istymo .sci-panel .col-entreprise {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    text-align: left !important;
}

body .my-istymo .sci-panel .col-dirigeant,
div.my-istymo .sci-panel .col-dirigeant,
section.my-istymo .sci-panel .col-dirigeant {
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px !important;
    text-align: left !important;
}

body .my-istymo .sci-panel .col-adresse,
div.my-istymo .sci-panel .col-adresse,
section.my-istymo .sci-panel .col-adresse {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    text-align: left !important;
}

body .my-istymo .sci-panel .col-geolocalisation,
div.my-istymo .sci-panel .col-geolocalisation,
section.my-istymo .sci-panel .col-geolocalisation {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .col-envoi-courrier,
div.my-istymo .sci-panel .col-envoi-courrier,
section.my-istymo .sci-panel .col-envoi-courrier {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    text-align: center !important;
}

body .my-istymo .sci-panel .col-deja-contacte,
div.my-istymo .sci-panel .col-deja-contacte,
section.my-istymo .sci-panel .col-deja-contacte {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    text-align: center !important;
}

/* Classes pour les colonnes DPE */
body .my-istymo .dpe-panel .col-favoris,
div.my-istymo .dpe-panel .col-favoris,
section.my-istymo .dpe-panel .col-favoris {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: center !important;
}

body .my-istymo .dpe-panel .col-type,
div.my-istymo .dpe-panel .col-type,
section.my-istymo .dpe-panel .col-type {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    text-align: left !important;
}

body .my-istymo .dpe-panel .col-date,
div.my-istymo .dpe-panel .col-date,
section.my-istymo .dpe-panel .col-date {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    text-align: left !important;
}

body .my-istymo .dpe-panel .col-adresse,
div.my-istymo .dpe-panel .col-adresse,
section.my-istymo .dpe-panel .col-adresse {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    text-align: left !important;
}

body .my-istymo .dpe-panel .col-surface,
div.my-istymo .dpe-panel .col-surface,
section.my-istymo .dpe-panel .col-surface {
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    text-align: left !important;
}

body .my-istymo .dpe-panel .col-etiquette,
div.my-istymo .dpe-panel .col-etiquette,
section.my-istymo .dpe-panel .col-etiquette {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
    text-align: center !important;
}

body .my-istymo .dpe-panel .col-complement,
div.my-istymo .dpe-panel .col-complement,
section.my-istymo .dpe-panel .col-complement {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    text-align: left !important;
}

body .my-istymo .dpe-panel .col-geolocalisation,
div.my-istymo .dpe-panel .col-geolocalisation,
section.my-istymo .dpe-panel .col-geolocalisation {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    text-align: center !important;
}

/* ========================================
   PROTECTION DES POPUPS DE CAMPAGNE
   ======================================== */

/* Protection des popups contre les règles génériques */
body .popup-overlay-campaign,
div.popup-overlay-campaign,
section.popup-overlay-campaign {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0,0,0,0.6) !important;
    z-index: 10000 !important;
    opacity: 0 !important;
    transition: opacity 0.25s !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

body .popup-overlay-campaign.active,
div.popup-overlay-campaign.active,
section.popup-overlay-campaign.active {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    opacity: 1 !important;
}

body .popup-campaign-container,
div.popup-campaign-container,
section.popup-campaign-container {
    background: #fff !important;
    border-radius: 14px !important;
    padding: 32px 28px !important;
    max-width: 700px !important;
    width: 95vw !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
    box-shadow: 0 4px 32px rgba(0,0,0,0.10) !important;
    position: relative !important;
    animation: popup-fadein 0.25s !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border: none !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

/* Protection des autres popups */
body .letter-popup-overlay,
div.letter-popup-overlay,
section.letter-popup-overlay {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.6) !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

body .letter-popup-container,
div.letter-popup-container,
section.letter-popup-container {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    background-color: #ffffff !important;
    border-radius: 12px !important;
    max-width: 700px !important;
    width: 95% !important;
    max-height: 85vh !important;
    overflow: hidden !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid #e9ecef !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    color: #333 !important;
}

/* ========================================
   STYLES DES FORMULAIRES
   ======================================== */

/* Champs de formulaire - Protection contre les thèmes */
body .my-istymo .form-field select,
div.my-istymo .form-field select,
section.my-istymo .form-field select,
body .my-istymo .form-field input[type="text"],
div.my-istymo .form-field input[type="text"],
section.my-istymo .form-field input[type="text"],
body .my-istymo .form-field input[type="email"],
div.my-istymo .form-field input[type="email"],
section.my-istymo .form-field input[type="email"],
body .my-istymo .form-field input[type="number"],
div.my-istymo .form-field input[type="number"],
section.my-istymo .form-field input[type="number"] {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #e1e5e9 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
    background-color: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    outline: none !important;
    margin: 0 !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
    color: #333 !important
}

/* Focus des champs de formulaire */
body .my-istymo .form-field select:focus,
div.my-istymo .form-field select:focus,
section.my-istymo .form-field select:focus,
body .my-istymo .form-field input[type="text"]:focus,
div.my-istymo .form-field input[type="text"]:focus,
section.my-istymo .form-field input[type="text"]:focus,
body .my-istymo .form-field input[type="email"]:focus,
div.my-istymo .form-field input[type="email"]:focus,
section.my-istymo .form-field input[type="email"]:focus,
body .my-istymo .form-field input[type="number"]:focus,
div.my-istymo .form-field input[type="number"]:focus,
section.my-istymo .form-field input[type="number"]:focus {
    outline: none !important;
    border-color: #0073aa !important;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1) !important;
}
