:root {
  --couleur1: #ff6e14;
  --couleur2: #2b2b2b;
  --couleur3: #1d4ed8;
  --couleur4:#f1f7ff;
  --couleur5:#7a5b00;
  --couleur6: #fff7db;
  --couleur7: #d7f8e1;
  --couleur8:#ebebeb;
  --couleur9:#FFFFFF;
  --orange: #ff6600;
    --orange-dark: #e05500;
    --navy: #0b1f3a;
    --navy-2: #14315c;

  --policeboutons:clamp(18px,1.255vw,1.39vw);
  --policeh1:clamp(28px,2vw,2.234vw);
  --policep:clamp(15px, 1vw, 1.063vw);
}



body {
  font-family: 'Segoe UI', Arial, sans-serif;
  background-color:var(--couleur8);
  margin: 0;
  font-size: var(--policep);
}

.header-site {
  background-color: white;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 3vw;
}

.logo-site {
  display: block;
  height: 50px;
  width: auto;
  margin: 0;
}

.header-back {
  color: var(--couleur2);
  font-size: 1.2rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

@media (max-width: 768px) {
  .header-site {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
  }

  .logo-site {
    margin-left: 0;
  }

  .header-back {
    align-self: center;
  }
}

h1, h2, h3 {
  font-family: 'Segoe UI', Arial, sans-serif;
}

h1 {
    font-weight: 800;
    font-size: var(--policeh1);
}

.boutons {
  background-color: var(--couleur1);
  color: white;
  border: none;
  padding: 0.5em 2em;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-size: var(--policeboutons);
  border-radius: 10px;
  font-weight: 500;
}

.btn-orange {
  background-color: var(--couleur1);
  color: white;
  border: none;
  padding: 0.9rem 1rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-size: var(--policeboutons);
  border-radius: 10px;
  font-weight: 600;
}

.btn-orange:hover {
  background-color: #e65e0f;
}

.btn-connect-social {
  background-color: white;
  border-color: #d1d5db;
  color: #1f2937;
  border-radius: 10px;
  padding: 0.9rem 1rem;
  font-size: var(--policeboutons);
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-connect-social i {
  font-size: 1.1rem;
}

.btn-connect-social:hover {
  background-color: #f8fafc;
  border-color: #cbd5e1;
}

.form-control {
  padding: 0.7em 0.7em;
}

.input-with-currency {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.input-with-currency .form-control {
  flex: 1;
  padding-right: 0.75rem;
}

.currency-suffix {
  color: #6c757d;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.input-with-currency.active .currency-suffix {
  opacity: 1;
}

.form-control:focus {
  border-color: var(--couleur1);
  box-shadow: none;
}

.boite {
  background-color: var(--couleur9);
  padding: 2em 3vw;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.f-gris {
    background-color: var(--couleur8);
    padding: 2em;
    border-radius: 100%;
    width: fit-content;
    margin: auto;
}


.f-gris2 {
    background-color: var(--couleur6);
}

.f-gris3 {
    background-color: var(--couleur8);
}

.brod0
{
    border: 0px solid var(--couleur8) !important;
}

.espace2{
  padding: 3vw 2em;
}

.bank-selector {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background-color: white;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s ease;
  cursor: pointer;
}

.bank-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.bank-selector:hover {
  border-color: var(--couleur1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.bank-logo {
  height: auto;
  width: 70px;
  flex-shrink: 0;
}

.bank-name {
  flex: 1;
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--couleur2);
}

.bank-selector i {
  color: var(--couleur1);
  font-size: 1.25rem;
  flex-shrink: 0;
}


  .payment-wrap {
    max-width: 460px;
    margin: 0 auto;
  }
 
  /* ---------- CARTE BANCAIRE ---------- */
  .card-scene {
    perspective: 1200px;
    margin-bottom: 32px;
  }
 
  .credit-card {
    position: relative;
    width: 100%;
    aspect-ratio: 1.586 / 1;
    border-radius: 18px;
    box-shadow: 0 18px 34px rgba(11, 31, 58, 0.35);
    transform-style: preserve-3d;
    transition: transform 0.6s ease;
  }
 
  .credit-card.is-flipped {
    transform: rotateY(180deg);
  }
 
  .card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 1;
  }
 
  .card-brand {
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.5px;
  }
 
  .card-brand span {
    color: var(--orange);
  }
 
  .chip {
    width: 42px;
    height: 32px;
    border-radius: 6px;
    background: linear-gradient(135deg, #e8c565, #b8912f);
    position: relative;
  }
  .chip::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(0,0,0,0.25);
    border-radius: 3px;
  }
 
  .card-number {
    font-size: 1.35rem;
    letter-spacing: 3px;
    font-family: "Courier New", monospace;
    z-index: 1;
    white-space: nowrap;
  }
 
  .card-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    z-index: 1;
  }
 
  .card-label {
    font-size: 0.62rem;
    text-transform: uppercase;
    opacity: 0.65;
    letter-spacing: 0.6px;
    margin-bottom: 2px;
  }
 
  .card-holder,
  .card-expiry {
    font-size: 0.95rem;
    font-family: "Courier New", monospace;
    letter-spacing: 1px;
  }
 
  .card-network {
    font-style: italic;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0;
  }
 
  /* Recto + Verso : deux faces superposées dans l'espace 3D */
  .credit-card-front,
  .credit-card-back {
    position: absolute;
    inset: 0;
    border-radius: 18px;
    padding: 24px 26px;
    color: #fff;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden;
  }
 
  .credit-card-front {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 55%, #1c4a86 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
 
  .credit-card-front::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,102,0,0.35), transparent 70%);
  }
 
  .credit-card-back {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 60%);
    transform: rotateY(180deg);
    display: flex;
    flex-direction: column;
  }
  .mag-stripe {
    background: #10182a;
    height: 42px;
    margin: 22px 0 0 0;
  }
  .cvv-strip {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 22px;
    padding: 0 4px;
  }
  .cvv-box {
    background: #fff;
    color: #1a1a1a;
    font-family: "Courier New", monospace;
    letter-spacing: 3px;
    padding: 8px 14px;
    border-radius: 4px;
    min-width: 60px;
    text-align: center;
    font-size: 1rem;
  }
  .back-note {
    color: rgba(255,255,255,0.55);
    font-size: 0.7rem;
    padding: 0 4px;
    margin-top: 8px;
  }
 
  /* ---------- FORMULAIRE ---------- */
  .payment-form-box {
    background: #fff;
    border-radius: 16px;
    padding: 28px 26px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.06);
  }
 
  .form-label {
    font-weight: 600;
    font-size: 0.88rem;
    color: #222;
  }
 
  .form-control {
    border-radius: 10px;
    padding: 10px 14px;
    border: 1px solid #dcdfe4;
  }
 
  .form-control:focus {
    border-color: var(--orange);
    box-shadow: 0 0 0 0.2rem rgba(255, 102, 0, 0.15);
  }
 
  .btn-orange {
    background-color: var(--orange);
    border-color: var(--orange);
    color: #fff;
    font-weight: 600;
    padding: 11px;
    border-radius: 10px;
    transition: background-color 0.15s ease;
  }
 
  .btn-orange:hover {
    background-color: var(--orange-dark);
    border-color: var(--orange-dark);
    color: #fff;
  }
 
  .row-inline {
    display: flex;
    gap: 14px;
  }
  .row-inline > div {
    flex: 1;
  }
