/*
Theme Name: Enfrance Theme Toulouse
Theme URI: https://enfrance.biz
Template: generatepress
Author: Philippe
Description: Child theme GeneratePress pour toulouse.enfrance.biz (Ville rose)
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.5.1.1733676917
Updated: 2024-12-08 17:55:17
*/

/* === VARIABLES & TYPOGRAPHIE === */
:root {
    --toulouse-brique: #9C3D2E;
    --toulouse-pierre-rose: #D9A88F;
    --toulouse-pastel: #4A6FA5;
    --toulouse-vert: #2E5A3D;
    --gris-ardoise: #333333;
    --blanc-casse: #FDF8F3;
}

body {
    font-family: 'Lato', sans-serif;
    color: var(--gris-ardoise);
    background-color: var(--blanc-casse);
    line-height: 1.7;
    font-size: 17px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif;
    color: var(--toulouse-brique);
    font-weight: 700;
    letter-spacing: -0.5px;
}

h1 { font-size: 2.5em; margin-bottom: 0.5em; }
h2 { font-size: 1.8em; margin-top: 1.5em; margin-bottom: 0.5em; border-bottom: 2px solid var(--toulouse-pierre-rose); padding-bottom: 5px; }
h3 { font-size: 1.4em; color: var(--toulouse-pastel); }

a { color: var(--toulouse-pastel); text-decoration: none; transition: color 0.3s ease; }
a:hover { color: var(--toulouse-brique); text-decoration: underline; }

/* === STRUCTURE & LAYOUT : contenu centré si pas de sidebar, sidebar autorisée === */
.no-sidebar .site-content .content-area,
.no-sidebar .inside-article,
.no-sidebar .entry-content {
    max-width: 850px !important;
    margin: 0 auto !important;
    float: none !important;
}

/* Ne pas forcer le 100% quand une sidebar est active (GeneratePress gère la grille) */
.right-sidebar .site-content .content-area,
.left-sidebar .site-content .content-area {
    margin: 0 !important;
    float: none !important;
}

/* Sur mobile : sidebar sous le contenu */
@media (max-width: 768px) {
    .site-content {
        flex-direction: column !important;
    }
    .site-content .content-area,
    .site-content .sidebar {
        width: 100% !important;
    }
}

/* === HEADER : Logo + Titre === */
.site-header {
    background-color: var(--blanc-casse) !important;
    border-bottom: 1px solid var(--toulouse-pierre-rose);
}

.site-header .header-image {
    width: 80px !important;
    height: auto !important;
    border-radius: 50%;
    object-fit: cover;
}

.main-title a {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.6em !important;
    color: var(--toulouse-brique) !important;
    font-weight: 700 !important;
}

/* === NAVIGATION : cacher le bouton MENU sur desktop, hamburger uniquement sur mobile === */
.main-navigation .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle {
    display: none !important;
}

.main-navigation .main-nav {
    display: block !important;
}

.main-navigation .menu-toggle {
    background-color: var(--toulouse-brique) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 28px !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    font-size: 1em !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer;
    transition: background-color 0.3s ease !important;
    align-items: center !important;
    gap: 8px;
}

.main-navigation .menu-toggle:hover {
    background-color: var(--toulouse-pastel) !important;
}

.main-navigation .menu-toggle .gp-icon {
    display: inline-flex !important;
    align-items: center;
}

.main-navigation .menu-toggle .gp-icon svg {
    fill: #fff !important;
    width: 1.1em !important;
    height: 1.1em !important;
}

.main-navigation .menu-toggle .mobile-menu {
    color: #fff !important;
    font-weight: 700 !important;
}

/* Sur mobile, afficher le hamburger + masquer les liens du menu sauf si ouvert */
@media (max-width: 768px) {
    .main-navigation .menu-toggle,
    .mobile-menu-control-wrapper .menu-toggle {
        display: inline-flex !important;
    }

    .main-navigation:not(.toggled) .main-nav {
        display: none !important;
    }

    .main-navigation.toggled .main-nav {
        display: block !important;
    }
}

/* === LIENS DU MENU (desktop) === */
.main-navigation .main-nav ul li a {
    color: var(--gris-ardoise) !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
    text-decoration: none !important;
    padding: 10px 16px !important;
    transition: color 0.3s ease !important;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--toulouse-brique) !important;
}

/* === BOUTONS CATEGORIE (Accueil) : forme pilule === */
.wp-block-button__link {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
    line-height: 1.3 !important;
    padding: 20px 40px !important;
    display: inline-block !important;
    font-family: 'Playfair Display', serif !important;
    font-weight: 700 !important;
    font-size: 1.15em !important;
    color: var(--toulouse-brique) !important;
    background-color: var(--toulouse-pierre-rose) !important;
    border-radius: 9999px !important;
    border: 2px solid var(--toulouse-brique) !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 3px 8px rgba(156, 61, 46, 0.12) !important;
}

.wp-block-button__link:hover {
    background-color: var(--toulouse-brique) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(156, 61, 46, 0.25) !important;
}

.wp-block-button__link strong {
    color: inherit !important;
    font-weight: 700 !important;
}

/* Conteneur des boutons : gap entre les boutons */
.wp-block-buttons {
    gap: 16px !important;
    padding: 10px 0 !important;
}

/* Supprimer les radius inline imposés par l'éditeur (on garde 9999px = pill) */
.wp-block-button[style*="border-radius:300px"] .wp-block-button__link,
.wp-block-button[style*="border-top-left-radius:300px"] .wp-block-button__link {
    border-radius: 9999px !important;
}

/* === ÉLÉMENTS SPÉCIFIQUES "THOMAS" === */
strong, b {
    color: var(--toulouse-brique);
    font-weight: 700;
}

.touche-thomas {
    background-color: #F7ECE3;
    border-left: 5px solid var(--toulouse-brique);
    padding: 20px 25px;
    margin: 30px 0;
    font-style: italic;
    border-radius: 0 8px 8px 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* === BOUTONS GÉNÉRIQUES (forms, mais PAS menu-toggle ni search submit) === */
.wp-block-button__link:not(.menu-toggle):not(.wp-block-search__button),
input[type="submit"]:not(.menu-toggle) {
    background-color: var(--toulouse-brique) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
}

.wp-block-button__link:not(.menu-toggle):not(.wp-block-search__button):hover,
input[type="submit"]:not(.menu-toggle):hover {
    background-color: var(--toulouse-pastel) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

/* === RESPONSIVE : Mobile === */
@media (max-width: 768px) {
    .site-header .inside-header {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    .main-title a {
        font-size: 1.3em !important;
    }

    .wp-block-button__link {
        font-size: 1em !important;
        padding: 14px 20px !important;
    }

    h1 { font-size: 1.8em !important; }
    h2 { font-size: 1.4em !important; }
}
