/* =========================================================
   OSBEATS PAID PROMOTION RIBBONS
   ========================================================= */
.promoted-cover,
.mini-thumb,
.cover{
  position:relative;
  overflow:hidden;
}

.promotion-ribbon{
  position:absolute;
  z-index:8;
  top:20px;
  left:-42px;
  width:160px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:rotate(-45deg);
  transform-origin:center;
  background:linear-gradient(90deg,#8b0710 0%,#73070B 40%,#3b0306 72%,#0c0d10 100%);
  border-top:1px solid #b11119;
  border-bottom:1px solid #4d0508;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.1px;
  pointer-events:none;
  box-shadow:0 2px 8px rgba(0,0,0,.45);
}

.promotion-ribbon.mini{
  top:9px;
  left:-49px;
  width:140px;
  height:20px;
  font-size:7px;
}

.promoted-cover{
  box-shadow:inset 0 0 0 1px #73070B;
}


/* Dynamic Sponsored Artist placement */
.sponsored-card .sponsor-art{
  display:block;
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  text-decoration:none;
}
.sponsored-card.has-sponsored-artist{
  border-top:2px solid #73070B;
}
.sponsored-card.has-sponsored-artist .sponsor-art{
  box-shadow:inset 0 0 0 1px rgba(139,7,16,.45);
}
.sponsored-card h3 a{
  color:inherit;
  text-decoration:none;
}
.sponsored-card h3 a:hover,
.sponsor-profile-link:hover{
  color:#fff;
}
.sponsor-profile-link{
  display:inline-flex;
  margin-top:8px;
  color:#d9dde3;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.sponsor-empty{
  background:
    linear-gradient(135deg,rgba(115,7,11,.35),rgba(16,15,18,.95)),
    radial-gradient(circle at 70% 30%,rgba(139,7,16,.28),transparent 45%);
}


/* Promotion V4 lifecycle / workflow */
.promotion-workflow-note{
  display:flex;
  flex-wrap:wrap;
  gap:8px 16px;
  margin:4px 0 18px;
  padding:12px 14px;
  border:1px solid #2d3139;
  background:#0b0d11;
  color:#c9ced6;
  font-size:11px;
  line-height:1.45;
}
.promotion-workflow-note strong{
  color:#fff;
  margin-right:4px;
}
.promotion-live-status{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding:9px 11px;
  border:1px solid #1f5b37;
  background:#0c1912;
  color:#dfffea;
  font-size:11px;
}
.promotion-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#28d17c;
  box-shadow:0 0 0 4px rgba(40,209,124,.12);
  flex:0 0 8px;
}
.promotion-live-status strong{
  color:#fff;
}
.promotion-ended-status{
  display:inline-flex;
  margin-top:12px;
  padding:7px 9px;
  border:1px solid #4b4f58;
  background:#16181d;
  color:#c0c5cd;
  font-size:10px;
  text-transform:uppercase;
  font-weight:900;
}


/* Promotion V6 — pending cleanup + sandbox expiration test */
.promotion-pending-note{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px 12px;
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #5b3a11;
  background:#171208;
  color:#f1d6a8;
  font-size:11px;
}
.promotion-pending-note strong{
  color:#fff;
  font-size:12px;
}
.promotion-pending-note span{
  color:#d7c8ad;
}
.promotion-pending-note button{
  grid-column:2;
  grid-row:1 / span 2;
}
.promotion-test-expire{
  margin-top:10px;
  border-color:#6a3131 !important;
  background:#1a1111 !important;
  color:#ffb7b7 !important;
}
@media(max-width:650px){
  .promotion-pending-note{
    grid-template-columns:1fr;
  }
  .promotion-pending-note button{
    grid-column:auto;
    grid-row:auto;
    width:100%;
  }
}


/* OSBeats membership promotion discount */
.promo-member-discount{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:3px 10px;
  margin:12px 0 8px;
  padding:10px 12px;
  border:1px solid #681d22;
  border-left:3px solid #b0000b;
  background:linear-gradient(100deg,#26080b 0%,#101116 62%,#08090c 100%);
}
.promo-member-discount span{
  grid-column:1/-1;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.promo-member-discount s{
  color:#8f939e;
  font-size:13px;
}
.promo-member-discount strong{
  color:#fff;
  font-size:24px;
  line-height:1;
  text-align:right;
}


/* Creator Coupons */
.creator-coupons-shell{
  margin-top:22px;
  padding:18px;
  border:1px solid #30343b;
  border-top:2px solid #681d22;
  background:#0f1116;
  color:#fff;
}
.creator-coupons-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.creator-coupons-head h3{margin:0;font-size:22px;}
.creator-coupons-head p{margin:5px 0 0;color:#9aa0ab;font-size:11px;}
.creator-coupon-limit{
  padding:8px 12px;
  border:1px solid #681d22;
  background:linear-gradient(90deg,#681d22 0%,#26070a 55%,#101116 100%);
  font-size:10px;
  font-weight:900;
}
.creator-coupon-form{
  display:grid;
  grid-template-columns:1.1fr 1fr .8fr 1.2fr 1fr auto;
  gap:10px;
  align-items:end;
  margin-top:16px;
}
.creator-coupon-form label{display:block;margin-bottom:5px;font-size:9px;font-weight:800;}
.creator-coupon-form input,
.creator-coupon-form select{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #343943;
  background:#080a0e;
  color:#fff;
  border-radius:0;
}
.creator-coupon-submit button{min-height:38px;}
.creator-coupon-list{display:grid;gap:8px;margin-top:14px;}
.creator-coupon-card{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #30343b;
  border-left:3px solid #681d22;
  background:#0a0c10;
}
.creator-coupon-card.inactive{opacity:.68;border-left-color:#555b65;}
.creator-coupon-card strong{display:inline-block;margin-right:12px;font-size:15px;}
.creator-coupon-card span{color:#ff2636;font-weight:900;font-size:11px;}
.creator-coupon-card small{display:block;margin-top:5px;color:#8f96a1;font-size:9px;}
.creator-coupon-status{display:flex;align-items:center;gap:10px;}
.creator-coupon-status b{font-size:9px;color:#fff;}
@media(max-width:1100px){
  .creator-coupon-form{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:700px){
  .creator-coupon-form{grid-template-columns:1fr;}
  .creator-coupons-head,.creator-coupon-card{display:block;}
  .creator-coupon-limit,.creator-coupon-status{margin-top:10px;}
}


/* Creator Studio promotion/coupon status messages */
#promotionMessage,
#creatorCouponMessage{
  display:block;
  margin:12px 0 !important;
  padding:11px 13px !important;
  min-height:0;
  box-sizing:border-box;
  border:1px solid #3a3f48 !important;
  border-left:4px solid #69717d !important;
  background:#171a20 !important;
  color:#f2f4f7 !important;
  font-size:12px !important;
  font-weight:800 !important;
  line-height:1.4 !important;
}
#promotionMessage:empty,
#creatorCouponMessage:empty{
  display:none !important;
}
#promotionMessage.success,
#creatorCouponMessage.success{
  border-color:#2c7c4a !important;
  border-left-color:#20a85b !important;
  background:#0d2417 !important;
  color:#aef1c5 !important;
}
#promotionMessage.error,
#creatorCouponMessage.error{
  border-color:#8e1d27 !important;
  border-left-color:#e31928 !important;
  background:#2b0b10 !important;
  color:#ffb9c0 !important;
}
#promotionMessage.info,
#creatorCouponMessage.info{
  border-color:#515966 !important;
  border-left-color:#8e98a7 !important;
  background:#171a20 !important;
  color:#eef1f5 !important;
}
.promotion-purchase.promotion-just-confirmed{
  border-color:#2f9959 !important;
  box-shadow:0 0 0 1px rgba(47,153,89,.24) inset !important;
}
