/**
 * QUODR Block Editor - Frontend Styles
 */

.sc-information-content .block-editor-block {
    margin-bottom: 20px; /* Valeur par défaut des sliders */
    clear: both;
}

/* Permet l'override des marges avec les styles inline */
.sc-information-content .block-editor-block[style*="margin"] {
    /* Les styles inline avec !important vont override les marges par défaut */
}

.sc-information-content .block-editor-block .block-title {
    margin: 0; /* Pas de marge interne, gérée par les blocs */
    font-weight: bold;
}

/* Styles par défaut uniquement si pas de styles inline */
.sc-information-content .block-editor-block .block-title:not([style*="line-height"]) {
    line-height: 1.3;
}

.sc-information-content .block-editor-block .block-text {
    margin: 0; /* Pas de marge interne, gérée par les blocs */
    font-size: 12px; /* Taille par défaut */
    text-align: left; /* Alignement par défaut */
}

/* Styles par défaut uniquement si pas de styles inline */
.sc-information-content .block-editor-block .block-text:not([style*="line-height"]) {
    line-height: 1.6;
}

/* FORCE BRUTE ANTI-BUILDER - Textes normaux sans styles inline (plus fort que le builder mais modifiable par l'utilisateur) */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-text:not([style*="font-size"]) {
    font-size: 12px !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-text:not([style*="text-align"]) {
    text-align: left !important;
}

/* MEGA FORCE - Contre les builders qui appliquent text-align sur les conteneurs parents des blocs texte */
.sc-information-content .block-text,
.sc-frontend-container .sc-information-content .block-text,
.bde-frontend .sc-frontend-container .sc-information-content .block-text {
    text-align: left !important;
}

.sc-information-content .block-text:not([style*="text-align"]),
.sc-frontend-container .sc-information-content .block-text:not([style*="text-align"]),
.bde-frontend .sc-frontend-container .sc-information-content .block-text:not([style*="text-align"]) {
    text-align: left !important;
}

.sc-information-content .block-editor-block .block-image {
    margin: 20px 0;
}

/* Alignement par défaut seulement si pas de style inline */
.sc-information-content .block-editor-block .block-image:not([style*="text-align"]) {
    text-align: center;
}

.sc-information-content .block-editor-block .block-image img {
    height: auto;
}

/* Styles par défaut seulement si pas de styles inline */
.sc-information-content .block-editor-block .block-image img:not([style*="max-width"]) {
    max-width: 100%;
}

.sc-information-content .block-editor-block .block-image img:not([style*="border-radius"]) {
    border-radius: 4px;
}

/* FORCE BRUTE ANTI-BUILDER - Spécificité maximale pour les images avec styles inline */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-image img[style*="max-width"] {
    max-width: var(--custom-image-max-width) !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-image img[style*="border-radius"] {
    border-radius: var(--custom-image-border-radius) !important;
}

.sc-information-content .block-editor-block .block-imagetext {
    display: flex;
    align-items: flex-start;
    margin: 20px 0;
}

/* Gap par défaut seulement si pas de style inline */
.sc-information-content .block-editor-block .block-imagetext:not([style*="gap"]) {
    gap: 20px;
}

.sc-information-content .block-editor-block .block-imagetext-img {
    flex: 0 0 auto;
}

.sc-information-content .block-editor-block .block-imagetext-img img {
    height: auto;
}

/* Styles par défaut pour imagetext seulement si pas de styles inline */
.sc-information-content .block-editor-block .block-imagetext-img img:not([style*="max-width"]) {
    width: 100%;
}

.sc-information-content .block-editor-block .block-imagetext-img img:not([style*="border-radius"]) {
    border-radius: 4px;
}

/* FORCE BRUTE ANTI-BUILDER - Images imagetext avec styles inline */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-img img[style*="max-width"] {
    max-width: var(--custom-image-max-width) !important;
    width: auto !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-img img[style*="border-radius"] {
    border-radius: var(--custom-image-border-radius) !important;
}

/* FORCE BRUTE ANTI-BUILDER - Alignement des conteneurs d'images */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-image[style*="text-align"] {
    text-align: var(--custom-image-align) !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-img[style*="text-align"] {
    text-align: var(--custom-image-align) !important;
}

/* FORCE BRUTE ANTI-BUILDER - Espacement image-texte */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext[style*="gap"] {
    gap: var(--custom-imagetext-gap) !important;
}

.sc-information-content .block-editor-block .block-imagetext-content {
    flex: 1;
}

.sc-information-content .block-editor-block .block-imagetext-content p,
.sc-information-content .block-editor-block .block-imagetext-content div {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
}

.sc-information-content .block-editor-block .block-button {
    text-align: center;
    margin: 20px 0;
}

.sc-information-content .block-editor-block .quodr-btn-block {
    display: inline-block;
    padding: 12px 24px;
    background: #0073aa;
    color: white;
    border-radius: 4px;
    font-weight: 500;
    transition: background 0.2s;
    cursor: pointer;
    border: none;
}

.sc-information-content .block-editor-block .quodr-btn-block .quodr-btn-text {
    color: inherit;
    text-decoration: none;
}

.sc-information-content .block-editor-block .quodr-btn-block:hover {
    background: #005a87;
}

.sc-information-content .block-editor-block .quodr-btn-block.clicked {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}

/* Responsive */
@media (max-width: 768px) {
    .sc-information-content .block-editor-block .block-imagetext {
        flex-direction: column;
    }
    
    .sc-information-content .block-editor-block .block-imagetext-img {
        flex: none;
    }
}

/* Support pour l'ancien contenu Quodr */
.sc-information-content .quodr-content img[data-border-radius] {
    border-radius: attr(data-border-radius px);
}

.sc-information-content .quodr-content img[data-border-color] {
    border-style: solid;
}

/* Styles pour le formatage de texte dans les blocs (frontend) */
.sc-information-content .block-editor-block strong,
.sc-information-content .block-editor-block b {
    font-weight: bold !important;
}

.sc-information-content .block-editor-block em,
.sc-information-content .block-editor-block i {
    font-style: italic !important;
}

.sc-information-content .block-editor-block u {
    text-decoration: underline !important;
}

.sc-information-content .block-editor-block s,
.sc-information-content .block-editor-block strike,
.sc-information-content .block-editor-block del {
    text-decoration: line-through !important;
}

/* Styles pour les liens */
.sc-information-content .block-editor-block a {
    color: #2271b1 !important;
    text-decoration: underline !important;
    cursor: pointer;
}

.sc-information-content .block-editor-block a:hover {
    color: #135e96 !important;
    text-decoration: underline !important;
}

/* Styles pour les textes colorés - Force l'affichage des couleurs inline */
.sc-information-content .block-editor-block span[data-quodr-color="true"] {
    /* Les couleurs inline doivent toujours être visibles */
    /* Si pas de style inline, on peut ajouter une couleur par défaut ou un indicateur visuel */
}

/* Spans colorés sans attribut style - couleur de debug/fallback */
.sc-information-content .block-editor-block span[data-quodr-color="true"]:not([style*="color"]) {
    /* Couleur de fallback pour identifier les spans qui ont perdu leur couleur */
    background-color: rgba(255, 255, 0, 0.2); /* Fond jaune léger pour debug */
    border-radius: 2px;
}

/* FORCE BRUTE - Override TOUS les CSS qui pourraient bloquer les couleurs */
.sc-information-content span[style*="color"] {
    /* Cette règle ne définit pas de couleur, elle laisse le style inline agir */
}

/* ULTRA SPÉCIFIQUE - Force l'affichage des couleurs avec !important sur les spans colorés */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .block-editor-block span[data-quodr-color="true"][style] {
    /* Force le respect des styles inline avec la spécificité maximale */
}

/* ===== BLOC EMOJI + TITRE (FRONTEND) ===== */

.sc-information-content .block-editor-block .block-emoji-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    width: 100%;
}

/* Les éléments internes restent inline pour la compatibilité */
.sc-information-content .block-editor-block .block-emoji-title .block-emoji,
.sc-information-content .block-editor-block .block-emoji-title .block-title {
    display: inline !important;
    vertical-align: middle;
}

.sc-information-content .block-editor-block .block-emoji-title .block-emoji {
    margin-right: 0; /* Le gap gère maintenant l'espacement */
}

/* CRUCIAL : Forcer les emojis (convertis en images par WordPress) à rester inline */
.sc-information-content .block-editor-block .block-emoji-title .block-emoji img.emoji {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

.sc-information-content .block-editor-block .block-emoji {
    font-size: 2em;
    line-height: 1;
    flex-shrink: 0;
}

/* Support pour les emojis convertis en images par WordPress */
.sc-information-content .block-editor-block .block-emoji img.emoji {
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    vertical-align: middle !important;
    background: none !important;
    box-shadow: none !important;
}

/* Titre dans emoji+titre : styles par défaut */
.sc-information-content .block-editor-block .block-emoji-title .block-title {
    margin: 0 !important;
    font-weight: bold !important;
    /* La couleur inline sera préservée */
}

/* Support pour les couleurs dans les titres emoji+titre */
.sc-information-content .block-editor-block .block-emoji-title .block-title[style*="color"] {
    /* La couleur inline doit s'afficher directement */
}

/* CLASSE UNIQUE ANTI-BUILDER - Titres protégés (incluant emoji+titre) */
.quodr-title-protected {
    /* La couleur est définie inline avec !important */
}

/* FORCE BRUTE - Contre tous les conteneurs qui forcent des couleurs sur les titres */
div[style*="color"] .quodr-title-protected,
.block-emoji-title .quodr-title-protected {
    /* La couleur inline avec !important prendra le dessus */
}

/* ULTRA SPÉCIFICITÉ - Pour les titres dans emoji+titre */
.sc-information-content .block-editor-block .block-emoji-title .block-title.quodr-title-protected[style*="color"] {
    /* La couleur inline avec !important est déjà appliquée */
}

/* ANTI-BUILDER pour les textes dans imagetext - ULTRA SPÉCIFICITÉ contre shared CSS */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-content p[style*="color"],
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-content div[style*="color"] {
    color: var(--custom-text-color) !important;
}

/* FORCE BRUTE ANTI-SHARED-CSS - Override des règles .quodr-content avec spécificité maximale */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content p[style*="color"],
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content div[style*="color"] {
    color: var(--custom-text-color) !important;
}

/* ULTRA SPÉCIFIQUE - Against Breakdance + shared CSS combo */
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content p[style*="color"],
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content div[style*="color"] {
    color: var(--custom-text-color) !important;
}

/* CLASSE UNIQUE ANTI-BUILDER - Textes protégés */
.quodr-text-protected {
    color: var(--custom-text-color) !important;
}

/* FORCE BRUTE - Override du conteneur parent qui force #333 */
.block-imagetext-content .quodr-text-protected {
    color: var(--custom-text-color) !important;
}

/* FORCE l'alignement à gauche pour TOUS les textes imagetext - même sans style inline */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-content p,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-content div,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-content p *,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-imagetext-content div *,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content p,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content div,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content p *,
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content div *,
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content p,
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content div,
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content p *,
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-imagetext-content div * {
    text-align: left !important;
}

/* MEGA FORCE - Contre les builders qui appliquent text-align sur les conteneurs parents */
.sc-information-content .block-imagetext-content,
.sc-frontend-container .sc-information-content .block-imagetext-content,
.bde-frontend .sc-frontend-container .sc-information-content .block-imagetext-content {
    text-align: left !important;
}

/* ANTI-BUILDER pour l'espacement emoji-titre */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-emoji-title[style*="gap"],
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-emoji-title[style*="gap"],
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .quodr-content .block-editor-block .block-emoji-title[style*="gap"] {
    gap: var(--custom-emoji-gap) !important;
    display: flex !important;
    align-items: center !important;
}

/* ULTRA FORCE - Contre tous les conteneurs qui forcent des couleurs */
div[style*="color"] .quodr-text-protected {
    color: var(--custom-text-color) !important;
}

/* CLASSE UNIQUE ANTI-BUILDER - Boutons protégés */
.quodr-button-protected {
    text-decoration: none !important;
}

/* Style pour les textes dans les boutons */
.quodr-button-text-protected {
    text-decoration: none !important;
}

/* Styles pour les div.btn-block (nouveau format) */
div.quodr-btn-block {
    display: inline-block;
    padding: 12px 24px;
    background: #0073aa;
    color: white;
    border-radius: 4px;
    font-weight: 500;
    transition: background 0.2s;
    cursor: pointer;
    border: none;
    text-decoration: none;
}

div.quodr-btn-block .quodr-btn-text {
    color: inherit;
    text-decoration: none;
    display: inline-block;
}

/* Hover pour les div.btn-block */
div.quodr-btn-block:hover {
    opacity: 0.9;
}

/* Style par défaut des liens dans les blocs */
.sc-information-content .block-editor-block a {
    color: #0073aa;
    text-decoration: none !important;
}

.sc-information-content .block-editor-block a:hover {
    text-decoration: underline !important;
}

/* ===== BLOC SÉPARATEUR (FRONTEND) ===== */

.sc-information-content .block-editor-block .block-separator {
    text-align: center;
    margin: 20px 0;
}

/* Styles de base pour tous les séparateurs */
.sc-information-content .block-editor-block .separator-line {
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    height: 0 !important;
    display: block !important;
    background: none !important;
    box-shadow: none !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Styles par défaut seulement si pas de styles inline */
.sc-information-content .block-editor-block .separator-line:not([style*="border-top-color"]) {
    border-top-color: #cccccc !important;
}

.sc-information-content .block-editor-block .separator-line:not([style*="border-top-width"]) {
    border-top-width: 2px !important;
}

.sc-information-content .block-editor-block .separator-line:not([style*="border-top-style"]) {
    border-top-style: solid !important;
}

.sc-information-content .block-editor-block .separator-line:not([style*="width"]) {
    width: 100% !important;
}

.sc-information-content .block-editor-block .separator-line:not([style*="margin"]) {
    margin: 20px 0 !important;
}

/* FORCE BRUTE ANTI-BUILDER - Séparateurs avec classe de protection et styles inline */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="border-top-color"] {
    border-top-color: var(--custom-separator-color) !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="border-top-width"] {
    border-top-width: var(--custom-separator-width) !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="border-top-style"] {
    border-top-style: var(--custom-separator-style) !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="width"] {
    width: var(--custom-separator-line-width) !important;
}

.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="margin"] {
    margin: var(--custom-separator-margin) !important;
}

/* ULTRA SPÉCIFIQUE - Contre Breakdance + autres builders */
.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="border-top-color"] {
    border-top-color: var(--custom-separator-color) !important;
}

.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="border-top-width"] {
    border-top-width: var(--custom-separator-width) !important;
}

.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="border-top-style"] {
    border-top-style: var(--custom-separator-style) !important;
}

.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="width"] {
    width: var(--custom-separator-line-width) !important;
}

.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .separator-line.quodr-separator-protected[style*="margin"] {
    margin: var(--custom-separator-margin) !important;
}

/* FORCE BRUTE ANTI-BUILDER - Alignement des conteneurs de séparateurs */
.sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-separator.quodr-separator-container-protected[style*="text-align"] {
    text-align: var(--custom-separator-align) !important;
}

.bde-frontend .sc-frontend-container .sc-config-panel .sc-tab-content .sc-information-content .quodr-block-content-protected .block-editor-block .block-separator.quodr-separator-container-protected[style*="text-align"] {
    text-align: var(--custom-separator-align) !important;
}

/* MEGA FORCE - Contre les builders qui cachent les séparateurs */
.sc-information-content .separator-line,
.sc-frontend-container .sc-information-content .separator-line,
.bde-frontend .sc-frontend-container .sc-information-content .separator-line {
    display: block !important;
    visibility: visible !important;
}