/* MyCarte NFC : bleu nuit, noir, or et blanc ivoire. Espaces de gestion lumineux, carte premium. Pas d'effet coûteux : dégradés et ombres simples. */
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(/fonts/poppins-600.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff2) format("woff2")}
:root{--navy:#0b1530;--navy2:#142358;--gold:#c9a227;--gold2:#a67c1a;--ivory:#f6f1e4;--ink:#101a33;--mute:#5b6580;--line:#e3dccb;--card:#fffdf7;--bad:#b42318;--ok:#0d7a4f;--r:14px;color-scheme:light}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.55;color:var(--ink);background:var(--ivory)}
img{max-width:100%}
a{color:var(--gold2)}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(26px,5.4vw,40px)}h2{font-size:clamp(21px,3.4vw,28px)}h3{font-size:16px}h4{font-size:14px;margin:.6em 0 .2em}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* boutons et champs */
.mc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--navy);background:var(--navy);color:#fff;font:600 14px/1 inherit;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s}
.mc-btn:hover{box-shadow:0 4px 14px rgba(11,21,48,.25)}.mc-btn:active{transform:translateY(1px)}
.mc-btn[disabled],.mc-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}
.mc-primary{background:linear-gradient(135deg,#e3c565,#b8902a);border-color:#a67c1a;color:#1a1304}
.mc-ghost{background:transparent;color:var(--navy)}
.mc-bad{background:var(--bad);border-color:var(--bad)}
.mc-small{min-height:38px;padding:0 14px;font-size:13px}
.mc-block{display:flex;width:100%;margin-top:14px}
.mc-link{background:none;border:0;padding:0;color:var(--gold2);text-decoration:underline;cursor:pointer;font:inherit}
input,select,textarea{width:100%;min-height:44px;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:inherit}
input[type=checkbox]{width:auto;min-height:0}input[type=color]{padding:2px;min-height:40px;cursor:pointer}input[type=range]{padding:0;min-height:30px}
label{display:block;font-weight:600;font-size:13px;margin:12px 0 4px}
.mc-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:12px 0}.mc-check input{margin-top:4px}
.mc-hint,.mc-note{color:var(--mute);font-size:13px}.mc-note{margin:.8em 0 0}
.mc-alert{padding:10px 14px;border-radius:10px;background:#fdecea;color:#7a1b12;border:1px solid #f4b9b1;margin:10px 0}
.mc-info{padding:10px 14px;border-radius:10px;background:#fbf4dc;color:#4d3c08;border:1px solid #ecdca0;margin:10px 0;font-size:13.5px}
.mc-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.mc-row2{grid-template-columns:1fr}}
.mc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}

/* site public */
.mc-site,.mc-studio-body{min-height:100vh}
.mc-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:5}
.mc-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:600;font-size:17px;margin-right:auto}.mc-brand b{color:#e3c565}
.mc-top .mc-btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);min-height:38px;padding:0 16px}
.mc-langs{display:flex;gap:2px}.mc-langs a{color:#cfd6ea;text-decoration:none;font-size:12px;padding:6px 8px;border-radius:8px}.mc-langs a[aria-current]{background:rgba(255,255,255,.14);color:#fff}
.mc-hero{background:radial-gradient(120% 120% at 80% 0%,#1a2c6b 0%,#0b1530 55%,#050a1c 100%);color:#fff;padding:40px 16px 56px}
.mc-hero h1{color:#fff}
.mc-hero-in{max-width:1040px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
@media(max-width:800px){.mc-hero-in{grid-template-columns:1fr}.mc-hero{padding-top:28px}}
.mc-lead{font-size:17px;color:#dfe4f3}.mc-hero .mc-note{color:#aeb8d8}.mc-hero .mc-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.mc-cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}
.mc-section{max-width:1040px;margin:auto;padding:36px 16px}
.mc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.mc-steps li{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.mc-step-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#e3c565;display:grid;place-items:center;font-weight:700}
.mc-steps p,.mc-card p{margin:0;color:var(--mute);font-size:14px}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.mc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.mc-honest{background:#fff;border:1px dashed var(--gold);border-radius:var(--r);padding:20px}
.mc-lead-dark{font-size:16px;color:#2b3552;max-width:720px}.mc-dl-steps{padding-left:20px;margin:10px 0 0;font-size:14px;color:#2b3552}.mc-sha{display:inline-block;word-break:break-all;font-size:11px}.mc-sep{border:0;border-top:1px solid var(--line);margin:22px 0}
.mc-narrow{max-width:640px;margin:0 auto;padding:28px 16px 48px}
.mc-auth{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.mc-legal p{color:#2b3552}
.mc-tablewrap{overflow-x:auto}.mc-table{width:100%;border-collapse:collapse;font-size:14px}.mc-table th,.mc-table td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.mc-table th{background:#efe8d4}
.mc-foot{background:var(--navy);color:#cfd6ea;padding:22px 16px;text-align:center;font-size:13px}.mc-foot a{color:#e3c565;margin:0 8px}.mc-foot p{margin:8px 0 0}

/* ===== Carte (face) ===== */
.mc-face{--mc-bg1:#101d46;--mc-bg2:#050a1c;--mc-ac:#d4af37;--mc-tx:#f6f1e4;--mc-on:#1a1304;--mc-font:Poppins,sans-serif;position:relative;width:100%;max-width:520px;aspect-ratio:1.586;margin:auto;border-radius:5% / 7.93%;overflow:hidden;color:var(--mc-tx);font-family:var(--mc-font);container-type:inline-size;box-shadow:0 14px 34px rgba(5,10,28,.38),0 2px 6px rgba(5,10,28,.25);text-align:left;line-height:1.2}
.mc-face-bg{position:absolute;inset:0;background:var(--mc-bg1)}
.mc-face-bg::after{content:"";position:absolute;inset:0;pointer-events:none}
.mc-face[data-style=gradient] .mc-face-bg,.mc-face[data-style=dots] .mc-face-bg,.mc-face[data-style=lines] .mc-face-bg{background:linear-gradient(135deg,var(--mc-bg1),var(--mc-bg2))}
.mc-face[data-style=diagonal] .mc-face-bg{background:linear-gradient(115deg,var(--mc-bg1) 58%,var(--mc-bg2) 58%)}
.mc-face[data-style=dots] .mc-face-bg::after{opacity:.2;background:radial-gradient(circle,var(--mc-ac) 1px,transparent 1.6px) 0 0/14px 14px}
.mc-face[data-style=lines] .mc-face-bg::after{opacity:.14;background:repeating-linear-gradient(45deg,var(--mc-ac) 0 1px,transparent 1px 11px)}
.mc-face-line{position:absolute;inset:2.4cqw;border-radius:3.4cqw;pointer-events:none;border:0 solid var(--mc-ac)}
.mc-face[data-border=thin] .mc-face-line{border-width:1.5px}.mc-face[data-border=thick] .mc-face-line{border-width:3px}.mc-face[data-border=double] .mc-face-line{border-width:4px;border-style:double}
.mc-face-logo{position:absolute;height:12cqw;max-width:30cqw;object-fit:contain;left:7cqw;top:7cqw}
.mc-face[data-logo=top-right] .mc-face-logo{left:auto;right:7cqw}
.mc-face[data-logo=bottom-left] .mc-face-logo{top:auto;bottom:7cqw}
.mc-face[data-logo=center] .mc-face-logo{left:50%;transform:translateX(-50%);max-width:40cqw}
.mc-face-id{position:absolute;left:7cqw;right:38cqw;bottom:8cqw}
.mc-face[data-logo=bottom-left] .mc-face-id{bottom:23cqw}
.mc-face-name{font-size:7cqw;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mc-face-title{margin-top:1.8cqw;font-size:3.5cqw;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mc-ac);overflow-wrap:anywhere}
.mc-qr-btn{position:absolute;right:6cqw;bottom:6cqw;width:26cqw;height:26cqw;padding:0;border:0;border-radius:2.4cqw;background:#fff;cursor:zoom-in;display:block;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.mc-qr-btn .mc-qr{display:block;width:100%;height:100%;padding:1.6cqw}
.mc-qr svg,.mc-qr canvas{display:block;width:100%;height:100%}
.mc-nfc{position:absolute;right:6cqw;bottom:35cqw;display:inline-flex;align-items:center;gap:1.2cqw;padding:.9cqw 2.2cqw;border:1px solid var(--mc-ac);border-radius:99px;font-size:2.5cqw;font-weight:600;white-space:nowrap;opacity:.9}
.mc-nfc svg{width:2.8cqw;height:2.8cqw}
.mc-nfc[data-state=available],.mc-nfc[data-state=trial]{background:var(--mc-ac);color:var(--mc-on)}
.mc-face-full{max-width:none;width:min(94vw,calc(94vh * 1.586))}
@supports not (container-type:inline-size){.mc-face-name{font-size:6vw}.mc-face-title{font-size:3vw}}
.mc-qr-zoom{position:fixed;inset:0;z-index:50;background:rgba(5,10,28,.88);display:grid;place-items:center;cursor:zoom-out}
.mc-qr-zoom-in{background:#fff;border-radius:18px;padding:18px;text-align:center;color:#444;font-size:13px}
.mc-qr-big{display:block;width:min(78vw,70vh,420px);height:min(78vw,70vh,420px);margin:auto}
.mc-qr-zoom-in p{margin:10px 0 0}

/* carte autonome */
.mc-standalone{margin:0;background:#050a1c;color:#fff;min-height:100vh;overflow:hidden}
.mc-stage{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
.mc-gone{text-align:center;color:#cfd6ea;max-width:320px}.mc-gone img{border-radius:18px}
.mc-sync{position:fixed;left:0;right:0;top:0;padding:6px 12px;text-align:center;font-size:12px;color:#cfd6ea;background:rgba(5,10,28,.75)}
.mc-install{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));background:#fff;color:var(--ink);border-radius:16px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:13.5px}
.mc-install p{margin:0 0 10px}.mc-install .mc-actions{margin:0}

/* page publique */
.mc-public{margin:0;background:#0b1530}
.mc-pub{--mc-bg1:#101d46;--mc-bg2:#050a1c;--mc-ac:#d4af37;--mc-tx:#f6f1e4;--mc-on:#1a1304;--mc-font:Poppins,sans-serif;position:relative;min-height:100vh;min-height:100dvh;color:var(--mc-tx);font-family:var(--mc-font);overflow:hidden}
.mc-pub-bg{position:absolute;inset:0;background:var(--mc-bg1)}
.mc-pub-bg::after{content:"";position:absolute;inset:0;pointer-events:none}
.mc-pub[data-style=gradient] .mc-pub-bg,.mc-pub[data-style=dots] .mc-pub-bg,.mc-pub[data-style=lines] .mc-pub-bg{background:linear-gradient(160deg,var(--mc-bg1),var(--mc-bg2))}
.mc-pub[data-style=diagonal] .mc-pub-bg{background:linear-gradient(160deg,var(--mc-bg1) 55%,var(--mc-bg2) 55%)}
.mc-pub[data-style=dots] .mc-pub-bg::after{opacity:.16;background:radial-gradient(circle,var(--mc-ac) 1px,transparent 1.6px) 0 0/16px 16px}
.mc-pub[data-style=lines] .mc-pub-bg::after{opacity:.12;background:repeating-linear-gradient(45deg,var(--mc-ac) 0 1px,transparent 1px 12px)}
.mc-pub-in{position:relative;max-width:520px;margin:auto;padding:36px 18px 28px}
.mc-pub-hero{text-align:center}
.mc-pub-photo{width:112px;height:112px;border-radius:50%;object-fit:cover;border:3px solid var(--mc-ac);background:#fff}
.mc-pub-logo-photo{object-fit:contain;padding:10px;border-radius:24px}
.mc-pub h1,.mc-pub .mc-pub-name{color:var(--mc-tx);margin:14px 0 4px;font-size:26px;overflow-wrap:anywhere}
.mc-pub-sub{margin:0;opacity:.85}
.mc-pub-chip{display:inline-block;margin:12px 0 0;padding:4px 14px;border:1px solid var(--mc-ac);border-radius:99px;color:var(--mc-ac);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.mc-pub-bio{margin:20px 0 4px;text-align:center;opacity:.92;overflow-wrap:anywhere}
.mc-acts{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.mc-act{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--mc-tx);background:rgba(128,128,128,.16);background:color-mix(in srgb,var(--mc-tx) 9%,transparent);border:1px solid rgba(128,128,128,.28)}
.mc-act-ico{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mc-ac);color:var(--mc-on)}
.mc-act-tx{display:flex;flex-direction:column;min-width:0}.mc-act-tx b{font-size:14px}.mc-act-tx small{opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.mc-nets{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 0}
.mc-net{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--mc-tx);border:1px solid var(--mc-ac);text-decoration:none}
.mc-save{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px 0 0;min-height:52px;border-radius:99px;background:var(--mc-ac);color:var(--mc-on);font-weight:700;text-decoration:none}
.mc-pub-foot{margin-top:24px;text-align:center;font-size:12px;opacity:.8}.mc-pub-foot a,.mc-pub-foot .mc-link{color:var(--mc-tx)}

/* Studio */
.mc-app-top{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--navy);position:sticky;top:0;z-index:6;padding-top:max(8px,env(safe-area-inset-top))}
.mc-save-state{margin-left:auto;color:#cfd6ea;font-size:12px}
.mc-studio{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;max-width:1120px;margin:auto;padding:16px}
@media(max-width:900px){.mc-studio{grid-template-columns:1fr;padding:12px}.mc-col-prev{order:-1}}
.mc-col-prev{position:sticky;top:64px;align-self:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
@media(max-width:900px){.mc-col-prev{position:static}}
.mc-prev-tabs{display:flex;gap:6px;margin-bottom:12px}.mc-ptab{flex:1;min-height:36px;border:1.5px solid var(--line);background:#fff;border-radius:99px;font:600 13px inherit;font-family:inherit;cursor:pointer}.mc-ptab.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.mc-phone{max-width:340px;margin:auto;border:7px solid #111827;border-radius:30px;overflow:hidden auto;height:560px;background:#000}
.mc-phone .mc-pub{min-height:100%}
.mc-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1.5px solid var(--line);margin-bottom:12px;scrollbar-width:none}
.mc-tab{flex:none;min-height:44px;padding:0 14px;background:none;border:0;border-bottom:3px solid transparent;font:600 14px inherit;font-family:inherit;color:var(--mute);cursor:pointer}
.mc-tab[aria-selected=true]{color:var(--navy);border-bottom-color:var(--gold)}
.mc-pane{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.mc-field{margin:0 0 4px}.mc-field-h{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.mc-field-h label{margin:12px 0 4px}
.mc-vis{display:flex;gap:6px;align-items:center;font-weight:400;font-size:12.5px;color:var(--mute);margin:0 0 6px;cursor:pointer}
.mc-err{margin:4px 0 0;color:var(--bad);font-size:12.5px}
.mc-up-row{display:flex;gap:12px;align-items:center}.mc-up-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mc-thumb{flex:none;width:64px;height:64px;border-radius:12px;border:1.5px dashed var(--line);background:#fff;display:grid;place-items:center;overflow:hidden}.mc-thumb img{width:100%;height:100%;object-fit:cover}.mc-thumb-logo img{object-fit:contain}
.mc-tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.mc-tpl{min-height:64px;border:2px solid;border-radius:12px;font:600 13px inherit;font-family:inherit;cursor:pointer;padding:6px}.mc-tpl.on{outline:3px solid var(--gold);outline-offset:2px}
.mc-colors{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.mc-color{margin:0;font-weight:400}.mc-color span{display:block;font-size:12.5px;color:var(--mute);margin-bottom:3px}
.mc-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mc-badge{display:inline-block;padding:3px 12px;border-radius:99px;background:#e8e3d2;font-size:12.5px;font-weight:600}.mc-badge.ok{background:#d6f1e3;color:#0b5c3a}.mc-badge.bad{background:#fbdcd8;color:#7a1b12}
.mc-copy{display:flex;gap:8px}.mc-copy input{flex:1}
.mc-qr-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center;margin:10px 0}.mc-qr-panel .mc-qr-big{width:240px;height:240px}.mc-qr-cap{margin:10px 0 0;font-weight:600}
.mc-os{border:1px solid var(--line);border-radius:12px;padding:8px 14px;margin:8px 0;background:#fff}.mc-os p{margin:0 0 6px;font-size:13.5px}
body[data-os=android] .mc-os:not([data-os=android]),body[data-os=ios] .mc-os:not([data-os=ios]){opacity:.55}
.mc-danger{border:1px solid #f1b8b0;border-radius:12px;padding:10px 14px;background:#fff8f7;margin:12px 0}.mc-danger summary{cursor:pointer;font-weight:600;color:var(--bad)}
.mc-savebar{position:sticky;bottom:0;background:linear-gradient(transparent,var(--ivory) 30%);padding-top:18px;margin-bottom:0}
.mc-modal{position:fixed;inset:0;z-index:60;background:rgba(5,10,28,.85);display:grid;place-items:center;padding:14px}
.mc-modal-in{background:#fff;border-radius:16px;padding:14px;width:min(94vw,400px)}
.mc-crop-view{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#111;touch-action:none;cursor:grab}
.mc-crop-view img{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;user-select:none;-webkit-user-drag:none}
.mc-print-host{display:none;text-align:center;padding:24px}.mc-print-host .mc-qr-big{width:360px;height:360px}.mc-print-host p{font-size:22px;font-weight:600}
@media print{body[data-print=qr]>*{display:none!important}body[data-print=qr]>.mc-print-host{display:block!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
