/* UAPDM Roue cadeau (12/11/2026) : mobile d'abord (390 px), deux colonnes a partir de 760 px. Jaune moutarde, noir, blanc. */
.uapdmroue-fond{position:fixed;inset:0;z-index:100000;display:flex;align-items:flex-end;justify-content:center;background:rgba(20,18,14,0);transition:background .25s ease;
  -webkit-overflow-scrolling:touch}
.uapdmroue-fond.uapdmroue-visible{background:rgba(20,18,14,.6)}
.uapdmroue-boite{position:relative;width:100%;max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:#1A1A1A;border-radius:18px 18px 0 0;
  border-top:5px solid #E6A817;padding:18px 16px 16px;box-sizing:border-box;font-size:15px;line-height:1.45;text-align:center;box-shadow:0 -12px 40px rgba(0,0,0,.3);
  transform:translateY(40px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s ease}
.uapdmroue-visible .uapdmroue-boite{transform:none;opacity:1}
.uapdmroue-boite *{box-sizing:border-box}
html.uapdmroue-ouvert,html.uapdmroue-ouvert body{overflow:hidden}
.uapdmroue-croix{position:absolute;top:6px;right:8px;z-index:2;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:44px;color:#6b6b6b;cursor:pointer;border-radius:50%}
.uapdmroue-croix:hover,.uapdmroue-croix:focus-visible{background:#f4efe3;color:#1A1A1A}
.uapdmroue-grille{display:flex;flex-direction:column;align-items:center;gap:6px}
/* roue */
.uapdmroue-roue-zone{position:relative;width:min(62vw,236px);margin:14px auto 2px;flex:none}
.uapdmroue-plateau{width:100%;aspect-ratio:1/1;transform:rotate(0deg);will-change:transform;border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.uapdmroue-svg{display:block;width:100%;height:auto}
.uapdmroue-fleche{position:absolute;top:-12px;left:50%;z-index:1;width:0;height:0;transform:translateX(-50%);border-left:14px solid transparent;border-right:14px solid transparent;
  border-top:26px solid #1A1A1A;filter:drop-shadow(0 2px 0 #fff) drop-shadow(0 -1px 0 #fff)}
/* textes */
.uapdmroue-droite{width:100%;max-width:400px}
.uapdmroue-sur{margin:0 0 4px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#9A6B00}
.uapdmroue-titre{font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.22;font-weight:700;margin:4px 0 6px;color:#1A1A1A}
.uapdmroue-sous{margin:0 0 12px;color:#4d4d4d;font-size:14px}
.uapdmroue-texte{margin:0 0 12px;color:#333}
.uapdmroue-form{position:relative;margin:0;text-align:left}
.uapdmroue-label{display:block;font-size:13px;font-weight:700;margin:0 0 4px}
.uapdmroue-email{display:block;width:100%;padding:13px 14px;margin:0;border:1.5px solid #bdb19a;border-radius:8px;font-size:16px;background:#fff;color:#1A1A1A}
.uapdmroue-email:focus{outline:3px solid #E6A817;outline-offset:1px;border-color:#1A1A1A}
.uapdmroue-email[aria-invalid=true]{border-color:#b3261e}
.uapdmroue-piege{position:absolute!important;left:-5000px;width:1px;height:1px;opacity:0}
.uapdmroue-erreur{min-height:0;margin:6px 0 4px;color:#b3261e;font-size:13px}
.uapdmroue-erreur:empty{margin:2px 0}
.uapdmroue-case{display:flex;gap:8px;align-items:flex-start;margin:6px 0 12px;font-size:13px;line-height:1.35;color:#333;cursor:pointer}
.uapdmroue-case input{flex:none;width:20px;height:20px;margin:0;accent-color:#1A1A1A}
.uapdmroue-btn{display:block;width:100%;min-height:50px;border:0;border-radius:999px;background:#1A1A1A;color:#fff;font-size:16px;font-weight:700;letter-spacing:.02em;padding:14px 20px;cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .1s ease}
.uapdmroue-btn:hover,.uapdmroue-btn:focus-visible{background:#E6A817;color:#1A1A1A;outline:none}
.uapdmroue-btn:focus-visible{box-shadow:0 0 0 3px #1A1A1A}
.uapdmroue-btn:active{transform:scale(.98)}
.uapdmroue-btn[disabled]{opacity:.75;cursor:wait}
.uapdmroue-mentions{margin:12px 0 0;font-size:10.5px;line-height:1.4;color:#6b6b6b;text-align:left}
.uapdmroue-mentions a{color:#1A1A1A;text-decoration:underline}
.uapdmroue-code{display:flex;align-items:center;justify-content:space-between;gap:10px;border:2px dashed #E6A817;border-radius:10px;padding:8px 8px 8px 14px;margin:0 0 12px;background:#FFF8E6}
.uapdmroue-code span{font-family:Menlo,Consolas,monospace;font-size:17px;font-weight:700;letter-spacing:.05em;color:#1A1A1A;word-break:break-all;text-align:left}
.uapdmroue-code button{flex:none;min-height:40px;border:0;border-radius:8px;background:#1A1A1A;color:#fff;font-size:13px;font-weight:700;padding:8px 12px;cursor:pointer}
.uapdmroue-code button:hover,.uapdmroue-code button:focus-visible{background:#E6A817;color:#1A1A1A}
.uapdmroue-resultat{padding-top:4px}
/* pastille */
.uapdmroue-pastille{position:fixed;left:12px;bottom:12px;z-index:99990;display:flex;align-items:center;gap:6px;min-height:44px;border:2px solid #1A1A1A;border-radius:999px;
  background:#E6A817;color:#1A1A1A;font-size:14px;font-weight:700;padding:9px 16px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25);animation:uapdmroue-pop .5s cubic-bezier(.2,1.6,.4,1) both}
.uapdmroue-pastille:hover,.uapdmroue-pastille:focus-visible{background:#1A1A1A;color:#fff;outline:none}
@keyframes uapdmroue-pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
.uapdmroue-toast{position:fixed;left:50%;bottom:20px;z-index:100001;transform:translate(-50%,20px);opacity:0;transition:all .3s ease;background:#1A1A1A;color:#fff;padding:12px 18px;
  border-radius:10px;width:max-content;max-width:min(92vw,520px);font-size:14px;line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.uapdmroue-toast.uapdmroue-visible{opacity:1;transform:translate(-50%,0)}
/* tres petits ecrans (hauteur) */
@media (max-height:700px) and (max-width:759px){.uapdmroue-roue-zone{width:min(48vw,190px)}.uapdmroue-titre{font-size:19px}}
/* ordinateur et tablette : fenetre centree, roue a gauche */
@media (min-width:760px){
  .uapdmroue-fond{align-items:center;padding:20px}
  .uapdmroue-boite{max-width:860px;max-height:calc(100vh - 40px);border-radius:18px;padding:30px 34px 24px;transform:translateY(14px) scale(.98)}
  .uapdmroue-grille{flex-direction:row;align-items:center;gap:34px}
  .uapdmroue-roue-zone{width:340px;margin:16px 0 0}
  .uapdmroue-droite{flex:1;text-align:left}
  .uapdmroue-titre{font-size:27px}
  .uapdmroue-pastille{left:18px;bottom:18px}
}
@media (prefers-reduced-motion:reduce){.uapdmroue-boite,.uapdmroue-fond,.uapdmroue-toast{transition:none}.uapdmroue-pastille{animation:none}}
