/* Gift Spin & Win Premium - Responsive UI */
:root{--gswp-red:#c8171f;--gswp-red2:#e2262e;--gswp-black:#17191d;--gswp-gray:#f4f5f7;--gswp-border:#e4e5e8}
.gswp-overlay{position:fixed;inset:0;background:rgba(5,7,10,.78);backdrop-filter:blur(7px);z-index:999999;display:none;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.gswp-overlay.is-open{display:flex;animation:gswpFade .25s ease}
.gswp-modal{width:min(1080px,calc(100vw - 40px));height:min(680px,calc(100vh - 40px));min-height:560px;background:linear-gradient(135deg,#fff 0%,#fafafa 100%);border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:relative;box-shadow:0 35px 100px rgba(0,0,0,.45);box-sizing:border-box}
.gswp-close{position:absolute;right:16px;top:10px;width:44px;height:44px;border:0;background:rgba(0,0,0,.08);border-radius:50%;font-size:34px;line-height:40px;color:#555;cursor:pointer;z-index:20;padding:0}
.gswp-left{background:radial-gradient(circle at 50% 42%,#363a40,#15171a 66%);display:flex;align-items:center;justify-content:center;position:relative;padding:30px;min-width:0;overflow:hidden}
.gswp-left:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.12),transparent 35%);pointer-events:none}
.gswp-wheel-wrap{width:min(460px,calc(100% - 20px),calc(100vh - 110px));aspect-ratio:1;position:relative;z-index:2;filter:drop-shadow(0 18px 24px rgba(0,0,0,.38));flex:none}
.gswp-wheel{width:100%;height:100%;border-radius:50%;position:relative;overflow:hidden;border:10px solid #fff;background:var(--gswp-red);transition:transform 5.5s cubic-bezier(.12,.85,.16,1);box-sizing:border-box}
.gswp-wheel:before{content:"";position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 0 25px rgba(0,0,0,.25);pointer-events:none}
.gswp-segment{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;font-weight:800;font-size:clamp(15px,1.8vw,22px);text-shadow:0 1px 2px rgba(0,0,0,.35);pointer-events:none}
.gswp-segment span{position:absolute;left:50%;top:50%;display:block;text-align:center;white-space:nowrap;line-height:1.05;transform:translate(-50%,-50%) rotate(var(--gswp-seg-angle)) translateY(calc(-1 * var(--gswp-label-radius, 30%))) rotate(calc(-1 * var(--gswp-seg-angle)));transform-origin:center;min-width:90px;max-width:82%;overflow-wrap:anywhere}

.gswp-center{position:absolute;width:132px;height:132px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(calc(-1 * var(--gswp-wheel-rotation)));background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;box-shadow:0 5px 25px rgba(0,0,0,.25);color:#1b1c20;gap:4px}.gswp-gift-icon{font-size:30px!important;line-height:1!important}.gswp-logo{display:flex;align-items:baseline;line-height:1!important;white-space:nowrap}.gswp-logo b{font-size:22px;font-weight:900;color:#17191d;letter-spacing:-.5px}.gswp-logo i{font-size:16px;font-style:normal;font-weight:800;color:var(--gswp-red);letter-spacing:-.3px}.gswp-center strong span,.gswp-brand span{color:var(--gswp-red)}
.gswp-pointer{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:5;width:0;height:0;border-top:26px solid transparent;border-bottom:26px solid transparent;border-right:48px solid var(--gswp-red);filter:drop-shadow(0 3px 2px rgba(0,0,0,.3))}
.gswp-mobile-note{display:none}
.gswp-right{padding:48px 48px 32px;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow-y:auto;box-sizing:border-box}
.gswp-brand{font-size:22px;font-weight:900;letter-spacing:.5px;color:#202227;margin-bottom:12px}
.gswp-right h2{font-size:clamp(30px,3.4vw,42px);line-height:1.08;margin:0 0 14px;color:#191b20;font-weight:900;overflow-wrap:anywhere}
.gswp-subtitle{font-size:17px;line-height:1.5;color:#62666d;margin:0 0 24px}
.gswp-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.gswp-right label{display:block;font-weight:700;font-size:13px;color:#34363b;min-width:0}.gswp-right label em{color:var(--gswp-red);font-style:normal}
.gswp-right input{width:100%;box-sizing:border-box;border:1px solid var(--gswp-border);border-radius:11px;padding:14px;margin-top:7px;font-size:15px;outline:none;background:#fff;min-height:50px}.gswp-right input:focus{border-color:var(--gswp-red);box-shadow:0 0 0 3px rgba(200,23,31,.1)}
.gswp-phone{display:flex;width:100%;min-width:0;min-height:50px;margin-top:7px;border:1px solid var(--gswp-border);border-radius:11px;overflow:hidden;background:#fff;box-sizing:border-box}.gswp-phone span{padding:14px 10px;white-space:nowrap;background:#f5f5f6;font-weight:700;display:flex;align-items:center}.gswp-phone input{margin:0;border:0;border-radius:0;min-width:0;flex:1}
.gswp-captcha-label{margin-top:14px}.gswp-captcha-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 46px;gap:8px;margin-top:7px;min-width:0}.gswp-captcha-row span{display:flex;align-items:center;justify-content:center;background:#17191d;color:#fff;border-radius:11px;font-weight:900;min-width:0}.gswp-captcha-row input{margin:0;min-width:0}.gswp-captcha-row button{border:0;border-radius:11px;background:#efeff1;font-size:22px;cursor:pointer;min-width:0}
.gswp-terms{display:flex!important;align-items:flex-start;gap:9px;margin:15px 0!important;font-weight:500!important;line-height:1.45}.gswp-terms input{width:18px!important;height:18px;min-height:18px;padding:0;margin:2px 0 0!important;accent-color:var(--gswp-red);flex:none}.gswp-terms a{color:var(--gswp-red)}
.gswp-hp{position:absolute!important;left:-99999px!important;opacity:0!important}
.gswp-spin-btn{width:100%;min-height:54px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--gswp-red),var(--gswp-red2));color:#fff;padding:16px;font-weight:900;font-size:18px;letter-spacing:.3px;cursor:pointer;box-shadow:0 12px 25px rgba(200,23,31,.25);transition:.2s;box-sizing:border-box}.gswp-spin-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.gswp-spin-btn:disabled{opacity:.65;cursor:wait;transform:none}
.gswp-security{text-align:center;color:#777;font-size:12px;margin:12px 0 0}.gswp-benefits{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #eee;margin-top:24px;padding-top:18px;color:#555;font-size:12px}.gswp-benefits span{flex:1;text-align:center}
.gswp-result{background:#17191d;color:#fff;border-radius:16px;padding:22px;text-align:center;overflow-wrap:anywhere}.gswp-result h3{margin:0 0 8px;color:#fff;font-size:24px}.gswp-coupon{font-size:25px;letter-spacing:2px;background:#fff;color:var(--gswp-red);display:inline-block;padding:12px 18px;border-radius:10px;font-weight:900;margin:12px 0;max-width:100%;box-sizing:border-box;word-break:break-word}
.gswp-confetti{position:fixed;top:-20px;width:9px;height:16px;background:#e2262e;z-index:1000000;animation:gswpConfetti 2s linear forwards;transform:translateX(0) rotate(0)}.gswp-confetti:nth-child(3n){background:#ffd23f}.gswp-confetti:nth-child(3n+1){background:#fff}.gswp-win-show{animation:gswpWin .55s cubic-bezier(.2,1.4,.4,1)}.gswp-win-icon{font-size:46px;animation:gswpPulse 1s infinite alternate}.gswp-win-label{font-size:18px}
@keyframes gswpFade{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes gswpConfetti{to{top:110vh;transform:translateX(var(--x)) rotate(720deg)}}@keyframes gswpWin{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes gswpPulse{to{transform:scale(1.12)}}

/* Tablet / mobile: deliberately switch to a single vertical column. */
@media (max-width:820px){
  html.gswp-modal-open,body.gswp-modal-open{overflow:hidden!important;overscroll-behavior:none}
  .gswp-overlay{padding:0;align-items:stretch;justify-content:stretch;min-height:100dvh;height:100dvh}
  .gswp-modal{width:100%;height:100dvh;max-height:100dvh;min-height:0;border-radius:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;background:#fff}
  .gswp-left{height:280px;min-height:280px;flex:none;padding:14px;box-sizing:border-box}
  .gswp-wheel-wrap{width:min(270px,70vw);max-width:270px}
  .gswp-wheel{border-width:8px}
  .gswp-pointer{right:calc(50% - min(135px,35vw));top:50%;border-top-width:18px;border-bottom-width:18px;border-right-width:34px}
  .gswp-center{width:92px;height:92px;gap:2px}.gswp-gift-icon{font-size:24px!important}.gswp-logo b{font-size:15px}.gswp-logo i{font-size:11px}
  .gswp-segment{font-size:14px}.gswp-segment span{top:13%;min-width:70px;max-width:110px;white-space:nowrap}
  .gswp-right{padding:26px 20px calc(30px + env(safe-area-inset-bottom));justify-content:flex-start;overflow:visible;flex:none}
  .gswp-right h2{font-size:28px;line-height:1.12}.gswp-subtitle{font-size:16px;margin-bottom:20px}
  .gswp-fields{grid-template-columns:1fr;gap:12px}.gswp-fields>label{width:100%}
  .gswp-right input{font-size:16px}.gswp-phone{width:100%}
  .gswp-captcha-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 46px;width:100%}
  .gswp-terms{width:100%;font-size:13px}.gswp-spin-btn{font-size:16px;white-space:normal}
  .gswp-benefits{display:none}
  .gswp-close{position:fixed;right:12px;top:calc(10px + env(safe-area-inset-top));width:44px;height:44px;background:rgba(0,0,0,.58);color:#fff;font-size:32px;line-height:44px;text-shadow:none}
}
@media (max-width:430px){
  .gswp-left{height:245px;min-height:245px}
  .gswp-wheel-wrap{width:min(245px,76vw);max-width:245px}
  .gswp-pointer{right:calc(50% - min(123px,38vw));border-top-width:16px;border-bottom-width:16px;border-right-width:30px}
  .gswp-center{width:82px;height:82px;gap:2px}.gswp-gift-icon{font-size:21px!important}.gswp-logo b{font-size:14px}.gswp-logo i{font-size:10px}
  .gswp-segment{font-size:13px}.gswp-segment span{top:12%;min-width:58px;max-width:88px}
  .gswp-right{padding-left:16px;padding-right:16px}.gswp-right h2{font-size:25px}
  .gswp-captcha-row{gap:6px}.gswp-captcha-row span{font-size:12px}.gswp-spin-btn{font-size:16px;padding:15px}
}

/* v2.1.8: fine positioning of the lower prize */

/* v2.2.0 mobile reliability and accessibility polish */
.gswp-captcha-row span{min-height:50px;padding:0 8px;text-align:center;line-height:1.15}
.gswp-captcha-row button{min-height:50px;touch-action:manipulation}
.gswp-spin-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gswp-right input,.gswp-right button{font-family:inherit}
@media (max-width:820px){
  .gswp-overlay{overscroll-behavior:contain}
  .gswp-modal{-webkit-overflow-scrolling:touch}
  .gswp-captcha-row{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 48px}
  .gswp-captcha-row span{font-size:13px}
}
@media (max-width:430px){
  .gswp-captcha-row{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 44px}
  .gswp-captcha-row span{font-size:11px}
}
/* v2.3.5: dynamic prize wheel; no fixed 5-segment assumptions */
.gswp-segment span{top:16%;max-width:28%;overflow:hidden;text-overflow:ellipsis;transform:translateX(-50%) rotate(var(--gswp-base-rotation)) rotate(var(--gswp-text-flip,0deg)) rotate(calc(-1 * var(--gswp-wheel-rotation)));}
@media (max-width:820px){.gswp-segment span{top:13%;max-width:25%;font-size:clamp(10px,2.8vw,15px);min-width:0}.gswp-wheel-wrap{z-index:2}}
@media (max-width:430px){.gswp-segment span{top:12%;max-width:25%;font-size:clamp(9px,2.9vw,13px)}}
.gswp-prize-row td{vertical-align:middle}.gswp-prize-row input,.gswp-prize-row select{max-width:100%;box-sizing:border-box}



/* v2.4.5 — robust 5-sector responsive wheel geometry.
 * Labels are positioned from the wheel center using the exact sector midpoint.
 * No fixed segment width is used; the label radius is measured in pixels by JS.
 */
.gswp-wheel{
  --gswp-wheel-rotation:0deg;
  --gswp-label-radius:74px;
  overflow:hidden;
}
.gswp-segment{
  position:absolute !important;
  inset:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.gswp-segment span{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:max-content !important;
  max-width:32% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  text-align:center !important;
  line-height:1.05 !important;
  transform:
    translate(-50%,-50%)
    rotate(var(--gswp-seg-angle))
    translateY(calc(-1 * var(--gswp-label-radius)))
    rotate(calc(-1 * var(--gswp-seg-angle)))
    rotate(calc(-1 * var(--gswp-wheel-rotation)))
    !important;
  transform-origin:50% 50% !important;
  will-change:transform !important;
  font-size:clamp(14px,2.4vw,24px) !important;
}
.gswp-center{
  transform:translate(-50%,-50%) rotate(calc(-1 * var(--gswp-wheel-rotation))) !important;
  transform-origin:50% 50% !important;
  z-index:10 !important;
}
.gswp-wheel{transition:transform 5.6s cubic-bezier(.12,.78,.18,1);}
@media (max-width:820px){
  .gswp-segment span{
    max-width:31% !important;
    font-size:clamp(12px,4vw,18px) !important;
  }
}
@media (max-width:430px){
  .gswp-segment span{
    max-width:30% !important;
    font-size:clamp(11px,3.8vw,16px) !important;
  }
}

/* v2.4.8: coupon copy action */
.gswp-coupon-row{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%;margin:12px 0;}
.gswp-coupon-row .gswp-coupon{margin:0;}
.gswp-copy-coupon{width:34px;height:34px;border:0;border-radius:10px;background:#fff;color:var(--gswp-red);font-size:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:.18s;flex:0 0 34px;}
.gswp-copy-coupon:hover{transform:translateY(-1px);background:#f7f7f7;}
.gswp-copy-coupon.is-copied{background:#eaf7ed;color:#16843b;}
.gswp-copy-status{min-height:18px;margin:0 0 4px;font-size:12px;color:#b7e3bf;font-weight:700;}
@media(max-width:430px){.gswp-coupon-row{gap:5px}.gswp-copy-coupon{width:32px;height:32px;flex-basis:32px}.gswp-coupon{font-size:20px;padding:10px 12px;letter-spacing:1.5px!important;}}

/* v2.4.9 - clearer coupon copy icon */
.gswp-copy-icon {
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  pointer-events: none;
}
.gswp-copy-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 38px;
  min-height: 38px;
  cursor: pointer;
}
