/* Six reserved placements. Ad creatives are supplied separately by the site owner. */
@layer advertisements {
  .ad-slot { min-width: 0; display: grid; justify-items: center; gap: 9px; margin: 0; }
  .ad-label { color: #718184; font-size: .75rem; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }
  .ad-mount { width: 100%; min-width: 0; display: grid; place-items: center; background: #eef2f2; outline: 1px dashed #ccd7d7; outline-offset: -1px; border-radius: 5px; }
  .ad-placeholder { color: #7c8d90; font-size: .875rem; letter-spacing: .015em; padding: 12px; pointer-events: none; }
  .ad-banner .ad-mount { max-width: 728px; min-height: 90px; }
  .ad-wide .ad-mount { max-width: 970px; }
  .ad-rectangle .ad-mount { width: min(100%, 300px); min-height: 250px; }
  .ad-header { margin-top: 24px; }
  .ad-header + .workspace { padding-top: 30px; }
  .ad-after-tool { margin: 0 0 46px; }
  .ad-content-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding: 0 0 58px; }
  .faq-intro { min-width: 0; }
  .faq-intro .ad-slot { margin-top: 33px; justify-items: start; }
  .ad-footer { margin: 0 0 40px; }
  /* Removing a placement with hidden removes its reserved space too. */
  .ad-slot[hidden] { display: none; }
  @media (max-width: 900px) {
    .faq-intro .ad-slot { justify-items: center; margin-top: 30px; }
  }
  @media (max-width: 620px) {
    .ad-header { margin-top: 18px; }
    .ad-header + .workspace { padding-top: 28px; }
    .ad-banner .ad-mount { max-width: 320px; min-height: 100px; }
    .ad-header .ad-mount { min-height: 50px; }
    .ad-after-tool { margin-bottom: 34px; }
    .ad-content-row { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 40px; }
    .ad-footer { margin-bottom: 30px; }
  }
  @media print { .ad-slot, .ad-content-row { display: none; } }
}
