/*
 * FK Design — mise en page de la refonte (Editorial Tech Premium)
 * Chargé après fk-design-system.css. Tout est préfixé .fk2-* ou scopé sur body.fk-refonte.
 */

/* ---------- Socle Divi ---------- */
body.fk-refonte{background:var(--fk-dark);font-family:var(--fk-font-body);font-size:1rem;-webkit-font-smoothing:antialiased}
body.fk-refonte #page-container,
body.fk-refonte #main-content,
body.fk-refonte .et-l{background:var(--fk-dark)}
body.fk-refonte .et_pb_section{padding:0;background-color:transparent}
body.fk-refonte .et_pb_row{width:min(var(--fk-container),92%);max-width:none;padding:0}
body.fk-refonte .et_pb_column{margin-bottom:0}
body.fk-refonte #main-content .container:before{display:none}

/* Masque le pied de page natif de Divi : le pied de page FK est injecté par le thème enfant. */
body.fk-refonte #main-footer{display:none}

/* ---------- Header ---------- */
body.fk-refonte #main-header{background:rgba(16,18,20,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none;border-bottom:1px solid rgba(255,255,255,.08)}
body.fk-refonte #main-header .container{width:min(var(--fk-container),92%)}
body.fk-refonte #logo{display:none}
body.fk-refonte .logo_container a{display:inline-block;line-height:1.2}
body.fk-refonte .logo_container a::before{
	content:"FK / DESIGN";
	font:500 1.125rem/1.2 var(--fk-font-mono);
	letter-spacing:0;
	background:linear-gradient(90deg,#fff 3ch,var(--fk-sage) 3ch 4ch,#fff 4ch);
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent;
}
/* Pas de recherche dans l'en-tête (navigation limitée à 4 entrées + CTA, voir brief). */
body.fk-refonte #et_top_search,
body.fk-refonte #et_search_icon{display:none}
body.fk-refonte #top-menu a{font:500 .9375rem var(--fk-font-body);color:var(--fk-ivory);opacity:1}
body.fk-refonte #top-menu li.current-menu-item>a,
body.fk-refonte #top-menu a:hover{color:var(--fk-sage)}
body.fk-refonte #top-menu li.fk2-menu-cta>a{
	background:var(--fk-sage);color:var(--fk-dark);
	padding:.65rem 1.1rem;border-radius:var(--fk-radius);font-weight:600;
	transition:background-color .2s var(--fk-ease);
}
body.fk-refonte #top-menu li.fk2-menu-cta>a:hover{background:#A6C2B1;color:var(--fk-dark)}
body.fk-refonte .et_mobile_menu{background:var(--fk-surface);border-top:2px solid var(--fk-sage)}
body.fk-refonte .et_mobile_menu li a{color:var(--fk-ivory);border-bottom:1px solid rgba(255,255,255,.08)}
body.fk-refonte .mobile_menu_bar:before{color:var(--fk-sage)}

/* ---------- Utilitaires de texte par fond ---------- */
.fk2-on-dark{color:var(--fk-ivory)}
.fk2-on-dark p{color:var(--fk-muted-on-dark)}
.fk2-on-dark a:not(.fk2-btn){color:var(--fk-sage)}
.fk2-on-dark .fk2-label{color:var(--fk-sage)}
.fk2-on-light{color:var(--fk-text)}
.fk2-on-light p{color:var(--fk-muted-on-light)}
.fk2-on-light a:not(.fk2-btn){color:var(--fk-sage-dark)}
.fk2-on-light .fk2-btn--primary{background:var(--fk-sage-dark);color:#fff}
.fk2-on-light .fk2-btn--primary:hover{background:#4A6354;color:#fff}
.fk2-on-light .fk2-btn--secondary{color:var(--fk-text)}
.fk2-on-dark .fk2-btn--primary{background:var(--fk-sage);color:var(--fk-dark)}
.fk2-on-dark .fk2-btn--secondary{color:var(--fk-ivory)}
.fk2-pad{padding-block:clamp(4rem,9vw,8rem)}
.fk2-pad-sm{padding-block:clamp(2.5rem,5vw,4.5rem)}

/* ---------- Hero ---------- */
.fk2-hero{position:relative;padding-top:clamp(5rem,12vw,10rem);padding-bottom:clamp(4rem,9vw,8rem)}
.fk2-hero h1{max-width:12ch}
.fk2-hero .fk2-lead{margin-top:var(--fk-space-4)}
.fk2-hero__mark{
	position:absolute;right:0;bottom:clamp(2rem,5vw,4rem);margin:0;
	font:500 .8125rem/1.7 var(--fk-font-mono);letter-spacing:.1em;text-align:right;
	color:var(--fk-muted-on-dark);border-top:1px solid rgba(255,255,255,.18);padding-top:var(--fk-space-2);
}
@media (max-width:700px){.fk2-hero__mark{display:none}}

/* Bandeau de page interne */
.fk2-pagehead{padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.fk2-pagehead h1{font-size:clamp(2.25rem,5vw,4rem);max-width:18ch}
.fk2-pagehead .fk2-lead{margin-top:var(--fk-space-3)}
.fk2-crumbs{font:500 .8125rem var(--fk-font-mono);letter-spacing:.06em;margin-bottom:var(--fk-space-3)}
.fk2-crumbs a{text-decoration:none}
.fk2-crumbs a:hover{text-decoration:underline}

/* ---------- Introduction / axes ---------- */
.fk2-split{display:grid;gap:var(--fk-space-5);grid-template-columns:1fr 1fr;align-items:start}
.fk2-split h2{max-width:16ch}
@media (max-width:860px){.fk2-split{grid-template-columns:1fr}}
.fk2-axes>div{border-top:1px solid rgba(24,27,31,.25);padding-top:var(--fk-space-3)}
.fk2-axes p{margin:0}

/* ---------- Listes à coches (maintenance, sécurité…) ---------- */
.fk2-checks{list-style:none;margin:var(--fk-space-5) 0 0;padding:0;display:grid;gap:0 var(--fk-space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.fk2-checks li{display:flex;gap:var(--fk-space-3);align-items:baseline;padding:var(--fk-space-3) 0;border-bottom:1px solid rgba(128,128,128,.35)}
.fk2-checks li::before{content:"/";font:500 1rem var(--fk-font-mono);color:var(--fk-sage-dark)}
.fk2-on-dark .fk2-checks li::before{color:var(--fk-sage)}
.fk2-checks strong{display:block;font:600 1.0625rem var(--fk-font-heading)}
.fk2-checks span{display:block;font-size:.95rem}

/* ---------- Formules (cartes sobres) ---------- */
.fk2-plans{display:grid;gap:var(--fk-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));margin-top:var(--fk-space-5)}
.fk2-plan{background:var(--fk-white);border:1px solid var(--fk-warm);border-radius:var(--fk-radius);padding:var(--fk-space-5) var(--fk-space-4)}
.fk2-plan--hot{border:2px solid var(--fk-sage-dark)}
.fk2-plan h3{font:600 1.5rem var(--fk-font-heading);margin-bottom:var(--fk-space-1)}
.fk2-plan .who{font:500 .8125rem var(--fk-font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fk-muted-on-light);margin:0 0 var(--fk-space-3)}
.fk2-plan .price{font:700 2.5rem/1.1 var(--fk-font-heading);color:var(--fk-text);margin:0 0 var(--fk-space-1)}
.fk2-plan .price small{font:500 .9375rem var(--fk-font-body);color:var(--fk-muted-on-light)}
.fk2-plan ul{list-style:none;margin:var(--fk-space-3) 0 var(--fk-space-4);padding:0}
.fk2-plan li{padding:.4rem 0 .4rem 1.4rem;position:relative;color:var(--fk-text)}
.fk2-plan li::before{content:"✓";position:absolute;left:0;color:var(--fk-sage-dark);font-weight:700}
.fk2-note{font-size:.9rem;color:var(--fk-muted-on-light)}

/* ---------- Texte courant (pages légales, articles) ---------- */
.fk2-prose{max-width:760px}
.fk2-prose h2{font-size:clamp(1.35rem,2.4vw,1.75rem);margin:var(--fk-space-5) 0 var(--fk-space-2)}
.fk2-prose h2:first-child{margin-top:0}
.fk2-prose ul{margin:0 0 1em 1.2em;padding:0}
.fk2-prose li{margin:.35rem 0;color:var(--fk-muted-on-light)}
.fk2-prose strong{color:var(--fk-text)}
.fk2-prose table{width:100%;border-collapse:collapse;margin:0 0 1.5em;font-size:.95rem}
.fk2-prose th,.fk2-prose td{border:1px solid var(--fk-warm);padding:.7rem .8rem;text-align:left;vertical-align:top;color:var(--fk-muted-on-light)}
.fk2-prose th{background:var(--fk-white);color:var(--fk-text);font-weight:600}
.fk2-scroll{overflow-x:auto}
.fk2-scroll table{min-width:560px}
.fk2-up{font:500 .8125rem var(--fk-font-mono);color:var(--fk-muted-on-light)}

/* ---------- Citation / approche ---------- */
.fk2-quote{font:600 clamp(1.4rem,2.6vw,2rem)/1.35 var(--fk-font-heading);letter-spacing:-.01em;margin:0 0 var(--fk-space-4);padding:0;border:0;color:inherit}
.fk2-quote span{display:block}
.fk2-meta{font:500 .8125rem var(--fk-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fk-muted-on-light)}

/* ---------- Projets (shortcode [fk_projects]) ---------- */
.fk2-project .k{color:var(--fk-muted-on-light)}
.fk2-project .s{display:block;margin-top:var(--fk-space-1);font-size:.95rem;color:var(--fk-muted-on-light)}
.fk2-project img{transition:transform .35s var(--fk-ease)}
.fk2-project:hover img{transform:scale(1.015)}
.fk2-projects--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.fk2-projects--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.fk2-projects--3{grid-template-columns:1fr}}

/* ---------- Page projet (article) ---------- */
.fk2-case{display:grid;gap:var(--fk-space-6);grid-template-columns:1fr 1.05fr;align-items:start}
.fk2-case h2{font-size:clamp(1.3rem,2.2vw,1.6rem);margin:var(--fk-space-5) 0 var(--fk-space-2)}
.fk2-case h2:first-child{margin-top:0}
.fk2-case__shot{position:sticky;top:110px}
.fk2-case__shot img{display:block;width:100%;height:auto;border-radius:var(--fk-radius);border:1px solid var(--fk-warm)}
@media (max-width:860px){.fk2-case{grid-template-columns:1fr}.fk2-case__shot{position:static}}
.single.fk-refonte .et_post_meta_wrapper,
.single.fk-refonte .nav-single,
.single.fk-refonte #sidebar,
.single.fk-refonte .et_pb_post_nav,
.single.fk-refonte #comment-wrap{display:none}
.single.fk-refonte #left-area{width:100%;padding:0;float:none}
.single.fk-refonte #main-content .container{width:100%;max-width:none;padding:0}
.single.fk-refonte article.et_pb_post{margin:0;padding:0;border:0;background:none}

/* ---------- Visuels d'illustration (shortcode [fk_image]) et mise en page v2 ----------
 * Les règles marquées .fk2-v2 ne s'appliquent qu'aux pages qui portent ce marqueur. */
:root{--fk-sage-tint:#EAF0E8;--fk-radius-img:10px}
.fk2-figure{margin:0}
.fk2-figure picture{display:block}
.fk2-figure img{display:block;width:100%;height:auto;border-radius:var(--fk-radius-img)}
.fk2-figure--cover img{aspect-ratio:var(--fk-ratio);object-fit:cover;object-position:var(--fk-pos)}
.fk2-figure__cap{margin-top:.6rem;font:400 .75rem/1.4 var(--fk-font-body);color:var(--fk-muted-on-light)}
.fk2-on-dark .fk2-figure__cap{color:var(--fk-muted-on-dark)}

/* Accueil : premier écran en deux colonnes (texte à gauche, visuel à droite, ~40 %) */
.fk2-v2.fk2-hero--split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem);align-items:center;padding-top:clamp(3.5rem,8vw,7rem);padding-bottom:clamp(3rem,6vw,5.5rem)}
.fk2-v2.fk2-hero--split h1{font-size:clamp(2.25rem,4.4vw,4.25rem)}
.fk2-v2.fk2-hero--split .fk2-hero__mark{display:none}
@media (max-width:860px){
	.fk2-v2.fk2-hero--split{grid-template-columns:1fr}
	.fk2-v2.fk2-hero--split .fk2-hero__media img{aspect-ratio:16/10;object-fit:cover;object-position:var(--fk-pos);max-height:300px}
}

/* À propos : texte puis visuel (le texte passe avant l'image sur mobile) */
.fk2-about{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);align-items:start}
.fk2-about__fig{position:sticky;top:110px}
.fk2-about .fk2-figure img{aspect-ratio:4/5;object-fit:cover;object-position:var(--fk-pos)}
.fk2-approach{font:600 clamp(1.5rem,3vw,2.25rem)/1.25 var(--fk-font-heading);letter-spacing:-.015em;color:var(--fk-text);margin:0 0 var(--fk-space-4)}
@media (max-width:860px){
	.fk2-about{grid-template-columns:1fr}
	.fk2-about__fig{position:static;max-width:520px}
}

/* Pages de services : visuel sous le texte d'introduction */
.fk2-split__fig{margin-top:var(--fk-space-4)}

/* Contact : visuel latéral, omis sur mobile pour ne pas rallonger le parcours */
.fk2-contact-fig{margin-top:var(--fk-space-5)}
@media (max-width:860px){.fk2-contact-fig{display:none}}

/* Intitulés de services en casse normale, rayons harmonisés (pages marquées .fk2-v2) */
.fk2-v2 .fk2-list .t{text-transform:none;font-size:clamp(1.35rem,2.6vw,2rem);letter-spacing:-.015em}
.fk2-v2 .fk2-project img{border-radius:var(--fk-radius-img)}
.fk2-v2 .fk2-project .k{letter-spacing:.06em}

/* ---------- Questions-réponses repliables (HTML natif, accessible au clavier) ---------- */
.fk2-faq{margin-top:var(--fk-space-4);border-top:1px solid var(--fk-warm)}
.fk2-faq details{border-bottom:1px solid var(--fk-warm)}
.fk2-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--fk-space-3);padding:var(--fk-space-3) 0;font:600 1.0625rem/1.4 var(--fk-font-heading);color:var(--fk-text)}
.fk2-faq summary::-webkit-details-marker{display:none}
.fk2-faq summary::after{content:"+";font:500 1.25rem var(--fk-font-mono);color:var(--fk-sage-dark);flex:none}
.fk2-faq details[open] summary::after{content:"−"}
.fk2-faq details p{margin:0 0 var(--fk-space-3);max-width:64ch}
.fk2-long{max-width:70ch}
.fk2-long h2{font-size:clamp(1.3rem,2.2vw,1.6rem);margin:var(--fk-space-5) 0 var(--fk-space-2)}
.fk2-long h2:first-child{margin-top:0}
.fk2-long ul{margin:0 0 1em 1.2em;padding:0}
.fk2-long li{margin:.3rem 0;color:var(--fk-muted-on-light)}
.fk2-on-dark .fk2-long li{color:var(--fk-muted-on-dark)}

/* ---------- Contact ---------- */
.fk2-cols{display:grid;gap:var(--fk-space-6);grid-template-columns:1fr 1.3fr;align-items:start}
@media (max-width:860px){.fk2-cols{grid-template-columns:1fr}}
.fk2-contact-list{list-style:none;margin:0;padding:0}
.fk2-contact-list li{padding:var(--fk-space-3) 0;border-bottom:1px solid var(--fk-warm)}
.fk2-contact-list b{display:block;font:500 .8125rem var(--fk-font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fk-muted-on-light);margin-bottom:var(--fk-space-1)}

/* ---------- Pied de page FK ---------- */
.fk2-footer{background:var(--fk-dark);color:var(--fk-muted-on-dark);border-top:1px solid rgba(255,255,255,.1);padding:clamp(3rem,6vw,5rem) 0 var(--fk-space-5);font:400 .9375rem/1.6 var(--fk-font-body)}
.fk2-footer__grid{display:grid;gap:var(--fk-space-5);grid-template-columns:1.4fr 1fr 1fr}
@media (max-width:760px){.fk2-footer__grid{grid-template-columns:1fr}}
.fk2-footer__brand{font:500 1.25rem var(--fk-font-mono);color:#fff;margin:0 0 var(--fk-space-2)}
.fk2-footer__brand b{color:var(--fk-sage);font-weight:500}
.fk2-footer p{margin:0}
.fk2-footer h2{font:500 .75rem var(--fk-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fk-muted-on-dark);margin:0 0 var(--fk-space-3)}
.fk2-footer ul{list-style:none;margin:0;padding:0}
.fk2-footer li{margin:0 0 .5rem}
.fk2-footer a{color:var(--fk-ivory);text-decoration:none}
.fk2-footer a:hover{color:var(--fk-sage);text-decoration:underline;text-underline-offset:.2em}
.fk2-footer__copy{margin-top:var(--fk-space-6);padding-top:var(--fk-space-3);border-top:1px solid rgba(255,255,255,.1);font:400 .8125rem var(--fk-font-mono);letter-spacing:.04em}

/* ---------- Correctifs (priorité sur les styles de listes de Divi) ---------- */
.fk2 ul.fk2-list,
.fk2 ul.fk2-checks,
.fk2 .fk2-plan ul,
.fk2 ul.fk2-contact-list{list-style:none;padding-left:0}
.fk2 ul.fk2-list{margin:var(--fk-space-5) 0 0}
.fk2 ul.fk2-checks{margin:var(--fk-space-5) 0 0}
.fk2 .fk2-plan ul{margin:var(--fk-space-3) 0 var(--fk-space-4)}
.fk2-on-light .fk2-list a:not(.fk2-btn){color:var(--fk-text)}
.fk2-on-light .fk2-list a:not(.fk2-btn):hover,
.fk2-on-light .fk2-list a:not(.fk2-btn):focus-visible{color:var(--fk-sage-dark)}
.fk2-on-light a.fk2-project{color:var(--fk-text)}
.fk2-on-light .fk2-project .l{color:var(--fk-sage-dark)}
.fk2-hero h1{max-width:none}
/* Pages et articles : largeur du conteneur identique (Divi impose 100 % sur les articles). */
body.fk-refonte .et_pb_section .et_pb_row.et_block_row,
body.fk-refonte .et_pb_section .et_pb_row,
body.fk-refonte.single-post #main-content .et_pb_section .et_pb_row{width:min(var(--fk-container),92%);max-width:none;margin-left:auto;margin-right:auto}
body.fk-refonte #main-header .container{max-width:none;padding:0}
.fk2-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fk2 blockquote.fk2-quote{border:0;padding:0;margin:0 0 var(--fk-space-4);background:none}
.fk2 blockquote.fk2-quote::before{content:none}
