/*
 * Socle « Signature » (refonte 2026, maquettes H:\wamp\www\refonte-kinthia.com) : polices, couleurs, remises à zéro,
 * en-tête, pied de page et conteneur principal des pages migrées (body.kin-signature, includes/signature/*.tpl).
 * Les pages non migrées gardent style.css (Bootstrap 4) et l'ancien en-tête : cette feuille n'y est pas chargée.
 * Remises à zéro sous :where() : spécificité nulle, comme dans la maquette, pour que les classes des composants gagnent.
 */

/* Polices locales, jeu latin (fr, en, es), woff2 : Lora (titres) et Work Sans (texte), licence SIL OFL */
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/signature/lora-400.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/signature/lora-500.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/signature/lora-600.woff2) format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/signature/lora-700.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/signature/work-sans-400.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/signature/work-sans-500.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/signature/work-sans-600.woff2) format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/signature/work-sans-700.woff2) format('woff2')}

:root{--cv-paper:#faf8f3;--cv-ink:#382b3e;--cv-purple:#64466e;--cv-line:#dfd9d0;--cv-sage:#e9eee5;--cv-lilac:#eee9f0;--cv-rose:#f3e5e2;--cv-muted:#6c606f}

/* Remises à zéro */
:where(body.kin-signature),:where(body.kin-signature) *,:where(body.kin-signature) *:before,:where(body.kin-signature) *:after{box-sizing:border-box}
html:has(body.kin-signature){scroll-behavior:smooth;scroll-padding-top:100px}
body.kin-signature{margin:0;background:var(--cv-paper);color:var(--cv-ink);font:400 14px/1.8 'Work Sans',sans-serif}
:where(body.kin-signature) :is(button,input,select,textarea){font:inherit}
:where(body.kin-signature) a{color:inherit;text-decoration:none}
:where(body.kin-signature) :is(button,a,input,select,summary){-webkit-tap-highlight-color:transparent}
:where(body.kin-signature) :is(button,summary){cursor:pointer}
:where(body.kin-signature) button{color:inherit;border-radius:0}
:where(body.kin-signature) img{max-width:100%;display:block}
:where(body.kin-signature) :is(h1,h2,h3,p,figure,blockquote){margin:0}
:where(body.kin-signature) :is(h1,h2,h3){font-family:'Lora',serif;font-weight:400;letter-spacing:-.025em;line-height:1.25}
:where(body.kin-signature) h2{font-size:34px}
:where(body.kin-signature) h3{font-size:24px}
:where(body.kin-signature) p{color:var(--cv-muted)}
:where(body.kin-signature) :focus-visible{outline:2px solid var(--cv-purple);outline-offset:5px}
:where(body.kin-signature) [hidden]{display:none!important}

/* Lien d'évitement, pictogrammes (plugin Smarty {signature_icon}) */
.cv-skip{position:fixed;z-index:100;top:8px;left:8px;background:var(--cv-paper);padding:10px 20px;transform:translateY(-150%)}
.cv-skip:focus{transform:none}
/* Utilitaires partagés des pages Signature : texte réservé aux lecteurs d'écran, lien souligné de section */
.cv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cv-text-link{font-size:11px;font-weight:500;border-bottom:1px solid #b7a5bf;padding-bottom:4px;color:#64466e;display:inline-block}
.cv-text-link span{margin-left:12px}
.cv-icon{display:block;width:22px;height:22px;flex:none}

/* Bandeau et en-tête */
.cv-topline{display:flex;justify-content:space-between;gap:20px;padding:8px max(48px,calc((100vw - 1344px)/2));background:var(--cv-sage);color:#526148;font-size:11px;line-height:1.7}
.cv-topline a{text-decoration:underline;text-underline-offset:3px}
.cv-header{background:var(--cv-paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--cv-line)}
.cv-header-inner{position:relative;max-width:1440px;padding:0 48px;height:87px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:36px}
.cv-logo img,.cv-footer-brand img{width:142px;height:auto}
.cv-nav{display:flex;align-items:center;gap:40px;height:100%;margin-left:90px}
.cv-nav details{position:relative;height:100%}
.cv-nav summary{display:flex;align-items:center;gap:8px;height:100%;list-style:none;font-size:13px}
.cv-nav summary::-webkit-details-marker{display:none}
.cv-nav summary>span{font-size:12px;color:#8c798d}
.cv-nav .cv-current summary{color:var(--cv-purple);border-bottom:2px solid #a08aac}
.cv-dropdown{position:absolute;top:100%;left:-24px;min-width:255px;padding:16px 24px;background:var(--cv-paper);border:1px solid var(--cv-line);box-shadow:0 10px 20px #382b3e0a}
.cv-dropdown a{display:block;padding:8px 0;font-size:12px}
.cv-dropdown a:hover{color:var(--cv-purple)}

/* Outils de l'en-tête : compte et panier (#cartItemsCount mis à jour par javascript/cart/add*.js) */
.cv-tools{display:flex;align-items:center;gap:13px;margin-left:auto;flex:none}
.cv-tools>a,.cv-tools>button{display:grid;place-items:center;position:relative;width:34px;height:40px;margin:0;padding:0;border:0;background:none;color:var(--cv-ink)}
.cv-tools .cv-icon{width:22px;height:22px;stroke-width:1.4}
.cv-cart-count{position:absolute;right:-5px;top:0;min-width:16px;height:16px;padding:0 3px;border-radius:50%;background:var(--cv-lilac);color:var(--cv-purple);font-size:11px;line-height:16px;text-align:center}

/* Menu mobile */
/* Menu mobile (2026-10-22, demande de l'utilisateur : comme l'en-tête mobile de la boutique) : bouton à gauche, volet <dialog>
   blanc qui glisse depuis la gauche, voile sombre (javascript/signature/header.js) */
.cv-burger{display:none}
.cv-menu{position:fixed;inset:0 auto 0 0;margin:0;width:300px;max-width:85vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:#fff;color:#333;overflow:auto;overscroll-behavior:contain;font:600 13px/1.4 'Work Sans',sans-serif;transform:translateX(-100%);transition:transform .5s cubic-bezier(.19,1,.22,1);outline:none}
.cv-menu.cv-visible{transform:translateX(0)}
.cv-menu::backdrop{background:#0000;transition:background .5s cubic-bezier(.19,1,.22,1)}
.cv-menu.cv-visible::backdrop{background:#000000b3}
.cv-menu-top{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:0 12px 0 20px;border-bottom:1px solid #0000001b}
.cv-menu-top p{margin:0;font-size:14px;color:#767676}
.cv-menu-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:#767676;cursor:pointer}
.cv-menu-close .cv-icon{width:20px;height:20px}
.cv-menu nav a{display:flex;align-items:center;gap:8px;min-height:50px;padding:5px 20px;border-bottom:1px solid #0000001b;color:#333}
.cv-menu nav a:hover,.cv-menu nav a[aria-current]{color:var(--cv-purple)}
.cv-menu nav .cv-icon{width:16px;height:16px;flex:none}

/* Composants communs : boutons, fil d'Ariane, bandeau de titre (maquette : .cv-button, .ip-breadcrumb, .ip-heading) */
.cv-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:12px 18px;font:500 11px/1.6 'Work Sans',sans-serif;color:#495940;background:transparent;border:1px solid #aebda4;text-align:center;min-height:44px;text-decoration:none;transition:background .18s,color .18s}
.cv-button:hover{background:#dfe7d8;color:#384532}
.cv-button-primary{background:var(--cv-purple);border-color:var(--cv-purple);color:#fff}
.cv-button-primary:hover{background:#503658;border-color:#503658;color:#fff}
.cv-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.cv-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0;color:#776e79;font:400 11px/1.6 'Work Sans',sans-serif}
.cv-breadcrumb a{color:inherit}
.cv-heading{padding:42px 48px 44px;background:var(--cv-sage);border-bottom:1px solid #d4ddcf}
.cv-heading h1{margin:0 0 18px;color:#3e4b39;font:400 clamp(34px,4vw,52px)/1.15 'Lora',serif;letter-spacing:-.025em}
.cv-heading p{margin:0;color:#61705b;font:400 14px/1.8 'Work Sans',sans-serif}

/* Conteneur principal */
.kin-signature #main-content{max-width:1440px;margin:auto;padding:0 48px 72px}

/* Pied de page */
/* Pied de page aux couleurs de la boutique (woo-kinthia-site, demande de l'utilisateur du 2026-10-09) : fond #f8f7f7, titres
   Lora #242424, texte #767676, liens #838383 puis #242424 au survol, filet du bas #242424 */
.cv-footer{--cv-footer-bg:#f8f7f7;--cv-footer-title:#242424;--cv-footer-text:#767676;--cv-footer-link:#838383;background:var(--cv-footer-bg);color:var(--cv-footer-text)}
.cv-footer a:hover,.cv-footer .wep:hover{color:var(--cv-footer-title)}
.cv-footer-main{max-width:1440px;margin:auto;padding:48px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:50px}
.cv-footer h2{font:500 20px/1.4 'Lora',serif;letter-spacing:0;color:var(--cv-footer-title);margin-bottom:23px}
.cv-footer-main>div:not(.cv-footer-brand)>a,.cv-footer-main>div:not(.cv-footer-brand)>.wep{display:block;font-size:11px;color:var(--cv-footer-link);line-height:1.8;margin:10px 0;cursor:pointer}
.cv-footer-brand p{font-size:12px;line-height:1.9;margin:20px 0;color:var(--cv-footer-text)}
.cv-footer-brand>span{font-size:11px;color:var(--cv-footer-text)}
.cv-footer-bottom{display:flex;flex-wrap:wrap;gap:12px 28px;max-width:1344px;padding:21px 0;margin:0 auto;border-top:1px solid var(--cv-footer-title);color:var(--cv-footer-text);font-size:11px}
.cv-footer-bottom>span:first-child{margin-right:auto}
.cv-footer-bottom .wep{cursor:pointer}
/* Bandeau de réassurance en tête du pied de page (maquette consultation-reassurance.php du 2026-10-12) : fond sauge, quatre engagements */
.cv-footer-reassurance{background:var(--cv-sage);border-bottom:1px solid #ced7c7;color:#403347}
.cv-footer-reassurance-inner{max-width:1440px;margin:0 auto;padding:46px 48px 42px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px;text-align:center}
.cv-footer-reassurance img{display:block;width:60px;height:60px;object-fit:contain;margin:0 auto 20px}
.cv-footer .cv-footer-reassurance h2{font:500 14px/1.5 'Work Sans',sans-serif;color:#403347;margin:0 0 10px}
.cv-footer-reassurance p{max-width:27ch;margin:0 auto;font-size:12px;line-height:1.8;color:#76667b}
.cv-back-top{position:fixed;right:20px;bottom:20px;z-index:30;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:rgba(255,255,255,.9);color:#333;box-shadow:0 0 5px rgba(0,0,0,.17)}
.cv-back-top:hover{color:#242424;background:#fff}
.cv-nav-link{display:flex;align-items:center;height:100%;font-size:13px}
.cv-nav-link:hover{color:var(--cv-purple)}
/* Bandeau promo (maquette consultation-signature.php, 2026-10-22) : accueil, fiche expert, pages de compétences (includes/signature/promoBanner.tpl) */
.cv-promo{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 24px;margin-top:20px;background:var(--cv-rose);color:var(--cv-ink)}
.cv-promo>.cv-icon{width:25px;height:25px;flex:none;color:var(--cv-purple)}
.cv-promo p{margin:0;font:400 13px/1.6 'Work Sans',sans-serif}
.cv-promo-intro{margin-right:12px;color:#705968}
.cv-promo strong,.cv-promo b{font-weight:500}
.cv-promo p a{text-decoration:underline;text-underline-offset:3px}
.cv-promo-link{display:inline-flex;align-items:center;gap:15px;flex:none;min-height:32px;color:var(--cv-purple);font:500 12px/1.6 'Work Sans',sans-serif;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.cv-promo-link:hover{color:var(--cv-ink)}
.cv-promo-link:focus-visible{outline:2px solid var(--cv-purple);outline-offset:5px}
@media(max-width:800px){
	.cv-promo{gap:14px;padding:12px 18px}
	.cv-promo-intro{display:block;margin:0;font-size:11px}
	.cv-promo p{font-size:13px}
}
@media(max-width:580px){
	.cv-promo{display:grid;grid-template-columns:23px minmax(0,1fr) auto;gap:11px;margin-top:15px;padding:12px}
	.cv-promo>.cv-icon{width:23px;height:23px}
	.cv-promo p{font-size:12px;line-height:1.55}
	.cv-promo p>strong{display:block;max-width:21ch}
	.cv-promo-link{font-size:11px;min-height:44px;gap:6px}
	.cv-promo-link>span{display:none}
}

@media(max-width:1440px){.cv-footer-bottom{margin:0 48px}}
@media(max-width:1150px){
	.cv-nav{margin-left:0;gap:25px}
	.cv-header-inner{gap:25px}
	.cv-footer-main{gap:30px}
}
@media(max-width:900px){
	:where(body.kin-signature) h2{font-size:30px}
	.kin-signature #main-content{padding:0 26px 48px}
	.cv-topline{padding:7px 26px}
	.cv-header-inner{padding:0 26px;height:75px}
	.cv-nav{gap:20px}
	.cv-nav summary{font-size:11px}
	.cv-logo img{width:125px}
	.cv-heading{padding:34px}
	.cv-footer-reassurance-inner{padding:36px 26px;gap:30px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}
	.cv-footer-main{padding:35px 26px;gap:25px;grid-template-columns:1.2fr 1fr 1fr}
	.cv-footer-main>div:last-child{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:0 20px}
	.cv-footer-main>div:last-child h2{width:100%;margin-bottom:5px}
	.cv-footer-bottom{margin:0 26px}
}
@media(max-width:680px){
	.cv-nav{display:none}
	.cv-header-inner{display:grid;grid-template-columns:1fr auto 1fr}
	.cv-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;justify-self:start;width:40px;height:40px;margin-left:-9px;padding:0 9px;border:0;background:none;cursor:pointer}
	.cv-burger>span{height:1px;width:22px;background:#59415f}
	.cv-logo{justify-self:center}
	.cv-tools{justify-self:end;margin-left:0}
	.cv-footer-main{grid-template-columns:1fr 1fr;gap:35px 25px}
	.cv-footer-brand,.cv-footer-main>div:last-child{grid-column:1/-1}
	.cv-footer-bottom>span:first-child{width:100%}
}
/* Règle du client (AGENTS.md, 1er octobre 2026) : exactement 15 px de marge horizontale du conteneur principal à 580 px et moins */
@media(max-width:580px){
	.kin-signature #main-content{padding:0 15px 40px}
	.cv-topline{padding:8px 15px}
	.cv-header-inner{height:69px;padding:0 15px;gap:24px}
	.cv-logo img{width:119px}
	.cv-tools{gap:7px}
	.cv-tools>a,.cv-tools>button{width:30px}
	.cv-breadcrumb{margin:20px 0}
	.cv-heading{padding:30px 25px}
	.cv-heading h1{font-size:35px}
	.cv-heading p{font-size:13px}
	.cv-footer-reassurance-inner{padding:30px 15px;gap:30px 18px}
	.cv-footer-reassurance img{width:50px;height:50px;margin-bottom:15px}
	.cv-footer .cv-footer-reassurance h2{font-size:13px;margin-bottom:8px}
	.cv-footer-reassurance p{font-size:11px}
	.cv-footer-main{padding:32px 15px;gap:30px 20px}
	.cv-footer h2{font-size:18px;margin-bottom:17px}
	.cv-footer-bottom{margin:0 15px}
	.cv-footer-brand p{font-size:11px}
	.cv-footer-brand img{width:125px}
}
@media(prefers-reduced-motion:reduce){
	html:has(body.kin-signature){scroll-behavior:auto}
	.kin-signature *,.kin-signature *:before,.kin-signature *:after{transition:none!important;animation:none!important}
}
