/* Existing placement classes own widths, margins and artwork heights. The legal footer participates in normal flow. */
.ad-publication.classified-promo,
.ad-publication.classified-home-promo,
.classified-detail .ad-publication.classified-ads-rail__slot {
    height: auto;
    aspect-ratio: auto;
    overflow: visible;
    background: transparent;
    min-width: 0;
}
.ad-publication[hidden] { display: none !important; }
.ad-video__stage{position:relative;min-width:0;background:#102a22;border-radius:var(--radius,12px);overflow:hidden}
.ad-video video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;object-fit:contain}
.ad-video__play{position:absolute;inset:auto 16px 48px;max-width:320px;margin-inline:auto;min-height:44px;padding:10px 16px;border:0;border-radius:8px;background:#fff;color:#172b26;font:inherit;font-weight:600;cursor:pointer}
.ad-video__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-block:12px}
.ad-video__actions a,.ad-video__actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #9caea5;border-radius:8px;background:#fff;color:#172b26;font:inherit;cursor:pointer}
.ad-video button:focus-visible,.ad-video a:focus-visible{outline:3px solid #08754c;outline-offset:3px}
.ad-video [hidden]{display:none!important}.ad-video__status{padding-block:8px;font-size:14px}
@media(max-width:767px){.ad-video__actions>*{flex:1 1 auto}.ad-video__play{inset-inline:12px}}
.classified-results > .ad-publication.classified-promo--side { display: block; }
.ad-publication__frame { position: relative; display: grid; min-width: 0; width: 100%; isolation: isolate; }
.ad-publication__frame > .ad-publication__visual {
    grid-area: 1 / 1;
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 100%;
    margin: 0;
    border-radius: var(--radius, 12px);
}
.ad-publication__visual:focus-visible { outline: 3px solid var(--c-primary, #087a59); outline-offset: 3px; }
.ad-publication__marking {
    grid-area: 1 / 1;
    align-self: start;
    justify-self: end;
    position: relative;
    z-index: 3;
    display: flex;
    align-items: start;
    justify-content: end;
    flex-wrap: wrap;
    gap: 4px;
    max-width: calc(100% - 16px);
    min-width: 0;
    margin: 8px;
    font-size: 12px;
    line-height: 1.5;
    user-select: text;
}
.ad-publication__label { border-radius: 4px; padding: 3px 6px; }
.ad-publication__label { flex: 0 0 auto; background: #1e293b; color: #fff; font-weight: 600; }
.ad-publication__erid { min-width: 0; max-width: 100%; margin-bottom: 4px; color: #1e293b; overflow-wrap: anywhere; user-select: text; }
.ad-publication__advertiser {
    padding: 8px 0 0;
    color: var(--c-n-700, #334155);
    font-size: 12px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    text-align: start;
}
.ad-publication__advertiser a { display: inline-block; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ad-publication__advertiser a:focus-visible { outline: 3px solid var(--c-primary, #087a59); outline-offset: 2px; border-radius: 2px; }
.ad-publication__inn { display: block; }

/* Preserve the artwork ratio; legal text and slider controls need their own normal-flow space. */
.hero-slider:has([data-ad-publication]) { aspect-ratio: auto; padding-bottom: 60px; }
.hero-slider:has([data-ad-publication]):not(:has(.hs-dots)) { padding-bottom: 0; }
.hero-slider:has(.hs-dots[hidden]) { padding-bottom: 0; }
.hero-slider[hidden],.hero-slider [hidden] { display: none !important; }
.ad-publication--home .ad-publication__frame { aspect-ratio: 3.4 / 1; }
.ad-publication--home .ad-publication__visual { position: relative; height: 100%; }
.ad-publication--home .ad-publication__visual > picture { position: absolute; inset: 0; display: block; }
.ad-publication--home img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ad-publication--home .banner-creative-public { aspect-ratio: auto; }
/* Keep the same artwork ratio as image slides; video controls occupy their own normal-flow row. */
.ad-publication--home .ad-publication__frame:has(.ad-video){aspect-ratio:auto}
.ad-publication--home .ad-video{display:block;height:auto;min-height:0}
.ad-publication--home .ad-video__stage{aspect-ratio:3.4/1}
.ad-publication--home .ad-video video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.hero-slider .ad-publication__advertiser { padding: 8px 12px; }
.ad-publication--home-text .ad-publication__marking { align-self: flex-end; margin: 0 0 16px; max-width: 100%; }
.ad-publication--home-text .promo { flex-wrap: wrap; }
.ad-publication--home-text .promo > .ad-publication__marking { flex: 0 0 100%; }
@media (max-width: 768px) {
    .ad-publication--home .ad-publication__frame { aspect-ratio: 16 / 10; }
    .ad-publication--home .ad-video__stage { aspect-ratio: 16 / 10; }
}
