/* ============================================================
   KALITICS NAV V3
   Desktop : mega-menu unique "Fonctionnalités"
             + Qui sommes-nous / Nos offres / Blog
   Mobile  : overlay ultra optimisé (70% du trafic)
             - CTA "Demandez une démo" dans le header mobile
             - Touch targets 56px min
             - Swipe-down to close
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --k-orange:#F26522;
  --k-orange-hover:#ff8040;
  --k-cta:#FF441B;
  --k-cta-hover:#ff5a35;
  --k-navy:#1e2d4a;
  --k-text:#0f172a;
  --k-text-body:#475569;
  --k-text-muted:#64748b;
  --k-border:#e2e8f0;
  --k-border-light:#f1f5f9;
  --k-bg-light:#f8f9fc;
  --k-bg-soft:#f1f5f9;
  --k-blue-soft:#edf1f8;
  --k-link:#2563eb;
  --k-radius:12px;
  --k-radius-sm:8px;
  --nav-h:64px;
  --safe-bottom:env(safe-area-inset-bottom,0px);
}

/* ==========================
   DESKTOP NAV BAR
   ========================== */
.k-nav{
  position:sticky;top:0;z-index:1200;
  background:#fff;
  border-bottom:1px solid var(--k-border);
  height:var(--nav-h);
  font-family:'Poppins',sans-serif;
}
.k-nav-inner{
  margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:100%;
}

.k-logo{
  display:flex;align-items:center;flex-shrink:0;
  text-decoration:none;color:var(--k-text);
}
.k-logo img{display:block;width:120px;height:25px}
.k-logo:hover{opacity:1;text-decoration:none;color:var(--k-text)}
.k-logo:focus{outline:none}
.k-logo:focus-visible{outline:none;box-shadow:none}

.k-nav-links{
  display:flex;align-items:stretch;gap:4px;
  height:100%;
}
.k-nav-item{
  display:flex;align-items:stretch;height:100%;
}
.k-nav-link{
  position:relative;
  display:inline-flex;align-items:center;gap:5px;
  padding:0 16px;height:100%;line-height:1;
  font-size:14px;font-weight:500;color:var(--k-text-body);
  text-decoration:none;cursor:pointer;
  border:none;background:transparent;
  transition:color .2s;
  font-family:inherit;
}
.k-nav-link:focus{outline:none}
.k-nav-link:focus-visible{outline:none;box-shadow:none}
.k-nav-link:hover{color:var(--k-text);text-decoration:none}
.k-nav-link:focus{text-decoration:none}
.k-nav-link .chev{
  width:14px;height:14px;transition:transform .25s ease;flex-shrink:0;
}
.k-nav-item.is-open .k-nav-link .chev{transform:rotate(180deg)}
.k-nav-item.is-open .k-nav-link::after,
.k-nav-link:hover::after{
  content:'';position:absolute;bottom:0;left:16px;right:16px;
  height:2px;background:var(--k-text);border-radius:2px;
}

.k-nav-right{
  display:flex;align-items:center;gap:16px;flex-shrink:0;
}
.k-nav-phone{
  display:inline-flex;align-items:center;gap:6px;
  font-size:14px;font-weight:600;color:var(--k-text);
  text-decoration:none;white-space:nowrap;
  transition:color .2s;
}
.k-nav-phone:hover{color:var(--k-cta);text-decoration:none}
.k-nav-phone svg{width:16px;height:16px;flex-shrink:0}
.k-nav-cta{
  display:inline-flex;align-items:center;
  padding:10px 22px;border-radius:8px;
  background:var(--k-cta);color:#fff;
  font-size:14px;font-weight:600;text-decoration:none;
  border:none;cursor:pointer;white-space:nowrap;
  transition:background .2s,transform .15s;
  font-family:inherit;
}
.k-nav-cta:hover{background:var(--k-cta-hover);color:#fff;transform:translateY(-1px);text-decoration:none}

/* ==========================
   MEGA MENU — FONCTIONNALITÉS
   ========================== */
.k-mega{
  position:absolute;top:var(--nav-h);left:0;right:0;
  background:#fff;
  border-bottom:1px solid var(--k-border);
  box-shadow:0 12px 40px rgba(0,0,0,.08);
  opacity:0;visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  z-index:999;
}
.k-nav-item.is-open .k-mega{
  opacity:1;visibility:visible;transform:translateY(0);
}

.k-mega-features{
  max-width:1250px;margin:0 auto;
  padding:32px 15px 36px;
  display:grid;
  grid-template-columns:1fr 1fr 1fr 260px;
  gap:32px;
}

.k-mega-col-header{
  display:flex;align-items:center;gap:8px;
  margin-bottom:16px;padding-bottom:12px;
  border-bottom:2px solid var(--k-border);
}
.k-mega-col-title{
  font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--k-text);text-decoration:none;
}
.k-mega-col-icon{
  width:28px;height:28px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
}
.col-devis .k-mega-col-icon{background:#fef3c7;color:#d97706}
.col-devis .k-mega-col-header{border-bottom-color:#fbbf24}
.col-chantier .k-mega-col-icon{background:#dbeafe;color:#2563eb}
.col-chantier .k-mega-col-header{border-bottom-color:#60a5fa}
.col-admin .k-mega-col-icon{background:#d1fae5;color:#059669}
.col-admin .k-mega-col-header{border-bottom-color:#34d399}

.k-mega-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;margin:0 -12px;border-radius:10px;
  text-decoration:none;transition:background .15s;
}
.k-mega-item:hover{background:var(--k-bg-light);text-decoration:none}
.k-mega-item .arrow{
  color:var(--k-text-muted);font-size:14px;
  margin-top:2px;flex-shrink:0;
  transition:transform .2s,color .2s;
}
.k-mega-item:hover .arrow{transform:translateX(3px);color:var(--k-orange)}
.k-mega-item-content{flex:1}
.k-mega-item-name{
  font-size:14px;font-weight:400;color:var(--k-text);
  margin-bottom:2px;
}
.k-mega-item-desc{
  font-size:12.5px;color:var(--k-text-muted);line-height:1.45;
}

.k-mega-item.is-featured{
  background:var(--k-bg-light);
  border:1px solid var(--k-border);
  padding:12px 14px;margin:8px -12px 0;
  border-radius:10px;
}
.k-mega-item.is-featured:hover{
  background:var(--k-blue-soft);
  border-color:#cbd5e1;
}
.k-mega-featured-badge{
  display:inline-flex;align-items:center;
  padding:2px 7px;border-radius:4px;
  background:var(--k-orange);color:#fff;
  font-size:10px;font-weight:700;letter-spacing:.02em;
  line-height:1.4;flex-shrink:0;
  vertical-align:middle;margin-left:2px;
}

/* Picto smartphone light pour features disponibles sur mobile */
.k-ico-phone{
  width:12px;height:14px;flex-shrink:0;
  color:var(--k-text-muted);
  vertical-align:middle;margin-left:6px;
  display:inline-block;
  opacity:.7;
}
.k-mega-item:hover .k-ico-phone{color:var(--k-orange);opacity:1}
.k-mobile-feat:active .k-ico-phone{color:var(--k-orange);opacity:1}

/* Wrap colonne services = rectangle gris en haut + CTA en dessous */
.k-mega-services-wrap{
  display:flex;flex-direction:column;gap:14px;
}

/* CTA Voir nos offres - EN-DESSOUS du rectangle gris, style secondaire */
.k-mega-offres-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 18px;border-radius:10px;
  background:#fff;color:var(--k-text);
  border:1.5px solid var(--k-border);
  font-size:14px;font-weight:600;text-decoration:none;
  transition:border-color .2s,background .2s,color .2s,transform .15s;
}
.k-mega-offres-cta:hover{
  border-color:var(--k-orange);
  background:#fff7ed;
  color:var(--k-orange);
  transform:translateY(-1px);
  text-decoration:none;
}
.k-mega-offres-cta .arrow{font-size:14px;transition:transform .2s,color .2s;color:var(--k-text-muted)}
.k-mega-offres-cta:hover .arrow{transform:translateX(3px);color:var(--k-orange)}

/* Encart services (rectangle gris) */
.k-mega-services{
  background:var(--k-bg-light);border-radius:var(--k-radius);
  padding:24px;
}
.k-mega-services-title{
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--k-text-muted);margin-bottom:12px;
}
.k-mega-service-link{
  display:flex;align-items:center;gap:10px;
  padding:10px 0;
  font-size:14px;font-weight:500;color:var(--k-text);
  text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.06);
  transition:color .2s;
}
.k-mega-service-link:last-of-type{border-bottom:none}
.k-mega-service-link:hover{color:var(--k-orange);text-decoration:none}
.k-mega-service-link .arrow{
  color:var(--k-text-muted);font-size:13px;
  transition:transform .2s,color .2s;
}
.k-mega-service-link:hover .arrow{transform:translateX(3px);color:var(--k-orange)}

/* ==========================
   BACKDROP
   ========================== */
.k-backdrop{
  position:fixed;inset:0;top:var(--nav-h);
  background:rgba(0,0,0,.12);
  z-index:998;opacity:0;visibility:hidden;
  transition:opacity .25s;
}
.k-backdrop.is-open{opacity:1;visibility:visible}

/* ==========================
   HAMBURGER (mobile only)
   ========================== */
.k-hamburger{display:none}

.k-hamburger{
  width:44px;height:44px;border:none;background:transparent;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:0;z-index:1001;position:relative;
}
.k-hamburger span{
  display:block;width:22px;height:2px;background:var(--k-text);border-radius:2px;
  transition:transform .3s ease,opacity .2s ease;
}
.k-hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.k-hamburger.is-open span:nth-child(2){opacity:0}
.k-hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
   MOBILE OVERLAY — ULTRA OPTIMISÉ
   ============================================================ */
.k-mobile{
  position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
  z-index:1100;
  background:#fff;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:none;
  overscroll-behavior:contain;
  font-family:'Poppins',sans-serif;
}
.k-mobile.is-open{transform:translateX(0)}

/* BODY mobile - aéré (le header est la navbar sticky au-dessus) */
.k-mobile-body{
  padding:0 0 calc(24px + var(--safe-bottom));
  background:#fff;
}

/* Lien mobile simple - Poppins Regular, aéré, typo large */
.k-mobile-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 26px;min-height:72px;
  font-size:18px;font-weight:400;color:var(--k-text);
  letter-spacing:-.01em;
  text-decoration:none;
  transition:background .15s;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.k-mobile-link:active{background:var(--k-bg-light)}
.k-mobile-link .arrow-ico{
  width:24px;height:24px;color:var(--k-text-muted);
  transition:transform .2s,color .2s;flex-shrink:0;
}
.k-mobile-link:active .arrow-ico{transform:translateX(3px);color:var(--k-orange)}

/* Divider entre top-level items mobile (état fermé) - aération Pipedrive */
.k-mobile-section + .k-mobile-section,
.k-mobile-section + .k-mobile-link,
.k-mobile-link + .k-mobile-link,
.k-mobile-link + .k-mobile-section{
  border-top:1px solid var(--k-border-light);
}
.k-mobile-body > .k-mobile-section:first-child,
.k-mobile-body > .k-mobile-link:first-child{
  border-top:none;
}
.k-mobile-trigger{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:28px 26px;min-height:72px;
  font-size:18px;font-weight:400;color:var(--k-text);
  letter-spacing:-.01em;
  background:transparent;border:none;cursor:pointer;text-align:left;
  transition:background .15s;font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.k-mobile-trigger:focus{outline:none}
.k-mobile-trigger:focus-visible{outline:none;box-shadow:none}
.k-mobile-trigger:active{background:var(--k-bg-light)}
.k-mobile-trigger .chevron{
  width:24px;height:24px;color:var(--k-text-muted);
  transition:transform .3s ease;flex-shrink:0;stroke-width:1.8;
}
.k-mobile-section.is-open .k-mobile-trigger{background:var(--k-bg-light)}
.k-mobile-section.is-open .k-mobile-trigger .chevron{transform:rotate(180deg)}

.k-mobile-panel{
  max-height:0;overflow:hidden;
  transition:max-height .4s cubic-bezier(.4,0,.2,1);
  background:var(--k-bg-light);
}
.k-mobile-section.is-open .k-mobile-panel{max-height:4000px}

/* En-tête de colonne mobile - picto + texte alignés avec la ligne de couleur */
.k-mobile-col-header{
  display:flex;align-items:center;gap:12px;
  padding:22px 0 14px;margin:0 16px 14px;
  border-bottom:2px solid var(--k-border);
}
.k-mobile-col-header:first-of-type{padding-top:18px}
.k-mobile-col-header.cat-devis{border-bottom-color:#fbbf24}
.k-mobile-col-header.cat-chantier{border-bottom-color:#60a5fa}
.k-mobile-col-header.cat-admin{border-bottom-color:#34d399}
.k-mobile-col-icon{
  width:28px;height:28px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;flex-shrink:0;
}
.k-mobile-col-header.cat-devis .k-mobile-col-icon{background:#fef3c7;color:#d97706}
.k-mobile-col-header.cat-chantier .k-mobile-col-icon{background:#dbeafe;color:#2563eb}
.k-mobile-col-header.cat-admin .k-mobile-col-icon{background:#d1fae5;color:#059669}
.k-mobile-col-title{
  font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--k-text);
}
a.k-mobile-col-title{
  text-decoration:none;
  transition:color .15s;
  -webkit-tap-highlight-color:transparent;
}
a.k-mobile-col-title:active{color:var(--k-orange)}

/* CTA Voir nos offres dans le panel Fonctionnalités mobile */
.k-mobile-offres-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin:16px 16px 20px;
  padding:14px 18px;border-radius:10px;
  background:#fff;color:var(--k-text);
  border:1.5px solid var(--k-border);
  font-size:15px;font-weight:600;text-decoration:none;
  transition:border-color .2s,background .2s,color .2s;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.k-mobile-offres-cta:active{
  border-color:var(--k-orange);
  background:#fff7ed;
  color:var(--k-orange);
}
.k-mobile-offres-cta .arrow{font-size:14px;color:var(--k-text-muted);transition:transform .2s,color .2s}
.k-mobile-offres-cta:active .arrow{transform:translateX(3px);color:var(--k-orange)}

/* Espacement entre les groupes de features dans le panel */
.k-mobile-feat + .k-mobile-col-header{margin-top:18px}

/* Encart Services intégré dans le panel Fonctionnalités (intégré, sans dégradé) */
.k-mobile-services-inset{
  margin:20px 16px 16px;
  padding:18px 18px 8px;
  background:#fff;
  border:1px solid var(--k-border);
  border-radius:12px;
}
.k-mobile-services-inset-title{
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--k-text-muted);margin-bottom:6px;
}
.k-mobile-services-inset-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;min-height:48px;
  font-size:15.5px;font-weight:500;color:var(--k-text-muted);
  text-decoration:none;
  border-bottom:1px solid var(--k-border-light);
  transition:color .15s;
  -webkit-tap-highlight-color:transparent;
  font-family:inherit;
  line-height:1.35;
}
.k-mobile-services-inset-link:last-of-type{border-bottom:none}
.k-mobile-services-inset-link .arrow{
  color:#94a3b8;font-size:15px;transition:transform .2s,color .2s;
}
.k-mobile-services-inset-link:active{color:var(--k-orange)}
.k-mobile-services-inset-link:active .arrow{transform:translateX(3px);color:var(--k-orange)}

/* Feature item mobile - cards sur fond gris, aéré, lisible */
.k-mobile-feat{
  display:flex;align-items:center;gap:14px;
  padding:16px 20px;min-height:56px;
  margin:0 16px 8px;
  background:#fff;
  border-radius:10px;
  text-decoration:none;
  border:1px solid var(--k-border-light);
  transition:background .15s,border-color .15s,transform .1s;
  -webkit-tap-highlight-color:transparent;
}
.k-mobile-feat:last-of-type{margin-bottom:16px}
.k-mobile-feat:active{background:var(--k-bg-light);border-color:var(--k-border);transform:scale(.99)}
.k-mobile-feat-arrow-lead{
  color:var(--k-text-muted);font-size:16px;
  flex-shrink:0;line-height:1;font-weight:400;
  transition:transform .2s,color .2s;
}
.k-mobile-feat:active .k-mobile-feat-arrow-lead{transform:translateX(3px);color:var(--k-orange)}
.k-mobile-feat-title{
  flex:1;min-width:0;
  font-size:15.5px;font-weight:500;color:var(--k-text);
  display:flex;align-items:center;flex-wrap:wrap;gap:6px;
  line-height:1.35;
  font-family:inherit;
}

/* Divider doux */
.k-mobile-divider{
  height:12px;background:var(--k-bg-light);
}

/* Secondary info block - coordonnées (sobre) */
.k-mobile-info{
  padding:24px;
}
.k-mobile-info-title{
  font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--k-text-muted);margin-bottom:12px;
}
.k-mobile-info-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--k-border-light);
  text-decoration:none;color:var(--k-text);
  font-size:15px;font-weight:500;
  min-height:52px;
  -webkit-tap-highlight-color:transparent;
  font-family:inherit;
}
.k-mobile-info-row:last-of-type{border-bottom:none}
.k-mobile-info-row:active{color:var(--k-orange)}
.k-mobile-info-row svg{width:20px;height:20px;color:var(--k-orange);flex-shrink:0}
.k-mobile-info-row-text{flex:1}
.k-mobile-info-row-label{
  display:block;font-size:11px;font-weight:600;color:var(--k-text-muted);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;
}

/* CTA secondaire téléphone en bas du menu mobile */
.k-mobile-phone-cta{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin:24px 16px calc(16px + var(--safe-bottom));
  padding:16px 20px;border-radius:10px;
  background:#fff;color:var(--k-text);
  border:1.5px solid var(--k-border);
  font-size:16px;font-weight:600;text-decoration:none;
  transition:border-color .2s,background .2s,color .2s;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
}
.k-mobile-phone-cta:active{
  border-color:var(--k-cta);
  background:#fff7ed;
  color:var(--k-cta);
}
.k-mobile-phone-cta svg{width:20px;height:20px;flex-shrink:0}

/* CTA mobile dans la navbar sticky - toujours visible même menu ouvert, clean sans ombre */
.k-nav-cta-mobile{
  display:none;
  align-items:center;
  padding:10px 18px;border-radius:8px;
  background:var(--k-cta);color:#fff;
  font-size:14px;font-weight:600;text-decoration:none;
  white-space:nowrap;
  transition:background .2s;
  font-family:inherit;
  -webkit-tap-highlight-color:transparent;
  max-width:100%;
}
.k-nav-cta-mobile:active{background:var(--k-cta-hover)}
.k-nav-cta-mobile:hover{background:var(--k-cta);color:#fff;text-decoration:none}


/* ==========================
   RESPONSIVE
   ========================== */
@media(min-width:1300px){
  .k-nav-inner{max-width:1250px;padding:0 15px}
}
@media(min-width:1200px) and (max-width:1299px){
  .k-nav-inner{max-width:1070px;padding:0 15px}
}
@media(max-width:1199px){
  .k-nav-inner{max-width:95%;margin-left:2.5%;margin-right:2.5%;padding:0 15px}
}
@media(max-width:991px){
  .k-nav-links,.k-nav-cta,.k-nav-phone{display:none!important}
  .k-hamburger{display:flex}
  .k-mobile{display:block}
  .k-nav-cta-mobile{display:flex}
  .k-mega{display:none!important}
  .k-nav-right{gap:10px;min-width:0}
  .k-nav-inner{max-width:none;margin-left:0;margin-right:0;padding:0 15px}
}

@media(max-width:480px){
  .k-mobile-header{padding:12px 16px}
  .k-mobile-link,.k-mobile-trigger{padding:14px 16px}
  .k-mobile-feat{padding:13px 16px}
  .k-mobile-services-block{padding:14px 16px 6px}
  .k-mobile-info{padding:18px 16px}
  .k-nav-cta-mobile{font-size:13px;padding:9px 14px}
}
