/* =========================================
   KONTAKTSEITE – RESTAURANT AMADEUS
========================================= */
:root{
  --amadeus-bg:#faf3e0;
  --amadeus-text:#233d40;
  --amadeus-accent:#cca300;
  --amadeus-muted:#8a8a8a;
  --amadeus-radius:18px;
}
.amadeus-contact-wrap{
  min-height:70vh;
  background:var(--amadeus-bg);
  padding:120px 18px 72px;
  display:flex;
  justify-content:center;
}
.amadeus-contact-inner{
  width:min(1120px, 100%);
  margin:0 auto;
  font-family:"Inter", system-ui, sans-serif;
  color:var(--amadeus-text);
}
/* Header */
.amadeus-contact-head{
  margin:0 0 26px;
  text-align:left;
}
.amadeus-contact-label{
  font-size:var(--am-type-label);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--amadeus-accent);
  margin-bottom:.35rem;
}
.amadeus-contact-title{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-page-title);
  margin:0 0 .4rem;
}
.amadeus-contact-sub{
  margin:0;
  font-size:var(--am-type-subtitle);
  color:var(--amadeus-muted);
}
/* Grid */
.amadeus-contact-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.8fr) minmax(260px, 1.2fr);
  gap:30px;
  margin-bottom:18px; /* Abstand vor dem 3. Block (Karte) */
}
.amadeus-card{
  background:#fff;
  border-radius:var(--amadeus-radius);
  box-shadow:0 14px 40px rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.035);
  padding:26px 24px 22px;
}
/* Left Form Column */
.amadeus-contact-form-card h2,
.amadeus-contact-info h2{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-card-title);
  margin:0 0 .4rem;
}
.amadeus-contact-intro{
  font-size:var(--am-type-body-sm);
  color:var(--amadeus-muted);
  margin:0 0 1rem;
}
/* Formular */
.amadeus-contact-form{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.amadeus-field{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:var(--am-type-body-sm);
}
.amadeus-field-group{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.amadeus-field label{
  font-weight:500;
  color:#233d40;
}
.amadeus-field input,
.amadeus-field textarea{
  padding:9px 10px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.10);
  font-family:"Inter", system-ui, sans-serif;
  font-size:var(--am-type-body-sm);
  background:#fafafa;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.amadeus-field input:focus,
.amadeus-field textarea:focus{
  outline:none;
  border-color:var(--amadeus-accent);
  box-shadow:0 0 0 3px rgba(204,163,0,0.18);
  background:#ffffff;
}
.amadeus-contact-hint{
  font-size:var(--am-type-note);
  color:var(--amadeus-muted);
  margin:4px 0 4px;
}
/* Buttons */
.amadeus-btn{
  display:inline-block;
  text-align:center;
  font-family:"Inter", sans-serif;
  border-radius:999px;
  padding:10px 20px;
  text-decoration:none;
  font-size:var(--am-type-body-sm);
  cursor:pointer;
  transition:all .2s ease;
}
.amadeus-btn-primary{
  background:var(--amadeus-accent);
  color:#233d40;
  font-weight:600;
  border:none;
}
.amadeus-btn-primary:hover{
  background:#e0b200;
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,0.16);
}
.amadeus-btn-ghost{
  background:transparent;
  border:1px solid var(--amadeus-accent);
  color:var(--amadeus-text);
}
.amadeus-btn-ghost:hover{
  background:var(--amadeus-accent);
  color:#233d40;
}
/* Right Info Column */
.amadeus-contact-info h3{
  font-family:"Playfair Display", serif;
  font-size:var(--am-type-h3);
  margin:14px 0 4px;
}
.amadeus-contact-soft{
  font-size:var(--am-type-body-sm);
  line-height:1.6;
}
.amadeus-hours-table-compact{
  margin:4px 0 4px;
  font-size:var(--am-type-body-sm);
}
.amadeus-hours-table-compact > div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:3px 0;
  border-bottom:1px solid rgba(0,0,0,0.03);
}
.amadeus-contact-note{
  font-size:var(--am-type-note);
  color:var(--amadeus-muted);
  margin:2px 0 8px;
}
/* Links */
.amadeus-link,
.amadeus-link: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-link:hover,
.amadeus-link:focus{
  color:#b89200;
  border-color:#b89200;
}
/* Responsive */
@media (max-width:900px){
  .amadeus-contact-wrap{
    padding:100px 14px 56px;
  }
  .amadeus-contact-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
  .amadeus-field-group{
    grid-template-columns:1fr;
  }
}
@media (max-width:600px){
  .amadeus-contact-title{
    font-size:var(--am-type-page-title-mobile);
  }
  .amadeus-card{
    padding:20px 18px;
  }
}

/* =========================================
   ANIMIERTE ALERTS (Grün / Rot)
========================================= */
.amadeus-contact-alert {
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:12px;
  padding:14px 18px;
  margin:18px 0 28px;
  font-family:"Inter", sans-serif;
  line-height:1.5;
  opacity:0;
  transform:translateY(-6px);
  animation:fadeInSlide .6s ease forwards;
}
/* Erfolgreich (grün / freundlich) */
.amadeus-contact-alert.success {
  background:#e9f7ef;
  border:1px solid #b8e0c0;
  color:#144c2b;
}
/* Fehler (rot / dezent) */
.amadeus-contact-alert.error {
  background:#fff1f1;
  border:1px solid #f3b0b0;
  color:#7b0c0c;
}
.amadeus-alert-icon {
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:rgba(41, 167, 86, 0.1);
  color:#2d9f5d;
  animation:pulseIcon 1.6s ease infinite;
}
.amadeus-contact-alert.error .amadeus-alert-icon {
  background:rgba(255,0,0,0.08);
  color:#b00000;
}
.amadeus-alert-text a {
  color:inherit;
  text-decoration:underline;
  font-weight:500;
}
/* Animations */
@keyframes fadeInSlide {
  0% { opacity:0; transform:translateY(-6px); }
  100% { opacity:1; transform:translateY(0); }
}
@keyframes pulseIcon {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(1.12); opacity:.8; }
}
/* Automatisches Ausblenden */
.amadeus-contact-alert.fade-out {
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .6s ease, transform .6s ease;
}
