 :root{
    --tp-bg: #0b0f14;
    --tp-panel: #0f141b;
    --tp-panel-2: #121924;
    --tp-text: #e8eef7;
    --tp-text-dim: #a9b7c7;
    --tp-accent: #3aa7ff;
    --tp-accent-2: #7c4dff;
    --tp-success: #18c59b;
    --tp-warn: #f5a524;
    --tp-danger: #ff5d5d;
    --tp-ring: 0 0 0 2px rgba(58,167,255,.25), 0 0 0 8px rgba(58,167,255,.08);
    --tp-radius: 14px;
    --tp-radius-sm: 10px;
    --tp-shadow: 0 10px 30px rgba(0,0,0,.35);
    --tp-grad: linear-gradient(135deg, var(--tp-accent) 0%, var(--tp-accent-2) 100%);
  }

  .cve-tour{
    background: radial-gradient(1200px 600px at 10% -10%, rgba(58,167,255,.07), transparent),
                radial-gradient(900px 500px at 100% 0%, rgba(124,77,255,.06), transparent),
                var(--tp-bg);
    color: var(--tp-text);
    padding: clamp(28px, 4vw, 56px) 0;
  }

  .cve-tour__wrap{
    width: min(1100px, 92vw);
    margin: 0 auto;
  }

  .cve-tour__head{
    margin-bottom: 24px;
  }

  .cve-tour__eyebrow{
    display:inline-block;
    padding: 6px 10px;
    background: rgba(58,167,255,.12);
    color: var(--tp-accent);
    border: 1px solid rgba(58,167,255,.25);
    border-radius: 999px;
    font-size: 12px;
    letter-spacing:.08em;
    text-transform: uppercase;
  }

  .cve-tour__title{
    margin: 12px 0 10px 0;
    font-size: clamp(22px, 2.6vw, 34px);
    line-height: 1.2;
    letter-spacing: .2px;
  }

  .cve-tour__lead{
    color: var(--tp-text-dim);
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 1.6;
    margin: 0;
  }

  .cve-tour__badges{
    display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;
  }

  .badge{
    display:inline-flex; align-items:center; gap:8px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    border:1px solid transparent;
    box-shadow: var(--tp-shadow);
  }
  .badge--instant{
    background: rgba(24,197,155,.12);
    color: var(--tp-success);
    border-color: rgba(24,197,155,.3);
  }
  .badge--tour{
    background: rgba(124,77,255,.12);
    color: #b99aff;
    border-color: rgba(124,77,255,.3);
  }

  .cve-tour__grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 18px;
  }

  .cve-card{
    background: linear-gradient(180deg, var(--tp-panel) 0%, var(--tp-panel-2) 100%);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--tp-radius);
    box-shadow: var(--tp-shadow);
    padding: clamp(16px, 1.6vw, 22px);
    position: relative;
    overflow: hidden;
    isolation: isolate;
  }

  .cve-card::before{
    content:"";
    position:absolute; inset: -1px -1px auto auto; width: 120px; height: 120px;
    background: radial-gradient(60px 60px at 100% 0%, rgba(58,167,255,.18), transparent 60%);
    filter: blur(8px);
    pointer-events:none;
    z-index: -1;
  }

  .cve-card__title{
    font-size: clamp(16px, 1.7vw, 20px);
    margin: 0 0 10px 0;
    background: var(--tp-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .cve-card__content p{
    margin: 8px 0;
    color: var(--tp-text);
    line-height: 1.6;
  }

  .tick{
    position: relative;
    padding-left: 26px;
  }
  .tick::before{
    content:"";
    position:absolute; left:0; top: .45em;
    width:16px; height:16px; border-radius:50%;
    background: radial-gradient(circle at 30% 30%, #8ee7ff 0%, #3aa7ff 45%, #2e79f4 100%);
    box-shadow: 0 0 0 3px rgba(58,167,255,.18);
    mask: none;
  }

  .flag{
    position: relative;
    padding-left: 26px;
  }
  .flag::before{
    content:"";
    position:absolute; left:0; top:.45em;
    width:14px; height:14px; border-radius:3px;
    background: var(--tp-grad);
    box-shadow: 0 0 0 3px rgba(124,77,255,.15);
  }
  .flag--idf::after{
    content:"Sans attente";
    margin-left: 8px;
    color: var(--tp-success);
    font-weight: 600;
    font-size: 12.5px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(24,197,155,.12);
    border: 1px solid rgba(24,197,155,.35);
  }

  .info{
    position: relative;
    padding-left: 26px;
    color: var(--tp-text-dim);
  }
  .info::before{
    content:"";
    position:absolute; left:0; top:.35em;
    width:14px; height:14px; border-radius:50%;
    background: conic-gradient(from 0deg, #7c4dff, #3aa7ff);
    box-shadow: 0 0 0 3px rgba(124,77,255,.15);
    -webkit-mask: radial-gradient(circle at 50% 50%, transparent 6px, #000 6px);
            mask: radial-gradient(circle at 50% 50%, transparent 6px, #000 6px);
  }

  .cve-steps{
    list-style: none; padding:0; margin:0;
    display:flex; flex-direction:column; gap: 10px;
  }
  .cve-steps li{
    display:flex; gap:10px; align-items:flex-start;
    line-height:1.6; color: var(--tp-text);
  }
  .cve-steps li span{
    flex: 0 0 28px; height:28px; display:inline-grid; place-items:center;
    font-weight:700; font-size:13px; border-radius:8px;
    color:#0a0f14; background: var(--tp-grad);
    box-shadow: 0 4px 14px rgba(58,167,255,.35);
    margin-top: 2px;
  }

  .cve-tour__foot{
    margin-top: 18px;
    background: linear-gradient(180deg, rgba(58,167,255,.08), rgba(124,77,255,.08));
    border: 1px dashed rgba(255,255,255,.12);
    border-radius: var(--tp-radius-sm);
    padding: 14px;
  }
  .cve-tour__foot p{
    margin:0; color: var(--tp-text-dim); line-height:1.7;
  }

  /* Responsive */
  @media (max-width: 900px){
    .cve-tour__grid{ grid-template-columns: 1fr; }
  }
  @media (max-width: 540px){
    .cve-tour__eyebrow{ font-size:11px; }
    .badge{ font-size:11.5px; padding:7px 10px; }
    .cve-steps li{ font-size:14.5px; }
    .cve-tour__foot{ padding:12px; }
  }


    .cve-badgeinfo{
    background:
      radial-gradient(1100px 550px at 5% -10%, rgba(58,167,255,.07), transparent),
      radial-gradient(900px 500px at 100% 0%, rgba(124,77,255,.06), transparent),
      var(--tp-bg);
    color: var(--tp-text);
    padding: clamp(26px, 4vw, 54px) 0;
  }

  .cve-badgeinfo__wrap{
    width: min(1100px, 92vw);
    margin: 0 auto;
  }

  .cve-badgeinfo__eyebrow{
    display:inline-block;
    padding: 6px 10px;
    background: rgba(58,167,255,.12);
    color: var(--tp-accent);
    border: 1px solid rgba(58,167,255,.25);
    border-radius: 999px;
    font-size: 12px;
    letter-spacing:.08em;
    text-transform: uppercase;
  }

  .cve-badgeinfo__title{
    margin: 12px 0 8px 0;
    font-size: clamp(22px, 2.5vw, 34px);
    line-height: 1.2;
    letter-spacing: .2px;
    background: var(--tp-grad);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  .cve-badgeinfo__lead{
    color: var(--tp-text-dim);
    font-size: clamp(14px, 1.25vw, 16px);
    line-height: 1.65;
    margin: 0;
    max-width: 900px;
  }

  .cve-badgeinfo__panel{
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 18px;
    margin-top: 18px;
  }

  .cve-badgeinfo__badgewrap{
    display:flex; align-items:center; justify-content:center;
    min-height: 120px;
    background: linear-gradient(180deg, var(--tp-panel) 0%, var(--tp-panel-2) 100%);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--tp-radius);
    box-shadow: var(--tp-shadow);
    padding: 16px;
    position: relative;
    overflow: hidden;
  }
  .cve-badgeinfo__badgewrap::before{
    content:"";
    position:absolute; inset: -1px -1px auto auto; width: 120px; height: 120px;
    background: radial-gradient(60px 60px at 100% 0%, rgba(58,167,255,.18), transparent 60%);
    filter: blur(8px);
    pointer-events:none;
  }

  .cve-badgeinfo__points{
    background: linear-gradient(180deg, var(--tp-panel) 0%, var(--tp-panel-2) 100%);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: var(--tp-radius);
    box-shadow: var(--tp-shadow);
    padding: clamp(16px, 1.6vw, 22px);
  }
  .cve-badgeinfo__points p{
    margin: 10px 0;
    line-height: 1.6;
  }

  .tick{
    position: relative;
    padding-left: 26px;
  }
  .tick::before{
    content:"";
    position:absolute; left:0; top:.45em;
    width:16px; height:16px; border-radius:50%;
    background: radial-gradient(circle at 30% 30%, #8ee7ff 0%, #3aa7ff 45%, #2e79f4 100%);
    box-shadow: 0 0 0 3px rgba(58,167,255,.18);
  }

  .cve-badgeinfo__foot{
    margin-top: 18px;
    background: linear-gradient(180deg, rgba(58,167,255,.08), rgba(124,77,255,.08));
    border: 1px dashed rgba(255,255,255,.12);
    border-radius: 10px;
    padding: 14px;
  }
  .cve-badgeinfo__foot .note{
    margin: 0;
    color: var(--tp-text-dim);
    line-height: 1.7;
  }

  /* Responsive */
  @media (max-width: 900px){
    .cve-badgeinfo__panel{ grid-template-columns: 1fr; }
  }
  @media (max-width: 540px){
    .cve-badgeinfo__eyebrow{ font-size:11px; }
  }