/* RegioShow – site styles */

/* 1.5.20: inherit Joomla/Bootstrap theme surfaces where available. */
.regioshow-responsive-scope {
  --rgs-surface: var(--bs-body-bg, var(--body-bg, #fff));
  --rgs-text: var(--bs-body-color, var(--body-color, inherit));
  --rgs-soft-surface: rgba(127,127,127,.08);
  --rgs-border: rgba(127,127,127,.28);
  --rgs-muted: var(--bs-secondary-color, #6c757d);
  color: var(--rgs-text);
}

/* ── Page / category headings ────────────────────────────────────────── */

.regioshow-page-heading {
  margin-bottom: 18px;
}

.regioshow-category-heading {
  margin: 0 0 6px 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.regioshow-category-description {
  margin: 0 0 16px 0;
  font-size: 1rem;
  opacity: 0.75;
  line-height: 1.5;
}

/* ── Image grid ──────────────────────────────────────────────────────── */

.regioshow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}

/* Stagger fade-up on load */
@keyframes regioshowFadeUp {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

.regioshow-card {
  border-radius: 10px;
  background: var(--rgs-surface, #fff);
  color: var(--rgs-text, inherit);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.05);
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  animation: regioshowFadeUp 0.45s ease both;
  animation-delay: calc(var(--card-i, 0) * 45ms);
}

.regioshow-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.14), 0 2px 6px rgba(0,0,0,0.07);
  transform: translateY(-3px);
}

/* ── Card media area (image + overlay controls) ──────────────────────── */

.regioshow-card-media {
  position: relative;
  width: 100%;
  padding-top: 75%; /* 4:3 */
  overflow: hidden;
  background: var(--rgs-soft-surface, #e8e8e8);
}

.regioshow-thumbBtn {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.regioshow-card .regioshow-thumbBtn img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.regioshow-card:hover .regioshow-thumbBtn img {
  transform: scale(1.06);
}

/* Gradient + controls overlay */
.regioshow-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.38) 0%, transparent 50%);
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 10px 10px 0;
  pointer-events: none; /* let clicks through to thumbBtn by default */
}

/* Custom circular checkbox */
.regioshow-check {
  pointer-events: all;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
}

.regioshow-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2.5px solid rgba(255,255,255,0.85);
  background: rgba(0,0,0,0.25);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s;
  position: relative;
  margin: 0;
}

.regioshow-check input[type="checkbox"]::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3.5 3.5L13 5'/%3E%3C/svg%3E") center / 14px no-repeat;
  opacity: 0;
  transition: opacity 0.15s;
}

.regioshow-check input[type="checkbox"]:checked {
  background: #2563eb;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.3);
}

.regioshow-check input[type="checkbox"]:checked::after {
  opacity: 1;
}

/* Download icon button overlay */
.regioshow-card-dl-btn {
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(0,0,0,0.3);
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.25);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease, background 0.15s;
}

.regioshow-card:hover .regioshow-card-dl-btn {
  opacity: 1;
  transform: translateY(0);
}

.regioshow-card-dl-btn:hover {
  background: rgba(0,0,0,0.55);
  color: #fff;
  text-decoration: none;
}

/* ── Card footer ─────────────────────────────────────────────────────── */

.regioshow-filename {
  padding: 8px 12px 10px;
  font-size: 0.8rem;
  color: var(--rgs-muted, #6c757d);
  word-break: break-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Lightbox ────────────────────────────────────────────────────────── */

.regioshow-lightbox {
  position: fixed;
  inset: 0;
  display: flex;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.regioshow-lightbox.is-open {
  opacity: 1;
  pointer-events: auto;
}

.regioshow-lightbox-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
}

.regioshow-lightbox-dialog {
  position: relative;
  width: fit-content;
  max-width: calc(100vw - 24px);
  max-height: calc(100vh - 24px);
  background: #111;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(0,0,0,0.6), 0 4px 16px rgba(0,0,0,0.4);
  display: flex;
  flex-direction: column;
  transform: scale(0.93) translateY(10px);
  transition: transform 0.25s cubic-bezier(0.34,1.4,0.64,1);
}

.regioshow-lightbox.is-open .regioshow-lightbox-dialog {
  transform: scale(1) translateY(0);
}

.regioshow-lightbox-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  backdrop-filter: blur(6px);
}

.regioshow-lightbox-title {
  font-weight: 600;
  font-size: 0.95rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  opacity: 0.9;
}

.regioshow-lightbox-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.regioshow-lightbox-download {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 5px 11px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 8px;
  white-space: nowrap;
  transition: background 0.15s;
}

.regioshow-lightbox-download:hover {
  background: rgba(255,255,255,0.2);
  color: #fff;
  text-decoration: none;
}

.regioshow-lightbox-close {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.85;
  padding: 3px 8px;
  transition: background 0.15s, opacity 0.15s;
}

.regioshow-lightbox-close:hover {
  opacity: 1;
  background: rgba(255,255,255,0.16);
}

.regioshow-lightbox-body {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: #111;
  flex: 1;
  min-height: 0;
}

.regioshow-lightbox-body img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: calc(100vh - 24px - 48px); /* 48px ≈ header height */
  border-radius: 6px;
  object-fit: contain;
  transition: opacity 0.18s ease;
}

.regioshow-lightbox-body img.is-loading {
  opacity: 0;
}

.regioshow-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: background 0.15s, transform 0.15s;
  transform-origin: center;
}

.regioshow-lightbox-nav:hover {
  background: rgba(0,0,0,0.65);
}

.regioshow-lightbox-nav.prev { left: 10px; }
.regioshow-lightbox-nav.next { right: 10px; }
.regioshow-lightbox-nav.prev:hover { transform: translateY(-50%) translateX(-2px); }
.regioshow-lightbox-nav.next:hover { transform: translateY(-50%) translateX(2px); }

/* ── Pagination ──────────────────────────────────────────────────────── */

.regioshow-pagination {
  margin-top: 24px;
}

.regioshow-pagination ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.regioshow-pagination li {
  margin: 0 !important;
  padding: 0 !important;
}

.regioshow-pagination a,
.regioshow-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 10px;
  text-decoration: none;
  background: var(--rgs-surface, #fff);
  color: var(--rgs-text, inherit);
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  transition: box-shadow 0.15s, border-color 0.15s;
}

.regioshow-pagination a:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  border-color: rgba(0,0,0,0.22);
}

.regioshow-pagination .active span,
.regioshow-pagination span[aria-current="page"] {
  font-weight: 700;
  border-color: #2563eb;
  color: #2563eb;
}

.regioshow-pagination .disabled span,
.regioshow-pagination span[aria-disabled="true"] {
  opacity: 0.4;
  cursor: not-allowed;
}

/* ── Category grid ───────────────────────────────────────────────────── */

.regioshow-categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}

.regioshow-category-card {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background: var(--rgs-surface, #fff);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.05);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  animation: regioshowFadeUp 0.45s ease both;
  animation-delay: calc(var(--card-i, 0) * 60ms);
}

.regioshow-category-card:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,0.14), 0 2px 6px rgba(0,0,0,0.07);
  transform: translateY(-3px);
  text-decoration: none;
  color: inherit;
}

.regioshow-category-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--rgs-soft-surface, #e8e8e8);
}

.regioshow-category-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.regioshow-category-card:hover .regioshow-category-thumb img {
  transform: scale(1.05);
}

.regioshow-category-nothumb {
  color: var(--rgs-muted, #6c757d);
  font-size: 0.9rem;
}

.regioshow-category-info {
  padding: 14px;
}

.regioshow-category-title {
  margin: 0 0 4px 0;
  font-size: 1.05rem;
  font-weight: 600;
}

.regioshow-category-count {
  font-size: 0.82rem;
  color: var(--rgs-muted, #6c757d);
}

.regioshow-category-desc {
  margin: 8px 0 0 0;
  font-size: 0.875rem;
  color: var(--rgs-muted, #6c757d);
  line-height: 1.45;
}

/* ── Keyboard accessibility / reduced motion ───────────────────────── */
.regioshow-thumbBtn:focus-visible,
.regioshow-card-dl-btn:focus-visible,
.regioshow-lightbox-download:focus-visible,
.regioshow-lightbox-close:focus-visible,
.regioshow-lightbox-nav:focus-visible,
.mod-regioshow-item:focus-visible,
.mod-regioshow-slider-item:focus-visible,
.mod-regioshow-slider-nav:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

.regioshow-card-dl-btn:focus-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .regioshow-card,
  .regioshow-card .regioshow-thumbBtn img,
  .regioshow-card-dl-btn,
  .regioshow-lightbox,
  .regioshow-lightbox-dialog,
  .regioshow-lightbox-body img,
  .regioshow-lightbox-nav,
  .mod-regioshow-item img,
  .mod-regioshow-slider-item img,
  .mod-regioshow-slider-viewport {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}


/* ── RegioShow 1.5.17 frontend layout/design system ─────────────────── */
.regioshow-category-filter {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
}
.regioshow-category-filter label { font-weight: 600; }
.regioshow-category-filter .form-select { width: auto; max-width: 100%; }

.regioshow-layout {
  display: grid;
  gap: var(--rgs-gap, 16px);
  grid-template-columns: repeat(var(--rgs-cols-d, 4), minmax(0, 1fr));
  width: 100%;
}
.regioshow-layout-auto {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}
.regioshow-layout-compact {
  grid-template-columns: repeat(var(--rgs-cols-d, 5), minmax(0, 1fr));
}
.regioshow-layout-list,
.regioshow-layout-large { grid-template-columns: 1fr; }
.regioshow-layout-masonry {
  display: block;
  column-count: var(--rgs-cols-d, 4);
  column-gap: var(--rgs-gap, 16px);
}
.regioshow-layout-masonry .regioshow-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 var(--rgs-gap, 16px);
  break-inside: avoid;
}
.regioshow-layout .regioshow-card {
  border-radius: var(--rgs-radius, 12px);
  min-width: 0;
}
.regioshow-layout .regioshow-card-media {
  padding-top: 0;
  aspect-ratio: 4 / 3;
}
.regioshow-layout.regioshow-ratio-1-1 .regioshow-card-media { aspect-ratio: 1 / 1; }
.regioshow-layout.regioshow-ratio-4-3 .regioshow-card-media { aspect-ratio: 4 / 3; }
.regioshow-layout.regioshow-ratio-3-2 .regioshow-card-media { aspect-ratio: 3 / 2; }
.regioshow-layout.regioshow-ratio-16-9 .regioshow-card-media { aspect-ratio: 16 / 9; }
.regioshow-layout.regioshow-ratio-auto .regioshow-card-media { aspect-ratio: auto; }
.regioshow-layout.regioshow-ratio-auto .regioshow-thumbBtn {
  position: relative;
}
.regioshow-layout.regioshow-ratio-auto .regioshow-thumbBtn img {
  position: relative;
  height: auto !important;
  aspect-ratio: auto;
}
.regioshow-layout.regioshow-fit-contain .regioshow-thumbBtn img {
  object-fit: contain;
  background: rgba(127,127,127,.08);
}
.regioshow-card-content { padding: 12px 14px 14px; }
.regioshow-card-title {
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.regioshow-card-meta {
  margin-top: 6px;
  opacity: .68;
  font-size: .8rem;
  line-height: 1.35;
}
.regioshow-layout-compact .regioshow-card-content { padding: 8px 10px 10px; }
.regioshow-layout-compact .regioshow-card-title { font-size: .9rem; }
.regioshow-layout-images .regioshow-card { box-shadow: none; background: transparent; }
.regioshow-layout-images .regioshow-card-media { border-radius: var(--rgs-radius, 12px); }
.regioshow-layout-list .regioshow-card,
.regioshow-layout-large .regioshow-card {
  display: grid;
  grid-template-columns: minmax(180px, 32%) 1fr;
  align-items: stretch;
}
.regioshow-layout-large .regioshow-card {
  grid-template-columns: minmax(260px, 48%) 1fr;
}
.regioshow-layout-list .regioshow-card-media,
.regioshow-layout-large .regioshow-card-media {
  height: 100%;
  min-height: 150px;
  aspect-ratio: auto;
}
.regioshow-layout-list .regioshow-card-content,
.regioshow-layout-large .regioshow-card-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.regioshow-layout-large .regioshow-card-title { font-size: 1.25rem; }

.regioshow-hover-none .regioshow-card:hover { transform: none; }
.regioshow-hover-none .regioshow-card:hover .regioshow-thumbBtn img { transform: none; }
.regioshow-hover-zoom .regioshow-card:hover { transform: none; }
.regioshow-hover-zoom .regioshow-card:hover .regioshow-thumbBtn img { transform: scale(1.06); }
.regioshow-hover-lift .regioshow-card:hover { transform: translateY(-3px); }
.regioshow-action-label { display: none; }
.regioshow-layout-list .regioshow-card-dl-btn,
.regioshow-layout-large .regioshow-card-dl-btn {
  width: auto;
  min-width: 34px;
  padding: 0 10px;
  gap: 5px;
}
.regioshow-layout-list .regioshow-action-label,
.regioshow-layout-large .regioshow-action-label { display: inline; }

/* Category layouts */
.regioshow-categories-layout {
  display: grid;
  grid-template-columns: repeat(var(--rgs-cols-d, 3), minmax(0, 1fr));
  gap: var(--rgs-gap, 20px);
}
.regioshow-categories-auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.regioshow-categories-layout .regioshow-category-card { border-radius: var(--rgs-radius, 12px); }
.regioshow-categories-layout .regioshow-category-thumb { aspect-ratio: 16 / 9; }
.regioshow-categories-layout.regioshow-ratio-auto .regioshow-category-thumb { aspect-ratio: auto; min-height: 120px; }
.regioshow-categories-layout.regioshow-ratio-1-1 .regioshow-category-thumb { aspect-ratio: 1 / 1; }
.regioshow-categories-layout.regioshow-ratio-4-3 .regioshow-category-thumb { aspect-ratio: 4 / 3; }
.regioshow-categories-layout.regioshow-ratio-16-9 .regioshow-category-thumb { aspect-ratio: 16 / 9; }
.regioshow-categories-compact .regioshow-category-info { padding: 10px; }
.regioshow-categories-compact .regioshow-category-title { font-size: .95rem; }
.regioshow-categories-list,
.regioshow-categories-large { grid-template-columns: 1fr; }
.regioshow-categories-list .regioshow-category-card,
.regioshow-categories-large .regioshow-category-card {
  display: grid;
  grid-template-columns: minmax(180px, 30%) 1fr;
}
.regioshow-categories-large .regioshow-category-card { grid-template-columns: minmax(260px, 45%) 1fr; }
.regioshow-categories-list .regioshow-category-thumb,
.regioshow-categories-large .regioshow-category-thumb { height: 100%; aspect-ratio: auto; min-height: 150px; }

/* Slider design variants */
.mod-regioshow-slider {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.mod-regioshow-slider-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  min-width: 0;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.mod-regioshow-slider-viewport::-webkit-scrollbar { display: none; }
.mod-regioshow-slider-track { display: flex; gap: var(--rgs-gap, 12px); width: 100%; min-width: max-content; }
.mod-regioshow-slider-align-left .mod-regioshow-slider-track { justify-content: flex-start; }
.mod-regioshow-slider-align-center .mod-regioshow-slider-track { justify-content: center; }
.mod-regioshow-slider-align-right .mod-regioshow-slider-track { justify-content: flex-end; }
/* When content overflows, always start at the logical beginning so no item becomes unreachable. */
.mod-regioshow-slider.is-overflowing .mod-regioshow-slider-track { justify-content: flex-start; }
.mod-regioshow-slider-card {
  flex: 0 0 var(--rgs-image-width, 240px);
  max-width: 100%;
  border-radius: var(--rgs-radius, 10px);
  overflow: hidden;
  background: var(--card-bg, var(--rgs-surface, #fff));
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  scroll-snap-align: start;
}
.mod-regioshow-slider-item {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
}
.mod-regioshow-slider-item img {
  width: 100%;
  height: var(--rgs-image-height, 180px);
  display: block;
  object-fit: cover;
  transition: transform .3s ease;
}
.mod-regioshow-slider-card:hover img { transform: scale(1.04); }
.mod-regioshow-slider-caption {
  display: grid;
  gap: 4px;
  padding: 9px 11px 11px;
}
.mod-regioshow-slider-caption strong { line-height: 1.25; }
.mod-regioshow-slider-caption small { opacity: .7; }
.mod-regioshow-slider-caption a { font-size: .85rem; }
.mod-regioshow-slider-filmstrip .mod-regioshow-slider-card { flex-basis: min(180px, 40vw); }
.mod-regioshow-slider-filmstrip .mod-regioshow-slider-item img { height: 120px; }
.mod-regioshow-slider-compact .mod-regioshow-slider-card { flex-basis: min(140px, 34vw); }
.mod-regioshow-slider-compact .mod-regioshow-slider-item img { height: 100px; }
.mod-regioshow-slider-compact .mod-regioshow-slider-caption { padding: 6px 8px 8px; font-size: .82rem; }
.mod-regioshow-slider-hero .mod-regioshow-slider-card { flex-basis: min(100%, 760px); }
.mod-regioshow-slider-hero .mod-regioshow-slider-item img { height: min(58vw, 520px); }
.mod-regioshow-slider-nav {
  flex: 0 0 auto;
  width: 36px; height: 44px;
  border: 1px solid var(--rgs-border, rgba(127,127,127,.28));
  border-radius: 8px;
  background: var(--rgs-surface, #fff);
  color: var(--rgs-text, inherit);
  cursor: pointer;
  font-size: 1.8rem;
  line-height: 1;
}
.mod-regioshow-slider-viewall,
.mod-regioshow-viewall { margin: 10px 0 0; text-align: end; font-size: .9rem; }
.mod-regioshow-empty,
.mod-regioshow-slider-empty { font-size: .9rem; opacity: .7; }

/* responsive explicit column counts */
@media (max-width: 991.98px) {
  .regioshow-layout:not(.regioshow-layout-auto):not(.regioshow-layout-list):not(.regioshow-layout-large):not(.regioshow-layout-masonry):not(.regioshow-layout-accordion):not(.regioshow-layout-filmstrip):not(.regioshow-layout-timeline):not(.regioshow-layout-titles):not(.regioshow-layout-justified),
  .regioshow-categories-layout:not(.regioshow-categories-auto):not(.regioshow-categories-list):not(.regioshow-categories-large) {
    grid-template-columns: repeat(var(--rgs-cols-t, 2), minmax(0, 1fr));
  }
  .regioshow-layout-masonry { column-count: var(--rgs-cols-t, 2); }
}
@media (max-width: 575.98px) {
  .regioshow-layout:not(.regioshow-layout-auto):not(.regioshow-layout-list):not(.regioshow-layout-large):not(.regioshow-layout-masonry):not(.regioshow-layout-accordion):not(.regioshow-layout-filmstrip):not(.regioshow-layout-timeline):not(.regioshow-layout-titles):not(.regioshow-layout-justified),
  .regioshow-categories-layout:not(.regioshow-categories-auto):not(.regioshow-categories-list):not(.regioshow-categories-large) {
    grid-template-columns: repeat(var(--rgs-cols-m, 1), minmax(0, 1fr));
  }
  .regioshow-layout-auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); }
  .regioshow-layout-masonry { column-count: var(--rgs-cols-m, 1); }
  .regioshow-layout-list .regioshow-card,
  .regioshow-layout-large .regioshow-card,
  .regioshow-categories-list .regioshow-category-card,
  .regioshow-categories-large .regioshow-category-card { grid-template-columns: 1fr; }
  .regioshow-layout-list .regioshow-card-media,
  .regioshow-layout-large .regioshow-card-media { min-height: 0; aspect-ratio: 16 / 9; }
  .mod-regioshow-slider { gap: 4px; }
  .mod-regioshow-slider-nav { width: 30px; }
  .mod-regioshow-slider-card { flex-basis: min(82vw, var(--rgs-image-width, 240px)); }
}

.regioshow-layout-minimal {
  grid-template-columns: repeat(var(--rgs-cols-d, 4), minmax(0, 1fr));
}
.regioshow-layout-minimal .regioshow-card {
  background: transparent;
  box-shadow: none;
  border: 1px solid rgba(127,127,127,.22);
}
.regioshow-minimal-content {
  display: grid;
  gap: 8px;
}
.regioshow-minimal-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.regioshow-text-action {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 7px 11px !important;
  border: 1px solid currentColor !important;
  border-radius: 8px;
  background: transparent !important;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  font: inherit;
}
.regioshow-text-action:hover { text-decoration: none; opacity: .82; }

.regioshow-categories-minimal .regioshow-category-thumb { display: none; }
.regioshow-categories-minimal .regioshow-category-card {
  box-shadow: none;
  border: 1px solid rgba(127,127,127,.22);
}
@media (max-width: 991.98px) {
  .regioshow-layout-minimal { grid-template-columns: repeat(var(--rgs-cols-t, 2), minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .regioshow-layout-minimal { grid-template-columns: repeat(var(--rgs-cols-m, 1), minmax(0, 1fr)); }
}

.mod-regioshow-slider.regioshow-ratio-1-1 .mod-regioshow-slider-item img { height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.mod-regioshow-slider.regioshow-ratio-4-3 .mod-regioshow-slider-item img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.mod-regioshow-slider.regioshow-ratio-16-9 .mod-regioshow-slider-item img { height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.mod-regioshow-slider.regioshow-ratio-auto .mod-regioshow-slider-item img { height: auto; aspect-ratio: auto; object-fit: contain; }


/* RegioShow 1.5.18 – responsive container/design refinements */
.regioshow-responsive-scope {
  container-type: inline-size;
  container-name: regioshow;
  min-width: 0;
}

/* Card appearance presets. Values deliberately inherit the active Joomla template where possible. */
.regioshow-cardstyle-elevated .regioshow-card,
.regioshow-cardstyle-elevated .regioshow-category-card,
.mod-regioshow-slider.regioshow-cardstyle-elevated .mod-regioshow-slider-card {
  border: 1px solid transparent;
  box-shadow: 0 3px 14px rgba(0,0,0,.10);
}
.regioshow-cardstyle-outlined .regioshow-card,
.regioshow-cardstyle-outlined .regioshow-category-card,
.mod-regioshow-slider.regioshow-cardstyle-outlined .mod-regioshow-slider-card {
  box-shadow: none;
  border: 1px solid rgba(127,127,127,.28);
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}
.regioshow-cardstyle-flat .regioshow-card,
.regioshow-cardstyle-flat .regioshow-category-card,
.mod-regioshow-slider.regioshow-cardstyle-flat .mod-regioshow-slider-card {
  box-shadow: none;
  border: 0;
  background: transparent;
}
.regioshow-text-left .regioshow-card-content,
.regioshow-text-left .regioshow-category-info,
.mod-regioshow-slider.regioshow-text-left .mod-regioshow-slider-caption { text-align: left; }
.regioshow-text-center .regioshow-card-content,
.regioshow-text-center .regioshow-category-info,
.mod-regioshow-slider.regioshow-text-center .mod-regioshow-slider-caption { text-align: center; }
.regioshow-text-right .regioshow-card-content,
.regioshow-text-right .regioshow-category-info,
.mod-regioshow-slider.regioshow-text-right .mod-regioshow-slider-caption { text-align: right; }
.regioshow-text-center .regioshow-minimal-actions { justify-content: center; }
.regioshow-text-right .regioshow-minimal-actions { justify-content: flex-end; }

/* Justified gallery: rows adapt to each image aspect ratio while keeping a consistent visual height. */
.regioshow-layout-justified {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: var(--rgs-gap, 16px);
}
.regioshow-layout-justified .regioshow-card {
  flex: var(--rgs-ar, 1.3333) 1 calc(var(--rgs-ar, 1.3333) * 180px);
  min-width: min(100%, 150px);
  max-width: 100%;
}
.regioshow-layout-justified .regioshow-card-media {
  aspect-ratio: var(--rgs-ar, 1.3333);
}
/* Keep the final justified row natural instead of stretching a few items edge-to-edge. */
.regioshow-layout-justified::after {
  content: "";
  flex: 999 1 0;
  min-width: 0;
}

/* Container-aware responsive behavior: reacts to the real module/content width, not just viewport width. */
@container regioshow (max-width: 760px) {
  .regioshow-layout:not(.regioshow-layout-auto):not(.regioshow-layout-list):not(.regioshow-layout-large):not(.regioshow-layout-masonry):not(.regioshow-layout-justified):not(.regioshow-layout-accordion):not(.regioshow-layout-filmstrip):not(.regioshow-layout-timeline):not(.regioshow-layout-titles),
  .regioshow-categories-layout:not(.regioshow-categories-auto):not(.regioshow-categories-list):not(.regioshow-categories-large) {
    grid-template-columns: repeat(var(--rgs-cols-t, 2), minmax(0, 1fr));
  }
  .regioshow-layout-masonry { column-count: var(--rgs-cols-t, 2); }
  .mod-regioshow-slider-card { flex-basis: min(72cqw, var(--rgs-image-width, 240px)); }
}
@container regioshow (max-width: 460px) {
  .regioshow-layout:not(.regioshow-layout-auto):not(.regioshow-layout-list):not(.regioshow-layout-large):not(.regioshow-layout-masonry):not(.regioshow-layout-justified):not(.regioshow-layout-accordion):not(.regioshow-layout-filmstrip):not(.regioshow-layout-timeline):not(.regioshow-layout-titles),
  .regioshow-categories-layout:not(.regioshow-categories-auto):not(.regioshow-categories-list):not(.regioshow-categories-large) {
    grid-template-columns: repeat(var(--rgs-cols-m, 1), minmax(0, 1fr));
  }
  .regioshow-layout-auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
  .regioshow-layout-masonry { column-count: var(--rgs-cols-m, 1); }
  .regioshow-layout-list .regioshow-card,
  .regioshow-layout-large .regioshow-card,
  .regioshow-categories-list .regioshow-category-card,
  .regioshow-categories-large .regioshow-category-card { grid-template-columns: 1fr; }
  .regioshow-layout-list .regioshow-card-media,
  .regioshow-layout-large .regioshow-card-media { min-height: 0; aspect-ratio: 16 / 9; }
  .regioshow-layout-justified .regioshow-card { flex-basis: 100%; }
  .mod-regioshow-slider { gap: 4px; }
  .mod-regioshow-slider-nav { width: 30px; }
  .mod-regioshow-slider-card { flex-basis: min(82cqw, var(--rgs-image-width, 240px)); }
}

@supports not (container-type: inline-size) {
  .regioshow-responsive-scope { width: 100%; }
}

/* RegioShow 1.5.20 – theme compatibility and slider state */
.mod-regioshow-slider-nav:disabled,
.mod-regioshow-slider-nav[aria-disabled="true"] {
  opacity: .38;
  cursor: default;
  box-shadow: none;
}


/* RegioShow 1.5.21 – touch/overflow slider hardening */
.mod-regioshow-slider-viewport:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

/* RegioShow 1.5.22 – RTL/logical-direction slider hardening */
.mod-regioshow-slider-viewport { direction: inherit; }
.mod-regioshow-slider-track { direction: inherit; }


/* Regio Designstandard integration 1.5.39; scoped to RegioShow modules only. */
.regioshow-module-layout,.mod-regioshow-slider{--rgs-design-border:color-mix(in srgb,currentColor 18%,transparent);--rgs-design-bg:var(--body-bg,var(--bs-body-bg,Canvas));--rgs-design-shadow:0 8px 24px rgba(0,0,0,.14);--rgs-design-accent:var(--link-color,#1565c0)}
.regioshow-module-layout.regioshow-cardstyle-plain .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-plain .mod-regioshow-slider-card{background:transparent;box-shadow:none;border:0}
.regioshow-module-layout.regioshow-cardstyle-border .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-border .mod-regioshow-slider-card{background:var(--rgs-design-bg);border:1px solid var(--rgs-design-border);box-shadow:none}
.regioshow-module-layout.regioshow-cardstyle-shadow .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-shadow .mod-regioshow-slider-card{background:var(--rgs-design-bg);border:0;box-shadow:var(--rgs-design-shadow)}
.regioshow-module-layout.regioshow-cardstyle-border-shadow .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-border-shadow .mod-regioshow-slider-card{background:var(--rgs-design-bg);border:1px solid var(--rgs-design-border);box-shadow:var(--rgs-design-shadow)}
.regioshow-module-layout.regioshow-cardstyle-soft .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-soft .mod-regioshow-slider-card{background:color-mix(in srgb,var(--rgs-design-accent) 7%,var(--rgs-design-bg));box-shadow:none;border:1px solid transparent}
.regioshow-module-layout.regioshow-cardstyle-elevated .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-elevated .mod-regioshow-slider-card{box-shadow:0 14px 30px rgba(0,0,0,.16)}
.regioshow-module-layout.regioshow-cardstyle-glass .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-glass .mod-regioshow-slider-card{background:color-mix(in srgb,var(--rgs-design-bg) 78%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--rgs-design-bg) 28%,var(--rgs-design-border))}
.regioshow-module-layout.regioshow-cardstyle-outline .regioshow-card,.mod-regioshow-slider.regioshow-cardstyle-outline .mod-regioshow-slider-card{border:2px solid var(--rgs-design-accent);box-shadow:none}
.regioshow-module-layout.rgs-design-preset-news,.mod-regioshow-slider.rgs-design-preset-news{--rgs-design-accent:#b91c1c}
.regioshow-module-layout.rgs-design-preset-blog,.mod-regioshow-slider.rgs-design-preset-blog{--rgs-design-accent:#0f766e}
.regioshow-module-layout.rgs-design-preset-magazine,.mod-regioshow-slider.rgs-design-preset-magazine{--rgs-design-accent:#7c3aed}
.regioshow-module-layout.rgs-design-preset-localportal,.mod-regioshow-slider.rgs-design-preset-localportal{--rgs-design-accent:#0b7285}
.regioshow-module-layout.rgs-design-preset-corporate,.mod-regioshow-slider.rgs-design-preset-corporate{--rgs-design-accent:#334155}
.regioshow-module-layout.regioshow-layout-cards .regioshow-card,.regioshow-module-layout.regioshow-layout-accent .regioshow-card{border-inline-start:3px solid var(--rgs-design-accent)}
.regioshow-module-layout.regioshow-layout-accent .regioshow-card{border-inline-start-width:6px}
.regioshow-module-layout.regioshow-layout-bento .regioshow-card:first-child{grid-column:span 2;grid-row:span 2}
.regioshow-module-layout.regioshow-layout-editorial .regioshow-card:first-child{grid-column:span 2}
.regioshow-module-layout.regioshow-layout-timeline{display:flex;flex-direction:column;border-inline-start:2px solid var(--rgs-design-accent);padding-inline-start:18px}
.regioshow-module-layout.regioshow-layout-timeline .regioshow-card{width:100%;position:relative}
.regioshow-module-layout.regioshow-layout-timeline .regioshow-card::before{content:"";position:absolute;inset-inline-start:-25px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--rgs-design-accent)}
.regioshow-module-layout.regioshow-layout-split .regioshow-card{display:grid;grid-template-columns:minmax(100px,42%) minmax(0,1fr);align-items:center}
.regioshow-module-layout.regioshow-layout-split .regioshow-card-media{min-width:0}
.regioshow-module-layout.regioshow-layout-titles{display:flex;flex-direction:column;gap:0}
.regioshow-module-layout.regioshow-layout-titles .regioshow-card{border-bottom:1px solid var(--rgs-design-border);border-radius:0}
.regioshow-module-layout.regioshow-layout-overlay .regioshow-card,.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card{position:relative;isolation:isolate}
.regioshow-module-layout.regioshow-layout-overlay .regioshow-card-content,.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card-content{position:absolute;inset-inline:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;padding:12px}
.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card-content{opacity:0;transition:opacity .2s ease}
.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card:hover .regioshow-card-content,.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card:focus-within .regioshow-card-content{opacity:1}
.regioshow-module-layout.regioshow-layout-gallery .regioshow-card-content{padding:6px}
.regioshow-module-layout.regioshow-layout-accordion{display:flex;flex-direction:column}
@container (max-width:560px){.regioshow-module-layout.regioshow-layout-bento .regioshow-card:first-child,.regioshow-module-layout.regioshow-layout-editorial .regioshow-card:first-child{grid-column:auto;grid-row:auto}.regioshow-module-layout.regioshow-layout-split .regioshow-card{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card-content{transition:none}}
@media (hover:none){.regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card-content{opacity:1}}

/* RegioShow 1.5.40 – native gallery layouts, scoped to gallery module. */
.regioshow-module-layout.regioshow-layout-accordion{display:flex;flex-direction:column;gap:var(--rgs-gap,12px)}
.regioshow-module-layout.regioshow-layout-accordion .regioshow-card{width:100%;min-width:0;overflow:visible}
.regioshow-module-layout .regioshow-accordion-details{min-width:0;width:100%}
.regioshow-module-layout .regioshow-accordion-summary{display:list-item;cursor:pointer;padding:14px 18px;font-weight:600;color:inherit}
.regioshow-module-layout .regioshow-accordion-summary:focus-visible{outline:3px solid var(--rgs-design-accent,#1565c0);outline-offset:2px}
.regioshow-module-layout .regioshow-accordion-body{padding:0 12px 12px}
.regioshow-module-layout .regioshow-accordion-body .regioshow-card-media{max-width:100%}
.regioshow-module-layout.regioshow-layout-polaroid .regioshow-card{padding:10px 10px 4px;background:var(--rgs-design-bg,#fff);border:1px solid var(--rgs-design-border,#ddd);box-shadow:0 6px 18px rgba(0,0,0,.12);border-radius:3px;transform:rotate(calc((var(--card-i,0) - 2)*.4deg))}
.regioshow-module-layout.regioshow-layout-polaroid .regioshow-card-media{border-radius:1px;overflow:hidden}
.regioshow-module-layout.regioshow-layout-polaroid .regioshow-card-content{text-align:center;padding:12px 4px 8px}
.regioshow-module-layout.regioshow-layout-filmstrip{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:var(--rgs-gap,12px);padding-block:15px;max-width:100%;-webkit-overflow-scrolling:touch}
.regioshow-module-layout.regioshow-layout-filmstrip .regioshow-card{flex:0 0 min(80%,260px);scroll-snap-align:start;border:3px solid #202020;border-block-width:16px;border-radius:2px;min-width:0}
.regioshow-module-layout.regioshow-layout-filmstrip .regioshow-card-media{aspect-ratio:4/3}
.regioshow-module-layout.regioshow-layout-filmstrip:focus-within{scroll-padding-inline:8px}
@media (prefers-reduced-motion:reduce){.regioshow-module-layout.regioshow-layout-filmstrip{scroll-behavior:auto}.regioshow-module-layout.regioshow-layout-polaroid .regioshow-card{transform:none}}
@container regioshow (max-width:460px){.regioshow-module-layout.regioshow-layout-filmstrip{display:flex;flex-wrap:nowrap}.regioshow-module-layout.regioshow-layout-accordion{display:flex;flex-direction:column}}

/* 1.5.41: gallery design regression fixes, scoped to RegioShow module */
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-accordion .regioshow-card{display:block;grid-template-columns:none;min-width:0}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-accordion .regioshow-accordion-details{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-accordion .regioshow-accordion-summary{overflow-wrap:anywhere}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip{min-width:0;scroll-padding-inline:12px}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip:focus-visible{outline:3px solid var(--rgs-design-accent,#1565c0);outline-offset:-3px}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-polaroid .regioshow-card{min-width:0;max-width:100%}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-polaroid .regioshow-card img{max-width:100%}
@container regioshow (max-width:380px){.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip .regioshow-card{flex-basis:min(88%,240px)}.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-accordion .regioshow-accordion-summary{padding:12px}}
@media (prefers-reduced-motion:reduce){.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-polaroid .regioshow-card{transform:none!important}.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip{scroll-behavior:auto!important}}

/* RegioShow 1.5.42: canonical container-safe rules for the 23 gallery designs. */
.regioshow-responsive-scope{min-width:0;max-width:100%;container-type:inline-size;container-name:regioshow}
.regioshow-responsive-scope .regioshow-module-layout{min-width:0;max-width:100%;box-sizing:border-box}
.regioshow-responsive-scope .regioshow-module-layout .regioshow-card{min-width:0;box-sizing:border-box}
.regioshow-responsive-scope .regioshow-module-layout .regioshow-card-content{min-width:0;overflow-wrap:anywhere}
.regioshow-responsive-scope .regioshow-module-layout .regioshow-card-media img{max-width:100%}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip{display:flex;flex-wrap:nowrap;overflow-x:auto;grid-template-columns:none}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip .regioshow-card{min-width:0;flex-shrink:0}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-accordion{display:flex;flex-direction:column;grid-template-columns:none}
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-accordion .regioshow-card{display:block;grid-template-columns:none}
@container regioshow (max-width:560px){
 .regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-bento .regioshow-card:first-child,
 .regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-editorial .regioshow-card:first-child{grid-column:auto;grid-row:auto}
 .regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-split .regioshow-card{grid-template-columns:minmax(0,1fr)}
}
@container regioshow (max-width:340px){
 .regioshow-responsive-scope .regioshow-module-layout:not(.regioshow-layout-filmstrip):not(.regioshow-layout-justified):not(.regioshow-layout-masonry):not(.regioshow-layout-accordion):not(.regioshow-layout-timeline):not(.regioshow-layout-titles){grid-template-columns:minmax(0,1fr)}
 .regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-filmstrip .regioshow-card{flex-basis:min(88%,220px)}
}
@media (hover:none){.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card-content{opacity:1}}
@media (prefers-reduced-motion:reduce){.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-hover-reveal .regioshow-card-content{transition:none}}

/* RegioShow 1.5.43 – design preset variables: per-instance preferences without inline specificity collisions. */

.regioshow-module-layout,.mod-regioshow-slider {
  --rgs-gap:var(--rgs-user-gap,12px);
  --rgs-radius:var(--rgs-user-radius,10px);
}
/* Presets override only their documented dimensions; custom preserves user settings. */
.regioshow-module-layout.rgs-design-preset-news,.mod-regioshow-slider.rgs-design-preset-news { --rgs-radius:4px; }
.regioshow-module-layout.rgs-design-preset-blog,.mod-regioshow-slider.rgs-design-preset-blog { --rgs-radius:16px; }
.regioshow-module-layout.rgs-design-preset-magazine,.mod-regioshow-slider.rgs-design-preset-magazine { --rgs-gap:20px; }
.regioshow-module-layout.rgs-design-preset-localportal,.mod-regioshow-slider.rgs-design-preset-localportal { --rgs-gap:12px; }
.regioshow-module-layout.rgs-design-preset-corporate,.mod-regioshow-slider.rgs-design-preset-corporate { --rgs-radius:6px; }
/* Strong focus indication for interactive cards regardless of card style or preset. */
.regioshow-module-layout .regioshow-thumbBtn:focus-visible,
.regioshow-module-layout .regioshow-text-action:focus-visible,
.regioshow-module-layout .regioshow-card-dl-btn:focus-visible,
.mod-regioshow-slider .mod-regioshow-slider-nav:focus-visible {
  outline:3px solid var(--rgs-design-accent,#1565c0);
  outline-offset:3px;
}
@media (forced-colors:active) {
 .regioshow-module-layout .regioshow-thumbBtn:focus-visible,
 .regioshow-module-layout .regioshow-text-action:focus-visible,
 .mod-regioshow-slider .mod-regioshow-slider-nav:focus-visible {outline-color:Highlight;}
}

/* RegioShow 1.5.44 – fallback for older rendering engines and contrasting templates. */
@supports not (color: color-mix(in srgb, red 50%, white)) {
 .regioshow-module-layout.regioshow-cardstyle-soft .regioshow-card,
 .mod-regioshow-slider.regioshow-cardstyle-soft .mod-regioshow-slider-card { background:var(--rgs-design-bg); border:1px solid var(--rgs-design-border); }
 .regioshow-module-layout.regioshow-cardstyle-glass .regioshow-card,
 .mod-regioshow-slider.regioshow-cardstyle-glass .mod-regioshow-slider-card { background:var(--rgs-design-bg); border:1px solid var(--rgs-design-border); }
}
@media (forced-colors:active) {
 .regioshow-module-layout.regioshow-cardstyle-glass .regioshow-card,
 .regioshow-module-layout.regioshow-cardstyle-soft .regioshow-card,
 .mod-regioshow-slider.regioshow-cardstyle-glass .mod-regioshow-slider-card,
 .mod-regioshow-slider.regioshow-cardstyle-soft .mod-regioshow-slider-card { background:Canvas; color:CanvasText; border:1px solid CanvasText; box-shadow:none; backdrop-filter:none; }
}

/* RegioShow 1.5.46: isolated, media-first gallery layouts */
.regioshow-module-layout.regioshow-layout-contact-sheet{display:grid;grid-template-columns:repeat(var(--rgs-cols-d,4),minmax(0,1fr));gap:clamp(4px,calc(var(--rgs-gap,16px)*.45),12px)}
.regioshow-module-layout.regioshow-layout-contact-sheet .regioshow-card{min-width:0;border-radius:2px;overflow:hidden}
.regioshow-module-layout.regioshow-layout-contact-sheet .regioshow-card-media{aspect-ratio:1/1;overflow:hidden}
.regioshow-module-layout.regioshow-layout-contact-sheet .regioshow-card-media img{width:100%;height:100%;object-fit:cover}
.regioshow-module-layout.regioshow-layout-contact-sheet .regioshow-card-content{padding:6px 8px}
.regioshow-module-layout.regioshow-layout-checkerboard{display:grid;grid-template-columns:repeat(var(--rgs-cols-d,4),minmax(0,1fr));gap:var(--rgs-gap,16px)}
.regioshow-module-layout.regioshow-layout-checkerboard .regioshow-card{min-width:0}
.regioshow-module-layout.regioshow-layout-checkerboard .regioshow-card:nth-child(even){transform:translateY(min(20px,var(--rgs-gap,16px)))}
.regioshow-module-layout.regioshow-layout-checkerboard{padding-bottom:24px}
.regioshow-module-layout.regioshow-layout-panorama-strip{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;gap:var(--rgs-gap,16px);padding-block:4px 12px;scrollbar-width:thin}
.regioshow-module-layout.regioshow-layout-panorama-strip>.regioshow-card{flex:0 0 clamp(230px,55cqi,580px);min-width:0;scroll-snap-align:start}
.regioshow-module-layout.regioshow-layout-panorama-strip .regioshow-card-media{aspect-ratio:16/9;overflow:hidden}
.regioshow-module-layout.regioshow-layout-panorama-strip .regioshow-card-media img{width:100%;height:100%;object-fit:cover}
.regioshow-module-layout.regioshow-layout-panorama-strip:focus-visible{outline:3px solid var(--bs-primary,#0a66c2);outline-offset:3px}
@container (max-width:720px){.regioshow-module-layout.regioshow-layout-contact-sheet,.regioshow-module-layout.regioshow-layout-checkerboard{grid-template-columns:repeat(var(--rgs-cols-t,2),minmax(0,1fr))}}
@container (max-width:420px){.regioshow-module-layout.regioshow-layout-contact-sheet,.regioshow-module-layout.regioshow-layout-checkerboard{grid-template-columns:repeat(var(--rgs-cols-m,1),minmax(0,1fr))}.regioshow-module-layout.regioshow-layout-panorama-strip>.regioshow-card{flex-basis:min(85%,330px)}}
@media(prefers-reduced-motion:reduce){.regioshow-module-layout.regioshow-layout-checkerboard .regioshow-card{transition:none}}
@media(max-width:420px){.regioshow-module-layout.regioshow-layout-checkerboard .regioshow-card:nth-child(even){transform:none}}

/* RegioShow 1.5.47: image search grid and accessible comparison rail */
.regioshow-responsive-scope .regioshow-filterbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-block-end:1rem;color:inherit}
.regioshow-responsive-scope .regioshow-filterbar label{font-weight:600}
.regioshow-responsive-scope .regioshow-filterbar input{flex:1 1 12rem;min-width:0;max-width:32rem;background:var(--bs-body-bg,Canvas);color:var(--bs-body-color,CanvasText);border:1px solid currentColor;border-radius:.375rem;padding:.4rem .65rem}
.regioshow-responsive-scope .regioshow-filterbar input:focus-visible{outline:2px solid Highlight;outline-offset:2px}
.regioshow-responsive-scope .regioshow-layout-filter-grid .regioshow-card[hidden]{display:none!important}
.regioshow-responsive-scope .regioshow-layout-comparison{display:flex!important;flex-wrap:nowrap!important;gap:var(--rgs-gap,12px);overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding-block-end:.75rem}
.regioshow-responsive-scope .regioshow-layout-comparison>.regioshow-card{flex:0 0 clamp(13rem,32%,21rem)!important;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column}
.regioshow-responsive-scope .regioshow-layout-comparison .regioshow-card-media{width:100%}
.regioshow-responsive-scope .regioshow-layout-comparison .regioshow-card-content{margin-block-start:auto}
@container (max-width:480px){.regioshow-responsive-scope .regioshow-layout-comparison>.regioshow-card{flex-basis:min(82%,19rem)!important}}
@media (prefers-reduced-motion:reduce){.regioshow-responsive-scope .regioshow-layout-comparison{scroll-behavior:auto}}

/* RegioShow 1.5.48 — compact, keyboard-scrollable photo ticker / visual chronology. */
.regioshow-responsive-scope .regioshow-layout-timeline-horizontal,
.regioshow-responsive-scope .regioshow-layout-ticker{display:flex!important;flex-wrap:nowrap!important;gap:var(--rgs-gap,12px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;max-width:100%;padding-block:.75rem 1.15rem;scrollbar-gutter:stable}
.regioshow-responsive-scope .regioshow-layout-timeline-horizontal:focus-visible,
.regioshow-responsive-scope .regioshow-layout-ticker:focus-visible{outline:2px solid Highlight;outline-offset:2px}
.regioshow-responsive-scope .regioshow-layout-timeline-horizontal>.regioshow-card{flex:0 0 clamp(13rem,28%,19rem)!important;min-width:0;scroll-snap-align:start;position:relative;margin-block-start:1rem}
.regioshow-responsive-scope .regioshow-layout-timeline-horizontal>.regioshow-card::before{content:"";position:absolute;inset-block-start:-1rem;inset-inline-start:1rem;inline-size:.6rem;block-size:.6rem;border:2px solid currentColor;border-radius:50%;background:var(--bs-body-bg,Canvas);z-index:1}
.regioshow-responsive-scope .regioshow-layout-timeline-horizontal{background-image:linear-gradient(currentColor,currentColor);background-position:0 .22rem;background-size:100% 1px;background-repeat:no-repeat}
.regioshow-responsive-scope .regioshow-layout-ticker>.regioshow-card{flex:0 0 clamp(11rem,22%,16rem)!important;min-width:0;scroll-snap-align:start}
.regioshow-responsive-scope .regioshow-layout-ticker .regioshow-card-media{aspect-ratio:16 / 9;overflow:hidden}
@container (max-width:480px){.regioshow-responsive-scope .regioshow-layout-timeline-horizontal>.regioshow-card,.regioshow-responsive-scope .regioshow-layout-ticker>.regioshow-card{flex-basis:min(78%,17rem)!important}}
@media (prefers-reduced-motion:reduce){.regioshow-responsive-scope .regioshow-layout-timeline-horizontal,.regioshow-responsive-scope .regioshow-layout-ticker{scroll-behavior:auto}}

/* RegioShow 1.5.49: two image-native design modes; scoped to gallery modules. */
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-photo-poster,
.regioshow-responsive-scope .regioshow-module-layout.regioshow-layout-duotone{display:grid;grid-template-columns:repeat(var(--rgs-cols-d,4),minmax(0,1fr));gap:var(--rgs-gap,12px)}
.regioshow-responsive-scope .regioshow-layout-photo-poster>.regioshow-card{position:relative;isolation:isolate;min-width:0;overflow:hidden;aspect-ratio:3/4;background:#141414;color:#fff;border-radius:var(--rgs-radius,10px)}
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-media{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-thumbBtn,
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-thumbBtn img{width:100%;height:100%;object-fit:cover}
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-content{position:absolute;inset:auto 0 0;z-index:2;padding:2.75rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.88));color:#fff;pointer-events:none}
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-title,
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-meta{color:#fff}
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-overlay-download{z-index:3}
.regioshow-responsive-scope .regioshow-layout-duotone>.regioshow-card{min-width:0;overflow:hidden}
.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media{position:relative;isolation:isolate;background:var(--bs-primary,#244b8a)}
.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media img{filter:grayscale(1) contrast(1.18);mix-blend-mode:multiply;transition:filter .2s ease,mix-blend-mode .2s ease}
.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(255,194,65,.27);mix-blend-mode:screen}
.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media:focus-within img{filter:none;mix-blend-mode:normal}
.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media:focus-within::after{display:none}
@media(hover:hover){.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media:hover img{filter:none;mix-blend-mode:normal}.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media:hover::after{display:none}}
@container (max-width:720px){.regioshow-responsive-scope .regioshow-layout-photo-poster,.regioshow-responsive-scope .regioshow-layout-duotone{grid-template-columns:repeat(var(--rgs-cols-t,2),minmax(0,1fr))}}
@container (max-width:420px){.regioshow-responsive-scope .regioshow-layout-photo-poster,.regioshow-responsive-scope .regioshow-layout-duotone{grid-template-columns:repeat(var(--rgs-cols-m,1),minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media img{transition:none}}
@media(forced-colors:active){.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media img{filter:none;mix-blend-mode:normal}.regioshow-responsive-scope .regioshow-layout-duotone .regioshow-card-media::after{display:none}.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-content{background:Canvas;color:CanvasText}.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-title,.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-card-meta{color:CanvasText}}

/* 1.5.50: Filtered items must remain hidden regardless of author grid/flex rules. */
.regioshow-responsive-scope .regioshow-layout > .regioshow-card[hidden]{display:none!important}
/* 1.5.50: poster image control must stay keyboard-discoverable above the media. */
.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-thumbBtn:focus-visible{outline:3px solid #fff;outline-offset:-5px}
@media (forced-colors:active){.regioshow-responsive-scope .regioshow-layout-photo-poster .regioshow-thumbBtn:focus-visible{outline-color:Highlight}}
