/*
Theme Name: ENKA Construction
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: enka
Description: Première version du thème bloc ENKA.
*/

:root{--ink:#202323;--green:#ad2929;--lime:#efb7af;--paper:#f5f5f3;--line:#dce1db}*{box-sizing:border-box}.skip{position:absolute;top:-100px;z-index:20;background:white;padding:15px}.skip:focus{top:0}.brand{color:#c52929}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{font:bold 36px/.8 Arial;letter-spacing:-2px}.brand small{display:block;font:9px/1.4 Arial;letter-spacing:2.8px;margin-top:9px}.nav{display:flex;gap:30px;align-items:center;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 23px;background:var(--lime);border:1px solid transparent;color:var(--ink);font-size:14px;font-weight:700}.button.dark{background:var(--green);color:white}.button.outline{border-color:#ffffff70;background:transparent;color:#fff}.menu{display:none}.hero{position:relative;min-height:700px;color:white;background:#303332;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,24,24,.88),rgba(21,24,24,.36) 65%,rgba(21,24,24,.05))}.hero-content{position:relative;z-index:1;padding:90px 7% 65px;max-width:1050px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:2px;font-weight:700;display:block;margin-bottom:22px}.hero .eyebrow{color:var(--lime)}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;line-height:1.02;margin:0}h1{font-size:clamp(62px,7.7vw,112px);text-transform:uppercase;max-width:820px;letter-spacing:-1.5px}h1 em{font-style:normal;color:var(--lime)}.hero p{max-width:540px;margin:26px 0 32px;color:#e0e7e2;font-size:17px}.actions{display:flex;gap:14px;flex-wrap:wrap}.hero-foot{position:relative;z-index:1;margin:0 7%;border-top:1px solid #ffffff50;display:flex;justify-content:space-between;padding:22px 0;font-size:12px;letter-spacing:1px}.strip{display:flex;justify-content:space-between;gap:24px;padding:25px 7%;border-bottom:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:1px}.strip span:first-child{font-weight:700}.section{padding:95px 7%}.heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.heading h2,h2{font-size:clamp(42px,4.6vw,65px)}.heading p{max-width:430px;color:#5e675f;margin:0}.text-link{border-bottom:1px solid;padding-bottom:5px;font-size:14px;font-weight:600}.expertise{display:grid;grid-template-columns:1fr 1fr;gap:70px}.expertise figure{margin:0;position:relative}.expertise img{width:100%;height:570px;object-fit:cover}.caption{font-size:12px;color:#647169;padding-top:10px}.service{display:flex;gap:22px;padding:25px 0;border-top:1px solid var(--line)}.service>span{font-size:12px;color:#5d6e64}.service h3{font-size:31px}.service p{font-size:14px;color:#616e65;margin:10px 0 0}.service a{margin-left:auto}.audience{background:#eeefed}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#c9d2c7;border:1px solid #c9d2c7}.card{background:#eeefed;padding:30px 25px;display:flex;flex-direction:column;min-height:270px}.card .num{font-size:12px;color:#596a5a}.card h3{font-size:29px;margin:37px 0 15px}.card p{font-size:14px;margin:0 0 24px;color:#637064}.card a{margin-top:auto;font-size:14px;font-weight:700}.projects{display:grid;grid-template-columns:1.25fr 1fr;gap:30px}.project img{width:100%;height:370px;object-fit:cover}.project h3{font-size:30px;margin-top:18px}.project p{font-size:13px;color:#647169}.method{background:#252829;color:#fff}.method .eyebrow{color:var(--lime)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.step{border-top:1px solid #698074;padding-top:24px}.step b{color:var(--lime);font-size:13px}.step h3{font-size:29px;margin:25px 0 15px}.step p{font-size:14px;color:#c6d3cb}.zone{display:grid;grid-template-columns:1fr 1fr;gap:80px}.zone p{color:#637064}.zones{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.zones span{border:1px solid var(--line);padding:8px 12px;font-size:13px}.address{border-left:3px solid var(--green);padding-left:22px;margin-top:25px}details{border-top:1px solid var(--line);padding:20px 0}summary{font-weight:600;cursor:pointer}details p{font-size:14px}footer{background:#1b1e1f;color:#d3ded6;padding:55px 7% 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:40px}.footer-bottom{border-top:1px solid #3e5146;padding-top:20px;display:flex;justify-content:space-between;font-size:12px}.contact{background:#efb7af}.contact .heading{margin:0}.contact p{color:#40503d}.page-hero{padding:65px 7% 55px;background:#252829;color:white}.page-hero h1{font-size:clamp(48px,6vw,80px)}.page-hero p{max-width:650px;color:#d5dfd7}.crumb{font-size:12px;margin-bottom:28px;display:block;color:#b5c8bc}.content{max-width:1000px;margin:auto}.content h2{font-size:40px;margin:35px 0 20px}.form-shell{display:grid;grid-template-columns:260px 1fr;gap:60px}.form-note{font-size:14px;color:#667467}.progress{height:4px;background:#d7dfd6;margin:20px 0 35px}.progress i{display:block;background:var(--green);height:4px;transition:width .2s}fieldset{border:0;padding:0;margin:0}legend{font:600 36px 'Barlow Condensed',Arial;margin-bottom:22px}label{display:block;font-size:14px;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #bcc7bc;background:white;border-radius:0;padding:13px;margin-top:8px;color:var(--ink)}textarea{min-height:130px}.form-actions{display:flex;justify-content:space-between;margin-top:30px}.check{display:flex;gap:10px;align-items:start}.check input{width:auto;margin-top:5px}.summary{background:white;padding:25px;white-space:pre-wrap;word-break:break-word}.error{color:#9d2d24}button:disabled{opacity:.5;cursor:default}.notice{font-size:13px;background:#eeefed;padding:15px;border-left:3px solid var(--green)}.hidden,[hidden]{display:none!important}@media(max-width:900px){header{height:78px}.nav{gap:15px}.nav>a:not(.button){display:none}.hero{min-height:650px}.hero-content{padding-top:80px}.expertise{gap:35px}.expertise img{height:530px}.cards{grid-template-columns:1fr 1fr}.zone{gap:35px}.heading{align-items:start}.form-shell{grid-template-columns:1fr}.form-aside{display:none}}@media(max-width:600px){header{padding:0 6%}.brand{font-size:29px}.nav>.button{padding:12px;font-size:12px}.section{padding:62px 6%}.hero{min-height:640px}.hero-content{padding:65px 6% 35px}h1{font-size:65px}.hero p{font-size:15px}.hero-foot{margin:0 6%;font-size:10px}.hero-foot span:last-child{display:none}.strip{padding:20px 6%;flex-wrap:wrap;font-size:11px}.heading{display:block}.heading p,.heading>a{display:inline-block;margin-top:20px}.expertise,.projects,.zone{grid-template-columns:1fr;gap:30px}.expertise img{height:340px}.cards{grid-template-columns:1fr}.card{min-height:220px}.card h3{margin-top:20px}.steps{grid-template-columns:1fr;gap:25px}.project img{height:280px}.footer-top,.footer-bottom{flex-direction:column;display:flex}.footer-bottom{gap:15px}.page-hero{padding:45px 6%}.page-hero h1{font-size:50px}.form-shell{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* audit a11y : contraste du bloc marque sur fond sombre */
footer .brand{color:#e57373}footer .brand small{color:#e57373}

/* ─────────────────────────────────────────────────────────────────────────
   Correctif WordPress — Claude Code VPS (CTO), 27/09/2026.

   Le site a été conçu en pages statiques : <header class="site-header"> et
   <footer> étaient des enfants directs de <body>. WordPress les enveloppe
   chacun dans un élément de même nom (<header class="wp-block-template-part">),
   qui hérite donc des règles « header{} » et « footer{} » du thème :
   display:flex, height:92px et padding 0 5%.

   Conséquence mesurée au navigateur le 27/09/2026 à 21h35 : l'en-tête réel
   occupait 1606 px dans une boîte de 1254 px, soit 495 px de débordement
   horizontal sur toutes les pages, avec le menu et le quatrième profil coupés.

   On neutralise donc ces deux enveloppes, sans toucher au design d'origine.
   ───────────────────────────────────────────────────────────────────────── */

header.wp-block-template-part,
footer.wp-block-template-part {
  display: block;
  height: auto;
  padding: 0;
  background: none;
  border: 0;
  justify-content: initial;
  align-items: initial;
}

/* Le conteneur général de WordPress ne doit rien contraindre non plus. */
.wp-site-blocks {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Filet de sécurité : aucun élément ne doit provoquer de défilement latéral. */
html,
body {
  overflow-x: hidden;
}

/* Logo du pied de page — Claude Code VPS (CTO), 27/09/2026.
   Le pied affichait la marque en texte ; Aïda a demandé le même logo que l'en-tête.
   Le fichier d'origine a un fond blanc opaque : sur le pied sombre (#1b1e1f) il
   formait un rectangle blanc. On sert donc « enka-logo-clair.png », même logo
   dont le fond a été rendu transparent et le texte gris éclairci ; l'emblème et
   le rouge de la marque sont conservés à l'identique. */
footer .brand-image {
  display: inline-block;
  min-height: 0;
  line-height: 0;
}
footer .brand-image img {
  width: 198px;
  height: auto;
  max-width: 100%;
}
@media (max-width: 600px) {
  footer .brand-image img { width: 160px; }
}

/* Liens du pied de page — Claude Code VPS (CTO), 27/09/2026.
   L'audit du 27/09 a porté les zones tactiles à 44 px avec la règle
   « footer a:not(.brand){display:inline-flex} ». En ligne, les liens courts se
   retrouvent collés côte à côte : « RéalisationsRecrutement »,
   « Demande de devisContact ». Constaté au navigateur, et présent à l'identique
   dans la version statique de référence.
   On les empile de nouveau, en conservant la zone tactile de 44 px. */
footer .footer-links a:not(.brand) {
  display: flex;
  width: fit-content;
  max-width: 100%;
}
