/* One bounded placement in document flow, separated from application controls.
   Fixed height is assigned to the unit itself, as supported by AdSense's
   advanced responsive code. Never clip or hide a creative iframe.

   On long pages the placement docks to the bottom edge while scrolling and
   rests in its own space above the footer at the end: the bottom counterpart of
   the sticky navbar. Sticky moves it only visually, and docking changes colours
   only, never the box, so nothing shifts. Margins carry most of the spacing to
   keep the docked band low; at rest the spacing is the same as before. */
.gsv2-ad-placement {
    position: sticky;
    bottom: 0;
    z-index: 10;            /* over card badges (3), under veil (45) and navbar (50) */
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 100%;
    margin: 16px 0 10px;
    padding: 7px 16px 6px;
    border-top: 1px solid transparent;
    background-color: transparent;
    text-align: center;
    transition: background-color .15s ease, border-color .15s ease;
}
/* Docked: the navbar's surface, mirrored at the bottom edge. */
.gsv2-ad-placement--docked {
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top-color: var(--gsv2-border);
}
html[data-gsv2-wallpaper] .gsv2-ad-placement--docked {
    background-color: rgba(var(--gsv2-glass-rgb), var(--gsv2-glass-alpha));
    backdrop-filter: blur(min(var(--gsv2-glass-blur), 20px)) saturate(var(--gsv2-glass-sat));
    -webkit-backdrop-filter: blur(min(var(--gsv2-glass-blur), 20px)) saturate(var(--gsv2-glass-sat));
}
/* Released by the visitor (the X): rests in its own space above the footer.
   Multiplex units grow tall; they never dock. */
.gsv2-ad-placement--released,
.gsv2-ad-placement--multiplex { position: static; }
/* The X: a tab on the band's top edge, far from the creative so aiming for it
   never lands on the ad. Shown only while docked; absolute, so the band's box
   never changes. */
.gsv2-ad-dismiss {
    position: absolute;
    right: 16px;
    bottom: 100%;
    display: none;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 24px;
    padding: 0;
    border: 1px solid var(--gsv2-border);
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background-color: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--gsv2-text-muted, #999);
    cursor: pointer;
}
.gsv2-ad-placement--docked .gsv2-ad-dismiss { display: inline-flex; }
.gsv2-ad-dismiss:hover { color: var(--gsv2-text, #fff); }
.gsv2-ad-dismiss:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
html[data-gsv2-wallpaper] .gsv2-ad-dismiss {
    background-color: rgba(var(--gsv2-glass-rgb), var(--gsv2-glass-alpha));
    backdrop-filter: blur(min(var(--gsv2-glass-blur), 20px)) saturate(var(--gsv2-glass-sat));
    -webkit-backdrop-filter: blur(min(var(--gsv2-glass-blur), 20px)) saturate(var(--gsv2-glass-sat));
}
.gsv2-ad-placement[hidden] { display: none; }
.gsv2-ad-label {
    display: block;
    margin-bottom: 8px;
    font-size: 10px;
    line-height: 1.2;
    color: var(--gsv2-text-muted, #999);
}
.gsv2-ad-unit {
    display: block;
    width: 100%;
    max-width: 970px;
    height: 90px;
    margin: 0 auto;
}
.gsv2-ad-placement--multiplex .gsv2-ad-unit {
    height: auto;
    min-height: 100px;
}
@media (max-width: 499px) {
    .gsv2-ad-unit { height: 100px; }
}
@media (prefers-reduced-motion: reduce) {
    .gsv2-ad-placement { transition: none; }
}
@media print {
    .gsv2-ad-placement { display: none; }
}
