/* ═══════════════════════════════════════════════════════════
   AD ZONE SYSTEM — FreeCalendarMaker
   Design principles:
   - Never disrupt the calendar layout
   - Right rail: absolutely positioned, never affects scroll
   - Leaderboard: clean footer strip below the scrollable area
   - Exact IAB standard sizes (max advertiser fill rate)
   - Completely invisible in print
   ═══════════════════════════════════════════════════════════ */

/* ── Shared ad zone base ─────────────────────────────────── */
.ad-zone {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.ad-zone-label {
  font-size: 0.48rem;
  color: rgba(255,255,255,0.2);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-family: 'Poppins', sans-serif;
  white-space: nowrap;
}

/* ── Right rail — 160×600 Wide Skyscraper ────────────────── */
/* Absolutely positioned so it never affects page scroll */
#ad-rail {
  position: absolute;
  top: 20px;
  right: 0;
  width: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 10px;
  pointer-events: none; /* don't block scroll on calendar */
  z-index: 10;
}
#ad-rail .ad-zone { pointer-events: all; }

/* Only show on wide screens where there's room */
@media (max-width: 1280px) { #ad-rail { display: none; } }

/* ── Bottom leaderboard — 728×90 ─────────────────────────── */
/* Sits below the scrollable workspace as a clean footer strip */
#ad-leaderboard {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  background: var(--bg-app);
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* Hide on mobile */
@media (max-width: 900px) { #ad-leaderboard { display: none; } }

/* ── Placeholders (visible until AdSense fills them) ─────── */
.ad-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  border-radius: 4px;
  box-sizing: border-box;
}

.ad-placeholder--skyscraper {
  width: 160px;
  height: 600px;
  background: rgba(253,93,147,0.04);
  border: 1px dashed rgba(253,93,147,0.15);
  color: rgba(253,93,147,0.3);
}

.ad-placeholder--leaderboard {
  width: 728px;
  height: 90px;
  background: rgba(29,140,248,0.04);
  border: 1px dashed rgba(29,140,248,0.15);
  color: rgba(29,140,248,0.3);
}

.ad-ph-status {
  font-size: 0.5rem;
  opacity: 0.7;
  margin-top: 4px;
}

/* ── Affiliate card (sidebar) ─────────────────────────────── */
.affiliate-card {
  background: linear-gradient(135deg, rgba(253,93,147,0.06), rgba(29,140,248,0.06));
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 8px 12px;
  margin-bottom: 8px;
  font-family: 'Poppins', sans-serif;
}
.aff-label {
  font-size: 0.6rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 3px;
}
.aff-link {
  font-size: 0.67rem;
  color: var(--neon-blue);
  text-decoration: none;
  display: block;
  transition: color 0.15s;
  line-height: 1.4;
}
.aff-link:hover { color: #fd5d93; }

/* ── Print — hide everything ──────────────────────────────── */
@media print {
  #ad-rail,
  #ad-leaderboard,
  .affiliate-card,
  .ad-zone,
  .ad-placeholder,
  .no-print { display: none !important; }
}
