/*
 * Styles pour la grille de blog.
 */

/* Conteneur principal de la grille */
.sbg-grid {
    display: grid;
    grid-gap: 20px; /* Espace entre les articles (gouttière) */
    padding: 20px 0;
    margin: 0 -10px; /* Corrige l'espacement si le conteneur a un padding */
}

/* Grille pour les grands écrans (desktop) */
@media (min-width: 992px) {
    .sbg-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 colonnes */
    }
}

/* Grille pour les écrans de taille moyenne (tablette) */
@media (min-width: 576px) and (max-width: 991px) {
    .sbg-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes */
    }
}

/* Grille pour les petits écrans (mobile) */
@media (max-width: 575px) {
    .sbg-grid {
        grid-template-columns: 1fr; /* 1 colonne */
    }
}

/* Style de chaque élément de la grille (article) */
.sbg-grid-item {
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    background-color: #fff;
    overflow: hidden; /* Assure que le contenu ne déborde pas */
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.2s ease-in-out;
}

.sbg-grid-item:hover {
    transform: translateY(-5px); /* Effet au survol */
}

/* Conteneur de l'image miniature */
.sbg-thumbnail {
    overflow: hidden;
    position: relative;
    padding-top: 56.25%; /* Ratio 16:9 pour l'image */
}

.sbg-thumbnail img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recadre l'image sans déformation */
}

/* Contenu textuel de l'article */
.sbg-content {
    padding: 15px;
    flex-grow: 1; /* Permet au contenu de s'étendre pour une hauteur uniforme */
    display: flex;
    flex-direction: column;
}

.sbg-categories {
    font-size: 0.8em;
    font-weight: bold;
    margin-bottom: 5px;
    color: #0073aa; /* Couleur par défaut des liens de WordPress */
}

.sbg-categories a {
    text-decoration: none;
}

.sbg-title {
    font-size: 1.2em;
    margin: 0 0 10px 0;
}

.sbg-title a {
    text-decoration: none;
    color: #333;
    transition: color 0.2s ease-in-out;
}

.sbg-title a:hover {
    color: #0073aa;
}

.sbg-meta {
    font-size: 0.9em;
    color: #777;
    margin-bottom: 10px;
}

.sbg-description {
    font-size: 0.95em;
    color: #555;
    margin-bottom: 15px;
    line-height: 1.5;
}

.sbg-read-more {
    font-weight: bold;
    text-decoration: none;
    color: #0073aa;
    margin-top: auto; /* Pousse le bouton en bas */
}

.sbg-read-more:hover {
    text-decoration: underline;
}

/* Styles pour la pagination */
.sbg-pagination {
    clear: both;
    text-align: center;
    margin-top: 20px;
}

/* Nouveau style pour le texte personnalisé */
.sbg-custom-text {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    padding: 20px;
    margin-bottom: 20px;
}

/* S'assure que le contenu du TinyMCE est bien stylisé */
.sbg-custom-text p:last-child {
    margin-bottom: 0;
}

/* --- Styles pour la grille d'articles similaires --- */

.sbg-related-posts {
    margin-top: 40px;
    border-top: 1px solid #e0e0e0;
    padding-top: 20px;
}

.sbg-related-posts h3 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 1.5em;
    font-weight: bold;
}

.sbg-related-posts-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 colonnes sur desktop */
    gap: 20px;
}

.sbg-related-post-item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #333;
    transition: transform 0.2s ease-in-out;
}

.sbg-related-post-item:hover {
    transform: translateY(-5px);
}

.sbg-related-post-item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 5px;
}

.sbg-related-post-title {
    margin-top: 10px;
    text-align: center;
    font-size: 1em;
    font-weight: bold;
    line-height: 1.3;
}

/* Grille responsive pour les articles similaires */
@media (max-width: 991px) {
    .sbg-related-posts-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur tablette */
    }
}

@media (max-width: 575px) {
    .sbg-related-posts-grid {
        grid-template-columns: 1fr; /* 1 colonne sur mobile */
    }
}


/* --- Nouveaux styles pour la grille de produits aléatoires --- */

.sbg-product-grid-container {
    margin-top: 40px;
    border-top: 1px solid #e0e0e0;
    padding: 20px;
    clear: both;
    margin-bottom: 40px;
    border-bottom: 1px solid #e0e0e0;
    background-color: #f7f5f2;
}

.sbg-product-grid-container h3 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 1.5em;
    font-weight: bold;
}

.sbg-product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}

.sbg-product-item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: #333;
}

.sbg-product-item img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 5px;
    margin-bottom: 10px;
}

.sbg-product-title {
    font-weight: bold;
    font-size: 1em;
    line-height: 1.3;
    margin-bottom: 5px;
}

.sbg-product-price {
    font-size: 1.1em;
    color: #777;
}

/* Grille de produits responsive */
@media (max-width: 991px) {
    .sbg-product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .sbg-product-grid {
        grid-template-columns: 1fr;
    }
}
/*
 * Masque les liens de navigation (catégorie et précédent/suivant) sur la page d'un article.
 * Le thème Storefront utilise ces sélecteurs.
 */
body.single-post .cat-links,
body.single-post .nav-links {
    display: none !important;
}