/**
 * Le Petit Jardinier – Front-end Styles (global)
 */

/* ==========================================================================
   Design tokens – disponibles sur toutes les pages
   ========================================================================== */
:root {
  --serif:       'Playfair Display', Georgia, serif;
  --sans:        'Nunito Sans', system-ui, sans-serif;
  --vert-fonce:  #1E4D2B;
  --vert-med:    #2A6B34;
  --vert-lime:   #6DAF2F;
  --vert-pale:   #EBF4E2;
  --vert-xpale:  #F4FAF0;
  --vert-line:   #B8DCA0;
  --brun:        #A08060;
  --brun-light:  #EDE5D8;
  --bleu-nuit:   #1C2E40;
  --blanc:       #FFFFFF;
  --gris-bg:     #F7F8F5;
  --gris-border: #E2E8DB;
  --gris-text:   #526050;
  --noir:        #171F14;
  --gold:        #C8963C;
  --max:         1260px;
  --r:           10px;
}

/* ==========================================================================
   Typographie globale – conforme au template
   ========================================================================== */

body {
  font-family: var(--sans);
  color: var(--noir);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-family: var(--serif);
  font-size: clamp(32px, 4.5vw, 58px);
  font-weight: 700;
  line-height: 1.1;
  color: var(--vert-fonce);
}

h2 {
  font-family: var(--serif);
  font-size: clamp(22px, 3vw, 40px);
  font-weight: 500;
  line-height: 1.2;
  color: var(--vert-fonce);
}

h3 {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 700;
  color: var(--vert-fonce);
}

h4, h5, h6 {
  font-family: var(--sans);
  font-weight: 700;
  color: var(--vert-fonce);
}

p {
  font-family: var(--sans);
  font-size: 15.5px;
  color: var(--gris-text);
  line-height: 1.75;
}

/* ── Header sticky ───────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: #fff;
  border-bottom: 1px solid var(--gris-border);
  box-shadow: 0 2px 16px rgba(0,0,0,.05);
}

/* Surcharge variables GeneratePress pour aligner les fonts */
body,
.site,
.entry-content,
.entry-title,
.widget,
.nav-primary,
.main-navigation {
  font-family: var(--sans);
}

/* ==========================================================================
   Jardinier Card (Shortcode & Listings)
   ========================================================================== */

.jardinier-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.jardinier-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.jardinier-card-image {
    aspect-ratio: 16/10;
    overflow: hidden;
}

.jardinier-card-image img {
    width: 100%;
    height: 100%!important;
    object-fit: cover;
    transition: transform 0.3s;
}

.jardinier-card:hover .jardinier-card-image img {
    transform: scale(1.05);
}

.jardinier-card-content {
    padding: 20px;
}

.jardinier-card-title {
    margin: 0 0 10px 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
}

.jardinier-card-title a {
    color: #1d2327;
    text-decoration: none;
}

.jardinier-card-title a:hover {
    color: #2271b1;
}

.jardinier-card-location {
    margin: 0 0 8px 0;
    font-size: 0.9rem;
    color: #646970;
}

.jardinier-card-phone {
    margin: 0 0 12px 0;
    font-size: 0.9rem;
}

.jardinier-card-phone a {
    color: #2271b1;
    text-decoration: none;
}

.jardinier-card-phone a:hover {
    text-decoration: underline;
}

.jardinier-card-features {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.jardinier-tag {
    display: inline-block;
    padding: 4px 10px;
    font-size: 0.75rem;
    font-weight: 500;
    background: #f0f6fc;
    color: #0a4b78;
    border-radius: 20px;
}

/* ==========================================================================
   Jardinier Grid (pour liste d'jardiniers)
   ========================================================================== */

.jardinier-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
}

/* ==========================================================================
   Jardinier Single (page détail)
   ========================================================================== */

.jardinier-single {
    max-width: 900px;
    margin: 0 auto;
}

.jardinier-header {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 30px;
    margin-bottom: 40px;
}

.jardinier-thumbnail img {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.jardinier-info h1 {
    margin: 0 0 15px 0;
    font-size: 2rem;
    color: #1d2327;
}

.jardinier-meta-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.jardinier-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.95rem;
}

.jardinier-meta-item:last-child {
    border-bottom: none;
}

.jardinier-meta-icon {
    font-size: 1.2rem;
    width: 24px;
    text-align: center;
}

.jardinier-meta-item a {
    color: #2271b1;
    text-decoration: none;
}

.jardinier-meta-item a:hover {
    text-decoration: underline;
}

/* ==========================================================================
   Sections (Services, Paiements)
   ========================================================================== */

.jardinier-section {
    margin: 30px 0;
    padding: 25px;
    background: #f8f9fa;
    border-radius: 12px;
}

.jardinier-section-title {
    margin: 0 0 15px 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #1d2327;
}

.jardinier-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.jardinier-tags .jardinier-tag {
    font-size: 0.85rem;
    padding: 6px 14px;
}

.jardinier-tag-paiement {
    background: #e8f5e9;
    color: #1b5e20;
}

/* ==========================================================================
   Map Container
   ========================================================================== */

.jardinier-map {
    height: 300px;
    border-radius: 12px;
    overflow: hidden;
    margin: 30px 0;
}

.jardinier-map iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* ==========================================================================
   Contact CTA
   ========================================================================== */

.jardinier-contact-cta {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.jardinier-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 0.95rem;
    font-weight: 500;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s;
}

.jardinier-btn-primary {
    background: #2271b1;
    color: #fff;
}

.jardinier-btn-primary:hover {
    background: #135e96;
    color: #fff;
}

.jardinier-btn-secondary {
    background: #f0f0f0;
    color: #1d2327;
}

.jardinier-btn-secondary:hover {
    background: #e0e0e0;
}

/* ==========================================================================
   Horaires d'ouverture
   ========================================================================== */

.jardinier-hours {
    margin: 20px 0;
}

.jardinier-hours-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.jardinier-hours-item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 0.9rem;
}

.jardinier-hours-day {
    font-weight: 500;
    color: #1d2327;
}

.jardinier-hours-time {
    color: #646970;
}
.site-footer .site-info{
	background-color: #EAEAEA;
}
.contact-entreprise h3{
	
}
h1.entry-title {
	text-align:center
}
/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
    .jardinier-header {
        grid-template-columns: 1fr;
    }
    
    .jardinier-contact-cta {
        flex-direction: column;
    }
    
    .jardinier-btn {
        justify-content: center;
    }
    
    .jardinier-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Footer – Le Petit Jardinier
   ========================================================================== */

#lpj-footer {
    background: #1E4D2B;
    color: #fff;
    font-family: 'Nunito Sans', system-ui, sans-serif;
    font-size: 14px;
    line-height: 1.65;
}

/* ── Wrapper intérieur (padding top) ── */
.lpj-footer__inner {
    padding: 64px 0 0;
    max-width: 1260px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
}

/* ── footer-top : 4 colonnes égales ── */
.lpj-footer__top {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px;
    padding-bottom: 52px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

/* ── Colonnes : widgets ── */
.lpj-footer__col {
    min-width: 0;
}

/* Titre du widget — h3 généré par WordPress via before_title/after_title */
#lpj-footer .lpj-footer__col h3,
#lpj-footer .lpj-footer__col h3.lpj-footer-widget__title,
#lpj-footer .lpj-footer__col .widget-title {
    font-family: 'Nunito Sans', system-ui, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.38) !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    line-height: 1.4 !important;
}

/* Listes de liens dans les widgets */
.lpj-footer__col .lpj-footer-widget ul,
.lpj-footer__col .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.lpj-footer__col .lpj-footer-widget ul li a,
.lpj-footer__col .widget ul li a {
    font-size: 14px;
    color: rgba(255,255,255,.72);
    text-decoration: none;
    transition: color .18s;
}

.lpj-footer__col .lpj-footer-widget ul li a:hover,
.lpj-footer__col .widget ul li a:hover {
    color: #fff;
}

/* Texte brut dans les widgets */
.lpj-footer__col .lpj-footer-widget p,
.lpj-footer__col .widget p {
    font-size: 14px;
    color: rgba(255,255,255,.55);
    margin: 0 0 8px;
}

/* ── Barre du bas ── */
.lpj-footer__bottom {
    padding: 20px 32px;
    text-align: center;
    font-size: 13px;
    color: rgba(255,255,255,.32);
    max-width: 1260px;
    margin: 0 auto;
}

/* Surcharge : GeneratePress injecte parfois un footer supplémentaire */
#lpj-footer .generate-footer {
    display: none;
}

/* ==========================================================================
   FULL-WIDTH OVERRIDE — pages taxonomy métier
   Supprime les contraintes GeneratePress pour les fonds pleine largeur
   ========================================================================== */
body.tax-metier .site-content,
body.tax-metier .content-area,
body.tax-metier #primary,
body.tax-metier .site-main,
body.tax-metier article,
body.tax-metier .inside-article,
body.tax-metier .entry-content,
body.tax-metier .entry-header,
body.tax-metier .entry-footer,
body.tax-metier .page-header {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

body.tax-metier .content-area {
  grid-column: 1 / -1 !important;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .lpj-footer__top {
        grid-template-columns: 1fr 1fr;
        gap: 36px;
    }
}

@media (max-width: 640px) {
    .lpj-footer__inner {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 48px;
    }
    .lpj-footer__top {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .lpj-footer__bottom {
        padding: 16px 20px;
    }
}
