/* MovieLinkBD V77.54 — refined paper-ribbon date badge for Upcoming / Release Soon rail */
.mlbd-upcoming-section{
  width:calc(100% - 16px);
  margin:14px auto 18px;
  padding:0;
  overflow:visible;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.mlbd-upcoming-head{
  display:block;
  margin:0 0 8px;
  padding:0;
  text-align:center;
  user-select:none;
  border-bottom:2px solid var(--success,#1cc88a);
}
.mlbd-upcoming-head h2{
  margin:0 0 3px;
  color:var(--success,#1cc88a);
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.25px;
  text-transform:uppercase;
}
.mlbd-upcoming-head-note{
  display:block;
  margin:0 0 5px;
  color:#858796;
  font-size:11px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.25px;
}
.mlbd-upcoming-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-start;
  gap:9px;
  margin:0!important;
  padding:3px 7px 9px;
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  background:transparent!important;
}
.mlbd-upcoming-track::-webkit-scrollbar{display:none}

/* Same visual language as the normal MovieLinkBD movie card, only slightly more compact. */
.mlbd-upcoming-card{
  position:relative;
  flex:0 0 128px;
  width:128px;
  min-width:128px;
  max-width:128px;
  margin:0;
  border-radius:9px;
  background:#000;
  color:var(--w-3,#d1d3e2);
  box-shadow:0 5px 14px rgba(0,0,0,.22);
  scroll-snap-align:start;
  user-select:none;
  -webkit-user-select:none;
  cursor:default;
}
.mlbd-upcoming-poster{
  position:relative;
  width:100%;
  aspect-ratio:2/2.5;
  overflow:hidden;
  border-radius:9px 9px 0 0;
  background:#111820;
}
.mlbd-upcoming-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  background:#111820;
  transition:transform .22s ease,opacity .22s ease;
}
.mlbd-upcoming-card:hover .mlbd-upcoming-poster img{
  transform:translateY(-3px) scale(1.02);
  opacity:.86;
}

/* Refined paper-ribbon date badge: single orange tone, smaller size, neat folded cut. */
.mlbd-upcoming-date{
  position:absolute;
  z-index:5;
  top:0;
  left:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  width:36px;
  min-height:52px;
  padding:4px 3px 5px;
  background:#f6a623;
  color:#111111;
  font-size:13px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-.45px;
  white-space:normal;
  text-align:center;
  border-radius:9px 0 12px 0;
  box-shadow:0 5px 11px rgba(0,0,0,.22);
  overflow:hidden;
}
.mlbd-upcoming-date::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:12px;
  height:12px;
  background:#d88711;
  clip-path:polygon(100% 0,0 100%,100% 100%);
  pointer-events:none;
}
.mlbd-upcoming-date::before{
  content:"";
  position:absolute;
  left:0;
  right:12px;
  bottom:0;
  height:12px;
  background:#f6a623;
  clip-path:polygon(0 100%,100% 100%,100% 0,0 100%);
  pointer-events:none;
}
.mlbd-upcoming-date-month,
.mlbd-upcoming-date-day{
  position:relative;
  z-index:1;
  display:block;
}
.mlbd-upcoming-date-month{
  font-size:14px;
  line-height:1;
}
.mlbd-upcoming-date-day{
  font-size:16px;
  line-height:1;
}

.mlbd-upcoming-card-title{
  box-sizing:border-box;
  min-height:46px;
  max-height:46px;
  padding:8px 8px 7px;
  color:#f5f7fb;
  font-size:12.5px;
  line-height:15.5px;
  font-weight:800;
  letter-spacing:.02px;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:center;
  border-radius:0 0 9px 9px;
  background:#000;
}
.mlbd-upcoming-card:hover .mlbd-upcoming-card-title{color:var(--accent-hover,#00ffff)}

/* Full Upcoming page keeps the same compact cards; only page controls have surfaces. */
.mlbd-upcoming-page{width:min(100%,1120px);margin:12px auto 20px}
.mlbd-upcoming-page-hero{text-align:center;padding:13px 12px 11px;margin:0 8px 10px;border-radius:13px;background:linear-gradient(135deg,rgba(8,47,73,.72),rgba(2,6,23,.72))}
.mlbd-upcoming-page-hero h1{margin:0;color:#eaffff;font-size:21px;font-weight:950}
.mlbd-upcoming-page-hero p{margin:4px 0 0;color:#8ca3b3;font-size:11px;font-weight:700}
.mlbd-upcoming-filters{display:flex;justify-content:flex-start;gap:7px;overflow-x:auto;scrollbar-width:none;margin:0 8px 10px;padding:1px 2px 3px}
.mlbd-upcoming-filters::-webkit-scrollbar{display:none}
.mlbd-upcoming-filter{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#202a33;color:#bfcbd4!important;font-size:11px;font-weight:850;text-decoration:none!important}
.mlbd-upcoming-filter.is-active,.mlbd-upcoming-filter:hover{background:#13b8c6;color:#06181c!important}
.mlbd-upcoming-page-track{margin:0 8px!important;padding:3px 7px 10px!important;background:transparent!important}

/* Legacy Upcoming detail guard remains for old/direct URLs. */
.mlbd-upcoming-detail{width:min(900px,94%);margin:20px auto;padding:18px;border-radius:16px;background:#fff;color:#0f172a;box-shadow:0 18px 50px rgba(0,0,0,.32)}
.mlbd-upcoming-detail-grid{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:20px;align-items:start}
.mlbd-upcoming-detail-poster{width:100%;aspect-ratio:2/2.7;object-fit:cover;border-radius:12px;background:#e2e8f0}
.mlbd-upcoming-detail-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#cffafe;color:#0e7490;font-weight:900;font-size:12px}
.mlbd-upcoming-detail h1{font-size:28px;line-height:1.2;margin:12px 0 8px;color:#0f172a}
.mlbd-upcoming-detail-release{margin:14px 0;padding:14px;border-radius:12px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;font-size:17px;font-weight:900}
.mlbd-upcoming-detail-message{margin:10px 0;padding:12px;border-left:4px solid #06b6d4;background:#f8fafc;color:#334155}
.mlbd-upcoming-detail-meta{color:#475569;line-height:1.7}
.mlbd-upcoming-detail-note{margin-top:15px;color:#64748b;font-size:13px}

@media(max-width:767px){
  .mlbd-upcoming-section{width:calc(100% - 12px);margin-top:11px}
  .mlbd-upcoming-head{margin-bottom:7px}
  .mlbd-upcoming-head h2{font-size:14px}
  .mlbd-upcoming-head-note{font-size:10px;margin-bottom:4px}
  .mlbd-upcoming-track{gap:9px;padding:3px 7px 8px}
  .mlbd-upcoming-card{flex-basis:116px;min-width:116px;max-width:116px;width:116px}
  .mlbd-upcoming-date{width:34px;min-height:48px;padding:4px 2px 4px;font-size:12px}
  .mlbd-upcoming-date::after{width:10px;height:10px}
  .mlbd-upcoming-date::before{right:10px;height:10px}
  .mlbd-upcoming-date-month{font-size:12px}
  .mlbd-upcoming-date-day{font-size:14px}
  .mlbd-upcoming-card-title{min-height:44px;max-height:44px;padding:7px 7px 6px;font-size:11.5px;line-height:14.5px;font-weight:800}
  .mlbd-upcoming-detail-grid{grid-template-columns:1fr}
  .mlbd-upcoming-detail-poster{max-width:260px;margin:0 auto}
  .mlbd-upcoming-detail h1{font-size:23px;text-align:center}
  .mlbd-upcoming-detail-kicker{display:flex;width:max-content;margin:0 auto}
  .mlbd-upcoming-detail-release{text-align:center}
}
