:root {
      --orange:#f58220;
      --orange-dark:#dd6f0e;
      --taupe:#6b5f5b;
      --taupe-dark:#4f4643;
      --taupe-light:#d8d2cf;
      --cream:#fffaf5;
      --text:#4f4643;
      --muted:#786d69;
      --line:rgba(107,95,91,.12);
      --shadow:0 20px 50px rgba(79,70,67,.14);
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      font-family: Arial, Helvetica, sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at 10% 20%, rgba(245,130,32,.10), transparent 16%),
        radial-gradient(circle at 92% 32%, rgba(107,95,91,.08), transparent 12%),
        linear-gradient(135deg, #ffffff 0%, var(--cream) 58%, #fff 100%);
      overflow-x:hidden;
    }
    .topbar,.bottombar { height:8px; background:linear-gradient(90deg,var(--orange),var(--taupe)); }
    .shell { width:min(1220px, 94vw); margin:0 auto; }
    header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:26px 0 18px; }
    .logo { height:78px; object-fit:contain; max-width:340px; }
    .campaign-badge {
      display:flex; align-items:center; gap:10px; padding:12px 16px; border-radius:999px;
      background:rgba(245,130,32,.12); color:var(--taupe-dark); font-weight:700; box-shadow:var(--shadow);
      animation:pulseBadge 2.6s ease-in-out infinite;
    }
    @keyframes pulseBadge { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.03); } }
    .campaign-badge svg { width:22px; height:22px; stroke:var(--orange); fill:none; stroke-width:2.2; }

    .hero {
      position:relative; overflow:hidden; background:rgba(255,255,255,.84); border:1px solid var(--line);
      border-radius:34px; box-shadow:var(--shadow); padding:34px 34px 28px; margin-bottom:30px;
    }
    .hero::before, .hero::after { content:""; position:absolute; border-radius:50%; z-index:0; }
    .hero::before { width:290px; height:290px; background:rgba(245,130,32,.08); right:-80px; top:-70px; }
    .hero::after { width:240px; height:240px; background:rgba(107,95,91,.07); left:-90px; bottom:-80px; }
    .hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.2fr .9fr; gap:28px; align-items:center; }
    .eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(245,130,32,.1); color:var(--orange-dark); padding:8px 12px; border-radius:999px; font-size:14px; font-weight:800; letter-spacing:.2px; }
    .eyebrow svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2.3; }
    h1 { margin:16px 0 10px; font-size:clamp(36px,5.2vw,66px); line-height:1.02; color:var(--taupe-dark); }
    .hero p.lead { margin:0 0 16px; font-size:clamp(18px,2vw,24px); line-height:1.45; color:var(--muted); max-width:720px; }
    .dates { display:inline-block; padding:12px 16px; border-radius:16px; background:var(--taupe-dark); color:#fff; font-weight:800; margin:6px 0 18px; }
    .hero-points { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:8px 0 24px; }
    .mini-card { background:rgba(255,255,255,.8); border:1px solid var(--line); border-radius:18px; padding:16px; box-shadow:0 10px 24px rgba(79,70,67,.06); }
    .mini-card h3 { margin:0 0 7px; font-size:17px; color:var(--taupe-dark); }
    .mini-card p { margin:0; font-size:14px; line-height:1.45; color:var(--muted); }
    .cta-row { display:flex; flex-wrap:wrap; gap:12px; }
    .btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:14px 20px; border-radius:999px; text-decoration:none; font-weight:800; transition:.18s ease; border:0; cursor:pointer; }
    .btn.primary { background:var(--orange); color:#fff; box-shadow:0 12px 28px rgba(245,130,32,.24); animation:glow 2s ease-in-out infinite; }
    .btn.secondary { background:rgba(107,95,91,.1); color:var(--taupe-dark); }
    .btn:hover { transform:translateY(-2px); }
    .btn svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2.2; }
    @keyframes glow { 0%,100%{ box-shadow:0 12px 28px rgba(245,130,32,.24); } 50%{ box-shadow:0 18px 35px rgba(245,130,32,.36); } }

    .poster-card {
      position:relative; min-height:340px; border-radius:30px; padding:24px; background:
      linear-gradient(145deg, rgba(245,130,32,.96), rgba(235,111,8,.92)); color:#fff; overflow:hidden; box-shadow:var(--shadow);
    }
    .poster-card::before { content:""; position:absolute; right:-30px; top:-30px; width:170px; height:170px; border-radius:50%; background:rgba(255,255,255,.12); }
    .poster-card::after { content:""; position:absolute; left:-40px; bottom:-50px; width:210px; height:210px; border-radius:50%; background:rgba(255,255,255,.10); }
    .poster-title { font-size:30px; line-height:1.1; font-weight:900; margin:0 0 10px; position:relative; z-index:1; }
    .poster-text { margin:0 0 16px; line-height:1.5; font-size:16px; position:relative; z-index:1; }
    .sticker { position:relative; z-index:1; display:inline-block; background:#fff; color:var(--orange-dark); padding:10px 14px; border-radius:999px; font-weight:900; margin-bottom:16px; }
    .floating-icons { position:absolute; inset:0; pointer-events:none; }
    .floating-icons span { position:absolute; font-size:38px; opacity:.22; animation:floatUp 7s linear infinite; }
    .floating-icons span:nth-child(1) { left:14%; top:72%; animation-delay:0s; }
    .floating-icons span:nth-child(2) { right:14%; top:56%; animation-delay:1.4s; }
    .floating-icons span:nth-child(3) { right:24%; top:78%; animation-delay:2.6s; }
    .floating-icons span:nth-child(4) { left:62%; top:18%; animation-delay:3.4s; }
    @keyframes floatUp { 0%,100%{ transform:translateY(0) rotate(0deg);} 50%{ transform:translateY(-12px) rotate(6deg);} }
    .poster-bullets { position:relative; z-index:1; margin:0; padding-left:18px; line-height:1.7; font-weight:700; }

    section.block { margin:0 0 30px; }
    .section-card { background:rgba(255,255,255,.84); border:1px solid var(--line); border-radius:30px; box-shadow:var(--shadow); padding:28px; }
    .section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px; flex-wrap:wrap; }
    .section-head h2 { margin:0; font-size:32px; color:var(--taupe-dark); }
    .section-head p { margin:8px 0 0; color:var(--muted); max-width:760px; line-height:1.5; }

    .tools { display:grid; grid-template-columns:1.3fr .8fr .8fr auto; gap:12px; margin-bottom:14px; }
    .tools input, .tools select { width:100%; border:1px solid var(--line); border-radius:16px; padding:14px 14px; font-size:15px; background:#fff; color:var(--text); }
    .tools button { border:none; background:var(--taupe-dark); color:#fff; border-radius:16px; padding:0 18px; font-weight:800; cursor:pointer; }
    .statsline { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; color:var(--muted); font-size:14px; flex-wrap:wrap; }
    .table-wrap { max-height:560px; overflow:auto; border:1px solid var(--line); border-radius:20px; background:#fff; }
    table { width:100%; border-collapse:collapse; min-width:780px; }
    th, td { text-align:left; padding:12px 14px; border-bottom:1px solid rgba(107,95,91,.08); font-size:14px; }
    th { position:sticky; top:0; background:#f6f3f1; color:var(--taupe-dark); z-index:1; }
    tbody tr:hover { background:#fff8f1; }
    .badge-count { background:rgba(245,130,32,.12); color:var(--orange-dark); border-radius:999px; padding:8px 12px; font-weight:800; }

    .tombola-intro { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:8px; }
    .wheel-zone { position:relative; display:grid; place-items:center; margin:18px auto 10px; }
    .pointer { position:absolute; top:-6px; z-index:4; width:52px; height:70px; filter:drop-shadow(0 8px 10px rgba(79,70,67,.2)); }
    .pointer svg { width:100%; height:100%; }
    .wheel-wrap { width:min(620px, 88vw); aspect-ratio:1/1; position:relative; filter:drop-shadow(0 20px 42px rgba(79,70,67,.18)); }
    .wheel { width:100%; height:100%; border-radius:50%; border:12px solid #fff; background:conic-gradient(from -30deg, var(--orange) 0deg 120deg, var(--taupe-light) 120deg 240deg, var(--taupe) 240deg 360deg); transition:transform 4.2s cubic-bezier(.11,.76,.12,1); }
    .segment { position:absolute; width:34%; min-width:130px; text-align:center; z-index:2; display:flex; flex-direction:column; align-items:center; gap:12px; font-weight:800; line-height:1.16; font-size:clamp(18px,3vw,30px); text-shadow:0 1px 1px rgba(0,0,0,.08); }
    .segment svg { width:clamp(48px,8vw,74px); height:clamp(48px,8vw,74px); stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
    .seg-vide { color:#fff; right:13%; top:30%; }
    .seg-vide svg { stroke:#fff; }
    .seg-cashback { color:var(--taupe-dark); left:50%; bottom:9.5%; transform:translateX(-50%); }
    .seg-cashback svg { stroke:var(--taupe-dark); }
    .seg-coupon { color:#fff; left:12%; top:29%; }
    .seg-coupon svg { stroke:#fff; }
    .center-button { position:absolute; inset:50% auto auto 50%; transform:translate(-50%, -50%); z-index:6; width:min(165px, 25vw); aspect-ratio:1/1; border-radius:50%; border:8px solid var(--orange); background:#fff; color:var(--orange-dark); display:grid; place-items:center; cursor:pointer; box-shadow:0 10px 24px rgba(81,71,68,.24); font-weight:900; font-size:clamp(18px,2.6vw,29px); transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
    .center-button:hover { transform:translate(-50%, -50%) scale(1.04); }
    .center-button[disabled] { cursor:not-allowed; opacity:.75; }
    .center-content { display:grid; gap:7px; place-items:center; }
    .center-content svg { width:28px; height:28px; stroke:var(--orange); fill:none; stroke-width:2.8; }
    .result-box { min-height:74px; margin:8px auto 0; display:inline-flex; align-items:center; gap:12px; padding:15px 22px; border-radius:20px; background:rgba(255,255,255,.92); border:1px solid var(--line); box-shadow:0 12px 30px rgba(81,71,68,.09); color:var(--taupe); font-weight:800; font-size:clamp(18px,2.2vw,23px); }
    .result-box svg { width:28px; height:28px; stroke:var(--orange); fill:none; stroke-width:2.3; }
    .legal { margin-top:14px; padding:14px 16px; background:rgba(107,95,91,.06); border-radius:16px; color:var(--muted); font-size:13px; line-height:1.45; text-align:center; }

    .overlay { position:fixed; inset:0; background:rgba(46,40,38,.42); display:none; align-items:center; justify-content:center; padding:18px; z-index:90; backdrop-filter:blur(4px); }
    .overlay.show { display:flex; animation:fadeIn .35s ease; }
    @keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
    .popup { position:relative; width:min(520px, 95vw); background:#fff; border-radius:28px; box-shadow:0 24px 70px rgba(0,0,0,.24); padding:34px 24px 26px; text-align:center; transform:scale(.85) translateY(14px); opacity:0; animation:popupIn .45s ease forwards; overflow:hidden; }
    @keyframes popupIn { to { transform:scale(1) translateY(0); opacity:1; } }
    .popup.win { border-top:8px solid var(--orange); }
    .popup.lose { border-top:8px solid var(--taupe); }
    .popup-icon { width:92px; height:92px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center; }
    .popup.win .popup-icon { background:rgba(245,130,32,.14); animation:pulseWin 1.2s ease-in-out infinite; }
    .popup.lose .popup-icon { background:rgba(107,95,91,.12); animation:floatLose 1.4s ease-in-out infinite; }
    @keyframes pulseWin { 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.08); } }
    @keyframes floatLose { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }
    .popup-icon svg { width:48px; height:48px; fill:none; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
    .popup.win .popup-icon svg { stroke:var(--orange); }
    .popup.lose .popup-icon svg { stroke:var(--taupe); }
    .popup h2 { margin:0 0 10px; font-size:clamp(28px,4vw,36px); color:var(--taupe-dark); }
    .popup p { margin:0 auto; max-width:420px; color:var(--muted); font-size:18px; line-height:1.45; }
    .popup strong { color:var(--taupe-dark); }
    .popup-actions { margin-top:22px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
    .popup-btn { border:none; border-radius:999px; padding:13px 20px; font-size:15px; font-weight:800; cursor:pointer; }
    .popup-btn.primary { background:var(--orange); color:#fff; }
    .popup-btn.secondary { background:rgba(107,95,91,.10); color:var(--taupe-dark); }
    .confetti { pointer-events:none; position:absolute; inset:0; overflow:hidden; display:none; }
    .popup.win .confetti { display:block; }
    .confetti span { position:absolute; top:-18px; width:10px; height:18px; border-radius:4px; opacity:.95; animation:fall linear forwards; }
    @keyframes fall { to { transform:translateY(380px) rotate(320deg); opacity:.95; } }

    footer { padding:4px 0 26px; color:var(--muted); text-align:center; font-size:13px; }

    @media (max-width: 980px) {
      header { flex-direction:column; align-items:flex-start; }
      .hero-grid { grid-template-columns:1fr; }
      .hero-points, .tombola-intro { grid-template-columns:1fr; }
      .tools { grid-template-columns:1fr; }
      .tools button { min-height:48px; }
    }
    @media (max-width: 700px) {
      .hero { padding:24px 18px; border-radius:26px; }
      .section-card { padding:22px 16px; border-radius:24px; }
      .logo { height:62px; }
      .segment { font-size:clamp(15px, 4.2vw, 21px); gap:7px; }
      .seg-coupon { left:8%; top:30%; }
      .seg-vide { right:9%; top:31%; }
      .seg-cashback { bottom:9%; }
      .center-button { width:min(130px, 27vw); border-width:6px; }
      table { min-width:620px; }
    }
  
    /* Mise en forme en 3 pages */
    .page-nav {
      position: sticky;
      top: 10px;
      z-index: 80;
      display: flex;
      gap: 10px;
      justify-content: center;
      flex-wrap: wrap;
      padding: 10px;
      margin: 0 0 18px;
      background: rgba(255,255,255,.78);
      border: 1px solid var(--line);
      border-radius: 999px;
      backdrop-filter: blur(10px);
      box-shadow: 0 10px 28px rgba(79,70,67,.08);
    }

    .page-nav a {
      text-decoration: none;
      color: var(--taupe-dark);
      background: rgba(107,95,91,.08);
      padding: 10px 14px;
      border-radius: 999px;
      font-weight: 800;
      font-size: 14px;
      transition: .18s ease;
    }

    .page-nav a:hover {
      background: var(--orange);
      color: #fff;
      transform: translateY(-1px);
    }

    .page {
      min-height: calc(100vh - 130px);
      scroll-margin-top: 95px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .page-label {
      position: relative;
      z-index: 2;
      display: inline-flex;
      width: fit-content;
      align-items: center;
      gap: 8px;
      padding: 9px 13px;
      margin: 0 0 18px;
      border-radius: 999px;
      background: rgba(245,130,32,.12);
      color: var(--orange-dark);
      font-weight: 900;
      font-size: 14px;
    }

    .page-label.inside {
      margin-bottom: 18px;
    }

    .page-actions {
      display: flex;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 20px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
    }

    #campagne .cta-row {
      margin-top: 8px;
    }

    @media (max-width: 700px) {
      .page-nav {
        position: static;
        border-radius: 22px;
      }

      .page-nav a {
        width: 100%;
        text-align: center;
      }

      .page {
        min-height: auto;
      }
    }

  
    /* Correctif : vraie navigation page par page */
    .page {
      display: none !important;
      min-height: calc(100vh - 150px);
      scroll-margin-top: 0;
    }

    .page.active {
      display: block !important;
      animation: pageFade .28s ease;
    }

    @keyframes pageFade {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .page-nav a.is-active {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 18px rgba(245,130,32,.22);
    }

    /* Correctif fin : textes de la roue centrés dans chaque périmètre coloré */
    .wheel {
      position: relative;
      overflow: hidden;
    }

    .wheel .segment {
      position: absolute;
      min-width: 0;
      width: 25%;
      max-width: 160px;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: clamp(15px, 1.9vw, 20px);
      line-height: 1.12;
      font-weight: 900;
      letter-spacing: 0;
      transform: translate(-50%, -50%) !important;
      z-index: 3;
      pointer-events: none;
    }

    .wheel .segment span {
      display: block;
      width: 100%;
      text-align: center;
      white-space: normal;
      word-break: normal;
      margin: 0;
    }

    .wheel .segment svg {
      width: clamp(32px, 4.6vw, 46px);
      height: clamp(32px, 4.6vw, 46px);
      margin: 0;
      flex: 0 0 auto;
    }

    /* Zone gauche taupe */
    .wheel .seg-coupon {
      left: 26%;
      top: 49%;
      right: auto;
      bottom: auto;
      width: 23%;
      max-width: 145px;
    }

    /* Zone droite orange */
    .wheel .seg-vide {
      left: 70%;
      top: 36%;
      right: auto;
      bottom: auto;
      width: 24%;
      max-width: 145px;
    }

    /* Zone basse gris clair */
    .wheel .seg-cashback {
      left: 63%;
      top: 72%;
      right: auto;
      bottom: auto;
      width: 28%;
      max-width: 175px;
    }

    @media (max-width: 700px) {
      .page {
        min-height: auto;
      }

      .wheel .segment {
        font-size: clamp(10px, 3vw, 15px);
        gap: 5px;
      }

      .wheel .segment svg {
        width: clamp(22px, 6.5vw, 34px);
        height: clamp(22px, 6.5vw, 34px);
      }

      .wheel .seg-coupon {
        left: 26%;
        top: 50%;
        width: 24%;
      }

      .wheel .seg-vide {
        left: 70%;
        top: 36.5%;
        width: 24%;
      }

      .wheel .seg-cashback {
        left: 63%;
        top: 72%;
        width: 29%;
      }
    }

  
    /* Page 1 remplacée par l'affiche fournie */
    #campagne.hero {
      padding: 22px;
      background: rgba(255,255,255,.88);
    }

    .poster-page-wrapper {
      position: relative;
      z-index: 2;
      width: min(980px, 100%);
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 18px;
    }

    .campaign-poster-image {
      width: min(900px, 100%);
      height: auto;
      display: block;
      border-radius: 26px;
      box-shadow: 0 22px 55px rgba(79,70,67,.16);
      border: 1px solid rgba(107,95,91,.10);
      background: #fff;
    }

    .poster-page-actions {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 14px;
      flex-wrap: wrap;
      padding: 14px;
      border-radius: 999px;
      background: rgba(255,255,255,.86);
      border: 1px solid var(--line);
      box-shadow: 0 12px 30px rgba(79,70,67,.10);
    }

    @media (max-width: 700px) {
      #campagne.hero {
        padding: 14px;
      }

      .campaign-poster-image {
        border-radius: 18px;
      }

      .poster-page-actions {
        width: 100%;
        border-radius: 22px;
      }

      .poster-page-actions .btn {
        width: 100%;
      }
    }

  
    /* Version prospects sans WhatsApp : coupon téléchargeable */
    .tombola-motivation {
      margin: 0 auto 18px;
      padding: 22px 24px;
      border-radius: 24px;
      text-align: center;
      background: linear-gradient(135deg, rgba(245,130,32,.13), rgba(107,95,91,.07));
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(79,70,67,.08);
    }

    .tombola-motivation h3 {
      margin: 0 0 8px;
      color: var(--taupe-dark);
      font-size: clamp(24px, 3vw, 34px);
    }

    .tombola-motivation p {
      margin: 0 auto;
      max-width: 820px;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.5;
    }

    .client-form-card {
      margin: 0 auto 18px;
      padding: 20px;
      border-radius: 24px;
      background: rgba(255,255,255,.92);
      border: 1px solid var(--line);
      box-shadow: 0 12px 30px rgba(79,70,67,.09);
    }

    .client-form-head { text-align: center; margin-bottom: 14px; }
    .client-form-head h3 { margin: 0 0 6px; color: var(--taupe-dark); font-size: 22px; }
    .client-form-head p { margin: 0; color: var(--muted); font-size: 14px; }

    .client-form {
      display: grid;
      grid-template-columns: 1fr 1fr auto;
      gap: 12px;
      align-items: end;
    }

    .form-group { display: flex; flex-direction: column; gap: 7px; text-align: left; }
    .form-group label { font-weight: 800; color: var(--taupe-dark); font-size: 14px; }

    .form-group input {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 14px 14px;
      font-size: 15px;
      background: #fff;
      color: var(--text);
      outline: none;
    }

    .form-group input:focus {
      border-color: var(--orange);
      box-shadow: 0 0 0 4px rgba(245,130,32,.12);
    }

    .form-status {
      margin-top: 12px;
      padding: 11px 13px;
      border-radius: 14px;
      background: rgba(107,95,91,.07);
      color: var(--muted);
      font-weight: 700;
      font-size: 14px;
      text-align: center;
    }

    .form-status.ok { background: rgba(40,145,90,.12); color: #24724b; }
    .form-status.error { background: rgba(210,70,50,.12); color: #a33b2d; }

    .center-button[disabled] {
      opacity: .55;
      filter: grayscale(.35);
      cursor: not-allowed;
    }

    .wheel-six {
      background: conic-gradient(
        from 0deg,
        var(--orange) 0deg 60deg,
        var(--taupe-light) 60deg 120deg,
        var(--taupe) 120deg 180deg,
        var(--orange) 180deg 240deg,
        var(--taupe-light) 240deg 300deg,
        var(--taupe) 300deg 360deg
      ) !important;
      position: relative;
      overflow: hidden;
    }

    .wheel-six::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 49.5%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.5%),
        linear-gradient(30deg, transparent 49.5%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.5%),
        linear-gradient(150deg, transparent 49.5%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.5%);
      pointer-events: none;
      opacity: .92;
      z-index: 1;
    }

    .wheel-six .segment {
      position: absolute;
      width: 22%;
      max-width: 120px;
      min-width: 0;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      font-size: clamp(19px, 2.8vw, 32px);
      line-height: 1;
      font-weight: 950;
      transform: translate(-50%, -50%) !important;
      text-shadow: 0 1px 2px rgba(0,0,0,.12);
      z-index: 3;
      pointer-events: none;
    }

    .wheel-six .segment span {
      display: block;
      width: 100%;
      text-align: center;
      font-size: 1em;
      line-height: 1;
      margin: 0;
      white-space: nowrap;
    }

    .wheel-six .segment small {
      display: block;
      width: 100%;
      text-align: center;
      font-size: .44em;
      line-height: 1.1;
      font-weight: 800;
      margin-top: 4px;
      white-space: normal;
    }

    .wheel-six .seg-rate002 { left: 65%; top: 25%; color: #fff; }
    .wheel-six .seg-empty1 { left: 80%; top: 50%; color: var(--taupe-dark); }
    .wheel-six .seg-rate003 { left: 65%; top: 75%; color: #fff; }
    .wheel-six .seg-empty2 { left: 35%; top: 75%; color: #fff; }
    .wheel-six .seg-rate004 { left: 20%; top: 50%; color: var(--taupe-dark); }
    .wheel-six .seg-empty3 { left: 35%; top: 25%; color: #fff; }

    .coupon-card {
      margin: 20px auto 0;
      padding: 20px;
      border-radius: 26px;
      background: rgba(255,255,255,.94);
      border: 1px solid rgba(245,130,32,.22);
      box-shadow: 0 16px 38px rgba(79,70,67,.12);
    }

    .coupon-preview {
      width: min(760px, 100%);
      margin: 0 auto;
      padding: 28px;
      border-radius: 26px;
      background:
        radial-gradient(circle at 88% 12%, rgba(245,130,32,.16), transparent 22%),
        linear-gradient(135deg, #ffffff, #fff7ee);
      border: 2px dashed rgba(245,130,32,.55);
      color: var(--taupe-dark);
      position: relative;
      overflow: hidden;
    }

    .coupon-preview::before {
      content: "";
      position: absolute;
      width: 210px;
      height: 210px;
      border-radius: 50%;
      background: rgba(107,95,91,.06);
      right: -70px;
      bottom: -80px;
    }

    .coupon-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      position: relative;
      z-index: 1;
      margin-bottom: 18px;
    }

    .coupon-logo {
      max-width: 210px;
      height: 72px;
      object-fit: contain;
      object-position: left center;
    }

    .coupon-tag {
      padding: 9px 13px;
      border-radius: 999px;
      background: rgba(245,130,32,.13);
      color: var(--orange-dark);
      font-weight: 900;
      font-size: 14px;
      text-align: center;
    }

    .coupon-title {
      position: relative;
      z-index: 1;
      text-align: center;
      color: var(--taupe-dark);
      font-size: clamp(26px, 4vw, 40px);
      font-weight: 950;
      margin-top: 4px;
    }

    .coupon-rate {
      position: relative;
      z-index: 1;
      display: grid;
      place-items: center;
      width: 156px;
      height: 156px;
      margin: 18px auto;
      border-radius: 50%;
      background: var(--orange);
      color: #fff;
      font-size: 46px;
      font-weight: 950;
      box-shadow: 0 18px 34px rgba(245,130,32,.25);
    }

    .coupon-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 14px;
    }

    .coupon-grid div {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 13px;
    }

    .coupon-grid span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .4px;
      margin-bottom: 5px;
    }

    .coupon-grid strong {
      display: block;
      color: var(--taupe-dark);
      font-size: 17px;
      word-break: break-word;
    }

    .coupon-note {
      position: relative;
      z-index: 1;
      margin-top: 16px;
      padding: 14px;
      border-radius: 18px;
      background: rgba(107,95,91,.07);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      text-align: center;
      font-weight: 700;
    }

    .coupon-actions {
      display: flex;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 16px;
    }

    @media print {
      body * { visibility: hidden !important; }
      #couponPreview, #couponPreview * { visibility: visible !important; }
      #couponPreview {
        position: absolute;
        left: 0;
        top: 0;
        width: 100% !important;
        box-shadow: none !important;
      }
    }

    @media (max-width: 820px) {
      .client-form { grid-template-columns: 1fr; }
      .coupon-top { flex-direction: column; justify-content: center; text-align: center; }
      .coupon-logo { object-position: center center; }
      .coupon-grid { grid-template-columns: 1fr; }

      .wheel-six .segment {
        width: 24%;
        max-width: 92px;
        font-size: clamp(15px, 4.2vw, 22px);
        gap: 3px;
      }

      .wheel-six .segment small { font-size: .42em; }
      .wheel-six .seg-rate002 { left: 65%; top: 26%; }
      .wheel-six .seg-empty1 { left: 79%; top: 50%; }
      .wheel-six .seg-rate003 { left: 65%; top: 74%; }
      .wheel-six .seg-empty2 { left: 35%; top: 74%; }
      .wheel-six .seg-rate004 { left: 21%; top: 50%; }
      .wheel-six .seg-empty3 { left: 35%; top: 26%; }
    }

  
    .legal-consent {
      grid-column: 1 / -1;
      display: flex;
      align-items: flex-start;
      gap: 11px;
      padding: 14px 16px;
      border-radius: 16px;
      background: rgba(107,95,91,.06);
      border: 1px solid var(--line);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 700;
      cursor: pointer;
      text-align: left;
    }

    .legal-consent input {
      width: 18px;
      height: 18px;
      margin-top: 2px;
      accent-color: var(--orange);
      flex: 0 0 auto;
    }

    .legal-consent span {
      display: block;
    }

    #sendClientInfo {
      grid-column: 1 / -1;
      justify-self: center;
      min-width: 180px;
    }

  
    /* Version finale : agences avec adresses, cadeau promotionnel, cours bonifié et blocage 24h */
    .tools-addresses {
      grid-template-columns: 1fr auto !important;
    }

    .address-link {
      color: var(--orange-dark);
      font-weight: 800;
      text-decoration: none;
    }

    .address-link:hover {
      text-decoration: underline;
    }

    .tombola-motivation {
      margin: 0 auto 18px;
      padding: 22px 24px;
      border-radius: 24px;
      text-align: center;
      background: linear-gradient(135deg, rgba(245,130,32,.13), rgba(107,95,91,.07));
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(79,70,67,.08);
    }

    .tombola-motivation h3 {
      margin: 0 0 8px;
      color: var(--taupe-dark);
      font-size: clamp(24px, 3vw, 34px);
    }

    .tombola-motivation p {
      margin: 0 auto;
      max-width: 850px;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.5;
    }

    .client-form-card {
      margin: 0 auto 18px;
      padding: 20px;
      border-radius: 24px;
      background: rgba(255,255,255,.92);
      border: 1px solid var(--line);
      box-shadow: 0 12px 30px rgba(79,70,67,.09);
    }

    .client-form-head { text-align: center; margin-bottom: 14px; }
    .client-form-head h3 { margin: 0 0 6px; color: var(--taupe-dark); font-size: 22px; }
    .client-form-head p { margin: 0; color: var(--muted); font-size: 14px; }

    .client-form {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items: end;
    }

    .form-group { display: flex; flex-direction: column; gap: 7px; text-align: left; }
    .form-group label { font-weight: 800; color: var(--taupe-dark); font-size: 14px; }

    .form-group input {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 14px 14px;
      font-size: 15px;
      background: #fff;
      color: var(--text);
      outline: none;
    }

    .form-group input:focus {
      border-color: var(--orange);
      box-shadow: 0 0 0 4px rgba(245,130,32,.12);
    }

    .legal-consent {
      grid-column: 1 / -1;
      display: flex;
      align-items: flex-start;
      gap: 11px;
      padding: 14px 16px;
      border-radius: 16px;
      background: rgba(107,95,91,.06);
      border: 1px solid var(--line);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 700;
      cursor: pointer;
      text-align: left;
    }

    .operation-consent {
      background: rgba(245,130,32,.09);
      border-color: rgba(245,130,32,.22);
    }

    .legal-consent input {
      width: 18px;
      height: 18px;
      margin-top: 2px;
      accent-color: var(--orange);
      flex: 0 0 auto;
    }

    .legal-consent span { display: block; }

    #sendClientInfo {
      grid-column: 1 / -1;
      justify-self: center;
      min-width: 180px;
    }

    .form-status {
      margin-top: 12px;
      padding: 11px 13px;
      border-radius: 14px;
      background: rgba(107,95,91,.07);
      color: var(--muted);
      font-weight: 700;
      font-size: 14px;
      text-align: center;
    }

    .form-status.ok { background: rgba(40,145,90,.12); color: #24724b; }
    .form-status.error { background: rgba(210,70,50,.12); color: #a33b2d; }

    .center-button[disabled] {
      opacity: .55;
      filter: grayscale(.35);
      cursor: not-allowed;
    }

    .wheel-six {
      background: conic-gradient(
        from 0deg,
        var(--orange) 0deg 60deg,
        var(--taupe-light) 60deg 120deg,
        var(--taupe) 120deg 180deg,
        var(--orange) 180deg 240deg,
        var(--taupe-light) 240deg 300deg,
        var(--taupe) 300deg 360deg
      ) !important;
      position: relative;
      overflow: hidden;
    }

    .wheel-six::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 49.4%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.6%),
        linear-gradient(30deg, transparent 49.4%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.6%),
        linear-gradient(150deg, transparent 49.4%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.6%);
      pointer-events: none;
      opacity: .92;
      z-index: 1;
    }

    .wheel-six .segment {
      position: absolute;
      width: 22%;
      max-width: 130px;
      min-width: 0;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: clamp(17px, 2.35vw, 27px);
      line-height: 1.05;
      font-weight: 950;
      transform: translate(-50%, -50%) !important;
      text-shadow: 0 1px 2px rgba(0,0,0,.12);
      z-index: 3;
      pointer-events: none;
    }

    .wheel-six .segment span {
      display: block;
      width: 100%;
      text-align: center;
      margin: 0;
    }

    .wheel-six .segment small {
      font-size: .74em;
      font-weight: 900;
    }

    .wheel-six .seg-bonus1 { left: 65%; top: 25%; color: #fff; }
    .wheel-six .seg-empty1 { left: 80%; top: 50%; color: var(--taupe-dark); }
    .wheel-six .seg-cadeau promotionnel { left: 65%; top: 75%; color: #fff; }
    .wheel-six .seg-empty2 { left: 35%; top: 75%; color: #fff; }
    .wheel-six .seg-bonus2 { left: 20%; top: 50%; color: var(--taupe-dark); }
    .wheel-six .seg-empty3 { left: 35%; top: 25%; color: #fff; }

    .coupon-card {
      margin: 20px auto 0;
      padding: 20px;
      border-radius: 26px;
      background: rgba(255,255,255,.94);
      border: 1px solid rgba(245,130,32,.22);
      box-shadow: 0 16px 38px rgba(79,70,67,.12);
    }

    .coupon-preview {
      width: min(760px, 100%);
      margin: 0 auto;
      padding: 28px;
      border-radius: 26px;
      background:
        radial-gradient(circle at 88% 12%, rgba(245,130,32,.16), transparent 22%),
        linear-gradient(135deg, #ffffff, #fff7ee);
      border: 2px dashed rgba(245,130,32,.55);
      color: var(--taupe-dark);
      position: relative;
      overflow: hidden;
    }

    .coupon-preview::before {
      content: "";
      position: absolute;
      width: 210px;
      height: 210px;
      border-radius: 50%;
      background: rgba(107,95,91,.06);
      right: -70px;
      bottom: -80px;
    }

    .coupon-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      position: relative;
      z-index: 1;
      margin-bottom: 18px;
    }

    .coupon-logo {
      max-width: 210px;
      height: 72px;
      object-fit: contain;
      object-position: left center;
    }

    .coupon-tag {
      padding: 9px 13px;
      border-radius: 999px;
      background: rgba(245,130,32,.13);
      color: var(--orange-dark);
      font-weight: 900;
      font-size: 14px;
      text-align: center;
    }

    .coupon-title {
      position: relative;
      z-index: 1;
      text-align: center;
      color: var(--taupe-dark);
      font-size: clamp(26px, 4vw, 40px);
      font-weight: 950;
      margin-top: 4px;
    }

    .coupon-rate {
      position: relative;
      z-index: 1;
      display: grid;
      place-items: center;
      min-width: 170px;
      min-height: 120px;
      width: fit-content;
      padding: 18px 28px;
      margin: 18px auto;
      border-radius: 28px;
      background: var(--orange);
      color: #fff;
      font-size: clamp(28px, 4vw, 46px);
      font-weight: 950;
      box-shadow: 0 18px 34px rgba(245,130,32,.25);
      text-align: center;
      line-height: 1.05;
    }

    .coupon-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 14px;
    }

    .coupon-grid div {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 13px;
    }

    .coupon-grid span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .4px;
      margin-bottom: 5px;
    }

    .coupon-grid strong {
      display: block;
      color: var(--taupe-dark);
      font-size: 17px;
      word-break: break-word;
    }

    .coupon-note {
      position: relative;
      z-index: 1;
      margin-top: 16px;
      padding: 14px;
      border-radius: 18px;
      background: rgba(107,95,91,.07);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      text-align: center;
      font-weight: 700;
    }

    .coupon-actions {
      display: flex;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 16px;
    }

    @media print {
      body * { visibility: hidden !important; }
      #couponPreview, #couponPreview * { visibility: visible !important; }
      #couponPreview {
        position: absolute;
        left: 0;
        top: 0;
        width: 100% !important;
        box-shadow: none !important;
      }
    }

    @media (max-width: 820px) {
      .tools-addresses { grid-template-columns: 1fr !important; }
      .client-form { grid-template-columns: 1fr; }
      .coupon-top { flex-direction: column; justify-content: center; text-align: center; }
      .coupon-logo { object-position: center center; }
      .coupon-grid { grid-template-columns: 1fr; }

      .wheel-six .segment {
        width: 24%;
        max-width: 94px;
        font-size: clamp(13px, 3.7vw, 20px);
      }

      .wheel-six .seg-bonus1 { left: 65%; top: 26%; }
      .wheel-six .seg-empty1 { left: 79%; top: 50%; }
      .wheel-six .seg-cadeau promotionnel { left: 65%; top: 74%; }
      .wheel-six .seg-empty2 { left: 35%; top: 74%; }
      .wheel-six .seg-bonus2 { left: 21%; top: 50%; }
      .wheel-six .seg-empty3 { left: 35%; top: 26%; }
    }

  
    /* Sélecteur de langue */
    .language-widget {
      position: fixed;
      top: 18px;
      right: 18px;
      z-index: 999;
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 8px;
      border-radius: 999px;
      background: rgba(255,255,255,.94);
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(79,70,67,.12);
      backdrop-filter: blur(10px);
    }

    html[dir="rtl"] .language-widget {
      right: auto;
      left: 18px;
    }

    .language-main {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      border: none;
      background: var(--orange);
      color: #fff;
      display: grid;
      place-items: center;
      font-size: 18px;
      cursor: pointer;
    }

    .language-options {
      display: flex;
      gap: 5px;
    }

    .language-options button {
      border: none;
      border-radius: 999px;
      padding: 8px 10px;
      background: rgba(107,95,91,.08);
      color: var(--taupe-dark);
      font-weight: 900;
      cursor: pointer;
      font-size: 12px;
    }

    .language-options button.active {
      background: var(--orange);
      color: #fff;
    }

    html[dir="rtl"] body {
      direction: rtl;
      text-align: right;
    }

    html[dir="rtl"] table,
    html[dir="rtl"] .coupon-preview,
    html[dir="rtl"] .result-box,
    html[dir="rtl"] .wheel-zone,
    html[dir="rtl"] .poster-page-actions,
    html[dir="rtl"] .page-actions {
      direction: rtl;
    }

    .poster-lang-caption {
      width: min(900px, 100%);
      padding: 18px 20px;
      border-radius: 22px;
      background: rgba(255,255,255,.92);
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(79,70,67,.08);
      text-align: center;
    }

    .poster-lang-caption h3 {
      margin: 0 0 6px;
      color: var(--taupe-dark);
      font-size: clamp(22px, 3vw, 32px);
    }

    .poster-lang-caption p {
      margin: 0;
      color: var(--muted);
      font-weight: 700;
      line-height: 1.45;
    }

    .tools-addresses {
      grid-template-columns: 1fr auto !important;
    }

    .address-link {
      color: var(--orange-dark);
      font-weight: 800;
      text-decoration: none;
    }

    .address-link:hover {
      text-decoration: underline;
    }

    .tombola-motivation {
      margin: 0 auto 18px;
      padding: 22px 24px;
      border-radius: 24px;
      text-align: center;
      background: linear-gradient(135deg, rgba(245,130,32,.13), rgba(107,95,91,.07));
      border: 1px solid var(--line);
      box-shadow: 0 12px 28px rgba(79,70,67,.08);
    }

    .tombola-motivation h3 {
      margin: 0 0 8px;
      color: var(--taupe-dark);
      font-size: clamp(24px, 3vw, 34px);
    }

    .tombola-motivation p {
      margin: 0 auto;
      max-width: 850px;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.5;
    }

    .client-form-card {
      margin: 0 auto 18px;
      padding: 20px;
      border-radius: 24px;
      background: rgba(255,255,255,.92);
      border: 1px solid var(--line);
      box-shadow: 0 12px 30px rgba(79,70,67,.09);
    }

    .client-form-head { text-align: center; margin-bottom: 14px; }
    .client-form-head h3 { margin: 0 0 6px; color: var(--taupe-dark); font-size: 22px; }
    .client-form-head p { margin: 0; color: var(--muted); font-size: 14px; }

    .client-form {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      align-items: end;
    }

    .form-group { display: flex; flex-direction: column; gap: 7px; text-align: left; }
    html[dir="rtl"] .form-group { text-align: right; }
    .form-group label { font-weight: 800; color: var(--taupe-dark); font-size: 14px; }

    .form-group input {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 14px 14px;
      font-size: 15px;
      background: #fff;
      color: var(--text);
      outline: none;
    }

    .legal-consent {
      grid-column: 1 / -1;
      display: flex;
      align-items: flex-start;
      gap: 11px;
      padding: 14px 16px;
      border-radius: 16px;
      background: rgba(107,95,91,.06);
      border: 1px solid var(--line);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 700;
      cursor: pointer;
      text-align: left;
    }

    html[dir="rtl"] .legal-consent {
      text-align: right;
    }

    .operation-consent {
      background: rgba(245,130,32,.09);
      border-color: rgba(245,130,32,.22);
    }

    .legal-consent input {
      width: 18px;
      height: 18px;
      margin-top: 2px;
      accent-color: var(--orange);
      flex: 0 0 auto;
    }

    #sendClientInfo {
      grid-column: 1 / -1;
      justify-self: center;
      min-width: 180px;
    }

    .form-status {
      margin-top: 12px;
      padding: 11px 13px;
      border-radius: 14px;
      background: rgba(107,95,91,.07);
      color: var(--muted);
      font-weight: 700;
      font-size: 14px;
      text-align: center;
    }

    .form-status.ok { background: rgba(40,145,90,.12); color: #24724b; }
    .form-status.error { background: rgba(210,70,50,.12); color: #a33b2d; }

    .center-button[disabled] {
      opacity: .55;
      filter: grayscale(.35);
      cursor: not-allowed;
    }

    /* Roue proportionnelle : 60% Cours bonifié / 20% Vide / 20% Cadeau promotionnel */
    .wheel-probability {
      background: conic-gradient(
        from 0deg,
        var(--orange) 0deg 216deg,
        var(--taupe-light) 216deg 288deg,
        var(--taupe) 288deg 360deg
      ) !important;
      position: relative;
      overflow: hidden;
    }

    .wheel-probability::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        conic-gradient(
          from 0deg,
          transparent 0deg 215deg,
          rgba(255,255,255,.95) 215deg 217deg,
          transparent 217deg 287deg,
          rgba(255,255,255,.95) 287deg 289deg,
          transparent 289deg 360deg
        );
      pointer-events: none;
      z-index: 1;
    }

    .wheel-probability .segment {
      position: absolute;
      width: 30%;
      max-width: 185px;
      min-width: 0;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: clamp(17px, 2.25vw, 28px);
      line-height: 1.05;
      font-weight: 950;
      transform: translate(-50%, -50%) !important;
      text-shadow: 0 1px 2px rgba(0,0,0,.12);
      z-index: 3;
      pointer-events: none;
    }

    .wheel-probability .segment span {
      display: block;
      width: 100%;
      text-align: center;
      margin: 0;
    }

    .wheel-probability .seg-bonus { left: 80%; top: 60%; color: #fff; }
    .wheel-probability .seg-empty { left: 20%; top: 60%; color: var(--taupe-dark); }
    .wheel-probability .seg-gift { left: 32%; top: 24%; color: #fff; font-size: clamp(16px, 2.05vw, 25px); }

    .coupon-card {
      margin: 20px auto 0;
      padding: 20px;
      border-radius: 26px;
      background: rgba(255,255,255,.94);
      border: 1px solid rgba(245,130,32,.22);
      box-shadow: 0 16px 38px rgba(79,70,67,.12);
    }

    .coupon-preview {
      width: min(760px, 100%);
      margin: 0 auto;
      padding: 28px;
      border-radius: 26px;
      background:
        radial-gradient(circle at 88% 12%, rgba(245,130,32,.16), transparent 22%),
        linear-gradient(135deg, #ffffff, #fff7ee);
      border: 2px dashed rgba(245,130,32,.55);
      color: var(--taupe-dark);
      position: relative;
      overflow: hidden;
    }

    .coupon-preview::before {
      content: "";
      position: absolute;
      width: 210px;
      height: 210px;
      border-radius: 50%;
      background: rgba(107,95,91,.06);
      right: -70px;
      bottom: -80px;
    }

    .coupon-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      position: relative;
      z-index: 1;
      margin-bottom: 18px;
    }

    .coupon-logo {
      max-width: 210px;
      height: 72px;
      object-fit: contain;
      object-position: left center;
    }

    .coupon-tag {
      padding: 9px 13px;
      border-radius: 999px;
      background: rgba(245,130,32,.13);
      color: var(--orange-dark);
      font-weight: 900;
      font-size: 14px;
      text-align: center;
    }

    .coupon-title {
      position: relative;
      z-index: 1;
      text-align: center;
      color: var(--taupe-dark);
      font-size: clamp(26px, 4vw, 40px);
      font-weight: 950;
      margin-top: 4px;
    }

    .coupon-rate {
      position: relative;
      z-index: 1;
      display: grid;
      place-items: center;
      min-width: 180px;
      min-height: 130px;
      width: fit-content;
      padding: 18px 28px;
      margin: 18px auto;
      border-radius: 30px;
      background: var(--orange);
      color: #fff;
      font-size: clamp(28px, 4vw, 46px);
      font-weight: 950;
      box-shadow: 0 18px 34px rgba(245,130,32,.25);
      text-align: center;
      line-height: 1.05;
    }

    .coupon-rate small {
      font-size: .72em;
    }

    .coupon-grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 14px;
    }

    .coupon-grid div {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 13px;
    }

    .coupon-grid span {
      display: block;
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .4px;
      margin-bottom: 5px;
    }

    .coupon-grid strong {
      display: block;
      color: var(--taupe-dark);
      font-size: 17px;
      word-break: break-word;
    }

    .coupon-note {
      position: relative;
      z-index: 1;
      margin-top: 16px;
      padding: 14px;
      border-radius: 18px;
      background: rgba(107,95,91,.07);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      text-align: center;
      font-weight: 700;
    }

    .coupon-actions {
      display: flex;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 16px;
    }

    @media print {
      body * { visibility: hidden !important; }
      #couponPreview, #couponPreview * { visibility: visible !important; }
      #couponPreview {
        position: absolute;
        left: 0;
        top: 0;
        width: 100% !important;
        box-shadow: none !important;
      }
    }

    @media (max-width: 820px) {
      .tools-addresses { grid-template-columns: 1fr !important; }
      .client-form { grid-template-columns: 1fr; }
      .coupon-top { flex-direction: column; justify-content: center; text-align: center; }
      .coupon-logo { object-position: center center; }
      .coupon-grid { grid-template-columns: 1fr; }

      .wheel-probability .segment {
        width: 32%;
        max-width: 125px;
        font-size: clamp(13px, 3.6vw, 19px);
      }

      .wheel-probability .seg-gift {
        font-size: clamp(12px, 3.3vw, 18px);
      }

      .language-widget {
        top: 10px;
        right: 10px;
        transform: scale(.92);
        transform-origin: top right;
      }

      html[dir="rtl"] .language-widget {
        left: 10px;
        right: auto;
        transform-origin: top left;
      }
    }

  
    /* Correctif final : langue sous forme de liste déroulante */
    .language-dropdown {
      gap: 9px;
      border-radius: 18px;
      padding: 8px 10px;
    }

    .language-dropdown .language-icon {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: var(--orange);
      color: #fff;
      display: grid;
      place-items: center;
      font-size: 17px;
      flex: 0 0 auto;
    }

    .language-dropdown select {
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 9px 34px 9px 12px;
      background: #fff;
      color: var(--taupe-dark);
      font-weight: 900;
      outline: none;
      cursor: pointer;
      min-width: 126px;
    }

    html[dir="rtl"] .language-dropdown select {
      padding: 9px 12px 9px 34px;
    }

    /* Correctif final : roue visuelle en 6 parties égales */
    .wheel-probability {
      background: conic-gradient(
        from 0deg,
        var(--orange) 0deg 60deg,
        var(--taupe-light) 60deg 120deg,
        var(--taupe) 120deg 180deg,
        var(--orange) 180deg 240deg,
        var(--taupe-light) 240deg 300deg,
        var(--taupe) 300deg 360deg
      ) !important;
      position: relative;
      overflow: hidden;
    }

    .wheel-probability::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, transparent 49.45%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.55%),
        linear-gradient(30deg, transparent 49.45%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.55%),
        linear-gradient(150deg, transparent 49.45%, rgba(255,255,255,.95) 49.8%, rgba(255,255,255,.95) 50.2%, transparent 50.55%);
      pointer-events: none;
      opacity: .92;
      z-index: 1;
    }

    .wheel-probability .segment {
      position: absolute;
      width: 24%;
      max-width: 145px;
      min-width: 0;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: clamp(15px, 2.05vw, 24px);
      line-height: 1.06;
      font-weight: 950;
      transform: translate(-50%, -50%) !important;
      text-shadow: 0 1px 2px rgba(0,0,0,.14);
      z-index: 3;
      pointer-events: none;
    }

    .wheel-probability .segment span {
      display: block;
      width: 100%;
      text-align: center;
      margin: 0;
    }

    .wheel-probability .seg-bonus1 { left: 65%; top: 25%; color: #fff; }
    .wheel-probability .seg-empty1 { left: 80%; top: 50%; color: var(--taupe-dark); }
    .wheel-probability .seg-gift1 { left: 65%; top: 75%; color: #fff; font-size: clamp(13px, 1.8vw, 21px); }
    .wheel-probability .seg-bonus2 { left: 35%; top: 75%; color: #fff; }
    .wheel-probability .seg-empty2 { left: 20%; top: 50%; color: var(--taupe-dark); }
    .wheel-probability .seg-gift2 { left: 35%; top: 25%; color: #fff; font-size: clamp(13px, 1.8vw, 21px); }

    @media (max-width: 820px) {
      .wheel-probability .segment {
        width: 25%;
        max-width: 96px;
        font-size: clamp(12px, 3.35vw, 17px);
      }

      .wheel-probability .seg-gift1,
      .wheel-probability .seg-gift2 {
        font-size: clamp(10px, 2.8vw, 14px);
      }

      .language-dropdown {
        transform: scale(.94);
      }

      .language-dropdown select {
        min-width: 112px;
        font-size: 12px;
      }
    }

  
    /* Ajustements demandés : version FR, agences sans compteur visible, détails masqués avant recherche */
    #countBadge,
    #agencyTotal,
    #agences .statsline div:first-child,
    .language-widget,
    .language-dropdown {
      display: none !important;
    }

    #agences .statsline {
      justify-content: flex-end;
    }

    .agency-search-hint {
      text-align: center;
      color: var(--muted);
      font-weight: 800;
      padding: 22px 14px;
      background: #fffaf5;
    }

    .wheel-probability .seg-empty1,
    .wheel-probability .seg-empty2 {
      font-size: clamp(11px, 1.5vw, 18px) !important;
      line-height: 1.02 !important;
    }

    @media (max-width: 820px) {
      .wheel-probability .seg-empty1,
      .wheel-probability .seg-empty2 {
        font-size: clamp(8px, 2.25vw, 12px) !important;
      }
    }

  
    /* Ajustement demandé : suppression de la condition de montant minimum sur la page tombola */
    #tombola .section-head p:empty {
      display: none !important;
    }