/* Giveaway pop-up: a mini ticket that slides up, and collapses to a gold tab when closed. */
.gv-pop{position:fixed;left:16px;bottom:16px;z-index:55;max-width:min(360px,calc(100vw - 32px));font-family:var(--sans,system-ui,sans-serif)}
.gv-pop[hidden]{display:none}
.gv-pop__ticket{position:relative;display:flex;background:#101d38;color:#fff;border-radius:10px;overflow:hidden;box-shadow:0 18px 40px -14px rgba(10,20,40,.55)}
.gv-pop__main{flex:1;min-width:0;padding:16px 18px 16px 18px}
.gv-pop__kicker{display:block;color:#c9a84c;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding-right:26px}
.gv-pop__title{margin:.35rem 0 .3rem;font-family:Display,Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:1.3rem;line-height:1.05;color:#fff}
.gv-pop__line{margin:0;font-size:.85rem;line-height:1.45;color:#d7deea}
.gv-pop__cta{display:inline-block;margin-top:.8rem;background:#c9a84c;color:#101d38;font-weight:800;font-size:.8rem;text-decoration:none;padding:10px 14px;min-height:40px}
.gv-pop__cta:hover{background:#e0c476}
.gv-pop__stub{flex:none;width:46px;display:grid;place-items:center;background:#c9a84c;color:#101d38;border-left:2px dashed #101d38;position:relative}
.gv-pop__stub span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Display,Impact,sans-serif;font-size:17px;letter-spacing:.06em;text-transform:uppercase}
.gv-pop__close{position:absolute;top:4px;right:50px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;background:none;color:#b9c5d8;cursor:pointer}
.gv-pop__close svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.8;fill:none}
.gv-pop__close:hover{color:#fff}
.gv-pop__tab{display:none;align-items:center;gap:.4rem;min-height:44px;padding:0 16px;border:0;border-radius:22px;background:#c9a84c;color:#101d38;font-weight:800;font-size:.8rem;cursor:pointer;box-shadow:0 10px 24px -10px rgba(10,20,40,.5)}
.gv-pop__tab:hover{background:#e0c476}
.gv-pop.is-collapsed .gv-pop__ticket{display:none}
.gv-pop.is-collapsed .gv-pop__tab{display:inline-flex}
.gv-pop :focus-visible{outline:2px solid #e0c476;outline-offset:2px}
/* Out of the way while someone fills in a form, or while the giveaway section itself is on screen. */
.editing .gv-pop,.form-in-view .gv-pop,.gv-in-view .gv-pop{visibility:hidden;opacity:0;pointer-events:none}
.gv-pop{transition:opacity .25s ease,visibility .25s}
@media (max-width:599px){
  .gv-pop{left:12px;bottom:calc(66px + env(safe-area-inset-bottom))} /* clears the slideshow bars in the hero */
  .past-hero:not(.editing):not(.form-in-view) .gv-pop{bottom:calc(78px + env(safe-area-inset-bottom))}
  .gv-pop__title{font-size:1.15rem}
}
@media (prefers-reduced-motion:no-preference){
  .gv-pop.is-entering .gv-pop__ticket{animation:gv-up .5s cubic-bezier(.2,.8,.2,1) both}
  @keyframes gv-up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
}
/* Held back (but measurable) while it would cover the hero's main buttons. */
.gv-pop.is-waiting{visibility:hidden}
@media (min-width:600px){.gv-pop{left:auto;right:16px;bottom:84px}.past-hero .gv-pop{bottom:16px}}
@media (max-width:599px){
  .gv-pop__main{padding:12px 14px}
  .gv-pop__title{font-size:1.05rem;margin:.25rem 0 .2rem}
  .gv-pop__line{font-size:.8rem;line-height:1.4}
  .gv-pop__cta{margin-top:.55rem;padding:9px 12px}
  .gv-pop__stub{width:40px}
  .gv-pop__close{right:42px}
}
.gv-pop__count{margin:.45rem 0 0;font-size:.78rem;font-weight:700;color:#e0c476}
