/* Public movie/series detail page only. */
.single-page-body {
  --single-border: color-mix(in srgb, var(--bs-body-color) 13%, transparent);
  --single-surface: color-mix(in srgb, var(--bs-body-bg) 96%, var(--bs-primary) 4%);
  --single-muted: color-mix(in srgb, var(--bs-body-color) 64%, transparent);
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 0, rgba(13, 110, 253, .055), transparent 32rem),
    var(--bs-body-bg);
}

.single-page-navbar {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: color-mix(in srgb, var(--bs-body-bg) 93%, transparent);
  border-bottom: 1px solid var(--single-border);
  box-shadow: 0 4px 18px rgba(15, 23, 42, .05) !important;
  backdrop-filter: blur(14px);
}

.single-page-nav-shell {
  width: 100%;
  max-width: 1540px !important;
  margin-inline: auto;
}

.single-page-shell {
  width: 100%;
  max-width: none !important;
  margin-inline: 0;
  padding-inline: 0;
}

.single-content-shell {
  width: 100%;
  max-width: 1540px;
  margin-inline: auto;
  padding-inline: clamp(.85rem, 2vw, 1.75rem);
}

/* Prevent legacy widgets from applying a second Bootstrap width limit. */
.single-page-shell > .container,
.single-page-shell .single-watch-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

.single-page-navbar .navbar-brand img {
  width: 126px;
  height: 38px;
  object-fit: contain;
}

.single-page-navbar .nav-link {
  color: var(--single-muted);
  font-weight: 500;
}

.single-page-navbar .nav-link.active,
.single-page-navbar .nav-link:hover {
  color: var(--bs-primary);
}

.single-page-body #search {
  min-height: 48px;
  padding-inline: 1rem;
  border-color: var(--single-border);
  border-radius: .7rem;
  background: var(--bs-body-bg);
  box-shadow: 0 4px 18px rgba(15, 23, 42, .035);
}

.single-breadcrumb {
  min-height: 48px;
  display: flex;
  align-items: center;
  border: 1px solid var(--single-border);
  border-radius: .7rem !important;
  background: var(--bs-body-bg) !important;
  box-shadow: 0 3px 14px rgba(15, 23, 42, .035) !important;
}

.single-info-card {
  border: 1px solid var(--single-border) !important;
  border-radius: .85rem !important;
  box-shadow: 0 8px 26px rgba(15, 23, 42, .07) !important;
}

.single-poster-column {
  background: var(--single-surface);
}

.single-poster-wrap {
  display: block;
  width: min(100%, 270px);
  aspect-ratio: 2 / 3;
  overflow: hidden;
  border-radius: .7rem;
  background: color-mix(in srgb, var(--bs-body-color) 6%, var(--bs-body-bg));
}

.single-poster-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
}

.single-bookmark-button,
.single-poster-column #bookmark-box .btn {
  width: min(100%, 270px);
  min-height: 44px;
  border-radius: .5rem !important;
}

.single-info-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.single-info-content > h1 {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.single-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  margin-block: 1.2rem !important;
}

.single-meta-grid li {
  min-width: 0;
  padding: .75rem;
  border: 1px solid var(--single-border);
  border-radius: .6rem;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  box-shadow: 0 2px 10px rgba(15, 23, 42, .025);
}

.single-meta-grid li strong {
  display: block;
  margin-bottom: .25rem;
  color: var(--single-muted);
  font-size: .72rem;
  font-weight: 500;
}

.single-countdown-next,
.single-countdown-last {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1) !important;
  border-radius: .8rem !important;
  box-shadow: 0 12px 32px rgba(2, 8, 23, .2) !important;
}

.single-countdown-next {
  background:
    radial-gradient(circle at 50% 0, rgba(37, 99, 235, .22), transparent 42%),
    linear-gradient(135deg, #111827, #17243a) !important;
}

.single-countdown-next .card-body {
  padding: clamp(1.25rem, 3vw, 2rem);
}

.single-countdown-next .count-box,
.single-countdown-last .count-box {
  min-width: 82px;
  padding: .7rem .6rem;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: .55rem;
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 1px rgba(255, 255, 255, .04);
}

.single-countdown-next .count-value {
  color: #3b82f6;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.single-countdown-next .count-label,
.single-countdown-last .count-label {
  margin-top: .25rem;
  color: rgba(255,255,255,.7);
  font-size: .66rem;
}

.single-embed-box {
  color: #111827;
  text-align: left;
}

.single-embed-box textarea {
  min-height: 48px;
  resize: none;
}

.single-countdown-last {
  background: linear-gradient(135deg, #64748b, #334155) !important;
}

.single-countdown-last .card-body {
  padding: clamp(1rem, 2.5vw, 1.6rem);
}

.single-share-card,
.single-comments-box,
.single-related-section {
  border-color: var(--single-border) !important;
  border-radius: .75rem !important;
}

.single-share-card {
  box-shadow: 0 4px 16px rgba(15, 23, 42, .04) !important;
}

.single-share-card .btn {
  border-radius: .4rem;
}

.single-comment-login {
  border-radius: .65rem;
}

.single-related-section {
  margin-top: 1.4rem;
  padding: 1rem 0 1.25rem;
}

.single-related-grid .related-thumb-wrapper {
  aspect-ratio: 2 / 3;
  border: 1px solid var(--single-border);
  border-radius: .65rem !important;
  background: var(--single-surface) !important;
}

.single-related-grid .related-thumb-wrapper picture {
  display: block;
  width: 100%;
  height: 100%;
}

.single-related-grid .related-thumb-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

.single-page-body footer {
  color: #cbd5e1 !important;
  border-color: rgba(255,255,255,.08) !important;
  background: linear-gradient(135deg, #0f172a, #162237) !important;
}

.single-page-body footer .text-body,
.single-page-body footer .link-secondary {
  color: #f8fafc !important;
}

@media (max-width: 991.98px) {
  .single-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .single-poster-wrap { width: min(100%, 230px); }
}

@media (max-width: 767.98px) {
  .single-content-shell { padding-inline: .65rem; }
  .single-poster-column { padding-top: 1rem !important; }
  .single-poster-wrap { width: min(72vw, 250px); }
  .single-bookmark-button,
  .single-poster-column #bookmark-box .btn { width: min(72vw, 250px); }
  .single-info-content { padding: 1.2rem !important; }
  .single-countdown-next .count-box,
  .single-countdown-last .count-box { min-width: 66px; }
}

@media (max-width: 575.98px) {
  .single-meta-grid { grid-template-columns: 1fr 1fr; gap: .55rem; }
  .single-countdown-next .countdown > div,
  .single-countdown-last .countdown { gap: .45rem !important; }
  .single-countdown-next .count-box,
  .single-countdown-last .count-box { min-width: 58px; padding: .55rem .35rem; }
  .single-share-card .btn { flex: 1 1 calc(50% - .5rem); justify-content: center; }
  .single-related-grid > div { width: 50%; }
}

[data-bs-theme="dark"] .single-page-body,
.single-page-body[data-bs-theme="dark"] {
  --single-border: rgba(255, 255, 255, .12);
  --single-surface: #111827;
  --single-muted: #9ca9ba;
  background:
    radial-gradient(circle at 12% 0, rgba(37, 99, 235, .12), transparent 32rem),
    var(--bs-body-bg);
}

[data-bs-theme="dark"] .single-page-navbar,
.single-page-body[data-bs-theme="dark"] .single-page-navbar {
  background: rgba(17, 24, 39, .92);
  box-shadow: 0 5px 22px rgba(0,0,0,.24) !important;
}

@media (prefers-reduced-motion: reduce) {
  .single-page-body * { scroll-behavior: auto !important; }
}
