/* =====================================================================
   QTouch v4 — parcours reliés entre les 3 espaces
   (annonceur « Parcours & prix », établissement « Tout connecter »,
   licence « Licence éphémère »). Tout est préfixé .q4 / #qtv4.
   ===================================================================== */
#qtv4{--q4-acc:#F97316;--q4-acc-l:rgba(249,115,22,.1);--q4-ink:#0F172A;--q4-mute:#64748B;--q4-line:#E2E8F0;--q4-bg:#F8FAFC;
  display:none;font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--q4-ink);letter-spacing:0;padding:28px 32px 80px;max-width:1180px;margin:0 auto;box-sizing:border-box}
#qtv4 *,#qtv4 *::before,#qtv4 *::after{box-sizing:border-box}
#qtv4.on{display:block}
#qtv4[data-space="venue"]{--q4-acc:#16A34A;--q4-acc-l:rgba(22,163,74,.1)}
#qtv4[data-space="licence"]{--q4-acc:#7C3AED;--q4-acc-l:rgba(124,58,237,.1)}
.qtv4-host-on > *:not(#qtv4):not(header):not(nav):not(.qt-app-header):not(.qt-app-portal):not(script):not(style):not(.q4-keep){display:none !important}
/* entrée de menu */
.sidebar-nav-item.q4-nav .q4-new{margin-left:auto;font:800 9px/1 'Figtree',sans-serif;letter-spacing:.06em;padding:4px 6px;border-radius:6px;background:var(--q4-nav-acc,#F97316);color:#fff}
/* en-tête */
.q4-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.q4-eb{display:inline-block;font:800 11px/1 'Figtree',sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:var(--q4-acc);margin-bottom:10px}
.q4-h1{font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0}
.q4-sub{margin:8px 0 0;color:var(--q4-mute);font-size:14.5px;line-height:1.5;max-width:640px}
.q4-spaces{display:flex;gap:8px;flex-wrap:wrap}
.q4-spaces a{display:inline-flex;align-items:center;gap:6px;font:600 12.5px 'Figtree',sans-serif;color:var(--q4-ink);text-decoration:none;background:#fff;border:1px solid var(--q4-line);border-radius:99px;padding:8px 12px}
.q4-spaces a:hover{border-color:var(--q4-acc);color:var(--q4-acc)}
.q4-spaces a i{width:8px;height:8px;border-radius:50%}
/* étapes */
.q4-steps{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 20px;padding:4px;background:#fff;border:1px solid var(--q4-line);border-radius:16px;position:sticky;top:8px;z-index:5}
.q4-steps::-webkit-scrollbar{display:none}
.q4-steps button{flex:1 0 auto;display:flex;align-items:center;gap:8px;border:none;background:none;border-radius:12px;padding:10px 12px;font:600 13px 'Figtree',sans-serif;color:var(--q4-mute);cursor:pointer;white-space:nowrap}
.q4-steps button b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#F1F5F9;font-size:11px;color:var(--q4-mute)}
.q4-steps button.done b{background:var(--q4-acc);color:#fff}
.q4-steps button:hover{background:#F8FAFC;color:var(--q4-ink)}
.q4-steps button.cur{background:var(--q4-acc-l);color:var(--q4-ink)}
/* cartes */
.q4-card{background:#fff;border:1px solid var(--q4-line);border-radius:20px;padding:22px;margin-bottom:16px;scroll-margin-top:80px}
.q4-card > .q4-ch{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.q4-card h3{margin:0;font-size:18px;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}
.q4-card h3 .n{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--q4-acc);color:#fff;font-size:12px}
.q4-card .q4-cs{margin:6px 0 0;color:var(--q4-mute);font-size:13.5px;line-height:1.45;max-width:640px}
.q4-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.q4-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.q4-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.q4-g5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media(max-width:1100px){.q4-g4,.q4-g5{grid-template-columns:repeat(2,1fr)}.q4-g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){#qtv4{padding:18px 14px 90px}.q4-g2,.q4-g3,.q4-g4{grid-template-columns:1fr}.q4-g5{grid-template-columns:1fr 1fr}}
.q4-tile{position:relative;background:var(--q4-bg);border:1.5px solid transparent;border-radius:16px;padding:16px;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;text-align:left;font:inherit;color:inherit;width:100%}
.q4-tile:hover{border-color:#CBD5E1}
.q4-tile.on{border-color:var(--q4-acc);background:#fff;box-shadow:0 10px 24px -16px var(--q4-acc)}
.q4-tile b{display:block;font-size:14.5px;font-weight:700}
.q4-tile small{display:block;color:var(--q4-mute);font-size:12.5px;line-height:1.4;margin-top:4px}
.q4-tile .ic{width:36px;height:36px;border-radius:11px;background:#fff;display:grid;place-items:center;margin-bottom:10px;border:1px solid var(--q4-line)}
.q4-tile .ic svg{width:18px;height:18px;fill:none;stroke:var(--q4-ink);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.q4-tile .st{position:absolute;top:12px;right:12px;font:700 10.5px/1 'Figtree',sans-serif;padding:5px 8px;border-radius:99px;background:#E2E8F0;color:#475569}
.q4-tile.on .st{background:var(--q4-acc);color:#fff}
.q4-tile .price{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;margin-top:10px}
.q4-tile .price small{display:inline;font-size:12px;font-weight:500;margin-left:4px}
/* puces */
.q4-chips{display:flex;flex-wrap:wrap;gap:8px}
.q4-chip{border:1px solid var(--q4-line);background:#fff;border-radius:99px;padding:8px 13px;font:600 12.5px 'Figtree',sans-serif;color:#334155;cursor:pointer;transition:all .15s}
.q4-chip:hover{border-color:#94A3B8}
.q4-chip.on{background:var(--q4-ink);border-color:var(--q4-ink);color:#fff}
.q4-lab{display:block;font:700 11px/1 'Figtree',sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--q4-mute);margin:16px 0 9px}
/* formulaires */
.q4-in{width:100%;border:1px solid var(--q4-line);border-radius:12px;padding:11px 13px;font:500 14px 'Figtree',sans-serif;color:var(--q4-ink);background:#fff;outline:none}
.q4-in:focus{border-color:var(--q4-acc);box-shadow:0 0 0 3px var(--q4-acc-l)}
textarea.q4-in{min-height:80px;resize:vertical}
.q4-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.q4-sw{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:600 13.5px 'Figtree',sans-serif;border:none;background:none;padding:0;color:inherit}
.q4-sw i{width:38px;height:22px;border-radius:99px;background:#CBD5E1;position:relative;transition:background .2s;flex:none}
.q4-sw i::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .25s}
.q4-sw.on i{background:var(--q4-acc)}
.q4-sw.on i::after{transform:translateX(16px)}
input[type=range].q4-range{width:100%;accent-color:var(--q4-acc)}
/* boutons */
.q4-bt{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:12px;padding:11px 16px;font:700 13.5px 'Figtree',sans-serif;cursor:pointer;background:var(--q4-ink);color:#fff;text-decoration:none;transition:transform .15s,opacity .15s}
.q4-bt:hover{transform:translateY(-1px)}
.q4-bt.acc{background:var(--q4-acc)}
.q4-bt.gh{background:#fff;color:var(--q4-ink);border:1px solid var(--q4-line)}
.q4-bt.sm{padding:8px 12px;font-size:12.5px;border-radius:10px}
.q4-bt[disabled]{opacity:.5;cursor:not-allowed;transform:none}
/* divers */
.q4-note{font:400 11.5px/1.5 'Figtree',sans-serif;color:#94A3B8;margin:12px 0 0}
.q4-kpi{background:var(--q4-bg);border-radius:14px;padding:14px}
.q4-kpi span{display:block;font:700 10.5px/1 'Figtree',sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--q4-mute)}
.q4-kpi b{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;margin-top:8px}
.q4-kpi small{color:var(--q4-mute);font-size:12px}
.q4-funnel{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.q4-funnel > div{position:relative;background:var(--q4-bg);border-radius:14px;padding:14px 14px 16px;overflow:hidden}
.q4-funnel > div::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:var(--w);background:var(--q4-acc);border-radius:0 4px 4px 0}
.q4-funnel span{font:700 11px 'Figtree',sans-serif;color:var(--q4-mute);text-transform:uppercase;letter-spacing:.6px}
.q4-funnel b{display:block;font-size:22px;font-weight:800;margin-top:6px}
.q4-funnel small{color:var(--q4-mute);font-size:12px}
@media(max-width:720px){.q4-funnel{grid-template-columns:1fr 1fr}}
.q4-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.q4-tbl th{text-align:left;font:700 11px 'Figtree',sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--q4-mute);padding:8px 10px;border-bottom:1px solid var(--q4-line)}
.q4-tbl td{padding:11px 10px;border-bottom:1px solid #F1F5F9}
.q4-tbl .bar{height:6px;border-radius:9px;background:#F1F5F9;overflow:hidden;min-width:80px}
.q4-tbl .bar i{display:block;height:100%;background:var(--q4-acc);border-radius:9px}
.q4-scroll{overflow-x:auto}
.q4-pill{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 'Figtree',sans-serif;padding:5px 9px;border-radius:99px;background:#F1F5F9;color:#475569}
.q4-pill.ok{background:#DCFCE7;color:#166534}
.q4-pill.acc{background:var(--q4-acc-l);color:var(--q4-acc)}
.q4-link{display:flex;align-items:center;gap:8px;background:var(--q4-bg);border-radius:10px;padding:8px 10px;font:500 12px ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:10px;overflow:hidden}
.q4-link span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q4-link button{border:none;background:#fff;border-radius:7px;padding:5px 8px;font:700 11px 'Figtree',sans-serif;cursor:pointer}
.q4-lic{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:var(--q4-bg);border:1.5px solid transparent;border-radius:16px;padding:14px;cursor:pointer}
.q4-lic.on{border-color:var(--q4-acc);background:#fff}
.q4-lic img,.q4-lic .lo{width:52px;height:52px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--q4-line);display:grid;place-items:center;font-weight:800;color:var(--q4-acc)}
.q4-lic b{display:block;font-size:15px}
.q4-lic small{display:block;color:var(--q4-mute);font-size:12.5px;margin-top:3px}
.q4-cmp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.q4-cmp > div{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#0F172A}
.q4-cmp img{width:100%;height:100%;object-fit:cover}
.q4-cmp .lg{position:absolute;top:10px;right:10px;width:auto;height:auto;max-width:30%;max-height:26%;object-fit:contain}
.q4-cmp span{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-weight:800;font-size:14px}
.q4-cmp em{position:absolute;top:10px;left:10px;font:700 10.5px/1 'Figtree',sans-serif;font-style:normal;background:rgba(0,0,0,.55);color:#fff;padding:5px 8px;border-radius:99px}
.q4-cmp > div.on{box-shadow:0 0 0 3px var(--q4-acc)}
@media(max-width:720px){.q4-cmp{grid-template-columns:1fr}}
.q4-msgs{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow:auto;padding:4px}
.q4-msg{max-width:78%;padding:11px 14px;border-radius:16px;font-size:13.5px;line-height:1.45;background:var(--q4-bg)}
.q4-msg small{display:block;font-size:11px;color:var(--q4-mute);margin-bottom:4px;font-weight:700}
.q4-msg.me{align-self:flex-end;background:var(--q4-acc);color:#fff}
.q4-msg.me small{color:rgba(255,255,255,.8)}
.q4-empty{padding:24px;text-align:center;color:var(--q4-mute);font-size:13.5px;background:var(--q4-bg);border-radius:14px}
.q4-hub{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media(max-width:900px){.q4-hub{grid-template-columns:1fr 1fr}}
.q4-prod{background:var(--q4-bg);border-radius:16px;padding:12px;text-align:center}
.q4-prod .im{aspect-ratio:1;border-radius:12px;background:radial-gradient(60% 60% at 50% 45%,#fff,#EEF2F7);display:grid;place-items:center;margin-bottom:8px;overflow:hidden}
.q4-prod .im img{max-width:80%;max-height:84%;object-fit:contain}
.q4-prod .im img.ph{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:cover}
.q4-prod b{display:block;font-size:14px}
.q4-prod small{display:block;color:var(--q4-mute);font-size:12px;margin:2px 0 8px}
.q4-qty{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--q4-line);border-radius:10px;padding:3px}
.q4-qty button{border:none;background:#F1F5F9;width:26px;height:26px;border-radius:8px;cursor:pointer;font-weight:800}
.q4-qty span{min-width:18px;font-weight:700;font-size:13px}
.q4-code{font:800 28px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;color:var(--q4-acc)}
.q4-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#0F172A;color:#fff;font:600 13.5px 'Figtree',sans-serif;padding:12px 18px;border-radius:12px;box-shadow:0 18px 40px -16px rgba(0,0,0,.5);opacity:0;transition:all .3s;z-index:99999;pointer-events:none;max-width:90vw}
.q4-toast.on{opacity:1;transform:translateX(-50%)}
.q4-sum{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:var(--q4-ink);color:#fff;border-radius:16px;padding:16px 18px;margin-top:14px}
.q4-sum b{font-size:24px;font-weight:800;letter-spacing:-.02em}
.q4-sum small{display:block;color:rgba(255,255,255,.65);font-size:12px}
.q4-g2 > *,.q4-g3 > *,.q4-g4 > *,.q4-g5 > *,.q4-hub > *{min-width:0}
#qtv4{overflow-x:hidden}
@media(max-width:720px){.q4-g3{grid-template-columns:1fr 1fr}.q4-g5{grid-template-columns:1fr 1fr}.q4-g5.q4-chg{grid-template-columns:1fr}.q4-steps{position:static}.q4-card{padding:16px}.q4-h1{font-size:24px}}
