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

/* =========================================================
   JUSTICE RAPIDE — Harmonisation graphique JNF
   Refonte visuelle uniquement : aucune logique fonctionnelle modifiée.
   ========================================================= */
:root{
  --bg:#f4f8fd !important;
  --bg2:#edf4fb !important;
  --line:rgba(15,45,92,.12) !important;
  --line2:rgba(15,45,92,.08) !important;
  --text:#0b2d5c !important;
  --muted:#687a91 !important;
  --gold:#1468e5 !important;
  --gold2:#68b7ff !important;
  --accent:#1468e5 !important;
  --accent2:#0d56c5 !important;
  --shadow:0 18px 48px rgba(32,76,128,.10) !important;
  --radius:18px !important;
  --lightbg:#f4f8fd !important;
  --lightcard:#ffffff !important;
  --lighttext:#0b2d5c !important;
  --lightmuted:#687a91 !important;
  --lightline:rgba(15,45,92,.12) !important;
}
*{box-sizing:border-box}
html{background:#f4f8fd}
body{
  font-family:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--text) !important;
  background:
    radial-gradient(900px 520px at 90% 0%,rgba(104,183,255,.16),transparent 62%),
    radial-gradient(760px 460px at 0% 20%,rgba(20,104,229,.08),transparent 62%),
    linear-gradient(180deg,#f9fcff 0%,#f2f7fc 55%,#edf4fb 100%) !important;
}
a{color:inherit}

header,.topbar,.miniheader{
  background:rgba(255,255,255,.94) !important;
  color:var(--text) !important;
  border-bottom:1px solid #dfe9f5 !important;
  box-shadow:0 7px 28px rgba(26,68,116,.06) !important;
  backdrop-filter:blur(14px) !important;
}
.nav,.topbar__inner{min-height:70px}
.brand{gap:12px !important}
.logo,.brand__logo{
  position:relative !important;
  width:58px !important;
  height:40px !important;
  min-width:58px !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.logo::before,.brand__logo::before{
  content:'JR';
  position:absolute;
  left:0;top:4px;
  color:#0b2d5c;
  font-size:25px;
  line-height:1;
  font-weight:800;
  letter-spacing:-2px;
}
.logo::after,.brand__logo::after{
  content:'//';
  position:absolute;
  left:31px;top:4px;
  color:#39a8f2;
  font-size:25px;
  line-height:1;
  font-weight:800;
  letter-spacing:-4px;
  transform:skew(-8deg);
}
.brandText b,.brand__name{color:#0b2d5c !important;letter-spacing:.12em !important;font-weight:800 !important}
.brandText span,.brand__tagline{color:#74859a !important}
.links,.nav a,.iconLink,.back{color:#53677f !important}
.links a:hover,.nav a:hover,.iconLink:hover,.back:hover{color:#1468e5 !important;background:#eef6ff !important}
.iconLink{
  border:1px solid #d9e6f5 !important;
  background:#fff !important;
  border-radius:12px !important;
}

.btn{
  border-radius:10px !important;
  border:1px solid #d5e4f4 !important;
  background:#fff !important;
  color:#0b2d5c !important;
  box-shadow:none !important;
  font-weight:700 !important;
}
.btn:hover{background:#eef6ff !important;border-color:#b8d5f5 !important;transform:translateY(-1px) !important}
.btn.primary,.btn--primary{
  border-color:#1468e5 !important;
  background:linear-gradient(135deg,#176fe8,#0d5fd8) !important;
  color:#fff !important;
  box-shadow:0 10px 25px rgba(20,104,229,.18) !important;
}
.btn.primary:hover,.btn--primary:hover{background:linear-gradient(135deg,#0e61d6,#0b52bd) !important}
.btn--secondary,.btn--ghost{background:#fff !important;color:#0b2d5c !important;border-color:#cfe0f2 !important}

.hero{padding-top:38px !important}
.card,.panel,.step,.card2,.box,.choiceCard,.formCard{
  background:#fff !important;
  border:1px solid #dfe9f5 !important;
  color:var(--text) !important;
  box-shadow:var(--shadow) !important;
}
.heroMain{
  background:linear-gradient(135deg,#ffffff 0%,#f4f9ff 64%,#e9f4ff 100%) !important;
  border-color:#dbe8f6 !important;
}
.heroSide{background:#fff !important}
h1,h2,h3,.alert-text,.fromName,.price,.priceLine,.card__price,.hero__title,.sectionTitle h2,.formHead h3{color:#0b2d5c !important}
h1,.hero__title{letter-spacing:-.035em !important}
.sub,.lead,.fine,.muted,.panel p,.sectionTitle p,.footSmall,.legalLine,.note,.small,.step__d,.hero__subtitle{color:#687a91 !important}
.emph,.fine b,.panel h3{color:#0b2d5c !important}

.pill,.badge{
  background:#eaf4ff !important;
  border-color:#c8e0fa !important;
  color:#0d5fd8 !important;
}
.pill__dot{background:#1468e5 !important;box-shadow:0 0 0 4px rgba(20,104,229,.12) !important}
.sideTop b,.box h3,.card__kicker,.kicker{color:#1468e5 !important}

.alert-main{
  border:1px solid #bfdbf7 !important;
  background:linear-gradient(135deg,#eff7ff,#ffffff) !important;
  box-shadow:0 14px 35px rgba(20,104,229,.10) !important;
}
.fromName{background:#eaf4ff !important;border-color:#c8e0fa !important;color:#0b2d5c !important}
.alert-icon{filter:none !important}

input,select,textarea{
  background:#fff !important;
  color:#0b2d5c !important;
  border:1px solid #ccdced !important;
  border-radius:10px !important;
}
input:focus,select:focus,textarea:focus{
  border-color:#5fa6ef !important;
  box-shadow:0 0 0 4px rgba(20,104,229,.10) !important;
}
label{color:#415a76 !important}
.attachBtn{background:#eef6ff !important;color:#0d5fd8 !important;border-color:#c8def6 !important}
.fileList,.filesMeta{color:#687a91 !important}

.tabs{background:#eaf2fb !important;border:1px solid #d8e6f4 !important}
.tab{color:#5f7289 !important}
.tab.active{background:#fff !important;color:#0d5fd8 !important;box-shadow:0 5px 14px rgba(40,80,120,.08) !important}
.choiceCard:hover{border-color:#91bff1 !important;box-shadow:0 14px 30px rgba(20,104,229,.10) !important}

.warn,.banner--warn,.notice{
  background:#fff8e8 !important;
  border-color:#f1ddb1 !important;
  color:#6d5521 !important;
}
.banner--ok{background:#eefaf4 !important;border-color:#c6ead7 !important;color:#1d6440 !important}
.note{background:#eef6ff !important;border-color:#c8def6 !important;border-left:3px solid #5da7f2 !important}

.sectionTitle{border-bottom:1px solid #e2ebf5;padding-bottom:12px}
.grid3 .panel,.steps .step{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.grid3 .panel:hover,.steps .step:hover{transform:translateY(-2px);border-color:#bcd7f3 !important;box-shadow:0 18px 40px rgba(20,104,229,.10) !important}
.step__n{background:#e7f2ff !important;color:#0d5fd8 !important}

.card.pageHead,.pageHead{background:transparent !important}
.content h2{color:#0d5fd8 !important}
.link{color:#0d5fd8 !important;text-decoration-color:#8bbbf0 !important}
.hr{background:#e0eaf5 !important}

footer,.footer{
  border-top:1px solid #dce7f2 !important;
  background:rgba(255,255,255,.58) !important;
  color:#687a91 !important;
}
.footSmall,.footer__inner,.footer-links{color:#687a91 !important}

/* pages de confirmation */
body > .box{max-width:680px !important;margin:8vh auto !important;padding:30px !important;border-radius:20px !important}

@media(max-width:900px){
  .logo,.brand__logo{width:54px !important;min-width:54px !important}
  h1,.hero__title{font-size:40px !important}
  .heroGrid,.hero__grid{gap:14px !important}
  .nav{align-items:flex-start !important}
}
@media(max-width:620px){
  .wrap,.container{padding-left:14px !important;padding-right:14px !important}
  h1,.hero__title{font-size:34px !important}
  .card,.panel,.formCard,.heroMain,.heroSide{border-radius:15px !important}
}


/* Contact modal */
.jr-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px}
.jr-modal.hidden{display:none}
.jr-modal-backdrop{position:absolute;inset:0;background:rgba(5,17,32,.62);backdrop-filter:blur(5px)}
.jr-modal-panel{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border:1px solid rgba(25,64,103,.16);border-radius:22px;padding:28px;box-shadow:0 28px 80px rgba(9,34,60,.25);color:#17324d}
.jr-modal-panel h2{margin:0 44px 8px 0;color:#17324d}
.jr-modal-intro{margin:0 0 20px;color:#5f7488}
.jr-modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#35536e}
.jr-modal-panel label{display:block;font-weight:700;margin:12px 0 6px;color:#25445f}
.jr-modal-panel input,.jr-modal-panel textarea{width:100%;box-sizing:border-box;margin-top:7px;padding:12px 14px;border:1px solid #cbd8e4;border-radius:12px;background:#f9fbfd;color:#17324d;font:inherit}
.jr-modal-panel textarea{min-height:140px;resize:vertical}
.jr-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.jr-modal-panel .notice{margin-top:14px;padding:12px 14px;border-radius:12px;background:#edf5fb;color:#24455f}
.jr-modal-panel .notice.error{background:#fff0f0;color:#8b2525}
.jr-modal-panel .notice.success{background:#edf8f2;color:#205f43}
body.jr-modal-open{overflow:hidden}
@media(max-width:680px){.jr-modal{padding:12px}.jr-modal-panel{padding:22px 18px}.jr-modal-panel .grid2{grid-template-columns:1fr}}

/* Responsive sizing and fixed-header anchor offset. */
.heroGrid > *, .heroMain, .heroSide { min-width:0; max-width:100%; overflow-wrap:break-word; }
main [id] { scroll-margin-top:100px; }
@media(max-width:620px){
 .heroGrid { grid-template-columns:minmax(0,1fr) !important; }
 main [id] { scroll-margin-top:140px; }
 .heroMain .btn,.heroSide .btn { max-width:100%; white-space:normal; }
}
