.banner-rotator{position:relative;isolation:isolate;overflow:hidden;background:#3a3026;aspect-ratio:3/1;margin:0}
.banner-rotator .banner-frame{position:absolute;inset:0;margin:0!important;opacity:0;transition:opacity .75s ease;pointer-events:none}
.banner-rotator .banner-frame.is-current{opacity:1;z-index:1}
.banner-rotator .banner-frame img{display:block;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important}
.banner-controls{position:absolute;z-index:3;bottom:12px;right:14px;display:flex;align-items:center;gap:3px;padding:4px 6px;background:#241d17d9;color:#fff9eb;border:1px solid #fff3d84d;border-radius:24px;backdrop-filter:blur(5px);font:12px/1.2 Arial,sans-serif}
.banner-controls button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:18px/1 Arial,sans-serif;cursor:pointer}
.banner-controls button:hover{background:#fff2dc26}.banner-controls button:focus-visible{outline:2px solid #ff8b80;outline-offset:2px}.banner-controls .banner-count{min-width:42px;text-align:center;font:12px/1 Arial,sans-serif;font-variant-numeric:tabular-nums}.banner-controls .banner-pause{font-size:13px}
.header-banner.banner-rotator{border-radius:16px}.hour-banner>.banner-rotator{border-radius:0}.banner-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.banner-controls{bottom:6px;right:7px;padding:2px 4px;gap:0}.banner-controls button{width:28px;height:28px}.banner-controls .banner-count{min-width:36px;font-size:10px}.header-banner.banner-rotator{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.banner-rotator .banner-frame{transition:none}}
@media print{.banner-controls{display:none}.banner-rotator .banner-frame{display:none}.banner-rotator .banner-frame.is-current{display:block}}
