/* Publicité : emplacements fixes, fenêtre après une traduction, pause toutes les 10 cartes */

.ad-slot { min-height: 90px; border: 1px dashed var(--line); border-radius: 10px; padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.tr-panel { position: relative; }
.tr-overlay { position: absolute; inset: 0; z-index: 5; border-radius: 14px; overflow: auto; padding: 18px; display: flex; flex-direction: column; gap: 14px;
  background: linear-gradient(140deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 62%, #000) 100%); color: var(--accent-ink); }
.ov-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border-radius: 50%; border: 0; cursor: pointer; font-size: 22px; line-height: 1;
  background: color-mix(in srgb, var(--accent-ink) 22%, transparent); color: var(--accent-ink); }
.ov-close:hover { background: color-mix(in srgb, var(--accent-ink) 35%, transparent); }
.ov-promo { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; padding-right: 40px; }
.ov-promo h3 { margin: 0; font-family: var(--f-display); font-size: 24px; line-height: 1.2; }
.tr-overlay p.ov-line { margin: 0; font-size: 14.5px; color: var(--accent-ink); opacity: .95; }
.ov-cta { background: var(--accent-ink); color: var(--accent); border-color: var(--accent-ink); font-weight: 700; }
.ov-ad { background: var(--surface); color: var(--ink); border-style: solid; flex: 1; min-height: 120px; }
.ad-preview { min-height: 90px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: repeating-linear-gradient(45deg, var(--accent-soft) 0 10px, transparent 10px 20px); color: var(--muted); font-size: 13px; }
.break .ad-slot { width: 100%; margin: 6px 0 18px; text-align: left; }
.ad-label { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
