
*,
*::before,
*::after{box-sizing:border-box}

body.eplw120-open{overflow:hidden}

.eplw120-open-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  background:linear-gradient(135deg,#d5bf86 0%,#b99657 100%);
  border:1px solid #b99657;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(185,150,87,.24);
}

.eplw120-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:999999;
}
.eplw120-modal.is-open{display:block}

.eplw120-overlay{
  position:absolute;
  inset:0;
  background:rgba(6,6,6,.72);
  backdrop-filter:blur(4px);
}

.eplw120-dialog{
  position:relative;
  width:min(var(--eplw-maxw),calc(100vw - 12px)) !important;
  max-width:calc(100vw - 12px) !important;
  max-height:min(95svh,920px);
  margin:1svh auto;
  background:linear-gradient(180deg,#fbfaf7 0%,#f6f1e7 100%);
  border:1px solid rgba(255,255,255,.8);
  border-radius:30px;
  overflow:auto;
  overflow-x:hidden !important;
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}

.eplw120-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:30;
  width:42px;
  height:42px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#222;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

.eplw120-layout{
  display:grid;
  grid-template-columns:1fr;
  overflow:hidden;
}

.eplw120-wheel-side{
  position:relative;
  padding:42px 10px 16px;
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.35), transparent 35%),
    linear-gradient(180deg,#f1e8d8 0%,#e8dcc3 100%);
}

.eplw120-wheel-side::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 36%);
  pointer-events:none;
}

.eplw120-pointer{
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:17px solid transparent;
  border-right:17px solid transparent;
  border-top:26px solid #141414;
  z-index:8;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.16));
}

.eplw120-wheel-wrap{
  position:relative;
  width:min(var(--eplw-wheel-m),69vw) !important;
  height:min(var(--eplw-wheel-m),69vw) !important;
  max-width:69vw;
  max-height:69vw;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  flex:0 0 auto;
}

.eplw120-svg{
  width:100% !important;
  height:100% !important;
  display:block;
  transform-origin:50% 50%;
  will-change:transform;
  margin:0 auto;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.12));
}

.eplw120-spin{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  margin:0 !important;
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  min-height:82px !important;
  padding:0 !important;
  border:none !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#d4be85 0%,#b89452 100%) !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:15px !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  border:5px solid rgba(255,255,255,.95) !important;
  z-index:9;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.eplw120-content{
  width:100%;
  min-width:0;
  overflow:hidden;
  padding:20px 18px 24px;
}

.eplw120-logo{
  max-width:150px;
  display:block;
  margin:0 0 14px;
}

.eplw120-title{
  margin:0 0 12px;
  font-size:30px;
  line-height:1.00;
  font-weight:900;
  letter-spacing:-.055em;
  color:#151515;
  word-break:break-word;
  font-family:Arial, Helvetica, sans-serif !important;
}

.eplw120-subtitle{
  margin:0 0 18px;
  font-size:15px;
  line-height:1.72;
  color:rgba(21,21,21,.70);
  letter-spacing:-0.01em;
  font-family:Arial, Helvetica, sans-serif !important;
}

.eplw120-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.eplw120-row input{
  flex:1 1 220px;
  width:100%;
  min-height:50px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.1);
  padding:0 14px;
  font-size:14px;
  background:#fff;
}

.eplw120-row button,
.eplw120-copy,
.eplw120-apply{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  min-height:50px;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:#151515;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  text-align:center;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
  font-family:Arial, Helvetica, sans-serif !important;
}

.eplw120-result{
  margin-top:14px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(8px);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 18px 42px rgba(0,0,0,.06);
}

.eplw120-result-title{
  font-size:20px;
  font-weight:900;
  color:#151515;
  margin-bottom:6px;
  line-height:1.22;
  font-family:Arial, Helvetica, sans-serif !important;
}

.eplw120-result-code{
  font-size:15px;
  line-height:1.65;
  color:rgba(21,21,21,.72);
  margin-bottom:8px;
  word-break:break-all;
  letter-spacing:-0.01em;
  font-family:Arial, Helvetica, sans-serif !important;
}

.eplw120-result-note{
  font-size:14px;
  line-height:1.64;
  color:rgba(21,21,21,.66);
  margin-bottom:12px;
  letter-spacing:-0.01em;
  font-family:Arial, Helvetica, sans-serif !important;
}

.eplw120-result-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.eplw120-apply{
  background:linear-gradient(135deg,#d4be85 0%,#b89452 100%);
  border-color:#b89452;
  color:#fff;
}

.is-hidden{display:none!important}

@media (min-width:900px){
  .eplw120-dialog{
    width:min(var(--eplw-maxw),calc(100vw - 40px)) !important;
    max-width:calc(100vw - 40px) !important;
    margin:3svh auto;
  }

  .eplw120-layout{
    grid-template-columns:minmax(390px,44%) 1fr;
  }

  .eplw120-wheel-side{
    min-height:540px;
    padding:56px 20px 22px;
  }

  .eplw120-wheel-wrap{
    width:var(--eplw-wheel-d) !important;
    height:var(--eplw-wheel-d) !important;
    max-width:var(--eplw-wheel-d);
    max-height:var(--eplw-wheel-d);
  }

  .eplw120-content{
    padding:36px 32px;
  }

  .eplw120-logo{
    max-width:190px;
  }

  .eplw120-title{
    font-size:56px;
  }

  .eplw120-subtitle{
    font-size:16px;
  }

  .eplw120-spin{
    width:112px !important;
    height:112px !important;
    min-width:112px !important;
    min-height:112px !important;
    font-size:20px !important;
    border-width:6px !important;
  }

  .eplw120-result-actions .eplw120-apply,
  .eplw120-result-actions .eplw120-copy{
    width:auto;
    min-width:220px;
  }
}

@media (max-width:480px){
  .eplw120-dialog{
    width:calc(100vw - 10px) !important;
    max-width:calc(100vw - 10px) !important;
    margin:1svh auto;
    max-height:97svh;
    border-radius:24px;
  }

  .eplw120-wheel-side{
    min-height:296px;
    padding:40px 8px 14px;
  }

  .eplw120-wheel-wrap{
    width:min(var(--eplw-wheel-m),69vw) !important;
    height:min(var(--eplw-wheel-m),69vw) !important;
    max-width:69vw;
    max-height:69vw;
  }

  .eplw120-pointer{
    top:8px;
    border-left-width:15px;
    border-right-width:15px;
    border-bottom-width:24px;
  }

  .eplw120-spin{
    width:80px !important;
    height:80px !important;
    min-width:80px !important;
    min-height:80px !important;
    font-size:14px !important;
    border-width:5px !important;
  }

  .eplw120-logo{
    max-width:145px;
  }

  .eplw120-title{
    font-size:29px;
  }

  .eplw120-subtitle{
    font-size:15px;
  }

  .eplw120-content{
    padding:18px 16px 22px;
  }
}


.eplw120-bottom-actions{padding-top:12px}
.eplw120-dismiss{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:12px 18px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:#151515;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.eplw120-close{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.eplw120-bottom-actions{padding-top:12px}
.eplw120-dismiss{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:12px 18px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:#151515;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}

#eplw120-apply{
  pointer-events:auto !important;
  position:relative;
  z-index:30;
}
.eplw120-result-actions{
  position:relative;
  z-index:30;
}

/* v145 text-wrap and logo polish */
.eplw120-result,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.eplw120-logo{
  width:auto;
  max-width:260px;
  height:auto;
  display:block;
}
.eplw120-result-note{
  line-height:1.6;
}

/* v146 premium design polish */
.eplw120-dialog{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.95), rgba(255,255,255,.35) 20%, transparent 42%),
    linear-gradient(180deg,#fcfbf8 0%,#f5efe4 100%);
  border:1px solid rgba(214,191,135,.34);
  box-shadow:0 32px 100px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.55);
}
.eplw120-wheel-side{
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.5), transparent 34%),
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.18), transparent 18%),
    linear-gradient(180deg,#efe2c2 0%, #e1cfaa 100%);
}
.eplw120-wheel-side::before{
  content:"";
  position:absolute;
  inset:16px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.42);
  pointer-events:none;
}
.eplw120-pointer{
  border-top-color:#111;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.22));
}
.eplw120-svg{
  filter:drop-shadow(0 22px 34px rgba(92,68,18,.20));
}
.eplw120-spin{
  background:linear-gradient(135deg,#dbc788 0%,#b38b43 100%) !important;
  box-shadow:0 14px 26px rgba(109,79,19,.20), inset 0 1px 0 rgba(255,255,255,.38);
}
.eplw120-content{
  padding:24px 22px 28px;
}
.eplw120-logo{
  max-width:170px;
  margin:0 0 18px;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.12));
}
.eplw120-title{
  font-size:34px;
  line-height:0.98;
  letter-spacing:-.06em;
}
.eplw120-subtitle{
  font-size:16px;
  line-height:1.7;
  color:#4b4b4b;
}
.eplw120-result{
  background:linear-gradient(180deg,#fff 0%,#fbf7ef 100%);
  border:1px solid rgba(214,191,135,.28);
  box-shadow:0 16px 34px rgba(0,0,0,.06);
}
.eplw120-result-title{
  color:#161616;
  letter-spacing:-.03em;
}
.eplw120-apply{
  background:linear-gradient(135deg,#d5bf86 0%,#b6914e 100%) !important;
  box-shadow:0 10px 24px rgba(185,150,87,.18);
}
.eplw120-copy,.eplw120-dismiss{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
}
@media (min-width: 992px){
  .eplw120-layout{grid-template-columns: minmax(420px, 46%) 1fr;}
  .eplw120-wheel-side{min-height:100%; padding:58px 18px 24px;}
  .eplw120-wheel-wrap{
    width:min(var(--eplw-wheel-d), 420px) !important;
    height:min(var(--eplw-wheel-d), 420px) !important;
    max-width:420px;
    max-height:420px;
  }
  .eplw120-content{padding:34px 34px 34px 20px; display:flex; flex-direction:column; justify-content:center;}
  .eplw120-title{font-size:50px;}
  .eplw120-subtitle{font-size:18px;}
}

/* v147 ultra premium visual pass + perceived performance */
.eplw120-overlay{
  background:linear-gradient(180deg, rgba(8,8,8,.78), rgba(8,8,8,.70));
  backdrop-filter:blur(6px);
}
.eplw120-dialog{
  border-radius:34px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.92), rgba(255,255,255,.28) 22%, transparent 44%),
    radial-gradient(circle at 100% 0%, rgba(222,198,138,.22), transparent 20%),
    linear-gradient(180deg,#fdfcf9 0%,#f6efe4 100%);
  border:1px solid rgba(203,172,99,.26);
  box-shadow:0 38px 120px rgba(0,0,0,.32), 0 3px 0 rgba(255,255,255,.45) inset;
}
.eplw120-wheel-side{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.42), transparent 34%),
    radial-gradient(circle at 18% 30%, rgba(255,255,255,.10), transparent 18%),
    linear-gradient(180deg,#efdfb8 0%,#dcc28f 100%);
}
.eplw120-wheel-side::after{
  background:
    linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0) 36%),
    linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,0) 26%, rgba(255,255,255,.06) 52%, rgba(255,255,255,0) 78%);
}
.eplw120-wheel-wrap{
  filter:drop-shadow(0 30px 34px rgba(101,72,19,.14));
}
.eplw120-svg{
  filter:drop-shadow(0 26px 44px rgba(88,61,11,.18));
}
.eplw120-spin{
  background:linear-gradient(135deg,#dfcb91 0%,#b98c3d 100%) !important;
  box-shadow:0 16px 34px rgba(135,96,22,.22), inset 0 1px 0 rgba(255,255,255,.5) !important;
}
.eplw120-content{
  position:relative;
}
.eplw120-content::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.12), transparent 30%);
  pointer-events:none;
}
.eplw120-logo{
  max-width:182px;
  margin:0 0 20px;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.10));
}
.eplw120-title{
  font-size:36px;
  line-height:.97;
  letter-spacing:-.065em;
  margin-bottom:14px;
}
.eplw120-subtitle{
  font-size:16px;
  line-height:1.75;
  color:#444;
  max-width:640px;
}
.eplw120-result{
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.9), transparent 28%),
    linear-gradient(180deg,#fff 0%,#fbf6ec 100%);
  border:1px solid rgba(209,183,122,.28);
  box-shadow:0 18px 34px rgba(0,0,0,.06);
}
.eplw120-result-title{
  font-size:30px;
  line-height:1.06;
}
.eplw120-result-note{
  color:#575757;
  font-size:15px;
  line-height:1.7;
}
.eplw120-apply,
.eplw120-open-button{
  background:linear-gradient(135deg,#dcc68a 0%,#b78f46 100%) !important;
  box-shadow:0 12px 24px rgba(185,150,87,.18);
}
.eplw120-copy,
.eplw120-dismiss{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
}
.eplw120-result-actions{
  gap:12px;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info{
  border-radius:22px !important;
  padding:24px 24px 24px 74px !important;
  line-height:1.75 !important;
  background:#b79b5a !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 12px 28px rgba(0,0,0,.06);
}
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before{
  color:#fff !important;
  top:24px !important;
  left:24px !important;
}
@media (min-width: 992px){
  .eplw120-dialog{
    width:min(var(--eplw-maxw), calc(100vw - 36px)) !important;
    max-width:min(var(--eplw-maxw), calc(100vw - 36px)) !important;
  }
  .eplw120-title{
    font-size:56px;
  }
  .eplw120-subtitle{
    font-size:18px;
  }
  .eplw120-result-title{
    font-size:34px;
  }
}

/* v149 theme vars + cleaner notices + softer load */
:root{
  --eplw-primary:#C7AE74;
  --eplw-secondary:#F3EBDD;
  --eplw-dark:#151515;
}
.eplw120-overlay{background:linear-gradient(180deg, rgba(8,8,8,.72), rgba(8,8,8,.66));}
.eplw120-dialog{
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.94), rgba(255,255,255,.30) 22%, transparent 44%),
    linear-gradient(180deg,#fcfbf8 0%,var(--eplw-secondary) 100%);
}
.eplw120-wheel-side{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.38), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--eplw-primary) 35%, #fff) 0%, color-mix(in srgb, var(--eplw-primary) 78%, #fff) 100%);
}
.eplw120-pointer{border-top-color:var(--eplw-dark);}
.eplw120-spin,
.eplw120-apply,
.eplw120-open-button{
  background:linear-gradient(135deg, color-mix(in srgb, var(--eplw-primary) 70%, #fff) 0%, color-mix(in srgb, var(--eplw-primary) 95%, #7b5a1f) 100%) !important;
}
.eplw120-title,
.eplw120-result-title{color:var(--eplw-dark);}
.eplw120-copy,.eplw120-dismiss{
  color:var(--eplw-dark);
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info{
  border-radius:24px !important;
  padding:22px 22px 22px 68px !important;
  line-height:1.68 !important;
  font-size:15px !important;
  background:linear-gradient(180deg, color-mix(in srgb, var(--eplw-primary) 92%, #fff) 0%, color-mix(in srgb, var(--eplw-primary) 100%, #8d6a2c) 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(0,0,0,.05);
  overflow-wrap:break-word !important;
  word-break:normal !important;
}
.woocommerce-notices-wrapper .woocommerce-message strong,
.woocommerce-notices-wrapper .woocommerce-info strong{
  color:#fff !important;
}
.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before{
  color:#fff !important;
  top:22px !important;
  left:22px !important;
}
@media (max-width: 767px){
  .woocommerce-notices-wrapper .woocommerce-message,
  .woocommerce-notices-wrapper .woocommerce-info{
    padding:20px 18px 20px 58px !important;
    font-size:14px !important;
    line-height:1.7 !important;
  }
  .woocommerce-notices-wrapper .woocommerce-message::before,
  .woocommerce-notices-wrapper .woocommerce-info::before{
    top:20px !important;
    left:18px !important;
  }
}


/* v150 mobile viewport fit: less top gap, visible actions without extra scroll */
@media (max-width: 767px){
  .eplw120-modal{
    padding:8px !important;
    align-items:flex-start !important;
  }
  .eplw120-dialog{
    width:calc(100vw - 16px) !important;
    max-width:calc(100vw - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
    border-radius:28px !important;
    overflow:hidden !important;
  }
  .eplw120-layout{
    display:flex !important;
    flex-direction:column !important;
    min-height:calc(100dvh - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
  }
  .eplw120-wheel-side{
    padding:10px 10px 6px !important;
    min-height:auto !important;
    flex:0 0 auto !important;
  }
  .eplw120-wheel-side::before{
    inset:10px !important;
    border-radius:22px !important;
  }
  .eplw120-pointer{
    top:2px !important;
  }
  .eplw120-wheel-wrap{
    width:min(72vw, 290px) !important;
    height:min(72vw, 290px) !important;
    margin:14px auto 6px !important;
  }
  .eplw120-content{
    padding:14px 16px 12px !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:auto !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
  }
  .eplw120-logo{
    max-width:135px !important;
    margin:0 0 10px !important;
  }
  .eplw120-title{
    font-size:28px !important;
    line-height:0.96 !important;
    margin:0 0 10px !important;
  }
  .eplw120-subtitle{
    font-size:15px !important;
    line-height:1.55 !important;
    margin:0 0 10px !important;
  }
  .eplw120-result{
    margin-top:10px !important;
    padding:14px !important;
    border-radius:18px !important;
  }
  .eplw120-result-title{
    font-size:24px !important;
    line-height:1.02 !important;
    margin-bottom:8px !important;
  }
  .eplw120-result-note{
    font-size:14px !important;
    line-height:1.55 !important;
    margin-bottom:10px !important;
  }
  .eplw120-result-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    position:sticky !important;
    bottom:0 !important;
    background:linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(246,239,228,.96) 18%, rgba(246,239,228,1) 100%) !important;
    padding-top:10px !important;
    margin-top:auto !important;
    z-index:25 !important;
  }
  .eplw120-apply,
  .eplw120-copy,
  .eplw120-dismiss{
    min-height:50px !important;
    font-size:16px !important;
    border-radius:16px !important;
  }
  .eplw120-bottom-actions{
    padding-top:10px !important;
    position:sticky !important;
    bottom:0 !important;
    background:linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(246,239,228,.97) 30%, rgba(246,239,228,1) 100%) !important;
    z-index:24 !important;
  }
  .eplw120-save-email{
    margin-top:10px !important;
  }
  .eplw120-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .eplw120-close{
    top:8px !important;
    left:8px !important;
    width:42px !important;
    height:42px !important;
    border-radius:0 0 14px 0 !important;
    z-index:40 !important;
  }
}

/* v151 performance + tighter mobile fit */
:root{
  --eplw-primary:#C7AE74;
  --eplw-secondary:#F3EBDD;
  --eplw-dark:#151515;
}
.eplw120-title,.eplw120-result-title{color:var(--eplw-dark);}
.eplw120-pointer{border-top-color:var(--eplw-dark);}
@media (max-width: 767px){
  .eplw120-modal{
    padding:4px !important;
    align-items:flex-start !important;
  }
  .eplw120-dialog{
    width:calc(100vw - 8px) !important;
    max-width:calc(100vw - 8px) !important;
    max-height:calc(100dvh - 8px) !important;
    border-radius:24px !important;
  }
  .eplw120-layout{
    min-height:calc(100dvh - 8px) !important;
    max-height:calc(100dvh - 8px) !important;
  }
  .eplw120-wheel-side{
    padding:2px 8px 2px !important;
    min-height:auto !important;
  }
  .eplw120-wheel-side::before{
    inset:8px !important;
    border-radius:18px !important;
  }
  .eplw120-pointer{
    top:-4px !important;
  }
  .eplw120-wheel-wrap{
    width:min(66vw, 262px) !important;
    height:min(66vw, 262px) !important;
    margin:2px auto 0 !important;
  }
  .eplw120-content{
    padding:10px 14px 10px !important;
  }
  .eplw120-logo{
    max-width:122px !important;
    margin:0 0 6px !important;
  }
  .eplw120-title{
    font-size:25px !important;
    line-height:.96 !important;
    margin:0 0 8px !important;
  }
  .eplw120-subtitle{
    font-size:14px !important;
    line-height:1.45 !important;
    margin:0 0 8px !important;
  }
  .eplw120-result{
    margin-top:8px !important;
    padding:12px !important;
  }
  .eplw120-result-title{
    font-size:22px !important;
    margin-bottom:6px !important;
  }
  .eplw120-result-note{
    font-size:13px !important;
    line-height:1.42 !important;
    margin-bottom:8px !important;
  }
  .eplw120-result-actions{
    position:sticky !important;
    bottom:0 !important;
    z-index:25 !important;
    background:linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(246,239,228,.96) 22%, rgba(246,239,228,1) 100%) !important;
    padding-top:8px !important;
    gap:8px !important;
  }
  .eplw120-bottom-actions{
    position:sticky !important;
    bottom:0 !important;
    z-index:24 !important;
    background:linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(246,239,228,.97) 30%, rgba(246,239,228,1) 100%) !important;
    padding-top:8px !important;
  }
  .eplw120-apply,.eplw120-copy,.eplw120-dismiss{
    min-height:46px !important;
    font-size:15px !important;
  }
  .eplw120-close{
    top:4px !important;
    left:4px !important;
    width:38px !important;
    height:38px !important;
  }
}

/* v152 mobile polish: less top gap + unified action area */
@media (max-width: 767px){
  .eplw120-modal{
    padding:2px !important;
  }
  .eplw120-dialog{
    width:calc(100vw - 4px) !important;
    max-width:calc(100vw - 4px) !important;
    max-height:calc(100dvh - 4px) !important;
    border-radius:22px !important;
  }
  .eplw120-layout{
    min-height:calc(100dvh - 4px) !important;
    max-height:calc(100dvh - 4px) !important;
  }
  .eplw120-wheel-side{
    padding:0 8px 0 !important;
  }
  .eplw120-wheel-side::before{
    inset:6px !important;
    border-radius:16px !important;
  }
  .eplw120-pointer{
    top:-8px !important;
  }
  .eplw120-wheel-wrap{
    width:min(64vw, 248px) !important;
    height:min(64vw, 248px) !important;
    margin:0 auto !important;
  }
  .eplw120-content{
    padding:8px 14px 8px !important;
  }
  .eplw120-logo{
    max-width:116px !important;
    margin:0 0 4px !important;
  }
  .eplw120-title{
    font-size:24px !important;
    margin:0 0 6px !important;
  }
  .eplw120-subtitle{
    font-size:14px !important;
    line-height:1.4 !important;
    margin:0 0 6px !important;
  }
  .eplw120-result{
    margin-top:6px !important;
    padding:12px !important;
    border-radius:18px !important;
  }
  .eplw120-result-title{
    font-size:21px !important;
    margin-bottom:6px !important;
  }
  .eplw120-result-code{
    font-size:15px !important;
    margin-bottom:8px !important;
  }
  .eplw120-result-note{
    font-size:13px !important;
    line-height:1.4 !important;
    margin-bottom:8px !important;
  }
  .eplw120-result-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:8px !important;
    padding:10px 0 0 !important;
    position:sticky !important;
    bottom:0 !important;
    z-index:30 !important;
    background:linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(246,239,228,.94) 20%, rgba(246,239,228,1) 100%) !important;
    border-top:1px solid rgba(199,174,116,.14);
  }
  .eplw120-bottom-actions{
    padding-top:8px !important;
    margin-top:0 !important;
    position:sticky !important;
    bottom:0 !important;
    z-index:29 !important;
    background:linear-gradient(180deg, rgba(246,239,228,0) 0%, rgba(246,239,228,.97) 26%, rgba(246,239,228,1) 100%) !important;
  }
  .eplw120-apply,
  .eplw120-copy,
  .eplw120-dismiss{
    min-height:46px !important;
    font-size:15px !important;
    border-radius:16px !important;
    margin:0 !important;
  }
  .eplw120-copy{
    opacity:1 !important;
  }
  .eplw120-close{
    top:2px !important;
    left:2px !important;
    width:36px !important;
    height:36px !important;
  }
}

/* v163 safe casino feel: CSS only, no click/session logic touched */
.eplw120-dialog{
  box-shadow:0 40px 120px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.45);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.92), rgba(255,255,255,.24) 22%, transparent 44%),
    linear-gradient(180deg,#fcfbf7 0%,#f4ebda 100%);
}
.eplw120-wheel-side{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.42), transparent 34%),
    linear-gradient(180deg,#eddcae 0%,#d2b06a 100%);
}
.eplw120-wheel-wrap{
  border:6px solid rgba(214,188,120,.24);
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,255,255,.88) 0%, rgba(245,233,201,.75) 58%, rgba(224,196,128,.52) 100%);
  box-shadow:0 24px 40px rgba(101,72,19,.12);
}
.eplw120-svg{
  filter:drop-shadow(0 20px 38px rgba(92,68,18,.16));
}
.eplw120-pointer{
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));
}
.eplw120-spin{
  background:linear-gradient(135deg,#dec98c 0%,#b2863a 100%) !important;
  box-shadow:0 14px 28px rgba(109,79,19,.20), inset 0 1px 0 rgba(255,255,255,.42) !important;
  letter-spacing:.06em !important;
}
.eplw120-result{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.88), transparent 28%),
    linear-gradient(180deg,#fff 0%,#fbf4e8 100%);
  border:1px solid rgba(214,188,120,.24);
}
.eplw120-apply{
  box-shadow:0 12px 22px rgba(185,150,87,.18) !important;
}

/* v164 template presets */
.eplw-template-classic_gold .eplw120-dialog{}
.eplw-template-classic_gold .eplw120-wheel-side{
  background:
    radial-gradient(circle at top, rgba(255,255,255,.42), transparent 34%),
    linear-gradient(180deg,#eddcae 0%,#d2b06a 100%);
}
.eplw-template-classic_gold .eplw120-wheel-wrap{
  border-color:rgba(214,188,120,.24);
}
.eplw-template-luxury_black .eplw120-dialog{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 20%),
    linear-gradient(180deg,#171717 0%,#232323 100%);
  border-color:rgba(198,170,97,.28);
}
.eplw-template-luxury_black .eplw120-title,
.eplw-template-luxury_black .eplw120-subtitle,
.eplw-template-luxury_black .eplw120-result-title,
.eplw-template-luxury_black .eplw120-result-note,
.eplw-template-luxury_black .eplw120-result-code{
  color:#fff !important;
}
.eplw-template-luxury_black .eplw120-wheel-side{
  background:linear-gradient(180deg,#202020 0%,#0f0f0f 100%);
}
.eplw-template-luxury_black .eplw120-wheel-wrap{
  border:6px solid rgba(214,188,120,.34);
  background:radial-gradient(circle, rgba(255,255,255,.10) 0%, rgba(198,170,97,.18) 72%, rgba(0,0,0,.16) 100%);
}
.eplw-template-luxury_black .eplw120-result{
  background:linear-gradient(180deg,#232323 0%,#1b1b1b 100%);
  border-color:rgba(198,170,97,.24);
}
.eplw-template-luxury_black .eplw120-copy,
.eplw-template-luxury_black .eplw120-dismiss{
  background:#2b2b2b;
  color:#fff;
  border-color:rgba(255,255,255,.08);
}
.eplw-template-luxury_black .eplw120-apply,
.eplw-template-luxury_black .eplw120-spin{
  background:linear-gradient(135deg,#dbc786 0%,#b28538 100%) !important;
}
.eplw-template-casino_red .eplw120-dialog{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.16), transparent 22%),
    linear-gradient(180deg,#fff8f8 0%,#f6e8e7 100%);
  border-color:rgba(185,70,60,.20);
}
.eplw-template-casino_red .eplw120-wheel-side{
  background:linear-gradient(180deg,#c7352f 0%,#8c1712 100%);
}
.eplw-template-casino_red .eplw120-wheel-wrap{
  border:6px solid rgba(255,225,186,.24);
  background:radial-gradient(circle,#fff 0%,#f6d9cf 72%,#efc0b1 100%);
}
.eplw-template-casino_red .eplw120-spin,
.eplw-template-casino_red .eplw120-apply{
  background:linear-gradient(135deg,#d4534c 0%,#a8221b 100%) !important;
}
.eplw-template-minimal_clean .eplw120-dialog{
  background:#fff;
  border-color:rgba(0,0,0,.08);
  box-shadow:0 22px 60px rgba(0,0,0,.12);
}
.eplw-template-minimal_clean .eplw120-wheel-side{
  background:linear-gradient(180deg,#f6f6f6 0%,#ebebeb 100%);
}
.eplw-template-minimal_clean .eplw120-wheel-wrap{
  border:4px solid rgba(0,0,0,.06);
  background:#fff;
  box-shadow:none;
}
.eplw-template-minimal_clean .eplw120-spin,
.eplw-template-minimal_clean .eplw120-apply{
  background:linear-gradient(135deg,#3a3a3a 0%,#111 100%) !important;
}
