.political-advertising-link { display: block; width: fit-content; margin: 4px 0 8px auto; padding: 2px 5px; font-size: 12px; line-height: 1.4; color: #345d83; background: #fff; text-decoration: underline; position: relative; }
.branding > .political-advertising-link { position: absolute; top: 8px; right: max(16px, calc((100vw - 1460px) / 2)); z-index: 2; }
#political-advertising-modal { --bs-modal-margin: 5rem; font-family: "roboto", Arial, sans-serif; }
#political-advertising-modal .modal-dialog { margin-top: 5rem; margin-bottom: 5rem; height: calc(100% - 10rem); }
#political-advertising-modal .modal-content { border: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 20px 70px #0003; }
#political-advertising-modal .modal-header { padding: 24px 28px; border-bottom: 3px solid #c70005; background: #c70005; color: #fff; }
#political-advertising-modal .modal-title { font-size: 28px !important; font-weight: 700; line-height: 1.25; color: #fff; }
#political-advertising-modal .btn-close { flex-shrink: 0; margin-left: 16px; filter: invert(1) grayscale(100%) brightness(200%); opacity: .85; }
#political-advertising-modal .modal-body { padding: 24px 28px 28px; background: #f5f5f5; }
.political-advertising-content { color: #333; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.political-advertising-content section { padding: 24px; margin: 24px 0 0; border-radius: 12px; background: #fff; border: 1px solid #e5e5e5; box-shadow: 0 3px 12px #00000008; }
.political-advertising-content h2 { font-size: 22px; font-weight: 700; color: #222; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid #e8e8e8; }
.political-advertising-content h3 { font-size: 17px; font-weight: 600; color: #222; margin: 24px 0 8px; }
.political-advertising-content p { margin: 0 0 5px; white-space: pre-line; }
.political-advertising-content a { color: #c70005; text-decoration: underline; }
.political-advertising-home { display: block; margin: 20px; }
.ad-title-wrap a.ad-title.political-advertising-title,
.ad-title-wrap a.ad-title.political-advertising-title:hover,
.ad-title-wrap a.ad-title.political-advertising-title:focus,
.ad-title-wrap a.ad-title.political-advertising-title:visited {
    color: #9b9b9b !important;
    font-style: italic;
    font-weight: 400 !important;
    text-decoration: underline;
}

@media (max-width: 575.98px) {
    #political-advertising-modal { --bs-modal-margin: 2rem; }
    #political-advertising-modal .modal-dialog { margin: calc(88px + env(safe-area-inset-top, 0px)) 12px calc(2rem + env(safe-area-inset-bottom, 0px)); height: calc(100% - 88px - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
    #political-advertising-modal .modal-header { padding: 20px; }
    #political-advertising-modal .modal-title { font-size: 24px !important; }
    #political-advertising-modal .modal-body { padding: 18px 16px 22px; }
    .political-advertising-content section { padding: 20px 16px; }
    .political-advertising-content h2 { font-size: 20px; }
}
#political-advertising-modal .modal-body {
    scrollbar-width: thin;
    scrollbar-color: #b7b7b7 #f5f5f5;
    scrollbar-gutter: stable;
}
#political-advertising-modal .modal-body::-webkit-scrollbar { width: 8px; }
#political-advertising-modal .modal-body::-webkit-scrollbar-track { background: #f5f5f5; border-radius: 10px; }
#political-advertising-modal .modal-body::-webkit-scrollbar-thumb {
    background: #b7b7b7;
    border: 2px solid #f5f5f5;
    border-radius: 10px;
}
#political-advertising-modal .modal-body::-webkit-scrollbar-thumb:hover { background: #888; }
.political-advertising-link[hidden] { display: none !important; }
