/* Full-width gallery slider – homepage (ID 3639) and O projekte (ID 3648). */
body:is(.page-id-3639, .page-id-3648) #qodef-page-content .elementor > .elementor-section.rv-gallery-wrap > .elementor-container {
  width: 100% !important;
  max-width: none !important;
}
:is(.page-id-3639, .page-id-3648) .rv-gallery-wrap { overflow: hidden; background: var(--rv-ink, #19130b); }

:is(.page-id-3639, .page-id-3648) .rv-gallery {
  --rv-slide-h: clamp(320px, 36vw, 620px);
  --rv-slide-radius: 14px;
  padding: 120px 0 140px;
  color: #f3ece4;
}

/* Header row: title left, arrows right, aligned to the page container. */
:is(.page-id-3639, .page-id-3648) .rv-gallery__head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 32px;
  width: calc(100% - 80px); max-width: 1400px; margin: 0 auto 48px;
}
:is(.page-id-3639, .page-id-3648) .rv-gallery__head h2 { margin: 0; color: #fff; }
:is(.page-id-3639, .page-id-3648) .rv-gallery__head .rv-lead { margin-top: 14px; color: #d9cfc4; }

:is(.page-id-3639, .page-id-3648) .rv-gallery__arrows { display: flex; gap: 10px; flex-shrink: 0; }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow {
  display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; padding: 0; border-radius: 50%;
  background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, .7);
  cursor: pointer;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, opacity .25s ease, transform .2s ease;
}
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow:hover:not(:disabled) { background: var(--rv-copper, #c28562); border-color: var(--rv-copper, #c28562); }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow:active:not(:disabled) { transform: scale(.94); }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow:disabled { opacity: .3; cursor: default; }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow:focus-visible,
:is(.page-id-3639, .page-id-3648) .rv-gallery__link:focus-visible { outline: 2px solid var(--rv-copper, #c28562); outline-offset: 4px; }

/* Track: visible before mount, so nothing pops in. */
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide { visibility: visible; }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__track { overflow: hidden; }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide:not(.is-initialized) .splide__list { gap: 16px; justify-content: center; }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__track--draggable { cursor: grab; }
:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__track--draggable:active { cursor: grabbing; }

:is(.page-id-3639, .page-id-3648) .rv-gallery .splide__slide { width: auto; }
:is(.page-id-3639, .page-id-3648) .rv-gallery__link {
  display: block; overflow: hidden; border-radius: var(--rv-slide-radius);
  background: #2a2118; -webkit-tap-highlight-color: transparent;
}
:is(.page-id-3639, .page-id-3648) .rv-gallery__img {
  display: block; height: var(--rv-slide-h); width: auto; max-width: none;
  object-fit: cover; user-select: none;
  transition: transform 1.2s cubic-bezier(.2, .7, .2, 1);
}
:is(.page-id-3639, .page-id-3648) .rv-gallery__link:hover .rv-gallery__img { transform: scale(1.03); }

@media (max-width: 1024px) {
  :is(.page-id-3639, .page-id-3648) .rv-gallery { padding: 96px 0 104px; }
  :is(.page-id-3639, .page-id-3648) .rv-gallery__head { width: calc(100% - 60px); margin-bottom: 36px; }
}
@media (max-width: 680px) {
  :is(.page-id-3639, .page-id-3648) .rv-gallery { --rv-slide-h: 64vw; --rv-slide-radius: 10px; padding: 72px 0 80px; }
  :is(.page-id-3639, .page-id-3648) .rv-gallery__head { width: calc(100% - 40px); margin-bottom: 28px; flex-wrap: wrap; align-items: flex-end; }
  :is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow { width: 44px; height: 44px; }
  /* Landscape renders are cropped so the next photo always peeks in. */
  :is(.page-id-3639, .page-id-3648) .rv-gallery__img { max-width: calc(100vw - 64px); }
  :is(.page-id-3639, .page-id-3648) .rv-gallery .splide:not(.is-initialized) .splide__list { gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  :is(.page-id-3639, .page-id-3648) .rv-gallery__img,
  :is(.page-id-3639, .page-id-3648) .rv-gallery .splide__arrow { transition: none; }
  :is(.page-id-3639, .page-id-3648) .rv-gallery__link:hover .rv-gallery__img { transform: none; }
}
