/* 
 * FICHIER CSS POUR LES ÉLÉMENTS D'ARTICLES DYNAMIQUES
 * Système complet pour l'affichage des articles et mini-articles
 * Compatible avec les modes clair/sombre et responsive
 * Fichier: /css/article-elements.css
 */

/* ============================================
   VARIABLES ET CONFIGURATION DE BASE
============================================ */
:root {
    /* Variables pour les articles - Mode clair */
    --article-bg: #ffffff;
    --article-bg-alt: #f8f9fa;
    --article-text-primary: #2c3e50;
    --article-text-primary: #5a6c7d;
    --article-border: #e0e0e0;
    --article-border-light: rgba(0, 0, 0, 0.08);
    --article-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    --article-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
    --article-accent: #ff6b6b;
    --article-accent-hover: #e55c5c;
    --article-link: #4ecdc4;
    --article-link-hover: #3db9b1;
    --article-highlight-bg: #fff9e6;
    --article-quote-bg: #f5f7fa;
    --article-quote-border: #4ecdc4;
}

/* Mode sombre */
html.dark-mode {
    --article-bg: #2a3334;
    --article-bg-alt: #363636;
    --article-text-primary: #ffffff;
    --article-text-primary: #CCC;
    --article-border: rgba(255, 255, 255, 0.1);
    --article-border-light: rgba(255, 255, 255, 0.08);
    --article-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    --article-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.5);
    --article-highlight-bg: rgba(255, 217, 102, 0.1);
    --article-quote-bg: rgba(78, 205, 196, 0.05);
}

/* ============================================
   CONTENEURS D'ARTICLES
============================================ */

/* Conteneur principal pour articles complets */
.article-container {
    background: var(--article-bg);
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: var(--article-shadow);
    transition: all 0.3s ease;
}

/* Conteneur pour mini-articles */
.mini-article-container {
    /* Container styles restent à définir selon les besoins */
}

/* ============================================
   ÉLÉMENTS DE TITRE (titreh2)
============================================ */

/* Titre principal d'article */
.article-title {
    font-size: 1.8rem;
    font-weight: 600;
    color: var(--article-text-primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
    transition: color 0.3s ease;
}

/* ======================================
 * FIX : Suppression du liseret orange sur les h2 dans les mini-articles
 * Problème : Les h2 dans les mini-articles héritent du style avec liseret orange
 * Solution : Override spécifique pour les h2 dans les mini-articles
 * ====================================== */

/* Supprime le liseret orange (::after) pour TOUS les h2 dans les mini-articles */
.mini-article-container h2::after,
.recette-content .mini-article-container h2::after,
.mini-article h2::after,
.recette-content .mini-article h2::after,
[class*="mini-article"] h2::after {
    display: none !important;
    content: none !important;
}

/* Supprime aussi le padding-bottom qui était ajouté pour faire de la place au liseret */
.mini-article-container h2,
.recette-content .mini-article-container h2,
.mini-article h2,
.recette-content .mini-article h2,
[class*="mini-article"] h2 {
    padding-bottom: 0 !important;
}

/* S'assurer que les styles spécifiques aux mini-articles sont préservés */
.mini-article-container .article-title,
.mini-article .article-title {
    /* Conserve les styles existants des titres dans les mini-articles */
    position: relative;
    font-size: 1.3rem;
    margin-bottom: 15px;
}

/* Pour les h2 avec la classe article-chapter-title dans les mini-articles
   Ces styles s'alignent avec page-article-elements.css */
.mini-article-container .article-chapter-title,
.mini-article .article-chapter-title {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 2rem;
    color: var(--text-color, #333);
    margin: 0;
    margin-top: 40px;
    margin-bottom: 0;
    padding-bottom: 10px;
    position: relative;
    transition: color 0.3s ease;
}

/* Ligne de soulignement harmonisée avec page-article-elements.css */
.mini-article-container .article-chapter-title::after,
.mini-article .article-chapter-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background-color: var(--primary-color, #ff6b6b);
}

/* Mode sombre pour les h2 des mini-articles */
.dark-mode .mini-article-container .article-chapter-title,
.dark-mode .mini-article .article-chapter-title {
    color: #fff !important;
}

.article-title--primary {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 25px;
    font-size: 1.2rem !important;
}

.article-title--primary::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: var(--article-accent);
    border-radius: 2px;
}

/* Titre d'étape */
.step-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--article-text-primary);
    margin: 25px 0 15px 0;
    padding-left: 30px;
    position: relative;
    counter-increment: step-counter;
}

.step-title::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    width: 24px;
    height: 24px;
    background: var(--article-accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: bold;
}

/* Titre mis en évidence */
.article-title--highlight {
    background: var(--article-highlight-bg);
    padding: 15px 20px;
    border-left: 4px solid var(--article-accent);
    border-radius: 6px;
    margin: 25px 0;
}

/* ============================================
   ÉLÉMENTS DE TEXTE
============================================ */

/* Texte standard d'article */
.article-content {
    color: var(--article-text-primary);
    line-height: 1.7;
    font-size: 1rem;
    margin-bottom: 20px;
}

.article-content p {
    margin-bottom: 15px;
}

.article-content p:last-child {
    margin-bottom: 0;
}

/* Introduction d'article */
.article-intro {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--article-text-primary);
    font-weight: 500;
    margin-bottom: 25px;
    padding: 20px;
    background: var(--article-bg-alt);
    border-radius: 8px;
}

/* Conclusion d'article */
.article-conclusion {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--article-text-primary);
    margin-top: 30px;
    padding: 20px;
    background: var(--article-bg-alt);
    border-radius: 8px;
    border-top: 3px solid var(--article-accent);
}

/* Citation */
.article-quote {
    position: relative;
    padding: 20px 20px 20px 50px;
    margin: 25px 0;
    background: var(--article-quote-bg);
    border-left: 4px solid var(--article-quote-border);
    border-radius: 6px;
    font-style: italic;
    color: var(--article-text-primary);
    line-height: 1.6;
}

.article-quote::before {
    content: '"';
    position: absolute;
    left: 15px;
    top: 10px;
    font-size: 3rem;
    color: var(--article-quote-border);
    opacity: 0.3;
    font-family: Georgia, serif;
}

/* ============================================
   ÉLÉMENTS DE LISTE
============================================ */

/* Liste standard */
.article-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.article-list li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
    color: var(--article-text-primary);
    line-height: 1.6;
}

.article-list li::before {
    content: '•';
    position: absolute;
    left: 10px;
    color: var(--article-accent);
    font-weight: bold;
    font-size: 1.2rem;
}

/* Liste d'étapes */
.steps-list {
    list-style: none;
    padding: 0;
    margin: 25px 0;
    counter-reset: steps-counter;
}

.steps-list li {
    position: relative;
    padding: 15px 15px 15px 50px;
    margin-bottom: 15px;
    background: var(--article-bg-alt);
    border-radius: 8px;
    border: 1px solid var(--article-border);
    counter-increment: steps-counter;
    line-height: 1.6;
    transition: all 0.3s ease;
}



.steps-list li::before {
    content: counter(steps-counter);
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translate(0, -50%);
    width: 28px;
    height: 28px;
    background: var(--article-accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
}

/* Liste d'ingrédients DANS UN ARTICLE */
.article-container .ingredients-list,
.mini-article-container .ingredients-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    display: grid;
    gap: 10px;
}

.article-container .ingredients-list li,
.mini-article-container .ingredients-list li {
    padding: 12px 15px;
    background: var(--article-bg-alt);
    border-radius: 8px;
    border: 1px solid var(--article-border);
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}



.article-container .ingredients-list li::before,
.mini-article-container .ingredients-list li::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f2e5"; /* fa-spoon */
    font-size: 1.2rem;
}

/* Checklist */
.checklist {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.checklist li {
    position: relative;
    padding: 12px 15px 12px 40px;
    margin-bottom: 10px;
    background: var(--article-bg-alt);
    border-radius: 8px;
    border: 1px solid var(--article-border);
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
}



.checklist li::before {
    content: '';
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translate(0, -50%);
    width: 20px;
    height: 20px;
    border: 2px solid var(--article-accent);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.checklist li.checked {
    opacity: 0.7;
    text-decoration: line-through;
}

.checklist li.checked::before {
    background: var(--article-accent);
}

.checklist li.checked::after {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f00c"; /* fa-check */
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translate(0, -50%);
    color: white;
    font-size: 14px;
}

/* ============================================
   ÉLÉMENTS D'IMAGE
============================================ */

/* Image standard */
.article-image {
    margin: 25px 0;
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    cursor: pointer; /* Indique que l'image est cliquable pour la lightbox */
}

.article-image img {
    width: 80%;
    height: auto;
    margin: 10px auto;
    display: block;
    transition: transform 0.3s ease;
}

/* ======================================
 * FIX : Images des mini-articles - Suppression hover et ajout lightbox
 * Problème : Les images dans les mini-articles ont un effet scale au hover non désiré
 * Solution : Override des effets hover et préparation pour la lightbox
 * ====================================== */

/* Supprime tous les effets de transformation au hover pour les images des mini-articles */
.mini-article-container .article-image img,
.mini-article-container img,
.conservation-content img,
.preparation-content img,
.conseil-content img {
    transition: none !important;
    transform: none !important;
}

.mini-article-container .article-image:hover img,
.mini-article-container img:hover,
.conservation-content img:hover,
.preparation-content img:hover,
.conseil-content img:hover {
    transform: none !important;
}

/* Supprime aussi tout changement de box-shadow au hover */
.mini-article-container .article-image:hover,
.conservation-content .article-image:hover,
.preparation-content .article-image:hover,
.conseil-content .article-image:hover {
    box-shadow: var(--article-shadow) !important; /* Garde l'ombre normale, pas l'ombre hover */
}

/* Ajoute un curseur pointer pour indiquer que l'image est cliquable */
.mini-article-container .article-image,
.mini-article-container img,
.conservation-content img,
.preparation-content img,
.conseil-content img {
    cursor: pointer;
}

/* Classe ajoutée aux images pour la lightbox */
.lightbox-enabled {
    cursor: pointer;
}

/* S'assurer que les images des mini-articles ont les bonnes données pour la lightbox */
.mini-article-image {
    cursor: pointer;
    transition: opacity 0.2s ease;
}




/* Image héro (grande image de présentation) */
.hero-image {
    margin: 0 -30px 30px -30px;
    border-radius: 0;
    overflow: hidden;
    height: 400px;
    position: relative;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
}

/* Image inline (dans le texte) */
.inline-image {
    float: left;
    margin: 0 20px 20px 0;
    max-width: 300px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--article-shadow);
}

.inline-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Image galerie */
.gallery-image {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--article-shadow);
    transition: all 0.3s ease;
    cursor: pointer;
}

.gallery-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}




/* ============================================
   ÉLÉMENTS DE LIEN
============================================ */

/* Lien standard */
.article-link {
    color: var(--article-link);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    position: relative;
    display: inline-block;
}

.article-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--article-link);
    transition: width 0.3s ease;
}


/* Lien bouton */
.btn {
    display: inline-block;
    padding: 10px 24px;
    border-radius: 30px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    font-size: 0.95rem;
}

.btn-primary {
    background: var(--article-accent);
    color: white;
}


/* Lien externe */
.external-link {
    color: var(--article-link);
    text-decoration: none;
    font-weight: 500;
    position: relative;
    padding-right: 20px;
    transition: all 0.3s ease;
}

.external-link::after {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f08e"; /* fa-external-link */
    position: absolute;
    right: 0;
    top: 0;
    font-size: 0.8rem;
    transition: all 0.3s ease;
}



/* ============================================
   ÉLÉMENTS RÉSEAUX SOCIAUX
============================================ */

/* Embed standard */
.social-embed {
    margin: 25px 0;
    border-radius: 12px;
    overflow: hidden;
    padding: 0px;
}

.social-embed iframe {
    width: 100%;
    min-height: 400px;
    border: none;
    border-radius: 8px;
}

/* Embed large */
.social-embed--large {
    padding: 20px;
    margin: 30px 0;
}

.social-embed--large iframe {
    min-height: 500px;
}

/* YouTube Short */
.social-short {
    margin: 20px 0;
    max-width: 400px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--article-shadow);
    background: #000;
    position: relative;
    padding-bottom: 177.78%; /* Ratio 9:16 pour les shorts */
}

.social-short iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Short mis en avant */
.social-short--featured {
    max-width: 500px;
    box-shadow: 0 0 20px rgba(255, 107, 107, 0.3);
    border: 2px solid var(--article-accent);
}

/* Instagram */
.social-instagram {
    margin: 25px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--article-shadow);
    background: var(--article-bg-alt);
    padding: 15px;
}

/* Compte Instagram */
.instagram-account {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
    color: white;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin: 20px 0;
}


.instagram-account::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f030"; /* fa-camera */
    font-size: 2rem;
}

/* TikTok */
.social-tiktok {
    margin: 25px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--article-shadow);
    background: #000;
    padding: 15px;
}

/* Compte TikTok */
.tiktok-account {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: linear-gradient(135deg, #000, #ff0050, #00f2ea);
    color: white;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin: 20px 0;
}



.tiktok-account::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f001"; /* fa-music */
    font-size: 2rem;
}

/* X (Twitter) */
.x-timeline,
.x-video,
.x-post {
    margin: 25px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--article-shadow);
    background: var(--article-bg-alt);
    padding: 15px;
}

/* ============================================
   ÉLÉMENTS CUISINE
============================================ */

/* Fiche recette DANS UN ARTICLE (pas dans la grille AJAX) */
.article-container .recipe-card,
.mini-article-container .recipe-card {
    display: flex;
    gap: 0px;
    padding: 0px;
    background: var(--article-bg-alt);
    border-radius: 12px;
    border: 1px solid var(--article-border);
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.article-container .recipe-card:hover,
.mini-article-container .recipe-card:hover {
    box-shadow: var(--article-shadow-hover);
    transform: translateY(-2px);
}

.article-container .recipe-card-image,
.mini-article-container .recipe-card-image {
    width: 150px;
    height: 150px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.article-container .recipe-card-image img,
.mini-article-container .recipe-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-container .recipe-card-content,
.mini-article-container .recipe-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.article-container .recipe-card-title,
.mini-article-container .recipe-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--article-text-primary);
    margin-bottom: 10px;
}

.article-container .recipe-card-meta,
.mini-article-container .recipe-card-meta {
    display: flex;
    gap: 20px;
    color: var(--article-text-primary);
    font-size: 0.9rem;
    margin-bottom: 10px;
}

.article-container .recipe-card-meta span,
.mini-article-container .recipe-card-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.article-container .recipe-card-meta span::before,
.mini-article-container .recipe-card-meta span::before {
    font-size: 1rem;
}

.article-container .recipe-card-meta .time::before,
.mini-article-container .recipe-card-meta .time::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f2f2"; /* fa-stopwatch */
}

.article-container .recipe-card-meta .difficulty::before,
.mini-article-container .recipe-card-meta .difficulty::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f86c"; /* fa-hat-chef */
}

.article-container .recipe-card-meta .servings::before,
.mini-article-container .recipe-card-meta .servings::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f2e7"; /* fa-utensils */
}

/* Recette rapide DANS UN ARTICLE */
.article-container .recipe-quick,
.mini-article-container .recipe-quick {
    padding: 15px;
    background: linear-gradient(135deg, var(--article-accent), var(--article-accent-hover));
    color: white;
    border-radius: 12px;
    margin: 20px 0;
    transition: all 0.3s ease;
}

.article-container .recipe-quick:hover,
.mini-article-container .recipe-quick:hover {
    box-shadow: var(--article-shadow-hover);
    transform: translateY(-2px);
}

.article-container .recipe-quick-title,
.mini-article-container .recipe-quick-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.article-container .recipe-quick-time,
.mini-article-container .recipe-quick-time {
    font-size: 0.9rem;
    opacity: 0.9;
}

.article-container .recipe-quick-time::before,
.mini-article-container .recipe-quick-time::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f0e7 "; /* fa-bolt */
}

/* Info ingrédient DANS UN ARTICLE */
.article-container .ingredient-info,
.mini-article-container .ingredient-info {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: var(--article-bg-alt);
    border: 1px solid var(--article-border);
    border-radius: 30px;
    margin: 5px;
    transition: all 0.3s ease;
}



.article-container .ingredient-info::before,
.mini-article-container .ingredient-info::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f787"; /* fa-carrot */
    font-size: 1.2rem;
}

/* Fiche ustensile DANS UN ARTICLE */
.article-container .tool-card,
.mini-article-container .tool-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: var(--article-bg-alt);
    border: 1px solid var(--article-border);
    border-radius: 12px;
    margin: 20px 0;
    transition: all 0.3s ease;
}



.article-container .tool-card::before,
.mini-article-container .tool-card::before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
    content: "\f2e4"; /* fa-knife-kitchen */
    font-size: 2rem;
}

.article-container .tool-card-name,
.mini-article-container .tool-card-name {
    font-weight: 600;
    color: var(--article-text-primary);
    margin-bottom: 5px;
}

.article-container .tool-card-description,
.mini-article-container .tool-card-description {
    font-size: 0.9rem;
    color: var(--article-text-primary);
}

/* ============================================
   SECTIONS
============================================ */

/* Section standard HTML */
.section-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin: 25px 0;
    padding: 20px;
    background: var(--article-bg-alt);
    border-radius: 12px;
}

/* Section compacte */
.section-buttons--compact {
    gap: 10px;
    padding: 15px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

/* Section mise en avant */
.section-buttons--featured {
    background: linear-gradient(135deg, rgba(255, 107, 107, 0.05), rgba(78, 205, 196, 0.05));
    border: 2px solid var(--article-accent);
    padding: 25px;
}

/* Section cuisine */
.cuisine-section {
    margin: 30px 0;
    padding: 25px;
    background: var(--article-bg-alt);
    border-radius: 12px;
    border: 1px solid var(--article-border);
}

.cuisine-section--compact {
    padding: 15px;
}

.cuisine-section--premium {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    border: none;
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.3);
}

.cuisine-section--premium * {
    color: #333 !important;
}

/* Section réseaux sociaux */
.social-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin: 30px 0;
    padding: 25px;
    background: var(--article-bg-alt);
    border-radius: 12px;
}

/* ============================================
   ÉLÉMENTS SPÉCIAUX
============================================ */

/* Thème culinaire */
.theme-tag {
    display: inline-block;
    padding: 6px 16px;
    background: var(--article-accent);
    color: white;
    border-radius: 30px;
    font-size: 0.9rem;
    font-weight: 500;
    margin: 5px;
    transition: all 0.3s ease;
    text-decoration: none;
}


/* Publicité */
.ad-content,
.ad-native {
    margin: 30px 0;
    padding: 20px;
    background: var(--article-bg-alt);
    border: 1px dashed var(--article-border);
    border-radius: 12px;
    text-align: center;
    position: relative;
}

.ad-content::before,
.ad-native::before {
    content: 'Publicité';
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 0.75rem;
    color: var(--article-text-primary);
    opacity: 0.6;
}

.ad-native {
    border: 1px solid var(--article-border);
    background: var(--article-bg);
}

/* ============================================
   RESPONSIVE DESIGN
============================================ */

@media (max-width: 1024px) {
    .hero-image {
        height: 300px;
    }

    .article-container .recipe-card,
    .mini-article-container .recipe-card {
        flex-direction: column;
    }

    .article-container .recipe-card-image,
    .mini-article-container .recipe-card-image {
        width: 100%;
        height: 200px;
    }
}

@media (max-width: 768px) {
    .article-container {
        padding: 0px;
        border-radius: 8px;
    }
    
    .mini-article-container {
        padding: 0px;
    }
    
    /* Sur mobile, pas d'effet hover du tout pour les images des mini-articles */
    .mini-article-container .article-image:hover,
    .conservation-content .article-image:hover,
    .preparation-content .article-image:hover,
    .conseil-content .article-image:hover {
        opacity: 1;
    }
    
    .article-title {
        font-size: 1.5rem;
    }

    /* H2 des mini-articles en mode responsive */
    .mini-article-container .article-chapter-title,
    .mini-article .article-chapter-title {
        font-size: 1.3rem;
        line-height: 1.8rem;
        padding-bottom: 12px;
    }

    .step-title {
        font-size: 1.2rem;
    }
    
    .hero-image {
        margin: 0 -20px 20px -20px;
        height: 250px;
    }
    
    .inline-image {
        float: none;
        margin: 20px 0;
        max-width: 100%;
    }
    
    .social-section,
    .section-buttons {
        grid-template-columns: 1fr;
    }

    .article-container .recipe-card,
    .mini-article-container .recipe-card {
        padding: 0;
    }

    .social-short {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .article-container {
        padding: 15px;
        margin-bottom: 20px;
    }
    
    .article-title {
        font-size: 1.3rem;
    }

    /* H2 des mini-articles en mode mobile */
    .mini-article-container .article-chapter-title,
    .mini-article .article-chapter-title {
        font-size: 1.25rem;
        line-height: 1.6rem;
    }

    .article-intro,
    .article-conclusion {
        padding: 15px;
        font-size: 1rem;
    }
    
    .steps-list li {
        padding-left: 40px;
    }
    
    .steps-list li::before {
        width: 24px;
        height: 24px;
        left: 10px;
    }

    .article-container .recipe-card-meta,
    .mini-article-container .recipe-card-meta {
        flex-wrap: wrap;
        gap: 10px;
    }

    .section-buttons {
        padding: 15px;
        gap: 10px;
    }
    
    .cuisine-section,
    .social-section {
        padding: 15px;
    }
}

/* ============================================
   ANIMATIONS
============================================ */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.article-container,
.mini-article-container {
    animation: fadeIn 0.6s ease-out;
}

/* Animation au scroll pour les éléments */
.article-element {
    opacity: 0;
    animation: fadeIn 0.6s ease-out forwards;
}

.article-element:nth-child(1) { animation-delay: 0.1s; }
.article-element:nth-child(2) { animation-delay: 0.2s; }
.article-element:nth-child(3) { animation-delay: 0.3s; }
.article-element:nth-child(4) { animation-delay: 0.4s; }
.article-element:nth-child(5) { animation-delay: 0.5s; }

/* ============================================
   UTILITAIRES
============================================ */

/* Classes pour l'alignement dans les mini-articles */
.mini-article-container .article-title {
    font-size: 1.3rem;
    margin-bottom: 15px;
}

.mini-article-container .article-content {
    font-size: 0.95rem;
}

.mini-article-container .article-image {
    margin: 15px 0;
}

/* Support pour le compteur d'étapes */
.article-container {
    counter-reset: step-counter;
}

/* Classes pour la grille d'images galerie */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin: 25px 0;
}

/* Transitions pour le mode sombre */
* {
    transition: background-color 0.3s ease, 
                color 0.3s ease, 
                border-color 0.3s ease;
}
/* ============================================
   WIDGETS RÉSEAUX SOCIAUX X/TWITTER
============================================ */

/* Container pour les widgets Twitter/X */
.article-x-video,
.article-x-post,
.article-x-timeline {
    margin: 25px 0;
    width: 100%;
}

.x-widget-container {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Masquer le texte pour les vidéos X/Twitter - afficher uniquement la vidéo */
.article-x-video .twitter-tweet {
    /* Masquer le header du tweet (auteur, date) */
}

/* Forcer le tweet à ne montrer que la carte vidéo */
.article-x-video iframe.twitter-tweet-rendered {
    max-width: 550px !important;
    margin: 0 auto !important;
}

/* Responsive pour les widgets Twitter */
@media (max-width: 768px) {
    .article-x-video,
    .article-x-post,
    .article-x-timeline {
        margin: 15px 0;
    }
    
    .article-x-video iframe.twitter-tweet-rendered,
    .article-x-post iframe.twitter-tweet-rendered {
        max-width: 100% !important;
    }
}


/* ============================================
   WIDGETS INSTAGRAM
============================================ */

/* Container pour les vidéos Instagram */
.article-instagram-video,
.article-instagram-profile {
    margin: 25px 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

/* Empêcher l'élargissement de l'image Instagram */
.article-instagram-video .instagram-media,
.article-instagram-profile .instagram-media {
    max-width: 540px !important;
    min-width: 326px !important;
    margin: 0 auto !important;
}

/* Forcer le conteneur à respecter les dimensions */
.article-instagram-video iframe,
.article-instagram-profile iframe {
    max-width: 100% !important;
}

/* ============================================
   WIDGETS TIKTOK
============================================ */

/* Container pour les vidéos TikTok */
.article-tiktok-video,
.article-tiktok-profile {
    margin: 25px 0;
    width: 100%;
    display: flex;
    justify-content: center;
}

.tiktok-embed-container {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

/* Masquer la scrollbar pour TikTok tout en gardant le scroll fonctionnel */
.tiktok-embed-container iframe {
    /* Pour Firefox */
    scrollbar-width: none;
    /* Pour IE et Edge */
    -ms-overflow-style: none;
}

/* Pour Chrome, Safari et Opera */
.tiktok-embed-container iframe::-webkit-scrollbar {
    display: none;
    width: 0 !important;
    height: 0 !important;
}

/* Assurer que l'iframe TikTok ne déborde pas */
.article-tiktok-video iframe {
    display: block;
    margin: 0 auto;
}

/* Responsive pour Instagram et TikTok */
@media (max-width: 768px) {
    .article-instagram-video,
    .article-instagram-profile,
    .article-tiktok-video,
    .article-tiktok-profile {
        margin: 15px 0;
    }
    
    .article-instagram-video .instagram-media,
    .article-instagram-profile .instagram-media {
        min-width: 100% !important;
    }
    
    .article-tiktok-video iframe {
        max-width: 100% !important;
        width: 100% !important;
    }
}
