/* GG Casino Travel — ADT Calculator module
   Brand palette: #0080ff blue / #003161 navy / #09152b text
   Classes are .ggcalc-prefixed to avoid theme collisions.
   Ported from the PRIME microsite (adtcalculator.com) 2026-06-09:
   per-game model + slot-machine reveal + 3-estimate display + 2-col layout. */
.ggcalc{
  --gg-blue:#0080ff; --gg-navy:#003161; --gg-text:#09152b;
  --gg-border:#a3cfff; --gg-surface:#eef5ff; --gg-surface-2:#dceeff;
  --gg-muted:#5b6675; --gg-white:#ffffff; --gg-shadow:0 18px 50px -22px rgba(0,49,97,.45);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--gg-text); max-width:620px; margin:0 auto; padding:24px 14px;
  -webkit-font-smoothing:antialiased;
}
.ggcalc *{box-sizing:border-box;margin:0}
.ggcalc__head{text-align:center;margin-bottom:22px}
.ggcalc__eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gg-blue);margin-bottom:10px}
.ggcalc__title{font-size:30px;line-height:1.12;font-weight:800;letter-spacing:-.02em}
.ggcalc__sub{margin-top:10px;color:var(--gg-muted);font-size:15px;line-height:1.5}
.ggcalc__card{background:var(--gg-white);border:1px solid var(--gg-border);border-radius:20px;padding:26px;box-shadow:var(--gg-shadow)}
.ggcalc__row{display:flex;gap:14px;flex-wrap:wrap}
.ggcalc__field{margin-bottom:18px;flex:1 1 100%}
.ggcalc__field--half{flex:1 1 calc(50% - 7px)}
.ggcalc__label{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--gg-navy)}
.ggcalc__hint{display:block;font-size:12px;color:var(--gg-muted);margin-top:6px}
.ggcalc select,.ggcalc input[type=number],.ggcalc input[type=text],.ggcalc input[type=email],.ggcalc input[type=tel]{
  width:100%;font-family:inherit;font-size:15px;font-weight:500;color:var(--gg-text);background:var(--gg-white);
  border:1.5px solid var(--gg-border);border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.ggcalc select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230080ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer}
.ggcalc select:focus,.ggcalc input:focus{outline:none;border-color:var(--gg-blue);box-shadow:0 0 0 4px rgba(0,128,255,.15)}
.ggcalc__inputwrap{position:relative}
.ggcalc__prefix{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--gg-muted);font-weight:600;font-size:15px;pointer-events:none;line-height:1}
.ggcalc__inputwrap input[type=number]{padding-left:36px !important}
.ggcalc__result{margin-top:24px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--gg-navy),#001b38);color:#fff;box-shadow:0 18px 44px -20px rgba(0,49,97,.7)}
.ggcalc__result-top{padding:24px 20px 2px;text-align:center}
.ggcalc__result-label{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gg-border);opacity:.95}
.ggcalc__result-num{font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1;margin-top:8px;font-variant-numeric:tabular-nums}
.ggcalc__result-unit{font-size:14px;font-weight:500;color:#bcd9ff;margin-top:8px}
.ggcalc__break{display:flex;border-top:1px solid rgba(163,207,255,.18)}
.ggcalc__break-item{flex:1;padding:15px 10px;text-align:center}
.ggcalc__break-item+.ggcalc__break-item{border-left:1px solid rgba(163,207,255,.18)}
.ggcalc__break-k{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9fc6f5}
.ggcalc__break-v{display:block;font-size:18px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
/* 3-estimate result display (Slower / Average / Fast) */
.ggcalc__est{display:flex;border-top:1px solid rgba(163,207,255,.18);padding:18px 6px 8px;align-items:flex-start;--theo:33px;--theo-big:50px}
.ggcalc__est-col{flex:1;text-align:center;padding:14px 4px;border-radius:14px}
.ggcalc__est-col--avg{background:rgba(163,207,255,.10)}
.ggcalc__est-name{font-size:12.5px;font-weight:600;line-height:1.25;color:#bcd9ff;min-height:32px}
.ggcalc__est-theo{font-size:var(--theo);font-weight:800;color:#fff;line-height:1;margin-top:8px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ggcalc__est-theo--big{font-size:var(--theo-big)}
.ggcalc__est-spins{font-size:12px;color:#9fc6f5;margin-top:11px;line-height:1.2}
.ggcalc__est-spins b{font-weight:800;color:#dceeff}
.ggcalc__est-cap{text-align:center;font-size:11.5px;color:#9fc6f5;opacity:.85;padding:2px 14px 18px}
.ggcalc__cta{margin-top:20px;background:var(--gg-surface-2);border-radius:18px;padding:22px 22px 24px;border:1px solid var(--gg-border)}
.ggcalc__cta h3{font-size:19px;font-weight:800;letter-spacing:-.01em}
.ggcalc__cta p{margin-top:6px;color:var(--gg-muted);font-size:14px;line-height:1.5}
.ggcalc__cta-form{margin-top:16px}
.ggcalc__consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:12px;color:var(--gg-muted);line-height:1.45}
.ggcalc__consent input{margin-top:2px;width:16px;height:16px;accent-color:var(--gg-blue);flex:none}
.ggcalc__btn{width:100%;margin-top:16px;font-family:inherit;font-size:16px;font-weight:700;color:#fff;background:var(--gg-blue);border:none;border-radius:999px;padding:15px 20px;cursor:pointer;transition:background .15s,transform .05s}
.ggcalc__btn:hover{background:var(--gg-navy)}
.ggcalc__btn:active{transform:translateY(1px)}
.ggcalc__btn[disabled]{opacity:.55;cursor:not-allowed}
.ggcalc__thanks{text-align:center;padding:10px 4px}
.ggcalc__thanks-mark{width:52px;height:52px;border-radius:50%;background:var(--gg-blue);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:26px;font-weight:800}
.ggcalc__thanks h3{font-size:20px;font-weight:800}
.ggcalc__thanks p{margin-top:6px;color:var(--gg-muted);font-size:14px}
.ggcalc__disclaimer{margin-top:18px;text-align:center;font-size:11.5px;color:var(--gg-muted);line-height:1.5}
/* ----- Slot-machine "Calculate" button ----- */
.ggcalc__spin{position:relative;overflow:hidden;width:100%;margin-top:22px;border:none;border-radius:999px;cursor:pointer;
  font-family:inherit;font-size:17px;font-weight:800;letter-spacing:.01em;color:#06223f;
  background:linear-gradient(135deg,#ffd84d,#ffb000 55%,#ff9d2b);
  padding:16px 22px;display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow:0 12px 26px -12px rgba(255,170,0,.85),inset 0 1px 0 rgba(255,255,255,.6);
  transition:transform .06s ease,box-shadow .2s ease,filter .2s ease}
.ggcalc__spin:hover{filter:brightness(1.05)}
.ggcalc__spin:active{transform:translateY(2px) scale(.99)}
.ggcalc__spin[disabled]{cursor:default}
.ggcalc__spin-reel{font-size:21px;line-height:1;display:inline-block}
.ggcalc__spin.is-spinning .ggcalc__spin-reel{animation:ggcalc-wobble .45s ease-in-out infinite}
@keyframes ggcalc-wobble{0%,100%{transform:rotate(-13deg) scale(1.05)}50%{transform:rotate(13deg) scale(1.05)}}
.ggcalc__spin::after{content:"";position:absolute;top:0;left:-65%;width:38%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-18deg)}
.ggcalc__spin:hover::after{animation:ggcalc-shine .9s ease}
@keyframes ggcalc-shine{from{left:-65%}to{left:135%}}
.ggcalc__spin.is-stale{animation:ggcalc-pulse 1.5s ease-in-out infinite}
@keyframes ggcalc-pulse{0%,100%{box-shadow:0 12px 26px -12px rgba(255,170,0,.85)}50%{box-shadow:0 14px 36px -8px rgba(255,170,0,1)}}
/* ----- Result states: idle / stale / hit ----- */
.ggcalc__result{position:relative;transition:opacity .25s ease}
.ggcalc__result.is-idle .ggcalc__result-num,.ggcalc__result.is-idle .ggcalc__est-theo{opacity:.38}
.ggcalc__result.is-stale{opacity:.62}
.ggcalc__result.is-hit{animation:ggcalc-pop .55s ease}
@keyframes ggcalc-pop{0%{transform:scale(1)}28%{transform:scale(1.035)}100%{transform:scale(1)}}
.ggcalc__result.is-hit .ggcalc__result-num{animation:ggcalc-glow .75s ease}
@keyframes ggcalc-glow{0%{text-shadow:none}40%{text-shadow:0 0 28px rgba(255,201,74,.95),0 0 9px rgba(255,255,255,.85)}100%{text-shadow:none}}
.ggcalc__shine{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:18px}
.ggcalc__shine::before{content:"";position:absolute;top:-20%;left:-45%;width:32%;height:140%;opacity:0;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg)}
.ggcalc__result.is-hit .ggcalc__shine::before{animation:ggcalc-resshine .75s ease}
@keyframes ggcalc-resshine{0%{left:-45%;opacity:1}100%{left:135%;opacity:0}}
/* ----- Slot reels for the ADT figure ----- */
.ggcalc__reels{display:inline-flex;align-items:flex-start;justify-content:center;line-height:1;height:1em}
.ggcalc__reel{display:inline-block;height:1em;line-height:1;overflow:hidden;width:.62em;vertical-align:top}
.ggcalc__reel-strip{display:block;will-change:transform}
.ggcalc__reel-strip span{display:flex;align-items:center;justify-content:center;height:1em;line-height:1;font-variant-numeric:tabular-nums}
.ggcalc__sym{display:inline-flex;align-items:center;justify-content:center;height:1em;line-height:1}
@media (prefers-reduced-motion:reduce){
  .ggcalc__spin.is-spinning .ggcalc__spin-reel,.ggcalc__spin:hover::after,.ggcalc__spin.is-stale,
  .ggcalc__result.is-hit,.ggcalc__result.is-hit .ggcalc__result-num,.ggcalc__result.is-hit .ggcalc__shine::before{animation:none}
}
/* ----- 2-column layout: inputs left, result right (desktop); stacks on mobile ----- */
.ggcalc__grid{display:grid;grid-template-columns:1fr;gap:18px}
.ggcalc__col-out .ggcalc__result{margin-top:0}
@media (min-width:780px){
  .ggcalc{max-width:900px}
  .ggcalc__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.22fr);gap:26px;align-items:start}
}
.ggcalc .is-hidden{display:none !important}
@media (max-width:560px){
  .ggcalc{padding:12px 8px}
  .ggcalc__card{padding:16px 14px;border-radius:16px}
  .ggcalc__cta{padding:16px 14px}
  .ggcalc__result-top{padding:20px 16px 18px}
  .ggcalc__title{font-size:25px}
  .ggcalc__result-num{font-size:44px}
  .ggcalc__field--half{flex:1 1 100%}
  .ggcalc__est{padding:14px 4px 4px}
  .ggcalc__est-col{padding:10px 3px}
  .ggcalc__est{--theo:26px;--theo-big:37px}
  .ggcalc__est-name{font-size:11px;min-height:28px}
  .ggcalc__est-spins{font-size:11px;margin-top:8px}
}
/* microsite homepage: disclaimer rendered as a sibling outside .ggcalc */
.disclaimer{max-width:620px;margin:18px auto 0;text-align:center;font-size:11.5px;color:#5b6675;line-height:1.5;padding:0 14px;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
/* comp-value framing under the 3-estimate display (revealed after first calc) */
.ggcalc__comp{margin:0 14px 16px;padding:10px 14px;background:rgba(255,255,255,.07);border-radius:8px;font-size:13.5px;color:#cfe0f3;text-align:center;line-height:1.55}
.ggcalc__comp b{color:#ffd966}
.ggcalc__qualify.is-vip{border:1px solid rgba(255,217,102,.55);background:rgba(255,217,102,.10)}
/* gated lead form — revealed only at qualifying ADT (>=300) */
.ggcalc__qualify-badge{display:block;width:max-content;max-width:100%;margin:20px auto -8px;padding:10px 20px;border-radius:999px;background:linear-gradient(135deg,#34d27a,#1a9e5b);color:#fff;font-weight:800;font-size:15.5px;letter-spacing:-.01em;text-align:center;box-shadow:0 12px 26px -12px rgba(26,158,91,.85);position:relative;z-index:1}
.ggcalc--form .ggcalc__qualify-badge{margin-top:0}
.ggcalc.ggcalc--form{padding-top:0}
@keyframes ggcalc-reveal{0%{opacity:0;transform:translateY(18px) scale(.96)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes ggcalc-pulse-grn{0%,100%{box-shadow:0 12px 26px -12px rgba(26,158,91,.85)}50%{box-shadow:0 14px 36px -8px rgba(26,158,91,1)}}
.ggcalc__gate.is-revealed{animation:ggcalc-reveal .65s cubic-bezier(.18,.9,.32,1.15) both}
.ggcalc__gate.is-revealed .ggcalc__qualify-badge{animation:ggcalc-pulse-grn 1.3s ease 2}
@media (prefers-reduced-motion:reduce){.ggcalc__gate.is-revealed,.ggcalc__gate.is-revealed .ggcalc__qualify-badge{animation:none}}
