/* Popup de publicidade (Publicidade › Popups no painel administrativo). */
.ad-popup-layer { position: fixed; z-index: 2000; animation: ad-popup-in 200ms ease-out; }
.ad-popup-layer.is-modal { inset: 0; display: grid; place-items: center; padding: 16px; background: rgba(1, 10, 18, 0.66); backdrop-filter: blur(3px); }
.ad-popup-layer.is-corner { right: 16px; bottom: 16px; left: auto; max-width: calc(100vw - 32px); }
.ad-popup-layer.is-leaving { opacity: 0; transition: opacity 160ms ease; }
.ad-popup {
  position: relative; display: grid; width: 100%; max-height: calc(100vh - 32px); overflow: auto;
  border-radius: 14px; border: 1px solid rgba(0, 174, 255, 0.45);
  background: #062035; color: #e8f6ff;
  box-shadow: 0 8px 0 -2px #021729, 0 24px 60px rgba(0, 0, 0, 0.55);
}
.ad-popup.size-small { max-width: 320px; }
.ad-popup.size-medium { max-width: 440px; }
.ad-popup.size-large { max-width: 640px; }
.ad-popup.theme-light { background: #ffffff; color: #0b2236; border-color: rgba(0, 87, 153, 0.35); }
.ad-popup.theme-brand { background: linear-gradient(160deg, #0a6fbf, #003c6c); color: #ffffff; border-color: rgba(255, 255, 255, 0.35); }
.ad-popup-image { display: block; width: 100%; height: auto; max-height: 70vh; object-fit: contain; background: rgba(0, 0, 0, 0.2); }
.ad-popup-image.is-link { cursor: pointer; }
.ad-popup-content { display: grid; gap: 10px; padding: 18px 20px 20px; }
.ad-popup-content h2 { margin: 0; padding-right: 28px; font-size: 1.2rem; line-height: 1.3; }
.ad-popup-image + .ad-popup-content h2 { padding-right: 0; }
.ad-popup-content p { margin: 0; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; }
.ad-popup-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.ad-popup-cta {
  min-height: 40px; padding: 9px 18px; border: 0; border-radius: 8px; cursor: pointer;
  font: inherit; font-weight: 800; color: #ffffff;
  background: linear-gradient(180deg, #00aeff, #005799); box-shadow: 0 5px 0 #002a4a;
}
.ad-popup-cta:active { transform: translateY(2px); box-shadow: 0 3px 0 #002a4a; }
.ad-popup.theme-brand .ad-popup-cta { background: #ffffff; color: #005799; box-shadow: 0 5px 0 rgba(0, 0, 0, 0.3); }
.ad-popup-close {
  position: absolute; top: 8px; right: 8px; z-index: 1; width: 32px; height: 32px; padding: 0;
  border: 0; border-radius: 50%; cursor: pointer; font-size: 1.4rem; line-height: 1;
  color: #ffffff; background: rgba(0, 0, 0, 0.55);
}
.ad-popup-close:hover { background: rgba(0, 0, 0, 0.75); }
.ad-popup-close:focus-visible, .ad-popup-cta:focus-visible { outline: 2px solid #00aeff; outline-offset: 2px; }
@keyframes ad-popup-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ad-popup-layer { animation: none; } }
@media (max-width: 480px) { .ad-popup-layer.is-corner { right: 8px; left: 8px; bottom: 8px; max-width: none; } }
