/* Empty ad positions reserve their space before any provider code loads. */
@layer advertisements {
  .ad-placement { min-width: 0; text-align: center; }
  .ad-label { margin: 0 0 8px; color: #68746c; font-size: .75rem; font-weight: 400; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; }
  .ad-slot { box-sizing: content-box; position: relative; display: grid; place-items: center; width: 100%; margin-inline: auto; outline: 1px dashed #d8e1da; outline-offset: -1px; border-radius: 6px; background: #f7f9f7; }
  .ad-slot--banner { max-width: 728px; min-height: 90px; }
  .ad-slot--rectangle { max-width: 300px; min-height: 250px; }
  .ad-slot--rail { width: 160px; min-height: 600px; }
  .ad-slot > * { max-width: 100%; }
  .ad-slot img { display: block; height: auto; }
  .ad-slot iframe { display: block; border: 0; }
  .ad-top { margin-top: 24px; margin-bottom: 0; }
  .test-section { padding-top: 34px; padding-bottom: 32px; }
  .ad-between { margin: 0 0 42px; }
  .ad-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin: 0 0 48px; }
  .ad-bottom { margin: 0 0 36px; }
  .ad-rail { display: none; }
  @media (min-width: 1540px) {
    .ad-page-layout { display: grid; grid-template-columns: 160px minmax(0, 1080px) 160px; column-gap: 32px; width: min(1464px, calc(100% - 64px)); margin-inline: auto; align-items: start; }
    .ad-page-layout > main.shell { grid-column: 2; grid-row: 1; width: 100%; min-width: 0; }
    .ad-rail { display: block; grid-row: 1; margin-top: 212px; }
    .ad-rail--left { grid-column: 1; }
    .ad-rail--right { grid-column: 3; }
  }
  @media (max-width: 767px) {
    .ad-top { margin-top: 20px; }
    .ad-slot--banner { max-width: 320px; min-height: 100px; }
    .ad-row { grid-template-columns: 1fr; gap: 30px; margin-bottom: 36px; }
    .ad-between { margin-bottom: 32px; }
    .test-section { padding-top: 30px; padding-bottom: 28px; }
  }
  @media print { .ad-placement, .ad-row { display: none !important; } .ad-page-layout { display: block; } }
}
