/* ============================================================
   ISILOCKER.COM — Charte graphique Isitec International 2026
   Bleu Isitec #019DE0 · Bleu nuit #1C1D3D · Gris #747374
   Typo web : Montserrat
   ============================================================ */
:root{
  --bleu:#019DE0;
  --nuit:#1C1D3D;
  --gris:#747374;
  --blanc:#FFFFFF;
  --fond:#F6FAFD;
  --radius:16px;
  --shadow:0 6px 24px rgba(28,29,61,.07);
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Montserrat','Helvetica',Arial,sans-serif;color:var(--nuit);background:var(--blanc);line-height:1.65;font-size:16px}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--bleu);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
.topbar{background:var(--nuit);color:#B9BBD4;font-size:12.5px;padding:7px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:600}
.topbar a:hover{color:var(--bleu);text-decoration:none}
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #E8F1F8}
header.site .container{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
.brand{display:flex;flex-direction:column;line-height:1.1;text-decoration:none!important}
.brand-name{font-weight:800;font-size:25px;color:var(--bleu);letter-spacing:1px;text-transform:uppercase}
.brand-logo{display:flex;align-items:flex-end;font-weight:800;font-size:22px;color:var(--nuit);letter-spacing:.2px;line-height:1}
.brand-logo img{height:17px;width:auto;margin:0 1px 9px 5px}
.brand-logo em{font-style:italic;color:var(--bleu);font-weight:700;font-size:15.5px;padding-bottom:1px}
.brand-by{font-size:10.5px;color:var(--gris);font-weight:600;letter-spacing:.4px;margin-top:3px}
nav.main{display:flex;align-items:center;gap:6px}
nav.main a{color:var(--nuit);font-weight:600;font-size:14px;padding:9px 13px;border-radius:24px;transition:background .15s,color .15s}
nav.main a:hover{color:var(--bleu);background:#EDF7FD;text-decoration:none}
nav.main a.active{color:var(--bleu);background:#EDF7FD}
nav.main a.btn,nav.main a.btn:hover{background:var(--bleu);color:#fff;border-radius:40px;margin-left:8px}
.lang{font-size:12.5px;font-weight:700;border:1.5px solid #D6E6F2;border-radius:20px;padding:5px 13px;color:var(--gris);margin-left:6px}
.lang:hover{border-color:var(--bleu);background:#fff!important;color:var(--bleu)!important;text-decoration:none}
.burger{display:none;background:none;border:none;font-size:26px;color:var(--nuit);cursor:pointer}

/* ---------- Boutons ---------- */
.btn{display:inline-block;background:var(--bleu);color:#fff!important;font-weight:700;padding:14px 30px;border-radius:40px;border:none;cursor:pointer;font-size:15.5px;font-family:inherit;transition:transform .15s,box-shadow .15s;text-decoration:none!important;box-shadow:0 6px 18px rgba(1,157,224,.35)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(1,157,224,.45)}
.btn.ghost{background:transparent;color:var(--bleu)!important;border:2px solid var(--bleu);box-shadow:none}
.btn.ghost:hover{background:var(--bleu);color:#fff!important}
.btn.light{background:#fff;color:var(--bleu)!important;box-shadow:0 6px 18px rgba(0,0,0,.18)}

/* ---------- Hero ---------- */
.hero{position:relative;background:linear-gradient(135deg,var(--bleu) 0%,var(--nuit) 100%);color:#fff;overflow:hidden}
.hero .hexbg{position:absolute;inset:0;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 34L0 84V66l28 16 28-16v18L28 100z' fill='none' stroke='%23FFFFFF' stroke-width='2'/%3E%3C/svg%3E");background-size:56px 100px}
.hero .container{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}
.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.15;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.hero h1 .accent{color:#BDE8FB}
.hero p.lead{margin:20px 0 8px;font-size:18px;color:#EAF7FE;max-width:56ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}
.hero .cta-row{margin-top:28px;gap:14px}
.hero .points{margin-top:26px;display:flex;gap:22px;flex-wrap:wrap;font-size:14px;font-weight:600}
.hero .points span{display:flex;align-items:center;gap:8px}
.hero .points svg{flex:none}
.hero-visual{position:relative;text-align:center}
.hero-visual img{margin:0 auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.35));border-radius:var(--radius)}
.badge-float{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);background:#fff;color:var(--nuit);font-size:13px;font-weight:700;padding:10px 18px;border-radius:30px;box-shadow:var(--shadow);white-space:nowrap}
.badge-float b{color:var(--bleu)}

/* ---------- Sections ---------- */
section{padding:72px 0}
section.alt{background:var(--fond)}
.kicker{color:var(--bleu);font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:2px;margin-bottom:10px}
h2.sec{font-size:clamp(24px,3vw,34px);font-weight:800;text-transform:uppercase;line-height:1.2;color:var(--nuit);margin-bottom:14px}
p.sub{color:var(--gris);max-width:70ch;font-size:16.5px}
.center{text-align:center}
.center p.sub{margin:0 auto}

/* ---------- Grilles / cartes ---------- */
.grid{display:grid;gap:26px;margin-top:42px}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);border:1px solid #EAF3FA}
.card h3{font-size:18px;font-weight:700;margin:14px 0 8px;color:var(--nuit)}
.card p{font-size:14.5px;color:var(--gris)}
.hexicon{width:54px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bleu);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);color:#fff}
.hexicon svg{width:26px;height:26px}

/* ---------- Bande chiffres ---------- */
.stats{background:linear-gradient(120deg,var(--bleu),var(--nuit));color:#fff;padding:54px 0}
.stats .grid{margin-top:0}
.stat{text-align:center}
.stat .n{font-size:clamp(30px,4vw,46px);font-weight:800}
.stat .l{font-size:14px;color:#CDEEFB;font-weight:600}

/* ---------- Produits ---------- */
.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:42px}
.product .ph{background:var(--fond);border-radius:var(--radius);padding:32px;text-align:center}
.product .ph img{margin:0 auto;max-height:460px;width:auto}
.product h3{font-size:24px;font-weight:800;text-transform:uppercase;color:var(--nuit)}
.product .tagline{color:var(--bleu);font-weight:700;margin:6px 0 14px}
ul.checks{list-style:none;margin:16px 0}
ul.checks li{padding-left:30px;position:relative;margin-bottom:10px;font-size:15px}
ul.checks li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:18px;background:var(--bleu);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
ul.checks li b{color:var(--nuit)}

/* ---------- Tableau specs ---------- */
table.specs{width:100%;border-collapse:collapse;margin-top:24px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
table.specs th{background:var(--nuit);color:#fff;text-align:left;padding:14px 18px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}
table.specs td{padding:13px 18px;border-bottom:1px solid #E8F2F9;font-size:14.5px}
table.specs tr:last-child td{border-bottom:none}
table.specs td:first-child{font-weight:600;color:var(--nuit);width:42%}

/* ---------- Vidéos ---------- */
.videos{display:grid;grid-template-columns:1fr;gap:64px;margin-top:42px;max-width:720px;margin-left:auto;margin-right:auto}
.videobox{background:var(--nuit);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.videobox video{width:100%;max-height:560px;background:#000}
.videobox .cap{padding:16px 20px;color:#fff;font-size:14px;font-weight:600}

/* ---------- Étapes ---------- */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:42px}
.step{background:#fff;border-radius:var(--radius);padding:24px 18px;box-shadow:var(--shadow);text-align:center;position:relative}
.step::before{counter-increment:step;content:counter(step);display:flex;align-items:center;justify-content:center;width:44px;height:50px;margin:0 auto 12px;background:var(--bleu);color:#fff;font-weight:800;font-size:18px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}
.step h4{font-size:14.5px;margin-bottom:6px}
.step p{font-size:13px;color:var(--gris)}

/* ---------- Témoignage ---------- */
.quote{background:#fff;border-left:6px solid var(--bleu);border-radius:var(--radius);padding:34px 38px;box-shadow:var(--shadow);margin-top:42px}
.quote p.q{font-size:19px;font-weight:600;color:var(--nuit);font-style:italic}
.quote .who{margin-top:14px;color:var(--gris);font-size:14px;font-weight:600}
.quote .who b{color:var(--bleu)}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin:42px auto 0}
.faq details{background:#fff;border-radius:12px;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
.faq summary{cursor:pointer;padding:20px 24px;font-weight:700;font-size:15.5px;color:var(--nuit);list-style:none;position:relative;padding-right:52px}
.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--bleu);font-size:24px;font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 24px 20px;color:var(--gris);font-size:14.5px}

/* ---------- CTA final ---------- */
.cta-final{background:linear-gradient(135deg,var(--bleu),var(--nuit));color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-final .hexbg{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cpath d='M28 66L0 50V16L28 0l28 16v34L28 66zm0 34L0 84V66l28 16 28-16v18L28 100z' fill='none' stroke='%23FFFFFF' stroke-width='2'/%3E%3C/svg%3E");background-size:56px 100px}
.cta-final .container{position:relative}
.cta-final h2{font-size:clamp(24px,3vw,36px);text-transform:uppercase;font-weight:800}
.cta-final p{margin:16px auto 28px;max-width:60ch;color:#EAF7FE}

/* ---------- Formulaire ---------- */
form.lead{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:36px;max-width:720px;margin:42px auto 0;text-align:left}
form.lead .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
form.lead label{display:block;font-size:13px;font-weight:700;color:var(--nuit);margin:14px 0 6px}
form.lead input,form.lead select,form.lead textarea{width:100%;padding:12px 14px;border:1.5px solid #D6E6F2;border-radius:10px;font-family:inherit;font-size:14.5px;color:var(--nuit);background:#FBFDFF}
form.lead input:focus,form.lead select:focus,form.lead textarea:focus{outline:none;border-color:var(--bleu)}
form.lead .btn{width:100%;margin-top:22px}
form.lead .rgpd{font-size:12px;color:var(--gris);margin-top:14px}

/* ---------- Cas clients ---------- */
.case{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:34px;margin-top:30px}
.case .sector{display:inline-block;background:rgba(1,157,224,.12);color:var(--bleu);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:6px 14px;border-radius:20px;margin-bottom:14px}
.case h3{font-size:20px;color:var(--nuit);margin-bottom:10px}
.case .results{display:flex;gap:26px;flex-wrap:wrap;margin-top:18px}
.case .results div{background:var(--fond);border-radius:12px;padding:14px 20px;text-align:center;min-width:120px}
.case .results .n{font-size:24px;font-weight:800;color:var(--bleu)}
.case .results .l{font-size:12px;color:var(--gris);font-weight:600}

/* ---------- Blog ---------- */
.post-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}
.post-card .body{padding:26px}
.post-card .tag{color:var(--bleu);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.post-card h3{font-size:18px;margin:10px 0}
.post-card h3 a{color:var(--nuit)}
.post-card p{font-size:14px;color:var(--gris)}
article.post{max-width:820px;margin:0 auto}
article.post h1{font-size:clamp(26px,3.4vw,38px);line-height:1.2;text-transform:none;color:var(--nuit);margin-bottom:16px}
article.post .meta{color:var(--gris);font-size:14px;margin-bottom:30px}
article.post h2{font-size:23px;color:var(--nuit);margin:38px 0 14px}
article.post h3{font-size:18px;color:var(--bleu);margin:26px 0 10px}
article.post p{margin-bottom:16px;font-size:16px}
article.post ul{margin:0 0 16px 22px}
article.post li{margin-bottom:8px}
.post-cta{background:var(--fond);border-left:5px solid var(--bleu);border-radius:12px;padding:26px 30px;margin:36px 0}
.post-cta p{margin-bottom:14px;font-weight:600}

/* ---------- Footer ---------- */
footer.site{background:var(--nuit);color:#C9CBDF;padding:56px 0 30px;font-size:14px}
footer.site .grid{grid-template-columns:1.4fr 1fr 1fr 1fr;margin-top:0;gap:36px}
footer.site h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
footer.site a{color:#C9CBDF;display:block;margin-bottom:9px}
footer.site a:hover{color:var(--bleu)}
footer.site .brand-name{color:var(--bleu)}
.footline{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:#8A8CA8}

/* ---------- Breadcrumb ---------- */
.crumb{font-size:13px;color:var(--gris);padding:18px 0 0}
.crumb a{color:var(--gris)}
.crumb a:hover{color:var(--bleu)}

/* ---------- Calculateur ---------- */
.calc{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #EAF3FA;padding:38px;max-width:860px;margin:42px auto 0}
.calc h3{font-size:19px;color:var(--nuit);margin-bottom:18px}
.calc .field{margin-bottom:24px}
.calc label.q{display:block;font-weight:700;font-size:15px;color:var(--nuit);margin-bottom:10px}
.calc .hint{font-size:12.5px;color:var(--gris);margin-top:6px}
.calc input[type=number]{width:100%;max-width:240px;padding:13px 16px;border:1.5px solid #D6E6F2;border-radius:10px;font-family:inherit;font-size:16px;font-weight:600;color:var(--nuit)}
.calc input[type=number]:focus{outline:none;border-color:var(--bleu)}
.pills{display:flex;gap:10px;flex-wrap:wrap}
.pills input{position:absolute;opacity:0;pointer-events:none}
.pills label{border:1.5px solid #D6E6F2;border-radius:30px;padding:10px 20px;font-size:14px;font-weight:600;color:var(--nuit);cursor:pointer;transition:all .15s;background:#fff}
.pills label:hover{border-color:var(--bleu)}
.pills input:checked+label{background:var(--bleu);border-color:var(--bleu);color:#fff}
.calc-result{display:none;margin-top:10px;border-top:2px solid #EDF7FD;padding-top:28px}
.calc-result.show{display:block;animation:fadeup .4s ease}
@keyframes fadeup{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.reco{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.reco .box{background:var(--fond);border-radius:14px;padding:22px;text-align:center}
.reco .box .big{font-size:34px;font-weight:800;color:var(--bleu);line-height:1.1}
.reco .box .lbl{font-size:13px;color:var(--gris);font-weight:600;margin-top:6px}
.roi-line{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #EDF4FA;font-size:14.5px}
.roi-line b{color:var(--bleu);white-space:nowrap}
.calc-note{font-size:12px;color:var(--gris);margin-top:16px}
.calc .btn{margin-top:8px}
.calc-alert{background:#FFF8E9;border:1.5px solid #F0D9A6;border-radius:12px;padding:20px 24px;margin:18px 0;font-size:14.5px}
.calc-alert b{color:var(--nuit)}
.leadmini{background:var(--fond);border-radius:14px;padding:24px;margin-top:22px}
.leadmini h4{font-size:15.5px;color:var(--nuit);margin-bottom:4px}
.leadmini p{font-size:13px;color:var(--gris);margin-bottom:12px}
.leadmini .row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.leadmini input{width:100%;padding:12px 14px;border:1.5px solid #D6E6F2;border-radius:10px;font-family:inherit;font-size:14px;color:var(--nuit);background:#fff}
.leadmini input:focus{outline:none;border-color:var(--bleu)}
@media(max-width:640px){.leadmini .row{grid-template-columns:1fr}}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .hero .container{grid-template-columns:1fr}
  .grid.c4{grid-template-columns:repeat(2,1fr)}
  .grid.c3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .product{grid-template-columns:1fr}
  .videos{grid-template-columns:1fr}
  footer.site .grid{grid-template-columns:1fr 1fr}
  nav.main{position:fixed;inset:72px 0 auto 0;background:#fff;flex-direction:column;padding:24px;box-shadow:0 16px 30px rgba(28,29,61,.15);display:none}
  nav.main.open{display:flex}
  .burger{display:block}
}
@media(max-width:640px){
  .grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  form.lead .row{grid-template-columns:1fr}
  section{padding:52px 0}
}
