/* Accessible manual gallery controls, including older inline styles. */
.carousel .carousel-prev, .carousel .carousel-next { width:44px!important; height:44px!important; min-width:44px; min-height:44px; }
.carousel .carousel-dots { gap:4px!important; flex-wrap:wrap; padding:0 4px; }
.carousel .carousel-dots .dot { position:relative; width:44px!important; height:44px!important; background:transparent!important; opacity:1!important; transform:none!important; }
.carousel .carousel-dots .dot::before { content:""; position:absolute; width:10px; height:10px; top:17px; left:17px; border-radius:50%; background:#fff; opacity:.5; box-shadow:0 0 0 1px #16324f; }
.carousel .carousel-dots .dot.active::before { opacity:1; box-shadow:0 0 0 2px #087eae; }
.carousel button:focus-visible, .carousel-thumbs button:focus-visible { outline:3px solid #087eae; outline-offset:-3px; }

@media(max-width:768px) { .home-media-grid { grid-template-columns:minmax(0,1fr)!important; } }
