/* Geräteübergreifende Anpassungen – Desktop, MacBook, Tablet und Smartphone */
:root{
  --header-height:84px;
  --safe-inline:max(16px,env(safe-area-inset-left));
}

html{
  width:100%;
  overflow-x:hidden;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

.ticket.shop-aware:not(.shop-visible){display:none!important}

body{
  width:100%;
  min-width:320px;
  overflow-x:hidden!important;
}

img,video,iframe,canvas,svg{max-width:100%}
button,input,select,textarea{font:inherit}
.wrap{width:min(1500px,calc(100% - 40px))!important}
.nav{padding-left:clamp(130px,11vw,170px);padding-right:0}

/* Kleine Notebooks und MacBooks: vollständige, gut bedienbare Navigation */
@media (max-width:1365px){
  :root{--header-height:76px}
  .nav{height:var(--header-height)!important;padding-left:clamp(118px,13vw,156px);gap:14px}
  .hamb{
    display:grid!important;
    place-items:center;
    margin-left:auto;
    width:48px;
    height:48px;
    padding:0;
    border:1px solid rgba(214,168,66,.6);
    border-radius:4px;
    background:rgba(17,7,8,.92);
    cursor:pointer;
  }
  .menu{
    position:fixed!important;
    top:var(--header-height)!important;
    left:0!important;
    right:0!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    max-height:calc(100dvh - var(--header-height));
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:10px max(20px,calc((100vw - 1080px)/2)) calc(18px + env(safe-area-inset-bottom))!important;
    background:rgba(6,3,4,.98)!important;
    border-bottom:1px solid #785421;
    box-shadow:0 18px 35px rgba(0,0,0,.72);
  }
  .menu.open{display:flex!important}
  .menu a{
    display:flex;
    align-items:center;
    min-height:45px;
    padding:8px 14px!important;
    border-bottom:1px solid rgba(214,168,66,.16)!important;
    font-size:14px;
  }
  .menu a:last-child{border-bottom:0!important}
  .ticket{display:inline-flex!important;min-height:44px;padding:0 16px!important;white-space:nowrap}
  .mirage-corner-logo{top:8px!important;left:14px!important;width:110px!important;max-width:110px!important}
  .cardgrid,.grid3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Niedrige Notebook-Displays dürfen nie Inhalte abschneiden. */
@media (max-height:900px), (max-width:1365px){
  body.page-fullscreen,
  body.subpage-topfix,
  body.about-page,
  body.partner-page{height:auto!important;min-height:100dvh!important;overflow-y:auto!important}
  body.page-fullscreen .section,
  body.page-fullscreen .section > .wrap,
  .nico-fullpage,
  .nico-layout,
  .partner-main,
  .ferien-one-screen,
  .ferien-screen,
  .hawaiian-2026{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
  .subhero{min-height:clamp(170px,25vh,260px)!important}
}

@media (max-width:900px){
  :root{--header-height:72px}
  .wrap{width:min(100% - 30px,760px)!important}
  .nav{padding-left:110px}
  .ticket{display:none!important}
  .grid3,.cardgrid{grid-template-columns:1fr!important}
  .section{padding:clamp(42px,7vw,64px) 0!important}
  .section-head{margin-bottom:28px}
  .panel{padding:18px}
  .panel img,.gallery img{height:auto!important;max-height:440px;object-fit:cover}
  .form{grid-template-columns:1fr!important}
  .form textarea,.form .full{grid-column:auto!important}
}

@media (max-width:700px){
  .wrap{width:calc(100% - 24px)!important}
  .nav{padding-left:84px;padding-right:0}
  .mirage-corner-logo{top:9px!important;left:10px!important;width:76px!important;max-width:76px!important}
  .hamb{width:46px;height:46px;font-size:25px}
  .menu{padding-left:12px!important;padding-right:12px!important}
  .menu a{min-height:46px;font-size:13px}
  .subhero{padding:calc(var(--header-height) + 18px) 14px 22px!important;min-height:180px!important}
  .subhero h1{font-size:clamp(36px,12vw,58px)!important;line-height:1.02;overflow-wrap:anywhere}
  .subhero p{font-size:13px!important;line-height:1.5;letter-spacing:.08em!important}
  .section-head h2{font-size:clamp(34px,10vw,50px)!important}
  .section-head p,.notice{font-size:16px!important;line-height:1.65!important}
  .btn{width:100%;min-width:0!important;min-height:48px;padding:10px 16px!important;text-align:center}
  .actions{width:100%;flex-direction:column}
  .hero-cta-bar{padding-left:12px!important;padding-right:12px!important}
  .hero-cta-bar .actions{max-width:520px}
  .gallery{grid-template-columns:1fr!important}
  .gallery img{width:100%;height:auto!important;aspect-ratio:4/3}
  .legal-overlay-links{position:static!important;padding:18px 12px!important;justify-content:center}
}

@media (max-width:420px){
  .wrap{width:calc(100% - 20px)!important}
  .nav{padding-left:76px}
  .mirage-corner-logo{width:68px!important;max-width:68px!important}
  .cardtxt{left:14px;right:14px}
  .cardtxt h3{font-size:21px}
  .panel{padding:14px}
  .form input,.form textarea,.form select{font-size:16px!important}
}

@media (hover:none){
  .btn:hover,.showcard:hover img{transform:none}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
