.pvrb-widget, .pvrb-overlay{
--pvrb-gold:#F6C34C;
--pvrb-orange:#EF9640;
--pvrb-coral:#D85B4A;
--pvrb-coral-dark:#B3402F;
--pvrb-black:#211D18;
--pvrb-mustard:#E7B23E;
--pvrb-cream:#FFFBF1;
--pvrb-sand:#F7EFDD;
--pvrb-muted:#8A7E68;
}
.pvrb-widget *, .pvrb-widget *::before, .pvrb-widget *::after,
.pvrb-overlay *, .pvrb-overlay *::before, .pvrb-overlay *::after{
box-sizing:border-box;
}
.pvrb-widget{
display:block; max-width:440px; margin:32px auto; text-align:center;
font-family:'DM Sans',Arial,sans-serif; color:var(--pvrb-black);
}
.pvrb-hero{
position:relative; background:linear-gradient(180deg, var(--pvrb-gold) 0%, var(--pvrb-orange) 100%);
border-radius:0 0 40% 40% / 0 0 60px 60px; padding:38px 20px 54px; overflow:hidden; margin-bottom:-30px;
}
.pvrb-hero .pvrb-mountain{ position:absolute; left:0; right:0; bottom:-2px; width:100%; height:auto; display:block; }
.pvrb-eyebrow{ position:relative; z-index:2; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--pvrb-black); opacity:.65; font-weight:700; margin-bottom:12px; }
.pvrb-title-row{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:6px; }
.pvrb-title-row .pvrb-rule{ height:2px; width:26px; background:var(--pvrb-black); opacity:.55; }
.pvrb-h1{ font-family:'Fraunces',serif; font-weight:900; font-size:clamp(20px,5.5vw,26px); letter-spacing:-.01em; margin:0; color:var(--pvrb-black); line-height:1.08; text-transform:uppercase; }
.pvrb-subtitle{ position:relative; z-index:2; color:var(--pvrb-black); opacity:.75; font-size:13px; letter-spacing:.06em; text-transform:uppercase; font-weight:600; margin:0; }
.pvrb-body-panel{ position:relative; z-index:2; background:var(--pvrb-cream); border-radius:26px; padding:40px 26px 30px; box-shadow:0 18px 40px rgba(33,29,24,.12); }
.pvrb-screen{ display:none; }
.pvrb-screen.pvrb-active{ display:block; }
.pvrb-login-panel{ text-align:left; }
.pvrb-field{ margin-bottom:14px; }
.pvrb-field label{ display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--pvrb-muted); margin-bottom:6px; }
.pvrb-field input{
width:100%; padding:12px 14px; border-radius:10px; border:1.5px solid var(--pvrb-sand);
background:var(--pvrb-sand); color:var(--pvrb-black); font-family:'DM Sans',Arial,sans-serif; font-size:14.5px;
}
.pvrb-field input:focus{ outline:none; border-color:var(--pvrb-coral); }
.pvrb-consent{ display:flex; gap:8px; align-items:flex-start; font-size:11.5px; color:var(--pvrb-muted); line-height:1.5; margin:6px 0 14px; cursor:pointer; }
.pvrb-consent input{ margin-top:2px; flex-shrink:0; }
.pvrb-consent a{ color:var(--pvrb-coral); }
.pvrb-field-error{ color:var(--pvrb-coral-dark); font-size:12.5px; margin:0 0 12px; display:none; }
.pvrb-already{ text-align:center; padding:10px 0; }
.pvrb-already-icon{ font-size:38px; margin-bottom:10px; }
.pvrb-already h3{ font-family:'Fraunces',serif; text-transform:uppercase; margin:0 0 10px; font-size:19px; font-weight:800; }
.pvrb-already p{ font-size:14px; color:var(--pvrb-muted); line-height:1.5; margin:0 0 4px; }
.pvrb-already .pvrb-muted{ margin-top:12px; }
.pvrb-wheel-frame{ position:relative; width:min(320px, 82vw); aspect-ratio:1/1; margin:0 auto 28px; }
.pvrb-pointer{ position:absolute; top:-12px; left:50%; transform:translateX(-50%); width:32px; height:40px; z-index:5; filter:drop-shadow(0 3px 5px rgba(33,29,24,.3)); }
.pvrb-pointer svg{ width:100%; height:100%; display:block; }
.pvrb-bezel{
position:absolute; inset:0; border-radius:50%;
background:conic-gradient(var(--pvrb-gold), var(--pvrb-orange), var(--pvrb-coral), var(--pvrb-gold));
padding:6px; box-shadow:0 14px 28px rgba(33,29,24,.2);
}
.pvrb-bezel-inner{ width:100%; height:100%; border-radius:50%; background:var(--pvrb-cream); }
.pvrb-wheel-wrap{ position:absolute; inset:16px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 3px var(--pvrb-cream); }
.pvrb-wheel{ width:100%; height:100%; position:relative; transform:rotate(0deg); will-change:transform; }
.pvrb-wheel svg{ width:100%; height:100%; display:block; position:absolute; inset:0; }
.pvrb-segment-label{
position:absolute; text-align:center;
font-family:'DM Sans',Arial,sans-serif; font-weight:500; letter-spacing:.01em;
text-transform:uppercase; line-height:1; text-shadow:0 1px 2px rgba(0,0,0,.15); white-space:nowrap;
display:flex; align-items:center; justify-content:center; gap:5px;
}
.pvrb-hub{
position:absolute; top:50%; left:50%; width:62px; height:62px; transform:translate(-50%,-50%);
border-radius:50%; background:var(--pvrb-cream); padding:6px;
box-shadow:0 0 0 4px var(--pvrb-cream), 0 0 0 5px var(--pvrb-coral), 0 4px 10px rgba(33,29,24,.3);
z-index:4; display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.pvrb-hub img{ width:100%; height:100%; object-fit:contain; display:block; }
.pvrb-hub-fallback{
display:none; width:100%; height:100%; align-items:center; justify-content:center;
font-family:'Fraunces',serif; font-weight:900; font-size:12px; color:var(--pvrb-coral); text-align:center; line-height:1.1;
}
.pvrb-btn{
appearance:none; border:none; cursor:pointer; font-family:'DM Sans',Arial,sans-serif; font-weight:700;
font-size:15px; letter-spacing:.03em; text-transform:uppercase; color:var(--pvrb-cream);
background:var(--pvrb-coral); padding:15px 40px; border-radius:999px; width:100%;
box-shadow:0 5px 0 var(--pvrb-coral-dark), 0 10px 20px rgba(216,91,74,.3);
transition:transform .08s ease, box-shadow .08s ease;
}
.pvrb-btn:hover{ filter:brightness(1.04); }
.pvrb-btn:active{ transform:translateY(4px); box-shadow:0 1px 0 var(--pvrb-coral-dark), 0 4px 10px rgba(216,91,74,.3); }
.pvrb-btn:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
.pvrb-rules{ margin-top:18px; font-size:12px; color:var(--pvrb-muted); line-height:1.6; }
.pvrb-loading-row{ display:flex; align-items:center; justify-content:center; gap:8px; padding:20px 0; color:var(--pvrb-muted); font-size:13.5px; }
.pvrb-spinner{ width:16px; height:16px; border-radius:50%; border:2px solid rgba(216,91,74,.25); border-top-color:var(--pvrb-coral); animation:pvrb-spin 0.8s linear infinite; }
@keyframes pvrb-spin{ to{ transform:rotate(360deg); } }
.pvrb-overlay{
position:fixed; inset:0; background:rgba(33,29,24,.55); backdrop-filter:blur(2px);
display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none;
transition:opacity .35s ease; z-index:100000; padding:20px; font-family:'DM Sans',Arial,sans-serif; margin:0;
}
.pvrb-overlay.pvrb-show{ opacity:1; pointer-events:auto; }
.pvrb-overlay .pvrb-result-card{
background:var(--pvrb-cream); border-radius:24px; padding:36px 28px 26px; max-width:340px; width:100%; text-align:center;
box-shadow:0 24px 50px rgba(33,29,24,.3); transform:scale(.85) translateY(10px);
transition:transform .35s cubic-bezier(.2,.9,.3,1.3); color:var(--pvrb-black);
}
.pvrb-overlay.pvrb-show .pvrb-result-card{ transform:scale(1) translateY(0); }
.pvrb-overlay .pvrb-result-icon{ font-size:50px; margin-bottom:6px; }
.pvrb-overlay .pvrb-result-tag{ font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--pvrb-coral-dark); font-weight:700; margin-bottom:8px; }
.pvrb-overlay .pvrb-result-title{ font-family:'Fraunces',serif; font-weight:800; font-size:26px; margin:0 0 10px; text-transform:uppercase; }
.pvrb-overlay .pvrb-result-title.pvrb-win{ color:var(--pvrb-coral); }
.pvrb-overlay .pvrb-result-title.pvrb-lose{ color:var(--pvrb-muted); }
.pvrb-overlay .pvrb-result-copy{ font-size:14px; color:var(--pvrb-black); opacity:.75; line-height:1.55; margin:0 0 22px; }
.pvrb-overlay .pvrb-voucher{ background:var(--pvrb-sand); border:1.5px dashed var(--pvrb-mustard); border-radius:14px; padding:16px; margin:0 0 22px; text-align:left; }
.pvrb-overlay .pvrb-voucher-row{ display:flex; justify-content:space-between; font-size:12.5px; color:var(--pvrb-muted); margin-bottom:6px; }
.pvrb-overlay .pvrb-voucher-row span:last-child{ color:var(--pvrb-black); font-weight:700; }
.pvrb-overlay .pvrb-voucher-code{ font-family:'JetBrains Mono',monospace; font-size:22px; font-weight:600; letter-spacing:.08em; color:var(--pvrb-coral); text-align:center; margin:10px 0 4px; }
.pvrb-overlay .pvrb-voucher-hint{ text-align:center; font-size:11px; color:var(--pvrb-muted); }
.pvrb-overlay .pvrb-result-actions{ display:flex; gap:10px; }
.pvrb-overlay .pvrb-btn-ghost{
appearance:none; border:1.5px solid var(--pvrb-sand); background:transparent; color:var(--pvrb-black);
font-family:'DM Sans',Arial,sans-serif; font-size:13.5px; font-weight:700; padding:10px 20px; border-radius:999px;
cursor:pointer; transition:background .15s ease; flex:1;
}
.pvrb-overlay .pvrb-btn-ghost:hover{ background:var(--pvrb-sand); }
#pvrbPrintVoucher{ display:none; }
@media print{
@page{ size: A4; margin:0; }
body *{ visibility:hidden; }
#pvrbPrintVoucher, #pvrbPrintVoucher *{ visibility:visible; }
#pvrbPrintVoucher{
display:block; position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
width:105mm; height:148mm; margin:0;
}
.pvrb-print-inner{
width:100%; height:100%; box-sizing:border-box; padding:12mm 10mm;
border:1.5px dashed var(--pvrb-coral, #D85B4A); border-radius:4mm;
display:flex; flex-direction:column; align-items:center; text-align:center;
font-family:'DM Sans',Arial,sans-serif; color:#211D18;
}
.pvrb-print-logo{ width:22mm; height:22mm; object-fit:contain; margin-bottom:6mm; }
.pvrb-print-title{ font-size:11pt; font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin-bottom:8mm; }
.pvrb-print-row{ width:100%; display:flex; justify-content:space-between; font-size:10pt; margin-bottom:3mm; padding-bottom:2mm; border-bottom:0.5px solid #ddd; }
.pvrb-print-row span{ color:#8A7E68; }
.pvrb-print-code{ font-family:'JetBrains Mono',monospace; font-size:16pt; font-weight:700; letter-spacing:.1em; margin:6mm 0; color:#D85B4A; }
.pvrb-print-footer{ margin-top:auto; font-size:8pt; color:#8A7E68; }
}