/* Housescanly — palette marine (navy) + accent ambre, typographies Sora (titres) et DM Sans (texte) */
:root{
  --navy:#1F3864; --blue:#1F4E79; --ink:#142033; --muted:#5b6a80; --line:#e1e7ef; --bg:#f4f6fa; --card:#fff;
  --accent:#F2A541; --accent-d:#d9871c; --ok:#1f8a5b; --mid:#a8700f; --bad:#c2412d;
  --ok-bg:#e3f4ec; --mid-bg:#fbf0d9; --bad-bg:#fbe5e1;
  --r:16px; --sh:0 10px 30px rgba(20,32,51,.08);
  --f-d:'Sora',system-ui,sans-serif; --f-b:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f-b);color:var(--ink);background:var(--bg);line-height:1.55;font-size:16px}
a{color:var(--blue)}
h1,h2,h3{font-family:var(--f-d);line-height:1.2;text-wrap:balance}
.wrap{max-width:1060px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
[hidden]{display:none!important}
body[data-view=landing] .only-country{display:none!important}
body[data-view=country] .only-landing{display:none!important}

/* En-tête */
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.topin{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:var(--f-d);font-size:21px;font-weight:600;letter-spacing:.2px}
.brand b{color:var(--accent);font-weight:800}
.logo-slot .logo{width:34px;height:34px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25))}
.logo-slot .logo path:first-child{fill:#fff}.logo-slot .logo path:nth-child(2){fill:var(--navy)}
.topright{display:flex;align-items:center;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:999px;font-size:14px}
.chip:hover{background:rgba(255,255,255,.18)}
.langbox select{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:7px 10px;font:inherit;font-size:14px}
.langbox option{color:var(--ink)}

/* Héros avec courbes de niveau façon carte */
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(1200px 500px at 85% -10%,#2c5d93 0%,transparent 60%),linear-gradient(160deg,#1F3864 0%,#173055 60%,#132846 100%)}
.contours{position:absolute;inset:0;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400' viewBox='0 0 600 400'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.2'%3E%3Cpath d='M-20 320C80 260 160 340 260 290S440 210 620 260'/%3E%3Cpath d='M-20 280C70 220 170 300 270 250S450 170 620 220'/%3E%3Cpath d='M-20 240C60 180 180 260 280 210S460 130 620 180'/%3E%3Cpath d='M-20 200C50 140 190 220 290 170S470 90 620 140'/%3E%3Cpath d='M-20 160C40 100 200 180 300 130S480 50 620 100'/%3E%3Cpath d='M-20 120C30 60 210 140 310 90S490 10 620 60'/%3E%3Cellipse cx='470' cy='300' rx='70' ry='34'/%3E%3Cellipse cx='470' cy='300' rx='42' ry='18'/%3E%3C/g%3E%3C/svg%3E");background-size:600px 400px}
.heroin{position:relative;padding-block:56px 72px}
.hero h1{font-size:clamp(28px,5vw,46px);margin:0 0 12px;max-width:820px;font-weight:700;letter-spacing:-.5px}
.lead{margin:0 0 26px;max-width:640px;color:#cfdcef;font-size:18px}
body[data-view=landing] .heroin{text-align:center;padding-block:64px 120px}
body[data-view=landing] .hero h1,body[data-view=landing] .lead{margin-left:auto;margin-right:auto}

/* Recherche */
.search{position:relative;max-width:680px}
.search input{width:100%;padding:18px 18px 18px 52px;font:inherit;font-size:17px;border-radius:14px;border:0;outline:none;background:#fff;color:var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.search input:focus-visible{box-shadow:0 0 0 4px rgba(242,165,65,.55),0 14px 40px rgba(0,0,0,.28)}
.sicon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:24px;height:24px;color:var(--accent-d);z-index:2}
.sugg{position:absolute;z-index:1200;left:0;right:0;top:calc(100% + 6px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.sg{display:block;width:100%;text-align:left;padding:13px 16px;background:none;border:0;border-bottom:1px solid var(--line);font:inherit;color:var(--ink);cursor:pointer}
.sg:hover,.sg.on,.sg:focus-visible{background:#eef3fb;outline:none}.sg.none{color:var(--muted);cursor:default}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;font-size:14px;color:#d9e4f4}
.chips span{border:1px solid rgba(255,255,255,.22);padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.05)}

/* Contenu */
main{padding-block:28px 64px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-bottom:18px;box-shadow:var(--sh)}
.card h2{font-size:20px;margin:0 0 14px;color:var(--navy)}
.note{font-size:14px;color:var(--muted)}
.small{font-size:13px;color:var(--muted)}

/* Drapeaux */
.pickcard{margin-top:-84px;position:relative;z-index:5;background:#fff;border-radius:22px;padding:26px;box-shadow:0 20px 50px rgba(20,32,51,.16)}
.pickcard h2{text-align:center;margin:0 0 20px;color:var(--navy);font-size:22px}
.flags{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.flagcard{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px 14px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);background:#fff;transition:transform .15s,box-shadow .15s,border-color .15s;text-align:center}
.flagcard:hover,.flagcard:focus-visible{transform:translateY(-3px);box-shadow:0 12px 24px rgba(20,32,51,.12);border-color:#c7d4e6;outline:none}
.flagbox{width:64px;height:48px;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.18);display:block}
.flagbox .fi{width:100%;height:100%;background-size:cover;display:block;line-height:48px}
.fc-name{font-weight:700;font-size:15px}
.lvl{font-size:11.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.lvl-full{background:#e6efff;color:#1F4E79}.lvl-advanced{background:#fff1dc;color:#8a5a0d}.lvl-standard{background:#eef1f5;color:#56657a}

/* Pays */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid2>.card{margin-bottom:0;min-width:0}
.grid2+.card{margin-top:18px}
.incl{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.incl li{display:flex;gap:10px;align-items:flex-start}
.incl .tick{flex:0 0 24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.incl .on .tick{background:var(--ok-bg);color:var(--ok)}.incl .off{color:#8a97a8}.incl .off .tick{background:#eef1f5;color:#8a97a8}
.incl small{display:block;font-size:12.5px}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;column-gap:12px}
.steps li::before{content:counter(s);grid-row:span 2;width:36px;height:36px;border-radius:12px;background:var(--navy);color:#fff;font-family:var(--f-d);font-weight:700;display:flex;align-items:center;justify-content:center}
.steps b{font-family:var(--f-d);font-size:15.5px}.steps span{color:var(--muted);font-size:14.5px}
.faq details{border-top:1px solid var(--line);padding:12px 0}.faq details:first-of-type{border-top:0}
.faq summary{cursor:pointer;font-weight:700;list-style:none}.faq summary::after{content:'+';float:right;color:var(--blue);font-weight:700}
.faq details[open] summary::after{content:'–'}.faq details p{margin:8px 0 0;color:var(--muted)}

/* Résultat */
.mapcard h2{font-size:19px}
#map{height:300px;border-radius:12px;margin-top:6px;background:#e8edf3}
.pin span{display:block;width:34px;height:34px;background:var(--accent);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.35)}
.loading{display:flex;align-items:center;gap:12px;justify-content:center;color:var(--muted);padding:34px}
.spin{width:18px;height:18px;border:3px solid #d6dfeb;border-top-color:var(--blue);border-radius:50%;display:inline-block;animation:sp 0.8s linear infinite;vertical-align:-3px;margin-right:4px}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:3s}.flagcard{transition:none}}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.tile{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:2px;background:#fbfcfe;position:relative;overflow:hidden}
.tile::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbd5e1}
.tile.t-ok::before{background:var(--ok)}.tile.t-mid::before{background:var(--accent)}.tile.t-bad::before{background:var(--bad)}
.tile .tl{font-size:13px;color:var(--muted)}.tile b{font-family:var(--f-d);font-size:28px;font-variant-numeric:tabular-nums}.tile b small{font-size:13px;color:var(--muted);font-weight:500}
.tile .tq{font-size:13px;font-weight:700}
.t-ok .tq,.g-ok{color:var(--ok)}.t-mid .tq,.g-mid{color:var(--mid)}.t-bad .tq,.g-bad{color:var(--bad)}
.tile.big{grid-column:span 2;background:linear-gradient(135deg,#1F3864,#1F4E79);color:#fff;border:0}
.tile.big::before{display:none}.tile.big .tl,.tile.big b small{color:#c9d6ea}.tile.big b{font-size:38px}.tile.big .tq{color:var(--accent)}
.warnline{margin:16px 0 0}
.lock{display:grid;overflow:hidden}
.lock>*{grid-area:1/1;min-width:0}
.lock .blur{filter:blur(6px);opacity:.55;user-select:none;pointer-events:none}
.lock .over{display:flex;align-items:center;justify-content:center;padding:8px 0;position:relative}
.cta{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;max-width:520px;width:100%;text-align:center;box-shadow:0 20px 50px rgba(20,32,51,.18)}
.cta h2{font-size:22px}
.cta ul{list-style:none;padding:0;margin:0 0 18px;text-align:left;display:grid;gap:6px;color:#33445b;font-size:15px}
.paybtns{display:grid;gap:10px}
.btn{background:var(--blue);color:#fff;border:0;padding:15px 22px;border-radius:12px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:filter .15s}
.btn:hover{filter:brightness(1.12)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.btn.alt{background:#fff;color:var(--ink);border:2px solid #26a17b}
.mine h2{font-size:18px}
.mineitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:11px 2px;font:inherit;color:var(--ink);cursor:pointer}
.mineitem:first-child{border-top:0}.mineitem span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mineitem small{color:var(--muted)}
.mineitem:hover span{color:var(--blue);text-decoration:underline}

/* Fenêtre modale */
.modal{position:fixed;inset:0;background:rgba(10,18,32,.6);display:flex;align-items:center;justify-content:center;z-index:3000;padding:16px}
.mbox{background:#fff;border-radius:18px;max-width:520px;width:100%;padding:24px;position:relative;max-height:92vh;overflow:auto}
.mbox h3{margin:0 0 4px;color:var(--navy);font-size:21px}
.mx{position:absolute;right:12px;top:8px;background:none;border:0;font-size:28px;color:var(--muted);cursor:pointer}
.net{margin:0 0 14px;color:#1a7a5c;font-weight:700;font-size:14px}
.usdt-grid{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.usdt-grid>div{min-width:0}
.qr{background:#fff;padding:6px;border:1px solid var(--line);border-radius:10px}
.usdt-grid label{display:block;font-size:12.5px;color:var(--muted);margin:2px 0 4px}
.copyrow{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.copyrow code{flex:1;min-width:0;background:#f2f5f9;border-radius:8px;padding:8px 10px;font-size:14px;overflow-wrap:anywhere}
.copyrow code.addr{font-size:12.5px}
.mini{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;cursor:pointer}
.warnbox{background:var(--mid-bg);color:#6b4a0c;border-radius:10px;padding:10px 12px;font-size:14px}
.status{font-weight:700}

/* Rapport (document) */
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--sh)}
.dochead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;border-bottom:3px solid var(--navy);padding-bottom:14px;margin-bottom:16px}
.brandbox{display:flex;align-items:center;gap:12px}.brandbox .logo{width:44px;height:44px}
.dbrand{font-family:var(--f-d);font-size:24px;font-weight:600;color:var(--navy)}.dbrand span{color:var(--blue);font-weight:800}
.dsub{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.refbox{display:flex;gap:20px;font-size:13px;flex-wrap:wrap}
.refbox span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.refbox b{font-variant-numeric:tabular-nums}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14.5px;margin-bottom:10px}
th,td{padding:8px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#eef3f9;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
td{font-variant-numeric:tabular-nums}
.idt td:first-child{width:28%;background:#f6f8fb}
.idt .fi{border-radius:2px}
.toc{border:1px solid var(--line);background:#f8fafd;border-radius:12px;padding:12px 16px;margin:16px 0;font-size:14.5px}
.toc ol{margin:6px 0 0;padding-left:22px;columns:2;column-gap:30px}
.sec{margin-top:24px}
.sec h2{background:var(--navy);color:#fff;font-size:15.5px;padding:9px 12px;margin:0 0 12px;text-transform:uppercase;letter-spacing:.04em;border-radius:8px}
.sec h2 .num{display:inline-block;background:#fff;color:var(--navy);min-width:24px;height:24px;line-height:24px;text-align:center;font-size:13px;border-radius:6px;margin-right:10px}
.sec h3{font-size:15px;margin:16px 0 6px;color:var(--blue)}
.src{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:6px}
.tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.tag.t-ok{background:var(--ok-bg);color:var(--ok)}.tag.t-mid{background:var(--mid-bg);color:var(--mid)}.tag.t-bad{background:var(--bad-bg);color:var(--bad)}.tag.t-na{background:#eef1f5;color:#56657a}
.glob{display:flex;align-items:center;gap:14px;border:2px solid var(--navy);border-radius:12px;padding:10px 14px;margin:12px 0;flex-wrap:wrap}
.glob span{font-weight:700;color:var(--navy);text-transform:uppercase;font-size:13px}.glob b{font-family:var(--f-d);font-size:28px}
.vig li,.qs li{margin-bottom:4px}
.legal{margin-top:26px;border:1px solid var(--line);background:#f8fafd;border-radius:12px;padding:12px;font-size:12.5px;color:var(--muted)}
.pdfbar{text-align:center;margin:16px 0}

/* Pied de page */
.foot{background:#13233f;color:#aebcd2;font-size:14px;padding-block:28px}
.foot nav{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.foot a{color:#e1e9f6}.foot p{margin:4px 0}

@media (max-width:720px){
  .grid2{grid-template-columns:1fr}.toc ol{columns:1}.doc{padding:18px}.tile.big{grid-column:span 1}
  .usdt-grid{grid-template-columns:1fr}.qr{justify-self:center}.pickcard{padding:18px;margin-top:-70px}
  .flags{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.brand{font-size:18px}.chip span:not(.fi){display:none}
}

/* Impression : le rapport seul, en A4 */
@media print{
  @page{size:A4;margin:12mm 13mm 15mm}
  body{background:#fff;font-size:11.5px}
  .top,.hero,.foot,.noprint,.mapcard,#countryInfo,.mine,.pickcard{display:none!important}
  main{padding:0}.doc{border:0;box-shadow:none;padding:0;border-radius:0}
  table{font-size:11px}th,td{padding:4px 6px}.sec{margin-top:14px}.sec h2{font-size:13px;padding:6px 10px}
  h2,h3,.dochead{break-after:avoid}tr,li,.glob,.idt,.toc,.legal{break-inside:avoid}.sec h2+*,.sec h3+*{break-before:avoid}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
