@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400..800&display=swap');
.zv{
  --bg:#F6F9FC; --surface:#FFFFFF; --ink:#0B2036; --muted:#52657B; --line:#DCE6F0;
  --brand:#0A8FC4; --sky:#E8F4FB;
  --btn-bg:#123F6B; --btn-ink:#FFFFFF;
  --warn:#7A4E00; --warn-bg:#FFF4D6;
  --h1c:#061426; --h2c:#0C2D4E; --on-hero:#EEF5FB; --on-hero-muted:#A9C2D9; --hero-line:rgba(255,255,255,.16); --hero-acc:#5CC6F0;
  --gold:#F6C21A; --gold-ink:#1B1500;
  --flag-red:#EF2B2D; --flag-green:#009E49; --flag-yellow:#FCD116;
  --ok:#00803D;
  --shadow:0 30px 60px -34px rgba(18,63,107,.5);
  --display:"Instrument Serif","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --body:"Manrope","Helvetica Neue",Arial,sans-serif;
  --show-l:block; --show-d:none;
  --gutter:20px; --maxw:1160px;
}
@media (prefers-color-scheme: dark){.zv:not([data-theme="light"]){
    --bg:#07111D; --surface:#0D1B2E; --ink:#E8EFF8; --muted:#9BB0C8; --line:#1B3350;
    --brand:#35B8EA; --sky:#0D2A40; --btn-bg:#35B8EA; --btn-ink:#06202F;
    --warn:#F2C76B; --warn-bg:#2B2410; --ok:#4BD283; --shadow:0 30px 60px -34px rgba(0,0,0,.85);
    --show-l:none; --show-d:block; color-scheme:dark;
  }

}
.zv[data-theme="dark"]{
  --bg:#07111D; --surface:#0D1B2E; --ink:#E8EFF8; --muted:#9BB0C8; --line:#1B3350;
  --brand:#35B8EA; --sky:#0D2A40; --btn-bg:#35B8EA; --btn-ink:#06202F;
  --warn:#F2C76B; --warn-bg:#2B2410; --ok:#4BD283; --shadow:0 30px 60px -34px rgba(0,0,0,.85);
  --show-l:none; --show-d:block; color-scheme:dark;
}
.zv, .zv *{box-sizing:border-box}
.zv{scroll-behavior:smooth}
.zv{background:var(--bg); color:var(--ink); font:16px/1.6 var(--body); margin:0; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
.zv a{color:inherit}
.zv p{margin:0; text-wrap:pretty}
.zv h1, .zv h2, .zv h3{font-family:var(--display); font-weight:400; margin:0; text-wrap:balance; letter-spacing:-0.014em; line-height:1.02}
.zv .wrap{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter)}
.zv .eyebrow{display:flex; align-items:center; gap:12px; font:700 12px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--brand)}
.zv .eyebrow::before{content:""; width:28px; height:1px; background:currentColor}
.zv :focus-visible{outline:3px solid var(--brand); outline-offset:3px; border-radius:8px}
.zv .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font:700 15px/1 var(--body); text-decoration:none; border-radius:12px; padding:0 22px; min-height:48px; border:1px solid transparent; cursor:pointer; transition:transform .15s, filter .15s, border-color .15s, background .15s}
.zv .btn:active{transform:translateY(1px)}
.zv .btn-primary{background:var(--btn-bg); color:var(--btn-ink)}
.zv .btn-primary:hover{filter:brightness(1.1)}
.zv .btn-line{border-color:var(--line); background:var(--surface); color:var(--ink)}
.zv .btn-line:hover{border-color:var(--brand)}
.zv .btn-gold{background:var(--gold); color:var(--gold-ink)}
.zv .btn-gold:hover{filter:brightness(1.06); transform:translateY(-1px)}
.zv .flag{display:grid; grid-template-columns:1fr 1fr 1fr; height:3px; position:relative; z-index:30}
.zv .flag i:nth-child(1){background:var(--flag-red)}
.zv .flag i:nth-child(2){background:var(--flag-yellow)}
.zv .flag i:nth-child(3){background:var(--flag-green)}
.zv .top{position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid var(--line); transition:box-shadow .25s}
.zv .top.sc{box-shadow:0 10px 30px -18px rgba(8,28,52,.35)}
.zv .top .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:76px}
.zv .brand{display:flex; align-items:center; text-decoration:none}
.zv .logo{height:54px; width:auto; flex:none}
.zv .logo-l{display:var(--show-l)}
.zv .logo-d{display:var(--show-d)}
.zv .links{display:flex; align-items:center; gap:30px; font-size:15px; font-weight:600}
.zv .links a:not(.btn){position:relative; text-decoration:none; color:var(--muted); padding:8px 0; transition:color .15s}
.zv .links a:not(.btn)::after{content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; border-radius:2px; background:var(--brand); transform:scaleX(0); transform-origin:left; transition:transform .25s}
.zv .links a:not(.btn):hover, .zv .links a.on{color:var(--ink)}
.zv .links a:not(.btn):hover::after, .zv .links a.on::after{transform:scaleX(1)}
.zv .links .btn{min-height:42px; padding:0 18px; gap:9px; font-size:14px; background:var(--btn-bg); border-color:transparent; color:var(--btn-ink)}
.zv .links .btn svg{width:17px; height:17px; flex:none}
@media (max-width:820px){.zv .links a:not(.btn){display:none}
 }
.zv .fl{display:inline-block; width:22px; height:15px; border-radius:3px; flex:none; vertical-align:-2px; margin-right:7px; box-shadow:0 0 0 1px rgba(128,128,128,.28)}
.zv .hero{position:relative; overflow:hidden; color:var(--on-hero); background:linear-gradient(180deg,var(--h1c) 0%, var(--h2c) 100%); padding-top:0}
.zv .hero-bg{position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(760px 520px at 80% 28%, rgba(10,143,196,.42), transparent 62%),
    radial-gradient(560px 360px at 6% 0%, rgba(92,198,240,.14), transparent 62%)}
.zv .hgrid{position:relative; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(24px,4vw,56px); align-items:center; padding-block:clamp(36px,6vw,72px) clamp(56px,7vw,84px)}
@media (max-width:960px){.zv .hgrid{grid-template-columns:minmax(0,1fr)}
.zv .vis{display:none}
 }
.zv .badge{display:inline-flex; align-items:center; gap:0; padding:8px 16px 8px 12px; border:1px solid var(--hero-line); background:rgba(255,255,255,.06); border-radius:999px; font-size:13px; font-weight:600; color:var(--on-hero)}
.zv .badge .tick{display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--flag-green); color:#fff; font-size:12px; font-weight:800}
.zv .hero h1{font-size:clamp(2.9rem,5.6vw,4.9rem); margin-top:24px; color:#fff}
.zv .hero h1 span{color:var(--hero-acc); font-style:italic}
.zv .lead{margin-top:20px; font-size:clamp(1rem,1.4vw,1.15rem); color:var(--on-hero-muted); max-width:52ch}
.zv .search{margin-top:34px}
.zv .sbar{display:flex; gap:8px; flex-wrap:wrap; background:#fff; border-radius:18px; padding:8px; box-shadow:0 0 0 1px rgba(255,255,255,.2), 0 30px 60px -20px rgba(0,0,0,.55), 0 0 70px -10px rgba(10,143,196,.5)}
.zv .input{flex:1 1 250px; min-width:0; display:flex; align-items:center; gap:4px; padding-inline:18px; border-radius:12px}
.zv .input input{flex:1; min-width:0; background:none; border:0; outline:none; color:#0B2036; font:600 clamp(1.15rem,2.2vw,1.45rem)/1 var(--body); padding:21px 0}
.zv .input input::placeholder{color:#8DA1B8; font-weight:500}
.zv .input .sfx{font:600 clamp(1.15rem,2.2vw,1.45rem)/1 var(--body); color:#0A8FC4; white-space:nowrap; appearance:none; -webkit-appearance:none; border:0; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230A8FC4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 4px center/11px; padding:8px 24px 8px 6px; border-radius:8px; cursor:pointer; outline-offset:2px}
.zv .input .sfx:hover{background-color:rgba(10,143,196,.08)}
.zv .input .sfx option{font:500 16px var(--body); color:#0B2036; background:#fff}
.zv .sbar .btn{min-height:62px; padding-inline:30px; font-size:16px}
@media (max-width:560px){.zv .sbar .btn{flex:1 1 100%}
 }
.zv .tlds{display:none; flex-wrap:wrap; flex-wrap:wrap; gap:8px; margin-top:16px}
.zv .tld{appearance:none; border:1px solid var(--hero-line); background:rgba(255,255,255,.05); color:var(--on-hero); border-radius:999px; padding:9px 14px; font:600 13.5px/1 var(--body); cursor:pointer; display:inline-flex; gap:8px; align-items:baseline; transition:background .15s, border-color .15s, color .15s}
.zv .tld small{font:500 12px/1 var(--body); color:var(--on-hero-muted)}
.zv .tld:hover{border-color:rgba(255,255,255,.4)}
.zv .tld[aria-pressed="true"]{background:#fff; border-color:#fff; color:#0B2036}
.zv .tld[aria-pressed="true"] small{color:#52657B}
.zv .status{min-height:26px; margin-top:14px; font-size:14px; color:var(--on-hero-muted); display:flex; flex-wrap:wrap; gap:4px 20px}
.zv .status strong{color:#fff; font-weight:700}
.zv .status .hint{color:#FFD97A; background:rgba(246,194,26,.12); border-radius:8px; padding:3px 10px}
.zv .assure{margin:20px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px 26px; font-size:14px; color:var(--on-hero-muted)}
.zv .assure li::before{content:"\2713"; color:var(--hero-acc); font-weight:800; margin-right:8px}
.zv .vis{position:relative; justify-self:center; width:min(100%,500px); aspect-ratio:1/1.1}
.zv .vis .sph{position:absolute; right:-2%; top:0; width:66%; height:auto; filter:drop-shadow(0 30px 50px rgba(0,0,0,.45)); animation:float 9s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.zv .cert{position:absolute; left:0; bottom:0; width:80%; background:#FBFCFE; color:#0B2036; border-radius:14px; padding:20px 22px 18px; box-shadow:0 40px 70px -28px rgba(0,0,0,.7), 0 0 0 1px rgba(11,32,54,.08); overflow:hidden}
.zv .cert::before{content:""; position:absolute; left:0; right:0; top:0; height:4px; background:linear-gradient(90deg,var(--flag-red) 0 33.3%,var(--flag-yellow) 0 66.6%,var(--flag-green) 0)}
.zv .cert-top{display:flex; justify-content:space-between; align-items:center; gap:10px}
.zv .cert small{font:700 10.5px/1 var(--body); letter-spacing:.14em; text-transform:uppercase; color:#52657B}
.zv .cert .ex{font:700 10px/1 var(--body); letter-spacing:.08em; text-transform:uppercase; color:#7A4E00; background:#FFF0C2; border-radius:5px; padding:4px 7px}
.zv .cert .dn{margin-top:14px; font:400 clamp(1.7rem,2.6vw,2.1rem)/1.05 var(--display); overflow-wrap:anywhere}
.zv .cert .dn i{color:#0A8FC4}
.zv .cert dl{margin:16px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; padding-top:14px; border-top:1px solid #DCE6F0}
.zv .cert dt{font:700 10px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:#6B7C90}
.zv .cert dd{margin:5px 0 0; font:600 14px/1.25 var(--body)}
.zv .cert .okk{color:#00803D}
.zv .ph{display:none}
.zv .vis.has-photo .sph{display:none}
.zv .vis.has-photo .ph{display:block; position:absolute; right:0; top:0; width:88%; height:100%}
.zv .ph::before{content:""; position:absolute; inset:-12px -12px 12px 12px; border:1px solid rgba(246,194,26,.55); border-radius:36px}
.zv .ph img{position:relative; width:100%; height:100%; object-fit:cover; object-position:50% 20%; border-radius:30px; box-shadow:0 40px 70px -30px rgba(0,0,0,.7); display:block; background:var(--h2c)}
.zv .ph::after{content:""; position:absolute; inset:0; border-radius:30px; background:linear-gradient(180deg,transparent 80%,rgba(6,20,38,.3)); pointer-events:none}
.zv .vis.has-photo .cert-old{width:58%; padding:14px 16px 12px; bottom:-20px; left:-5%}
.zv .vis.has-photo .cert .dn{font-size:1.4rem; margin-top:8px}
.zv .vis.has-photo .cert dl{margin-top:10px; padding-top:10px; gap:8px 12px}
.zv .seal{display:none}
.zv .vis.has-photo .seal{display:flex; position:absolute; left:20%; width:80%; box-sizing:border-box; justify-content:center; bottom:-22px; align-items:center; gap:11px; background:#FBFCFE; color:#0B2036; border-radius:14px; padding:11px 16px 11px 13px; font-size:12px; line-height:1.35; box-shadow:0 26px 50px -22px rgba(0,0,0,.7), 0 0 0 1px rgba(11,32,54,.08)}
.zv .seal .fl{width:26px; height:auto; border-radius:3px; flex:none}
.zv .seal b{display:block; font-size:13px; font-weight:700}
.zv .proof{position:relative; z-index:2; margin-top:-56px}
.zv .proof .wrap{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--surface); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); padding:6px var(--gutter); max-width:calc(var(--maxw) - 0px)}
@media (max-width:860px){.zv .proof .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
 }
.zv .fact{padding:20px 18px}
.zv .fact+.fact{border-left:1px solid var(--line)}
@media (max-width:860px){.zv .fact:nth-child(3){border-left:0}
.zv .fact:nth-child(n+3){border-top:1px solid var(--line)}
 }
.zv .fact b{display:block; font:700 .98rem/1.3 var(--body)}
.zv .fact span{display:block; margin-top:5px; font-size:13.5px; color:var(--muted)}
.zv section{padding-block:clamp(60px,9vw,108px)}
.zv .head{max-width:640px}
.zv .head h2{font-size:clamp(2.4rem,4.8vw,3.8rem); margin-top:18px}
.zv .head p{margin-top:16px; color:var(--muted)}
.zv .pgrid{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(28px,6vw,80px); align-items:start}
@media (max-width:900px){.zv .pgrid{grid-template-columns:minmax(0,1fr)}
 }
.zv .pnote{margin-top:22px; padding:14px 16px; border-left:3px solid var(--brand); background:var(--sky); border-radius:0 10px 10px 0; font-size:14.5px; color:var(--ink)}
.zv .feat{display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap; padding:28px clamp(20px,3vw,32px); border-radius:20px; background:linear-gradient(135deg,var(--h1c),var(--h2c)); color:#fff; box-shadow:var(--shadow); position:relative; overflow:hidden}
.zv .feat::after{content:""; position:absolute; right:-60px; top:-80px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(10,143,196,.5),transparent 68%)}
.zv .feat > *{position:relative; z-index:1}
.zv .feat .nm{font:400 clamp(2.6rem,5vw,3.8rem)/1 var(--display)}
.zv .feat .who{margin-top:10px; font-size:14.5px; color:var(--on-hero-muted)}
.zv .feat .tag{display:inline-block; vertical-align:middle; margin-left:12px; background:var(--gold); color:var(--gold-ink); font:800 10.5px/1 var(--body); letter-spacing:.09em; text-transform:uppercase; padding:5px 8px; border-radius:6px; position:relative; top:-6px}
.zv .feat .pr{text-align:right; font-variant-numeric:tabular-nums}
.zv .feat .pr b{display:block; font:400 clamp(2.8rem,5.4vw,4.2rem)/1 var(--display)}
.zv .feat .pr span{font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:var(--on-hero-muted)}
.zv .rows{margin-top:14px; border:1px solid var(--line); border-radius:20px; background:var(--surface); overflow:hidden}
.zv .tier{display:grid; grid-template-columns:210px minmax(0,1fr); border-top:1px solid var(--line)}
.zv .tier:first-child{border-top:0}
.zv .tp{padding:24px; background:var(--sky); border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center}
.zv .tp b{font:400 2.7rem/1 var(--display); font-variant-numeric:tabular-nums; letter-spacing:-0.01em}
.zv .tp span{margin-top:9px; font:700 11px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.zv .tier ul{list-style:none; margin:0; padding:10px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:2px; align-content:center}
.zv .tier li{padding:14px 16px; border-radius:12px; transition:background .15s}
.zv .tier li:hover{background:var(--sky)}
.zv .tier li b{display:block; font:700 1.1rem/1.2 var(--body); letter-spacing:-0.01em}
.zv .tier li span{display:block; margin-top:4px; font-size:13.5px; line-height:1.4; color:var(--muted)}
@media (max-width:640px){.zv .tier{grid-template-columns:minmax(0,1fr)}
.zv .tp{border-right:0; border-bottom:1px solid var(--line); flex-direction:row; align-items:baseline; gap:12px; padding:16px 20px}
.zv .tp span{margin-top:0}
.zv .tp b{font-size:2.2rem}

}
.zv .fn{margin-top:12px; font-size:13px; color:var(--muted)}
.zv .aside{margin-top:22px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding:16px 20px; background:var(--warn-bg); border-radius:14px; font-size:14.5px}
.zv .aside b{color:var(--warn)}
.zv .aside .btn{margin-left:auto; min-height:42px; font-size:14px}
.zv .incl{background:var(--surface); border-block:1px solid var(--line)}
.zv .igrid{margin-top:40px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(20px,3vw,40px)}
@media (max-width:900px){.zv .igrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 }
@media (max-width:520px){.zv .igrid{grid-template-columns:minmax(0,1fr)}
 }
.zv .igrid > div{padding-top:20px; border-top:1px solid var(--line); position:relative}
.zv .igrid > div::before{content:""; position:absolute; left:0; top:-1px; width:36px; height:3px; background:var(--brand)}
.zv .igrid b{display:block; font:700 1.05rem/1.3 var(--body)}
.zv .igrid p{margin-top:8px; color:var(--muted); font-size:15px}
.zv .transfer{background:linear-gradient(135deg,var(--h1c),var(--h2c)); color:var(--on-hero); position:relative; overflow:hidden}
.zv .transfer .wm{position:absolute; right:-120px; bottom:-170px; width:520px; opacity:.12; pointer-events:none}
.zv .transfer .wrap{position:relative}
.zv .transfer .head h2{color:#fff}
.zv .transfer .head p{color:var(--on-hero-muted)}
.zv .transfer .eyebrow{color:var(--hero-acc)}
.zv .tgrid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,6vw,80px); align-items:start}
@media (max-width:860px){.zv .tgrid{grid-template-columns:minmax(0,1fr)}
 }
.zv .tlist{list-style:none; margin:0; padding:0; border-top:1px solid var(--hero-line)}
.zv .tlist li{padding:24px 0; border-bottom:1px solid var(--hero-line)}
.zv .tlist b{display:block; font:700 1.12rem/1.3 var(--body); color:#fff}
.zv .tlist span{display:block; margin-top:6px; color:var(--on-hero-muted); font-size:15px; max-width:56ch}
.zv .transfer .btn{margin-top:30px}
.zv .steps{margin-top:44px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,44px)}
@media (max-width:760px){.zv .steps{grid-template-columns:minmax(0,1fr)}
 }
.zv .step{padding-top:22px; border-top:1px solid var(--line)}
.zv .step i{display:block; font:400 5rem/.9 var(--display); font-style:normal; color:transparent; -webkit-text-stroke:1px var(--brand); margin-bottom:14px}
.zv .step b{display:block; font:700 1.1rem/1.3 var(--body)}
.zv .step p{margin-top:8px; color:var(--muted); font-size:15px}
.zv .sup-lead{margin-top:14px; color:var(--muted); max-width:34ch}
.zv .sup{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px}
.zv .sup a{display:flex; flex-direction:column; gap:4px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); text-decoration:none; transition:border-color .2s}
.zv .sup a:hover{border-color:var(--brand)}
.zv .sup b{font-size:15px}
.zv .sup span{font-size:13px; color:var(--muted); overflow-wrap:anywhere}
@media (max-width:640px){.zv .sup{grid-template-columns:minmax(0,1fr)}
 }
.zv .faq{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(28px,6vw,80px)}
@media (max-width:860px){.zv .faq{grid-template-columns:minmax(0,1fr)}
 }
.zv details{border-bottom:1px solid var(--line)}
.zv details:first-of-type{border-top:1px solid var(--line)}
.zv summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 0; font:700 1.02rem/1.4 var(--body)}
.zv summary::-webkit-details-marker{display:none}
.zv summary::after{content:"+"; font:400 28px/1 var(--body); color:var(--brand); transition:transform .2s; flex:none}
.zv details[open] summary::after{transform:rotate(45deg)}
.zv details p{padding:0 0 24px; color:var(--muted); max-width:64ch}
.zv footer{background:var(--h1c); color:var(--on-hero)}
.zv .foot{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:28px 48px; padding-block:52px 30px}
@media (max-width:760px){.zv .foot{grid-template-columns:minmax(0,1fr)}
 }
.zv .foot .logo-d{display:block}
.zv .foot p{color:var(--on-hero-muted); font-size:14px; margin-top:16px; max-width:44ch}
.zv .cols{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; font-size:14.5px; margin:0}
.zv .cols dt{font:700 11.5px/1 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--on-hero-muted)}
.zv .cols dd{margin:8px 0 0; overflow-wrap:anywhere; user-select:all; color:#fff}
.zv .legal{display:flex; justify-content:space-between; gap:8px 24px; flex-wrap:wrap; padding-block:20px 28px; border-top:1px solid var(--hero-line); font-size:13px; color:var(--on-hero-muted)}
.zv .wa{position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:30; display:inline-flex; align-items:center; gap:9px; min-height:48px; padding:0 18px; border-radius:999px; background:var(--flag-green); color:#fff; font:700 14.5px/1 var(--body); text-decoration:none; box-shadow:0 14px 30px -10px rgba(0,0,0,.55)}
.zv .wa:hover{filter:brightness(1.08)}
.zv .wa svg{width:20px; height:20px; flex:none}
@media (max-width:420px){.zv .wa span{display:none}
.zv .wa{padding:0; width:52px; justify-content:center}
 }
@media (prefers-reduced-motion:reduce){.zv{scroll-behavior:auto}
.zv, .zv *{transition:none!important; animation:none!important}
 }
@media (max-width:960px){.zv .vis.has-photo{display:flex; align-items:center; gap:14px; width:100%; aspect-ratio:auto; margin-top:8px}
.zv .vis.has-photo .ph{position:static; width:84px; height:84px; flex:none}
.zv .vis.has-photo .ph::before, .zv .vis.has-photo .ph::after{display:none}
.zv .vis.has-photo .ph img{border-radius:50%; object-position:50% 18%}
.zv .vis.has-photo .seal{position:static; width:auto; box-shadow:none; background:rgba(255,255,255,.07); color:var(--on-hero); border:1px solid var(--hero-line); justify-content:flex-start}
 }
@media (max-width:640px){.zv .logo{height:46px}
.zv .top .wrap{min-height:68px}
 }
.zv .ico{display:grid; place-items:center; width:44px; height:44px; border-radius:12px; flex:none; color:var(--brand); background:color-mix(in srgb, var(--brand) 11%, transparent)}
.zv .ico svg{width:22px; height:22px}
.zv .tlist li{display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; align-items:start}
.zv .tlist .ico{display:grid; max-width:none; color:var(--hero-acc); background:rgba(92,198,240,.12); margin-top:2px}
.zv .igrid .ico{margin-bottom:16px}
.zv .sup a .ico{margin-bottom:8px}
.zv .sup-ill{display:block; width:100%; max-width:220px; height:auto; margin-top:30px}
@media (max-width:860px){.zv .sup-ill{max-width:240px}
 }
.zv .agency{position:relative; overflow:hidden; color:var(--on-hero); background:linear-gradient(135deg,var(--h1c) 0%,var(--h2c) 100%); padding-block:clamp(64px,8vw,112px)}
.zv .agency .ag-sph{position:absolute; right:-6%; top:50%; width:min(560px,60vw); transform:translateY(-50%); opacity:.07; pointer-events:none}
.zv .agency .ag{position:relative; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:clamp(36px,6vw,96px); align-items:center}
.zv .agency .eyebrow{color:var(--hero-acc)}
.zv .agency h2{margin-top:18px; font-size:clamp(2.1rem,4.2vw,3.4rem); color:#fff; max-width:18ch}
.zv .ag-lead{margin-top:18px; max-width:52ch; font-size:1.06rem; color:var(--on-hero-muted)}
@media (max-width:860px){.zv .agency .ag{grid-template-columns:minmax(0,1fr)}
 }
.zv .ag-svc{list-style:none; margin:0; padding:0; border-top:1px solid var(--hero-line)}
.zv .ag-svc li{display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; align-items:center; padding:20px 0; border-bottom:1px solid var(--hero-line)}
.zv .ag-svc .ico{color:var(--hero-acc); background:rgba(92,198,240,.12)}
.zv .ag-svc b{display:block; font:700 1.08rem/1.3 var(--body); color:#fff}
.zv .ag-svc span:not(.ico){display:block; margin-top:3px; font-size:14.5px; color:var(--on-hero-muted)}
.zv .status{margin-top:18px}
.zv .allext{display:inline-block; margin-top:14px; font-size:14.5px; font-weight:600; color:var(--hero-acc); text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s}
.zv .allext:hover{border-bottom-color:var(--hero-acc)}
.zv .wa{width:56px; height:56px; min-height:56px; padding:0; gap:0; justify-content:center; overflow:hidden; background:#1FAF5A; box-shadow:0 12px 28px -10px rgba(6,20,38,.55), 0 0 0 1px rgba(255,255,255,.12) inset; transition:background .2s, box-shadow .2s}
.zv .wa svg{width:28px; height:28px}
.zv .wa span{max-width:0; opacity:0; white-space:nowrap; transition:max-width .25s ease, opacity .2s ease}
.zv .wa:hover, .zv .wa:focus-visible{width:auto; padding:0 22px 0 18px; gap:10px; filter:none; background:#189A4E}
.zv .wa:hover span, .zv .wa:focus-visible span{max-width:140px; opacity:1}
@media (max-width:420px){.zv .wa{padding:0; width:52px; height:52px; min-height:52px}
 }
@media (max-width:960px){.zv .vis.has-photo .ph{overflow:hidden; border-radius:50%}
.zv .vis.has-photo .ph img{transform:scale(2.2); transform-origin:62% 17%; object-position:50% 0%; box-shadow:none}
 }
@media (min-width:961px) and (prefers-reduced-motion:no-preference){.zv .vis.has-photo{perspective:1100px}
.zv .vis.has-photo .ph{transform-style:preserve-3d; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); will-change:transform}
.zv .vis.has-photo .ph img{transform:translate3d(var(--px,0px),var(--py,0px),0) scale(var(--sc,1)); transition:transform 1.4s cubic-bezier(.2,.6,.2,1)}
.zv .vis.has-photo .ph::before{transform:translate3d(calc(var(--px,0px) * -1.6),calc(var(--py,0px) * -1.6),0); transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.zv .vis.has-photo .seal{transform:translate3d(calc(var(--px,0px) * 1.2),calc(var(--py,0px) * 1.2),30px)}
.zv .vis.has-photo.hov .ph img{--sc:1.015; box-shadow:0 50px 80px -30px rgba(0,0,0,.75)}
.zv .vis.has-photo:not(.hov) .ph img{animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1)} 50%{transform:scale(1.012)}}

}
.zv .btn-ghost{background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.28)}
.zv .btn-ghost:hover{background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.5); transform:translateY(-1px)}
.zv .hero-bg::after, .zv .transfer::before, .zv .agency::before{content:""; position:absolute; inset:0; pointer-events:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='square'%3E%3Cpath d='M48 6 90 48 48 90 6 48Z'/%3E%3Cpath d='M48 24 72 48 48 72 24 48Z'/%3E%3Cpath d='M48 40 56 48 48 56 40 48Z' fill='white' stroke='none'/%3E%3Cpath d='M0 0 6 6M96 0 90 6M0 96 6 90M96 96 90 90'/%3E%3Cpath d='M0 48h6M90 48h6M48 0v6M48 90v6'/%3E%3Ccircle cx='20' cy='20' r='1.6' fill='white' stroke='none'/%3E%3Ccircle cx='76' cy='20' r='1.6' fill='white' stroke='none'/%3E%3Ccircle cx='20' cy='76' r='1.6' fill='white' stroke='none'/%3E%3Ccircle cx='76' cy='76' r='1.6' fill='white' stroke='none'/%3E%3C/svg%3E") 0 0/96px 96px; opacity:.07}
.zv .hero-bg::after{-webkit-mask-image:linear-gradient(100deg,transparent 18%,#000 62%); mask-image:linear-gradient(100deg,transparent 18%,#000 62%)}
.zv .transfer::before, .zv .agency::before{opacity:.045; -webkit-mask-image:linear-gradient(260deg,transparent 10%,#000 80%); mask-image:linear-gradient(260deg,transparent 10%,#000 80%)}
.zv .transfer>*, .zv .agency>*{position:relative}
@media (min-width:961px){.zv .vis{aspect-ratio:1/1.22}
.zv .vis.has-photo .ph{width:100%; height:100%; right:0}
.zv .vis.has-photo .ph::before{display:none}
.zv .vis.has-photo .ph img{border-radius:0; box-shadow:none; object-position:50% 0%; background:transparent; filter:drop-shadow(0 24px 40px rgba(0,0,0,.35));
  -webkit-mask-image:linear-gradient(180deg,#000 80%,transparent 99%); mask-image:linear-gradient(180deg,#000 80%,transparent 99%)}
.zv .vis.has-photo .ph::after{display:none}
.zv .vis.has-photo .seal{left:16%; width:84%; bottom:6px}
.zv .vis.has-photo.hov .ph img{box-shadow:none}

}
@media (max-width:960px){.zv .vis.has-photo .ph{background:radial-gradient(circle at 60% 30%,#0A8FC4,#0C2D4E 75%)}
.zv .vis.has-photo .ph img{transform-origin:66% 14%; transform:scale(2.6); background:transparent}
 }


/* --- intégration WHMCS (Twenty-One) : la page d'accueil remplace l'en-tête et le pied de page du thème --- */
body.zv-home{background:var(--bg,#fff)}
body.zv-home #header,body.zv-home .master-breadcrumb,body.zv-home #footer,body.zv-home #main-body{display:none!important}
html{scroll-behavior:smooth}
.zv{display:block;width:100%;overflow-x:clip;font-family:var(--body,'Manrope',system-ui,sans-serif)}
.zv a{text-decoration:none}
.zv *,.zv *::before,.zv *::after{box-sizing:border-box}

/* correctifs d'intégration Twenty-One */
#fullpage-overlay.w-hidden{display:none!important}
body.zv-home #frmDomainHomepage{display:none!important}
body.zv-home #main-body{display:block!important;padding:0!important;margin:0!important;background:transparent!important}
body.zv-home #main-body>.container{max-width:none!important;width:100%!important;padding:0!important}
body.zv-home #main-body .row{margin:0!important}
body.zv-home #main-body .primary-content{padding:0!important;flex:0 0 100%;max-width:100%}

/* ===== Charte ZEPINTEL pour les pages WHMCS (panier, connexion, espace client) ===== */
body:not(.zv-home){--zv-navy:#0C2D4E;--zv-deep:#061426;--zv-brand:#0A8FC4;--zv-ink:#0B2036;--zv-bg:#F5F9FC;--zv-line:#DCE6EE;
  font-family:'Manrope',-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--zv-ink);background:var(--zv-bg)}
body:not(.zv-home) h1,body:not(.zv-home) .header-lined h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.01em;color:var(--zv-ink)}
body:not(.zv-home) a{color:var(--zv-brand)}
body:not(.zv-home) a:hover{color:var(--zv-navy)}
/* en-tête et menu */
body:not(.zv-home) #header{background:#fff;box-shadow:0 1px 0 var(--zv-line)}
body:not(.zv-home) #header .navbar{background:#fff}
body:not(.zv-home) .navbar-light .navbar-nav .nav-link,body:not(.zv-home) #main-menu a{color:#34506B;font-weight:600}
body:not(.zv-home) .navbar-light .navbar-nav .nav-link:hover,body:not(.zv-home) #main-menu a:hover{color:var(--zv-brand)}
body:not(.zv-home) .master-breadcrumb{background:#EAF2F8;border:0}
body:not(.zv-home) .master-breadcrumb .breadcrumb{background:transparent}
/* boutons : marine, un seul accent jaune réservé à la recherche d'accueil */
body:not(.zv-home) .btn-primary,body:not(.zv-home) .btn-success,body:not(.zv-home) .btn-info{background:var(--zv-navy);border-color:var(--zv-navy);color:#fff;border-radius:10px;font-weight:700}
body:not(.zv-home) .btn-primary:hover,body:not(.zv-home) .btn-success:hover,body:not(.zv-home) .btn-info:hover,body:not(.zv-home) .btn-primary:focus{background:var(--zv-brand);border-color:var(--zv-brand);color:#fff}
body:not(.zv-home) .btn-default,body:not(.zv-home) .btn-secondary{border-radius:10px}
/* bannière de recherche de domaine du panier */
body:not(.zv-home) .domain-checker-container,body:not(.zv-home) .domain-checker-bg{background:linear-gradient(135deg,#061426 0%,#0C2D4E 100%)!important;border-radius:18px}
body:not(.zv-home) .domain-checker-container .domain-checker-bg{background:transparent!important}
body:not(.zv-home) .domain-checker-container .input-group{background:#fff;border-radius:14px;padding:8px}
body:not(.zv-home) .domain-checker-container .btn{background:var(--zv-navy);border-radius:10px}
/* menu latéral, cartes, étiquettes */
body:not(.zv-home) .card,body:not(.zv-home) .list-group{border-radius:14px;border-color:var(--zv-line)}
body:not(.zv-home) .list-group-item.active,body:not(.zv-home) .sidebar .list-group-item.active{background:var(--zv-navy);border-color:var(--zv-navy);color:#fff}
body:not(.zv-home) .card-sidebar .card-header,body:not(.zv-home) .card-header{background:#fff;border-color:var(--zv-line)}
body:not(.zv-home) .form-control{border-radius:10px;border-color:#C9D8E4}
body:not(.zv-home) .form-control:focus{border-color:var(--zv-brand);box-shadow:0 0 0 3px rgba(10,143,196,.18)}
body:not(.zv-home) .nav-tabs .nav-link.active{border-bottom:3px solid var(--zv-brand);color:var(--zv-ink)}
body:not(.zv-home) .text-success,body:not(.zv-home) .domain-available{color:#0B7A4B}
/* pied de page */
body:not(.zv-home) #footer,body:not(.zv-home) .footer{background:#061426;color:#A9BED2;border:0}
body:not(.zv-home) #footer a,body:not(.zv-home) .footer a{color:#CFE2F2}

/* retouches panier */
body:not(.zv-home) .domain-checker-container .btn{white-space:nowrap;min-width:150px;padding-left:22px;padding-right:22px}
body:not(.zv-home) .domain-checker-container .input-group-append{flex:0 0 auto}
body:not(.zv-home) .badge-success,body:not(.zv-home) .btn-success.btn-sm,body:not(.zv-home) .domain-pricing .tld-filters .badge,body:not(.zv-home) .tld-filters .badge{background:#E3F2FA!important;color:#0C2D4E!important;border:1px solid #BFE0F0}
body:not(.zv-home) .tld-filters .badge.active,body:not(.zv-home) .tld-filters .badge:hover{background:#0C2D4E!important;color:#fff!important}

/* bannière de recherche : compacte, marine, motif africain, titre, bouton jaune */
body:not(.zv-home) .domain-checker-container{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96' fill='none' stroke='white' stroke-opacity='.09' stroke-width='1.4'%3E%3Cpath d='M48 6 90 48 48 90 6 48Z'/%3E%3Cpath d='M48 24 72 48 48 72 24 48Z'/%3E%3Cpath d='M48 40 56 48 48 56 40 48Z' fill='white' fill-opacity='.09' stroke='none'/%3E%3Cpath d='M0 0 6 6M96 0 90 6M0 96 6 90M96 96 90 90M0 48h6M90 48h6M48 0v6M48 90v6'/%3E%3Ccircle cx='20' cy='20' r='1.6' fill='white' fill-opacity='.09' stroke='none'/%3E%3Ccircle cx='76' cy='20' r='1.6' fill='white' fill-opacity='.09' stroke='none'/%3E%3Ccircle cx='20' cy='76' r='1.6' fill='white' fill-opacity='.09' stroke='none'/%3E%3Ccircle cx='76' cy='76' r='1.6' fill='white' fill-opacity='.09' stroke='none'/%3E%3C/svg%3E") 0 0/96px 96px,radial-gradient(520px 260px at 85% 0%,rgba(10,143,196,.35),transparent 70%),linear-gradient(135deg,#061426 0%,#0C2D4E 100%)!important;border-radius:18px;overflow:hidden}
body:not(.zv-home) .domain-checker-container .domain-checker-bg{background:transparent!important;padding:34px 16px 38px!important;margin:0!important}
body:not(.zv-home) .domain-checker-container .domain-checker-bg::before{content:"Trouvez votre nom de domaine en .bf";display:block;text-align:center;font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.1;color:#fff;margin-bottom:20px}
body:not(.zv-home) .domain-checker-container .btn{background:#F6C21A!important;border-color:#F6C21A!important;color:#2B2100!important;font-weight:800}
body:not(.zv-home) .domain-checker-container .btn:hover{background:#FFD23F!important;border-color:#FFD23F!important}

/* espace entre le champ et le bouton de la bannière */
body:not(.zv-home) .domain-checker-container .input-group{display:flex;flex-wrap:nowrap;gap:12px;align-items:stretch}
body:not(.zv-home) .domain-checker-container .input-group .form-control{border-radius:10px!important;flex:1 1 auto;min-width:0}
body:not(.zv-home) .domain-checker-container .input-group-append{margin-left:0!important}
body:not(.zv-home) .domain-checker-container .input-group-append .btn{border-radius:10px!important;height:100%}

/* ===== En-tête ZEPINTEL (pages WHMCS) : une seule ligne sur grand écran, collant, logo horizontal ===== */
body:not(.zv-home) #header{position:sticky;top:0;z-index:1030;background:#fff;box-shadow:0 1px 0 #DCE6EE,0 8px 24px -18px rgba(11,32,54,.35)}
body:not(.zv-home) #header .navbar{padding-top:0;padding-bottom:0;background:transparent}
body:not(.zv-home) #header .navbar-brand{display:block;width:176px;height:56px;margin:10px 0;padding:0;background:url(../img/logo-light.png) left center/contain no-repeat}
body:not(.zv-home) #header .navbar-brand img{display:none}
body:not(.zv-home) #header .search .form-control{border-radius:0 999px 999px 0;border-color:#DCE6EE;background:#F5F9FC;height:42px;font-size:14px}
body:not(.zv-home) #header .search .btn{border-radius:999px 0 0 999px;border-color:#DCE6EE;background:#F5F9FC;height:42px}
body:not(.zv-home) #header .cart-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid #DCE6EE;background:#F5F9FC;color:#0C2D4E;padding:0}
body:not(.zv-home) #header .cart-btn .badge{position:absolute;top:-4px;right:-4px;background:#0A8FC4;color:#fff;border-radius:999px}
body:not(.zv-home) #header .main-navbar-wrapper{background:transparent}
body:not(.zv-home) #nav>li>a.nav-link,body:not(.zv-home) #nav>li>a{white-space:nowrap;position:relative;font-weight:600;font-size:15px;color:#34506B;padding:.5rem .9rem!important}
body:not(.zv-home) #nav>li>a::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:2px;height:2px;background:#0A8FC4;transform:scaleX(0);transform-origin:left;transition:transform .25s}
body:not(.zv-home) #nav>li>a:hover::after,body:not(.zv-home) #nav>li.active>a::after{transform:scaleX(1)}
body:not(.zv-home) #nav>li>a:hover{color:#0C2D4E}
body:not(.zv-home) #Secondary_Navbar-Account>a{white-space:nowrap;background:#0C2D4E;color:#fff!important;border-radius:10px;padding:.5rem 1.1rem!important}
body:not(.zv-home) #Secondary_Navbar-Account>a::after{display:none}
body:not(.zv-home) #Secondary_Navbar-Account>a:hover{background:#0A8FC4}
@media (min-width:1200px){
 body:not(.zv-home) #header{display:flex;align-items:center;gap:20px;padding-inline:max(24px,calc((100% - 1200px) / 2))}
 body:not(.zv-home) #header>.navbar,body:not(.zv-home) #header>.navbar>.container{display:contents}
 body:not(.zv-home) #header .navbar-brand{order:1;flex:none}
 body:not(.zv-home) #header .main-navbar-wrapper{order:2;flex:1 1 auto;display:flex;padding:0}
 body:not(.zv-home) #header .main-navbar-wrapper>.container{max-width:none;padding:0}
 body:not(.zv-home) #header form.form-inline{order:3;margin:0 0 0 auto}
 body:not(.zv-home) #header .toolbar{order:4;margin:0}
 body:not(.zv-home) #header .search{width:230px}
}
@media (max-width:1199.98px){
 body:not(.zv-home) #header .navbar-brand{width:150px;height:48px}
}

/* ===== Pied de page ZEPINTEL (contenu injecté par includes/hooks/zepintel_footer.php) ===== */
body:not(.zv-home) #footer{background:linear-gradient(180deg,#0C2D4E 0%,#061426 100%);color:#B7C9DA;padding:0;margin-top:56px;border:0;position:relative}
body:not(.zv-home) #footer .container>*:not(.zv-fcard):not(ul.list-inline){display:none!important}
body:not(.zv-home) #footer .container{position:relative;padding-top:48px;padding-bottom:30px}
body:not(.zv-home) #footer ul.list-inline{position:absolute;bottom:20px;right:15px;margin:0!important;float:none!important}
body:not(.zv-home) #footer .btn{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px}
body:not(.zv-home) #footer .btn:hover{background:rgba(255,255,255,.16)}
.zv-fcard{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:32px 40px;align-items:start;text-align:left}
.zv-fcard .zv-flogo{display:block;width:176px;height:54px;background:url(../img/logo-dark.png) left center/contain no-repeat;margin-bottom:14px}
.zv-fcard p{margin:0;font-size:14px;line-height:1.6;color:#A9BED2;max-width:34ch}
.zv-fcard h4{margin:0 0 10px;font:700 11px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#7FA3C2}
.zv-fcard a{display:block;color:#fff!important;font-weight:600;text-decoration:none;padding:3px 0}
.zv-fcard a:hover{color:#5CC6F0!important}
.zv-fcard span{display:block;color:#fff;font-weight:600;padding:3px 0}
.zv-fbase{grid-column:1/-1;padding-right:170px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px;font-size:13px;color:#8EA7BF;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media (max-width:860px){.zv-fcard{grid-template-columns:1fr 1fr}.zv-fcard>div:first-child{grid-column:1/-1}body:not(.zv-home) #footer ul.list-inline{position:static;margin:18px 0 0!important}}
@media (min-width:1200px) and (max-width:1499.98px){ body:not(.zv-home) #header form.form-inline{display:none!important} body:not(.zv-home) #header .toolbar{margin-left:auto} }

/* ===== retouches : menu, fil d'Ariane, menu latéral ===== */
/* un seul trait sous les liens du menu (le nôtre) */
body:not(.zv-home) #header a,body:not(.zv-home) #header a:hover,body:not(.zv-home) #nav a,body:not(.zv-home) #nav a:hover{text-decoration:none!important}
body:not(.zv-home) #nav>li>a,body:not(.zv-home) #nav>li>a:hover,body:not(.zv-home) #nav>li>a:focus,body:not(.zv-home) #nav>li.active>a{border:0!important;box-shadow:none!important;background-image:none!important}
body:not(.zv-home) #nav>li>a::before{display:none!important}
body:not(.zv-home) #nav>li.dropdown>a::after{display:none!important}
body:not(.zv-home) #nav>li.dropdown>a.dropdown-toggle{padding-right:1.4rem!important}
/* alignement de l'en-tête sur le contenu */
@media (min-width:1200px){ body:not(.zv-home) #header{padding-inline:max(15px,calc((100% - 1140px) / 2 + 15px))} }
/* fil d'Ariane discret */
body:not(.zv-home) .master-breadcrumb{background:transparent!important;padding:14px 0 0!important}
body:not(.zv-home) .master-breadcrumb .breadcrumb{padding:0;margin:0;font-size:13px;color:#6B8299}
body:not(.zv-home) .master-breadcrumb .breadcrumb-item a{color:#6B8299}
body:not(.zv-home) .master-breadcrumb .breadcrumb-item.active{color:#0C2D4E;font-weight:600}
/* menu latéral "Actions" */
body:not(.zv-home) .card-sidebar{background:#fff;border:1px solid #DCE6EE;border-radius:16px;padding:6px 0 10px;box-shadow:0 14px 34px -26px rgba(11,32,54,.45);overflow:hidden}
body:not(.zv-home) .card-sidebar .card-header{background:transparent!important;border:0!important;padding:14px 20px 6px}
body:not(.zv-home) .card-sidebar .card-title{margin:0;font:700 11px/1.2 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#7A92A8}
body:not(.zv-home) .card-sidebar .card-title i,body:not(.zv-home) .card-sidebar .card-title .fas,body:not(.zv-home) .card-sidebar .card-minimise{display:none!important}
body:not(.zv-home) .card-sidebar .list-group{border:0;border-radius:0;padding:0 10px}
body:not(.zv-home) .card-sidebar .list-group-item{border:0!important;border-radius:10px!important;margin:2px 0;padding:11px 14px;color:#34506B;font-weight:600;background:transparent;display:flex;align-items:center;gap:10px}
body:not(.zv-home) .card-sidebar .list-group-item i,body:not(.zv-home) .card-sidebar .list-group-item .fas,body:not(.zv-home) .card-sidebar .list-group-item .far{color:#0A8FC4;width:18px;text-align:center}
body:not(.zv-home) .card-sidebar .list-group-item:hover{background:#EAF4FA;color:#0C2D4E}
body:not(.zv-home) .card-sidebar .list-group-item.active{background:#0C2D4E!important;color:#fff!important}
body:not(.zv-home) .card-sidebar .list-group-item.active i,body:not(.zv-home) .card-sidebar .list-group-item.active .fas{color:#5CC6F0}

/* zv-sobre */
.zv .vis .sph{display:none}
.zv .vis .seal,.zv .vis .ph{display:none!important}
.zv .mn{position:relative; width:100%; aspect-ratio:500/430; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px}
.zv .mn-trame{position:absolute; inset:0; opacity:.09; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpolygon points='18,4 32,18 18,32 4,18' fill='none' stroke='%23F3E8D0' stroke-width='1.2'/%3E%3Cpolygon points='18,13 23,18 18,23 13,18' fill='%23F6C21A'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 50%,#000 20%,transparent 75%); mask-image:radial-gradient(ellipse 60% 55% at 50% 50%,#000 20%,transparent 75%)}
.zv .mn-text{position:relative; width:100%; text-align:center; white-space:nowrap; font:400 84px/1.05 "Instrument Serif","Iowan Old Style","Palatino Linotype",Georgia,serif; color:#F7F2E6; letter-spacing:-.015em; text-shadow:0 0 40px rgba(92,198,240,.25)}
.zv .mn-text #mnname{display:inline; transition:opacity .35s ease}
.zv .mn-text #mnname.mute{color:rgba(247,242,230,.4)}
.zv .mn-text #mnname.fade{opacity:0}
.zv .mn-text em{font-style:italic; color:#F6C21A; margin-left:.03em}
.zv .mn-caret{display:inline-block; width:.05em; height:.78em; margin-left:.08em; background:#F6C21A; vertical-align:-.06em; border-radius:2px}
.zv .mn-rule{position:relative; width:64px; height:2px; background:linear-gradient(90deg,transparent,#F6C21A,transparent)}
.zv .mn-tag{position:relative; margin:0; text-align:center; font:600 13px/1.6 "Manrope","Helvetica Neue",Arial,sans-serif; color:#A9C2D9}
.zv .mn-tag b{display:block; font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:10px; color:#5CC6F0}
@media (prefers-reduced-motion:no-preference){
  .zv .mn-text #mnname.paint{animation:mnpaint .8s cubic-bezier(.3,.7,.2,1)}
  @keyframes mnpaint{from{clip-path:inset(0 100% 0 0)} to{clip-path:inset(0 0 0 0)}}
  .zv .mn-caret{animation:mnblink 1.1s steps(1) infinite}
  @keyframes mnblink{50%{opacity:0}}
}

/* zv-map : carte animée du Burkina (hero) */
.zv .hgrid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.zv .vis{position:relative; justify-self:center; width:min(100%,620px); aspect-ratio:auto!important; perspective:1100px}
.zv .vis .sph{display:none}
.zv .mapbox{position:relative; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .5s cubic-bezier(.2,.7,.2,1); will-change:transform}
.zv .bfmap{display:block; width:100%; height:auto; overflow:visible; animation:bffloat 9s ease-in-out infinite}
@keyframes bffloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.zv .bf-grid path{fill:none; stroke:rgba(92,198,240,.10); stroke-width:1; stroke-dasharray:2 6}
.zv .bf-fill{fill:url(#bfg); opacity:0; animation:bfin 1.4s 1.1s ease forwards}
.zv .bf-dots{opacity:.32}
.zv .bf-scan{animation:bfscan 5.5s 2s linear infinite}
@keyframes bfscan{from{transform:translateY(0)}to{transform:translateY(540px)}}
.zv .bf-edge{fill:none; stroke:#5CC6F0; stroke-width:1.7; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; animation:bfdraw 2.4s .2s cubic-bezier(.45,0,.2,1) forwards}
@keyframes bfdraw{to{stroke-dashoffset:0}}
@keyframes bfin{to{opacity:1}}
.zv .bf-arc{fill:none; stroke:rgba(92,198,240,.5); stroke-width:1; stroke-dasharray:3 5; animation:bfdash 2.2s linear infinite}
@keyframes bfdash{to{stroke-dashoffset:-16}}
.zv .bf-pk{fill:#fff; filter:drop-shadow(0 0 4px #5CC6F0)}
.zv .bf-nd{fill:#5CC6F0; transform-box:fill-box; transform-origin:center; animation:bfnd 2.8s ease-in-out infinite}
@keyframes bfnd{0%,100%{transform:scale(1); opacity:.9}50%{transform:scale(1.7); opacity:.5}}
.zv .bf-cap{fill:#F6C21A; filter:drop-shadow(0 0 8px #F6C21A)}
.zv .bf-rg{fill:none; stroke:#F6C21A; stroke-width:1.2; transform-box:fill-box; transform-origin:center; animation:bfrg 4.2s ease-out infinite}
@keyframes bfrg{0%{transform:scale(1); opacity:.8}100%{transform:scale(12); opacity:0}}
.zv .bf-logo{opacity:0; animation:bfin 1.2s 1.2s ease forwards; filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}
.zv .bf-city{opacity:0; transition:opacity .9s ease}
.zv .bf-city.on{opacity:1}
.zv .bf-lbl{font:700 8px/1 "Manrope",Arial,sans-serif; letter-spacing:.14em; fill:#EAF8FF; paint-order:stroke; stroke:rgba(7,20,38,.75); stroke-width:3px}
.zv .bf-lbl.bf-main{font-size:9px; fill:#F6C21A}
.zv .bf-chip{position:absolute; right:0; bottom:9%; width:min(66%,330px); display:flex; align-items:center; gap:12px; padding:12px 22px 12px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.2); background:rgba(8,28,50,.62); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); box-shadow:0 18px 40px -16px rgba(0,0,0,.7), inset 0 0 0 1px rgba(92,198,240,.08)}
.zv .bf-dot{flex:none; width:9px; height:9px; border-radius:50%; background:#2FD184; box-shadow:0 0 0 0 rgba(47,209,132,.6); animation:bfping 2s infinite}
@keyframes bfping{70%{box-shadow:0 0 0 9px rgba(47,209,132,0)}100%{box-shadow:0 0 0 0 rgba(47,209,132,0)}}
.zv .bf-chip #mnbox{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font:700 22px/1.1 "Manrope","Helvetica Neue",Arial,sans-serif!important; color:#fff; min-width:0}
.zv .bf-chip #mnname{display:inline; transition:opacity .35s ease}
.zv .bf-chip #mnname.mute{color:rgba(238,245,251,.5)}
.zv .bf-chip #mnname.fade{opacity:0}
.zv .bf-chip em{font-style:normal; color:#F6C21A}
.zv .bf-caret{display:inline-block; width:2px; height:.9em; margin-left:3px; background:#F6C21A; vertical-align:-.12em; border-radius:2px; animation:bfblink 1.1s steps(1) infinite}
@keyframes bfblink{50%{opacity:0}}
@media (max-width:960px){
  .zv .hgrid{grid-template-columns:minmax(0,1fr)}
  .zv .vis{display:block!important; width:min(100%,400px); margin:14px auto 0}
  .zv .bf-chip{right:0; bottom:6%; width:min(78%,300px); padding:10px 16px 10px 14px}
  .zv .bf-chip #mnbox{font-size:18px!important}
}
@media (prefers-reduced-motion:reduce){
  .zv .bfmap,.zv .bf-scan,.zv .bf-arc,.zv .bf-nd,.zv .bf-rg,.zv .bf-dot,.zv .bf-caret{animation:none!important}
  .zv .bf-edge{stroke-dashoffset:0; animation:none}
  .zv .bf-fill,.zv .bf-logo,}
/* zv-btn : bouton Espace client, texte blanc en clair comme en sombre */
.zv .links .btn,.zv .links .btn:hover,.zv .links .btn:focus,.zv .links .btn:visited{background:#123F6B; border:1px solid rgba(255,255,255,.22); color:#fff!important}
.zv .links .btn:hover{background:#1A558F}
.zv .links .btn svg{color:#fff; stroke:#fff}

/* zv-tr */
.zv .trp{padding-block:clamp(48px,7vw,88px)}
.zv .trg{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,64px); align-items:start}
.zv .trp .back{display:inline-block; font:600 14px/1 var(--body); color:var(--muted); text-decoration:none; margin-bottom:26px}
.zv .trp .back:hover{color:var(--brand)}
.zv .trp h1{font-size:clamp(38px,5vw,60px); color:var(--h2c); margin:14px 0 16px}
.zv .trp .lead{color:var(--muted); max-width:52ch}
.zv .trp ol{list-style:none; margin:30px 0 0; padding:0; display:grid; gap:16px; counter-reset:s}
.zv .trp ol li{counter-increment:s; display:grid; grid-template-columns:34px 1fr; gap:14px; align-items:start}
.zv .trp ol li::before{content:counter(s); width:34px; height:34px; border-radius:50%; background:var(--sky); color:var(--brand); display:grid; place-items:center; font:800 14px/1 var(--body)}
.zv .trp ol b{display:block; color:var(--ink)} .zv .trp ol span{color:var(--muted); font-size:15px}
.zv .trcard{background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:clamp(22px,3vw,34px); box-shadow:var(--shadow)}
.zv .trcard label{display:block; font:700 13px/1 var(--body); color:var(--ink); margin:0 0 8px}
.zv .trcard .fr{margin-bottom:20px}
.zv .trcard .in{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:12px; background:var(--bg); overflow:hidden}
.zv .trcard .in:focus-within{border-color:var(--brand); box-shadow:0 0 0 3px rgba(10,143,196,.18)}
.zv .trcard input{flex:1; min-width:0; border:0; background:transparent; color:var(--ink); font:600 16px/1 var(--body); padding:16px 14px; outline:0}
.zv .trcard .sfx{padding-right:14px; font:800 16px/1 var(--body); color:var(--brand)}
.zv .trcard .hint{font-size:13px; color:var(--muted); margin-top:7px}
.zv .trcost{display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; background:var(--sky); border-radius:12px; padding:16px 18px; margin-bottom:20px}
.zv .trcost b{font:800 22px/1 var(--body); color:var(--ink)} .zv .trcost span{font-size:13px; color:var(--muted)}
.zv .trcard .btn{width:100%}
.zv .trcard .err{color:#C0392B; font-size:13px; margin-top:8px; min-height:1em}
.zv .trcard .note{font-size:13px; color:var(--muted); margin-top:16px; text-align:center}
@media (max-width:820px){.zv .trg{grid-template-columns:1fr}}

/* zv-compact */
.zv .hgrid > div:first-child{container-type:inline-size}
.zv .hero h1{margin-top:0; white-space:nowrap; font-size:clamp(1.3rem,2.6vw,2.5rem); font-size:min(6.1cqw,3.4rem)}
.zv .hero .lead{margin-top:16px}
.zv .heroend{position:relative; padding-bottom:clamp(22px,3vw,34px)}
.zv .heroend .badge{margin:0}
.zv .feat{padding:16px clamp(18px,2.6vw,26px); border-radius:16px; align-items:center}
.zv .feat .nm{font-size:clamp(2rem,3.4vw,2.6rem)}
.zv .feat .who{margin-top:4px; font-size:13.5px}
.zv .feat .pr b{font-size:clamp(2.1rem,3.6vw,2.8rem)}
.zv .feat .pr span{font-size:11.5px}
.zv .tier{grid-template-columns:150px minmax(0,1fr)}
.zv .tp{padding:12px 18px}
.zv .tp b{font-size:1.85rem}
.zv .tp span{margin-top:5px; font-size:10px}
.zv .tier ul{padding:4px 6px; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:0}
.zv .tier li{padding:8px 12px}
.zv .tier li b{font-size:1rem}
.zv .tier li span{margin-top:1px; font-size:12.5px; line-height:1.3}
@media (max-width:640px){.zv .tp{padding:10px 16px} .zv .tp b{font-size:1.7rem}}

/* --- mobile --- */
.zv section,.zv footer,.zv #accueil{scroll-margin-top:104px}
@media (max-width:820px){
  .zv .top .wrap{flex-wrap:wrap; min-height:0; padding-block:10px 0; gap:0 12px; row-gap:0}
  .zv .top .brand{order:1; margin-right:auto}
  .zv .top .logo{height:34px; width:auto}
  .zv .links{display:contents}
  .zv .links .btn{order:1; min-height:40px; padding:0 14px}
  .zv .top .wrap::after{content:""; order:2; flex-basis:100%; height:0}
  .zv .links a:not(.btn){order:3; display:inline-flex; align-items:center; justify-content:center; flex:1 1 auto; min-height:44px; padding:0 4px; font-size:13.5px; white-space:nowrap}
  .zv .links a:not(.btn)::after{bottom:4px}
}
@media (max-width:640px){
  .zv .links a[href="#etapes"]{display:none!important}
  .zv .bf-lbl{font-size:12px; stroke-width:4px}
  .zv .bf-lbl.bf-main{font-size:13px}
  .zv .hero h1{white-space:normal; font-size:clamp(2.2rem,10.4vw,2.9rem); line-height:1.04}
  .zv .hgrid{padding-block:28px 8px; gap:4px}
  .zv .hero .lead{font-size:16px; margin-top:14px}
  .zv .assure{gap:6px 18px}
  .zv .vis{margin-block:-6px -34px}
  .zv .mapbox{margin-inline:-6px}
  .zv .heroend{padding-bottom:22px}
  .zv .heroend .badge{font-size:12.5px}
  .zv section{padding-block:48px}
  .zv .eyebrow{line-height:1.4; align-items:flex-start}
  .zv .eyebrow::before{margin-top:.55em; flex:none}
  .zv .feat{flex-wrap:nowrap; padding:14px 16px}
  .zv .feat .nm{font-size:2rem}
  .zv .feat .tag{display:block; margin:6px 0 0; width:max-content}
  .zv .feat .pr b{font-size:2.1rem; white-space:nowrap}
  .zv .tier{grid-template-columns:minmax(0,1fr)}
  .zv .tp{flex-direction:row; justify-content:flex-start; align-items:baseline; gap:10px; padding:10px 16px; border-right:0; border-bottom:1px solid var(--line)}
  .zv .tp b{white-space:nowrap}
  .zv .tier ul{grid-template-columns:minmax(0,1fr); padding:4px 8px}
  .zv .tier li{padding:7px 8px; display:flex; gap:10px; align-items:baseline}
  .zv .tier li b{flex:none; min-width:74px}
  .zv .tier li span{margin:0; font-size:12.5px}
  .zv .steps{margin-top:26px; gap:0}
  .zv .step{display:grid; grid-template-columns:44px 1fr; column-gap:12px; padding-block:16px}
  .zv .step i{grid-row:1/3; font-size:3rem; margin:0}
  .zv .step p{margin-top:4px; font-size:14.5px}
  .zv .trp{padding-block:28px 40px}
  .zv .trp h1{font-size:clamp(2rem,9vw,2.6rem)}
  .zv .trcard{padding:20px 18px}
  .zv .btn{min-height:50px}
}

/* ===== zv-footer : bloc contact de l'accueil ===== */
.zv .ct-band{display:flex;align-items:center;justify-content:space-between;gap:28px 40px;flex-wrap:wrap;padding-block:48px 34px;border-bottom:1px solid rgba(255,255,255,.12)}
.zv .ct-copy{flex:1 1 360px;min-width:0}
.zv .ct-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 12px;font:800 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#4DB8E8}
.zv .ct-eyebrow:before{content:"";width:34px;height:2px;background:#4DB8E8}
.zv .ct-copy h2{font-family:var(--display,'Instrument Serif',Georgia,serif);font-weight:400;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.08;margin:0 0 10px;color:#fff}
.zv .ct-copy p:not(.ct-eyebrow){margin:0;color:var(--on-hero-muted);font-size:15.5px;max-width:52ch}
.zv .ct-actions{display:flex;gap:12px;flex-wrap:wrap}
.zv .ct-wa,.zv .ct-call{display:inline-flex;align-items:center;gap:12px;border-radius:14px;text-decoration:none;font-weight:800}
.zv .ct-wa{padding:13px 22px 13px 16px;background:#1FAF54;color:#fff;box-shadow:0 8px 22px rgba(31,175,84,.3);transition:transform .15s,background .15s}
.zv .ct-wa:hover{background:#18964a;transform:translateY(-1px)}
.zv .ct-wa svg{width:30px;height:30px;flex:none}
.zv .ct-wa span{display:flex;flex-direction:column;line-height:1.2}
.zv .ct-wa b{font-size:1.05rem}
.zv .ct-wa small{font-size:.88rem;font-weight:600;opacity:.92}
.zv .ct-call{padding:13px 22px;border:1.5px solid rgba(255,255,255,.55);color:#fff}
.zv .ct-call:hover{background:#fff;color:#0C2D4E}
.zv .ct-call svg{width:20px;height:20px}
.zv .cols a{color:#fff;text-decoration:none}
.zv .cols a:hover{color:#4DB8E8;text-decoration:underline}
.zv .cols dd{line-height:1.7}
.zv .foot{padding-block:34px 26px}
@media (max-width:640px){
  .zv .ct-band{padding-block:34px 26px}
  .zv .ct-actions{flex-direction:column;width:100%}
  .zv .ct-wa,.zv .ct-call{justify-content:center;width:100%}
}
.zv a.wa{transition:opacity .2s,transform .2s}
.zv a.wa.wa-off{opacity:0;pointer-events:none;transform:scale(.8)}

/* zv-client : espace client, en-tete sans debordement horizontal */
@media (min-width:1200px){
 body:not(.zv-home) #header{flex-wrap:wrap;row-gap:0}
 body:not(.zv-home) #header .topbar{order:-1;flex:0 0 100%;margin:8px 0 0;background:#0C2D4E;border-radius:10px;color:#fff;font-size:13px}
 body:not(.zv-home) #header .topbar .container{max-width:100%;padding:4px 12px}
 body:not(.zv-home) #header{gap:14px}
 body:not(.zv-home) #header .main-navbar-wrapper{min-width:0;flex:1 1 0}
 body:not(.zv-home) #header form.form-inline{display:none!important}
 body:not(.zv-home) #header .toolbar{margin-left:auto;flex:none}
 body:not(.zv-home) #nav>li>a.nav-link,body:not(.zv-home) #nav>li>a{padding:.5rem .65rem!important;font-size:14.5px}
}
@media (max-width:1199.98px){
 body:not(.zv-home) #header .topbar .d-flex{flex-wrap:wrap;gap:6px}
 body:not(.zv-home) #header .topbar .container{max-width:100%}
}
@media (max-width:767.98px){
 body:not(.zv-home){overflow-x:hidden}
 body:not(.zv-home) #main-body img{max-width:100%;height:auto}
 body:not(.zv-home) #main-body .table-responsive,body:not(.zv-home) #main-body .dataTables_wrapper{overflow-x:auto}
}

/* zv-client : badge panier propre */
body:not(.zv-home) #header .cart-btn{position:relative!important;overflow:visible!important}
body:not(.zv-home) #header .cart-btn .badge{position:absolute!important;top:-7px!important;right:-7px!important;min-width:19px;height:19px;line-height:15px;padding:0 5px!important;font-size:10.5px;font-weight:700;text-align:center;opacity:1!important;z-index:5!important;border:2px solid #fff;border-radius:999px;background:#0A8FC4;color:#fff;box-sizing:border-box}
body:not(.zv-home) #header .cart-btn .badge:empty,
body:not(.zv-home) #header .cart-btn #cartItemCount[data-zero]{display:none!important}

/* zv-client : zone captcha de la recherche (accueil) */
.zv .zv-capbox:empty,.zv .zv-capbox-in:empty{display:none}
.zv .zv-capbox{margin-top:10px;display:flex;justify-content:flex-start;color:#fff}
.zv .zv-capbox .row{margin:0}

/* zv-client : recherche de domaine (panier) sur mobile + bouton Ajouter */
body:not(.zv-home) .btn-add-to-cart{background:#0C2D4E!important;border-color:#0C2D4E!important;color:#fff!important;border-radius:10px;font-weight:700}
body:not(.zv-home) .btn-add-to-cart:hover{background:#12497a!important;border-color:#12497a!important}
@media (max-width:767px){
  body:not(.zv-home) .domain-checker-container .domain-checker-bg{padding:26px 14px 28px!important}
  body:not(.zv-home) .domain-checker-container .input-group,
  body:not(.zv-home) .domain-checker-container .input-group-box{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:10px!important;padding:10px!important;width:100%!important;max-width:100%!important}
  body:not(.zv-home) .domain-checker-container .input-group .form-control,
  body:not(.zv-home) .domain-checker-container .input-group #inputDomain{width:100%!important;flex:0 0 auto!important;height:52px!important;min-height:52px;font-size:16px;margin:0!important}
  body:not(.zv-home) .domain-checker-container .input-group-append,
  body:not(.zv-home) .domain-checker-container .input-group-btn{width:100%!important;flex:0 0 auto!important;margin:0!important}
  body:not(.zv-home) .domain-checker-container .input-group-append .btn,
  body:not(.zv-home) .domain-checker-container .domain-check-availability{width:100%!important;min-width:0!important;height:52px!important;padding:0 16px!important}
}

/* zv-client : resultat de recherche remonte (mobile) */
body:not(.zv-home) #DomainSearchResults{scroll-margin-top:84px}
@media (max-width:767px){
  body:has(.domain-checker-container):not(.zv-home) .sidebar-collapsed{display:none!important}
  body:not(.zv-home) .cart-body:has(.domain-checker-container)>p{display:none}
  body:not(.zv-home) .cart-body:has(.domain-checker-container) .header-lined{margin-bottom:12px}
  body:not(.zv-home) .domain-checker-container .domain-checker-bg::before{font-size:1.45rem;margin-bottom:12px}
  body:not(.zv-home) .domain-checker-container .domain-checker-bg{padding:18px 12px 20px!important}
}

/* zv-client : panneau Actions du panier toujours ouvert (le repli ne fonctionnait pas) */
body:not(.zv-home) .cart-sidebar .collapsable-card-body{display:block!important;height:auto!important;max-height:none!important;overflow:visible!important}
body:not(.zv-home) .cart-sidebar .card-minimise,body:not(.zv-home) .cart-sidebar .panel-minimise{display:none!important}
body:not(.zv-home) .cart-sidebar .card-header{pointer-events:none;cursor:default}
body:not(.zv-home) .cart-sidebar .card-sidebar .list-group-item{padding:.7rem 1rem;font-weight:600}

/* ===== zv-contact : page Nous contacter ===== */
.zc{max-width:960px;margin:0 auto;padding:8px 0 40px;color:#0B2036}
.zc *{box-sizing:border-box}
.zc-hero{padding:28px 0 10px}
.zc-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#0A8FC4}
.zc-eyebrow:before{content:"";width:34px;height:2px;background:#0A8FC4}
.zc h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(2.2rem,5.4vw,3.6rem);line-height:1.04;letter-spacing:-.01em;margin:0 0 14px;color:#0B2036}
.zc h1 em{font-style:italic;color:#0A8FC4}
.zc-lead{max-width:620px;font-size:1.08rem;line-height:1.6;color:#41546A;margin:0 0 22px}
.zc-cta{display:flex;flex-wrap:wrap;gap:12px}
.zc a.zc-wa{display:inline-flex;align-items:center;gap:14px;padding:14px 24px 14px 18px;border-radius:14px;background:#1FAF54;color:#fff;text-decoration:none;box-shadow:0 8px 22px rgba(31,175,84,.28);transition:transform .15s,box-shadow .15s,background .15s}
.zc a.zc-wa:hover{background:#18964a;color:#fff;transform:translateY(-1px)}
.zc a.zc-wa svg{width:32px;height:32px;flex:none}
.zc a.zc-wa span{display:flex;flex-direction:column;line-height:1.2}
.zc a.zc-wa b{font-size:1.1rem;font-weight:800}
.zc a.zc-wa small{font-size:.9rem;opacity:.92;font-weight:600}
.zc a.zc-call{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:14px;border:1.5px solid #0C2D4E;color:#0C2D4E;font-weight:800;text-decoration:none;background:#fff}
.zc a.zc-call:hover{background:#0C2D4E;color:#fff}
.zc a.zc-call svg{width:20px;height:20px}
.zc-note{margin:18px 0 0;padding:14px 18px;border-radius:12px;font-weight:600}
.zc-ok{background:#E8F6EC;color:#1B6B36;border:1px solid #BFE3CB}
.zc-err{background:#FDECEC;color:#A32626;border:1px solid #F3C4C4}
.zc-err ul{margin:0;padding-left:18px}
.zc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0}
.zc-card{background:#fff;border:1px solid #DCE6EE;border-radius:16px;padding:20px 22px;box-shadow:0 1px 2px rgba(12,45,78,.04)}
.zc-card h2{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5B6E82}
.zc-card p{margin:0 0 4px;font-size:1.05rem;font-weight:700;line-height:1.45;color:#0B2036;overflow-wrap:anywhere}
.zc-card a{color:#0C2D4E;text-decoration:none}
.zc-card a:hover{color:#0A8FC4}
.zc-card .zc-sub{font-size:.9rem;font-weight:500;color:#5B6E82;margin-top:6px}
.zc-faq{margin:10px 0 28px}
.zc-faq h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.9rem;margin:0 0 12px;color:#0B2036}
.zc details{background:#fff;border:1px solid #DCE6EE;border-radius:14px;margin-bottom:10px}
.zc summary{cursor:pointer;list-style:none;padding:16px 48px 16px 20px;font-weight:700;position:relative;color:#0B2036}
.zc summary::-webkit-details-marker{display:none}
.zc summary:after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:500;color:#0A8FC4;line-height:1}
.zc details[open]>summary:after{content:"\2212"}
.zc details>p{margin:0;padding:0 20px 18px;color:#41546A;line-height:1.6}
.zc-form{background:#F5F9FC!important;border-color:#C9D8E8!important}
.zc-form>summary{font-weight:800}
.zc-form>summary span{color:#0A8FC4;font-weight:800;margin-left:4px}
.zc-form form{padding:4px 20px 22px}
.zc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.zc-field{margin-bottom:14px;min-width:0}
.zc-field label{display:block;margin-bottom:6px;font-weight:700;font-size:.92rem}
.zc-field .form-control{width:100%;border:1px solid #C9D8E8;border-radius:10px;padding:12px 14px;font-size:16px;background:#fff}
.zc-field textarea.form-control{min-height:140px;resize:vertical}
.zc-cap{margin:6px 0 10px}
.zc .zc-send{min-width:200px;height:50px;font-size:1rem}
@media (max-width:767px){
  .zc-cards{grid-template-columns:1fr}
  .zc-row{grid-template-columns:1fr}
  .zc-cta{flex-direction:column}
  .zc a.zc-wa,.zc a.zc-call{justify-content:center;width:100%}
  .zc-hero{padding-top:12px}
  .zc .zc-send{width:100%}
}
