/* KB FRONT SaaS 32.0.25 — Premium Signature · logos officiels
 * Isolated design layer. Keep core, conversion, SEO and SaaS modules unchanged.
 * KB PRO SUITE is the parent brand; KB AUTO CLEAN remains the dedicated auto-clean brand.
 */
:root{
  --kb:#8b5b21;
  --kb2:#714719;
  --ink:#14243b;
  --text:#33465f;
  --muted:#53647a;
  --line:#dfe4eb;
  --soft:#f6f7f9;
  --kbps-navy:#101e33;
  --kbps-navy-deep:#091525;
  --kbps-gold:#e9c37c;
  --kbps-gold-light:#ffdea0;
  --kbps-metal:#e5e9ef;
  --kbps-shadow:0 18px 48px rgba(10,26,47,.09);
  --shadow:var(--kbps-shadow);
}
body.kbf-v31-0{color:var(--ink);background:#fff}
body.kbf-v31-0 .kbf-shell{max-width:var(--shell)}

/* Premium navigation without introducing new menus or affecting business plugins. */
body.kbf-v31-0 .kbf-header{
  background:rgba(11,26,45,.97);border-bottom:1px solid rgba(233,195,124,.26);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
}
body.kbf-v31-0 .kbf-header.is-scrolled{box-shadow:0 12px 35px rgba(3,13,28,.23)}
body.kbf-v31-0 .kbf-brandmark{
  color:#14233a;background:linear-gradient(135deg,#fff6d9 0%,#efc982 47%,#b98540 100%);
  border:1px solid rgba(255,246,222,.7);box-shadow:0 8px 19px rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.75);
  font-size:16px;font-weight:900;
}
body.kbf-v31-0 .kbf-header .kbf-brandtext strong,
body.kbf-v31-0 .kbf-header .kbf-brand{color:#fff}
body.kbf-v31-0 .kbf-header .kbf-brandtext small{color:#c3cfdd}
body.kbf-v31-0 .kbf-menu a,
body.kbf-v31-0 .kbf-header .kbf-link{color:#f5f7fa}
body.kbf-v31-0 .kbf-menu a:hover,
body.kbf-v31-0 .kbf-header .kbf-link:hover,
body.kbf-v31-0 .kbf-header .kbf-menu a.is-active{color:var(--kbps-gold-light)}
body.kbf-v31-0 .kbf-menu a.is-active:after{background:var(--kbps-gold)}
body.kbf-v31-0 .kbf-header .kbf-burger{background:#162a44;border-color:#536176}
body.kbf-v31-0 .kbf-header .kbf-burger span{background:#fff}
body.kbf-v31-0 .kbf-mobile-menu{background:#fff;border-color:#d9e0e8;box-shadow:0 24px 60px rgba(8,20,36,.24)}
body.kbf-v31-0 .kbf-mobile-menu a:not(.kbf-btn){color:#1e304b}
body.kbf-v31-0 .kbf-mobile-menu a:not(.kbf-btn):hover{color:#80521d;background:#fff7e9}
body.kbf-v31-0 .kbf-launchbar{
  background:linear-gradient(100deg,#142d4c,#0e1b2d);color:#f5f7fa;
  border-bottom:1px solid rgba(244,209,143,.18);
}
body.kbf-v31-0 .kbf-launchbar span{background:#f0c981;color:#1a2b40;font-weight:850}
body.kbf-v31-0 .kbf-launchbar a{color:#ffe4ad}

/* Actions keep actual URLs and event hooks; only their visual system changes. */
body.kbf-v31-0 .kbf-btn{
  background:linear-gradient(135deg,#f7dfa6 0%,#e8bc71 65%,#cf9b4a 100%);
  border:1px solid #c08e43;color:#18263b!important;
  border-radius:13px;box-shadow:0 10px 22px rgba(122,82,32,.17);font-weight:850;
}
body.kbf-v31-0 .kbf-btn:hover{
  background:linear-gradient(135deg,#ffe9b5,#e8c07d);
  border-color:#a97832;color:#101e33!important;box-shadow:0 14px 26px rgba(122,82,32,.22);
}
body.kbf-v31-0 .kbf-btn-ghost{
  background:#fff;color:#1d314b!important;border-color:#cbd4df;box-shadow:0 6px 20px rgba(12,27,48,.06);
}
body.kbf-v31-0 .kbf-btn-ghost:hover{background:#fff8ec;border-color:#c29a60;color:#16263e!important}
body.kbf-v31-0 .kbf-btn-white{background:#fff;color:#20334e!important;border-color:#fff;box-shadow:none}
body.kbf-v31-0 .kbf-btn-white:hover{background:#f4f0e9}
body.kbf-v31-0 :is(.kbf-btn,.kbf-link,.kbf-menu a,.kbf-brand,.kbf-burger,.kbf-mobile-menu a,.kbf-faq summary,.kbf-proof-tabs button):focus-visible{
  outline:3px solid #ffcf75;outline-offset:4px;
}

/* Main hero: unmistakable navy, silver and warm gold. */
body.kbf-v31-0 .kbf-hero{
  background:radial-gradient(ellipse 58% 86% at 89% 17%,rgba(59,94,133,.36),transparent 76%),
             radial-gradient(ellipse 45% 67% at 3% 96%,rgba(188,133,55,.12),transparent 72%),
             linear-gradient(120deg,#0c1b30 2%,#142a45 53%,#0a182b 100%);
  border-bottom:1px solid rgba(233,195,124,.34);
}
body.kbf-v31-0 .kbf-hero .kbf-orb-a{background:radial-gradient(circle,rgba(231,185,103,.12),transparent 70%)}
body.kbf-v31-0 .kbf-hero .kbf-orb-b{background:radial-gradient(circle,rgba(146,176,212,.13),transparent 70%)}
body.kbf-v31-0 .kbf-hero h1{color:#fff;letter-spacing:-.042em}
body.kbf-v31-0 .kbf-hero h1 em{color:#f2cf8b}
body.kbf-v31-0 .kbf-hero-copy>p{color:#e1e9f4;font-size:clamp(17px,1.55vw,20px);line-height:1.68}
body.kbf-v31-0 .kbf-hero .kbf-badge{
  background:rgba(232,194,123,.13);color:#ffe0a2;border:1px solid rgba(239,203,144,.38);
}
body.kbf-v31-0 .kbf-hero .kbf-badge span{background:#f3c779}
body.kbf-v31-0 .kbf-hero .kbf-proof,
body.kbf-v31-0 .kbf-hero .kbf-proof span{color:#f2f5fa}
body.kbf-v31-0 .kbf-hero .kbf-proof svg{color:#f3d08f}
body.kbf-v31-0 .kbf-hero .kbf-btn-ghost{
  color:#fff!important;background:rgba(255,255,255,.08);border-color:rgba(230,238,246,.55);
}
body.kbf-v31-0 .kbf-hero .kbf-btn-ghost:hover{background:rgba(255,255,255,.18)}
body.kbf-v31-0 .kbf-hero .kbf-product-shot{
  border:1px solid rgba(239,202,134,.53);box-shadow:0 32px 85px rgba(0,4,11,.43);
  transform:perspective(1200px) rotateY(-1deg) rotateX(1deg);
}
body.kbf-v31-0 .kbf-hero .kbf-windowbar{background:#f4f6f9}
body.kbf-v31-0 .kbf-hero .kbf-app aside{background:#152c48;color:#d8e0ea}

/* Content: light editorial surfaces with refined accents, readable text. */
body.kbf-v31-0 .kbf-page-hero{background:radial-gradient(ellipse 55% 95% at 100% 0%,#fff4e0 0%,transparent 67%),linear-gradient(180deg,#f2f5f8,#fff);border-bottom:1px solid #e9e5de}
body.kbf-v31-0 .kbf-page-hero h1{color:#17283f}
body.kbf-v31-0 .kbf-page-hero h1 em{color:#8b5b21}
body.kbf-v31-0 .kbf-page-hero p{color:#4d6075}
body.kbf-v31-0 .kbf-kicker{color:#87581f}
body.kbf-v31-0 :is(.kbf-section-head h2,.kbf-split h2){color:#14263e}
body.kbf-v31-0 :is(.kbf-section-head p,.kbf-split p,.kbf-feature-card p,.kbf-detail-card p){color:#495d73}
body.kbf-v31-0 :is(.kbf-soft,.kbf-product-proof,.kbf-conversion-journey){background:#f5f7fa}
body.kbf-v31-0 :is(.kbf-feature-card,.kbf-detail-card,.kbf-choice-grid article,.kbf-journey-grid article){
  background:#fff;border:1px solid #dee4eb;border-radius:20px;box-shadow:0 7px 25px rgba(14,32,52,.04);
}
body.kbf-v31-0 :is(.kbf-feature-card,.kbf-detail-card,.kbf-job-card):hover{
  border-color:#d9b782;box-shadow:0 18px 42px rgba(16,32,52,.10);
}
body.kbf-v31-0 .kbf-icon{background:#fff3df;color:#80521f;border:1px solid #f0d9b5}
body.kbf-v31-0 :is(.kbf-feature-card a,.kbf-text-link,.kbf-journey-grid a,.kbf-job-card b){color:#82531c}
body.kbf-v31-0 :is(.kbf-feature-card a,.kbf-text-link,.kbf-journey-grid a,.kbf-job-card b):hover{color:#603b11}
body.kbf-v31-0 .kbf-efact{
  background:linear-gradient(130deg,#f4f6fa,#fff9ee 80%,#fff);border-block:1px solid #e8e1d6;
}
body.kbf-v31-0 .kbf-efact-eyebrow{background:#fff8ed;color:#88581d;border-color:#ead0a3}
body.kbf-v31-0 .kbf-efact h2 em{color:#87581e}
body.kbf-v31-0 .kbf-efact-main p{color:#41566d}
body.kbf-v31-0 .kbf-efact-dates{border-color:#e7e2db;box-shadow:var(--kbps-shadow)}
body.kbf-v31-0 .kbf-efact-date span{color:#815319}
body.kbf-v31-0 .kbf-efact-official{color:#795018}
body.kbf-v31-0 .kbf-conversion-journey{background:linear-gradient(150deg,#f4f6f9,#fffaf1)}
body.kbf-v31-0 .kbf-journey-number{color:#8b5b21}
body.kbf-v31-0 .kbf-compare-next,
body.kbf-v31-0 .kbf-demo-orientation{background:#f5f0e8}
body.kbf-v31-0 .kbf-proof-tabs button[aria-selected="true"]{background:#172d49;border-color:#172d49;color:#fff}
body.kbf-v31-0 .kbf-proof-tabs button:focus-visible{outline:3px solid #c18c42;outline-offset:3px}
body.kbf-v31-0 .kbf-cta{
  background:radial-gradient(ellipse at 92% 5%,rgba(236,191,107,.19),transparent 46%),linear-gradient(120deg,#142a45,#0c1b30);
  border:1px solid rgba(232,193,123,.36);box-shadow:0 24px 55px rgba(14,32,53,.22);
}
body.kbf-v31-0 .kbf-cta h2{color:#fff}
body.kbf-v31-0 .kbf-cta p{color:#e0e7f1}
body.kbf-v31-0 .kbf-kicker.light{color:#f4cc82}

/* Featured métier, scoped only to the existing auto-clean card. */
body.kbf-v31-0 .kbf-job-card.kbf-job-autoclean{border-color:#d9c299;background:linear-gradient(140deg,#fff 55%,#fff8eb)}
body.kbf-v31-0 .kbf-job-card.kbf-job-autoclean .job-visual{
  background:linear-gradient(155deg,#122a45,#0a182a);border-right:1px solid rgba(233,195,124,.5);
}
body.kbf-v31-0 .kbf-job-card.kbf-job-autoclean .job-visual span{
  background:rgba(235,200,138,.14);color:#f3ce85;border:1px solid rgba(244,208,141,.48);
}
body.kbf-v31-0 .kbf-autoclean-logo{display:block;width:min(170px,100%);height:auto;max-height:42px;object-fit:contain;object-position:left center;margin:7px 0}

/* Footer + funnel: preserve all legal links and the mobile consent controls. */
body.kbf-v31-0 .kbf-footer{
  background:linear-gradient(125deg,#111f34,#081421);color:#d4deea;border-top:2px solid #aa7c41;
}
body.kbf-v31-0 .kbf-brand-footer .kbf-brandtext strong{color:#fff}
body.kbf-v31-0 .kbf-brand-footer .kbf-brandtext small{color:#ced7e3}
body.kbf-v31-0 .kbf-footer-top>div:first-child p{color:#c4cfdd}
body.kbf-v31-0 .kbf-footer a{color:#dce5ee}
body.kbf-v31-0 .kbf-footer a:hover{color:#ffdaa0}
body.kbf-v31-0 .kbf-footer-bottom{color:#b8c7da}
body.kbf-v31-0 .kbf-funnel-header{background:#fff;border-bottom:1px solid #e6d5ba}
body.kbf-v31-0 .kbf-funnel-header .kbf-brandtext strong{color:#172942}
body.kbf-v31-0 .kbf-funnel-actions a{color:#795019}
body.kbf-v31-0 .kbf-funnel-page main{background:linear-gradient(180deg,#f5f7fa,#fff 40%)}
body.kbf-v31-0 .kbf-funnel-footer{background:#f8f9fa;border-color:#e0e5eb}

@media(max-width:980px){
  body.kbf-v31-0 .kbf-header .kbf-mobile-menu{top:calc(100% - 2px)}
  body.kbf-v31-0 .kbf-header .kbf-mobile-menu a:not(.kbf-btn){font-size:15px;min-height:43px}
}
@media(max-width:640px){
  body.kbf-v31-0 .kbf-header .kbf-brandtext strong{font-size:16px}
  body.kbf-v31-0 .kbf-hero{padding:50px 0 46px}
  body.kbf-v31-0 .kbf-hero h1{font-size:clamp(34px,9.2vw,44px);line-height:1.08}
  body.kbf-v31-0 .kbf-hero-copy>p{font-size:16px;line-height:1.6}
  body.kbf-v31-0 .kbf-hero .kbf-product-shot{transform:none;margin-top:30px;max-width:100%}
  body.kbf-v31-0 .kbf-page-hero{padding:44px 0 35px}
  body.kbf-v31-0 .kbf-autoclean-logo{width:min(150px,100%);max-height:36px}
  body.kbf-v31-0 .kbf-cta{padding:32px 22px;border-radius:22px}
  body.kbf-v31-0 .kbf-footer{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){
  body.kbf-v31-0 .kbf-btn:hover,body.kbf-v31-0 .kbf-feature-card:hover,body.kbf-v31-0 .kbf-job-card:hover{transform:none}
}
@media(forced-colors:active){
  body.kbf-v31-0 .kbf-btn,body.kbf-v31-0 .kbf-hero .kbf-badge{border:1px solid ButtonText}
  body.kbf-v31-0 .kbf-hero h1 em{color:CanvasText}
}

/* KB FRONT V32.0.23 — Logo KB PRO SUITE chargé depuis l'identité WordPress. */
body.kbf-v31-0 .kbf-brand-asset{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:6px 10px;border:1px solid rgba(228,210,174,.55);border-radius:13px;background:#fff;box-shadow:0 6px 16px rgba(1,9,23,.15)}
body.kbf-v31-0 .kbf-brand-logo{display:block;width:auto;max-width:min(235px,42vw);height:auto;max-height:48px;object-fit:contain;object-position:left center}
body.kbf-v31-0 .kbf-brand-asset .kbf-brand-logo{margin:0}
body.kbf-v31-0.kbf-logo-surface-dark .kbf-brand-asset{background:#0d1c31;border-color:rgba(234,197,127,.55)}
body.kbf-v31-0.kbf-logo-surface-transparent .kbf-brand-asset{background:transparent;border-color:transparent;box-shadow:none;padding:0}
body.kbf-v31-0 .kbf-brand-footer .kbf-brand-asset{max-width:270px}
body.kbf-v31-0 .kbf-funnel-header .kbf-brand-logo{max-height:46px}
body.kbf-v31-0 .kbf-header .kbf-brand{flex-shrink:0}
body.kbf-v31-0 .kbf-page-hero-autoclean .kbf-autoclean-brand-hero{max-width:430px;margin:0 auto 26px;border:1px solid rgba(203,156,87,.48);border-radius:19px;overflow:hidden;background:#0b1b31;box-shadow:0 13px 37px rgba(4,15,31,.16)}
body.kbf-v31-0 .kbf-page-hero-autoclean .kbf-autoclean-brand-hero img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
body.kbf-v31-0 .kbf-job-card.kbf-job-autoclean .kbf-autoclean-logo{width:min(220px,100%);height:auto;max-height:none;object-fit:contain;padding:5px 9px;background:#0d2038;border:1px solid #c29e60;border-radius:10px}
@media(max-width:980px){body.kbf-v31-0 .kbf-brand-logo{max-width:min(210px,42vw);max-height:42px}}
@media(max-width:640px){
 body.kbf-v31-0 .kbf-brand-asset{padding:4px 6px;border-radius:10px}
 body.kbf-v31-0 .kbf-header .kbf-brand-logo{max-height:35px;max-width:min(175px,48vw)}
 body.kbf-v31-0 .kbf-funnel-header .kbf-brand-logo{max-height:34px;max-width:min(175px,42vw)}
 body.kbf-v31-0 .kbf-brand-footer .kbf-brand-logo{max-height:40px;max-width:210px}
 body.kbf-v31-0 .kbf-page-hero-autoclean .kbf-autoclean-brand-hero{max-width:340px;margin-bottom:18px;border-radius:15px}
}


/* KB FRONT V32.0.25 — navigation admin-bar and anchor accessibility.
 * WordPress desktop admin bar: 32px; tablet: 46px.
 * At <=600px WordPress stops fixing its admin bar, so the theme returns to top:0.
 * Preserve the public (logged-out) header position and all existing menu behavior.
 */
body.kbf-v31-0.admin-bar .kbf-header{top:32px}
body.kbf-v31-0.admin-bar .kbf-header .kbf-nav{align-items:center}
body.kbf-v31-0.admin-bar .kbf-header .kbf-brand{align-self:center;min-height:48px}
body.kbf-v31-0.admin-bar .kbf-header .kbf-brandtext{align-self:center}
@media(max-width:782px){body.kbf-v31-0.admin-bar .kbf-header{top:46px}}
@media(max-width:600px){body.kbf-v31-0.admin-bar .kbf-header{top:0}}

/* Match menu offsets to the actual sticky header plus the logged-in admin bar. */
body.kbf-v31-0.admin-bar.kbf-page-home :is(.kbfa-section[id],#faq,#logiciel,#offres,#pour-qui,#parcours){scroll-margin-top:134px}
@media(max-width:782px){body.kbf-v31-0.admin-bar.kbf-page-home :is(.kbfa-section[id],#faq,#logiciel,#offres,#pour-qui,#parcours){scroll-margin-top:148px}}
@media(max-width:600px){body.kbf-v31-0.admin-bar.kbf-page-home :is(.kbfa-section[id],#faq,#logiciel,#offres,#pour-qui,#parcours){scroll-margin-top:95px}}

/* Avoid the understated product explanation becoming too small on desktop. */
body.kbf-page-home .kbfa-demo-tiles small{font-size:12px}
body.kbf-page-home .kbfa-demo-tiles strong{font-size:14px}
body.kbf-page-home .kbfa-demo-list strong{font-size:14px}
body.kbf-page-home .kbfa-demo-list small{font-size:12px}
body.kbf-page-home .kbfa-demo-list i{font-size:12px}
body.kbf-page-home .kbfa-demo-caption{font-size:12px}
body.kbf-page-home .kbfa-steps li small{font-size:13px}
@media(max-width:440px){
 body.kbf-page-home .kbfa-demo-tiles strong{font-size:12px}
 body.kbf-page-home .kbfa-demo-tiles small{font-size:11px}
}
