
/* =========================================================
   Mirage Artistik – MOBILE NEUAUFBAU v700
   Komplett neue Smartphone-Darstellung <= 700px.
   Desktop-CSS bleibt unangetastet.
   ========================================================= */

@media (max-width:700px){

  :root{
    --m-header:58px;
    --m-bg:#070405;
    --m-card:#12080b;
    --m-gold:#e8c45d;
    --m-text:#f3eadf;
    --m-muted:rgba(243,234,223,.72);
    --m-line:rgba(232,196,93,.26);
  }

  *,*::before,*::after{box-sizing:border-box!important}
  html{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    scroll-behavior:smooth!important;
    -webkit-text-size-adjust:100%!important;
    scrollbar-width:none!important;
  }
  html::-webkit-scrollbar{display:none!important}
  body{
    width:100%!important;
    max-width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:var(--m-header) 0 0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:var(--m-bg)!important;
    color:var(--m-text)!important;
    font-size:16px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body::-webkit-scrollbar{display:none!important}
  img,svg,video,canvas{max-width:100%!important}
  img{height:auto}

  /* ---------- Einheitlicher Smartphone-Header ---------- */
  .topbar,
  header.topbar{
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:var(--m-header)!important;
    min-height:var(--m-header)!important;
    z-index:10000!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important;
    background:rgba(5,3,4,.96)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  .topbar .wrap,
  .topbar .nav,
  header.topbar .wrap,
  header.topbar .nav{
    width:100%!important;
    max-width:none!important;
    height:var(--m-header)!important;
    min-height:var(--m-header)!important;
    margin:0!important;
    padding:0 10px 0 96px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  .mirage-corner-logo{
    position:fixed!important;
    top:6px!important;
    left:9px!important;
    width:78px!important;
    max-width:78px!important;
    height:46px!important;
    margin:0!important;
    padding:0!important;
    z-index:10020!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:0!important;
  }
  .mirage-corner-logo img{
    width:100%!important;
    height:100%!important;
    max-height:46px!important;
    object-fit:contain!important;
  }
  .hamb{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    margin:0 0 0 auto!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--m-gold)!important;
    font-size:30px!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  .ticket{display:none!important}
  .menu{
    position:fixed!important;
    top:var(--m-header)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - var(--m-header))!important;
    margin:0!important;
    padding:8px 14px calc(14px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    display:none!important;
    flex-direction:column!important;
    gap:0!important;
    background:rgba(7,4,5,.995)!important;
    border:0!important;
    box-shadow:0 18px 40px rgba(0,0,0,.55)!important;
  }
  .menu.open{display:flex!important}
  .menu a{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:11px 6px!important;
    border:0!important;
    border-bottom:1px solid rgba(232,196,93,.12)!important;
    color:#efe7dc!important;
    font-size:13px!important;
    line-height:1.2!important;
    text-align:center!important;
    text-decoration:none!important;
    letter-spacing:.03em!important;
  }
  .menu a:last-child{border-bottom:0!important}
  .menu a.is-current-page,
  .menu a[aria-current="page"]{
    color:var(--m-gold)!important;
    background:rgba(232,196,93,.06)!important;
  }
  .menu a::after{display:none!important;content:none!important}
  body.menu-open{overflow:hidden!important}

  /* ---------- Einheitliche Rechtlinks unten ---------- */
  .legal-overlay-links{
    position:fixed!important;
    left:50%!important;
    bottom:max(4px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
    z-index:9000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:max-content!important;
    max-width:calc(100vw - 16px)!important;
    margin:0!important;
    padding:3px 8px!important;
    border-radius:999px!important;
    background:rgba(0,0,0,.34)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    font-size:9px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .legal-overlay-links a{
    color:rgba(240,221,178,.76)!important;
    text-decoration:none!important;
  }

  /* ---------- Gemeinsame Seitentitel ---------- */
  .subhero{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:13px 14px 7px!important;
    background:var(--m-bg)!important;
    border:0!important;
    text-align:center!important;
  }
  .subhero h1{
    margin:0!important;
    font-size:34px!important;
    line-height:1!important;
    color:var(--m-gold)!important;
  }
  .subhero p{
    margin:5px 0 0!important;
    font-size:9px!important;
    line-height:1.25!important;
    letter-spacing:.14em!important;
    color:var(--m-muted)!important;
  }
  .section{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:7px 10px 44px!important;
    overflow:visible!important;
  }
  .section>.wrap{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .btn{
    min-height:42px!important;
    padding:10px 13px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:10px!important;
    line-height:1.2!important;
  }

  /* =======================================================
     STARTSEITE
     ======================================================= */
  body.intro-lock{
    padding:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    background:#050304!important;
  }
  body.intro-lock .hero.hero-clean{
    position:relative!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:var(--m-header) 0 0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    background:#050304!important;
  }
  body.intro-lock .stage-clean-wrap{
    position:relative!important;
    flex:1 1 auto!important;
    width:100vw!important;
    min-width:100vw!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.intro-lock .stage-clean-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:cover!important;
    object-position:center 50%!important;
    transform:none!important;
  }
  body.intro-lock .stage-clean-wrap::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,rgba(0,0,0,.05),rgba(0,0,0,.02) 55%,rgba(0,0,0,.30))!important;
  }
  body.intro-lock .mirage-main-logo{
    position:absolute!important;
    z-index:4!important;
    left:50%!important;
    top:47%!important;
    width:84vw!important;
    max-width:460px!important;
    max-height:36dvh!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    object-fit:contain!important;
    filter:drop-shadow(0 8px 20px rgba(0,0,0,.65))!important;
  }
  body.intro-lock .hero-cta-bar{
    position:relative!important;
    z-index:8!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:8px 10px calc(10px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(rgba(7,4,5,.88),rgba(7,4,5,.99))!important;
  }
  body.intro-lock .hero-cta-bar .actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    margin:0!important;
  }
  body.intro-lock .hero-cta-bar .btn{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    margin:0!important;
    font-size:10px!important;
  }
  body.intro-lock .mirage-floor-footer{
    position:fixed!important;
    left:50%!important;
    bottom:3px!important;
    transform:translateX(-50%)!important;
    z-index:9999!important;
    width:max-content!important;
    max-width:calc(100vw - 14px)!important;
    margin:0!important;
    padding:2px 7px!important;
    overflow:hidden!important;
    border-radius:999px!important;
    background:rgba(0,0,0,.30)!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.intro-lock .mirage-floor-footer .footer{
    display:block!important;
    margin:0!important;
    padding:0!important;
    background:none!important;
    border:0!important;
  }
  body.intro-lock .mirage-floor-footer .footer .wrap{
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
  }
  body.intro-lock .mirage-floor-footer .footer .wrap>div:last-child{
    display:none!important;
  }

  /* Intro auf Portrait begrenzen */
  #mirageLogoReveal,
  #mirageCurtainReveal{
    width:100vw!important;
    height:100dvh!important;
    overflow:hidden!important;
  }

  /* =======================================================
     SHOWS + EVENTS
     ======================================================= */
  body.shows-full,
  body.events-full{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
  }
  body.shows-full .grid3,
  body.events-full .grid3{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:0!important;
  }
  body.shows-full .panel,
  body.events-full .panel{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:10px!important;
    border-radius:12px!important;
    background:linear-gradient(145deg,rgba(61,8,19,.28),rgba(12,6,8,.92))!important;
  }
  body.shows-full .panel img{
    width:100%!important;
    height:54vw!important;
    max-height:300px!important;
    object-fit:cover!important;
    border-radius:8px!important;
  }
  body.shows-full .panel h3,
  body.events-full .panel h3{
    margin:9px 0 4px!important;
    font-size:24px!important;
    line-height:1.05!important;
    color:var(--m-gold)!important;
  }
  body.shows-full .panel p,
  body.events-full .panel p{
    margin:0!important;
    font-size:12px!important;
    line-height:1.42!important;
    color:var(--m-muted)!important;
  }
  body.shows-full .panel .btn,
  body.events-full .panel .btn{
    width:100%!important;
    margin-top:9px!important;
  }
  body.events-full .section .wrap>p{
    margin:10px 0 0!important;
    text-align:center!important;
  }

  /* =======================================================
     KÜNSTLER – komplett neu als nativer Scroll-Snap-Slider
     ======================================================= */
  body.kuenstler-page{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    padding-top:var(--m-header)!important;
  }
  body.kuenstler-page .section{
    width:100vw!important;
    height:calc(100dvh - var(--m-header))!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.kuenstler-page .section>.wrap{
    width:100vw!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .artist-slider{
    position:relative!important;
    width:100vw!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .artist-slider-viewport{
    width:100vw!important;
    height:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    scrollbar-width:none!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
  }
  .artist-slider-viewport::-webkit-scrollbar{display:none!important}
  .artist-slider-track{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:max-content!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
  }
  .artist-card{
    position:relative!important;
    flex:0 0 100vw!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    background:#050304!important;
  }
  .artist-card>img{
    position:absolute!important;
    z-index:1!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:58%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center top!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .artist-card::after{
    content:""!important;
    position:absolute!important;
    z-index:2!important;
    inset:36% 0 0!important;
    background:linear-gradient(to bottom,rgba(5,3,4,0),rgba(5,3,4,.88) 22%,#050304 55%)!important;
    pointer-events:none!important;
  }
  .artist-copy{
    position:absolute!important;
    z-index:4!important;
    left:14px!important;
    right:14px!important;
    bottom:48px!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    max-height:40%!important;
    margin:0!important;
    padding:12px 13px!important;
    overflow-y:auto!important;
    transform:none!important;
    border:1px solid rgba(232,196,93,.18)!important;
    border-radius:12px!important;
    background:rgba(10,5,7,.86)!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
  }
  .artist-copy h2{
    margin:0 0 6px!important;
    font-size:27px!important;
    line-height:1!important;
    color:var(--m-gold)!important;
  }
  .artist-copy p{
    margin:0!important;
    font-size:11px!important;
    line-height:1.42!important;
    color:var(--m-text)!important;
  }
  .artist-slider-btn{
    position:absolute!important;
    z-index:8!important;
    top:43%!important;
    width:36px!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    background:rgba(0,0,0,.35)!important;
    color:var(--m-gold)!important;
    font-size:24px!important;
  }
  .artist-prev{left:5px!important}
  .artist-next{right:5px!important}
  .artist-slider-dots{
    position:absolute!important;
    z-index:8!important;
    left:50%!important;
    bottom:24px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    gap:5px!important;
  }
  .artist-slider-progress{
    position:absolute!important;
    z-index:8!important;
    left:14px!important;
    right:14px!important;
    bottom:11px!important;
  }
  body.kuenstler-page>.footer{display:none!important}

  /* =======================================================
     HAWAIIAN NIGHTS
     ======================================================= */
  body.hawaiian-page{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
  }
  .hn-hero{
    min-height:0!important;
    height:auto!important;
    padding:12px 10px 24px!important;
    overflow:visible!important;
  }
  .hn-hero-content{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    align-items:center!important;
    text-align:center!important;
  }
  .hn-copy{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
  }
  .hn-kicker{font-size:10px!important;letter-spacing:.13em!important}
  .hn-copy h1{
    margin:4px 0 12px!important;
    font-size:clamp(48px,16vw,70px)!important;
    line-height:.84!important;
  }
  .hn-lead{font-size:15px!important;line-height:1.35!important}
  .hn-info{font-size:12px!important;line-height:1.5!important}
  .hn-emotion{font-size:22px!important}
  .hn-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .hn-actions .btn{width:100%!important}
  .hn-poster-open{
    width:min(84vw,350px)!important;
    margin:0 auto!important;
    transform:none!important;
  }
  .hn-poster-open img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  #showzeiten,
  .hn-times{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:22px 10px 48px!important;
  }
  .hn-times-grid{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
    text-align:center!important;
  }
  .hn-times-copy{transform:none!important}
  .hn-facts{justify-content:center!important}
  .hn-schedule-open{width:min(90vw,420px)!important;margin:0 auto!important}
  .hn-schedule-open img{width:100%!important;height:auto!important;transform:none!important}

  /* =======================================================
     FERIENZIRKUS
     ======================================================= */
  .ferien-page,
  .ferien-one-screen{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .ferien-screen{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 10px 46px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    align-items:stretch!important;
  }
  .ferien-copy{width:100%!important;margin:0!important;padding:0!important}
  .ferien-copy h1{font-size:38px!important;line-height:1!important;margin:4px 0 8px!important}
  .ferien-lead{font-size:14px!important;line-height:1.4!important}
  .ferien-text,.ferien-facts,.ferien-show,.ferien-deadline{
    font-size:12px!important;
    line-height:1.45!important;
  }
  .ferien-visuals{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin:0!important;
    padding:0!important;
  }
  .ferien-poster,
  .ferien-poster-main,
  .ferien-poster-info{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
  }
  .ferien-poster img,
  .ferien-visuals img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .ferien-contact .btn{width:100%!important}

  /* =======================================================
     GALERIE
     ======================================================= */
  body.galerie-full{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
  }
  body.galerie-full .section{
    height:auto!important;
    min-height:0!important;
    padding:5px 7px 46px!important;
  }
  body.galerie-full .gallery{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    max-height:none!important;
  }
  body.galerie-full .gallery img{
    width:100%!important;
    height:42vw!important;
    min-height:130px!important;
    object-fit:cover!important;
    border-radius:8px!important;
  }
  .gallery-lightbox{
    padding:8px!important;
  }
  .gallery-lightbox img{
    max-width:96vw!important;
    max-height:84dvh!important;
    object-fit:contain!important;
  }

  /* =======================================================
     ÜBER UNS / NICO
     ======================================================= */
  .nico-fullpage{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .nico-layout{
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 10px 46px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .nico-content{
    order:1!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
  }
  .nico-content h1{
    margin:4px 0 10px!important;
    font-size:34px!important;
    line-height:1!important;
  }
  .nico-columns{
    columns:1!important;
    column-count:1!important;
    width:100%!important;
    font-size:12px!important;
    line-height:1.48!important;
  }
  .nico-image{
    order:2!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    display:flex!important;
    justify-content:center!important;
  }
  .nico-image img{
    width:min(78vw,390px)!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .nico-cta .btn{width:100%!important}

  /* =======================================================
     KONTAKT
     ======================================================= */
  body.kontakt-full{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
  }
  body.kontakt-full .section{
    height:auto!important;
    min-height:0!important;
    padding:5px 9px 48px!important;
  }
  body.kontakt-full .section>.wrap{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .direct-contact-v380{
    width:100%!important;
    margin:0!important;
    padding:14px!important;
    gap:8px!important;
  }
  .direct-contact-name::after{font-size:21px!important}
  .direct-contact-link{
    width:100%!important;
    padding:10px!important;
    font-size:12px!important;
    overflow-wrap:anywhere!important;
  }
  body.kontakt-full form{
    width:100%!important;
    margin:0!important;
    padding:14px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  body.kontakt-full form::before{
    grid-column:1!important;
    font-size:19px!important;
  }
  body.kontakt-full form input,
  body.kontakt-full form select,
  body.kontakt-full form textarea,
  body.kontakt-full form .full{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
    font-size:16px!important;
  }
  body.kontakt-full form input,
  body.kontakt-full form select{
    min-height:44px!important;
  }
  body.kontakt-full form textarea{
    min-height:130px!important;
    max-height:190px!important;
  }
  body.kontakt-full form button[type="submit"],
  body.kontakt-full form .btn{
    width:100%!important;
    min-width:0!important;
  }

  /* =======================================================
     PARTNER
     ======================================================= */
  body.partner-page{
    height:auto!important;
    min-height:100dvh!important;
    overflow-y:auto!important;
    padding-top:var(--m-header)!important;
  }
  .partner-main{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:12px 8px 46px!important;
    overflow:visible!important;
    display:block!important;
  }
  .partner-wrap{
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  .partner-head{
    margin:0 auto 12px!important;
    text-align:center!important;
  }
  .partner-kicker{font-size:8px!important}
  .partner-head h1{font-size:36px!important;line-height:1!important}
  .partner-head p{font-size:11px!important;line-height:1.35!important}
  .partner-grid{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .partner-card{
    width:100%!important;
    max-height:none!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:12px!important;
  }
  .partner-logo,
  .partner-card--los .partner-logo{
    width:100%!important;
    height:190px!important;
    min-height:0!important;
    padding:12px!important;
    border-right:0!important;
    border-bottom:1px solid var(--m-line)!important;
  }
  .partner-logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .partner-body{
    width:100%!important;
    padding:14px!important;
  }
  .partner-body h2{font-size:25px!important}
  .partner-subtitle,.partner-body p.partner-text{font-size:12px!important;line-height:1.42!important}
  .partner-address{display:block!important;font-size:10px!important}
  .partner-button{width:100%!important;min-height:42px!important}

  /* =======================================================
     IMPRESSUM
     ======================================================= */
  .impressum-main-v450{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:12px 9px 46px!important;
  }
  .impressum-card-v450{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:18px 16px!important;
    border-radius:12px!important;
  }
  .impressum-card-v450 h1{font-size:36px!important}
  .impressum-card-v450 h2{font-size:17px!important}
  .impressum-card-v450 p{font-size:12px!important;line-height:1.5!important}
  /* alte doppelte Impressum-Fallback-Blöcke ausblenden */
  body:has(.impressum-main-v450)>.subhero,
  body:has(.impressum-main-v450)>.section,
  body:has(.impressum-main-v450)>.footer{
    display:none!important;
  }

  /* =======================================================
     DATENSCHUTZ
     ======================================================= */
  .legal-page,
  .legal-page-privacy{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  .legal-content{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:14px 14px 48px!important;
    overflow-wrap:anywhere!important;
  }
  .legal-content h1,.legal-content h4{
    color:var(--m-gold)!important;
  }
  .legal-content h4{
    margin:15px 0 7px!important;
    font-size:17px!important;
    line-height:1.25!important;
  }
  .legal-content p,
  .legal-content li{
    font-size:12px!important;
    line-height:1.55!important;
  }
  body:has(.legal-page-privacy)>.footer{display:none!important}

}

/* sehr kleine Geräte */
@media(max-width:380px){
  body.intro-lock .mirage-main-logo{width:88vw!important;top:45%!important}
  .ferien-visuals{grid-template-columns:1fr!important}
  body.galerie-full .gallery{grid-template-columns:1fr!important}
  body.galerie-full .gallery img{height:62vw!important}
  .partner-logo,.partner-card--los .partner-logo{height:170px!important}
}

/* Smartphone Querformat */
@media(max-width:900px) and (orientation:landscape) and (max-height:520px){
  body{--m-header:52px}
  .mirage-corner-logo{top:4px!important;width:70px!important;height:43px!important}
  body.intro-lock .mirage-main-logo{
    width:min(56vw,430px)!important;
    max-height:54dvh!important;
    top:46%!important;
  }
  body.intro-lock .hero-cta-bar{padding:5px 8px 7px!important}
  body.intro-lock .hero-cta-bar .btn{min-height:34px!important;padding:7px!important}
  .artist-card>img{height:70%!important}
  .artist-copy{
    left:50%!important;
    right:12px!important;
    bottom:34px!important;
    max-height:72%!important;
  }
}
