/**
 * ZAHRA TV - Charte Graphique Officielle
 * Palette complète avec verts et dorés
 * Date: 03 Novembre 2025
 */

/* ============================================================================
   VARIABLES CSS - PALETTE ZAHRA TV
   ========================================================================= */

:root {
    /* Verts */
    --zahra-vert-fonce: #005C47;      /* Fond principal, bandes */
    --zahra-vert-moyen: #007C5A;      /* Titres, contours */
    --zahra-vert-clair: #009C78;      /* Dégradés, boutons */
    
    /* Dorés */
    --zahra-dore-clair: #E3C166;      /* Logo, détails lumineux */
    --zahra-dore-profond: #B99238;    /* Ombres, effet 3D */
    
    /* Neutres */
    --zahra-gris-clair: #E6E9E9;      /* Fond texte central */
    --zahra-brun-fonce: #2B1C14;      /* Arrière-plan sombre */
    --zahra-noir: #000000;            /* Texte principal */
    --zahra-blanc: #FFFFFF;           /* Texte sur fond foncé */
    
    /* Transparences */
    --zahra-vert-fonce-80: rgba(0, 92, 71, 0.8);
    --zahra-vert-fonce-90: rgba(0, 92, 71, 0.9);
    --zahra-vert-clair-20: rgba(0, 156, 120, 0.2);
    --zahra-dore-clair-20: rgba(227, 193, 102, 0.2);
}

/* ============================================================================
   GLOBAL - FOND ET TEXTE DE BASE
   ========================================================================= */

body {
    background: var(--zahra-blanc);
    color: var(--zahra-noir);
}

#wrapper {
    background-color: var(--zahra-blanc);
}

/* ============================================================================
   HEADER / NAVIGATION
   ========================================================================= */

#header {
    background: var(--zahra-vert-fonce);
    border-bottom: 3px solid var(--zahra-dore-clair);
}

/* Logo */
#header .logo img {
    filter: brightness(1.1);
}

/* Menu principal */
.menu ul li a {
    color: var(--zahra-blanc) !important;
    transition: all 0.3s ease;
}

.menu ul li a:hover,
.menu ul li.sfHover a {
    color: var(--zahra-dore-clair) !important;
    background-color: var(--zahra-vert-moyen) !important;
}

.menu ul li.current-menu-item a,
.menu ul li.current_page_item a {
    color: var(--zahra-dore-clair) !important;
    background-color: var(--zahra-vert-moyen) !important;
}

/* Sous-menus */
.menu ul li ul {
    background-color: var(--zahra-vert-moyen) !important;
    border-top: 2px solid var(--zahra-dore-clair);
}

.menu ul li ul li a {
    color: var(--zahra-blanc) !important;
    border-bottom: 1px solid var(--zahra-vert-fonce);
}

.menu ul li ul li a:hover {
    background-color: var(--zahra-vert-clair) !important;
    color: var(--zahra-blanc) !important;
}

/* Bande supérieure */
.top-line {
    background: var(--zahra-vert-fonce);
    color: var(--zahra-gris-clair);
}

/* ============================================================================
   SLIDER MODERNE
   ========================================================================= */

#sliderModerne {
    border-top: 4px solid var(--zahra-dore-clair);
    border-bottom: 4px solid var(--zahra-dore-clair);
}

/* Navigation flèches */
.slider-nav {
    background: var(--zahra-vert-fonce-90);
    color: var(--zahra-dore-clair);
    border: 2px solid var(--zahra-dore-clair);
}

.slider-nav:hover {
    background: var(--zahra-vert-moyen);
    color: var(--zahra-blanc);
    border-color: var(--zahra-dore-profond);
}

/* Points de pagination */
.slider-dots button {
    background: var(--zahra-gris-clair);
    border: 2px solid var(--zahra-vert-moyen);
}

.slider-dots button.active {
    background: var(--zahra-dore-clair);
    border-color: var(--zahra-dore-profond);
    transform: scale(1.3);
}

.slider-dots button:hover {
    background: var(--zahra-vert-clair);
    border-color: var(--zahra-vert-fonce);
}

/* ============================================================================
   TITRES
   ========================================================================= */

h1, h2 {
    color: var(--zahra-vert-moyen);
    font-weight: 600;
}

h3, h4 {
    color: var(--zahra-vert-fonce);
    font-weight: 600;
}

h5, h6 {
    color: var(--zahra-vert-moyen);
}

/* Titres avec accent doré */
.section-title,
.page-title h1,
.widget-title {
    color: var(--zahra-vert-moyen);
    border-left: 4px solid var(--zahra-dore-clair);
    padding-left: 15px;
}

/* ============================================================================
   BOUTONS
   ========================================================================= */

/* Bouton primaire - Vert */
.button,
.btn,
input[type="submit"],
button[type="submit"],
.btn-primary {
    background: linear-gradient(135deg, var(--zahra-vert-moyen), var(--zahra-vert-clair));
    color: var(--zahra-blanc);
    border: 2px solid var(--zahra-vert-moyen);
    padding: 12px 30px;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.button:hover,
.btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.btn-primary:hover {
    background: linear-gradient(135deg, var(--zahra-vert-clair), var(--zahra-vert-fonce));
    color: var(--zahra-blanc);
    border-color: var(--zahra-dore-clair);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 92, 71, 0.3);
}

/* Bouton secondaire - Doré */
.btn-secondary,
.button-gold {
    background: linear-gradient(135deg, var(--zahra-dore-clair), var(--zahra-dore-profond));
    color: var(--zahra-vert-fonce);
    border: 2px solid var(--zahra-dore-profond);
    font-weight: 700;
}

.btn-secondary:hover,
.button-gold:hover {
    background: linear-gradient(135deg, var(--zahra-dore-profond), var(--zahra-dore-clair));
    color: var(--zahra-blanc);
    border-color: var(--zahra-vert-moyen);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(185, 146, 56, 0.4);
}

/* ============================================================================
   LIENS
   ========================================================================= */

a {
    color: var(--zahra-vert-moyen);
    transition: color 0.3s ease;
}

a:hover {
    color: var(--zahra-vert-clair);
}

/* Liens dorés (contexte spécial) */
.gold-link,
a.gold {
    color: var(--zahra-dore-clair);
}

.gold-link:hover,
a.gold:hover {
    color: var(--zahra-dore-profond);
}

/* ============================================================================
   CARDS / RECETTES
   ========================================================================= */

.recipe-card,
.listing-item,
.post-item {
    background: var(--zahra-blanc);
    border: 2px solid var(--zahra-gris-clair);
    border-radius: 8px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.recipe-card:hover,
.listing-item:hover,
.post-item:hover {
    border-color: var(--zahra-vert-clair);
    box-shadow: 0 8px 25px var(--zahra-vert-clair-20);
    transform: translateY(-5px);
}

/* Image de la card */
.recipe-card img,
.listing-item img {
    transition: transform 0.3s ease;
}

.recipe-card:hover img,
.listing-item:hover img {
    transform: scale(1.05);
}

/* Titre de la card */
.recipe-card h3,
.listing-item h3,
.post-item h3 {
    color: var(--zahra-vert-fonce);
}

.recipe-card:hover h3,
.listing-item:hover h3,
.post-item:hover h3 {
    color: var(--zahra-vert-moyen);
}

/* Badge / Tag */
.badge,
.tag,
.category-badge {
    background: var(--zahra-vert-moyen);
    color: var(--zahra-blanc);
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.badge-gold {
    background: var(--zahra-dore-clair);
    color: var(--zahra-vert-fonce);
}

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

.section-highlight {
    background: var(--zahra-gris-clair);
    border-left: 5px solid var(--zahra-vert-moyen);
    padding: 20px;
}

.section-dark {
    background: var(--zahra-vert-fonce);
    color: var(--zahra-blanc);
}

.section-gold {
    background: var(--zahra-dore-clair-20);
    border-top: 3px solid var(--zahra-dore-clair);
    border-bottom: 3px solid var(--zahra-dore-clair);
}

/* ============================================================================
   FORMULAIRES
   ========================================================================= */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
    border: 2px solid var(--zahra-gris-clair);
    background: var(--zahra-blanc);
    color: var(--zahra-noir);
    padding: 12px 15px;
    border-radius: 5px;
    transition: all 0.3s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus {
    border-color: var(--zahra-vert-moyen);
    outline: none;
    box-shadow: 0 0 0 3px var(--zahra-vert-clair-20);
}

/* Labels */
label {
    color: var(--zahra-vert-fonce);
    font-weight: 600;
}

/* ============================================================================
   PAGINATION
   ========================================================================= */

.pagination a,
.pagination span {
    background: var(--zahra-blanc);
    color: var(--zahra-vert-moyen);
    border: 2px solid var(--zahra-gris-clair);
    padding: 8px 15px;
    margin: 0 3px;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.pagination a:hover {
    background: var(--zahra-vert-moyen);
    color: var(--zahra-blanc);
    border-color: var(--zahra-vert-moyen);
}

.pagination .current,
.pagination span.current {
    background: var(--zahra-dore-clair);
    color: var(--zahra-vert-fonce);
    border-color: var(--zahra-dore-profond);
    font-weight: 700;
}

/* ============================================================================
   FOOTER
   ========================================================================= */

#footer {
    background: #5c695c;
    color: var(--zahra-gris-clair);
    border-top: 4px solid var(--zahra-dore-clair);
}

#footer h3,
#footer h4 {
    color: var(--zahra-dore-clair);
    border-bottom: 2px solid var(--zahra-vert-moyen);
    padding-bottom: 10px;
}

#footer a {
    color: var(--zahra-gris-clair);
    transition: color 0.3s ease;
}

#footer a:hover {
    color: var(--zahra-dore-clair);
}

/* Copyright */
.copyright,
.footer-bottom {
    background: var(--zahra-noir);
    color: var(--zahra-gris-clair);
    padding: 20px 0;
    text-align: center;
}

/* Icônes sociales footer */
.social-icons a {
    background: var(--zahra-vert-moyen);
    color: var(--zahra-blanc);
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin: 0 5px;
    transition: all 0.3s ease;
}

.social-icons a:hover {
    background: var(--zahra-dore-clair);
    color: var(--zahra-vert-fonce);
    transform: translateY(-3px) scale(1.1);
}

/* ============================================================================
   RÉSEAUX SOCIAUX MODERNES - CHARTE ZAHRA TV
   ========================================================================= */

/* Container moderne */
#social_counts.square {
    max-width: 100%;
    margin: 0;
    display: flex;
    gap: 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 92, 71, 0.15);
}

/* Items individuels - Style moderne */
#social_counts .item {
    flex: 1;
    height: 90px;
    line-height: 90px;
    margin: 0;
    border-bottom: 0;
    border-radius: 0;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: linear-gradient(135deg, var(--zahra-vert-moyen), var(--zahra-vert-fonce));
}

/* Effet hover avec gradient doré */
#social_counts .item:hover {
    background: linear-gradient(135deg, var(--zahra-dore-clair), var(--zahra-dore-profond));
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(227, 193, 102, 0.4);
    z-index: 2;
}

/* Icônes modernes et grandes */
#social_counts .item i {
    display: block;
    font-size: 40px;
    line-height: 90px;
    color: var(--zahra-blanc);
    transition: all 0.3s ease;
}

#social_counts .item:hover i {
    color: var(--zahra-vert-fonce);
    transform: scale(1.15) rotate(5deg);
}

/* Bordure séparatrice dorée */
#social_counts .item:not(:last-child) {
    border-left: 2px solid rgba(227, 193, 102, 0.2);
}

/* Animation pulse subtile */
@keyframes pulse-social {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(0, 156, 120, 0.4);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(0, 156, 120, 0);
    }
}

#social_counts .item:hover {
    animation: pulse-social 1.5s infinite;
}

/* Couleurs spécifiques ZAHRA TV (vert/doré unifié) */
#social_counts .item.facebook { 
    background: linear-gradient(135deg, var(--zahra-vert-moyen), var(--zahra-vert-fonce)) !important;
}

#social_counts .item.instagram,
#social_counts .item.instagram_sandbox { 
    background: linear-gradient(135deg, var(--zahra-vert-clair), var(--zahra-vert-moyen)) !important;
}

#social_counts .item.youtube { 
    background: linear-gradient(135deg, var(--zahra-vert-fonce), #004533) !important;
}

#social_counts .item.twitter {
    background: linear-gradient(135deg, var(--zahra-vert-moyen), var(--zahra-vert-fonce)) !important;
}

/* Effet brillance au survol */
#social_counts .item::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    bottom: -50%;
    left: -50%;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0) 100%);
    transform: rotate(45deg) translateX(-100%);
    transition: transform 0.6s ease;
}

#social_counts .item:hover::before {
    transform: rotate(45deg) translateX(100%);
}

/* Responsive moderne */
@media (max-width: 768px) {
    #social_counts .item {
        height: 75px;
        line-height: 75px;
    }
    
    #social_counts .item i {
        font-size: 32px;
        line-height: 75px;
    }
}

/* ============================================================================
   AUTEURS POPULAIRES MODERNES - CHARTE ZAHRA TV
   ========================================================================= */

/* Container grille moderne */
.widget.members ul.boxed {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 0;
    margin: 0;
}

/* Items individuels - Cartes modernes */
.widget.members .boxed li {
    float: none;
    width: 100%;
    height: 110px;
    padding: 0;
    margin: 0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 3px 10px rgba(0, 92, 71, 0.15);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Effet hover élégant */
.widget.members .boxed li:hover {
    transform: translateY(-8px) scale(1.03);
    box-shadow: 0 12px 30px rgba(227, 193, 102, 0.35);
    z-index: 10;
}

/* Lien avec overlay */
.widget.members .boxed li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Images modernes */
.widget.members .boxed li a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}

/* Zoom image au hover */
.widget.members .boxed li:hover a img {
    transform: scale(1.1);
}

/* Overlay lumineux au hover */
.widget.members .boxed li a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, 
        rgba(227, 193, 102, 0.4), 
        rgba(255, 255, 255, 0.3));
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.widget.members .boxed li:hover a::before {
    opacity: 1;
}

/* Bordure dorée au hover */
.widget.members .boxed li::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 3px solid var(--zahra-dore-clair);
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.widget.members .boxed li:hover::after {
    opacity: 1;
}

/* Animation pulse subtile */
@keyframes pulse-author {
    0%, 100% {
        box-shadow: 0 3px 10px rgba(0, 92, 71, 0.15);
    }
    50% {
        box-shadow: 0 8px 20px rgba(0, 156, 120, 0.3);
    }
}

.widget.members .boxed li:hover {
    animation: pulse-author 2s infinite;
}

/* Responsive auteurs */
@media (max-width: 768px) {
    .widget.members ul.boxed {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .widget.members .boxed li {
        height: 100px;
    }
}

@media (max-width: 480px) {
    .widget.members ul.boxed {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    
    .widget.members .boxed li {
        height: 90px;
    }
}

/* ============================================================================
   CATÉGORIES MODERNES - CHARTE ZAHRA TV
   ========================================================================= */

/* Grille moderne 3 colonnes */
.home-cats.categories {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
    padding: 0;
}

/* Cartes catégories modernes - Format carré */
.home-cats a {
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--zahra-vert-moyen), var(--zahra-vert-fonce));
    color: var(--zahra-blanc);
    border-radius: 10px;
    padding: 10px 6px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0, 92, 71, 0.25);
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

/* Fallback pour navigateurs anciens */
@supports not (aspect-ratio: 1) {
    .home-cats a {
        height: 90px;
    }
}

/* Effet brillance */
.home-cats a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    transition: left 0.6s ease;
}

.home-cats a:hover::before {
    left: 100%;
}

/* Hover doré élégant */
.home-cats a:hover {
    background: linear-gradient(135deg, var(--zahra-dore-clair), var(--zahra-dore-profond));
    color: var(--zahra-vert-fonce);
    transform: translateY(-6px);
    box-shadow: 0 10px 30px rgba(227, 193, 102, 0.45);
    text-decoration: none;
}

/* Icônes */
.home-cats a i {
    font-size: 36px;
    margin-bottom: 6px;
    transition: transform 0.3s ease;
    display: block;
    line-height: 1;
}

.home-cats a:hover i {
    transform: scale(1.08);
}

/* Texte catégorie */
.home-cats a {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: normal;
}

/* Responsive catégories */
@media (max-width: 768px) {
    .home-cats.categories {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
    
    .home-cats a {
        min-height: 85px;
        padding: 8px 5px;
        font-size: 10px;
    }
    
    .home-cats a i {
        font-size: 32px;
        margin-bottom: 5px;
    }
}

@media (max-width: 480px) {
    .home-cats.categories {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    
    .home-cats a {
        min-height: 80px;
        font-size: 10px;
    }
    
    .home-cats a i {
        font-size: 30px;
    }
}

/* ============================================================================
   WIDGETS / SIDEBAR
   ========================================================================= */

.widget {
    background: var(--zahra-blanc);
    border: 2px solid var(--zahra-gris-clair);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
}

.widget-title {
    color: var(--zahra-vert-moyen);
    border-left: 4px solid var(--zahra-dore-clair);
    padding-left: 15px;
    margin-bottom: 20px;
}

.widget ul li {
    border-bottom: 1px solid var(--zahra-gris-clair);
    padding: 10px 0;
}

.widget ul li a {
    color: var(--zahra-vert-fonce);
}

.widget ul li a:hover {
    color: var(--zahra-vert-moyen);
    padding-left: 5px;
}

/* ============================================================================
   BREADCRUMB / FIL D'ARIANE
   ========================================================================= */

.breadcrumb {
    background: var(--zahra-gris-clair);
    padding: 15px 20px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.breadcrumb a {
    color: var(--zahra-vert-moyen);
}

.breadcrumb a:hover {
    color: var(--zahra-vert-clair);
}

.breadcrumb .current {
    color: var(--zahra-dore-profond);
    font-weight: 600;
}

/* ============================================================================
   ACCENTS DÉCORATIFS
   ========================================================================= */

/* Bordure décorative dorée */
.gold-border-top {
    border-top: 3px solid var(--zahra-dore-clair);
}

.gold-border-bottom {
    border-bottom: 3px solid var(--zahra-dore-clair);
}

/* Ligne séparatrice */
hr,
.separator {
    border: 0;
    height: 2px;
    background: linear-gradient(to right, var(--zahra-vert-moyen), var(--zahra-dore-clair), var(--zahra-vert-moyen));
    margin: 30px 0;
}

/* Highlight text */
.highlight,
mark {
    background: var(--zahra-dore-clair-20);
    color: var(--zahra-vert-fonce);
    padding: 2px 5px;
    border-radius: 3px;
}

/* ============================================================================
   LARGEUR DU CONTENU
   ========================================================================= */

/* Élargir le container pour plus d'espace */
@media (min-width: 1200px) {
    .container {
        width: 1420px !important; /* +250px par rapport à 1170px */
        max-width: 95%; /* Ne pas dépasser 95% de l'écran */
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .container {
        width: 1120px !important; /* +150px par rapport à 970px */
    }
}

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

@media (max-width: 768px) {
    .section-title,
    .widget-title {
        font-size: 20px;
    }
    
    .button,
    .btn {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    #header {
        border-bottom-width: 2px;
    }
}

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

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes pulse-gold {
    0%, 100% {
        box-shadow: 0 0 0 0 var(--zahra-dore-clair);
    }
    50% {
        box-shadow: 0 0 0 10px transparent;
    }
}

.pulse-gold {
    animation: pulse-gold 2s infinite;
}

/* ============================================================================
   FIN DU FICHIER - ZAHRA TV THEME
   ========================================================================= */

