.kdog-gallery { display: block; position: relative; width: 100%; max-width: none; margin: 0; padding: 0; color: #000e47; }
.kdog-gallery__viewport { position: relative; width: 100%; overflow: hidden; isolation: isolate; aspect-ratio: 16 / 9; max-height: 100vh; background: #f1f1e9; touch-action: pan-y pinch-zoom; }
.kdog-gallery__track { position: absolute; inset: 0; width: 100%; height: 100%; }
.kdog-gallery__slide { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; background: #f1f1e9; }
.kdog-gallery__slide[aria-hidden="true"] { visibility: hidden; }
.kdog-gallery__slide img { display: block; width: 100%; max-width: none; height: 100%; margin: 0; object-fit: cover; object-position: 50% 50%; user-select: none; }
.kdog-gallery__unavailable { padding: 32px; text-align: center; font-size: 16px; }
.kdog-gallery__controls { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 16px; width: min(1280px, calc(100% - 40px)); margin-inline: auto; padding-block: 12px; }
.kdog-gallery [hidden] { display: none !important; }
.kdog-gallery__count { font-size: 14px; font-variant-numeric: tabular-nums; }
.kdog-gallery__actions, .kdog-gallery__dots { display: flex; align-items: center; gap: 4px; }
.kdog-gallery__dots { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; gap: 0; }
.kdog-gallery button { appearance: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 1px solid #000e4730; border-radius: 999px; background: transparent; color: #000e47; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: background-color 160ms ease, color 160ms ease; }
.kdog-gallery button:focus-visible { outline: 3px solid #e81935; outline-offset: 3px; }
.kdog-gallery__dots button { width: 44px; border: 0; }
.kdog-gallery__dots button span { width: 8px; height: 8px; border-radius: 999px; background: #000e4740; transition: transform 200ms ease, background-color 200ms ease; }
.kdog-gallery__dots button[aria-current="true"] span { background: #e81935; transform: scaleX(2); }
.kdog-gallery button > span { display: inline-flex; }
.kdog-gallery__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) { .kdog-gallery__actions button:hover { background: #000e47; color: #fff; } }
@media (min-width: 640px) {
  .kdog-gallery__dots { order: 0; width: auto; flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .kdog-gallery button, .kdog-gallery__dots button span { transition: none; } }
