/**
 * Roue de la fortune — styles.
 */

.ob-wheel{ position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:1.2rem; }
.ob-wheel[hidden]{ display:none; }
.ob-wheel__overlay{ position:absolute; inset:0; background:rgba(20,20,19,.62); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); opacity:0; transition:opacity .35s var(--ease,ease); }
.ob-wheel.is-open .ob-wheel__overlay{ opacity:1; }

.ob-wheel__modal{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:0;
  width:min(860px, 100%); max-height:94vh; overflow:hidden;
  background:#fff; border-radius:22px;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.6);
  transform:translateY(24px) scale(.96); opacity:0;
  transition:transform .4s var(--ease,cubic-bezier(.22,.61,.36,1)), opacity .4s ease;
}
.ob-wheel.is-open .ob-wheel__modal{ transform:none; opacity:1; }

.ob-wheel__x{
  position:absolute; top:.7rem; right:.9rem; z-index:5;
  width:38px; height:38px; border:0; border-radius:50%;
  background:rgba(255,255,255,.85); color:var(--ob-ink,#23282D); font-size:1.5rem; line-height:1; cursor:pointer;
  transition:background .2s;
}
.ob-wheel__x:hover{ background:#fff; }

/* --- Colonne texte --- */
.ob-wheel__side{ padding:clamp(1.6rem,3vw,2.6rem); }
.ob-wheel__eyebrow{
  display:inline-block; font:600 .68rem/1 var(--ff-eyebrow,sans-serif); letter-spacing:.18em; text-transform:uppercase;
  color:var(--ob-terracotta,#E1623D); background:rgba(225,98,61,.1); padding:.45rem .7rem; border-radius:100px; margin-bottom:1rem;
}
.ob-wheel__title{ font-family:var(--ff-display,Georgia,serif); font-weight:400; font-size:clamp(1.6rem,1.2rem+1.6vw,2.3rem); line-height:1.12; color:var(--ob-ink,#23282D); margin:0 0 .7rem; }
.ob-wheel__title em{ font-style:italic; color:var(--ob-brass,#B89B46); }
.ob-wheel__sub{ font-size:.92rem; line-height:1.6; color:var(--ob-body,#5A5A57); margin:0 0 1.4rem; }
.ob-wheel__sub b{ color:var(--ob-terracotta,#E1623D); }

.ob-wheel__spin{ width:100%; font-size:.9rem; padding:.95rem 1.4rem; }
.ob-wheel__legal{ font-size:.72rem; line-height:1.5; color:var(--ob-muted,#8A867F); margin:.9rem 0 0; }

/* --- Résultat --- */
.ob-wheel__win{ font:600 .72rem/1 var(--ff-eyebrow,sans-serif); letter-spacing:.14em; text-transform:uppercase; color:var(--ob-brass,#B89B46); margin:0 0 .4rem; }
.ob-wheel__prize{ font-family:var(--ff-display,Georgia,serif); font-size:clamp(2.6rem,2rem+3vw,3.8rem); line-height:1; color:var(--ob-brass,#B89B46); margin-bottom:.3rem; }
.ob-wheel__winsub{ font-size:.9rem; color:var(--ob-body,#5A5A57); margin:0 0 .8rem; }

.ob-wheel__code{ display:flex; align-items:stretch; gap:.5rem; margin-bottom:.5rem; }
.ob-wheel__code code{
  flex:1; display:flex; align-items:center; justify-content:center;
  font-family:'Courier New',monospace; font-size:1.15rem; font-weight:700; letter-spacing:2px; color:var(--ob-ink,#23282D);
  background:var(--ob-cream-2,#F3ECE3); border:1px dashed var(--ob-brass,#B89B46); border-radius:10px; padding:.7rem;
}
.ob-wheel__copy{
  flex:none; border:0; cursor:pointer; border-radius:10px; padding:0 1.1rem;
  font:600 .74rem/1 var(--ff-eyebrow,sans-serif); letter-spacing:.06em; text-transform:uppercase;
  background:var(--ob-ink,#23282D); color:#fff; transition:background .2s;
}
.ob-wheel__copy:hover{ background:var(--ob-brass,#B89B46); }
.ob-wheel__expire{ font-size:.76rem; color:var(--ob-muted,#8A867F); margin:0 0 1rem; }

.ob-wheel__mail{ border-top:1px solid var(--ob-line,#E7E0D6); padding-top:1rem; }
.ob-wheel__mail > p{ font-size:.82rem; color:var(--ob-body,#5A5A57); margin:0 0 .5rem; }
.ob-wheel__mailform{ display:flex; gap:.5rem; }
.ob-wheel__mailform input{ flex:1; min-width:0; padding:.7rem .85rem; border:1px solid var(--ob-line,#E7E0D6); border-radius:8px; font-size:.9rem; }
.ob-wheel__mailform input:focus{ outline:none; border-color:var(--ob-brass,#B89B46); }
.ob-wheel__mailform .ob-btn{ flex:none; padding:.6rem 1rem; font-size:.78rem; }
.ob-wheel__mailmsg{ font-size:.78rem; color:var(--ob-brass-dark,#9C8038); margin:.5rem 0 0; min-height:1em; }

.ob-wheel__cta{ display:inline-block; margin-top:1rem; font:600 .78rem/1 var(--ff-eyebrow,sans-serif); letter-spacing:.06em; text-transform:uppercase; color:var(--ob-brass-dark,#9C8038); text-decoration:none; }
.ob-wheel__cta:hover{ color:var(--ob-terracotta,#E1623D); }

/* --- Roue --- */
.ob-wheel__stage{
  position:relative; align-self:stretch;
  display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 40%, #2E353B, #1E1E1C);
  padding:clamp(1.4rem,3vw,2.4rem); overflow:hidden;
}
.ob-wheel__disc{ width:min(320px, 68vw); aspect-ratio:1; will-change:transform; transform:rotate(0deg); filter:drop-shadow(0 14px 30px rgba(0,0,0,.45)); }
.ob-wheel__svg{ width:100%; height:100%; display:block; }
.ob-wheel__pointer{
  position:absolute; top:calc(50% - min(160px,34vw) - 6px); left:50%; transform:translateX(-50%); z-index:4;
  width:0; height:0; border-left:13px solid transparent; border-right:13px solid transparent; border-top:22px solid var(--ob-gold,#D9BB5E);
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.4));
}
.ob-wheel__hub{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3;
  width:54px; height:54px; border-radius:50%;
  background:linear-gradient(135deg,var(--ob-brass,#B89B46),var(--ob-gold,#D9BB5E));
  display:grid; place-items:center; box-shadow:0 4px 14px rgba(0,0,0,.4), inset 0 0 0 3px rgba(255,255,255,.25);
}
.ob-wheel__hub svg{ width:26px; height:26px; }

/* --- Responsive --- */
@media (max-width:720px){
  .ob-wheel__modal{ grid-template-columns:1fr; max-height:92vh; overflow-y:auto; }
  .ob-wheel__stage{ order:-1; padding:1.6rem 1rem 1rem; }
  .ob-wheel__disc{ width:min(260px,72vw); }
  .ob-wheel__pointer{ top:calc(1.6rem - 2px); }
  .ob-wheel__side{ padding:1.4rem 1.4rem 1.8rem; }
}

@media (prefers-reduced-motion: reduce){
  .ob-wheel__disc{ transition:transform 1.2s ease !important; }
}
/* Annonce gagnant + écran perdu */
.ob-wheel__announce{ display:inline-flex; align-items:center; gap:.4rem; font-size:.76rem; color:var(--ob-brass-dark,#9C8038); background:rgba(184,155,70,.1); border-radius:100px; padding:.4rem .8rem; margin:0 0 .8rem; }
.ob-wheel__announce::before{ content:'🎉'; }
.ob-wheel__win--lose{ color:var(--ob-muted,#8A867F); }
.ob-wheel__lose.is-active{ display:block; }

/* Lanceur discret (rappel bas-gauche) */
.ob-wheel-launcher{position:fixed;left:18px;bottom:18px;z-index:9998;display:flex;align-items:center;gap:.6rem;background:linear-gradient(135deg,#B89B46,#D9BB5E);color:#fff;border:0;border-radius:100px;padding:.55rem .95rem .55rem .55rem;box-shadow:0 12px 28px -8px rgba(184,155,70,.6);cursor:pointer;font:600 .82rem/1.15 'Jost',sans-serif;transform:translateY(18px);opacity:0;transition:transform .4s cubic-bezier(.22,.61,.36,1),opacity .4s,filter .2s;}
.ob-wheel-launcher.is-in{transform:none;opacity:1;}
.ob-wheel-launcher:hover{filter:brightness(1.06);transform:translateY(-2px);}
.ob-wheel-launcher__ico{flex:none;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;}
.ob-wheel-launcher__ico svg{width:21px;height:21px;color:#fff;animation:obwl-spin 7s linear infinite;}
@keyframes obwl-spin{to{transform:rotate(360deg);}}
.ob-wheel-launcher__txt{text-align:left;letter-spacing:.01em;}
@media(max-width:600px){.ob-wheel-launcher{left:12px;bottom:12px;padding:.5rem;}.ob-wheel-launcher__txt{display:none;}}
@media(prefers-reduced-motion:reduce){.ob-wheel-launcher__ico svg{animation:none;}}
