/* Tourni'Promo — pop-up roue (front-end) */
.tpro-overlay{
  --tpro-primary:#0b2545;
  --tpro-accent:#ff7a00;
  position:fixed;inset:0;z-index:999999;
  display:none;align-items:center;justify-content:center;
  background:rgba(6,15,32,.62);padding:16px;
}
.tpro-overlay.tpro-open{display:flex;}
.tpro-modal{
  position:relative;width:100%;max-width:760px;
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.4);
  animation:tpro-pop .28s ease;
}
@keyframes tpro-pop{from{transform:translateY(14px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.tpro-close{
  position:absolute;top:10px;right:12px;z-index:2;
  border:0;background:transparent;font-size:30px;line-height:1;
  color:#fff;cursor:pointer;opacity:.9;
}
.tpro-inner{display:flex;flex-wrap:wrap;}
.tpro-left{
  flex:1 1 300px;padding:34px 28px;
  background:var(--tpro-primary);color:#fff;
  display:flex;flex-direction:column;justify-content:center;
}
/* align-self : dans la colonne flex, le logo était étiré sur toute la largeur
   tout en restant limité en hauteur, donc écrasé. */
.tpro-logo{max-height:90px;width:auto;max-width:100%;align-self:center;object-fit:contain;margin-bottom:14px;}
.tpro-title{margin:0 0 8px;font-size:26px;line-height:1.15;color:#fff;}
.tpro-subtitle{margin:0 0 18px;font-size:15px;opacity:.9;}
.tpro-form{display:flex;flex-direction:column;gap:12px;}
.tpro-email{
  padding:13px 14px;border-radius:10px;border:0;font-size:15px;
  outline:2px solid transparent;
}
.tpro-email:focus{outline:2px solid var(--tpro-accent);}
.tpro-consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;opacity:.92;cursor:pointer;}
.tpro-consent-cb{margin-top:2px;}
.tpro-privacy-link{color:#fff;text-decoration:underline;font-weight:600;}
.tpro-privacy-link:hover{color:var(--tpro-accent);}
.tpro-btn{
  padding:14px 16px;border:0;border-radius:10px;cursor:pointer;
  background:var(--tpro-accent);color:#fff;font-size:16px;font-weight:700;
  transition:filter .15s ease;
}
.tpro-btn:hover{filter:brightness(1.07);}
.tpro-btn:disabled{opacity:.7;cursor:default;}
.tpro-btn.tpro-loading{position:relative;color:transparent;}
.tpro-btn.tpro-loading::after{
  content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;
  margin:-9px 0 0 -9px;border:3px solid rgba(255,255,255,.5);
  border-top-color:#fff;border-radius:50%;animation:tpro-spin .7s linear infinite;
}
@keyframes tpro-spin{to{transform:rotate(360deg)}}
.tpro-message{margin:4px 0 0;font-size:14px;min-height:18px;white-space:pre-line;}
.tpro-later{margin:0;font-size:13px;opacity:.75;text-align:center;}
.tpro-message.tpro-error{color:#ffd2d2;}
.tpro-message.tpro-win{color:#c8ffdd;font-weight:700;font-size:16px;}
.tpro-message.tpro-lose{color:#e7e7e7;}

.tpro-right{
  flex:1 1 300px;padding:24px;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 40%,#fff 0,#eef2f7 100%);
}
.tpro-wheel-wrap{position:relative;width:360px;max-width:100%;}
.tpro-wheel{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 20px rgba(0,0,0,.18));}
.tpro-pointer{
  position:absolute;top:-6px;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;
  border-top:26px solid var(--tpro-accent);
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.3));z-index:3;
}
@media(max-width:640px){
  .tpro-left{padding:26px 20px;}
  .tpro-title{font-size:22px;}
  .tpro-wheel-wrap{width:280px;}
}
