/* Applique SARL - custom.css v6 */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62..125,400..800&family=Instrument+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root {
  --ap-cyan: #009FE3;
  --ap-magenta: #E6007E;
  --ap-yellow: #FFED00;
  --ap-ink: #101012;
  --ap-ink-60: #5A5A5E;
  --ap-ink-30: #9A9A9E;
  --ap-hairline: #E3E3E0;
  --ap-paper-dim: #F6F6F4;
}

body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }

/* ===== CACHE LA FEATURED IMAGE (on utilise cover block) ===== */
.wp-block-post-featured-image { display: none !important; }

/* ===== TITRE WP CACHÉ SUR TOUTES LES PAGES ===== */
/* Chaque page a son propre H1 dans le contenu — le titre FSE est superflu */
.wp-block-post-title,
.entry-title { display: none !important; }

/* ===== HEADER ===== */
header.wp-block-template-part {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid var(--ap-hairline) !important;
}

/* CTA header - lisible, no-wrap */
header.wp-block-template-part .wp-block-button a,
header.wp-block-template-part .wp-element-button {
  white-space: nowrap !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  background: var(--ap-cyan) !important;
  color: #fff !important;
  border-radius: 0 !important;
  border: none !important;
  font-weight: 600 !important;
}

/* ===== GAMME CMJN ===== */
.cmjn { display: inline-flex; gap: 0; vertical-align: middle; }
.cmjn span { width: 9px; height: 9px; display: block; }
.cmjn span:nth-child(1) { background: #009FE3; }
.cmjn span:nth-child(2) { background: #E6007E; }
.cmjn span:nth-child(3) { background: #FFED00; }
.cmjn span:nth-child(4) { background: #101012; }

/* ===== BOUTONS ===== */
.wp-element-button, .wp-block-button__link {
  border-radius: 0 !important;
  transition: background .15s, color .15s;
}

/* ===== CF7 FORM - fond clair ===== */
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100% !important;
  padding: 10px 14px !important;
  border: 1.5px solid #cccccc !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  color: #111111 !important;
  font-family: 'Archivo', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  box-sizing: border-box !important;
  display: block !important;
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #009fe3 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,159,227,0.15) !important;
}
.wpcf7 input[type="text"]::placeholder,
.wpcf7 input[type="tel"]::placeholder,
.wpcf7 textarea::placeholder {
  color: #999999 !important;
  opacity: 1 !important;
}
.wpcf7 select option {
  color: #111111 !important;
  background: #ffffff !important;
}
/* ===== FOOTER TEXTE BLANC ===== */
footer.wp-block-template-part,
footer.wp-block-template-part .wp-block-group,
footer.wp-block-template-part p,
footer.wp-block-template-part li,
footer.wp-block-template-part span:not(.cmjn span),
footer.wp-block-template-part a,
footer.wp-block-template-part h2,
footer.wp-block-template-part h3,
footer.wp-block-template-part h4 {
  color: rgba(255,255,255,0.85) !important;
}
footer.wp-block-template-part a:hover { color: var(--ap-cyan) !important; }
footer.wp-block-template-part strong { color: #fff !important; }

/* ===== HERO COVER inner-container ===== */
.wp-block-cover__inner-container {
  max-width: 1240px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ===== BARRE MOBILE ===== */
.mobile-cta-bar {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255,255,255,.1);
}
.mobile-cta-bar a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 15px; color: #fff; font-weight: 600; font-size: 15px;
  text-decoration: none; background: #101012;
}
.mobile-cta-bar a.cta-devis { background: var(--ap-cyan); }
@media (min-width: 768px) { .mobile-cta-bar { display: none !important; } }

/* ===== SCROLL REVEAL ===== */
@media (prefers-reduced-motion: no-preference) {
  .reveal { opacity: 0; transform: translateY(16px); transition: opacity .45s ease, transform .45s ease; }
  .reveal.visible { opacity: 1; transform: none; }
}

/* ===== TEL ===== */
a[href^="tel"] { font-family: 'IBM Plex Mono', monospace; white-space: nowrap; text-decoration: none; }

/* ===== MONO LABEL ===== */
.mono-label { font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ap-ink-60); }
/* Supprimer l'espace vide avant le contenu des pages intérieures */
.wp-block-post-content > *:first-child { margin-top: 0 !important; }
.wp-block-template-part + .wp-block-post-content,
main.wp-block-group > .wp-block-post-content { padding-top: 0 !important; }
.singular .wp-site-blocks > main { padding-top: 0 !important; }
.page .entry-header, .page .wp-block-post-template-info { display: none !important; }
/* ===== HERO PADDING HORIZONTAL ===== */
/* Évite que le texte touche les bords sur écrans larges */
.wp-block-group.alignfull > .is-layout-constrained,
.wp-block-group.alignfull.is-layout-constrained {
  padding-left: clamp(20px, 5vw, 64px) !important;
  padding-right: clamp(20px, 5vw, 64px) !important;
}
/* Grille articles Actualités responsive */
.wp-block-post-template.is-flex-container.is-flex-container.columns-3 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
}
.wp-block-post-template.is-flex-container.columns-3 > li {
  width: auto !important;
  margin: 0 !important;
}

/* ===== HERO SERVICE PAGES - centrage du texte ===== */
section.wp-block-group.alignfull p,
section.wp-block-group.alignfull h1,
section.wp-block-group.alignfull h2 {
  text-align: center !important;
}
section.wp-block-group.alignfull .wp-block-buttons {
  justify-content: center !important;
}
section.wp-block-group.alignfull .wp-block-buttons .wp-block-button {
  display: inline-block !important;
}

/* ===== GRILLE ARTICLES (Actualités + Archives) ===== */
.wp-block-post-template.is-layout-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
}
/* Carte article */
.wp-block-post-template.is-layout-grid .wp-block-group {
  transition: box-shadow .2s ease;
}
.wp-block-post-template.is-layout-grid .wp-block-group:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,.10);
}
/* Image carte : ratio 16/9 */
.wp-block-post-template .wp-block-post-featured-image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
/* Titre carte */
.wp-block-post-template .wp-block-post-title a {
  text-decoration: none !important;
  color: #101012 !important;
}
.wp-block-post-template .wp-block-post-title a:hover {
  color: #009FE3 !important;
}
/* Lire l article */
.wp-block-post-template .wp-block-read-more {
  color: #009FE3 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.wp-block-post-template .wp-block-read-more:hover {
  text-decoration: underline !important;
}
/* Catégorie label */
.wp-block-post-template .wp-block-post-terms a {
  color: #009FE3 !important;
  text-decoration: none !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
/* Pagination */
.wp-block-query-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers a,
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  border: 1px solid #E3E3E0 !important;
  background: #fff !important;
  color: #101012 !important;
  text-decoration: none !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
  transition: background .15s, border-color .15s !important;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers a:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover {
  background: #009FE3 !important;
  border-color: #009FE3 !important;
  color: #fff !important;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers .current {
  background: #101012 !important;
  color: #fff !important;
  padding: 8px 16px !important;
  font-family: 'IBM Plex Mono', monospace !important;
  font-size: 13px !important;
  border: 1px solid #101012 !important;
}
/* Section hero — pas de text-align center sur le texte des cartes */
section.wp-block-group.alignfull .wp-block-post-template p,
section.wp-block-group.alignfull .wp-block-post-template h1,
section.wp-block-group.alignfull .wp-block-post-template h2 {
  text-align: left !important;
}

/* ── Articles : réactiver titre et image à la une (masqués sur les pages) ── */
.single .wp-block-post-title,
.single .entry-title { display: block !important; }
.single .wp-block-post-featured-image { display: block !important; }