/* Âncora Ads 1.1.1. Scoped styles keep the theme and the banner independent. */
#aads-root {
    all: initial;
    --aads-background: #fff;
    --aads-text: #172033;
    --aads-accent: #2563eb;
    --aads-button-text: #fff;
    --aads-max-width: 1100px;
    --aads-z-index: 10000;
    --aads-bottom: 0px;
    --aads-border: rgba(120, 130, 150, .22);
    --aads-cta-width: 110px;
    --aads-safe-area: env(safe-area-inset-bottom, 0px);
    position: fixed;
    z-index: var(--aads-z-index);
    inset: auto 0 var(--aads-bottom);
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--aads-text);
    font: 400 14px/1.45 Arial, Helvetica, sans-serif;
    text-align: start;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    pointer-events: none;
    isolation: isolate;
    direction: ltr;
}
#aads-root,
#aads-root *,
#aads-root *::before,
#aads-root *::after { box-sizing: border-box; }
#aads-root[hidden],
#aads-root [hidden] { display: none !important; }
#aads-root .aads-shell {
    position: relative;
    display: block;
    width: min(100%, var(--aads-max-width));
    margin: 0;
    padding: 12px 0 0;
    overflow: visible;
    color: inherit;
    pointer-events: none;
}
#aads-root .aads-panel {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    overflow: visible;
    color: inherit;
    background: var(--aads-background);
    border: 0;
    border-radius: 14px 14px 0 0;
    box-shadow: 0 -5px 22px rgba(32, 33, 36, .08);
    pointer-events: auto;
}
/* The scroll limit applies to the content, so it never clips the curved tab. */
#aads-root .aads-viewport {
    display: block;
    max-height: 60vh;
    max-height: 60svh;
    margin: 0;
    padding: 0;
    overflow: auto;
    overscroll-behavior: contain;
    border-radius: inherit;
}
#aads-root button {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    color: var(--aads-text);
    background: transparent;
    background-image: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    font-family: inherit;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
#aads-root button::before,
#aads-root button::after { content: none; }
#aads-root .aads-control-icon {
    display: block;
    position: relative;
    z-index: 1;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
}
/* The arc is continuous with the banner: no standalone square or round badge. */
#aads-root .aads-close {
    position: absolute;
    z-index: 2;
    top: -20px;
    right: 11px;
    /* Transparent rectangular hit target; only the decorative arc is curved. */
    border-radius: 0;
    background: transparent;
    pointer-events: auto !important;
}
#aads-root .aads-close::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 3px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--aads-border);
    border-radius: 50%;
    background: var(--aads-background);
    clip-path: inset(0 0 25px 0);
    pointer-events: none;
}
#aads-root .aads-close::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 4px;
    width: 36px;
    height: 6px;
    background: var(--aads-background);
    pointer-events: none;
}
#aads-root .aads-close .aads-control-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    opacity: .7;
}
#aads-root .aads-close:hover .aads-control-icon { opacity: 1; }
#aads-root .aads-link {
    /* The semantic link owns the whole surface, including border and safe area. */
    display: grid !important;
    position: relative;
    z-index: 1;
    grid-template-columns: minmax(0, 1fr) var(--aads-cta-width);
    align-items: center;
    gap: 12px;
    width: 100% !important;
    max-width: none !important;
    min-height: calc(112px + var(--aads-safe-area));
    margin: 0 !important;
    padding: 16px 16px calc(16px + var(--aads-safe-area));
    color: var(--aads-text);
    background: var(--aads-background);
    border: 1px solid var(--aads-border);
    border-bottom: 0;
    border-radius: inherit;
    box-shadow: none;
    font-family: inherit;
    line-height: 1.45;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    pointer-events: auto !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
#aads-root .aads-link::before,
#aads-root .aads-link::after { content: none !important; }
#aads-root .aads-link:hover,
#aads-root .aads-link:visited { color: var(--aads-text); text-decoration: none; background: var(--aads-background); }
#aads-root[data-format="image"] .aads-link { grid-template-columns: 58px minmax(0, 1fr) var(--aads-cta-width); }
#aads-root .aads-image {
    display: block;
    width: 58px;
    height: 58px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    box-shadow: none;
    object-fit: cover;
    background: rgba(120, 130, 150, .08);
}
#aads-root .aads-copy { display: block; min-width: 0; margin: 0; padding: 0; }
#aads-root .aads-headline {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    padding: 0;
    color: inherit;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: -.15px;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}
#aads-root .aads-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 6px 0 0;
    padding: 0;
    color: inherit;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 17px;
    letter-spacing: 0;
    opacity: .72;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}
#aads-root .aads-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: var(--aads-cta-width);
    min-width: 0;
    min-height: 44px;
    max-width: 100%;
    /* This clearance also protects the close target when a long CTA wraps. */
    margin: 16px 0;
    padding: 11px 16px;
    color: var(--aads-button-text);
    background: var(--aads-accent);
    border: 1px solid transparent;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(32, 33, 36, .12);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: .1px;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: filter .15s ease;
}
#aads-root .aads-cta-text { display: block; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
#aads-root .aads-link:hover .aads-cta { filter: brightness(.94); }
#aads-root button:focus-visible,
#aads-root .aads-link:focus-visible {
    outline: 3px solid var(--aads-accent);
    outline-offset: -3px;
}
#aads-root .aads-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Existing 'collapsed' settings now select a compact mode with a visible CTA. */
#aads-root[data-state="collapsed"] .aads-link,
#aads-root[data-state="collapsed"][data-format="image"] .aads-link {
    grid-template-columns: minmax(0, 1fr) var(--aads-cta-width);
    min-height: calc(104px + var(--aads-safe-area));
    padding-block: 12px calc(12px + var(--aads-safe-area));
}
#aads-root[data-state="collapsed"] .aads-image,
#aads-root[data-state="collapsed"] .aads-description { display: none; }
#aads-root[data-state="collapsed"] .aads-headline {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 19px;
}
/* Device targeting still follows settings; narrow desktop slots adapt visually. */
#aads-root[data-device="desktop"] { padding-inline: 18px; }
#aads-root[data-device="mobile"] .aads-shell { width: 100%; }
#aads-root[data-layout="compact"] .aads-headline { font-size: 14.5px; line-height: 19.5px; }
#aads-root[data-layout="compact"][data-format="image"] .aads-link { grid-template-columns: 44px minmax(0, 1fr) var(--aads-cta-width); }
#aads-root[data-layout="compact"] .aads-image { width: 44px; height: 44px; }
#aads-root[data-layout="compact"][data-state="collapsed"] .aads-headline { font-size: 14px; line-height: 19px; }
#aads-root[data-layout="compact"][data-state="collapsed"][data-format="image"] .aads-link { grid-template-columns: minmax(0, 1fr) var(--aads-cta-width); }
#aads-root[data-narrow="true"] { --aads-cta-width: 96px; }
#aads-root[data-narrow="true"] .aads-link { column-gap: 10px; padding-inline: 12px; }
#aads-root[data-narrow="true"] .aads-cta { padding-inline: 10px; }
@media (max-height: 450px) {
    #aads-root .aads-viewport {
        max-height: 72vh;
        max-height: 72svh;
    }
}
@media (prefers-reduced-motion: reduce) {
    #aads-root *, #aads-root *::before, #aads-root *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
    #aads-root { --aads-border: CanvasText; }
    #aads-root .aads-cta { border: 1px solid CanvasText; color: LinkText; }
}
@media print {
    #aads-root, #aads-spacer { display: none !important; }
}
