/* Product release UI: sale timer, upsells, popup preview and per-context BOGO positioning. */
/* Notice text and actions already identify the state; omit the overlapping icon-font glyph. */
body.tmc24-theme .woocommerce-info::before,
body.tmc24-theme .woocommerce-message::before,
body.tmc24-theme .woocommerce-error::before{
  content:none;
  display:none;
}

body.tmc24-theme .tmc132-sale-countdown{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:6px 0 10px;
  padding:7px 11px;
  border:1px solid rgba(234,179,8,.44);
  border-radius:999px;
  background:#fff7cc;
  color:#4a3800;
  font-size:12px;
  font-weight:750;
  line-height:1;
}
body.tmc24-theme .tmc132-sale-countdown strong{
  color:#9f1d2d;
  font-variant-numeric:tabular-nums;
  letter-spacing:.035em;
}

body.tmc24-theme .tmc132-popup-test-wrap{
  display:flex;
  justify-content:flex-end;
  padding-top:18px;
}
body.tmc24-theme .tmc132-popup-test{
  min-height:44px;
}

body.tmc24-theme .tmc132-product-upsells{
  padding:44px 0 64px;
}
body.tmc24-theme .tmc132-product-upsells h2,
body.tmc24-theme .tmc-competition-cross-sells > h2,
body.tmc24-theme .cart-collaterals .cross-sells > h2{
  margin:0 0 22px;
  color:#111827;
  font-size:clamp(18px,1.5vw,22px)!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:-.015em!important;
  text-align:center!important;
  text-transform:none!important;
}
body.tmc24-theme .tmc-competition-cross-sells{
  width:100%;
  min-width:0;
  margin:32px 0 0;
}
body.tmc24-theme .tmc-competition-cross-sells > .woocommerce{
  overflow:visible!important;
}
body.tmc24-theme .tmc132-product-upsells .tmc132-product-upsells__grid,
body.tmc24-theme .tmc-competition-cross-sells .woocommerce ul.products{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(0,280px))!important;
  justify-content:center!important;
  gap:20px!important;
  max-width:100%;
  margin:0!important;
  padding:0!important;
}
body.tmc24-theme .tmc-competition-cross-sells ul.products::before,
body.tmc24-theme .tmc-competition-cross-sells ul.products::after{
  display:none!important;
  content:none!important;
}
body.tmc24-theme .tmc132-product-upsells__grid > .tmc24-card,
body.tmc24-theme .tmc-competition-cross-sells .tmc24-card{
  width:100%!important;
  min-width:0;
  max-width:280px!important;
  margin:0!important;
  justify-self:center;
}
body.tmc24-theme .tmc132-product-upsells__grid .tmc24-card__media,
body.tmc24-theme .tmc-competition-cross-sells .tmc24-card__media{
  min-width:0;
}
body.tmc24-theme .tmc132-product-upsells__grid .tmc24-card__body,
body.tmc24-theme .tmc-competition-cross-sells .tmc24-card__body{
  min-height:0!important;
  height:auto!important;
  padding:14px!important;
  gap:10px!important;
  align-content:start;
}
body.tmc24-theme .tmc132-product-upsells__grid .tmc24-card h3,
body.tmc24-theme .tmc-competition-cross-sells .tmc24-card h3{
  min-height:0!important;
  font-size:16px!important;
  line-height:1.3!important;
}

body.tmc24-theme .tmc24-card__media > .tmc82-bogo-sticker--top-left,
body.tmc24-theme .tmc25-product-main-media > .tmc82-bogo-sticker--top-left{
  top:18px!important;
  right:auto!important;
  bottom:auto!important;
  left:18px!important;
}
body.tmc24-theme .tmc24-card__media > .tmc82-bogo-sticker--top-right,
body.tmc24-theme .tmc25-product-main-media > .tmc82-bogo-sticker--top-right{
  top:18px!important;
  right:18px!important;
  bottom:auto!important;
  left:auto!important;
}
body.tmc24-theme .tmc24-card__media > .tmc82-bogo-sticker--bottom-left,
body.tmc24-theme .tmc25-product-main-media > .tmc82-bogo-sticker--bottom-left{
  top:auto!important;
  right:auto!important;
  bottom:18px!important;
  left:18px!important;
}
body.tmc24-theme .tmc24-card__media > .tmc82-bogo-sticker--bottom-right,
body.tmc24-theme .tmc25-product-main-media > .tmc82-bogo-sticker--bottom-right{
  top:auto!important;
  right:18px!important;
  bottom:18px!important;
  left:auto!important;
}
body.tmc24-theme .tmc24-card__media > .tmc82-bogo-sticker--custom,
body.tmc24-theme .tmc25-product-main-media > .tmc82-bogo-sticker--custom{
  top:var(--tmc-bogo-y,14%)!important;
  right:auto!important;
  bottom:auto!important;
  left:var(--tmc-bogo-x,84%)!important;
  transform:translate(-50%,-50%) rotate(-6deg)!important;
}

@media(max-width:760px){
  body.tmc24-theme .tmc132-product-upsells .tmc132-product-upsells__grid,
  body.tmc24-theme .tmc-competition-cross-sells .woocommerce ul.products{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:280px!important;
    margin-inline:auto!important;
  }
  body.tmc24-theme .tmc132-product-upsells{
    padding:34px 0 100px;
  }
  body.tmc24-theme .tmc132-popup-test-wrap{
    justify-content:stretch;
  }
  body.tmc24-theme .tmc132-popup-test{
    width:100%;
    justify-content:center;
  }
  body.tmc24-theme .tmc132-sale-countdown{
    white-space:nowrap;
  }
}

/* Recommendations are navigation-only announcements, not purchase forms. */
body.tmc24-theme .tmc132-product-upsells .tmc136-recommendation-grid,
body.tmc24-theme .tmc-competition-cross-sells .tmc136-recommendation-grid,
body.tmc24-theme .cart-collaterals .cross-sells ul.products{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(0,220px))!important;
  justify-content:center!important;
  align-items:stretch;
  gap:16px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none;
}
body.tmc24-theme .cart-collaterals .cross-sells ul.products::before,
body.tmc24-theme .cart-collaterals .cross-sells ul.products::after{
  content:none!important;
  display:none!important;
}
body.tmc24-theme .tmc136-recommendation,
body.tmc24-theme .woocommerce ul.products li.tmc136-recommendation{
  box-sizing:border-box;
  overflow:visible;
  float:none!important;
  clear:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:220px!important;
  margin:0!important;
  padding:0!important;
  justify-self:center;
  border:1px solid #dbe4ef;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 4px rgb(9 24 43 / 3%),0 8px 20px rgb(9 24 43 / 4%);
}
body.tmc24-theme .tmc136-recommendation__link{
  display:flex!important;
  flex-direction:column;
  height:100%;
  min-height:44px;
  color:#0a182b!important;
  text-decoration:none!important;
  border-radius:11px;
}
body.tmc24-theme .tmc136-recommendation__link:hover{
  box-shadow:0 0 0 1px #1674d1;
}
body.tmc24-theme .tmc136-recommendation__link:focus-visible{
  outline:2px solid #0862bd!important;
  outline-offset:3px;
}
/* The Woo catalogue treats the first anchor as square media. Here it also holds text. */
body.tmc24-theme .woocommerce ul.products li.tmc136-recommendation > a.tmc136-recommendation__link:first-child{
  aspect-ratio:auto!important;
  background:#fff!important;
}
body.tmc24-theme .tmc136-recommendation__image,
body.tmc24-theme .woocommerce ul.products li.tmc136-recommendation img{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:8/5!important;
  object-fit:contain;
  margin:0!important;
  border-radius:11px 11px 0 0;
  background:#f3f6fa;
}
body.tmc24-theme .tmc136-recommendation__body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:8px;
  min-width:0;
  padding:12px;
}
body.tmc24-theme .tmc136-recommendation__title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  overflow-wrap:anywhere;
  margin:0!important;
  color:inherit!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.tmc24-theme .tmc136-recommendation__price,
body.tmc24-theme .tmc136-recommendation__price .price{
  margin:0!important;
  color:#0a182b!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.3;
  font-variant-numeric:tabular-nums;
}
body.tmc24-theme .tmc136-recommendation__date{
  margin:0!important;
  color:#526174;
  font-size:11px!important;
  font-weight:500;
  line-height:1.4;
  overflow-wrap:anywhere;
}
body.tmc24-theme .tmc136-recommendation__cta{
  margin-top:auto;
  padding-top:4px;
  color:#0862bd;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}
@media(min-width:360px) and (max-width:760px){
  body.tmc24-theme .tmc132-product-upsells .tmc136-recommendation-grid,
  body.tmc24-theme .tmc-competition-cross-sells .tmc136-recommendation-grid,
  body.tmc24-theme .cart-collaterals .cross-sells ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  body.tmc24-theme .tmc136-recommendation:only-child{
    grid-column:1/-1;
  }
}

/* The count is editable; keep long ticket quantities readable without a pill. */
body.tmc24-theme .tmc25-ticket-buy-form .tmc25-quantity-slider__head label{
  display:block!important;
  margin:0!important;
  color:#334155;
  font-size:14px!important;
  font-weight:600;
}
body.tmc24-theme .tmc25-ticket-buy-form input[data-tmc25-quantity-value]{
  display:block!important;
  width:calc(var(--tmc-quantity-digits,6) * 1ch + 40px)!important;
  min-width:88px!important;
  max-width:65%!important;
  height:44px!important;
  padding:0 10px!important;
  border:0!important;
  border-bottom:2px solid #0862bd!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0862bd!important;
  font-size:18px!important;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  line-height:1.4;
  text-align:center;
  box-sizing:border-box;
}
body.tmc24-theme .tmc25-ticket-buy-form input[data-tmc25-quantity-value]:focus-visible{
  outline:2px solid #0862bd!important;
  outline-offset:3px;
}

@media(max-width:760px){
  body.tmc24-theme.single-product .tmc24-mobile-buy .tmc24-mobile-buy__controls{
    grid-template-columns:max-content minmax(0,1fr)!important;
    gap:8px!important;
  }
  body.tmc24-theme.single-product .tmc24-mobile-buy .tmc24-mobile-buy__qty{
    width:max-content!important;
    min-width:0!important;
    grid-template-columns:44px max-content 44px!important;
    border:0!important;
    border-bottom:1px solid #8da2ba!important;
    border-radius:0!important;
    background:transparent!important;
  }
  body.tmc24-theme.single-product .tmc24-mobile-buy .tmc24-mobile-buy__qty input{
    width:calc(var(--tmc-quantity-digits,6) * 1ch + 28px)!important;
    min-width:0!important;
    max-width:none!important;
    padding:0 6px!important;
    border-radius:0!important;
    box-sizing:border-box!important;
    font-size:16px!important;
    font-weight:700!important;
  }
  body.tmc24-theme.single-product .tmc24-mobile-buy .tmc24-mobile-buy__qty :focus-visible{
    outline:2px solid #0862bd!important;
    outline-offset:2px;
  }
  body.tmc24-theme.single-product .tmc24-mobile-buy [data-tmc25-mobile-submit]{
    white-space:normal!important;
    line-height:1.2!important;
  }
}
@media(max-width:350px){
  body.tmc24-theme.single-product:not(.tmc-product-game-page){padding-bottom:144px!important;}
}
