/* Questor Pass — pages publiques du tunnel de vente (présentation, commande, confirmation).
   Autonome : ne dépend d'aucun thème de site, pour être servi sur qrhunt comme sur les7tresors. */
:root { --qp-ink:#1d2433; --qp-muted:#5b6475; --qp-bg:#f6f4ef; --qp-card:#fff; --qp-brand:#1f5f4a; --qp-brand-2:#e0a526;
        --qp-line:#e3dfd5; --qp-danger:#b42318; --qp-ok:#1f7a33; --qp-radius:14px; }
* { box-sizing: border-box; }
body.qp { margin:0; font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color:var(--qp-ink);
          background:var(--qp-bg); line-height:1.6; font-size:16px; }
.qp a { color:var(--qp-brand); }
.qp-wrap { max-width:1080px; margin:0 auto; padding:0 20px; }
.qp-topbar { background:var(--qp-card); border-bottom:1px solid var(--qp-line); }
.qp-topbar .qp-wrap { display:flex; align-items:center; justify-content:space-between; gap:16px; height:64px; }
.qp-logo { font-weight:800; letter-spacing:.02em; font-size:1.15rem; color:var(--qp-ink) !important; text-decoration:none; }
.qp-logo span { color:var(--qp-brand-2); }
.qp-topbar nav a { margin-left:18px; text-decoration:none; font-weight:600; font-size:.95rem; }
.qp-btn { display:inline-block; background:var(--qp-brand); color:#fff !important; border:0; border-radius:999px; padding:12px 26px;
          font-weight:700; text-decoration:none; cursor:pointer; font-size:1rem; }
.qp-btn:hover { filter:brightness(1.1); }
.qp-btn-light { background:#fff; color:var(--qp-brand) !important; border:2px solid var(--qp-brand); }
.qp-btn-sm { padding:8px 18px; font-size:.9rem; }
.qp-hero { background:linear-gradient(135deg, #173f33 0%, #1f5f4a 60%, #2c7a5f 100%); color:#fff; padding:72px 0 64px; }
.qp-hero h1 { font-size:2.6rem; line-height:1.15; margin:0 0 14px; }
.qp-hero .qp-kicker { text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color:var(--qp-brand-2); font-weight:700; }
.qp-hero p.lead { font-size:1.2rem; max-width:680px; opacity:.95; }
.qp-hero .qp-btn { background:var(--qp-brand-2); color:#1d2433 !important; }
.qp-hero .qp-btn-light { background:transparent; color:#fff !important; border-color:#fff; margin-left:10px; }
.qp-section { padding:56px 0; }
.qp-section h2 { font-size:1.8rem; margin:0 0 8px; }
.qp-section .qp-sub { color:var(--qp-muted); margin:0 0 28px; max-width:720px; }
.qp-grid { display:grid; gap:18px; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); }
.qp-card { background:var(--qp-card); border:1px solid var(--qp-line); border-radius:var(--qp-radius); padding:22px; }
.qp-card h3 { margin:0 0 6px; font-size:1.08rem; }
.qp-card p { margin:0; color:var(--qp-muted); }
.qp-card .qp-ico { font-size:1.6rem; margin-bottom:8px; }
.qp-offer { display:grid; grid-template-columns: 1.3fr 1fr; gap:24px; align-items:start; }
.qp-table { width:100%; border-collapse:collapse; background:var(--qp-card); border-radius:var(--qp-radius); overflow:hidden; }
.qp-table th, .qp-table td { text-align:left; padding:12px 16px; border-bottom:1px solid var(--qp-line); vertical-align:top; }
.qp-table th { width:38%; color:var(--qp-muted); font-weight:600; }
.qp-price { font-size:2.4rem; font-weight:800; line-height:1; }
.qp-price small { font-size:1rem; font-weight:600; color:var(--qp-muted); }
.qp-highlight { background:#fff8e6; border:1px solid #f2d99a; border-radius:var(--qp-radius); padding:16px 18px; }
.qp-game { display:flex; flex-direction:column; padding:0; overflow:hidden; }
.qp-game-img { height:140px; background:#dfe8e3 center/cover no-repeat; }
.qp-game-body { padding:16px 18px; }
.qp-badge { display:inline-block; padding:2px 10px; border-radius:999px; font-size:.75rem; font-weight:700; background:#e3f2ea; color:var(--qp-brand); }
.qp-badge-soon { background:#f1efe9; color:var(--qp-muted); }
.qp-faq details { background:var(--qp-card); border:1px solid var(--qp-line); border-radius:10px; padding:14px 18px; margin-bottom:10px; }
.qp-faq summary { font-weight:700; cursor:pointer; }
.qp-footer { padding:28px 0; color:var(--qp-muted); font-size:.9rem; border-top:1px solid var(--qp-line); }
.qp-cta { text-align:center; background:var(--qp-card); border-top:1px solid var(--qp-line); border-bottom:1px solid var(--qp-line); }
/* Formulaire */
.qp-form { display:grid; grid-template-columns: 1fr 340px; gap:24px; align-items:start; padding:32px 0 56px; }
.qp-fieldset { background:var(--qp-card); border:1px solid var(--qp-line); border-radius:var(--qp-radius); padding:22px 24px; margin:0 0 18px; }
.qp-fieldset legend { font-weight:800; font-size:1.1rem; padding:0; float:left; width:100%; margin-bottom:12px; }
.qp-fieldset legend .qp-step { display:inline-block; width:28px; height:28px; border-radius:50%; background:var(--qp-brand); color:#fff;
        text-align:center; line-height:28px; font-size:.9rem; margin-right:8px; }
.qp-row { display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; clear:both; }
.qp-row-3 { grid-template-columns:2fr 1fr 1.4fr; }
.qp-field { margin-bottom:12px; }
.qp-field label { display:block; font-weight:600; font-size:.9rem; margin-bottom:4px; }
.qp-field input[type=text], .qp-field input[type=email], .qp-field input[type=password], .qp-field input[type=tel],
.qp-field input[type=number], .qp-field select, .qp-field textarea { width:100%; padding:10px 12px; border:1px solid #cfd4dc;
        border-radius:8px; font-size:1rem; background:#fff; font-family:inherit; }
.qp-field .qp-help { color:var(--qp-muted); font-size:.85rem; margin-top:3px; }
.qp-choice { display:flex; gap:10px; align-items:flex-start; border:1px solid var(--qp-line); border-radius:10px; padding:12px 14px; margin-bottom:10px; cursor:pointer; background:#fff; }
.qp-choice input { margin-top:5px; }
.qp-choice.is-checked { border-color:var(--qp-brand); box-shadow:0 0 0 2px rgba(31,95,74,.15); }
.qp-summary { position:sticky; top:16px; }
.qp-summary .qp-line { display:flex; justify-content:space-between; gap:8px; padding:6px 0; }
.qp-summary .qp-total { font-weight:800; font-size:1.2rem; border-top:1px solid var(--qp-line); margin-top:6px; padding-top:10px; }
.qp-alert { border-radius:10px; padding:12px 16px; margin:18px 0; }
.qp-alert-danger { background:#fdecea; color:var(--qp-danger); border:1px solid #f5c2bd; }
.qp-alert-ok { background:#e8f5ec; color:var(--qp-ok); border:1px solid #bfe3c9; }
.qp-alert-info { background:#eef4fb; color:#1c4f8a; border:1px solid #c9dcf2; }
.qp-hp { position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.qp-muted { color:var(--qp-muted); }
.qp-bank { font-family: ui-monospace, Menlo, Consolas, monospace; background:#f6f7f9; border-radius:8px; padding:12px 14px; }
@media (max-width: 860px) {
  .qp-offer, .qp-form { grid-template-columns:1fr; }
  .qp-summary { position:static; }
  .qp-hero h1 { font-size:2rem; }
  .qp-topbar nav a:not(.qp-btn) { display:none; }
  .qp-row, .qp-row-3 { grid-template-columns:1fr; }
}
