@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap");

/* IA Business 974 mini CMS — responsive + SEO friendly */
:root{
  --cream:#fff7ef;
  --cream2:#f6efe6;
  --dark:#08172f;
  --dark2:#0b2040;
  --ink:#13253f;
  --muted:#526178;
  --gold:#ffcc19;
  --gold2:#ffae00;
  --orange:#ff6a3d;
  --line:rgba(19,37,63,.12);
  --card:#ffffff;
  --radius:28px;
  --shadow:0 22px 60px rgba(7,24,47,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cms-body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 0 0, rgba(255,204,25,.17), transparent 24%),
    linear-gradient(180deg,#fffaf3 0%,#f5f8fb 45%,#e6f0f7 100%);
}
a{color:inherit}
.cms-topbar{
  position:sticky;top:0;z-index:50;background:rgba(250,247,241,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 10px 28px rgba(17,27,41,.06)
}
.cms-topinner{max-width:1180px;margin:auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.cms-logo img{display:block;height:68px;width:auto;filter:drop-shadow(0 6px 16px rgba(0,0,0,.08))}
.cms-menu{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cms-menu a{text-decoration:none;font-weight:900;color:var(--ink)}
.cms-menu a:hover{color:var(--orange)}
.cms-wrap{max-width:1180px;margin:auto;padding:30px 22px 70px}
.cms-hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;
  margin:24px 0 34px;padding:30px;border-radius:34px;
  background:linear-gradient(135deg,rgba(255,247,239,.96),rgba(255,255,255,.92));
  border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden
}
.cms-eyebrow{display:inline-flex;margin-bottom:14px;padding:10px 16px;border-radius:999px;background:#fff0cf;border:1px solid rgba(255,174,0,.35);color:#9a6500;font-weight:950}
.cms-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:-.04em;color:var(--ink);margin:0 0 18px}
.cms-intro{font-size:21px;line-height:1.55;color:var(--muted);margin:0 0 20px}
.cms-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.cms-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(90deg,var(--gold),var(--gold2));color:#0c1320;text-decoration:none;border:none;border-radius:999px;padding:15px 24px;font-size:17px;font-weight:950;cursor:pointer;box-shadow:0 16px 38px rgba(255,174,0,.18)}
.cms-btn.secondary{background:var(--dark);color:white;box-shadow:none}
.cms-hero-img{border-radius:28px;overflow:hidden;background:white;border:1px solid rgba(19,37,63,.08);box-shadow:0 16px 44px rgba(7,24,47,.12)}
.cms-hero-img img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover}
.cms-section{margin:32px 0;padding:30px;border-radius:32px;background:rgba(255,255,255,.78);border:1px solid var(--line);box-shadow:0 14px 40px rgba(7,24,47,.07)}
.cms-section h2{font-size:clamp(28px,4vw,42px);line-height:1.08;color:var(--ink);margin:0 0 12px}
.cms-section > p{font-size:18px;color:var(--muted);margin:0 0 24px;max-width:780px}
.cms-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cms-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 32px rgba(7,24,47,.07)}
.cms-card .icon{font-size:31px;margin-bottom:10px}
.cms-card h3{font-size:23px;line-height:1.12;margin:0 0 10px;color:var(--ink)}
.cms-card p{color:var(--muted);line-height:1.55}
.cms-card a{font-weight:950;color:#d8532f;text-decoration:none}
.cms-image-text{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;align-items:center}
.cms-image-text img{width:100%;border-radius:24px;border:1px solid var(--line);box-shadow:0 12px 38px rgba(7,24,47,.08)}
.cms-cta{text-align:center;background:linear-gradient(135deg,var(--dark),var(--dark2));color:white}
.cms-cta h2,.cms-cta p{color:white}
.cms-footer{padding:36px 22px;text-align:center;background:var(--dark);color:#eef3fb}
.cms-footer a{color:var(--gold);font-weight:800}
.cms-float{position:fixed;right:18px;bottom:18px;z-index:60;text-decoration:none;background:#25D366;color:#06240f;border-radius:999px;padding:13px 17px;font-weight:950;box-shadow:0 16px 40px rgba(0,0,0,.20)}
.cms-privacy{margin-top:12px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:960px){
  .cms-topinner{align-items:flex-start;flex-direction:column}
  .cms-logo img{height:58px}
  .cms-hero,.cms-image-text{grid-template-columns:1fr}
  .cms-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .cms-wrap{padding:18px 14px 58px}
  .cms-menu{font-size:14px;gap:10px}
  .cms-hero{padding:20px;border-radius:26px}
  .cms-cards{grid-template-columns:1fr}
  .cms-actions{flex-direction:column}
  .cms-btn{width:100%;text-align:center}
  .cms-hero-img img{min-height:220px}
  .cms-float span{display:none}
}


/* Correctif 01 — interface tablette/mobile plus propre */
.cms-topinner{
  gap:16px;
}
.cms-menu{
  align-items:center;
}
.cms-menu a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(19,37,63,.08);
  line-height:1.1;
}
.cms-menu a:hover{
  background:#fff0cf;
  border-color:rgba(255,174,0,.35);
}
.cms-actions .cms-btn{
  min-height:48px;
}
.cms-return-bar{
  max-width:1180px;
  margin:18px auto 0;
  padding:0 22px;
}
.cms-return-bar a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  font-weight:900;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
  box-shadow:0 8px 22px rgba(7,24,47,.06);
}
.cms-form{
  display:grid;
  gap:13px;
  max-width:760px;
  margin:20px auto 0;
}
.cms-form label{
  text-align:left;
  font-weight:900;
  color:#fff;
}
.cms-form input,
.cms-form select,
.cms-form textarea{
  width:100%;
  padding:14px 15px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.96);
  color:#13253f;
  font-size:16px;
}
.cms-form textarea{
  min-height:110px;
}
.cms-form .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.cms-alert{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  padding:15px 18px;
  border-radius:18px;
  margin:18px 0;
  font-weight:800;
}
@media(min-width:641px) and (max-width:1050px){
  .cms-topinner{
    flex-direction:column;
    align-items:center;
    padding:12px 16px;
  }
  .cms-logo img{
    height:56px;
  }
  .cms-menu{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:8px;
  }
  .cms-menu a{
    width:100%;
    font-size:13px;
    min-height:42px;
    padding:8px 7px;
    text-align:center;
  }
  .cms-wrap{
    padding:20px 18px 60px;
  }
  .cms-hero{
    grid-template-columns:1fr;
    padding:24px;
    gap:20px;
    border-radius:28px;
  }
  .cms-hero h1{
    font-size:clamp(34px,5.4vw,52px);
  }
  .cms-intro{
    font-size:19px;
  }
  .cms-cards{
    grid-template-columns:repeat(2,1fr);
  }
  .cms-card{
    padding:20px;
  }
}
@media(max-width:640px){
  .cms-topinner{
    flex-direction:column;
    align-items:center;
    padding:10px 12px;
  }
  .cms-logo img{
    height:52px;
  }
  .cms-menu{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2, minmax(0,1fr));
    gap:7px;
  }
  .cms-menu a{
    width:100%;
    font-size:13px;
    min-height:40px;
    padding:8px 6px;
    text-align:center;
  }
  .cms-form .row{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   Correctif 03 — Navigation pro : burger mobile/tablette,
   état actif, ancres, footer navigation.
   Aucune couleur de fond modifiée.
   ============================================================ */

/* --- Ancres sous le header sticky --- */
[id]{scroll-margin-top:96px}

/* --- Header : retour à une seule ligne compacte partout --- */
.cms-topinner{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  padding:10px 18px;
}
.cms-logo img{height:54px}

/* --- État actif du menu (palette existante) --- */
.cms-menu a.active{
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  border-color:rgba(255,174,0,.45);
  color:#0c1320;
}

/* --- Bouton burger (masqué sur ordinateur) --- */
.cms-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:46px;height:46px;
  padding:11px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.7);
  cursor:pointer;
}
.cms-burger span{
  display:block;height:3px;border-radius:3px;
  background:var(--ink);
  transition:transform .25s ease,opacity .2s ease;
}
.cms-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.cms-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.cms-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* --- Mobile + tablette : menu en panneau déroulant --- */
@media(max-width:1050px){
  .cms-burger{display:flex}
  .cms-logo img{height:46px}
  .cms-menu{
    position:absolute;
    top:100%;left:0;right:0;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px;
    margin:0;
    padding:12px 16px 16px;
    background:rgba(250,247,241,.98);
    border-bottom:1px solid var(--line);
    box-shadow:0 24px 48px rgba(7,24,47,.14);
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .28s ease,opacity .2s ease,visibility .28s;
  }
  body.cms-menu-open .cms-menu{
    max-height:calc(100vh - 70px);
    overflow:auto;
    opacity:1;
    visibility:visible;
  }
  .cms-menu a{
    width:100%;
    min-height:48px;
    font-size:16px;
    justify-content:flex-start;
    padding:12px 16px;
    text-align:left;
    border-radius:14px;
  }
}

/* --- Footer navigation --- */
.cms-footer{padding:44px 22px 26px;text-align:left}
.cms-footinner{
  max-width:1180px;margin:0 auto 22px;
  display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;
}
.cms-footcol h4{
  margin:0 0 12px;font-size:15px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gold);
}
.cms-footbrand img{height:52px;width:auto;margin-bottom:12px}
.cms-footbrand p{margin:0;color:#c9d4e6;line-height:1.6;font-size:15px}
.cms-footnav{display:flex;flex-direction:column}
.cms-footnav a,.cms-footcontact a{
  display:inline-flex;align-items:center;gap:8px;
  color:#eef3fb;text-decoration:none;font-weight:700;
  padding:7px 0;font-size:15px;
}
.cms-footnav a:hover,.cms-footcontact a:hover{color:var(--gold)}
.cms-footcontact{display:flex;flex-direction:column}
.cms-privacy{border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.cms-copy{margin-top:12px;text-align:center;color:#93a3bd;font-size:13px}

@media(max-width:760px){
  .cms-footinner{grid-template-columns:1fr;gap:24px;text-align:center}
  .cms-footnav,.cms-footcontact{align-items:center}
  .cms-footbrand img{margin:0 auto 12px}
}

/* Menu ouvert : on fige la page derrière */
@media(max-width:1050px){
  body.cms-menu-open{overflow:hidden}
}

/* ============================================================
   Correctif 04 — Design affiné : navigation discrète et légère.
   Fini les grosses pilules et le gras extrême.
   Aucune couleur de fond modifiée.
   ============================================================ */

/* --- Menu ordinateur : liens texte sobres, soulignement doré --- */
.cms-menu{gap:6px}
.cms-menu a{
  background:transparent;
  border:none;
  border-radius:0;
  min-height:auto;
  padding:6px 10px;
  font-weight:600;
  font-size:15px;
  color:var(--ink);
  position:relative;
}
.cms-menu a::after{
  content:"";
  position:absolute;
  left:10px;right:10px;bottom:0;
  height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  opacity:0;
  transition:opacity .18s ease;
}
.cms-menu a:hover{background:transparent;border:none;color:var(--ink)}
.cms-menu a:hover::after{opacity:.6}
.cms-menu a.active{
  background:transparent;
  border:none;
  color:var(--ink);
  font-weight:800;
}
.cms-menu a.active::after{opacity:1}

/* --- Header plus fin --- */
.cms-topinner{padding:8px 18px}
.cms-logo img{height:46px}

/* --- Boutons allégés partout --- */
.cms-btn{
  padding:12px 20px;
  font-size:16px;
  font-weight:800;
  box-shadow:0 10px 26px rgba(255,174,0,.14);
}
.cms-actions .cms-btn{min-height:44px}
.cms-eyebrow{padding:7px 12px;font-weight:800;font-size:14px}
.cms-card a{font-weight:800}
.cms-return-bar a{padding:8px 13px;font-weight:700;font-size:14px}

/* --- Menu mobile/tablette : liste fine, pas de gros boutons --- */
@media(max-width:1050px){
  .cms-logo img{height:42px}
  .cms-burger{width:42px;height:42px;padding:10px}
  .cms-menu{
    gap:0;
    padding:6px 18px 10px;
  }
  .cms-menu a{
    min-height:40px;
    font-size:15px;
    font-weight:600;
    padding:9px 4px;
    border-radius:0;
    border-bottom:1px solid var(--line);
    justify-content:flex-start;
  }
  .cms-menu a:last-child{border-bottom:none}
  .cms-menu a::after{display:none}
  .cms-menu a.active{
    font-weight:800;
    box-shadow:inset 3px 0 0 var(--gold2);
    padding-left:12px;
  }
}

/* --- Mobile : boutons d'action moins massifs --- */
@media(max-width:640px){
  .cms-btn{padding:12px 18px;font-size:15px}
  .cms-hero h1{font-size:clamp(30px,8vw,40px)}
  .cms-intro{font-size:17px}
}

/* ============================================================
   Correctif 05 — Rendu pro : typographie Inter, effets calmés.
   Aucune couleur de fond modifiée.
   ============================================================ */

/* --- Typo : Inter chargée pour de vrai --- */
body.cms-body{font-family:'Inter',Arial,sans-serif}

/* --- Arrondis et ombres ramenés à des valeurs sobres --- */
.cms-hero{border-radius:18px;box-shadow:0 6px 24px rgba(7,24,47,.07);padding:34px}
.cms-hero-img{border-radius:14px;box-shadow:0 4px 16px rgba(7,24,47,.08)}
.cms-section{border-radius:16px;box-shadow:0 4px 18px rgba(7,24,47,.05);padding:34px}
.cms-card{border-radius:12px;box-shadow:0 2px 10px rgba(7,24,47,.05);transition:box-shadow .2s ease,transform .2s ease}
.cms-card:hover{box-shadow:0 8px 24px rgba(7,24,47,.10);transform:translateY(-2px)}
.cms-image-text img{border-radius:12px;box-shadow:0 4px 16px rgba(7,24,47,.07)}
.cms-topbar{box-shadow:0 2px 12px rgba(17,27,41,.05)}
.cms-btn{box-shadow:0 4px 14px rgba(255,174,0,.20);border-radius:12px}
.cms-btn.secondary{border-radius:12px}
.cms-form input,.cms-form select,.cms-form textarea{border-radius:10px}
.cms-eyebrow{background:transparent;border:none;padding:0;color:#9a6500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.cms-float{box-shadow:0 6px 20px rgba(0,0,0,.16)}
.cms-return-bar a{border-radius:10px}

/* --- Titres légèrement resserrés --- */
.cms-hero h1{letter-spacing:-.03em}
.cms-section h2{letter-spacing:-.02em;font-size:clamp(26px,3.4vw,36px)}
.cms-card h3{font-size:20px}
.cms-card .icon{font-size:26px}

@media(max-width:640px){
  .cms-hero{padding:22px;border-radius:14px}
  .cms-section{padding:22px;border-radius:14px}
}

/* ============================================================
   Correctif 06 — Lisibilité des textes + pied de page élégant.
   ============================================================ */

/* --- Textes lisibles : neutralise le p{color:#d3dced} de style.css --- */
.cms-body p{color:#31435f}
.cms-cta p{color:#fff}
.cms-form label{color:#fff}
.cms-footer p{color:#b9c6da}

/* --- Pied de page raffiné --- */
.cms-footer{padding:48px 22px 22px;border-top:3px solid var(--gold2)}
.cms-footinner{
  max-width:1180px;margin:0 auto 34px;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;
}
.cms-footcol h4{
  margin:0 0 14px;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:#8fa1bd;font-weight:700;
}
.cms-footbrand img{height:40px;width:auto;margin-bottom:14px;opacity:.95}
.cms-footbrand p{margin:0;line-height:1.65;font-size:14px;max-width:340px}
.cms-footnav a,.cms-footcontact a{
  display:block;
  color:#dbe4f2;text-decoration:none;font-weight:500;
  padding:5px 0;font-size:14.5px;
  transition:color .15s ease;
}
.cms-footnav a:hover,.cms-footcontact a:hover{color:var(--gold)}
.cms-footbottom{
  max-width:1180px;margin:auto;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top:18px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.cms-copy{margin:0;color:#8fa1bd;font-size:13px;text-align:left}
.cms-privacy{margin:0;border:none;padding:0;display:flex;gap:20px}
.cms-privacy a{color:#8fa1bd;font-size:13px;font-weight:500;text-decoration:none}
.cms-privacy a:hover{color:var(--gold)}

@media(max-width:760px){
  .cms-footer{padding:38px 20px 20px}
  .cms-footinner{grid-template-columns:1fr;gap:28px;text-align:left}
  .cms-footnav,.cms-footcontact{align-items:flex-start}
  .cms-footbrand img{margin:0 0 12px}
  .cms-footbottom{flex-direction:column;align-items:flex-start;gap:8px}
}
