/*
 * Alternative homepage 3: mobile-only fixed illustrated background and
 * stacked frosted-glass content. Loaded only on /startseite-alternative-3/.
 */

@media (max-width: 700px) {
  html { background: #087aa8; }

  body.ik-page-alt-3 {
    position: relative;
    min-height: 100%;
    margin: 0;
    background: #087aa8 !important;
    color: #fff;
    isolation: isolate;
  }

  body.ik-page-alt-3::before {
    content: "";
    position: fixed;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background-color: #087aa8;
    background-image: url("../images/inselkonzerte-hintergrundbild-alternative.jpg");
    background-repeat: no-repeat;
    background-position: 62% top;
    background-size: auto 58svh;
  }

  body.ik-page-alt-3::after {
    content: "";
    position: fixed;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(180deg, rgba(0,46,75,.02) 0%, rgba(0,63,95,.10) 48%, rgba(0,45,72,.38) 100%),
      radial-gradient(circle at 15% 72%, rgba(149,224,239,.13), transparent 34rem);
  }

  body.ik-page-alt-3 > :where(.wp-site-blocks, .ik-site-header, #wpadminbar) {
    position: relative;
    z-index: 1;
  }

  body.ik-page-alt-3 .wp-site-blocks {
    overflow: visible;
    background: transparent !important;
  }

  body.ik-page-alt-3 .ik-site-header,
  body.ik-page-alt-3 .ik-site-header.is-scrolled {
    position: fixed;
    z-index: 120;
    top: 0;
    right: 0;
    left: 0;
    min-height: 72px;
    border-color: transparent !important;
    background: linear-gradient(180deg, rgba(0,59,91,.34), rgba(0,59,91,.08)) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: blur(12px) saturate(120%) !important;
    backdrop-filter: blur(12px) saturate(120%) !important;
  }

  body.admin-bar.ik-page-alt-3 .ik-site-header,
  body.admin-bar.ik-page-alt-3 .ik-site-header.is-scrolled { top: 46px; }

  body.ik-page-alt-3 .ik-site-header .wp-block-site-logo img {
    filter: brightness(0) invert(1) !important;
  }

  body.ik-page-alt-3 .ik-site-header .wp-block-navigation__responsive-container-open {
    color: #fff !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 {
    width: 100% !important;
    min-height: auto !important;
    margin: 0 !important;
    padding: 0 0 18px !important;
    overflow: visible;
    background: transparent !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 .wp-block-cover__image-background,
  body.ik-page-alt-3 .ik-hero-alt-3 .wp-block-cover__background {
    display: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 .wp-block-cover__inner-container {
    width: 100%;
    padding: 54svh 0 0 !important;
    color: #fff;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-grid {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: calc(100% - 24px) !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 12px !important;
    padding: 30px 21px 24px !important;
    gap: 29px !important;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 28px;
    background: linear-gradient(155deg, rgba(7,73,106,.58), rgba(0,91,126,.42)), rgba(6,73,105,.40);
    box-shadow: 0 28px 70px rgba(0,35,59,.22), inset 0 1px 0 rgba(255,255,255,.18);
    -webkit-backdrop-filter: blur(24px) saturate(135%);
    backdrop-filter: blur(24px) saturate(135%);
  }

  body.ik-page-alt-3 .ik-hero-alt-copy,
  body.ik-page-alt-3 .ik-hero-alt-copy--free,
  body.ik-page-alt-3 .ik-hero-alt-copy--mobile-glass {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt .ik-kicker {
    display: flex;
    flex-wrap: nowrap;
    gap: 11px;
    max-width: none;
    margin-bottom: 20px !important;
    color: rgba(255,255,255,.88) !important;
    font-size: .62rem !important;
    letter-spacing: .135em;
    line-height: 1.25;
    white-space: nowrap;
  }

  body.ik-page-alt-3 .ik-hero-alt .ik-kicker::before {
    flex-basis: 30px;
    width: 30px;
    background: rgba(255,255,255,.72) !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-title {
    max-width: none;
    margin: 0 0 22px !important;
    color: #fff !important;
    font-size: clamp(3.15rem,13.7vw,4.45rem) !important;
    line-height: .88 !important;
    letter-spacing: -.045em;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  body.ik-page-alt-3 .ik-hero-alt-title em {
    display: block;
    margin-top: .10em;
    color: #9fe3ee !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-copytext {
    max-width: none;
    margin-bottom: 25px !important;
    color: rgba(255,255,255,.90) !important;
    font-size: 1rem !important;
    line-height: 1.62;
  }

  body.ik-page-alt-3 .ik-hero-alt .wp-block-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }

  body.ik-page-alt-3 .ik-hero-alt .wp-block-button,
  body.ik-page-alt-3 .ik-hero-alt .wp-block-button__link { width: 100%; }

  body.ik-page-alt-3 .ik-hero-alt .ik-button .wp-block-button__link {
    justify-content: center;
    min-height: 58px;
    border-color: rgba(255,255,255,.68);
    background: linear-gradient(100deg, rgba(18,185,217,.96), rgba(20,166,202,.89));
    color: #fff !important;
  }

  body.ik-page-alt-3 .ik-hero-alt .ik-button.is-style-outline .wp-block-button__link {
    background: rgba(0,74,108,.18) !important;
    color: #fff !important;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  body.ik-page-alt-3 .ik-hero-alt-next {
    position: relative;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card,
  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card--dynamic {
    width: 100% !important;
    min-height: 0;
    margin: 0 !important;
    padding: 24px 95px 23px 20px !important;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 18px;
    background: rgba(0,66,99,.20) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.11);
    color: #fff !important;
    -webkit-backdrop-filter: blur(10px) saturate(118%);
    backdrop-filter: blur(10px) saturate(118%);
  }

  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card h2,
  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card--dynamic h2 {
    margin: 9px 0 9px !important;
    color: #fff !important;
    font-size: clamp(1.9rem,9vw,2.55rem) !important;
    line-height: .98 !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card p,
  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card--dynamic p {
    color: rgba(255,255,255,.91) !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-season {
    top: 17px !important;
    right: 13px !important;
    width: 82px !important;
    height: 82px !important;
    background: linear-gradient(145deg,#56b7cf,#298ba8) !important;
    box-shadow: 0 13px 32px rgba(0,42,66,.24), inset 0 1px 0 rgba(255,255,255,.46);
    font-size: .55rem;
  }

  body.ik-page-alt-3 .ik-hero-alt-season strong { font-size: 1.42rem; }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin: 18px 12px !important;
    padding: 54px 20px !important;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 26px;
    background: linear-gradient(155deg, rgba(7,70,103,.62), rgba(0,78,111,.47)) !important;
    box-shadow: 0 24px 62px rgba(0,35,57,.18), inset 0 1px 0 rgba(255,255,255,.12);
    color: #fff !important;
    -webkit-backdrop-filter: blur(22px) saturate(128%);
    backdrop-filter: blur(22px) saturate(128%);
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) :where(h1,h2,h3,h4,strong,a) {
    color: #fff !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) :where(p,li) {
    color: rgba(255,255,255,.83) !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) .ik-kicker,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) .ik-concert-program strong,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) .ik-fact-label strong {
    color: #a9e5ef !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3) .ik-kicker::before {
    background: #a9e5ef !important;
  }

  body.ik-page-alt-3 .ik-section-head { margin-bottom: 42px !important; }

  body.ik-page-alt-3 .ik-section-title,
  body.ik-page-alt-3 .ik-quote,
  body.ik-page-alt-3 .ik-tickets-title { color: #fff !important; }

  body.ik-page-alt-3 .ik-concert-list,
  body.ik-page-alt-3 .ik-concert-row,
  body.ik-page-alt-3 .ik-fact,
  body.ik-page-alt-3 .ik-price-list,
  body.ik-page-alt-3 .ik-price-row {
    border-color: rgba(255,255,255,.25) !important;
  }

  body.ik-page-alt-3 .ik-concert-row::before {
    background: rgba(170,231,240,.12) !important;
  }

  body.ik-page-alt-3 .ik-concert-row.is-past,
  body.ik-page-alt-3 .ik-concert-row.past { opacity: .68; }

  body.ik-page-alt-3 .ik-concert-arrow {
    border-color: rgba(255,255,255,.35) !important;
  }

  body.ik-page-alt-3 .ik-concert-arrow img,
  body.ik-page-alt-3 .ik-concert-arrow svg {
    filter: brightness(0) invert(1);
  }

  body.ik-page-alt-3 .ik-editorial-copy,
  body.ik-page-alt-3 .ik-editorial-copy > * { max-width: none !important; }

  body.ik-page-alt-3 .ik-portrait-caption {
    border: 1px solid rgba(255,255,255,.26);
    background: rgba(0,63,94,.55) !important;
    color: #fff;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  body.ik-page-alt-3 .ik-mini-photo,
  body.ik-page-alt-3 .ik-venue-image,
  body.ik-page-alt-3 .ik-portrait {
    border-radius: 18px;
    overflow: hidden;
  }

  body.ik-page-alt-3 .ik-tickets {
    background: linear-gradient(155deg, rgba(5,76,111,.69), rgba(0,91,125,.49)) !important;
  }

  body.ik-page-alt-3 .ik-tickets .ik-button .wp-block-button__link {
    border-color: rgba(255,255,255,.62) !important;
    color: #fff !important;
  }

  body.ik-page-alt-3 .ik-support-card { border-color: #9fe2ed !important; }
  body.ik-page-alt-3 .ik-partner-label { color: rgba(255,255,255,.70) !important; }

  body.ik-page-alt-3 .ik-supporter-logos,
  body.ik-page-alt-3 .ik-supporter-logos--1,
  body.ik-page-alt-3 .ik-supporter-logos--2,
  body.ik-page-alt-3 .ik-supporter-logos--3,
  body.ik-page-alt-3 .ik-supporter-logos--4 {
    padding: 14px !important;
    border-radius: 18px;
    background: rgba(255,255,255,.92) !important;
  }

  body.ik-page-alt-3 .ik-supporter-logo { background: transparent !important; }

  body.ik-page-alt-3 .ik-site-footer {
    position: relative;
    z-index: 1;
    margin: 18px 12px 12px !important;
    border-radius: 26px 26px 0 0;
    overflow: hidden;
  }


  body.ik-page-alt-3 .ik-hero-alt-3,
  body.ik-page-alt-3 .ik-hero-alt-3 .wp-block-cover__inner-container,
  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-grid,
  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-copy,
  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-next {
    position: relative;
    z-index: 2;
  }

  body.ik-page-alt-3 .ik-hero-alt-3::before,
  body.ik-page-alt-3 .ik-hero-alt-3::after,
  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-grid::before {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .72;
  }

  body.ik-page-alt-3 .ik-hero-alt-3::before {
    left: -5%;
    top: 12svh;
    width: 42vw;
    height: 21vw;
    background-image: url('../images/cloud-1.svg');
    animation: ikMobileCloudOne 44s linear infinite;
  }

  body.ik-page-alt-3 .ik-hero-alt-3::after {
    right: 8%;
    top: 26svh;
    width: 22vw;
    height: 11vw;
    background-image: url('../images/cloud-2.svg');
    opacity: .40;
    animation: ikMobileCloudTwo 58s linear infinite;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-grid::before {
    right: 10%;
    top: -5svh;
    width: 18vw;
    height: 9vw;
    background-image: url('../images/cloud-3.svg');
    opacity: .28;
    animation: ikMobileCloudThree 52s linear infinite;
  }

  @keyframes ikMobileCloudOne {
    0% { transform: translate3d(0,0,0); }
    100% { transform: translate3d(18vw,0,0); }
  }
  @keyframes ikMobileCloudTwo {
    0% { transform: translate3d(0,0,0); }
    100% { transform: translate3d(-12vw,2vw,0); }
  }
  @keyframes ikMobileCloudThree {
    0% { transform: translate3d(0,0,0); }
    100% { transform: translate3d(9vw,-1vw,0); }
  }

}


/* =========================================================
   v0.18 – mobile composition: fixed full-screen illustration, free hero,
   glass concerts only, then continuous white editorial sections.
   ========================================================= */
@media (max-width: 700px) {
  html,
  body.ik-page-alt-3 {
    background: #087aa8 !important;
  }

  body.ik-page-alt-3::before {
    inset: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    background-image: url('../images/inselkonzerte-hintergrundbild-alternative.jpg') !important;
    background-position: center top !important;
    background-size: cover !important;
    background-attachment: fixed !important;
  }

  body.ik-page-alt-3::after {
    inset: 0 !important;
    background:
      linear-gradient(180deg, rgba(0,38,64,.02) 0%, rgba(0,52,83,.07) 40%, rgba(0,40,67,.40) 100%) !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 {
    min-height: auto !important;
    padding: 0 0 12px !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 .wp-block-cover__inner-container {
    padding: 56svh 0 0 !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-grid {
    position: relative;
    display: block !important;
    width: calc(100% - 28px) !important;
    margin: 0 14px !important;
    padding: 84px 20px 34px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-copy,
  body.ik-page-alt-3 .ik-hero-alt-copy--free,
  body.ik-page-alt-3 .ik-hero-alt-copy--mobile-glass {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-title,
  body.ik-page-alt-3 .ik-hero-alt-copytext,
  body.ik-page-alt-3 .ik-hero-alt .ik-kicker {
    text-shadow: 0 2px 18px rgba(0,40,66,.24);
  }

  body.ik-page-alt-3 .ik-hero-alt-next {
    position: absolute !important;
    z-index: 6;
    top: 8px;
    right: 8px;
    width: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-next > .wp-block-shortcode,
  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card,
  body.ik-page-alt-3 .ik-hero-alt-next .ik-next-card--dynamic {
    display: none !important;
  }

  body.ik-page-alt-3 .ik-hero-alt-season {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    width: 88px !important;
    height: 88px !important;
    margin: 0 !important;
    background: linear-gradient(145deg,#49a9c3,#247e9d) !important;
    box-shadow: 0 14px 34px rgba(0,42,66,.28), inset 0 1px 0 rgba(255,255,255,.34);
  }

  /* Only the concert section remains a rounded frosted panel. */
  body.ik-page-alt-3 .ik-concerts {
    width: calc(100% - 20px) !important;
    margin: 18px 10px 0 !important;
    padding: 56px 28px 62px !important;
    border: 1px solid rgba(255,255,255,.27) !important;
    border-radius: 26px 26px 0 0 !important;
    background: linear-gradient(155deg, rgba(7,70,103,.66), rgba(0,78,111,.50)) !important;
    box-shadow: 0 24px 62px rgba(0,35,57,.18), inset 0 1px 0 rgba(255,255,255,.12) !important;
    color: #fff !important;
    -webkit-backdrop-filter: blur(22px) saturate(128%) !important;
    backdrop-filter: blur(22px) saturate(128%) !important;
  }

  body.ik-page-alt-3 .ik-concerts :where(h1,h2,h3,h4,strong,a) { color: #fff !important; }
  body.ik-page-alt-3 .ik-concerts :where(p,li) { color: rgba(255,255,255,.83) !important; }
  body.ik-page-alt-3 .ik-concerts .ik-kicker,
  body.ik-page-alt-3 .ik-concerts .ik-concert-program strong { color: #a9e5ef !important; }
  body.ik-page-alt-3 .ik-concerts .ik-kicker::before { background: #a9e5ef !important; }

  body.ik-page-alt-3 .ik-concerts .ik-concert-row {
    grid-template-columns: 68px minmax(0,1fr) 34px !important;
    gap: 10px !important;
    padding: 24px 0 !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-program { grid-column: 2 / 4 !important; }
  body.ik-page-alt-3 .ik-concerts .ik-concert-arrow {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 34px !important;
    height: 34px !important;
    justify-self: end !important;
  }
  body.ik-page-alt-3 .ik-concerts .ik-concert-archive-link-wrap {
    width: 100% !important;
    margin: 30px 0 0 !important;
    text-align: left !important;
  }
  body.ik-page-alt-3 .ik-concerts .ik-concert-archive-link {
    width: 100%;
    justify-content: space-between;
    padding-inline: 16px;
    border-color: rgba(255,255,255,.58) !important;
    color: #fff !important;
  }

  /* From artistic direction onward: classic white, edge-to-edge, no glass. */
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 64px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--ik-ink) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) :where(h1,h2,h3,h4,strong) {
    color: var(--ik-ink) !important;
  }
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) :where(p,li) {
    color: var(--ik-muted) !important;
  }
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-kicker,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-fact-label strong,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-concert-program strong,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) a {
    color: var(--ik-blue-dark) !important;
  }
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-kicker::before {
    background: var(--ik-blue-dark) !important;
  }

  body.ik-page-alt-3 .ik-tickets .ik-button .wp-block-button__link,
  body.ik-page-alt-3 .ik-tickets .ik-button.is-style-outline .wp-block-button__link {
    border-color: var(--ik-ink) !important;
    background: transparent !important;
    color: var(--ik-ink) !important;
  }

  body.ik-page-alt-3 .ik-supporter-logos,
  body.ik-page-alt-3 .ik-supporter-logos--1,
  body.ik-page-alt-3 .ik-supporter-logos--2,
  body.ik-page-alt-3 .ik-supporter-logos--3,
  body.ik-page-alt-3 .ik-supporter-logos--4 {
    padding: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  body.ik-page-alt-3 .ik-site-footer {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #101b20 !important;
  }

  /* Cloud loops remain behind the content and traverse the entire viewport. */
  body.ik-page-alt-3 .ik-hero-alt-3::before {
    top: 16svh;
    left: 0;
    width: 42vw;
    height: 21vw;
    transform: translate3d(calc(-100% - 12vw),0,0);
    animation: ikAlt3CloudOne 23s linear -7s infinite;
  }
  body.ik-page-alt-3 .ik-hero-alt-3::after {
    top: 30svh;
    left: 0;
    right: auto;
    width: 22vw;
    height: 11vw;
    transform: translate3d(calc(-100% - 16vw),0,0);
    animation: ikAlt3CloudTwo 27s linear 9s infinite;
  }
  body.ik-page-alt-3 .ik-hero-alt-3 .ik-hero-alt-grid::before {
    top: -2svh;
    left: 0;
    right: auto;
    width: 18vw;
    height: 9vw;
    transform: translate3d(calc(-100% - 20vw),0,0);
    animation: ikAlt3CloudThree 29s linear 17s infinite;
  }
  @keyframes ikAlt3CloudOne {
    from { transform: translate3d(calc(-100% - 12vw),0,0); }
    to   { transform: translate3d(calc(100vw + 12vw),0,0); }
  }
  @keyframes ikAlt3CloudTwo {
    from { transform: translate3d(calc(-100% - 16vw),0,0); }
    to   { transform: translate3d(calc(100vw + 16vw),3px,0); }
  }
  @keyframes ikAlt3CloudThree {
    from { transform: translate3d(calc(-100% - 20vw),0,0); }
    to   { transform: translate3d(calc(100vw + 20vw),-2px,0); }
  }
}


@media (max-width: 700px) {
  /* Concert module refinements for the mobile glass variant. */
  body.ik-page-alt-3 .ik-concerts {
    border-radius: 26px !important;
    padding: 56px 24px 34px !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-row--past::after {
    color: rgba(255,255,255,.66) !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-arrow {
    color: #fff !important;
    border-color: rgba(255,255,255,.42) !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-arrow:hover,
  body.ik-page-alt-3 .ik-concerts .ik-concert-row:hover .ik-concert-arrow,
  body.ik-page-alt-3 .ik-concerts .ik-concert-row:focus-within .ik-concert-arrow {
    background: rgba(255,255,255,.12) !important;
    border-color: rgba(255,255,255,.68) !important;
    color: #fff !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-archive-link-wrap {
    margin: 26px 0 0 !important;
    padding-bottom: 2px;
  }

  /* Smaller portrait and a readable white name tag in the Mona section. */
  body.ik-page-alt-3 .ik-portrait-wrap {
    width: min(80vw, 420px) !important;
    max-width: min(80vw, 420px) !important;
    margin-inline: auto !important;
    padding: 0 0 42px !important;
  }

  body.ik-page-alt-3 .ik-portrait {
    max-height: 60svh !important;
  }

  body.ik-page-alt-3 .ik-portrait img {
    width: 100%;
    max-height: 60svh;
    object-fit: cover;
  }

  body.ik-page-alt-3 .ik-portrait-caption {
    right: -4px !important;
    bottom: 16px !important;
    border: 1px solid rgba(23,33,39,.08) !important;
    background: rgba(255,255,255,.98) !important;
    color: var(--ik-ink) !important;
    box-shadow: 0 12px 32px rgba(22,39,54,.16) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ik-page-alt-3 .ik-portrait-caption strong,
  body.ik-page-alt-3 .ik-portrait-caption p {
    color: var(--ik-ink) !important;
  }

  /* In the white sections, the dividers should be visible again. */
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-fact,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-price-list,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-price-row {
    border-color: rgba(3,157,195,.24) !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-button .wp-block-button__link,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-button.is-style-outline .wp-block-button__link {
    color: var(--ik-ink) !important;
    border-color: rgba(23,33,39,.32) !important;
  }
}


@media (max-width: 700px) {
  /* v0.20 – requested final mobile polish */
  body.ik-page-alt-3 .ik-concerts {
    border-radius: 26px !important;
    overflow: hidden;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-archive-link {
    color: #fff !important;
    border-color: rgba(255,255,255,.58) !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-archive-link span {
    background: currentColor !important;
  }

  body.ik-page-alt-3 .ik-concerts .ik-concert-row--past::after {
    color: rgba(255,255,255,.76) !important;
  }

  body.ik-page-alt-3 .ik-portrait-wrap {
    width: min(80vw, 420px) !important;
    max-width: min(80vw, 420px) !important;
  }

  body.ik-page-alt-3 .ik-portrait,
  body.ik-page-alt-3 .ik-portrait img {
    max-height: 60svh !important;
  }

  body.ik-page-alt-3 .ik-portrait-caption {
    background: rgba(255,255,255,.98) !important;
    color: var(--ik-ink) !important;
    box-shadow: 0 12px 32px rgba(22,39,54,.16) !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-fact,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-price-list,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-price-row {
    border-color: rgba(3,157,195,.26) !important;
  }

  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-button .wp-block-button__link,
  body.ik-page-alt-3 .ik-section:not(.ik-hero-alt-3):not(.ik-concerts) .ik-button.is-style-outline .wp-block-button__link {
    color: var(--ik-ink) !important;
  }
}


/* =========================================================
   v0.25 – real mobile background layer instead of
   background-attachment: fixed on a scrolling element.
   ========================================================= */
.ik-mobile-fixed-background { display: none; }

@media (max-width: 700px) {
  body.ik-page-alt-3::before,
  body.ik-page-alt-3::after {
    display: none !important;
    content: none !important;
    background: none !important;
  }

  body.ik-page-alt-3 .ik-mobile-fixed-background {
    position: fixed;
    z-index: 0;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100vw;
    height: 110vh;
    height: 110lvh;
    min-height: 110svh;
    overflow: hidden;
    pointer-events: none;
    background-color: #087aa8;
    background-image:
      linear-gradient(180deg, rgba(0,38,64,.015) 0%, rgba(0,52,83,.07) 42%, rgba(0,40,67,.42) 100%),
      url('../images/inselkonzerte-hintergrundbild-alternative.jpg');
    background-repeat: no-repeat, no-repeat;
    background-position: center, right top;
    background-size: cover, cover;
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  body.ik-page-alt-3 > :where(.wp-site-blocks, .ik-site-header, #wpadminbar) {
    position: relative;
    z-index: 1;
  }

  body.ik-page-alt-3 .ik-site-header {
    z-index: 120;
  }
}
