/*
Theme Name: HYBRID Ingénierie
Author: HYBRID Ingénierie
Description: Site vitrine autonome HYBRID, pages et photos incluses. Assistant de préparation dans Apparence → HYBRID — Installation.
Version: 1.0.8
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: hybrid-ingenierie
*/

:root{--ink:#202623;--yellow:#ffda00;--paper:#f4f5f1;--muted:#5e6660}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #786400;outline-offset:5px}.notice{background:var(--ink);color:white;padding:8px 5%;font-size:12px;text-align:center}header{display:flex;align-items:center;justify-content:space-between;padding:18px 5%;border-bottom:1px solid #ddd;gap:24px}header img{width:155px;display:block}nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a[aria-current=page]{text-decoration:underline;text-decoration-color:#ac9100;text-underline-offset:8px}.btn{display:inline-block;padding:13px 22px;background:var(--yellow);color:var(--ink);font-weight:bold;text-decoration:none;border:0;font-size:14px}.outline{background:none;border:1px solid #8b938e}main{min-height:65vh}.wrap{max-width:1200px;margin:auto;padding:75px 35px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:bold}.hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:650px;background:var(--paper)}.herotext{padding:70px max(35px,8vw);padding-right:45px;align-self:center}.hero h1{font-size:clamp(38px,4.6vw,68px);line-height:1.08;letter-spacing:-2px;margin:24px 0}.hero p{max-width:560px}.heroimg{position:relative;min-height:550px}.heroimg img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 35%}.caption{position:absolute;bottom:24px;left:24px;background:white;padding:12px 20px;font-size:13px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}h1,h2,h3{line-height:1.2}h1{font-size:52px;letter-spacing:-1.6px}h2{font-size:36px;letter-spacing:-1px}h3{font-size:22px}p{color:var(--muted)}.lead{font-size:20px;max-width:790px}.strip{padding:22px 5%;display:flex;gap:30px;justify-content:space-around;background:var(--yellow);font-weight:bold;font-size:14px}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.card{padding:30px;background:var(--paper);border-top:3px solid var(--yellow)}.num{font-size:12px;font-weight:bold;color:#6d746e}.card h3{max-width:330px}.dark{background:var(--ink);color:white}.dark p{color:#cbd1cc}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;max-height:570px;object-fit:cover;object-position:center 25%}.expert{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:35px 0;border-bottom:1px solid #ddd}.expert h2{margin-top:0}.project{border:1px solid #ddd}.placeholder{height:190px;background:repeating-linear-gradient(125deg,#eef0eb,#eef0eb 20px,#e8ebe5 20px,#e8ebe5 21px);display:flex;flex-direction:column;justify-content:space-between;padding:24px}.placeholder span{font-size:12px}.placeholder b{font-weight:400;font-size:14px;color:#606b62}.projectbody{padding:25px}.project small{color:#5b655e}.contactbox{background:var(--paper);padding:36px}.email{font-size:clamp(18px,2.5vw,30px);overflow-wrap:anywhere}.note{border-left:3px solid #b59900;padding:12px 20px;background:#fffbee;font-size:14px}.checks li{margin:15px 0}.footer{padding:35px 5%;background:var(--paper);display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;font-size:13px}.footer a{margin-right:20px}.footer p{margin:0}button{cursor:pointer}@media(max-width:760px){header{align-items:flex-start;flex-direction:column}nav{gap:16px}nav .btn{padding:8px 12px}.hero,.split,.grid{grid-template-columns:1fr}.herotext{padding:45px 25px}.heroimg{min-height:470px}.wrap{padding:45px 24px}.strip{flex-direction:column;gap:8px;padding:20px 24px}.sectionhead{display:block}.split{gap:30px}h1{font-size:39px}h2{font-size:29px}.expert{grid-template-columns:30px 1fr}.hero h1{letter-spacing:-1px}}

.projectphoto{width:100%;height:250px;object-fit:cover;display:block}.projectphoto.vertical{object-position:center 48%}.project .mission{font-size:14px;font-weight:bold;color:var(--ink)}.homeprojects{grid-template-columns:repeat(3,1fr)}.homeprojects .projectphoto{height:210px}@media(max-width:900px){.homeprojects{grid-template-columns:1fr}}
/* Portrait : ancrage supérieur pour préserver la tête lorsque le cadre est large. */
.heroimg img{object-position:center top}
@media(min-width:761px){.heroimg{min-height:650px}.heroimg img{object-position:center top}}
@media(max-width:760px){.heroimg{min-height:0;aspect-ratio:4/5}.heroimg img{object-position:center top}}

.clients{margin:35px 0 50px;padding:30px;background:var(--paper);border-left:4px solid var(--yellow)}.clients h2{margin:0 0 12px;font-size:28px}.clientnames{display:flex;flex-wrap:wrap;gap:24px 60px;list-style:none;padding:15px 0 0;margin:0}.clientnames li{font-size:24px;font-weight:bold;letter-spacing:.2px}@media(max-width:760px){.clients{padding:24px}.clientnames{flex-direction:column;gap:18px}}
/* Styles propres au thème WordPress. */
body{font-family:Arial,Helvetica,sans-serif!important}header.site-header{position:relative}.skip-link{position:absolute;left:12px;top:-80px;background:#ffda00;padding:12px;z-index:9999}.skip-link:focus{top:12px}.entry-content>*{margin-block-start:0}.entry-content .wrap{margin-inline:auto}.hybrid-form input,.hybrid-form textarea,.hybrid-form select{max-width:100%;font:inherit}.contactbox .frm_forms{max-width:100%}.contactbox .frm_button_submit{background:#ffda00!important;color:#202623!important;border:0!important;padding:14px 20px!important}.entry-generic{max-width:1100px;margin:auto;padding:65px 24px}header nav a{padding:8px 0}header nav .btn{padding:13px 22px}img{max-width:100%;height:auto}.projectphoto{height:250px}.heroimg img{height:100%}.homeprojects .projectphoto{height:210px}.footer small{display:block}a{overflow-wrap:break-word}@media(max-width:480px){header{padding:18px 24px}header nav{gap:10px 16px}header nav a{font-size:12px}.caption{left:12px;right:12px;bottom:12px;font-size:12px;padding:10px}.contactbox{padding:24px}.email{font-size:19px}.hero h1{font-size:36px}.heroimg{aspect-ratio:4/5}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* 1.0.2 : robustesse face aux paragraphes ajoutés par l'éditeur WordPress. */
.entry-content .expert{display:block;min-width:0;padding:36px 0}
.entry-content .expert > div,.entry-content .expert > p{width:auto;max-width:none;min-width:0}
.entry-content .expert > .num,.entry-content .expert > p:first-child{display:block;margin:0 0 16px}
.entry-content .expert h2{margin:0 0 18px;max-width:100%;overflow-wrap:normal;word-break:normal}
.entry-content .expert .lead{margin:0 0 16px}
.entry-content .strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:16px 36px;text-align:center;padding:24px 5%}
.entry-content .strip > p{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:16px 36px;margin:0;color:var(--ink)}
.entry-content .strip span{display:block;max-width:100%}
.entry-content .strip br{display:none}
.btn,header nav .btn,.contactbox .frm_button_submit,.frm_forms .frm_button_submit,.wp-block-button__link{border-radius:999px!important}
@media(max-width:760px){
 .entry-content .strip,.entry-content .strip > p{flex-direction:column;gap:12px;padding-left:24px;padding-right:24px}
 .entry-content .strip > p{padding:0;flex-basis:auto}
 .entry-content .expert h2{font-size:28px}
}

/* Bandeau indépendant de la sérialisation du bloc classique. */
.entry-content .hybrid-highlights{display:block;width:100%;background:#ffda00;color:#202623;padding:24px 5%;box-sizing:border-box}
.entry-content .hybrid-highlights ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 36px;align-items:center;list-style:none;margin:0;padding:0;width:100%}
.entry-content .hybrid-highlights ul li{display:block;margin:0;padding:0;list-style:none;text-align:center;font-size:14px;font-weight:700;line-height:1.5;color:#202623}
@media(max-width:760px){.entry-content .hybrid-highlights ul{grid-template-columns:minmax(0,1fr);gap:14px}}

/* Pictogrammes HYBRID : trait anthracite et cercle jaune ouvert. */
.entry-content img.hybrid-expertise-icon{display:block;width:86px;height:86px;max-width:100%;margin:0 0 22px;object-fit:contain}
.entry-content .card{border-radius:12px;border-top:0;padding:34px}
.entry-content .card h3{margin-top:0}
.entry-content .expert > p:has(>img.hybrid-expertise-icon){margin:0 0 22px}
.entry-content .expert > p > img.hybrid-expertise-icon{margin-bottom:0}
.entry-content .project{border-radius:12px;overflow:hidden}
.caption{border-radius:8px}
@media(max-width:760px){.entry-content img.hybrid-expertise-icon{width:76px;height:76px}}

/* Photographie locale : voile blanc et texte opaque pour préserver la lecture. */
.entry-content .hybrid-photo-intro{position:relative;isolation:isolate;overflow:hidden;padding:55px 45px;margin:0 0 45px;border-radius:14px;background:#fff}
.entry-content .hybrid-photo-intro:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.87)),url('assets/route-ambiance.jpg');background-size:cover;background-position:center 48%;pointer-events:none}
.entry-content .hybrid-photo-intro h1{margin:22px 0}
.entry-content .hybrid-photo-intro p{margin-bottom:0;color:#4d5750}
.entry-content .hero{align-items:stretch}
.entry-content .hero .herotext{position:relative;isolation:isolate;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:#fff}
.entry-content .hero .herotext:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.88)),url('assets/route-ambiance.jpg');background-size:cover;background-position:center;pointer-events:none}
header.site-header{flex-wrap:wrap}header.site-header nav{min-width:0}
@media(max-width:760px){.entry-content .hybrid-photo-intro{padding:32px 25px}.entry-content .hybrid-photo-intro h1{font-size:36px}.entry-content .hero .herotext{padding:45px 25px}.entry-content .hero .herotext:before{background-position:center 45%}}

/* Version 1.0.6 — boutons identiques, portrait A et clients/partenaires. */
.entry-content .btn,.entry-content .btn.outline,.site-header .btn,.entry-content .frm_forms .frm_button_submit,.entry-content .frm_forms input[type="submit"],.entry-content .frm_forms button[type="submit"]{background:#ffda00!important;color:#000!important;border:2px solid #ffda00!important;border-radius:999px!important;padding:14px 25px!important;font:700 14px/1.35 Arial,Helvetica,sans-serif!important;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;max-width:100%;cursor:pointer;transition:background-color 280ms ease,transform 280ms ease,box-shadow 280ms ease!important}
.entry-content .btn:hover,.site-header .btn:hover,.entry-content .frm_forms .frm_button_submit:hover,.entry-content .frm_forms input[type="submit"]:hover,.entry-content .frm_forms button[type="submit"]:hover{background:#edca00!important;border-color:#edca00!important;color:#000!important;transform:translateY(-2px) scale(1.025);box-shadow:0 8px 18px rgba(32,38,35,.15)!important}
.entry-content .btn:active,.site-header .btn:active,.entry-content .frm_forms .frm_button_submit:active{transform:none;box-shadow:none!important}
.entry-content .btn:focus-visible,.site-header .btn:focus-visible,.entry-content .frm_forms button[type="submit"]:focus-visible{outline:3px solid #202623!important;outline-offset:4px}
.entry-content .btn:before,.entry-content .btn:after,.site-header .btn:before,.site-header .btn:after{content:none!important}
.entry-content .hybrid-portrait-rounded{border-radius:24px;display:block}
.entry-content .hybrid-clients-band{background:#f4f5f1;border-bottom:1px solid #e5e7e0;margin:0}
.entry-content .hybrid-clients-band .wrap{padding-top:60px;padding-bottom:65px;text-align:center}
.entry-content .hybrid-clients-band h2{margin:15px 0 36px;font-size:36px;line-height:1.2}
.entry-content .hybrid-clients-band h2 span{display:inline-block}
.entry-content .hybrid-clients-band h2 span:after{content:'';height:5px;width:54px;background:#ffda00;display:block;margin:12px auto 0;border-radius:4px}
.entry-content .hybrid-clients-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.entry-content .hybrid-client-logo{background:#fff;border:1px solid #e5e7e0;border-radius:16px;padding:25px;min-height:155px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(32,38,35,.035)}
.entry-content .hybrid-client-logo img{width:100%;height:100px;max-height:none;object-fit:contain;display:block}
@media(max-width:760px){.entry-content .hybrid-clients-grid{grid-template-columns:1fr 1fr;gap:14px}.entry-content .hybrid-client-logo{padding:18px;min-height:120px}.entry-content .hybrid-client-logo img{height:75px}.entry-content .hybrid-clients-band h2{font-size:29px}.entry-content .hybrid-portrait-rounded{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.entry-content .btn,.site-header .btn,.entry-content .frm_forms button[type="submit"],.entry-content .frm_forms input[type="submit"]{transition:none!important;transform:none!important}}

/* Version 1.0.7 : biographie stable sur ordinateur, empilée sur mobile/tablette. */
.entry-content .hybrid-biography-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:clamp(28px,4vw,65px);align-items:center;width:100%}
.entry-content .hybrid-biography-row>div{min-width:0;width:auto;max-width:none}
.entry-content .hybrid-biography-photo{margin:0;min-width:0;width:100%;align-self:center}
.entry-content .hybrid-biography-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:24px}
.entry-content .hybrid-biography-row>div>h2:first-child{margin-top:0}
@media(max-width:900px){.entry-content .hybrid-biography-row{grid-template-columns:minmax(0,1fr)!important;gap:30px}.entry-content .hybrid-biography-photo{max-width:560px;margin-inline:auto}.entry-content .hybrid-biography-photo img{border-radius:20px}}

/* 1.0.8 — fresque panoramique responsive, à sa largeur réelle. */
.entry-content .hybrid-home-fresque{display:block;width:100%;max-width:100%;min-width:0;background:white;overflow:hidden;padding:18px 0 0;margin:0}
.entry-content .hybrid-home-fresque iframe{display:block;box-sizing:border-box;width:100%;max-width:100%;height:auto;min-height:110px;aspect-ratio:2048 / 360;border:0;margin:0;padding:0;background:white}
@media(max-width:760px){.entry-content .hybrid-home-fresque{padding-top:8px}}
