/* Private extension styles: cookie banner and ad slots. Uses the public site's CSS tokens. */
/* Full width: inside the guide's flex column an auto-margin box would shrink to its empty content and
   AdSense would measure a sliver. */
.ad { margin: 28px auto 0; width: 100%; max-width: 970px; min-height: 120px; display: flex; flex-direction: column; gap: 4px }
.ad .adsbygoogle { width: 100% }
/* When AdSense answers "no ad" the slot disappears instead of leaving an empty white box. */
.ad:has(.adsbygoogle[data-ad-status="unfilled"]) { display: none }
.drawer .ad { margin: 4px 0 0; max-width: none; min-height: 250px }
.ad-end { min-height: 280px }
.ad-label { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted) }
.consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: var(--sheet); border-top: 1px solid var(--line); box-shadow: var(--shadow);
  padding: 14px max(16px, env(safe-area-inset-right, 0px)) calc(14px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)) }
.consent .in { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px }
.consent p { flex: 1 1 320px; min-width: 0; font-size: 14px }
