:root{
  --red:#E2021A; --red-hover:#ff1a31; --red-dark:#A20214;
  --black:#000; --bg:#f4f4f6; --text:#1a1a1a; --muted:#666;
  --font-display:'Fira Sans',sans-serif; --font-body:'Montserrat',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);font-family:var(--font-body);color:var(--text);min-height:100vh;}
.page{display:flex;flex-direction:column;align-items:center;padding:18px 16px 40px;}
.logo{width:195px;max-width:60%;height:auto;margin-bottom:16px;}
h1{font-family:var(--font-display);font-weight:800;color:var(--red);font-size:30px;text-align:center;margin-bottom:10px;}

/* Roleta em camadas */
.wheel{position:relative;width:100%;max-width:520px;aspect-ratio:1400/1607;
  /* adapta à altura da tela p/ caber tudo sem rolagem (header ~205px + aviso) */
  width:min(100%, 520px, max(300px, calc((100vh - 235px) * .87)));}
.wheel img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;
  user-select:none;pointer-events:none;-webkit-user-drag:none;}
#premios{transform-origin:49.96% 43.56%;transition:transform 5.6s cubic-bezier(.16,.62,.14,1);}
.z1{z-index:1}.z2{z-index:2}.z3{z-index:3}.z4{z-index:4}.z5{z-index:5}

.btn-spin{margin-top:18px;background:var(--red);color:#fff;border:none;font-family:var(--font-display);
  font-weight:800;font-size:20px;letter-spacing:1px;padding:15px 54px;border-radius:100px;cursor:pointer;
  text-transform:uppercase;box-shadow:0 6px 18px rgba(226,2,26,.35);transition:transform .1s,background .15s;}
.btn-spin:hover{background:var(--red-hover);}
.btn-spin:active{transform:translateY(2px);}
.btn-spin:disabled{opacity:.55;cursor:not-allowed;}
/* Botão GIRAR sobre a base preta da roleta */
.wheel .btn-spin{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);z-index:10;
  margin:0;pointer-events:auto;white-space:nowrap;}
.wheel .btn-spin:active{transform:translateX(-50%) translateY(2px);}
.hint{margin-top:2px;color:var(--muted);font-size:15px;}
.disclaimer{margin-top:40px;max-width:520px;text-align:center;color:var(--muted);
  font-size:15px;line-height:1.6;padding:16px 18px;border-top:1px solid #e2e2e2;}
.disclaimer strong{color:#4a4a4a;}

/* Overlay / modal */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;
  justify-content:center;padding:18px;z-index:100;}
.overlay.open{display:flex;}
.modal{background:#fff;border-radius:18px;max-width:440px;width:100%;padding:30px 26px;
  position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:92vh;overflow:auto;}
.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:28px;
  line-height:1;color:#999;cursor:pointer;}
.result-emoji{font-size:52px;text-align:center;}
.result-title{font-family:var(--font-display);font-weight:800;color:var(--red);
  font-size:24px;text-align:center;margin:6px 0 4px;}
.result-prize{font-family:var(--font-display);font-weight:800;color:var(--black);
  font-size:20px;text-align:center;margin-bottom:8px;}
.result-desc{color:var(--muted);font-size:15px;line-height:1.5;text-align:center;margin-bottom:16px;}
#viewResult .btn-spin,#viewDone{ }
#viewResult{display:flex;flex-direction:column;align-items:center;}

/* Formulário */
.claim-form{display:flex;flex-direction:column;gap:12px;}
.claim-form label{font-size:14px;font-weight:600;color:#333;display:flex;flex-direction:column;gap:5px;}
.claim-form input[type=text],.claim-form input[type=email],.claim-form input[type=tel],.claim-form select{
  font-family:var(--font-body);font-size:15px;padding:11px 12px;border:1.5px solid #ddd;border-radius:8px;
  font-weight:500;color:#111;background:#fff;}
.claim-form input:focus,.claim-form select:focus{outline:none;border-color:var(--red);}
.claim-form .check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:500;color:#555;font-size:13px;line-height:1.45;}
.claim-form .check input{margin-top:2px;}
.claim-form .btn-spin{margin-top:6px;width:100%;}
/* Totem: botão "girar novamente" e unidade fixa */
.btn-again{margin-top:16px;background:var(--red);color:#fff;border:none;font-family:var(--font-display);
  font-weight:800;font-size:18px;letter-spacing:.5px;padding:14px 42px;border-radius:100px;cursor:pointer;
  text-transform:uppercase;box-shadow:0 6px 18px rgba(226,2,26,.30);}
.btn-again:hover{background:var(--red-hover);}
.fixed-unit{padding:11px 12px;border:1.5px solid #eee;border-radius:8px;background:#faf7f7;font-weight:700;color:#333;}
.autoreset{margin-top:12px;color:#aaa;font-size:12px;}

/* Botões de Instagram (pós-resultado) */
.insta{display:flex;flex-direction:column;gap:10px;margin-top:14px;width:100%;}
.btn-insta{display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;
  background:#fff;color:var(--red);border:2px solid var(--red);
  font-family:var(--font-display);font-weight:700;font-size:15px;text-decoration:none;
  padding:12px 18px;border-radius:100px;transition:background .15s,color .15s;}
.btn-insta svg{flex-shrink:0;}
.btn-insta:hover{background:var(--red);color:#fff;}

.err{color:var(--red);font-size:12px;font-weight:600;min-height:0;}
.err:empty{display:none;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
