/* Sitewide ad slots on server-rendered pages (R41). White / green / gold, glossy cards.
   Empty slots keep the "Advertise here" box. Heights are reserved so a swap does not shift the page. */
.ga-site-slot { max-width: 1100px; margin: 12px auto; padding: 0 16px; box-sizing: border-box; display: block; }
.ga-site-slot .seo-ad {
  display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 52px; padding: 8px 14px;
  border-radius: 10px; text-decoration: none; color: #1b2a22;
  background: linear-gradient(180deg, #ffffff 0%, #f3f8f5 100%);
  border: 1px solid #d5e4da; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 2px 8px rgba(12, 74, 50, .08);
}
.ga-site-slot .seo-ad small {
  display: inline-block; margin: 0; padding: 2px 8px; border-radius: 999px; font: 700 10.5px/1.4 "Avenir Next", "Segoe UI", system-ui, sans-serif;
  letter-spacing: .08em; text-transform: uppercase; color: #0c4a32; background: #e7f3ec; border: 1px solid #b9d8c5;
}
.ga-site-slot .seo-ad b { display: inline; color: #0c4a32; font-weight: 700; }
.ga-site-slot .seo-ad span { display: inline; margin: 0; color: #3d4a43; font-size: .92rem; }
.ga-site-slot .seo-ad em { margin-left: auto; font-style: normal; font-weight: 700; font-size: .85rem; color: #8a6d12; white-space: nowrap; }
.ga-site-slot .seo-house { border-style: dashed; border-color: #9cc3ac; }
.ga-site-slot .seo-ad:hover { border-color: #0c4a32; }
.ga-site-slot .seo-ad:focus-visible { outline: 3px solid #c9a227; outline-offset: 2px; }
.seo-ad-footer-banner { margin-top: 32px; }
/* Visual banners: centered, ratio kept, never taller than 90px under the header. */
.ga-site-slot .seo-ad-visual { justify-content: center; padding: 6px; }
.ga-site-slot .seo-ad-visual small { position: absolute; margin: 4px; }
.ga-site-slot .seo-ad-visual { position: relative; }
.seo-ad-frame { display: block; width: 100%; max-width: 970px; margin: 0 auto; overflow: hidden; border-radius: 6px; }
.seo-ad-frame img, .seo-ad-frame video { display: block; width: 100%; height: 100%; object-fit: contain; margin: 0; }
.seo-ratio-728x90 { aspect-ratio: 728 / 90; }
.seo-ratio-970x250 { aspect-ratio: 970 / 250; }
.seo-ratio-320x100 { aspect-ratio: 320 / 100; }
.seo-ratio-300x250 { aspect-ratio: 300 / 250; }
.seo-ratio-300x600 { aspect-ratio: 300 / 600; }
.seo-ad-header-banner .seo-ad-frame { max-height: 90px; }
/* Device targeting for server-rendered cards (the server cannot know the screen). */
@media (max-width: 767px) { .ga-ad-only-desktop { display: none !important; } }
@media (min-width: 768px) { .ga-ad-only-mobile { display: none !important; } }
@media (max-width: 600px) {
  .ga-site-slot { margin: 8px auto; padding: 0 12px; }
  .ga-site-slot .seo-ad { min-height: 48px; padding: 8px 12px; }
  .ga-site-slot .seo-ad span { display: none; }
  .ga-site-slot .seo-ad em { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .seo-ad-frame video { animation: none; } }
