/* ═══════════════════════════════════════════════════════
   SPRINT DRIVES — PRODUCT PAGE CAPTURE
   Desktop: centred modal. Mobile: bottom sheet, never a
   full screen takeover, page behind stays scrollable.
   Borders and background contrast only. No shadows.
═════════════════════════════════════════════════════════ */

:root{
  --sd-cap-indigo:#2a2c7b;
  --sd-cap-green:#cedc49;
  --sd-cap-ink:#0e0f1a;
  --sd-cap-mut:#5c5c6b;
  --sd-cap-bd:#d8d8d2;
  --sd-cap-pad:24px;
}

.sd-cap[hidden]{display:none;}

.sd-cap{
  position:fixed;
  inset:0;
  z-index:9998;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.sd-cap__backdrop{
  position:absolute;
  inset:0;
  background:rgba(14,15,26,.55);
  opacity:0;
  transition:opacity .24s ease;
}
.sd-cap.is-open .sd-cap__backdrop{opacity:1;}

.sd-cap__panel{
  position:relative;
  width:100%;
  max-width:520px;
  background:#fff;
  border:1px solid var(--sd-cap-bd);
  border-bottom:0;
  border-radius:14px 14px 0 0;
  padding:20px var(--sd-cap-pad) calc(var(--sd-cap-pad) + env(safe-area-inset-bottom,0px));
  transform:translateY(100%);
  transition:transform .28s cubic-bezier(.16,1,.3,1);
  max-height:88vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.sd-cap.is-open .sd-cap__panel{transform:translateY(0);}
.sd-cap.is-dragging .sd-cap__panel{transition:none;}

/* Grab handle, mobile sheet only */
.sd-cap__grab{
  width:44px;
  height:4px;
  margin:0 auto 14px;
  border-radius:2px;
  background:var(--sd-cap-bd);
}

.sd-cap__close{
  position:absolute;
  top:8px;
  right:8px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--sd-cap-mut);
  border-radius:8px;
}
.sd-cap__close svg{width:20px;height:20px;}
.sd-cap__close:hover{background:#f1f1f1;color:var(--sd-cap-ink);}

.sd-cap__title{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.15;
  color:var(--sd-cap-indigo);
  padding-right:48px;
}

.sd-cap__sub{
  margin:0 0 18px;
  font-size:15px;
  line-height:1.55;
  color:var(--sd-cap-mut);
}

.sd-cap__label{
  display:block;
  margin:0 0 6px;
  font-size:13px;
  font-weight:600;
  color:var(--sd-cap-ink);
}

.sd-cap__input{
  width:100%;
  height:52px;
  padding:0 14px;
  font-size:16px; /* 16px stops iOS zooming on focus */
  font-family:inherit;
  color:var(--sd-cap-ink);
  background:#fff;
  border:1.5px solid var(--sd-cap-bd);
  border-radius:8px;
}
.sd-cap__input:focus{
  outline:none;
  border-color:var(--sd-cap-indigo);
}
.sd-cap__input.is-error{border-color:#b3261e;}

.sd-cap__consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:16px 0 4px;
  font-size:13px;
  line-height:1.5;
  color:var(--sd-cap-mut);
  cursor:pointer;
}
.sd-cap__consent input{
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin:1px 0 0;
  accent-color:var(--sd-cap-indigo);
}

.sd-cap__submit{
  width:100%;
  min-height:52px;
  margin-top:16px;
  padding:14px 20px;
  font-family:inherit;
  font-size:16px;
  font-weight:700;
  color:#fff;
  background:var(--sd-cap-indigo);
  border:1.5px solid var(--sd-cap-indigo);
  border-radius:8px;
  cursor:pointer;
  transition:background .15s ease;
}
.sd-cap__submit:hover{background:#1c1d55;}
.sd-cap__submit:disabled{opacity:.6;cursor:default;}

.sd-cap__msg{
  margin:12px 0 0;
  font-size:13px;
  line-height:1.5;
  color:#b3261e;
  min-height:0;
}
.sd-cap__msg:empty{display:none;}

.sd-cap__fine{
  margin:14px 0 0;
  font-size:12px;
  line-height:1.5;
  color:var(--sd-cap-mut);
}
.sd-cap__fine a{color:var(--sd-cap-indigo);text-decoration:underline;}

.sd-cap__body--done .sd-cap__title{color:var(--sd-cap-ink);}

/* Visible keyboard focus everywhere */
.sd-cap :focus-visible{
  outline:3px solid var(--sd-cap-green);
  outline-offset:2px;
}

/* ── Desktop: centred modal ────────────────────────── */
@media (min-width:769px){
  .sd-cap{align-items:center;}
  .sd-cap__panel{
    border:1px solid var(--sd-cap-bd);
    border-radius:12px;
    padding:28px 32px 32px;
    transform:translateY(12px) scale(.98);
    opacity:0;
    transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .24s ease;
    max-height:86vh;
  }
  .sd-cap.is-open .sd-cap__panel{
    transform:translateY(0) scale(1);
    opacity:1;
  }
  .sd-cap__grab{display:none;}
  .sd-cap__title{font-size:24px;}
}

/* Desktop only: lock the page behind the modal */
@media (min-width:769px){
  body.sd-cap-locked{overflow:hidden;}
}

@media (prefers-reduced-motion:reduce){
  .sd-cap__backdrop,
  .sd-cap__panel{transition:none;}
}

/* ═══════════════════════════════════════════════════════
   RETURN BAR
   In normal flow at the top of the body. Slim and quiet.
═════════════════════════════════════════════════════════ */

.sd-coupon-bar{
  background:var(--sd-cap-green);
  border-bottom:1px solid #b9c53f;
  color:#1c1d55;
  font-size:14px;
}

.sd-coupon-bar__inner{
  display:flex;
  align-items:center;
  gap:12px;
  max-width:1280px;
  margin:0 auto;
  padding:10px 24px;
  min-height:44px;
}

.sd-coupon-bar__text{flex:1 1 auto;line-height:1.4;}
.sd-coupon-bar__timer{
  flex:0 0 auto;
  font-variant-numeric:tabular-nums;
  font-weight:700;
  white-space:nowrap;
}

.sd-coupon-bar__close{
  flex:0 0 auto;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1c1d55;
  border-radius:6px;
  margin-right:-10px;
}
.sd-coupon-bar__close svg{width:18px;height:18px;}
.sd-coupon-bar__close:hover{background:rgba(28,29,85,.1);}

.sd-coupon-bar.is-expired{
  background:#f1f1f1;
  border-bottom-color:var(--sd-cap-bd);
  color:var(--sd-cap-mut);
}

@media (max-width:768px){
  .sd-coupon-bar__inner{
    padding:10px 24px;
    flex-wrap:wrap;
    gap:6px 12px;
  }
  .sd-coupon-bar__text{flex:1 1 100%;font-size:13px;}
  .sd-coupon-bar__timer{font-size:13px;}
}
