/* Cards share Boost Your Entries styles; only selection and source labels are specific to Sports. */
.tgem-partner-upsells { margin:24px 0 18px; color:inherit; }
.tgem-partner-upsells[hidden],.tgem-partner-upsells [hidden] { display:none!important; }
.tgem-partner-upsells h3 { color:inherit; margin:0 0 8px; }
.tgem-partner-upsells > p,.tgem-partner-upsells__content > p { margin:0 0 18px; }
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__subtitle { font-size:14px; }
.tgem-partner-upsells__content { margin-top:24px; }
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle:hover,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle:focus,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle:active {
  appearance:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:100%; max-width:100%; min-width:0; height:auto!important; min-height:0; margin:0; padding:12px 0; box-sizing:border-box;
  font-family:inherit; font-size:14px; font-weight:600; line-height:1.5; letter-spacing:normal; text-transform:none; text-align:center!important; white-space:normal!important;
  color:#111!important; background:transparent!important; background-image:none!important; border:0!important; border-radius:0!important; box-shadow:none!important; cursor:pointer;
}
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle::before,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle::after { content:none!important; }
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__toggle:focus-visible { outline:3px solid #20a9ef; outline-offset:3px; }
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__toggle-text { display:block; width:100%; min-width:0; max-width:100%; white-space:normal!important; overflow-wrap:anywhere; text-align:center!important; }
.tgem-partner-upsells__toggle-action { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__toggle-action,
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__toggle-action > span { color:#c91924!important; }
.tgem-partner-upsells__toggle[aria-expanded="true"] .tgem-partner-upsells__toggle-label { display:none!important; }
.tgem-partner-upsells__toggle-icon { display:block; flex:none; width:20px; height:20px; line-height:1; }
.tgem-partner-upsells__toggle-icon svg { display:block; width:20px; height:20px; }
.tgem-partner-upsells__toggle[aria-expanded="true"] .tgem-partner-upsells__toggle-icon svg { transform:rotate(180deg); }
.tgem-partner-upsells__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tgem-partner-upsells__card { min-width:0; }
.tgem-partner-upsells__grid > .tgem-partner-upsells__card:nth-child(odd):last-child { grid-column:auto; justify-self:stretch; width:100%!important; }
.tgem-partner-upsells .tgem-partner-upsells__select {
  appearance:none; display:block; width:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:inherit; text-align:center;
  font-family:inherit; font-weight:inherit; text-transform:none; letter-spacing:normal; cursor:pointer;
}
/* Theme button hover/focus fills must not show behind the rounded white card. */
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select:hover,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select:focus,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select:active,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select[aria-pressed="true"] {
  background:transparent!important; background-image:none!important; box-shadow:none!important;
}
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select::before,
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select::after {
  content:none!important; background:none!important; box-shadow:none!important;
}
.tgem-campaign-detail__purchase .tgem-partner-upsells button.tgem-partner-upsells__select > .tgem-campaign-detail__pass-card { background:#fff!important; }
.tgem-partner-upsells .tgem-partner-upsells__select[aria-pressed="true"] > .tgem-campaign-detail__pass-card { border-color:#c91924; box-shadow:0 5px 0 rgba(0,0,0,.18); transform:translateY(-2px); }
.tgem-partner-upsells .tgem-partner-upsells__select:focus-visible > .tgem-campaign-detail__pass-card { outline:3px solid #20a9ef; outline-offset:3px; }
.tgem-partner-upsells .tgem-partner-upsells__select:focus-visible { outline:none; }
.tgem-partner-upsells__copy { display:flex; flex-direction:column; align-items:center; min-width:0; }
.tgem-partner-upsells__source { color:#155b32; font-size:10px; font-weight:700; line-height:1.3; text-align:center; margin:12px 0 0!important; overflow-wrap:anywhere; }
.tgem-partner-upsells__offer { display:inline-block; padding:2px 8px; border-radius:999px; background:#c91924; color:#fff; font-size:10px; font-weight:800; line-height:1.2; text-transform:uppercase; margin:3px 0 0; }
/* Use the vacant bottom badge position instead of making bonus-only cards taller. */
.tgem-partner-upsells__pass-card--edge-offer .tgem-partner-upsells__offer {
  position:absolute; left:50%; bottom:0; transform:translate(-50%,55%); margin:0; max-width:calc(100% - 16px); box-sizing:border-box; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; z-index:2;
}
.tgem-partner-upsells__purchase { margin-top:36px; }
.tgem-partner-upsells__controls h4 { color:inherit; font-size:18px; line-height:1.4; margin:0 0 16px; }
.tgem-partner-upsells__controls label { display:block; text-align:left; font-size:15px; margin:12px 0; }
.tgem-campaign-detail__purchase .tgem-partner-upsells__controls .tgem-partner-upsells__required { color:#c91924!important; font-weight:700; }
.tgem-partner-upsells__controls input,.tgem-partner-upsells__controls select { display:block; width:100%; box-sizing:border-box; padding:10px; background:#fff; color:#111; border:1px solid #aaa; border-radius:5px; }
.tgem-partner-upsells__controls button { width:100%; background:#155b32; color:#fff; border:0; border-radius:25px; padding:14px; cursor:pointer; font-weight:700; }
.tgem-partner-upsells__controls button:disabled { opacity:.65; cursor:wait; }
.tgem-partner-upsells__controls [data-partner-status] { font-size:14px; margin:10px 0 0; }
.tgem-partner-worth { margin:6px 0 0; }
.tgem-partner-mini-badge small { display:block; color:#155b32; margin-top:6px; }

.tgem-partner-upsells__hint { font-size:13px; line-height:1.5; margin:22px 0 0; }
.tgem-partner-upsells__controls + .tgem-partner-upsells__controls { margin-top:24px; }
.tgem-partner-wallet-locked { opacity:.5; pointer-events:none!important; }

/* Keep Sports quantity and dropdown underlines readable over the yellow panel. */
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls input[data-partner-quantity],
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls input[data-partner-quantity]:hover,
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls input[data-partner-quantity]:focus,
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls select[data-partner-answer],
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls select[data-partner-answer]:hover,
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls select[data-partner-answer]:focus {
  border-bottom:1px solid #000!important;
}

.tgem-partner-cart-wallet-active [data-tgem-wallet-frame]:not([data-tgem-partner-wallet-frame]) { display:none!important; }

/* Sports question fields use a white box instead of the theme's underline-only style. */
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls [data-partner-answer],
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls [data-partner-answer]:hover,
.tgem-campaign-detail__purchase .tgem-partner-upsells .tgem-partner-upsells__controls [data-partner-answer]:focus {
  background:#fff!important; color:#111!important; border:2px solid #000!important; border-radius:0!important; padding:12px 14px!important; box-sizing:border-box;
}
