/* =========================================
   Amadeus Base Colors
========================================= */
:root{
  --amadeus-bg: #faf3e0;
  --amadeus-text: #233d40;
  --amadeus-accent: #cca300;
  --amadeus-muted: #8a8a8a;
  --amadeus-radius: 18px;
  --am-type-label: .83rem;
  --am-type-note: .83rem;
  --am-type-body-sm: .95rem;
  --am-type-body: 1rem;
  --am-type-subtitle: 1.06rem;
  --am-type-h3: 1.15rem;
  --am-type-card-title: 1.42rem;
  --am-type-section-title: clamp(1.95rem, 3vw, 2.4rem);
  --am-type-page-title: clamp(2.1rem, 3.6vw, 2.9rem);
  --am-type-display: clamp(2.25rem, 4vw, 3.05rem);
  --am-type-script: clamp(1.55rem, 2.8vw, 1.95rem);
  --am-type-page-title-mobile: 2rem;
}

@media (max-width:900px){
  :root{
    --am-type-label: .8rem;
    --am-type-note: .8rem;
    --am-type-body-sm: .93rem;
    --am-type-body: .98rem;
    --am-type-subtitle: 1.02rem;
    --am-type-h3: 1.08rem;
    --am-type-card-title: 1.3rem;
    --am-type-section-title: clamp(1.8rem, 4.5vw, 2.15rem);
    --am-type-page-title: clamp(1.95rem, 5vw, 2.45rem);
    --am-type-display: clamp(2.05rem, 5.8vw, 2.65rem);
    --am-type-script: clamp(1.42rem, 4vw, 1.75rem);
    --am-type-page-title-mobile: 1.9rem;
  }
}

@media (max-width:600px){
  :root{
    --am-type-label: .77rem;
    --am-type-note: .77rem;
    --am-type-body-sm: .9rem;
    --am-type-body: .96rem;
    --am-type-subtitle: .98rem;
    --am-type-h3: 1.02rem;
    --am-type-card-title: 1.2rem;
    --am-type-section-title: clamp(1.62rem, 7vw, 1.95rem);
    --am-type-page-title: clamp(1.78rem, 8vw, 2.08rem);
    --am-type-display: clamp(1.9rem, 8.5vw, 2.25rem);
    --am-type-script: clamp(1.32rem, 6vw, 1.6rem);
    --am-type-page-title-mobile: 1.8rem;
  }
}

/* =========================================
   BODY OVERLAY FÜR OFFENES MOBILE-MENÜ
========================================= */

body.amadeus-menu-open{
  overflow:hidden; /* Seite nicht scrollen */
}

body.amadeus-menu-open::before{
  content:"";
  position:fixed;
  inset:0;
  background:#faf3e0;       /* weiche Amadeus-Farbe */
  z-index:9990;             /* über Content, unter Header/Nav */
}

/* =========================================
   HEADER
========================================= */
.amadeus-header{
  position:sticky;
  top:0;
  z-index:10002; /* Header ganz oben */
  background:rgba(250,243,224,0.96); /* #faf3e0 leicht transparent */
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,0.03);
}
body.admin-bar .amadeus-header{
  top:32px;
}
.amadeus-header-inner{
  max-width:1200px;
  margin:0 auto;
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.amadeus-brand img{
  max-height:64px;
  width:auto;
}
.amadeus-site-title{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-card-title);
  color:#233d40;
  text-decoration:none;
  letter-spacing:.04em;
}

/* NAV Desktop */
.amadeus-nav{
  display:flex;
  align-items:center;
  gap:24px;
  font-size:var(--am-type-body-sm);
}
.amadeus-nav ul{
  display:flex;
  align-items:center;
  list-style:none;
  margin:0;
  padding:0;
  gap:20px;
}
.amadeus-nav a{
  color:#233d40;
  text-decoration:none;
  position:relative;
  padding-bottom:3px;
  font-family:"Inter", sans-serif;
}
.amadeus-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:#cca300;
  transition:width .22s ease;
}
.amadeus-nav a:hover::after,
.amadeus-nav a:focus::after,
.amadeus-nav .current-menu-item > a::after{
  width:100%;
}

/* CTA */
.amadeus-cta{
  margin-left:6px;
  padding:9px 18px;
  border-radius:999px;
  background:#cca300;
  color:#233d40 !important;
  font-weight:600;
  font-size:var(--am-type-body-sm);
  text-decoration:none;
  border:1px solid rgba(0,0,0,0.04);
  box-shadow:0 6px 18px rgba(0,0,0,0.10);
  transition:all .2s ease;
}
.amadeus-cta:hover,
.amadeus-cta:focus{
  background:#e0b200;
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,0.16);
}

/* Burger Button Base */
.amadeus-nav-toggle{
  display:none;
  position:relative;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-inline-size:56px;
  padding:4px 0 0;
  border:none;
  background:transparent;
  cursor:pointer;
}

.amadeus-nav-toggle-icon{
  position:relative;
  display:block;
  inline-size:28px;
  block-size:20px;
  flex:0 0 auto;
}

.amadeus-nav-toggle-line{
  position:absolute;
  left:0;
  display:block;
  inline-size:100%;
  block-size:2px;
  background:#233d40;
  border-radius:999px;
  transition:transform .25s ease, opacity .25s ease, top .25s ease, background-color .25s ease;
}

.amadeus-nav-toggle-line:nth-child(1){
  top:0;
}

.amadeus-nav-toggle-line:nth-child(2){
  top:9px;
}

.amadeus-nav-toggle-line:nth-child(3){
  top:18px;
}

.amadeus-nav-toggle-label{
  position:static;
  display:block;
  font-size:var(--am-type-note);
  line-height:1;
  letter-spacing:.08em;
  white-space:nowrap;
  color:#233d40;
}

.amadeus-nav-toggle:focus-visible{
  outline:2px solid rgba(204,163,0,.75);
  outline-offset:6px;
}

/* =========================================
   MOBILE NAV – NEUES OVERLAY (100vh)
========================================= */
@media (max-width:900px){

  /* Toggle sichtbar machen & über Overlay halten */
  .amadeus-nav-toggle{
    display:flex;
    z-index:10002; /* über Header & Nav */
    flex-shrink:0;
  }

  /* Vollflächiges Overlay (eigene Ebene, 100vh) */
  .amadeus-nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    height:100vh;                 /* immer volle Höhe des Viewports */
    background:#faf3e0;           /* weiche Amadeus-Farbe */
    padding:96px 24px calc(56px + env(safe-area-inset-bottom, 0px)); /* Platz für Header + spürbaren unteren Abstand */
    display:none;                 /* standard: versteckt */
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:18px;
    z-index:10000;                /* unter Header, über Content */
    overflow-y:auto;              /* falls später viele Punkte */
  }

  /* wenn geöffnet */
  .amadeus-nav.is-open{
    display:flex;
  }

  /* Liste vertikal & etwas zentrierter wirken lassen */
  .amadeus-nav ul{
    list-style:none;
    margin:0;
    padding:0;
    width:100%;
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .amadeus-nav li{
    width:100%;
  }

  .amadeus-nav a{
    display:block;
    width:100%;
    padding:8px 2px;
    font-size:var(--am-type-h3);
    color:#233d40;
    text-decoration:none;
  }

  /* Unterstreich-Effekt mobil aus */
  .amadeus-nav a::after{
    display:none;
  }

  .amadeus-nav a:hover,
  .amadeus-nav a:focus,
  .amadeus-nav .current-menu-item > a{
    color:#b89200;
  }

  .amadeus-nav .amadeus-topbar-voucher{
    order:20;
    width:100%;
    margin-top:auto;
    margin-bottom:0;
    padding:18px 0 0;
    background:transparent;
    border:0;
  }

  .amadeus-nav .amadeus-topbar-voucher-inner{
    max-width:none;
    margin:0;
    padding:16px;
    border-radius:18px;
    align-items:flex-start;
    gap:12px;
    background:linear-gradient(145deg, rgba(204,163,0,.18), rgba(238,144,35,.12));
    box-shadow:0 14px 28px rgba(0,0,0,.08);
  }

  .amadeus-nav .amadeus-topbar-voucher-copy{
    min-width:0;
  }

  .amadeus-nav .amadeus-topbar-voucher-title{
    font-size:var(--am-type-body);
  }

  .amadeus-nav .amadeus-topbar-voucher-meta{
    line-height:1.45;
  }

  .amadeus-nav .amadeus-topbar-voucher-cta{
    justify-content:center;
    width:100%;
  }

  /* CTA (falls du ihn aktivierst) full width */
  .amadeus-cta{
    margin-top:10px;
    width:100%;
    text-align:center;
    justify-content:center;
  }

  /* Burger zu „X“ */
  .amadeus-nav-toggle.is-active .amadeus-nav-toggle-icon .amadeus-nav-toggle-line:nth-child(1){
    top:9px;
    transform:rotate(45deg);
  }
  .amadeus-nav-toggle.is-active .amadeus-nav-toggle-icon .amadeus-nav-toggle-line:nth-child(2){
    opacity:0;
  }
  .amadeus-nav-toggle.is-active .amadeus-nav-toggle-icon .amadeus-nav-toggle-line:nth-child(3){
    top:9px;
    transform:rotate(-45deg);
  }
}

/* =========================================
   IMPRESSUM PAGE
========================================= */

.amadeus-impressum-wrap{
  min-height:60vh;
  background:var(--amadeus-bg);
  padding:120px 16px 72px;
  display:flex;
  justify-content:center;
}

.amadeus-impressum-inner{
  width:min(980px, 100%);
  margin:0 auto;
  color:var(--amadeus-text);
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:var(--am-type-body);
  line-height:1.8;
}

.amadeus-impressum-label{
  font-size:var(--am-type-label);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--amadeus-accent);
  font-weight:600;
  margin-bottom:.35rem;
}

.amadeus-impressum-title{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-page-title);
  font-weight:600;
  margin:0 0 1rem;
}

.amadeus-impressum-sub{
  font-family:"Inter", sans-serif;
  font-size:var(--am-type-subtitle);
  color:var(--amadeus-muted);
  margin:0 0 2.2rem;
}

.amadeus-impressum-grid{
  display:grid;
  grid-template-columns:minmax(0, 2.2fr) minmax(220px, 1.4fr);
  gap:40px;
}

.amadeus-card{
  background:#ffffff;
  border-radius:var(--amadeus-radius);
  padding:24px 22px;
  box-shadow:0 14px 40px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.035);
}

.amadeus-card h2{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-card-title);
  margin:0 0 .65rem;
  color:var(--amadeus-text);
}

.amadeus-meta{
  margin:0 0 .4rem;
  font-size:var(--am-type-body);
  line-height:1.8;
}

.amadeus-legal h3{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-h3);
  margin:1.6rem 0 .35rem;
  font-weight:600;
  color:var(--amadeus-text);
}
.amadeus-legal p{
  margin:.15rem 0 .55rem;
  font-family:"Inter", sans-serif;
  font-size:var(--am-type-body-sm);
  line-height:1.8;
  color:var(--amadeus-text);
}

.amadeus-note{
  margin-top:1.4rem;
  font-size:var(--am-type-note);
  color:var(--amadeus-muted);
  font-family:"Inter", sans-serif;
}

.amadeus-impressum-inner a,
.amadeus-impressum-inner a:visited{
  color:var(--amadeus-accent);
  text-decoration:none;
  border-bottom:1px solid rgba(204,163,0,0.35);
  padding-bottom:1px;
  transition:color .2s ease, border-color .2s ease;
}
.amadeus-impressum-inner a:hover,
.amadeus-impressum-inner a:focus{
  color:#b89200;
  border-color:#b89200;
}

@media (max-width:768px){
  .amadeus-impressum-wrap{
    padding:96px 14px 48px;
  }
  .amadeus-impressum-inner{
    font-size:var(--am-type-body);
  }
  .amadeus-impressum-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .amadeus-card{
    padding:20px 18px;
  }
  .amadeus-card h2{
    font-size:var(--am-type-card-title);
  }
}

/* =========================================
   FOOTER
========================================= */
.amadeus-footer{
  background:#f7f0da;
  color:var(--amadeus-text);
  border-top:1px solid rgba(0,0,0,0.05);
  padding:64px 20px 40px;
  font-family:"Inter", system-ui, sans-serif;
  font-size:var(--am-type-body-sm);
  line-height:1.7;
}

.amadeus-footer-inner{
  max-width:1100px;
  margin:0 auto;
}

/* Oberer Bereich mit Columns */
.amadeus-footer-top{
  display:grid;
  grid-template-columns:2fr 1.5fr 1.5fr;
  gap:2.5rem;
  align-items:flex-start;
}

/* einzelne Spalten */
.amadeus-footer-col{
  font-size:var(--am-type-body-sm);
  line-height:1.7;
}

.amadeus-footer-title{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-card-title);
  margin:0 0 .75rem;
  color:var(--amadeus-text);
}

.amadeus-footer-subtitle{
  font-family:"Inter", system-ui, sans-serif;
  font-size:var(--am-type-h3);
  margin:0 0 .75rem;
  font-weight:600;
  color:var(--amadeus-text);
}

.amadeus-footer-meta{
  margin:2px 0;
}

/* Links im Footer – optisch wie Amadeus-Links */
.amadeus-footer-link,
.amadeus-footer-link:visited{
  color:var(--amadeus-accent);
  text-decoration:none;
  border-bottom:1px solid rgba(204,163,0,0.35);
  transition:color .25s ease, border-color .25s ease;
}
.amadeus-footer-link:hover,
.amadeus-footer-link:focus{
  color:#b89200;
  border-color:#b89200;
}

/* Öffnungszeiten-Liste */
.amadeus-footer-hours-list{
  list-style:none;
  margin:0;
  padding:0;
}
.amadeus-footer-hours-list li{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.75rem;
  margin-bottom:.25rem;
}

.amadeus-footer-hours-label{
  font-weight:500;
  white-space:nowrap;
}

.amadeus-footer-hours-time{
  white-space:nowrap;
  text-align:right;
}

/* Feiertage / spezielle Öffnungszeiten optisch absetzen */
.amadeus-footer-hours-holidays{
  margin-top:.75rem;
  padding-top:.5rem;
  border-top:1px solid rgba(0,0,0,0.08);
  flex-direction:column; /* Label oben, Text darunter */
  gap:.25rem;
}

.amadeus-footer-hours-holidays .amadeus-footer-hours-label{
  font-size:var(--am-type-note);
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--amadeus-muted);
}

.amadeus-footer-hours-holidays-text{
  white-space:normal;
  max-width:28rem;
  color:var(--amadeus-text);
  line-height:1.6;
  display:block;
}

/* Footer-Menü */
.amadeus-footer-nav #footer-menu{
  list-style:none;
  margin:0;
  padding:0;
}
.amadeus-footer-nav #footer-menu li{
  margin-bottom:.3rem;
}
.amadeus-footer-nav a{
  color:var(--amadeus-text);
  text-decoration:none;
  position:relative;
  font-weight:500;
}
.amadeus-footer-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:0;
  height:1px;
  background:var(--amadeus-accent);
  transition:width .2s ease;
}
.amadeus-footer-nav a:hover::after{
  width:100%;
}

/* Unterer Bereich (Copyright-Zeile) */
.amadeus-footer-bottom{
  border-top:1px solid rgba(0,0,0,0.05);
  padding-top:18px;
  margin-top:32px;
  width:100%;
  text-align:center;
}
.amadeus-footer-copy{
  font-size:var(--am-type-body-sm);
  color:#555;
}

#amadeus-weekly-menu{
  scroll-margin-top:110px;
}

.amadeus-menu-dock{
  display:none;
}

body.amadeus-reservation-popup-open{
  overflow:hidden;
}

.amadeus-reservation-popup{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:20px 16px;
}

.amadeus-reservation-popup[hidden]{
  display:none;
}

.amadeus-reservation-popup__backdrop{
  position:absolute;
  inset:0;
  background:rgba(20,26,22,.56);
  backdrop-filter:blur(10px);
}

.amadeus-reservation-popup__dialog{
  position:relative;
  inline-size:min(760px, 100%);
  max-block-size:min(90vh, 860px);
  overflow:auto;
  padding:18px;
  border-radius:26px;
  background:#faf3e0;
  border:1px solid rgba(35,61,64,.08);
  box-shadow:0 28px 60px rgba(0,0,0,.22);
  opacity:0;
  transform:translateY(20px) scale(.98);
  transition:opacity .18s ease, transform .18s ease;
}

.amadeus-reservation-popup.is-open .amadeus-reservation-popup__dialog{
  opacity:1;
  transform:translateY(0) scale(1);
}

.amadeus-reservation-popup__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.amadeus-reservation-popup__eyebrow{
  margin:0 0 4px;
  color:var(--amadeus-accent);
  font-size:var(--am-type-label);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.amadeus-reservation-popup__title{
  margin:0;
  color:var(--amadeus-text);
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-card-title);
}

.amadeus-reservation-popup__close{
  appearance:none;
  border:1px solid rgba(35,61,64,.12);
  background:rgba(255,255,255,.6);
  color:#233d40;
  inline-size:44px;
  block-size:44px;
  border-radius:999px;
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}

.amadeus-reservation-popup__body .nicemenu-widget{
  border-radius:20px;
  border:1px solid rgba(35,61,64,.08);
  box-shadow:0 14px 34px rgba(0,0,0,.08);
}

@media (max-width:1100px), (hover:none) and (pointer:coarse){
  .has-amadeus-menu-bar #page{
    padding-bottom:118px;
  }

  .amadeus-menu-dock{
    position:fixed;
    inset:auto 12px calc(12px + env(safe-area-inset-bottom, 0px)) 12px;
    display:block;
    z-index:9998;
    transition:transform .18s ease, opacity .18s ease;
  }

  .amadeus-menu-dock__inner{
    display:grid;
    grid-template-columns:repeat(var(--am-menu-dock-count, 4), minmax(0, 1fr));
    gap:6px;
    padding:7px;
    border-radius:24px;
    background:rgba(250,243,224,.94);
    border:1px solid rgba(35,61,64,.08);
    box-shadow:0 16px 36px rgba(0,0,0,.14);
    backdrop-filter:blur(16px);
  }

  .amadeus-menu-dock__link,
  .amadeus-menu-dock__link:visited{
    display:grid;
    justify-items:center;
    align-content:start;
    gap:6px;
    min-block-size:70px;
    min-inline-size:0;
    padding:9px 4px 8px;
    border-radius:18px;
    color:#233d40;
    text-decoration:none;
    text-align:center;
    transition:transform .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease;
  }

  .amadeus-menu-dock__link{
    appearance:none;
    border:0;
    background:none;
    font:inherit;
    cursor:pointer;
  }

  .amadeus-menu-dock__link.is-accent{
    background:linear-gradient(145deg, rgba(204,163,0,.2), rgba(238,144,35,.16));
    box-shadow:inset 0 0 0 1px rgba(204,163,0,.18);
  }

  .amadeus-menu-dock__link:hover,
  .amadeus-menu-dock__link:focus{
    background:rgba(255,255,255,.65);
    color:#b89200;
    transform:translateY(-1px);
  }

  .amadeus-menu-dock__icon{
    display:inline-grid;
    place-items:center;
    inline-size:32px;
    block-size:32px;
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:#233d40;
    box-shadow:inset 0 0 0 1px rgba(35,61,64,.06);
  }

  .amadeus-menu-dock__icon svg{
    inline-size:17px;
    block-size:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .amadeus-menu-dock__label{
    display:block;
    inline-size:100%;
    min-inline-size:0;
    font-size:.62rem;
    font-weight:700;
    letter-spacing:.02em;
    line-height:1.15;
    text-wrap:balance;
  }

  body.amadeus-menu-open .amadeus-menu-dock{
    opacity:0;
    pointer-events:none;
    transform:translateY(22px);
  }

  .amadeus-reservation-popup{
    padding:14px 12px calc(14px + env(safe-area-inset-bottom, 0px));
  }

  .amadeus-reservation-popup__dialog{
    max-block-size:min(88vh, 860px);
    padding:16px;
    border-radius:22px;
  }
}

@media (max-width:420px), (hover:none) and (pointer:coarse) and (max-width:520px){
  .has-amadeus-menu-bar #page{
    padding-bottom:110px;
  }

  .amadeus-menu-dock{
    inset:auto 10px calc(10px + env(safe-area-inset-bottom, 0px)) 10px;
  }

  .amadeus-menu-dock__inner{
    gap:4px;
    padding:6px;
    border-radius:22px;
  }

  .amadeus-menu-dock__link,
  .amadeus-menu-dock__link:visited{
    min-block-size:64px;
    padding:8px 3px 7px;
  }

  .amadeus-menu-dock__icon{
    inline-size:30px;
    block-size:30px;
  }

  .amadeus-menu-dock__icon svg{
    inline-size:16px;
    block-size:16px;
  }

  .amadeus-menu-dock__label{
    font-size:.58rem;
  }

  .amadeus-reservation-popup__head{
    margin-bottom:12px;
  }

  .amadeus-reservation-popup__title{
    font-size:1.22rem;
  }

  .amadeus-reservation-popup__close{
    inline-size:40px;
    block-size:40px;
    font-size:1.55rem;
  }
}

/* Responsive Breakpoints */
@media (max-width:900px){
  .amadeus-footer-top{
    grid-template-columns:1.5fr 1.5fr;
  }
  .amadeus-footer-col-nav{
    grid-column:1 / -1;
  }
}

@media (max-width:600px){
  .amadeus-footer{
    padding:48px 16px 36px;
  }

  .amadeus-footer-top{
    grid-template-columns:1fr;
    gap:24px;
    text-align:center;
  }

  .amadeus-footer-col{
    align-items:center;
  }

  /* Öffnungszeiten mobil untereinander */
  .amadeus-footer-hours-list li{
    flex-direction:column;
    align-items:center;
  }

  .amadeus-footer-hours-time{
    white-space:normal;
    text-align:center;
  }

  .amadeus-footer-hours-holidays-text{
    max-width:none;
  }

  .amadeus-footer-nav #footer-menu{
    text-align:center;
  }

  .amadeus-footer-title{
    font-size:var(--am-type-card-title);
  }
}

/* =========================================
   404 PAGE – MODERN AMADEUS
========================================= */
.amadeus-404-wrap{
  min-height:70vh;
  padding:120px 20px 80px;
  background:
    radial-gradient(900px 600px at 10% 0%, rgba(204,163,0,0.06), transparent),
    radial-gradient(900px 700px at 90% 100%, rgba(196,154,108,0.09), transparent),
    #faf3e0;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  font-family:"Inter", system-ui, sans-serif;
  color:#233d40;
}

.amadeus-404-inner{
  text-align:center;
  max-width:720px;
  margin:0 auto;
  padding:34px 26px 26px;
  border-radius:26px;
  backdrop-filter:blur(14px);
  background:rgba(255,255,255,0.82);
  box-shadow:0 22px 80px rgba(0,0,0,0.09);
  animation:am404-fadein .7s ease forwards;
  transform:translateY(8px);
  opacity:0;
}

.amadeus-404-label{
  font-size:var(--am-type-label);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#cca300;
  margin-bottom:.4rem;
}

.amadeus-404-title{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-page-title);
  margin:0 0 .6rem;
}

.amadeus-404-sub{
  margin:0 0 .4rem;
  font-size:var(--am-type-subtitle);
  color:#8a8a8a;
}

.amadeus-404-text{
  margin:0 0 1.6rem;
  font-size:var(--am-type-body-sm);
  line-height:1.7;
  color:#333;
}

.amadeus-404-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-bottom:.8rem;
}

.amadeus-404-note{
  font-size:var(--am-type-note);
  color:#888;
}
/* 404: Links im Amadeus-Stil */
.amadeus-404-inner a,
.amadeus-404-inner a:visited {
  color: var(--amadeus-accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(204,163,0,0.35);
  transition: color .2s ease, border-color .2s ease;
}

.amadeus-404-inner a:hover,
.amadeus-404-inner a:focus {
  color: #b89200;
  border-color: #b89200;
}

/* SVG / Illustration */
.amadeus-404-illus{
  display:flex;
  justify-content:center;
  margin-bottom:10px;
}
.amadeus-404-svg{
  width:130px;
  height:auto;
  color:#cca300;
  animation:am404-bob 2.6s ease-in-out infinite;
}
.amadeus-404-svg .plate{
  fill:#faf3e0;
  stroke:#e0cda0;
  stroke-width:1;
}
.amadeus-404-svg .plate-shadow{
  fill:rgba(0,0,0,0.05);
}
.amadeus-404-svg .digit{
  font-family:"Playfair Display", serif;
  font-size:26px;
  fill:#233d40;
}
.amadeus-404-svg .digit-0{
  animation:am404-pop 2.6s ease-in-out infinite;
  transform-origin:50% 40%;
}
.amadeus-404-svg .steam{
  fill:none;
  stroke:#cca300;
  stroke-width:1;
  stroke-linecap:round;
  opacity:0;
}
.amadeus-404-svg .steam-1{
  animation:am404-steam 2.2s ease-in-out infinite;
}
.amadeus-404-svg .steam-2{
  animation:am404-steam 2.2s ease-in-out infinite .3s;
}
.amadeus-404-svg .steam-3{
  animation:am404-steam 2.2s ease-in-out infinite .6s;
}

/* Animations */
@keyframes am404-fadein{
  0%{opacity:0; transform:translateY(12px);}
  100%{opacity:1; transform:translateY(0);}
}
@keyframes am404-bob{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px);}
}
@keyframes am404-pop{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.06);}
}
@keyframes am404-steam{
  0%{opacity:0; transform:translateY(4px);}
  20%{opacity:.9;}
  100%{opacity:0; transform:translateY(-8px);}
}

/* =========================================
   GLOBAL LINKS (ohne Buttons / CTAs)
========================================= */

/* Buttons & CTAs: nie wie Textlinks behandeln */
.amadeus-btn,
.amadeus-btn:visited,
.amadeus-cta,
.amadeus-cta:visited {
  text-decoration: none;
  border-bottom: none;
  color: inherit; /* oder spezifisch in den Button-Klassen definiert */
}

/* Standard-Links & Amadeus-Links */
a:not(.amadeus-btn):not(.amadeus-cta),
a:not(.amadeus-btn):not(.amadeus-cta):visited,
.amadeus-link,
.amadeus-link:visited {
  color: var(--amadeus-accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(204,163,0,0.35);
  transition: color .2s ease, border-color .2s ease;
}

/* Hover/Fokus nur für echte Textlinks */
a:not(.amadeus-btn):not(.amadeus-cta):hover,
a:not(.amadeus-btn):not(.amadeus-cta):focus,
.amadeus-link:hover,
.amadeus-link:focus {
  color: #b89200;
  border-color: #b89200;
}
