.st-ad-output { display: flex; flex-direction: column; align-items: center; gap: .4rem; width: 100%; }
.st-ad-label { font-family: inherit; font-weight: 600; font-size: .625rem; line-height: 1.4; letter-spacing: .15em; text-transform: uppercase; opacity: .7; }
.st-ad-output-top { max-width: 970px; margin-inline: auto; --st-ad-ratio: 970/90; }
.st-ad-output-inline, .st-ad-output-article { max-width: 728px; margin-inline: auto; --st-ad-ratio: 728/90; }
.st-ad-output-sidebar { max-width: 300px; margin-inline: auto; --st-ad-ratio: 300/250; }
.st-ad-stage { display: grid; width: 100%; aspect-ratio: var(--st-ad-ratio); min-height: 6rem; }
.st-ad-slide { grid-area: 1 / 1; display: grid; align-items: center; justify-items: center; min-width: 0; visibility: hidden; pointer-events: none; }
.st-ad-slide.is-active { visibility: visible; pointer-events: auto; }
.st-ad-link, .elementor .st-ad-output .st-ad-link { display: grid; align-items: center; justify-items: center; width: 100%; height: 100%; text-decoration: none; }
.st-ad-creative { display: block; max-width: 100%; width: auto; height: auto; max-height: 16rem; object-fit: contain; }
.st-ad-output-top .st-ad-creative, .st-ad-output-inline .st-ad-creative, .st-ad-output-article .st-ad-creative { max-height: 6rem; }
.st-ad-promo-link, .elementor .st-ad-output .st-ad-promo-link { box-sizing: border-box; padding: .75rem 1rem; background: #082a60; color: #fff !important; border: 1px solid #315685; border-left: .3rem solid #fff500; }
.st-ad-promo { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35rem 1.25rem; text-align: center; font-family: inherit; }
.st-ad-promo-title { font-size: clamp(1.1rem, 2vw, 1.4rem); font-weight: 800; line-height: 1.25; }
.st-ad-promo-copy { font-size: .75rem; line-height: 1.5; opacity: .8; }
.st-ad-promo-cta { padding: .4rem .8rem; background: #fff500; color: #082a60; border-radius: 2rem; font-size: .75rem; font-weight: 700; }
.st-ad-output-sidebar .st-ad-promo { flex-direction: column; gap: .9rem; }
.st-ad-controls { display: flex; align-items: center; gap: .35rem; font: inherit; font-size: .75rem; }
.st-ad-controls[hidden] { display: none; }
.st-ad-controls button { appearance: none; box-sizing: border-box; min-width: 2.75rem; min-height: 2.75rem; padding: .4rem .65rem; border: 1px solid currentColor; border-radius: .25rem; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.st-ad-link:focus-visible, .st-ad-controls button:focus-visible { outline: 3px solid #d6452d; outline-offset: 3px; }
.st-ad-controls button:hover { background: #fff500; color: #082a60; }
.st-dynamic-ad { padding: 1rem 0; border: none; background: transparent; min-height: 0; }
.st-dynamic-ad:not(:has(.st-ad-output)) { display: none; }
@media (max-width: 600px) { .st-ad-stage { min-height: 8rem; } .st-ad-promo { flex-direction: column; gap: .45rem; } }