/* Typografie, Proportionen und Menü-Orientierung – gekapselt im Anfrageformular. */
.pjga-shell.pjga-final-v12,
.pjga-shell.pjga-final-v12 [data-pjga-root] {
  --pjga-body-font: Arial, Helvetica, sans-serif;
  --pjga-display-font: "Anodyne", "Anodyne Combined", Impact, sans-serif;
  --pjga-v12-ink: #102331;
  --pjga-v12-copy: #43545f;
  --pjga-v12-orange: #f56f19;
  --pjga-v12-blue: #3f91be;
  font-family: var(--pjga-body-font) !important;
}

.pjga-shell.pjga-final-v12 *,
.pjga-shell.pjga-final-v12 *::before,
.pjga-shell.pjga-final-v12 *::after {
  box-sizing: border-box;
}

.pjga-shell.pjga-final-v12 :where(p, li, label, small, span, strong, b, em, a, dt, dd, input, select, textarea, button, legend) {
  font-family: var(--pjga-body-font) !important;
}

.pjga-shell.pjga-final-v12 :where(p, li, label, dd) {
  font-size: 16px;
  line-height: 1.52;
}

/* Anodyne bleibt bewusst den prägnanten Haupt- und Schrittüberschriften vorbehalten. */
.pjga-shell.pjga-final-v12 .pjga-header h2,
.pjga-shell.pjga-final-v12 .pjga-panel-heading h3,
.pjga-shell.pjga-final-v12 .pjga-success h3 {
  font-family: var(--pjga-display-font) !important;
  font-weight: 400 !important;
  letter-spacing: .012em !important;
  line-height: 1 !important;
}

.pjga-shell.pjga-final-v12 .pjga-header h2 {
  max-width: 760px;
  margin: 5px 0 13px;
  font-size: clamp(2.5rem, 5.2vw, 4.1rem);
}

.pjga-shell.pjga-final-v12 .pjga-panel-heading h3 {
  font-size: clamp(2rem, 4vw, 3rem);
}

.pjga-shell.pjga-final-v12 .pjga-card {
  width: min(100%, 1180px);
  border-radius: 24px;
  box-shadow: 0 24px 65px rgba(7, 25, 36, .2);
}

.pjga-shell.pjga-final-v12 .pjga-header {
  gap: 34px;
  padding: clamp(28px, 4vw, 44px) clamp(24px, 5vw, 58px) 24px;
}

.pjga-shell.pjga-final-v12 .pjga-header > div:first-child {
  min-width: 0;
}

.pjga-shell.pjga-final-v12 .pjga-header > div > p:not(.pjga-eyebrow) {
  max-width: 650px;
  color: rgba(255, 255, 255, .82);
  font-size: 17px;
  line-height: 1.55;
}

.pjga-shell.pjga-final-v12 .pjga-final-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.pjga-shell.pjga-final-v12 .pjga-final-trust span {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
  color: #fff8eb;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.15;
}

.pjga-shell.pjga-final-v12 .pjga-panel {
  padding: clamp(28px, 4vw, 46px) clamp(22px, 5vw, 58px);
}

.pjga-shell.pjga-final-v12 .pjga-panel-heading {
  gap: 17px;
  margin-bottom: 30px;
}

.pjga-shell.pjga-final-v12 .pjga-panel-heading .pjga-step-number {
  flex-basis: 46px;
  width: 46px;
  height: 46px;
}

.pjga-shell.pjga-final-v12 .pjga-field {
  min-width: 0;
  gap: 9px;
  margin-bottom: 20px;
  font-weight: 700;
}

.pjga-shell.pjga-final-v12 .pjga-field > .pjga-field-label {
  display: block;
  color: var(--pjga-v12-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.pjga-shell.pjga-final-v12 .pjga-field-label em {
  margin-left: 2px;
  color: #b23521;
  font-style: normal;
}

.pjga-shell.pjga-final-v12 .pjga-field small,
.pjga-shell.pjga-final-v12 .pjga-help,
.pjga-shell.pjga-final-v12 .pjga-choice-body small {
  color: #596a74;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.pjga-shell.pjga-final-v12 :where(.pjga-field input, .pjga-field select, .pjga-field textarea, .pjga-qty input) {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 54px !important;
  min-height: 54px;
  padding: 14px 16px;
  border-radius: 12px;
  font-family: var(--pjga-body-font) !important;
  font-size: 16px !important;
  line-height: 1.35;
}

.pjga-shell.pjga-final-v12 :where(.pjga-grid, .pjga-contact-name-grid) > * {
  min-width: 0;
  max-width: 100%;
}

.pjga-shell.pjga-final-v12 .pjga-field textarea {
  height: auto !important;
  min-height: 128px;
}

.pjga-shell.pjga-final-v12 .pjga-contact-name-grid {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) repeat(2, minmax(0, 1.4fr));
  gap: 18px;
}

.pjga-shell.pjga-final-v12 .pjga-addon-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 20px;
}

.pjga-shell.pjga-final-v12 .pjga-cheese-upgrade {
  margin: 0;
}

.pjga-shell.pjga-final-v12 .pjga-cheese-upgrade:has(input:disabled) {
  opacity: .48;
}

.pjga-shell.pjga-final-v12 .pjga-seasonal-badge {
  display: inline-flex;
  width: fit-content;
  margin: 4px 0 0 4px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #e8f5fc;
  color: #276f97;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
  vertical-align: middle;
}

.pjga-shell.pjga-final-v12 .pjga-aperitif-option {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  width: 100%;
  border: 1px solid rgba(16, 35, 49, .08);
  background: #f8f5ee;
}

.pjga-shell.pjga-final-v12 .pjga-aperitif-option.is-selected {
  border-color: rgba(245, 111, 25, .48);
  background: #fff0e1;
  box-shadow: 0 0 0 2px rgba(245, 111, 25, .08);
}

.pjga-shell.pjga-final-v12 .pjga-aperitif-auto-count {
  margin-top: 2px;
  color: #a8480f;
  font-weight: 700;
}

.pjga-shell.pjga-final-v12 .pjga-aperitif-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.pjga-shell.pjga-final-v12 .pjga-aperitif-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.pjga-shell.pjga-final-v12 .pjga-drink-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
}

.pjga-shell.pjga-final-v12 .pjga-card.pjga-is-after-first .pjga-header {
  align-items: center;
  padding: 18px clamp(24px, 5vw, 58px) 14px;
}

.pjga-shell.pjga-final-v12 .pjga-card.pjga-is-after-first .pjga-header h2 {
  margin: 0;
  font-size: clamp(2rem, 3.5vw, 2.8rem);
}

.pjga-shell.pjga-final-v12 .pjga-card.pjga-is-after-first .pjga-header :where(.pjga-eyebrow, p:not(.pjga-eyebrow), .pjga-final-trust, .pjga-header-badge) {
  display: none;
}

.pjga-shell.pjga-final-v12 .pjga-card.pjga-is-after-first .pjga-progress-wrap {
  padding-bottom: 18px;
}

.pjga-shell.pjga-final-v12 .pjga-choice {
  min-height: 82px;
  padding: 17px 19px;
}

.pjga-shell.pjga-final-v12 .pjga-choice-body strong,
.pjga-shell.pjga-final-v12 .pjga-extra-section legend,
.pjga-shell.pjga-final-v12 .pjga-choice-group > legend {
  font-size: 17px;
  line-height: 1.3;
}

.pjga-shell.pjga-final-v12 .pjga-sales-guide {
  display: grid;
  gap: 5px;
  margin: -4px 0 26px;
  padding: 18px 20px 18px 22px;
  border: 1px solid rgba(63, 145, 190, .35);
  border-left: 5px solid var(--pjga-v12-blue);
  border-radius: 14px;
  background: #ecf7fc;
  color: var(--pjga-v12-ink);
}

.pjga-shell.pjga-final-v12 .pjga-sales-guide__eyebrow {
  color: #357ea5;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pjga-shell.pjga-final-v12 .pjga-sales-guide__title {
  color: var(--pjga-v12-ink);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.25;
}

.pjga-shell.pjga-final-v12 .pjga-sales-guide__copy {
  max-width: 850px;
  color: var(--pjga-v12-copy);
  font-size: 15px;
  line-height: 1.5;
}

.pjga-shell.pjga-final-v12 .pjga-group-large .pjga-sales-guide {
  border-color: rgba(245, 111, 25, .42);
  border-left-color: var(--pjga-v12-orange);
  background: #fff1e5;
}

.pjga-shell.pjga-final-v12 .pjga-group-large .pjga-sales-guide__eyebrow {
  color: #b94d0a;
}

.pjga-shell.pjga-final-v12 .pjga-menu-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card {
  gap: 12px;
  min-height: 248px;
  padding: 23px;
  border-radius: 18px;
  border-color: rgba(16, 35, 49, .18);
  box-shadow: 0 8px 24px rgba(16, 35, 49, .045);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(16, 35, 49, .09);
}

.pjga-shell.pjga-final-v12 .pjga-menu-card.is-group-recommended {
  border-color: rgba(245, 111, 25, .55);
  background: linear-gradient(180deg, #fffaf5 0%, #fff 42%);
}

.pjga-shell.pjga-final-v12 .pjga-menu-card:has(input:checked) {
  border-color: var(--pjga-v12-orange);
  box-shadow: 0 0 0 4px rgba(245, 111, 25, .14), 0 16px 34px rgba(16, 35, 49, .1);
}

.pjga-shell.pjga-final-v12 .pjga-menu-card-top {
  gap: 6px;
  padding-right: 34px;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card-top strong {
  color: var(--pjga-v12-ink);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.14;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card-top b {
  color: #c9540d;
  font-size: 18px;
  line-height: 1.25;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card > span:not(.pjga-menu-card-top):not(.pjga-recommended):not(.pjga-group-badge) {
  color: var(--pjga-v12-copy);
  font-size: 15px;
  line-height: 1.5;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card .pjga-menu-promise {
  padding-bottom: 11px;
  border-bottom: 1px solid rgba(16, 35, 49, .1);
  color: var(--pjga-v12-ink) !important;
  font-weight: 700;
}

.pjga-shell.pjga-final-v12 .pjga-menu-details-toggle {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 40px;
  margin-top: auto;
  padding: 8px 12px;
  border: 2px solid var(--pjga-v12-orange);
  border-radius: 999px;
  color: #111;
  background: var(--pjga-v12-orange);
  box-shadow: 0 8px 18px rgba(245, 111, 25, .25);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
}

.pjga-shell.pjga-final-v12 .pjga-menu-details-toggle:hover,
.pjga-shell.pjga-final-v12 .pjga-menu-details-toggle:focus-visible {
  color: #fff;
  background: var(--pjga-v12-ink);
  border-color: var(--pjga-v12-ink);
}

.pjga-shell.pjga-final-v12 .pjga-menu-card.is-details-open {
  border-color: var(--pjga-v12-orange);
  background: linear-gradient(180deg, #fff7ec 0%, #fff 62%);
  box-shadow: 0 18px 38px rgba(16, 35, 49, .13), 0 0 0 4px rgba(245, 111, 25, .12);
}

.pjga-shell.pjga-final-v12 .pjga-menu-card.is-details-open .pjga-menu-details-toggle {
  color: #fff;
  background: var(--pjga-v12-ink);
  border-color: var(--pjga-v12-ink);
  box-shadow: none;
}

.pjga-shell.pjga-final-v12 .pjga-menu-card .pjga-menu-detail:not(.pjga-menu-selling-point) {
  padding: 10px 12px;
  border-left: 3px solid var(--pjga-v12-blue);
  border-radius: 0 8px 8px 0;
  background: #eef7fc;
}

.pjga-shell.pjga-final-v12 .pjga-menu-detail[hidden] { display: none !important; }

.pjga-shell.pjga-final-v12 .pjga-menu-card--custom {
  border-color: rgba(245, 111, 25, .42);
  background: linear-gradient(180deg, #fff7ed, #fff);
}

.pjga-shell.pjga-final-v12 .pjga-menu-card.is-unavailable {
  border-style: dashed;
  box-shadow: none;
  transform: none;
}

.pjga-shell.pjga-final-v12 .pjga-menu-selling-point {
  padding: 10px 12px;
  border-left: 3px solid var(--pjga-v12-orange);
  border-radius: 0 8px 8px 0;
  background: #fff4e9;
  color: #713309;
  font-weight: 700;
}

.pjga-shell.pjga-final-v12 .pjga-recommended,
.pjga-shell.pjga-final-v12 .pjga-group-badge {
  align-self: flex-start;
  width: fit-content;
  margin: -9px 0 0;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--pjga-v12-blue);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .045em;
  line-height: 1;
  text-transform: uppercase;
}

.pjga-shell.pjga-final-v12 .pjga-group-badge + .pjga-recommended {
  display: none;
}

.pjga-shell.pjga-final-v12 .pjga-group-large .pjga-group-badge {
  background: var(--pjga-v12-orange);
}

.pjga-shell.pjga-final-v12 .pjga-notice,
.pjga-shell.pjga-final-v12 .pjga-inline-note,
.pjga-shell.pjga-final-v12 .pjga-reservation-redirect,
.pjga-shell.pjga-final-v12 .pjga-nonbinding {
  padding: 18px 20px;
  font-size: 15px;
  line-height: 1.5;
}

.pjga-shell.pjga-final-v12 .pjga-button {
  min-height: 52px;
  padding: 13px 21px;
  font-family: var(--pjga-body-font) !important;
  font-size: 15px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .pjga-shell.pjga-final-v12 {
    margin: 20px auto;
  }

  .pjga-shell.pjga-final-v12 .pjga-card {
    border-radius: 18px;
  }

  .pjga-shell.pjga-final-v12 .pjga-header {
    padding: 30px 20px 23px;
  }

  .pjga-shell.pjga-final-v12 .pjga-header h2 {
    font-size: clamp(2.1rem, 10vw, 3rem);
  }

  .pjga-shell.pjga-final-v12 .pjga-header > div > p:not(.pjga-eyebrow) {
    font-size: 16px;
  }

  .pjga-shell.pjga-final-v12 .pjga-final-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .pjga-shell.pjga-final-v12 .pjga-final-trust span {
    justify-content: center;
  }

  .pjga-shell.pjga-final-v12 .pjga-final-trust span:nth-child(n + 2) {
    display: none;
  }

  .pjga-shell.pjga-final-v12 .pjga-panel {
    margin-inline: 6px;
    padding: 28px 17px 32px;
    overflow: hidden;
  }

  .pjga-shell.pjga-final-v12 .pjga-panel-heading {
    gap: 12px;
    margin-bottom: 24px;
  }

  .pjga-shell.pjga-final-v12 .pjga-panel-heading .pjga-step-number {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  .pjga-shell.pjga-final-v12 .pjga-panel-heading h3 {
    font-size: clamp(1.65rem, 7.7vw, 2.2rem);
  }

  .pjga-shell.pjga-final-v12 .pjga-grid-2,
  .pjga-shell.pjga-final-v12 .pjga-contact-name-grid,
  .pjga-shell.pjga-final-v12 .pjga-menu-grid,
  .pjga-shell.pjga-final-v12 .pjga-radio-row,
  .pjga-shell.pjga-final-v12 .pjga-aperitif-options {
    grid-template-columns: 1fr;
  }

  .pjga-shell.pjga-final-v12 .pjga-aperitif-option {
    align-items: flex-start;
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .pjga-shell.pjga-final-v12 .pjga-drink-badges {
    grid-column: 2;
    justify-content: flex-start;
  }

  .pjga-shell.pjga-final-v12 .pjga-aperitif-split {
    max-width: none;
    margin-left: 0;
  }

  .pjga-shell.pjga-final-v12 .pjga-sales-guide {
    margin-bottom: 20px;
    padding: 16px;
  }

  .pjga-shell.pjga-final-v12 .pjga-menu-grid {
    gap: 14px;
  }

  .pjga-shell.pjga-final-v12 .pjga-menu-card {
    min-height: 0;
    padding: 20px;
  }

  .pjga-shell.pjga-final-v12 .pjga-menu-card:hover {
    transform: none;
  }

  .pjga-shell.pjga-final-v12 .pjga-menu-details-toggle {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 38px;
    margin-top: 6px;
    padding: 7px 10px;
    border: 2px solid var(--pjga-v12-orange);
    border-radius: 999px;
    color: #111;
    background: var(--pjga-v12-orange);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
  }

  .pjga-shell.pjga-final-v12 .pjga-sticky {
    gap: 8px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
  }

  .pjga-shell.pjga-final-v12 .pjga-form {
    scroll-padding-bottom: 120px;
  }

  .pjga-shell.pjga-final-v12 :where(input, select, textarea, .pjga-choice, .pjga-menu-card) {
    scroll-margin-bottom: 120px;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate-empty .pjga-estimate {
    display: none;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate-empty .pjga-actions {
    width: 100%;
    margin-left: 0;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate-empty .pjga-actions .pjga-button {
    flex: 1 1 auto;
  }

  .pjga-shell.pjga-final-v12 .pjga-form:has(input:focus, select:focus, textarea:focus) .pjga-sticky {
    position: relative;
  }

  .pjga-shell.pjga-final-v12 .pjga-addon-controls {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .pjga-shell.pjga-final-v12 .pjga-card.pjga-is-after-first .pjga-header {
    padding: 15px 20px 11px;
  }

  .pjga-shell.pjga-final-v12 .pjga-card.pjga-is-after-first .pjga-header h2 {
    font-size: 2rem;
  }
}

@media (max-width: 430px) {
  .pjga-shell.pjga-final-v12 .pjga-header h2 {
    font-size: 2.15rem;
  }

  .pjga-shell.pjga-final-v12 .pjga-panel {
    padding-inline: 14px;
  }

  .pjga-shell.pjga-final-v12 .pjga-menu-card-top strong {
    font-size: 19px;
  }

  .pjga-shell.pjga-final-v12 .pjga-sticky {
    flex-wrap: wrap;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate {
    display: flex;
    align-items: baseline;
    flex: 1 1 100%;
    flex-wrap: wrap;
    gap: 2px 7px;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate small {
    flex: 0 0 auto;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate strong {
    font-size: 1.05rem;
  }

  .pjga-shell.pjga-final-v12 .pjga-estimate span {
    flex: 1 1 100%;
    max-width: none;
    font-size: 11px;
  }

  .pjga-shell.pjga-final-v12 .pjga-actions {
    width: 100%;
    margin-left: 0;
  }

  .pjga-shell.pjga-final-v12 .pjga-actions .pjga-button {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: 14px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pjga-shell.pjga-final-v12 *,
  .pjga-shell.pjga-final-v12 *::before,
  .pjga-shell.pjga-final-v12 *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
