/*
Theme Name: GeneratePress Child
Template:   generatepress
Description: Thème enfant GeneratePress — Travaux Match (travauxmatch.fr)
Version:    1.0.0
*/

/* ============================================================
   VARIABLES
   ============================================================ */
:root {
  --tm-blue:        #0F4DA8;
  --tm-blue2:       #1D4ED8;
  --tm-blue-soft:   #DBEAFE;
  --tm-orange:      #F97316;
  --tm-orange-soft: #FFEDD5;
  --tm-navy:        #0F172A;
  --tm-text:        #475569;
  --tm-text-soft:   #64748B;
  --tm-bg:          #FFFFFF;
  --tm-bg-soft:     #F8FAFC;
  --tm-border:      #E5E7EB;
  --tm-overlay:     rgba(15,23,42,.55);
  --tm-maxw:        1200px;
  --tm-radius:      12px;
  --tm-header-h:    66px;
}

/* ============================================================
   RESET GENERATEPRESS — neutralisation header/footer natifs
   ============================================================ */
#site-header,
.site-header,
#site-header .inside-header,
.site-footer,
#site-footer { display:none !important; }

/* ============================================================
   BASE
   ============================================================ */
*, *::before, *::after { box-sizing:border-box; }

body {
  font-family:'Inter', sans-serif !important;
  color:var(--tm-text) !important;
  background:#fff !important;
  margin:0 !important;
  padding:0 !important;
  -webkit-font-smoothing:antialiased;
}

img { max-width:100%; height:auto; }

a { color:inherit; text-decoration:none; }

.tm-container {
  max-width:var(--tm-maxw);
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.tm-label {
  display:block;
  font-size:.75rem !important;
  font-weight:600 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--tm-blue) !important;
  margin-bottom:10px !important;
}

h2.tm-section-title {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:2rem !important;
  font-weight:800 !important;
  color:var(--tm-navy) !important;
  line-height:1.2 !important;
  margin:0 0 12px !important;
}

/* ============================================================
   BOUTONS
   ============================================================ */
.tm-btn {
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:12px 24px !important;
  border-radius:8px !important;
  font-weight:600 !important;
  font-size:.95rem !important;
  cursor:pointer !important;
  border:none !important;
  transition:filter .15s, transform .1s !important;
  text-decoration:none !important;
  line-height:1.2 !important;
}

.tm-btn:hover { filter:brightness(1.08) !important; transform:translateY(-1px) !important; }

.tm-btn-orange {
  background:var(--tm-orange) !important;
  color:#fff !important;
}

.tm-btn-outline {
  background:transparent !important;
  color:var(--tm-blue) !important;
  border:2px solid var(--tm-blue) !important;
}

.tm-btn-outline:hover { background:var(--tm-blue-soft) !important; }

.tm-btn-white {
  background:#fff !important;
  color:var(--tm-navy) !important;
}

.tm-btn-white-outline {
  background:transparent !important;
  color:#fff !important;
  border:2px solid rgba(255,255,255,.7) !important;
}

/* ============================================================
   HEADER
   ============================================================ */
#tm-header {
  position:sticky !important;
  top:0 !important;
  z-index:999 !important;
  background:#fff !important;
  height:var(--tm-header-h) !important;
  border-bottom:1px solid var(--tm-border) !important;
  box-shadow:0 1px 4px rgba(0,0,0,.06) !important;
}

#tm-header .tm-header-inner {
  height:var(--tm-header-h) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}

/* Logo */
.tm-logo {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  text-decoration:none !important;
  flex-shrink:0 !important;
}

.tm-logo-icon {
  width:32px !important;
  height:32px !important;
  background:var(--tm-blue) !important;
  border-radius:6px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-shrink:0 !important;
}

.tm-logo-icon svg { width:18px !important; height:18px !important; fill:#fff !important; }

.tm-logo-text {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:1.15rem !important;
  font-weight:800 !important;
  color:var(--tm-navy) !important;
  line-height:1 !important;
}

.tm-logo-text span { color:var(--tm-blue) !important; }

/* Nav desktop */
.tm-nav {
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  flex:1 !important;
  justify-content:center !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.tm-nav a {
  font-size:.9rem !important;
  font-weight:500 !important;
  color:var(--tm-text) !important;
  padding:6px 12px !important;
  border-radius:6px !important;
  transition:color .15s, background .15s !important;
  white-space:nowrap !important;
  text-decoration:none !important;
}

.tm-nav a:hover {
  color:var(--tm-blue) !important;
  background:var(--tm-blue-soft) !important;
}

/* Droite header */
.tm-header-actions {
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-shrink:0 !important;
}

.tm-header-actions .tm-btn {
  padding:9px 18px !important;
  font-size:.85rem !important;
}

.tm-btn-connexion {
  background:transparent !important;
  color:var(--tm-text) !important;
  border:1.5px solid var(--tm-border) !important;
}

.tm-btn-connexion:hover {
  border-color:var(--tm-blue) !important;
  color:var(--tm-blue) !important;
  background:var(--tm-blue-soft) !important;
}

/* Burger mobile */
.tm-burger {
  display:none !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:5px !important;
  width:40px !important;
  height:40px !important;
  background:none !important;
  border:none !important;
  cursor:pointer !important;
  flex-shrink:0 !important;
  margin-left:auto !important;
}

.tm-burger span {
  display:block !important;
  width:22px !important;
  height:2px !important;
  background:var(--tm-navy) !important;
  border-radius:2px !important;
  transition:transform .25s !important;
}

/* Mobile nav overlay */
.tm-mobile-menu {
  display:none;
  position:fixed !important;
  inset:0 !important;
  background:#fff !important;
  z-index:1000 !important;
  flex-direction:column !important;
  padding:20px !important;
  overflow-y:auto !important;
}

.tm-mobile-menu.open { display:flex !important; }

.tm-mobile-menu-header {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin-bottom:24px !important;
}

.tm-mobile-close {
  background:none !important;
  border:none !important;
  font-size:1.5rem !important;
  cursor:pointer !important;
  color:var(--tm-navy) !important;
  padding:4px !important;
}

.tm-mobile-nav {
  list-style:none !important;
  margin:0 0 24px !important;
  padding:0 !important;
}

.tm-mobile-nav li { border-bottom:1px solid var(--tm-border) !important; }

.tm-mobile-nav a {
  display:block !important;
  padding:14px 4px !important;
  font-size:1rem !important;
  font-weight:600 !important;
  color:var(--tm-navy) !important;
}

.tm-mobile-actions {
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
}

/* ============================================================
   HERO
   ============================================================ */
#tm-hero {
  background:#F0F6FF !important;
  overflow:hidden !important;
  position:relative !important;
}

.tm-hero-inner {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  min-height:460px !important;
  align-items:center !important;
}

.tm-hero-text {
  padding:60px 40px 60px 0 !important;
  z-index:2 !important;
  position:relative !important;
}

.tm-hero-text h1 {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:2.8rem !important;
  font-weight:800 !important;
  color:var(--tm-navy) !important;
  line-height:1.15 !important;
  margin:0 0 16px !important;
}

.tm-hero-text p {
  font-size:1.05rem !important;
  color:var(--tm-text) !important;
  line-height:1.6 !important;
  margin:0 0 28px !important;
  max-width:400px !important;
}

/* Barre de confiance sous le texte hero */
.tm-trust-bar {
  display:flex !important;
  gap:20px !important;
  flex-wrap:wrap !important;
  margin-bottom:28px !important;
}

.tm-trust-item {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:.82rem !important;
  color:var(--tm-text-soft) !important;
  font-weight:500 !important;
}

.tm-trust-item svg {
  width:16px !important;
  height:16px !important;
  color:var(--tm-blue) !important;
  flex-shrink:0 !important;
}

.tm-hero-cta {
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}

/* Image hero côté droit */
.tm-hero-image {
  position:relative !important;
  height:100% !important;
  min-height:460px !important;
  overflow:hidden !important;
}

.tm-hero-image img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.tm-hero-image-placeholder {
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, #DBEAFE 0%, #93C5FD 50%, #BFDBFE 100%) !important;
}

/* ============================================================
   SECTION 4 ÉTAPES
   ============================================================ */
#tm-steps {
  padding:64px 0 !important;
  background:#fff !important;
}

.tm-steps-grid {
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:32px !important;
  margin-top:48px !important;
  position:relative !important;
}

/* Ligne de connexion entre étapes */
.tm-steps-grid::before {
  content:'' !important;
  position:absolute !important;
  top:28px !important;
  left:calc(12.5% + 12px) !important;
  right:calc(12.5% + 12px) !important;
  height:2px !important;
  background:var(--tm-blue-soft) !important;
  z-index:0 !important;
}

.tm-step {
  text-align:center !important;
  position:relative !important;
  z-index:1 !important;
}

.tm-step-icon {
  width:56px !important;
  height:56px !important;
  background:var(--tm-blue) !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto 16px !important;
  flex-shrink:0 !important;
}

.tm-step-icon svg {
  width:26px !important;
  height:26px !important;
  fill:#fff !important;
}

.tm-step-num {
  font-size:.75rem !important;
  font-weight:700 !important;
  color:var(--tm-blue) !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  display:block !important;
  margin-bottom:6px !important;
}

.tm-step h3 {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:1rem !important;
  font-weight:700 !important;
  color:var(--tm-navy) !important;
  margin:0 0 8px !important;
}

.tm-step p {
  font-size:.85rem !important;
  color:var(--tm-text-soft) !important;
  line-height:1.55 !important;
  margin:0 !important;
}

/* ============================================================
   SECTION TYPES DE TRAVAUX
   ============================================================ */
#tm-types {
  padding:64px 0 !important;
  background:var(--tm-bg-soft) !important;
}

.tm-types-intro {
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  margin-bottom:32px !important;
  gap:20px !important;
  flex-wrap:wrap !important;
}

.tm-types-grid {
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:16px !important;
}

.tm-type-card {
  background:#fff !important;
  border:1.5px solid var(--tm-border) !important;
  border-radius:var(--tm-radius) !important;
  padding:24px 20px !important;
  text-align:center !important;
  text-decoration:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:12px !important;
  transition:border-color .2s, box-shadow .2s, transform .15s !important;
}

.tm-type-card:hover {
  border-color:var(--tm-blue) !important;
  box-shadow:0 4px 20px rgba(15,77,168,.12) !important;
  transform:translateY(-2px) !important;
}

.tm-type-card-icon {
  width:52px !important;
  height:52px !important;
  background:var(--tm-blue-soft) !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-shrink:0 !important;
}

.tm-type-card-icon svg {
  width:26px !important;
  height:26px !important;
}

.tm-type-card span {
  font-size:.9rem !important;
  font-weight:600 !important;
  color:var(--tm-navy) !important;
}

/* ============================================================
   BANDEAU CONFIANCE
   ============================================================ */
#tm-trust {
  background:var(--tm-blue) !important;
  padding:48px 0 !important;
}

.tm-trust-grid {
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:32px !important;
}

.tm-trust-block {
  display:flex !important;
  align-items:flex-start !important;
  gap:16px !important;
}

.tm-trust-block-icon {
  width:44px !important;
  height:44px !important;
  background:rgba(255,255,255,.15) !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-shrink:0 !important;
}

.tm-trust-block-icon svg {
  width:22px !important;
  height:22px !important;
  stroke:#fff !important;
  fill:none !important;
}

.tm-trust-block h3 {
  font-size:1rem !important;
  font-weight:700 !important;
  color:#fff !important;
  margin:0 0 6px !important;
}

.tm-trust-block p {
  font-size:.85rem !important;
  color:rgba(255,255,255,.8) !important;
  line-height:1.5 !important;
  margin:0 !important;
}

/* ============================================================
   SECTION VILLES
   ============================================================ */
#tm-villes {
  padding:64px 0 !important;
  background:#fff !important;
}

.tm-villes-intro {
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  margin-bottom:32px !important;
  gap:20px !important;
  flex-wrap:wrap !important;
}

.tm-villes-grid {
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  grid-template-rows:repeat(2, 160px) !important;
  gap:16px !important;
}

.tm-ville-card {
  position:relative !important;
  overflow:hidden !important;
  border-radius:var(--tm-radius) !important;
  text-decoration:none !important;
  display:block !important;
}

.tm-ville-card:first-child {
  grid-row:span 2 !important;
}

.tm-ville-card img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .4s !important;
}

.tm-ville-card:hover img { transform:scale(1.05) !important; }

.tm-ville-card-placeholder {
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, var(--tm-blue) 0%, var(--tm-navy) 100%) !important;
}

.tm-ville-overlay {
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(to top, rgba(15,23,42,.7) 0%, rgba(15,23,42,.1) 60%, transparent 100%) !important;
}

.tm-ville-info {
  position:absolute !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
  padding:16px !important;
}

.tm-ville-info strong {
  display:block !important;
  font-size:1rem !important;
  font-weight:700 !important;
  color:#fff !important;
}

.tm-ville-info span {
  font-size:.78rem !important;
  color:rgba(255,255,255,.8) !important;
}

/* ============================================================
   SECTION BLOG
   ============================================================ */
#tm-blog {
  padding:64px 0 !important;
  background:var(--tm-bg-soft) !important;
}

.tm-blog-intro {
  margin-bottom:32px !important;
}

.tm-blog-grid {
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:24px !important;
}

.tm-blog-card {
  background:#fff !important;
  border-radius:var(--tm-radius) !important;
  overflow:hidden !important;
  border:1px solid var(--tm-border) !important;
  text-decoration:none !important;
  display:flex !important;
  flex-direction:column !important;
  transition:box-shadow .2s, transform .15s !important;
}

.tm-blog-card:hover {
  box-shadow:0 8px 28px rgba(0,0,0,.1) !important;
  transform:translateY(-3px) !important;
}

.tm-blog-thumb {
  position:relative !important;
  height:180px !important;
  overflow:hidden !important;
  flex-shrink:0 !important;
}

.tm-blog-thumb img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .4s !important;
}

.tm-blog-card:hover .tm-blog-thumb img { transform:scale(1.06) !important; }

.tm-blog-thumb-placeholder {
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, var(--tm-blue-soft) 0%, #93C5FD 100%) !important;
}

.tm-blog-body {
  padding:20px !important;
  flex:1 !important;
  display:flex !important;
  flex-direction:column !important;
}

.tm-blog-cat {
  display:inline-block !important;
  font-size:.72rem !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  color:var(--tm-blue) !important;
  background:var(--tm-blue-soft) !important;
  padding:3px 8px !important;
  border-radius:4px !important;
  margin-bottom:10px !important;
}

.tm-blog-body h3 {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:1rem !important;
  font-weight:700 !important;
  color:var(--tm-navy) !important;
  line-height:1.4 !important;
  margin:0 0 8px !important;
  flex:1 !important;
}

.tm-blog-meta {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  font-size:.78rem !important;
  color:var(--tm-text-soft) !important;
  margin-top:12px !important;
}

/* ============================================================
   BANDEAU CTA FINAL
   ============================================================ */
#tm-cta {
  background:var(--tm-orange) !important;
  padding:56px 0 !important;
}

.tm-cta-inner {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:32px !important;
  flex-wrap:wrap !important;
}

.tm-cta-text h2 {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:1.9rem !important;
  font-weight:800 !important;
  color:#fff !important;
  margin:0 0 8px !important;
}

.tm-cta-text p {
  font-size:1rem !important;
  color:rgba(255,255,255,.9) !important;
  margin:0 !important;
}

.tm-cta-actions {
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  flex-shrink:0 !important;
}

/* ============================================================
   SECTION SEO
   ============================================================ */
#tm-seo {
  padding:48px 0 !important;
  background:#fff !important;
  border-top:1px solid var(--tm-border) !important;
}

#tm-seo h2 {
  font-family:'Plus Jakarta Sans','Sora',sans-serif !important;
  font-size:1.4rem !important;
  font-weight:700 !important;
  color:var(--tm-navy) !important;
  margin:0 0 16px !important;
}

#tm-seo p {
  font-size:.92rem !important;
  color:var(--tm-text) !important;
  line-height:1.7 !important;
  margin:0 0 12px !important;
  max-width:800px !important;
}

#tm-seo a {
  color:var(--tm-blue) !important;
  font-weight:600 !important;
  text-decoration:underline !important;
}

#tm-seo strong { color:var(--tm-navy) !important; font-weight:700 !important; }

/* ============================================================
   FOOTER
   ============================================================ */
#tm-footer {
  background:var(--tm-navy) !important;
  color:rgba(255,255,255,.8) !important;
  padding:56px 0 0 !important;
  margin-top:0 !important;
}

.tm-footer-grid {
  display:grid !important;
  grid-template-columns:1.4fr 1fr 1fr 1fr !important;
  gap:40px !important;
  padding-bottom:48px !important;
}

.tm-footer-brand { }

.tm-footer-brand .tm-logo-text { color:#fff !important; }
.tm-footer-brand .tm-logo-text span { color:var(--tm-orange) !important; }

.tm-footer-desc {
  font-size:.85rem !important;
  color:rgba(255,255,255,.6) !important;
  line-height:1.6 !important;
  margin:16px 0 20px !important;
}

.tm-socials {
  display:flex !important;
  gap:10px !important;
}

.tm-social-link {
  width:34px !important;
  height:34px !important;
  background:rgba(255,255,255,.1) !important;
  border-radius:6px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  transition:background .2s !important;
}

.tm-social-link:hover { background:rgba(255,255,255,.2) !important; }

.tm-social-link svg {
  width:15px !important;
  height:15px !important;
  fill:rgba(255,255,255,.8) !important;
}

.tm-footer-col h4 {
  font-size:.8rem !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  color:#fff !important;
  margin:0 0 16px !important;
}

.tm-footer-col ul {
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

.tm-footer-col ul li { margin-bottom:9px !important; }

.tm-footer-col ul a {
  font-size:.85rem !important;
  color:rgba(255,255,255,.6) !important;
  text-decoration:none !important;
  transition:color .15s !important;
}

.tm-footer-col ul a:hover { color:#fff !important; }

.tm-footer-contact {
  font-size:.85rem !important;
  color:rgba(255,255,255,.6) !important;
  line-height:1.6 !important;
  margin:0 !important;
}

.tm-footer-contact strong {
  display:block !important;
  font-size:1.1rem !important;
  color:#fff !important;
  margin-bottom:4px !important;
}

.tm-footer-bottom {
  border-top:1px solid rgba(255,255,255,.1) !important;
  padding:18px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}

.tm-footer-bottom p {
  font-size:.78rem !important;
  color:rgba(255,255,255,.45) !important;
  margin:0 !important;
}

.tm-footer-bottom-links {
  display:flex !important;
  gap:20px !important;
}

.tm-footer-bottom-links a {
  font-size:.78rem !important;
  color:rgba(255,255,255,.45) !important;
  text-decoration:none !important;
}

.tm-footer-bottom-links a:hover { color:rgba(255,255,255,.8) !important; }

/* ============================================================
   CONTENU GÉNÉRIQUE (pages/articles)
   ============================================================ */
.entry-content {
  color:var(--tm-text) !important;
  line-height:1.75 !important;
}

.entry-content ul {
  list-style:disc outside !important;
  padding-left:1.4em !important;
  margin:0.8em 0 !important;
}

.entry-content ul li { margin-bottom:.35em !important; }

.entry-content table:not(#z) { margin:0 !important; width:100% !important; border-collapse:collapse !important; }
.entry-content table:not(#z) td,
.entry-content table:not(#z) th { padding:8px 10px !important; border:1px solid var(--tm-border) !important; }

.entry-content h2 { font-size:1.5rem !important; font-weight:700 !important; color:var(--tm-navy) !important; margin:1.5em 0 .6em !important; }
.entry-content h3 { font-size:1.2rem !important; font-weight:700 !important; color:var(--tm-navy) !important; margin:1.3em 0 .5em !important; }

/* Pagination — anti-marker scopé */
.page-numbers li { list-style:none !important; }
.page-numbers li::marker { display:none !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px) {
  .tm-types-grid { grid-template-columns:repeat(4, 1fr) !important; }
}

@media (max-width:900px) {
  .tm-nav,
  .tm-header-actions { display:none !important; }
  .tm-burger { display:flex !important; }

  .tm-hero-inner { grid-template-columns:1fr !important; }
  .tm-hero-image { display:none !important; }
  .tm-hero-text { padding:48px 0 !important; }
  .tm-hero-text h1 { font-size:2rem !important; }

  .tm-steps-grid { grid-template-columns:repeat(2, 1fr) !important; }
  .tm-steps-grid::before { display:none !important; }

  .tm-types-grid { grid-template-columns:repeat(2, 1fr) !important; }

  .tm-trust-grid { grid-template-columns:1fr !important; }

  .tm-villes-grid { grid-template-columns:repeat(2, 1fr) !important; grid-template-rows:unset !important; }
  .tm-ville-card:first-child { grid-row:auto !important; }
  .tm-ville-card { height:180px !important; }

  .tm-blog-grid { grid-template-columns:1fr !important; }

  .tm-cta-inner { flex-direction:column !important; text-align:center !important; }

  .tm-footer-grid { grid-template-columns:1fr 1fr !important; gap:32px !important; }
  .tm-footer-bottom { flex-direction:column !important; text-align:center !important; }
}

@media (max-width:600px) {
  h2.tm-section-title { font-size:1.5rem !important; }
  .tm-types-grid { grid-template-columns:repeat(2, 1fr) !important; }
  .tm-steps-grid { grid-template-columns:1fr !important; }
  .tm-villes-grid { grid-template-columns:1fr !important; }
  .tm-footer-grid { grid-template-columns:1fr !important; }
  .tm-logo-text { max-width:calc(100% - 100px) !important; }
}

/* ===== Reset conteneur GeneratePress — sections pleine largeur (fix .site-content display:flex) ===== */
.site-content:not(#z), #content:not(#z){ display:block !important; width:100% !important; }
.site-main:not(#z), #primary:not(#z){ display:block !important; width:100% !important; max-width:100% !important; padding:0 !important; margin:0 !important; }
.inside-article:not(#z){ padding:0 !important; }


/* ===== FIX HAMBURGER MOBILE — burger toujours à l'extrême droite (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .tm-header-inner:not(#z){ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; flex-wrap:nowrap !important; }
  .tm-header-inner:not(#z) nav{ display:none !important; }
  .tm-burger:not(#z){ display:inline-flex !important; margin-left:auto !important; order:999 !important; flex-shrink:0 !important; }
}

/* ===== Reset padding GeneratePress separate-containers (Mathieu 15/06 — gros padding 30px parasite) ===== */
.separate-containers .inside-article:not(#z),
.one-container .site-content:not(#z),
.inside-page-header:not(#z),
.separate-containers .paging-navigation:not(#z),
.separate-containers .comments-area:not(#z){ padding:0 !important; }

/* ===== STACK MOBILE SINGLE — sidebar sous le contenu, pas de débordement (Mathieu 15/06) ===== */
@media (max-width:1024px){
  .tm-single-sidebar:not(#z){ width:100% !important; max-width:100% !important; margin-top:32px !important; position:static !important; grid-column:1 / -1 !important; order:99 !important; }
}

/* ===== FIX HAMBURGER v2 — burger pin à droite (absolu), bonnes classes (Mathieu 15/06) ===== */
@media (max-width: 900px){
  .tm-header-inner:not(#z){ position:relative !important; }
  .tm-header-inner:not(#z) nav, .tm-nav, .tm-header-actions{ display:none !important; }
  .tm-burger:not(#z){ display:inline-flex !important; position:absolute !important; right:16px !important; top:50% !important; transform:translateY(-50%) !important; margin:0 !important; z-index:6 !important; }
}

/* ===== Fix menu mobile : ouvre SOUS le header (logo visible) — Mathieu 15/06 ===== */
.tm-mobile-menu:not(#z){ top:var(--tm-header-h,66px) !important; bottom:0 !important; height:auto !important; max-height:none !important; padding-top:24px !important; }
body.admin-bar .tm-mobile-menu:not(#z){ top:calc(var(--tm-header-h,66px) + 32px) !important; }
@media (max-width:782px){ body.admin-bar .tm-mobile-menu:not(#z){ top:calc(var(--tm-header-h,66px) + 46px) !important; } }
