/* UVG Banner Rotator v3.2 */

.uvg-br-wrap { position: relative; text-align: center; margin: 0 auto; }

/* Label */
.uvg-br-label { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .6px; color: #999; margin-bottom: 5px; font-family: -apple-system, sans-serif; }
.uvg-br-label-dot { width: 6px; height: 6px; border-radius: 50%; background: #ccc; display: inline-block; }

/* Stage */
.uvg-br-stage { position: relative; }

/*
 * SLIDES — DE ENIGE REGELS DIE TELLEN:
 * Alles verborgen. Punt. Alleen .uvg-br-active zichtbaar.
 * Geen position:absolute, geen overflow, geen transitieklassen nodig.
 * Werkt altijd, ook zonder JS, ook met page-cache.
 */
.uvg-br-slide                  { display: none !important; }
.uvg-br-slide.uvg-br-active    { display: block !important; animation: uvgFadeIn .4s ease; }

@keyframes uvgFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Dots */
.uvg-br-dots { display: flex; justify-content: center; gap: 5px; padding: 8px 0 2px; }
.uvg-br-dot { width: 7px; height: 7px; border-radius: 50%; background: #ddd; border: none; padding: 0; cursor: pointer; transition: background .2s, transform .2s; }
.uvg-br-dot.uvg-br-dot-active { background: #e67e22; transform: scale(1.3); }

/* Links & media */
.uvg-br-link { display: inline-block; text-decoration: none; line-height: 0; }
.uvg-br-wrap img, .uvg-br-wrap iframe { max-width: 100%; height: auto; display: block; margin: 0 auto; border: none; }

/* Sticky bars */
.uvg-sticky-bar { position: fixed; left: 0; right: 0; z-index: 99999; background: #fff; padding: 10px 16px; text-align: center; }
.uvg-sticky-top    { top: 0;    box-shadow: 0 2px 20px rgba(0,0,0,.12); animation: uvgStickyDown .3s ease; }
.uvg-sticky-bottom { bottom: 0; box-shadow: 0 -2px 20px rgba(0,0,0,.12); animation: uvgStickyUp .3s ease; }
@keyframes uvgStickyUp   { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes uvgStickyDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.uvg-sticky-bar .uvg-br-wrap { display: inline-block; }
.uvg-sticky-close { position: absolute; top: 6px; right: 10px; background: none; border: none; font-size: 16px; color: #999; cursor: pointer; padding: 4px 6px; border-radius: 4px; }
.uvg-sticky-close:hover { background: #f0f0f0; color: #333; }

/* Exit overlay */
.uvg-exit-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 999999; align-items: center; justify-content: center; }
.uvg-exit-overlay.uvg-exit-visible { display: flex; }
.uvg-exit-modal { position: relative; background: #fff; border-radius: 12px; padding: 24px; max-width: 90vw; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.uvg-exit-close { position: absolute; top: 10px; right: 12px; background: none; border: none; font-size: 20px; color: #999; cursor: pointer; padding: 4px; }
.uvg-exit-close:hover { color: #333; }
