
:root{--ink:#111827;--muted:#64748b;--bg:#f6f8fc;--card:#fff;--accent:#2563eb;--soft:#eaf1ff;--line:#e2e8f0}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}.wrap{width:min(1120px,92%);margin:auto}.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.nav{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:22px}.brand span{color:var(--accent)}
.navlinks{display:flex;gap:22px;color:#475569;font-weight:650;font-size:14px}.hero{padding:74px 0 42px;text-align:center}.badge{display:inline-block;background:var(--soft);color:var(--accent);padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800}
h1{font-size:clamp(38px,6vw,64px);line-height:.98;letter-spacing:-.045em;margin:22px auto 18px;max-width:800px}.lead{max-width:690px;margin:auto;color:var(--muted);font-size:18px;line-height:1.55}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px 0 70px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 28px rgba(15,23,42,.04);transition:.18s}
.card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(15,23,42,.08)}.icon{font-size:28px}.card h2{font-size:19px;margin:14px 0 8px}.card p{color:var(--muted);line-height:1.5;margin:0}.arrow{display:block;color:var(--accent);font-weight:800;margin-top:18px}
.toolhead{padding:48px 0 22px}.crumb{font-size:14px;color:var(--muted)}.toolhead h1{font-size:clamp(34px,5vw,52px);margin:16px 0 10px;max-width:800px;text-align:left}.toolhead p{color:var(--muted);font-size:17px}
.toolgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;padding-bottom:34px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.field input{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:11px;font-size:16px}
button{width:100%;border:0;border-radius:12px;padding:14px;background:var(--accent);color:white;font-size:16px;font-weight:850;margin-top:18px;cursor:pointer}.result{background:#0f172a;color:white}.result .big{font-size:42px;font-weight:900;letter-spacing:-.03em;margin:8px 0}.result p{color:#cbd5e1;line-height:1.55}.details{margin-top:16px;border-top:1px solid #334155;padding-top:14px;line-height:1.8}
.content{background:white;border:1px solid var(--line);border-radius:22px;padding:28px;margin-bottom:70px}.content h2{margin-top:0}.content p{color:#475569;line-height:1.7}.notice{background:#fff7ed;border:1px solid #fed7aa;padding:14px;border-radius:12px;color:#9a3412;font-size:13px;margin-top:18px}
footer{border-top:1px solid var(--line);background:#fff;padding:28px 0;color:var(--muted);font-size:13px}
@media(max-width:800px){.grid{grid-template-columns:1fr}.toolgrid{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.navlinks{display:none}.hero{padding-top:48px}}

/* V4 */

.sectiontitle{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:24px}.sectiontitle h2{font-size:30px;margin:0}.sectiontitle p{margin:0;color:var(--muted)}
.adslot{min-height:92px;border:1px dashed #cbd5e1;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#94a3b8;background:#fff;margin:20px auto 36px;font-size:12px;letter-spacing:.04em}
.actions{display:flex;gap:10px;margin-top:18px}.actions button{margin:0;background:#fff;color:var(--ink);border:1px solid #475569;padding:11px}.actions button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.smallnav{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.smallnav a{font-size:13px;color:var(--accent);font-weight:750}
.legal{max-width:850px;padding:50px 0 80px}.legal h1{font-size:44px;margin:0 0 24px;text-align:left}.legal h2{margin-top:30px}.legal p,.legal li{color:#475569;line-height:1.75}
.footerlinks{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.footerlinks a{color:#475569}
.hidden{display:none!important}
@media(max-width:800px){.sectiontitle{display:block}.sectiontitle p{margin-top:8px}.actions{flex-direction:column}}

.articlegrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;margin-bottom:70px}
.article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px}
.article h2{font-size:25px;margin:34px 0 12px}.article h2:first-child{margin-top:0}.article h3{font-size:17px;margin:22px 0 7px}
.article p{color:#475569;line-height:1.75}.formula{background:#f1f5f9;border-radius:14px;padding:18px;font-weight:800;margin:16px 0}
.tip{background:#eff6ff;border-left:4px solid #2563eb;border-radius:8px;padding:16px;color:#334155;margin:18px 0}
.faqitem{border-top:1px solid var(--line);padding:17px 0}.faqitem strong{display:block;margin-bottom:6px}
.related{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;height:max-content;position:sticky;top:90px}.related h3{margin-top:0}.related a{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:#2563eb;font-weight:700;font-size:14px}
@media(max-width:800px){.articlegrid{grid-template-columns:1fr}.related{position:static}}

/* V7 */
.top{background:linear-gradient(90deg,#172554,#1d4ed8);border-bottom:0;box-shadow:0 5px 18px rgba(15,23,42,.12)}
.top .brand,.top .brand span,.top .navlinks a,.top .navlinks span{color:#fff!important}
.top .navlinks a,.top .navlinks span{font-family:Arial,Helvetica,sans-serif;font-size:.94rem;font-weight:700;letter-spacing:.02em}
.top .navlinks a:hover{opacity:.78}
.visitor-counter{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px auto;color:#64748b;font-size:.82rem;font-weight:650}
.visitor-counter strong{color:#172554;background:#fff;border:1px solid #dbe3ef;padding:5px 9px;border-radius:8px;font-variant-numeric:tabular-nums}

/* V7 — publicité Hôtel Médicis */
.medicis-ad{
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:18px 24px;
  background:linear-gradient(105deg,#fff 0%,#f8fafc 58%,#eff6ff 100%);
  color:#172554;
  border:1px solid #dbe3ef;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.medicis-ad:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(15,23,42,.10);
  border-color:#93c5fd;
}
.medicis-ad .ad-label{
  font-size:.66rem;
  letter-spacing:.12em;
  font-weight:800;
  color:#94a3b8;
  white-space:nowrap;
}
.medicis-ad .ad-main{
  display:flex;
  flex-direction:column;
  text-align:left;
  flex:1;
  gap:3px;
}
.medicis-ad .ad-main strong{font-size:1.03rem;color:#0f172a}
.medicis-ad .ad-main span{font-size:.84rem;color:#64748b}
.medicis-ad .ad-cta{font-size:.84rem;font-weight:800;color:#2563eb;white-space:nowrap}
@media(max-width:700px){
  .medicis-ad{flex-direction:column;align-items:flex-start;gap:8px}
}

/* V7.1 */
.hero .visitor-counter{margin:12px auto 0;justify-content:center}


/* V7.2 — espace annonceurs */
.pro-ad-box{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:20px 24px;margin:-18px auto 38px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.pro-ad-icon{width:48px;height:48px;display:grid;place-items:center;background:#eff6ff;border-radius:14px;font-size:24px}
.pro-ad-kicker{font-size:.68rem;font-weight:850;letter-spacing:.11em;color:#2563eb}
.pro-ad-copy h2{font-size:1.05rem;margin:4px 0}.pro-ad-copy p{margin:0;color:#64748b;font-size:.86rem}
.pro-ad-button{background:#172554;color:#fff;padding:12px 16px;border-radius:11px;font-weight:800;font-size:.84rem;white-space:nowrap}
.pro-ad-button:hover{background:#1d4ed8}
.ad-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ad-form .wide{grid-column:1/-1}.ad-form label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.ad-form input,.ad-form textarea,.ad-form select{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:11px;font:inherit}.ad-form textarea{min-height:120px;resize:vertical}
@media(max-width:800px){.pro-ad-box{grid-template-columns:1fr;margin-top:-18px}.pro-ad-icon{display:none}.pro-ad-button{text-align:center}.ad-form{grid-template-columns:1fr}.ad-form .wide{grid-column:auto}}

/* V7.3 menu mobile */
.nav-toggle{display:none;background:transparent;border:0;padding:8px;cursor:pointer;margin-left:auto}
.nav-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:.2s}
@media(max-width:760px){
.top .nav{position:relative;display:flex;align-items:center;min-height:62px}
.nav-toggle{display:block}
.top .navlinks{display:none;position:absolute;z-index:1000;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#172554;border-radius:0 0 14px 14px;box-shadow:0 14px 30px rgba(15,23,42,.2)}
.top .navlinks.is-open{display:flex!important}
.top .navlinks a,.top .navlinks span{display:block!important;width:100%;padding:13px 14px;border-radius:9px;color:#fff!important}
.top .navlinks a:hover{background:rgba(255,255,255,.09);opacity:1}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
/* V7.4 — correctif prioritaire du bouton menu mobile */
@media (max-width:760px){
  .top .nav{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
  }
  .top .brand{
    flex:0 0 auto!important;
    width:auto!important;
  }
  .top button.nav-toggle{
    display:flex!important;
    flex:0 0 46px!important;
    width:46px!important;
    min-width:46px!important;
    max-width:46px!important;
    height:42px!important;
    min-height:42px!important;
    padding:8px 10px!important;
    margin:0 0 0 auto!important;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.12)!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  .top button.nav-toggle span{
    display:block!important;
    flex:none!important;
    width:23px!important;
    height:2px!important;
    min-height:2px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:2px!important;
    background:#fff!important;
  }
  .top .navlinks{
    width:auto!important;
    margin:0!important;
    top:calc(100% + 1px)!important;
  }
  .top button.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  .top button.nav-toggle.is-open span:nth-child(2){opacity:0!important}
  .top button.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
}

.form-status{margin:0 0 18px;padding:14px 16px;border-radius:11px;font-weight:700}.form-status.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.form-status.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* V7.7 — Legal pages */
.legal-page{max-width:980px;margin:0 auto;padding:46px 22px 64px}
.legal-breadcrumb{font-size:14px;color:#64748b;margin:0 0 10px}
.legal-breadcrumb a{color:#64748b;text-decoration:none}
.legal-page h1{font-size:clamp(34px,5vw,52px);line-height:1.05;margin:0 0 12px;letter-spacing:-.035em}
.legal-intro{font-size:17px;color:#64748b;margin:0 0 30px}
.legal-card{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:28px 30px;margin:0 0 18px;box-shadow:0 8px 26px rgba(15,23,42,.045)}
.legal-card h2{font-size:21px;margin:0 0 13px;letter-spacing:-.015em}
.legal-card p{font-size:15px;line-height:1.65;color:#334155;margin:0 0 12px}
.legal-card p:last-child{margin-bottom:0}
.legal-card a{color:#1748c7;font-weight:700}
.legal-footer{border-top:1px solid #e2e8f0;background:#fff}
.legal-footer .container{display:flex;gap:14px 24px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
.legal-footer p{margin:0;color:#64748b;font-size:13px}
.legal-footer a{color:#475569;text-decoration:none}
.legal-footer a:hover{text-decoration:underline}
@media(max-width:700px){.legal-page{padding:30px 16px 45px}.legal-card{padding:22px 20px;border-radius:15px}.legal-footer .container{display:block}.legal-footer p+ p{margin-top:9px}}
