/* Portable gallery styling; no Bootstrap dependency or global selectors. */
.cosma-admin-gallery-container { width: 100%; }
.cosma-admin-gallery { display: grid; gap: 1.5rem; }
.cosma-admin-gallery-container img { display: block; max-width: 100%; height: auto; }
.cosma-admin-gallery-container .w-100 { width: 100%; }
.cosma-admin-gallery-item { min-width: 0; }
.cosma-gallery-caption { padding: 1rem; overflow-wrap: anywhere; }
.cosma-carousel-wrapper .cosma-admin-gallery { display: flex; overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
.cosma-carousel-wrapper .cosma-admin-gallery > .row { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: 2fr 1fr; scroll-snap-align: start; }
.cosma-carousel-wrapper .col-md-8, .cosma-carousel-wrapper .col-md-4 { min-width: 0; }
.cosma-carousel-wrapper .col-md-8 img { width: 100%; }
.cosma-carousel-wrapper .cosma-gallery-caption { align-self: start; }
.cosma-carousel-wrapper .letsTalkText { display: flex; align-items: center; justify-content: center; }
.cosma-admin-gallery-container .letsTalk { display: flex; align-items: center; gap: 1rem; padding: 1.5rem; border: 1px solid currentColor; }
.cosma-admin-gallery-container .letsTalk svg { width: 4rem; }
.cosma-admin-gallery:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.cosma-admin-gallery.is-dragging { scroll-snap-type: none; cursor: grabbing; user-select: none; }
@media (min-width: 769px) { .cosma-grid-wrapper .cosma-admin-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px) {
    .cosma-carousel-wrapper .cosma-admin-gallery { display: grid; overflow: visible; }
    .cosma-carousel-wrapper .cosma-admin-gallery > .row { display: block; }
}
