/* Ramaya theme: purple #7A46AB, deep #5B2D86, plum #1D1228, orange #EC691F, lavender #F4EEFA, ink #17121C */
.rbf-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(23,18,28,.68);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;font-family:Inter,system-ui,-apple-system,sans-serif}
.rbf-overlay.is-open{opacity:1;visibility:visible}
.rbf-modal{position:relative;overflow:hidden;display:flex;align-items:stretch;width:100%;max-width:860px;max-height:calc(100vh - 32px);overflow-y:auto;border-radius:20px;background:#fff;color:#17121C;box-shadow:0 30px 80px rgba(29,18,40,.45);transform:translateY(16px) scale(.97);transition:transform .35s}
.rbf-overlay.is-open .rbf-modal{transform:none}
.rbf-close{position:absolute;top:10px;right:14px;z-index:3;background:none;border:0;color:#6B6475;font-size:30px;line-height:1;cursor:pointer;padding:4px}
.rbf-close:hover{color:#17121C}
.rbf-wheel-col{flex:0 0 420px;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:radial-gradient(circle at 50% 40%,#5B2D86 0,#1D1228 70%)}
.rbf-wheel-wrap{position:relative;width:360px;height:360px}
.rbf-wheel{width:100%;height:100%;display:block;filter:drop-shadow(0 12px 28px rgba(0,0,0,.45));will-change:transform}
.rbf-pointer{position:absolute;top:-8px;left:50%;z-index:2;width:0;height:0;margin-left:-16px;border-left:16px solid transparent;border-right:16px solid transparent;border-top:34px solid #EC691F;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4))}
.rbf-hub{position:absolute;top:50%;left:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#fff;border:4px solid #EC691F;color:#7A46AB;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.rbf-content{flex:1;min-width:0;padding:36px 34px 28px;display:flex;flex-direction:column;justify-content:center}
.rbf-tag{align-self:flex-start;display:inline-block;padding:5px 12px;border-radius:99px;background:#FFF4EC;color:#EC691F;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
.rbf-content h2{margin:14px 0 8px;color:#17121C;font-family:"Playfair Display",Georgia,serif;font-size:34px;line-height:1.1;font-weight:700}
.rbf-content h2 em{color:#7A46AB;font-style:italic}
.rbf-sub{margin:0 0 20px;font-size:15px;line-height:1.55;color:#6B6475}
.rbf-form input[type=email]{width:100%;box-sizing:border-box;height:50px;padding:0 16px;border-radius:12px;border:1.5px solid #E4D9F0;background:#F7F3FB;color:#17121C;font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}
.rbf-form input[type=email]:focus{border-color:#7A46AB;box-shadow:0 0 0 3px rgba(122,70,171,.15);background:#fff}
.rbf-consent{display:flex;align-items:center;gap:8px;margin:12px 0 16px;font-size:13px;color:#6B6475;cursor:pointer}
.rbf-consent input{accent-color:#7A46AB}
.rbf-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;height:52px;border:0;border-radius:999px;background:#7A46AB;color:#fff !important;font-weight:700;font-size:15px;letter-spacing:1px;cursor:pointer;text-decoration:none !important;box-shadow:0 8px 20px rgba(122,70,171,.3);transition:background .2s,transform .15s}
.rbf-btn:hover{background:#5B2D86;transform:translateY(-1px)}
.rbf-btn:disabled{opacity:.75;cursor:wait;transform:none}
.rbf-error{min-height:18px;margin:8px 0 0;color:#C62828;font-size:13px}
.rbf-fine{margin:16px 0 0;font-size:11.5px;line-height:1.5;color:#8A8394}
.rbf-res-title{font-family:"Playfair Display",Georgia,serif;font-size:30px;font-weight:700;color:#7A46AB;margin-bottom:14px}
.rbf-result p{font-size:14px;line-height:1.55;margin:0 0 16px;color:#43444F}
.rbf-code{display:flex;margin-bottom:12px;border:2px dashed #7A46AB;border-radius:12px;overflow:hidden;background:#F7F3FB}
.rbf-code span{flex:1;padding:12px 14px;font-family:ui-monospace,Menlo,monospace;font-size:20px;font-weight:700;letter-spacing:2px;color:#5B2D86}
.rbf-code button{border:0;padding:0 20px;background:#EC691F;color:#fff;font-weight:700;letter-spacing:.5px;cursor:pointer}
.rbf-code button:hover{background:#d75a14}
.rbf-teaser{position:fixed;right:16px;bottom:16px;z-index:99998;padding:12px 20px;border:0;border-radius:99px;background:#7A46AB;color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 8px 24px rgba(122,70,171,.4);animation:rbf-pulse 2.4s infinite}
.rbf-teaser[hidden]{display:none}
@keyframes rbf-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.rbf-confetti{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;pointer-events:none;z-index:4;animation:rbf-fall 2.6s ease-in forwards}
@keyframes rbf-fall{to{top:110%;opacity:.2;margin-left:40px}}
@media (max-width:760px){
	.rbf-modal{flex-direction:column;text-align:center}
	.rbf-wheel-col{flex:none;padding:28px 16px 22px}
	.rbf-wheel-wrap{width:min(72vw,280px);height:min(72vw,280px)}
	.rbf-content{padding:22px 20px 22px}
	.rbf-tag{align-self:center}
	.rbf-content h2{font-size:27px}
	.rbf-consent{justify-content:center}
	.rbf-close{color:#fff}
	.rbf-hub{width:50px;height:50px;margin:-25px 0 0 -25px;font-size:16px;border-width:3px}
	.rbf-code span{font-size:16px;letter-spacing:1px;white-space:nowrap;padding:12px 10px}
	.rbf-code button{padding:0 14px}
	.rbf-sub{margin-bottom:14px}
}
@media (max-width:760px) and (max-height:760px){
	.rbf-wheel-col{padding:18px 16px 14px}
	.rbf-wheel-wrap{width:min(62vw,210px);height:min(62vw,210px)}
	.rbf-hub{width:42px;height:42px;margin:-21px 0 0 -21px;font-size:14px}
	.rbf-content{padding:16px 18px 18px}
	.rbf-content h2{font-size:23px;margin:10px 0 6px}
	.rbf-sub{font-size:14px}
	.rbf-fine{margin-top:10px}
}
@media (prefers-reduced-motion:reduce){.rbf-wheel{transition-duration:.8s !important}.rbf-teaser{animation:none}}
