/* --- Zwei-Spalten-Layout für Bestellseite --- */
.page.two-col .layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
}
@media (max-width: 980px) {
  .page.two-col .layout { grid-template-columns: 1fr; }
}

/* --- Form Grid --- */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
@media (max-width: 760px) {
  .form-grid { grid-template-columns: 1fr; }
}
.span-2 { grid-column: 1 / -1; }

/* Einheitliche Eingabehöhen */
.buy-form .input,
.buy-form select {
  height: 44px;
  padding: .5rem .75rem;
  font-size: 1rem;
  line-height: 1.2;
  border-radius: .6rem;
}

/* Trinkgeld mit Euro-Suffix (gleiche Höhe) */
.tip-wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: center;
}
.tip-wrap .suffix {
  height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border-radius: .6rem;
  border: 1px solid var(--border, rgba(0,0,0,.15));
  opacity: .9;
}

/* Kleinere Buttons */
.btn-small {
  padding: .55rem .95rem;
  font-size: .95rem;
  line-height: 1.1;
  border-radius: .6rem;
}

/* Hinweisboxen */
.notice {
  padding: .75rem .9rem;
  border-radius: .6rem;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255, 213, 79, .12);
}
.notice.info {
  background: rgba(100, 180, 255, .10);
  border-left: 4px solid rgba(100, 180, 255, .8);
}
.notice strong { font-weight: 600; }
.notice a { text-decoration: underline; }

/* Shop-Logos fix auf 35px Höhe */
.btn-shop .logo { height: 35px; max-height: 35px; width: auto; display: block; object-fit: contain; }
.btn-shop { min-height: 44px; align-items: center; gap: .6rem; padding: .45rem .8rem; }
