/**
 * YoutubeSubHub — side ad rails (desktop gutters only).
 * Keeps 160px skyscrapers outside the centered content column.
 */
:root {
  --ythub-content-max: 960px;
  --ythub-rail-w: 160px;
  --ythub-rail-gap: 18px;
  --ythub-rail-top: 104px;
}

/* Hidden by default (phones / tablets / narrow laptops). */
.net-ad-rail {
  display: none !important;
}

/*
 * Need: content 960 + rails 160×2 + gaps 18×2 + safety ≈ 1340.
 * Start at 1400 so gutters never collide with the main column.
 */
@media (min-width: 1400px) {
  /* Align fixed rails with viewport center (body padding was shifting content). */
  body.ythub-site {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.ythub-site .page,
  body.ythub-site .site-chrome-wrap,
  .site-chrome-wrap {
    max-width: min(var(--ythub-content-max), calc(100vw - (var(--ythub-rail-w) * 2) - (var(--ythub-rail-gap) * 2) - 24px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .net-ad-rail {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    position: fixed;
    top: var(--ythub-rail-top);
    width: var(--ythub-rail-w);
    max-height: calc(100vh - var(--ythub-rail-top) - 24px);
    overflow: hidden;
    z-index: 25;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    pointer-events: none;
  }

  .net-ad-rail__inner {
    width: 100%;
    min-height: 0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #e5e5e5;
    box-sizing: border-box;
    pointer-events: auto;
  }

  /* Collapse empty shells until AdSense injects a creative. */
  .net-ad-rail__inner:not(:has(iframe)):not(:has(ins.adsbygoogle[data-ad-status="filled"])) {
    min-height: 0;
    background: transparent;
    border-color: transparent;
  }

  .net-ad-rail__inner:has(iframe),
  .net-ad-rail__inner:has(ins.adsbygoogle[data-ad-status="filled"]) {
    min-height: 600px;
    background: #ffffff;
    border-color: #e5e5e5;
  }

  .net-ad-rail .adsense-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #909090;
    text-align: center;
    padding: 6px 4px 0;
  }

  .net-ad-rail .adsbygoogle {
    display: block !important;
    width: 160px !important;
    max-width: 100%;
    margin: 0 auto;
  }

  .net-ad-rail--left {
    left: max(
      8px,
      calc(50% - (var(--ythub-content-max) / 2) - var(--ythub-rail-w) - var(--ythub-rail-gap))
    );
  }

  .net-ad-rail--right {
    right: max(
      8px,
      calc(50% - (var(--ythub-content-max) / 2) - var(--ythub-rail-w) - var(--ythub-rail-gap))
    );
  }
}

/* Very wide screens: keep rails hugging the content column, not the far edges. */
@media (min-width: 1800px) {
  .net-ad-rail--left {
    left: calc(50% - (var(--ythub-content-max) / 2) - var(--ythub-rail-w) - var(--ythub-rail-gap));
  }
  .net-ad-rail--right {
    right: calc(50% - (var(--ythub-content-max) / 2) - var(--ythub-rail-w) - var(--ythub-rail-gap));
  }
}

/* Prefer reduced motion / print: hide rails entirely. */
@media print {
  .net-ad-rail { display: none !important; }
}
