/* No configured or unfilled placement occupies screen space. No sticky/overlay UI. */
.ad-placement[hidden],
.ad-placement:not([data-ad-state="filled"]),
.ad-placement:has(ins[data-ad-status="unfilled"]) { display: none !important; }
.ad-placement { box-sizing: border-box; width: 100%; max-width: 970px; min-width: 0; margin: 2rem auto; clear: both; }
.ad-placement-label { display: block; margin-bottom: .5rem; font: 400 .625rem/1.4 system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; text-align: center; color: #66717c; }
@media (max-width: 640px) { .ad-placement { max-width: 100%; margin: 1.5rem auto; } }

/* This opt-in public review is illustrative, never an ad creative or admin view. */
.ad-preview-notice { box-sizing: border-box; padding: 18px max(20px, calc((100% - 1180px)/2)); background: #eef5fa; color: #17354a; border-bottom: 2px solid #55788b; font: 400 14px/1.5 system-ui, sans-serif; }
.ad-preview-notice strong { display: block; font-size: 16px; }
.ad-preview-notice p { margin: 6px 0; max-width: 85ch; }
.ad-preview-notice a { display: inline-flex; align-items: center; min-height: 44px; padding: 4px 10px; margin-left: -10px; color: #17354a; text-decoration: underline; font-weight: 700; }
.ad-preview-notice a:focus-visible { outline: 3px solid #17354a; outline-offset: 2px; }
.ad-preview-active .ad-placement[data-ad-state="preview"]:not([hidden]) { display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 120px; width: 100%; max-width: 970px; padding: 24px 16px; margin: 28px auto; border: 2px dashed #668091; border-radius: 4px; background: #f1f5f7; color: #244557; text-align: center; font: 400 14px/1.5 system-ui, sans-serif; cursor: default; }
.ad-preview-active .ad-placement[data-ad-state="preview"] strong { font-weight: 700; }
@media (max-width: 640px) { .ad-preview-notice { padding: 16px; } .ad-preview-active .ad-placement[data-ad-state="preview"]:not([hidden]) { min-height: 100px; margin: 24px auto; padding: 20px 12px; } }

/* Compact top reservation: never an overlay, full-width creative or mobile masthead replacement. */
.ad-preview-active .ad-placement[data-ad-state="preview"][data-ad-placement="home-1"]:not([hidden]) { width: calc(100% - 32px); max-width: 970px; margin: 18px auto; }
.ad-preview-active .ad-placement[data-ad-state="preview"][data-ad-placement="article-top"]:not([hidden]) { margin: 18px auto; }
@media (max-width: 640px) { .ad-preview-active .ad-placement[data-ad-state="preview"][data-ad-placement="home-1"]:not([hidden]), .ad-preview-active .ad-placement[data-ad-state="preview"][data-ad-placement="article-top"]:not([hidden]) { margin: 12px auto; } }
