/*
Theme Name: Julien Delmas Architecte
Description: Thème sur mesure pour l'agence Julien Delmas Architecte : portfolio de projets, agence, services, contact.
Version: 1.18.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: julien-delmas
*/

@font-face{font-family:"Inter";font-weight:300;font-style:normal;font-display:swap;src:url("assets/fonts/inter-light.woff") format("woff")}
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("assets/fonts/inter-regular.woff") format("woff")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url("assets/fonts/inter-semibold.woff") format("woff")}

:root{
  --bg:#fff;
  --ink:#111;
  --mute:#6b6b69;
  --line:#e6e6e3;
  --pad:clamp(16px,3vw,32px);
  --max:1040px;
  --gap:4px;
  --grid-gap:clamp(6px,.9vw,12px);
  --frame:clamp(12px,2vw,24px);
  --font:"Helvetica Neue",HelveticaNeue,"Inter",Helvetica,Arial,sans-serif; /* Helvetica Neue Fin (Light) si installée, sinon Inter Light hébergée dans le thème */
  --light:300;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:var(--light);font-size:15px;line-height:1.65;letter-spacing:.01em;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--ink)}
h1,h2,h3{font-weight:var(--light);line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(1.3rem,2.2vw,1.7rem)}
h2{font-size:1.2rem}
h3{font-size:1rem}
p{margin:0 0 1em}
strong,b{font-weight:600}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-999px}
.skip:focus{left:10px;top:10px;background:#fff;padding:8px 12px;z-index:100}
.eyebrow{font-size:.8rem;letter-spacing:.06em;text-transform:lowercase;color:var(--mute);margin-bottom:.8rem}

/* En-tête (statique, comme le site de référence) */
.site-header{position:relative;background:#fff;z-index:50}
.header-in{display:flex;align-items:center;justify-content:space-between;padding-top:44px;padding-bottom:46px}
.brand{display:flex;align-items:center;gap:28px}
.brand-logo{height:30px;width:auto}
.brand-name{font-size:1.05rem;letter-spacing:.01em;text-transform:lowercase;color:var(--ink);font-weight:var(--light)}
.brand-name strong{font-weight:600}
.primary-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:3rem}
.primary-nav a{font-size:1rem;letter-spacing:.02em;text-transform:lowercase;color:var(--mute);transition:color .2s}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current-menu-ancestor>a,.primary-nav .current-menu-parent>a{color:var(--ink)}
.primary-nav li{position:relative}
.primary-nav .sub-menu{list-style:none;margin:0;padding:12px 18px;position:absolute;left:-18px;top:100%;min-width:170px;background:#fff;display:none;box-shadow:0 6px 18px rgba(0,0,0,.07);z-index:5}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}
.primary-nav .sub-menu li{padding:4px 0}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;padding:0;position:relative}
.nav-toggle span{position:absolute;left:8px;right:8px;height:1px;background:var(--ink);transition:.2s}
.nav-toggle span:first-child{top:16px}.nav-toggle span:last-child{top:24px}
.nav-toggle[aria-expanded="true"] span:first-child{top:20px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{top:20px;transform:rotate(-45deg)}

/* Bandeau d'accueil */

.section{padding:clamp(28px,4vw,56px) 0}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.4rem;gap:1rem}
.link-arrow{font-size:.85rem;letter-spacing:.04em;text-transform:lowercase;border-bottom:1px solid var(--ink);padding-bottom:2px;white-space:nowrap}
.intro{max-width:none;width:100%;font-size:15px;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}

.hero-wrap{padding-bottom:1.6rem}
.hero{position:relative;overflow:hidden;background:#dcdcd8;color:#fff}
.hero img{width:100%;height:auto}
.tagline{margin:1.3rem 0 0;max-width:none;width:100%;font-size:15px;font-weight:var(--light);line-height:1.65;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}

/* Filtres + grille de projets (2 colonnes serrées) */
.filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1.3rem;flex-wrap:wrap}
.filters{display:flex;flex-wrap:wrap;gap:.3rem 2.7rem;margin:0;padding:0;list-style:none}
.filters button{background:none;border:0;font:inherit;font-size:1rem;letter-spacing:.02em;text-transform:lowercase;color:var(--mute);cursor:pointer;padding:2px 0;transition:color .2s}
.filters button:hover,.filters button.is-active{color:var(--ink)}
.social-icons{display:flex;gap:10px}
.social-icons a{color:var(--mute);display:block;line-height:0}
.social-icons a:hover{color:var(--ink)}
.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap)}
.card{display:block;position:relative}
.card.is-hidden{display:none}
.card-media{background:#ececea;overflow:hidden;position:relative;aspect-ratio:3/2}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.card:hover .card-media img{transform:scale(1.02)}
/* Grille en noir et blanc, couleur au survol (appareils avec souris uniquement) */
@media (hover:hover){
  .card-media img{filter:grayscale(1);transition:transform .7s ease,filter .5s ease}
  .card:hover .card-media img,.card:focus-visible .card-media img{filter:grayscale(0)}
}
.card-media .ph{display:flex;align-items:center;justify-content:center;height:100%;color:var(--mute);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}
.card-cap{position:absolute;left:0;right:0;bottom:0;padding:48px 18px 16px;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0));color:#fff;font-size:.9rem;line-height:1.35;opacity:0;transition:opacity .3s}
.card:hover .card-cap,.card:focus-visible .card-cap{opacity:1}
.card-cap small{display:block;font-size:.78rem;opacity:.85;margin-top:2px;text-transform:lowercase}
@media (hover:none){.card-cap{opacity:1}}

/* Fiche projet */
.back{padding:0 0 1rem;font-size:.9rem;letter-spacing:.02em;text-transform:lowercase;margin:0}
.project-gallery{display:grid;gap:var(--gap)}
.project-gallery img{width:100%;height:auto}
.project-gallery .entry{display:grid;gap:var(--gap)}
.project-gallery .entry p,.project-gallery .entry figure{margin:0}
.project-gallery .entry img{margin:0}
.project-gallery .entry:empty{display:none}
.project-gallery-after{margin-bottom:clamp(24px,4vw,48px)}
.project-info{max-width:none;padding:clamp(24px,4vw,44px) 0}
.project-info h1{margin-bottom:.15em}
.project-info>h1{max-width:none;text-align:left}
.project-text{margin-top:2rem;font-size:15px;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.project-info:has(.project-text){max-width:none}
.project-info>.loc,.project-info>.facts{max-width:720px}
.project-text h3{margin:1.8em 0 .5em;font-size:1rem;font-weight:500}
.project-text ul{padding-left:1.1em}
.project-text li{margin-bottom:.35em}
.project-info .loc{color:var(--mute);margin-bottom:1.4rem;text-transform:lowercase}
.facts{margin:0 0 1.6rem;padding:0;list-style:none;font-size:.95rem}
.facts li{padding:.15rem 0}
.facts .lbl{text-transform:lowercase;color:var(--mute)}
.project-nav{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.2rem 0;font-size:.9rem;letter-spacing:.02em;text-transform:lowercase}

/* Pages */
.page-head{padding:clamp(20px,3vw,40px) 0 1.2rem}
.page-body{max-width:720px;padding-bottom:clamp(40px,6vw,80px)}
.page-body h2{margin-top:1.8em}
body.jd-page-a-propos .page-body{max-width:none;text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
body.jd-page-a-propos .page-body h2,body.jd-page-a-propos .page-body li{text-align:left}
.page-body ul{padding-left:1.1em}
.page-body li{margin-bottom:.35em}

/* Contact */
.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(24px,5vw,80px);padding-bottom:clamp(40px,6vw,80px)}
.contact-info p{margin-bottom:.4em}
.field{margin-bottom:1.2rem}
.field label{display:block;font-size:.8rem;letter-spacing:.04em;text-transform:lowercase;color:var(--mute);margin-bottom:.2rem}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:.5rem 0;font:inherit;border-radius:0;outline:0}
.field input:focus,.field textarea:focus{border-bottom-width:2px}
.field textarea{min-height:140px;resize:vertical}
.consent{font-size:.85rem;color:var(--mute);display:flex;gap:.6rem;align-items:flex-start}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.btn{display:inline-block;background:var(--ink);color:#fff;border:0;padding:.8rem 1.8rem;font:inherit;font-size:.9rem;letter-spacing:.04em;text-transform:lowercase;cursor:pointer}
.btn:hover{opacity:.8;color:#fff}
.notice{padding:.9rem 1.1rem;margin-bottom:1.6rem;border:1px solid var(--ink);font-size:.95rem}
.notice.err{border-color:#9b2c2c;color:#9b2c2c}

/* Pied de page */
.site-footer{padding:2rem 0 2.4rem;font-size:.85rem;color:var(--mute);margin-top:1rem}
.footer-in{display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;align-items:center}
.footer-in ul{list-style:none;margin:0;padding:0;display:flex;gap:1.2rem;flex-wrap:wrap}
.footer-in a{text-transform:lowercase}
.to-top{letter-spacing:.04em}

@media (max-width:860px){
  .header-in{padding-top:22px;padding-bottom:22px}
  .nav-toggle{display:block}
  .brand{gap:16px}
  .brand-name{font-size:.9rem}
  .primary-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:none;padding:1rem var(--pad) 1.4rem;z-index:60}
  .primary-nav.is-open{display:block}
  .primary-nav .menu{flex-direction:column;gap:.8rem}
  .primary-nav .sub-menu{display:block;position:static;box-shadow:none;padding:.3rem 0 0 1rem;background:none}
  .filters{gap:.3rem 1.4rem}
  .contact-layout{grid-template-columns:1fr}
}
@media (max-width:600px){
  .projects-grid{grid-template-columns:1fr}
}
