/* Profile V2 — uniform square promotion cards aligned to the promo-code strip. */
.profile-v2-promotions[hidden]{display:none}

.profile-v2-promotions{
  position:relative;
  isolation:isolate;
  min-height:0;
  width:100%;
  margin:-12px 0 0;
  padding:0;
  overflow:visible;
  background:transparent;
}

/* Keep the matrix on the same full-width rail as the promo-code strip. */
.profile-v2-promotions .pv7-matrix{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-content:stretch;
  justify-items:stretch;
  align-items:stretch;
  gap:20px;
  width:100%;
  max-width:none;
  margin:0;
}
.profile-v2-promotions .box{
  position:relative;
  isolation:isolate;
  min-width:0;
  width:100%;
  max-width:none;
  justify-self:stretch;
  aspect-ratio:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  padding:clamp(16px,1.45vw,24px);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 0% 0%,rgba(var(--acc,0,196,210),.20),transparent 26%),
    linear-gradient(118deg,rgba(40,45,90,.52) 0%,rgba(28,32,70,.38) 35%,rgba(18,21,52,.28) 70%,rgba(14,16,44,.22) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 44px -20px rgba(0,0,0,.85);
  -webkit-backdrop-filter:blur(12px) saturate(1.12);
  backdrop-filter:blur(12px) saturate(1.12);
  transition:transform .2s var(--ease);
}
.profile-v2-promotions .box:hover{transform:translateY(-3px)}
.profile-v2-promotions .box::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  padding:1.6px;
  pointer-events:none;
  border-radius:20px;
  background:linear-gradient(132deg,#11e8ff 0%,#2c59ff 18%,#6b2de6 56%,#ff29d1 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.profile-v2-promotions .box::after{
  content:"";
  position:absolute;
  inset:9px;
  z-index:4;
  padding:1.3px;
  pointer-events:none;
  border-radius:13px;
  background:linear-gradient(135deg,rgba(150,235,255,.42) 0%,rgba(190,214,238,.05) 13%,rgba(190,214,238,.03) 50%,rgba(190,214,238,.05) 87%,rgba(255,135,225,.42) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.profile-v2-promotions .box>*{position:relative;z-index:5}
.profile-v2-promotions .eb{order:1;margin:0 0 7px;color:var(--gold);font-size:clamp(11px,1vw,14px);font-weight:900;line-height:1.1;letter-spacing:.18em;text-align:center;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.profile-v2-promotions .pct{order:2;margin:0 0 8px;color:#fff;font-size:clamp(46px,4.4vw,68px);font-weight:1000;line-height:.9;letter-spacing:-.035em;text-align:center;text-shadow:0 2px 0 rgba(0,0,0,.25),0 10px 26px rgba(0,0,0,.6)}
.profile-v2-promotions .bline{order:4;max-width:34ch;margin:0;color:rgba(255,255,255,.92);font-size:clamp(11.5px,.9vw,14px);font-weight:700;line-height:1.35;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.profile-v2-promotions .duo{order:3;display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.3vw,24px);max-width:100%;margin:0 0 10px;text-align:center}
.profile-v2-promotions .duo .seg{display:flex;flex-direction:column;align-items:center;gap:2px}
.profile-v2-promotions .duo .k{color:rgba(255,255,255,.95);font-size:clamp(9px,.8vw,12px);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.profile-v2-promotions .duo .v{color:var(--gold);font-size:clamp(20px,2vw,30px);font-weight:1000;line-height:1.02;text-shadow:0 2px 0 rgba(160,98,0,.3),0 6px 18px rgba(0,0,0,.5)}
.profile-v2-promotions .duo .dvd{width:1.5px;align-self:stretch;background:linear-gradient(180deg,transparent,rgba(255,255,255,.4),transparent)}
.profile-v2-promotions .cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  order:5;
  width:100%;
  min-height:50px;
  margin-top:12px;
  padding:0 38px;
  overflow:hidden;
  border:1px solid rgba(255,236,150,.65);
  border-radius:999px;
  color:#101049;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0) 40%),linear-gradient(180deg,#FFE588 0%,#FFCC00 52%,#E2A600 100%);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -6px 14px rgba(160,98,0,.3),0 10px 22px -10px rgba(255,204,0,.6);
  font-family:var(--font);
  font-size:18px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  transition:transform .15s,filter .15s;
}
.profile-v2-promotions .cta:hover{transform:translateY(-2px);filter:brightness(1.03)}
.profile-v2-promotions .cta:active{transform:translateY(1px)}
.profile-v2-promotions .cta .crown{display:inline-flex;width:.9em;height:.9em}
.profile-v2-promotions .cta .crown svg{width:100%;height:100%}
.profile-v2-promotions .pv7-end{display:flex;flex-direction:column;align-items:center;gap:11px}
.profile-v2-promotions .pv7-more{order:6;align-self:center;margin-top:11px;color:rgba(255,255,255,.78);font:800 13px/1 var(--font);letter-spacing:.02em;text-decoration:none;white-space:nowrap;transition:color .15s}
.profile-v2-promotions .pv7-more::after{content:" \203A";font-size:15px;opacity:.8}
.profile-v2-promotions .pv7-more:hover{color:#fff}
.profile-v2-promotions .split{display:none}

/* The legacy wrappers only described the Promotions-page card shapes. Flatten
   them here so every offer follows the same square-card content flow. */
.profile-v2-promotions .box.a,
.profile-v2-promotions .box.c,
.profile-v2-promotions .box.e{grid-column:span 1}
.profile-v2-promotions .box.a .colL,
.profile-v2-promotions .box.a .colR,
.profile-v2-promotions .box.e .stackL,
.profile-v2-promotions .box.e .payswrap,
.profile-v2-promotions .box .pv7-end{display:contents}
.profile-v2-promotions .box.a .colR .cta,
.profile-v2-promotions .box.c .cta,
.profile-v2-promotions .box.e .cta{width:100%;max-width:none;min-height:50px;padding-inline:38px;font-size:18px}
.profile-v2-promotions .box.e .bline{display:block}

@media (max-width:960px) and (min-width:761px){
  .profile-v2-promotions .pv7-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
  .profile-v2-promotions{
    min-height:0;
    margin:-12px 0 0;
    padding:0;
  }
  .profile-v2-promotions .pv7-matrix{grid-template-columns:minmax(0,1fr);max-width:none;gap:14px;margin-top:0}
  .profile-v2-promotions .box.a,
  .profile-v2-promotions .box.c,
  .profile-v2-promotions .box.e{grid-column:span 1;width:100%;max-width:none;aspect-ratio:auto;padding:16px 16px 14px}
  .profile-v2-promotions .box .eb{order:1;margin:0 0 5px;font-size:13.5px;line-height:1.1;letter-spacing:.24em}
  .profile-v2-promotions .box .pct{order:2;margin:0 0 5px;font-size:clamp(60px,18vw,74px);line-height:.92}
  .profile-v2-promotions .box .duo{order:3;justify-content:center;gap:clamp(26px,3vw,40px);margin:0 0 10px}
  .profile-v2-promotions .box .duo .v{font-size:33px}
  .profile-v2-promotions .box .duo .k{font-size:12.5px}
  .profile-v2-promotions .box .bline{order:4;display:block;max-width:34ch;margin:0 0 12px;font-size:15px;font-weight:800;line-height:1.3}
  .profile-v2-promotions .box.e .bline{display:block}
  .profile-v2-promotions .box .cta,
  .profile-v2-promotions .box.a .colR .cta,
  .profile-v2-promotions .box.c .cta,
  .profile-v2-promotions .box.e .cta{order:5;width:100%;max-width:none;min-height:56px;margin-top:0;padding-inline:38px;font-size:21px}
  .profile-v2-promotions .box .pv7-more{order:6;margin-top:12px}
}

@media (prefers-reduced-motion:reduce){
  .profile-v2-promotions .box,
  .profile-v2-promotions .cta{transition:none}
}
