@font-face {
  font-family: Bangers;
  src: url('assets/schrift-bangers.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: Outfit;
  src: url('assets/schrift-outfit.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  --ink: #161616;
  --muted-text: #464646;
  --page: #fff;
  --panel: #fff;
  --subtle: #f5f6f7;
  --border: #dadde0;
  --red: #ef402e;
  --black: #171717;
  --footer: #1e252a;
  --footer-text: #fff;
  --shadow: 0 18px 42px rgba(14,19,22,.10);
  font-size: 100%;
  --heading-ink: #101010;
  --heading-outline: #fff;
  --yellow: #fbde44;
  --orange: #ff914d;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 105px;
}

body {
  margin: 0;
  font: 400 1rem/1.65 Outfit,Arial,sans-serif;
  color: var(--ink);
  background: var(--page);
}

body,button,input,select,textarea {
  font-family: Outfit,Arial,sans-serif;
}

button,input,select,textarea {
  font-size: 1rem;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
}

h1,h2,h3,p {
  margin-top: 0;
}

h1,h2,h3 {
  line-height: 1.14;
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline: 4px solid #1863cc;
  outline-offset: 3px;
}

[hidden] {
  display: none !important;
}

.wrap {
  width: min(1240px,calc(100% - 48px));
  margin-inline: auto;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: -100px;
  left: 12px;
  padding: 12px 18px;
  background: #fff;
  color: #141414;
  border: 2px solid #141414;
}

.skip-link:focus {
  top: 10px;
}

.eyebrow {
  letter-spacing: .14em;
  font-size: .81rem;
  font-weight: 850;
  text-transform: uppercase;
}

.center {
  text-align: center;
}

/* Navigation: ruhig und professionell; CTA als Comic-Akzent */

.site-header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 30;
  box-shadow: 0 2px 18px rgba(0,0,0,.065);
}

.nav {
  height: 98px;
  display: grid;
  grid-template-columns: 188px 1fr auto;
  align-items: center;
  gap: 30px;
}

.brand {
  width: max-content;
  display: block;
}

.brand img {
  display: block;
  width: 151px;
  height: 86px;
  object-fit: contain;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(19px,2.4vw,43px);
}

.nav-links a {
  font-weight: 750;
  font-size: 1.04rem;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s;
}

.nav-links a:hover {
  color: #bd3c22;
}

.menu-toggle {
  display: none;
}

.order-button {
  isolation: isolate;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  min-height: 58px;
  padding: 13px 27px;
  overflow: hidden;
  border: 3px solid var(--black);
  border-radius: 15px;
  box-shadow: 4px 5px 0 var(--black);
  background: linear-gradient(112deg,#e83428 0%,#f84930 38%,#ff6745 55%,#ec352b 81%);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font: 400 1.46rem/1.1 Bangers,Impact,sans-serif;
  letter-spacing: .035em;
  text-align: center;
  transition: transform .2s,box-shadow .2s;
  white-space: nowrap;
}

.order-button::before {
  content: "";
  position: absolute;
  inset: -45% auto -45% -42%;
  width: 25%;
  transform: rotate(26deg);
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);
  z-index: -1;
  animation: none;
}

.order-button:hover {
  transform: translateY(-3px);
  box-shadow: 4px 8px 0 var(--black);
}

.order-button:active {
  transform: translateY(1px);
  box-shadow: 2px 3px 0 var(--black);
}

.order-button span {
  font-family: Outfit,Arial,sans-serif;
  font-size: 1.2rem;
  font-weight: 900;
}

.nav-order {
  font-size: 1.18rem;
  min-height: 52px;
  padding: 10px 21px;
  border-radius: 13px;
  animation: button-nudge 12s ease-in-out infinite;
}

.nav-order::before {
  animation: button-shine 10s ease-in-out infinite;
}

.order-button:not(.nav-order):hover::before, .order-button:not(.nav-order):focus-visible::before {
  animation: button-shine .9s ease-out 1;
}

.nav-order:hover,.nav-order:focus-visible {
  animation-play-state: paused;
}

@keyframes button-nudge {
  0%,86%,92%,100% {
    transform: rotate(0);
  }

  88%,90% {
    transform: rotate(-1.1deg);
  }

  89%,91% {
    transform: rotate(1.1deg);
  }
}

@keyframes button-shine {
  0%,66%,100% {
    left: -45%;
  }

  76% {
    left: 135%;
  }
}

/* Hero: kraftvoll, aber weniger verspielt als das Comic-Muster */

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(115deg,#fffdf3 3%,#fff4d2 38%,#ffe76f 73%,#ff914d 110%);
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: radial-gradient(#9f5e1f 1.15px,transparent 1.15px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg,transparent 26%,black 100%);
  opacity: .22;
}

.hero::after {
  content: "";
  position: absolute;
  bottom: -40px;
  right: -130px;
  width: min(55vw,720px);
  aspect-ratio: 1;
  background: radial-gradient(circle,#ffd2367d 0%,#ff9d4645 51%,transparent 68%);
  z-index: -1;
}

.hero-rays {
  position: absolute;
  width: 670px;
  height: 670px;
  background: repeating-conic-gradient(from 20deg,rgba(240,114,40,.11) 0 8deg,transparent 8deg 26deg);
  mask-image: radial-gradient(circle,transparent 0 23%,#000 35%,transparent 74%);
  pointer-events: none;
  z-index: -1;
  right: -115px;
  top: -150px;
  opacity: .82;
}

.hero-grid {
  display: grid;
  align-items: center;
  gap: 40px;
  grid-template-columns: 1.06fr .94fr;
  min-height: 640px;
  padding: 76px 0;
}

.hero-copy {
  position: relative;
  z-index: 2;
}

.hero-eyebrow {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  background: #fffdf3e8;
  border: 2px solid #161616;
  border-radius: 9px;
  padding: 9px 13px;
  box-shadow: 3px 4px 0 #161616;
  letter-spacing: .10em;
  font-size: .84rem;
  font-weight: 850;
  margin-bottom: 27px;
  color: #171717;
  text-transform: none;
}

.hero-eyebrow span {
  color: #171717;
  font-size: inherit;
  font-weight: 850;
}

.hero h1 {
  text-transform: uppercase;
  font: 400 clamp(3.7rem,5.55vw,6.25rem)/.92 Bangers,Impact,sans-serif;
  color: #fbde44;
  -webkit-text-stroke: 1.3px #121212;
  paint-order: stroke fill;
  filter: none;
  text-shadow: 4px 5px 0 #121212;
  margin-bottom: 20px;
  letter-spacing: .016em;
}

.hero h1 span {
  paint-order: stroke fill;
  color: inherit;
  display: block;
  -webkit-text-stroke: inherit;
  text-shadow: inherit;
}

.hero-subtitle {
  font: 400 clamp(2.5rem,3.75vw,4.05rem)/1.03 Bangers,Impact,sans-serif;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: #111;
  -webkit-text-stroke: 1px #fff;
  paint-order: stroke fill;
  text-shadow: 3px 4px 0 #fff;
  max-width: 690px;
  margin: 0 0 28px;
}

.benefit h2, .section-head h2, .highlight-content h3, .about-copy h2, .contact-panel-intro h3, .last-cta h2, .form-success h4, .legal-page h1 {
  color: var(--heading-ink);
  text-shadow: 2px 2px 0 var(--heading-outline);
  -webkit-text-stroke: .35px var(--heading-outline);
  paint-order: stroke fill;
}

.hero-description {
  font-weight: 530;
  line-height: 1.56;
  color: #2d2923;
  font-size: clamp(1.08rem,1.45vw,1.27rem);
  max-width: 555px;
  margin-bottom: 27px;
}

.hero-order {
  font-size: 1.65rem;
  min-height: 67px;
}

.hero-visual {
  min-width: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-visual img {
  display: block;
  width: 100%;
  max-height: 535px;
  object-fit: contain;
  filter: drop-shadow(0 16px 14px #9a54152f);
  position: relative;
  z-index: 2;
}

.hero-dot {
  position: absolute;
  width: 83%;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: rotate(-18deg);
  top: 7%;
  right: 0;
  border: 2px dashed #db6a2759;
}

.hero-visual::before {
  content: "";
  position: absolute;
  inset: 8% -2% 6% 8%;
  border-radius: 50%;
  background: radial-gradient(circle,#fff2a7 0%,#ffb15483 55%,transparent 75%);
  z-index: -1;
  pointer-events: none;
}

/* Vorteile */

.benefits {
  background: var(--page);
  padding: 70px 0 77px;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 50px;
}

.benefit {
  text-align: center;
  padding: 0 16px;
}

.benefit img {
  width: 167px;
  height: 167px;
  object-fit: contain;
  display: block;
  margin: 0 auto 7px;
}

.benefit h2 {
  font: 400 2.18rem Bangers,Impact,sans-serif;
  margin: 0 0 12px;
  letter-spacing: .016em;
}

.benefit p {
  font-size: 1.05rem;
  color: var(--muted-text);
  max-width: 335px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Highlights: Karten dürfen beliebig erweitert werden, pro Reihe 3 */

.section {
  padding: 95px 0;
}

.highlights-section,.contact-section {
  background: var(--subtle);
}

.section-head {
  text-align: center;
  max-width: 750px;
  margin: 0 auto 42px;
}

.section-head .eyebrow {
  color: #ac4922;
  margin-bottom: 8px;
}

.section-head h2 {
  font: 400 clamp(3rem,5vw,4.4rem)/1.05 Bangers,Impact,sans-serif;
  margin: 0 0 13px;
}

/* Kleiner Comic-Akzent direkt an der Überschrift – kein eigener Zeilenumbruch */
.section-head h2 {
  display: inline-block;
  position: relative;
}

.section-head h2::after {
  content: "";
  position: absolute;
  right: -0.19em;
  bottom: 0.15em;
  width: 0.115em;
  height: 0.115em;
  border-radius: 50%;
  background: #ed452e;
  box-shadow: 0 1px 0 #a92317;
}

.section-head>p:last-child {
  font-size: 1.1rem;
  color: var(--muted-text);
  margin: 0;
}

.highlights-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 25px;
  align-items: stretch;
}

.highlight-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 21px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform .22s,box-shadow .22s;
}

.highlight-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 23px 44px rgba(14,19,22,.15);
}

/* HIGHLIGHTS: Produktbilder immer vollständig anzeigen (kein Zuschneiden). */
.highlight-image {
  aspect-ratio: 4 / 3;
  height: auto;
  position: relative;
  background: #ffdb68;
  overflow: hidden;
}

.highlight-image > .highlight-product-image {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform .3s;
}

.highlight-card:hover .highlight-product-image {
  transform: scale(1.015);
}

/* Haupt-Badge: bei leerem Feld im HTML den gesamten span-Block entfernen. */
.highlight-badge {
  position: absolute;
  top: 17px;
  left: 17px;
  z-index: 2;
  min-width: 84px;
  text-align: center;
  padding: 9px 16px 7px;
  border: 2px solid #1c1c1c;
  box-shadow: 3px 4px 0 #1c1c1c;
  border-radius: 10px;
  transform: rotate(-4deg);
  font: 400 1.45rem/1 Bangers,Impact,sans-serif;
  letter-spacing: .045em;
  color: #141414;
}

.badge--neu     { background: #ffba00; }
.badge--angebot { background: #ff4545; }
.badge--beliebt { background: #7ed957; }
.badge--aktion  { background: #4787ff; }

/* HIGHLIGHTS – KI-KENNZEICHNUNG
   Klein, dezent und rechts unten direkt auf dem Produktbild.
   Kein weißes Kästchen oder Hintergrund. Der Tooltip erscheint bei Mouseover.
   Die Kennzeichnung wird nur angezeigt, wenn der zugehörige HTML-Block vorhanden ist.
*/
.highlight-ai-mark {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: .72;
  cursor: default;
  transition: opacity .2s ease;
}

.highlight-ai-mark:hover,
.highlight-ai-mark:focus-visible {
  opacity: 1;
}

.highlight-ai-mark img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.18));
}

.highlight-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 26px 26px 29px;
}

/* Food-Icons bleiben direkt neben der Überschrift und umbrechen bei Bedarf. */
.highlight-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 10px;
  row-gap: 7px;
  margin-bottom: 13px;
}

.highlight-content h3 {
  font: 400 2.05rem/1.08 Bangers,Impact,sans-serif;
  margin: 0;
  overflow-wrap: anywhere;
}

/* Food-Badges: einheitliche, ruhige runde Icons direkt neben dem Produktnamen.
   Icon ergänzen/entfernen: Im HTML den kompletten highlight-food-badge-Span bearbeiten.
   Die Bezeichnung erscheint beim Darüberfahren als normaler Browser-Tooltip. */
.highlight-food-icons {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 6px;
  flex-shrink: 0;
}

.highlight-food-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  padding: 4px;
  border: 1px solid #e5dfd2;
  border-radius: 50%;
  background: #fffaf0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  cursor: default;
  vertical-align: middle;
}

.highlight-food-badge img {
  display: block;
  width: 25px;
  height: 25px;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.highlight-content p {
  color: var(--muted-text);
  font-size: 1rem;
  line-height: 1.64;
  margin: 0;
}

.highlights-cta {
  margin-top: 45px;
}

.order-button--yellow {
  background: linear-gradient(115deg,#ffd733 0%,#fbde44 48%,#fff28a 52%,#ffcf2d 100%);
  color: #171717;
}

.order-button--yellow::before {
  background: linear-gradient(90deg,transparent,#fff9,transparent);
}

/* Über uns: luftiges Raster, Akzente rund ums Bild */

.about-section {
  background: var(--page);
  overflow: hidden;
}

.about-grid {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: clamp(48px,6vw,97px);
  align-items: center;
}

.about-visual {
  position: relative;
  isolation: isolate;
  padding: 26px 24px 28px 14px;
  align-self: center;
}

.about-visual::before {
  content: "";
  position: absolute;
  inset: 4% 0 3% 8%;
  z-index: -1;
  transform: rotate(-4deg);
  border-radius: 42px 110px 45px 100px;
  background: linear-gradient(135deg,#fbde44,#ff914d);
}

.about-visual::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  top: -20px;
  left: -16px;
  border-radius: 50%;
  background-image: radial-gradient(#ec6726 2px,transparent 2px);
  background-size: 16px 16px;
  opacity: .22;
  z-index: -1;
}

.about-image-frame {
  border: 7px solid var(--panel);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 16px 46px #2f2b251c;
  transform: rotate(-1deg);
}

.about-image-frame img {
  display: block;
  width: 100%;
  height: auto;
}

.about-spark {
  position: absolute;
  right: -1px;
  top: 0;
  font-size: 3.25rem;
  color: #e74c27;
  text-shadow: 2px 2px #141414;
  transform: rotate(12deg);
}

.about-slice {
  position: absolute;
  bottom: -10px;
  right: -17px;
  width: 87px;
  height: 87px;
  background: #fff;
  border: 3px solid #171717;
  border-radius: 50%;
  box-shadow: 5px 5px 0 #fbde44;
  display: grid;
  place-items: center;
  line-height: 1;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
  font-size: 2.5rem;
  transform: rotate(0deg);
  padding: 0;
}

.about-copy .eyebrow {
  color: #b84720;
  margin-bottom: 14px;
}

.about-copy h2 {
  font: 400 clamp(3rem,4.05vw,4.25rem)/1.02 Bangers,Impact,sans-serif;
  margin: 0 0 28px;
}

.about-copy h2 span {
  color: inherit;
}

.about-copy p:not(.eyebrow) {
  font-size: 1.05rem;
  line-height: 1.76;
  color: var(--muted-text);
  margin: 0 0 18px;
}

.about-copy strong {
  color: var(--ink);
}

.about-copy .about-lead {
  font-size: 1.14rem !important;
  border-left: 5px solid #fbde44;
  padding-left: 15px;
}

.about-copy .about-closing {
  font-weight: 780;
  color: var(--ink) !important;
}

.about-closing span {
  color: #ba421e;
}

/* Kontakt */

.contact-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  margin-bottom: 48px;
}

.contact-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
  padding: 28px 20px 30px;
  border: 1px solid var(--border);
  border-radius: 19px;
  background: var(--panel);
  box-shadow: 0 12px 25px rgba(0,0,0,.055);
  text-decoration: none;
  transition: transform .2s,box-shadow .2s;
}

.contact-card[href]:hover {
  transform: translateY(-3px);
  box-shadow: 0 17px 30px rgba(0,0,0,.1);
}

.contact-icon {
  display: grid;
  place-items: center;
  background: linear-gradient(140deg,#fff8da,#ffe0bc);
  border-radius: 18px;
  width: 98px;
  height: 98px;
  margin-bottom: 12px;
}

.contact-icon img {
  display: block;
  object-fit: contain;
  width: 79px;
  height: 79px;
}

.contact-card h3 {
  font-size: 1.16rem;
  font-weight: 850;
  margin: 2px 0 9px;
}

.contact-card p {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
  overflow-wrap: anywhere;
}

.contact-card small {
  color: var(--muted-text);
  margin-top: 8px;
  font-size: .9rem;
}

.contact-panel {
  display: grid;
  grid-template-columns: .73fr 1.27fr;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--panel);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.contact-panel-intro {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg,#fbde44,#ffb566);
  color: #171717;
  padding: 42px 39px;
}

.contact-panel-intro .eyebrow {
  font-size: .78rem;
}

.contact-panel-intro h3 {
  font: 400 clamp(2.65rem,3vw,3.45rem)/1.05 Bangers,Impact,sans-serif;
  margin: 16px 0;
}

.contact-panel-intro p:not(.eyebrow) {
  font-size: 1.04rem;
  line-height: 1.55;
  max-width: 300px;
}

.contact-panel-decoration {
  position: absolute;
  bottom: 23px;
  left: 30px;
  right: 20px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  font-size: 5.5rem;
  color: #fff8;
}

.contact-panel-decoration span:last-child {
  color: #e74a2b77;
}

.form-area {
  padding: 35px 43px;
}

.request-choice {
  border: 0;
  margin: 0 0 23px;
  padding: 0;
  min-width: 0;
}

.request-choice legend {
  font-weight: 850;
  margin-bottom: 12px;
}

.request-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.request-option {
  position: relative;
  cursor: pointer;
}

.request-option input {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  margin: 0;
}

.request-option span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 81px;
  padding: 13px 14px;
  border: 2px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  transition: background .2s,border-color .2s;
}

.request-option strong {
  font-size: 1rem;
}

.request-option small {
  font-size: .87rem;
  color: var(--muted-text);
}

.request-option input:checked+span {
  border-color: #c24624;
  background: #fff4d6;
  box-shadow: inset 0 0 0 1px #c24624;
  color: #171717;
}

.request-option input:checked+span small {
  color: #413b32;
}

.request-option input:focus-visible+span {
  outline: 4px solid #1863cc;
  outline-offset: 3px;
}

.field {
  margin-bottom: 18px;
}

.field label {
  display: block;
  font-weight: 750;
  margin-bottom: 6px;
  font-size: .95rem;
}

.field label .optional {
  color: var(--muted-text);
  font-size: .89rem;
  font-weight: 450;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.field input,.field select,.field textarea {
  display: block;
  width: 100%;
  min-height: 47px;
  padding: 11px 13px;
  border: 1.5px solid #abb0b5;
  border-radius: 9px;
  color: var(--ink);
  background: var(--panel);
  outline-offset: 1px;
}

.field textarea {
  resize: vertical;
  line-height: 1.45;
}

.field input:focus,.field select:focus,.field textarea:focus {
  border-color: #bf522a;
}

.privacy-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.45;
  font-size: .94rem;
  cursor: pointer;
  margin: 12px 0 21px;
}

.privacy-check input {
  margin: 4px 0 0;
  width: 19px;
  height: 19px;
  accent-color: #bf4b21;
  flex: none;
}

.privacy-check a {
  font-weight: 700;
  text-underline-offset: 3px;
}

.form-status {
  font-size: .95rem;
  min-height: 1rem;
  margin: 15px 0 0;
}

.form-status.is-error {
  color: #a5211d;
  font-weight: 700;
}

.honeypot {
  position: absolute !important;
  left: -99999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-success {
  padding: 43px 10px;
  text-align: center;
}

.form-success>span {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 2px solid #226937;
  background: #d7f4dc;
  color: #1a6a34;
  margin: 0 auto 14px;
  font-size: 2.5rem;
}

.form-success h4 {
  font: 400 2.5rem Bangers,Impact,sans-serif;
  margin: 0 0 12px;
}

.form-success p {
  max-width: 440px;
  margin: 0 auto 20px;
}

.text-button {
  border: 0;
  padding: 8px 0;
  background: transparent;
  color: #ae4321;
  text-decoration: underline;
  font-weight: 850;
}

/* Letzter CTA */

.last-cta {
  background: linear-gradient(105deg,#fada43,#ffb55d);
  color: #171717;
  padding: 52px 0;
}

.last-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
}

.last-cta .eyebrow {
  margin: 0 0 8px;
}

.last-cta h2 {
  font: 400 clamp(2.6rem,4vw,4rem)/1.04 Bangers,Impact,sans-serif;
  margin: 0 0 8px;
}

.last-cta p:last-child {
  font-size: 1.09rem;
  margin: 0;
}

/* Footer: exakt 3 Spalten + schmale rechtliche Leiste */

.footer {
  background: var(--footer);
  color: var(--footer-text);
  padding: 67px 0 0;
}

.footer-grid {
  display: grid;
  grid-template-columns: .95fr 1fr 1.12fr;
  gap: clamp(35px,6vw,85px);
  align-items: start;
}

.footer-logo-panel {
  width: 250px;
  max-width: 100%;
  min-height: 160px;
  padding: 14px 19px;
  background: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-logo-panel img {
  display: block;
  max-height: 158px;
  width: 100%;
  object-fit: contain;
}

.social-links {
  display: flex;
  gap: 12px;
  margin-top: 21px;
}

.social-links a {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  transition: background .2s,transform .2s;
  background: #fff;
  border: 1px solid #fff;
  box-shadow: 0 3px 12px #0002;
}

.social-links a:hover {
  transform: translateY(-2px);
  background: #fbde44;
}

.social-links img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.footer h2 {
  font-size: 1.21rem;
  line-height: 1.3;
  margin: 0 0 19px;
  color: #fff;
}

.footer h3 {
  font-size: 1rem;
  color: #fbde44;
  margin: 22px 0 8px;
}

.footer address {
  font-style: normal;
  color: #e3e8eb;
  font-size: 1rem;
  line-height: 1.85;
}

.footer-address>a {
  display: inline-block;
  color: #fff;
  margin-top: 16px;
  text-underline-offset: 4px;
}

.hours {
  margin: 0;
  max-width: 350px;
}

.hours>div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 0;
  border-bottom: 1px solid #ffffff2c;
}

.hours dt,.hours dd {
  font-size: .96rem;
}

.hours dd {
  margin: 0;
  white-space: nowrap;
}

/* Sonderöffnungszeiten: ruhige, übersichtliche Liste statt farbiger Boxen. */
#special-hours { margin-top: 23px; }
#special-hours h3 { margin-bottom: 11px; }
#special-hours-list { border-top: 1px solid rgba(255,255,255,.22); }
.special-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.22);
  font-size: .94rem;
}
.special-details { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
.special-date {
  display: inline-block;
  padding: 3px 8px;
  border: 1px solid rgba(251,222,68,.6);
  border-radius: 6px;
  color: #fbde44;
  font-size: .82rem;
  font-weight: 750;
  white-space: nowrap;
}
.special-name { color: #fff; font-weight: 650; line-height: 1.4; }
.special-time { color: #fff; font-weight: 750; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 430px) {
  .special-row { align-items: start; }
  .special-details { flex-direction: column; align-items: flex-start; gap: 6px; }
  .special-time { padding-top: 4px; }
}

.footer-bottom {
  margin-top: 52px;
  padding: 21px 0 26px;
  border-top: 1px solid #ffffff30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px 30px;
  flex-wrap: wrap;
  color: #d1d8dd;
  font-size: .88rem;
}

.footer-bottom p {
  margin: 0;
}

.footer-bottom a {
  text-decoration: none;
}

.footer-bottom a:hover,.legal-links button:hover {
  text-decoration: underline;
}

.legal-links {
  display: flex;
  gap: 17px;
  align-items: center;
  flex-wrap: wrap;
}

.legal-links button {
  color: inherit;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* Kompaktes Accessibility-Menü links; Tagmodus bleibt Standard */

.accessibility-widget {
  position: fixed;
  bottom: 18px;
  left: 16px;
  z-index: 45;
}

.accessibility-trigger {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 2px solid #111;
  border-radius: 50%;
  background: #fbde44;
  color: #171717;
  box-shadow: 3px 4px 0 #171717;
  font-weight: 900;
  font-size: 1.22rem;
}

.accessibility-panel {
  position: absolute;
  bottom: 68px;
  left: 0;
  width: min(315px,calc(100vw - 28px));
  padding: 18px;
  background: var(--panel);
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 10px 35px #0003;
}

.accessibility-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 15px;
}

.accessibility-head button {
  font-size: 1.4rem;
  padding: 0 6px;
  border: none;
  background: none;
  color: var(--ink);
}

.setting-button {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--subtle);
  color: var(--ink);
  padding: 10px;
  text-align: left;
  font-weight: 650;
}

.setting-button+.setting-button {
  margin-top: 9px;
}

.font-controls {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 12px 0;
}

.font-controls span {
  flex: 1;
  font-weight: 650;
}

.font-controls button {
  min-width: 43px;
  min-height: 43px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--subtle);
  color: var(--ink);
  font-weight: 800;
}

.accessibility-panel>a {
  display: block;
  font-size: .92rem;
  margin-top: 14px;
  text-underline-offset: 3px;
}

/* Cookie-/Datenschutzdialog */

.consent-backdrop {
  position: fixed;
  inset: 0;
  background: #0009;
  z-index: 70;
}

.consent-dialog {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 71;
  width: min(1050px,calc(100% - 24px));
  max-height: min(94vh,820px);
  overflow: auto;
  padding: 24px 27px;
  background: #fff;
  color: #171717;
  border: 1px solid #d9d9d9;
  border-radius: 18px;
  box-shadow: 0 16px 65px #0005;
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 23px;
  align-items: center;
}

.consent-dialog .eyebrow {
  font-size: .74rem;
  color: #9b3a1d;
  margin: 0 0 5px;
}

.consent-dialog h2 {
  font-size: 1.48rem;
  margin: 0 0 10px;
}

.consent-dialog p:not(.eyebrow) {
  font-size: .94rem;
  line-height: 1.55;
  color: #363636;
  margin: 0;
}

.consent-dialog a {
  color: #912e16;
  text-underline-offset: 3px;
  font-weight: 700;
}

.consent-buttons {
  display: grid;
  gap: 9px;
}

.consent-buttons button {
  padding: 12px 10px;
  border-radius: 9px;
  border: 1.5px solid #171717;
  background: #fff;
  color: #171717;
  font-weight: 800;
}

.consent-buttons .consent-accept {
  background: #fbde44;
}

.consent-buttons .consent-reject {
  background: #fff;
}

.consent-buttons .consent-settings {
  border-color: #aaa;
  background: #f3f3f3;
}

.consent-details {
  margin-top: 15px;
  padding: 13px;
  background: #faf5e8;
  border-radius: 9px;
}

.consent-dialog .consent-details p+p {
  margin-top: 8px;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --ink: #f3f5f6;
  --muted-text: #d2d7dd;
  --page: #171b20;
  --panel: #252d34;
  --subtle: #1e242a;
  --border: #54606c;
  --footer: #11161b;
  --footer-text: #f5f5f5;
  --shadow: 0 14px 35px #0006;
  --heading-ink: #fff;
  --heading-outline: #101318;
}

html[data-theme="dark"] .site-header {
  background: #1c2329;
}

html[data-theme="dark"] .nav-links a {
  color: #f3f5f6;
}

html[data-theme="dark"] .menu-toggle span {
  background: #fff;
}

html[data-theme="dark"] .hero {
  background: linear-gradient(115deg,#fff9e3 0%,#ffe8a1 48%,#ffb562 100%);
}

html[data-theme="dark"] .hero::before {
  opacity: .09;
}

html[data-theme="dark"] .hero-eyebrow {
  background: #fff8e8;
  border-color: #171717;
  color: #171717;
}

html[data-theme="dark"] .hero-eyebrow span {
  color: #171717;
}

html[data-theme="dark"] .hero h1 {
  color: #fbde44;
  filter: none;
  -webkit-text-stroke: 1.3px #121212;
  text-shadow: 4px 5px 0 #121212;
}

html[data-theme="dark"] .hero h1 span {
  color: inherit;
  -webkit-text-stroke: inherit;
  text-shadow: inherit;
}

html[data-theme="dark"] .hero-subtitle {
  color: #111;
  -webkit-text-stroke: 1px #fff;
  text-shadow: 3px 4px 0 #fff;
}

html[data-theme="dark"] .hero-description {
  color: #2c241f;
}

html[data-theme="dark"] .hero::after {
  opacity: .45;
}

html[data-theme="dark"] .request-option input:checked+span {
  background: #52432e;
  color: #fff;
  border-color: #ffd15b;
}

html[data-theme="dark"] .request-option input:checked+span small {
  color: #f0ece6;
}

html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea {
  border-color: #83919d;
}

html[data-theme="dark"] .contact-icon {
  background: #4a3930;
}

html[data-theme="dark"] .about-copy h2 span,html[data-theme="dark"] .about-closing span {
  color: var(--heading-ink);
}

html[data-theme="dark"] .about-visual::before {
  opacity: .76;
}

html[data-theme="dark"] .last-cta,html[data-theme="dark"] .contact-panel-intro {
  color: #171717;
}

html[data-theme="dark"] .last-cta h2,html[data-theme="dark"] .last-cta p,html[data-theme="dark"] .contact-panel-intro p,html[data-theme="dark"] .contact-panel-intro h3 {
  color: #171717;
}

html[data-theme="dark"] .contact-panel-intro h3, html[data-theme="dark"] .last-cta h2 {
  color: #111;
  text-shadow: 2px 2px 0 #fff;
  -webkit-text-stroke: .35px #fff;
}

html[data-theme="dark"] .footer {
  background: #11161b;
}

html[data-theme="dark"] .text-button {
  color: #ffc48e;
}

/* Kleinere Bildschirme */

@media (max-width:1090px) {
  .nav {
    grid-template-columns: 150px 1fr auto;
    gap: 12px;
  }

  .brand img {
    width: 130px;
  }

  .nav-links {
    gap: 18px;
  }

  .nav-links a {
    font-size: .98rem;
  }

  .nav-order {
    padding-inline: 14px;
    font-size: 1.08rem;
  }

  .hero-grid {
    gap: 25px;
  }

  .highlight-image {
    height: auto;
  }

  .about-grid {
    gap: 45px;
  }

  .footer-grid {
    gap: 35px;
  }
}

@media (max-width:850px) {
  .nav {
    grid-template-columns: 125px 1fr auto;
    gap: 10px;
  }

  .brand img {
    width: 119px;
  }

  .nav-links {
    gap: 11px;
  }

  .nav-links a {
    font-size: .91rem;
  }

  .nav-order {
    font-size: .99rem;
    min-height: 48px;
    padding: 9px 11px;
  }

  .nav-order span {
    display: none;
  }

  .hero-grid {
    grid-template-columns: 1fr .91fr;
  }

  .hero h1 {
    font-size: clamp(3.35rem,6vw,4.8rem);
  }

  .hero-subtitle {
    font-size: clamp(2.35rem,4.5vw,3.2rem);
  }

  .hero-visual img {
    max-height: 460px;
  }

  .benefits-grid {
    gap: 18px;
  }

  .benefit {
    padding: 0 8px;
  }

  .benefit img {
    width: 142px;
    height: 142px;
  }

  .highlight-content {
    padding: 20px;
  }

  .highlight-content h3 {
    font-size: 1.7rem;
  }

  .contact-panel {
    grid-template-columns: 1fr;
  }

  .contact-panel-intro {
    padding: 30px 32px;
  }

  .contact-panel-decoration {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-hours {
    grid-column: 1/-1;
    max-width: 480px;
  }
}

@media (max-width:690px) {
  html {
    scroll-padding-top: 76px;
  }

  .wrap {
    width: min(100% - 34px,560px);
  }

  .site-header {
    position: sticky;
  }

  .nav {
    height: 76px;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
  }

  .brand img {
    width: 101px;
    height: 65px;
  }

  .nav-order {
    grid-column: 2;
    min-height: 43px;
    font-size: .92rem;
    padding: 7px 10px;
    border-width: 2px;
    border-radius: 10px;
    box-shadow: 2px 3px 0 #171717;
  }

  .menu-toggle {
    display: flex;
    grid-column: 3;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    min-width: 43px;
    min-height: 43px;
    background: transparent;
    border: 1.5px solid #9fa3a8;
    border-radius: 9px;
    padding: 10px;
  }

  .menu-toggle span {
    height: 2px;
    width: 21px;
    background: #171717;
  }

  .nav-links {
    display: none;
    position: absolute;
    top: 76px;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px 18px 18px;
    background: var(--panel);
    box-shadow: 0 12px 22px #0002;
  }

  .nav-links.is-open {
    display: flex;
  }

  .nav-links a {
    font-size: 1.08rem;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 53px 0 25px;
    min-height: auto;
  }

  .hero h1 {
    font-size: clamp(3.6rem,12vw,5.2rem);
    text-shadow: 3px 4px 0 #121212;
  }

  .hero-subtitle {
    font-size: clamp(2.55rem,9.25vw,3.8rem);
    max-width: 530px;
    margin-bottom: 23px;
  }

  .hero-description {
    font-size: 1.08rem;
  }

  .hero-eyebrow {
    font-size: .78rem;
    flex-wrap: wrap;
    gap: 4px 8px;
  }

  .hero-order {
    font-size: 1.4rem;
    min-height: 58px;
  }

  .hero-visual {
    margin-top: 8px;
  }

  .hero-visual img {
    width: min(100%,490px);
    max-height: 340px;
  }

  .hero-rays {
    right: -340px;
  }

  .benefits {
    padding: 38px 0 48px;
  }

  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .benefit {
    padding: 9px 8px;
  }

  .benefit img {
    width: 150px;
    height: 150px;
  }

  .benefit h2 {
    font-size: 2rem;
  }

  .benefit p {
    font-size: 1rem;
    max-width: 420px;
  }

  .section {
    padding: 68px 0;
  }

  .section-head {
    margin-bottom: 30px;
  }

  .section-head h2 {
    font-size: 3.2rem;
  }

  .section-head>p:last-child {
    font-size: 1rem;
  }

  .highlights-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .highlight-card {
    max-width: 490px;
    width: 100%;
    margin-inline: auto;
  }

  .highlight-image {
    height: auto;
  }

  .highlight-content h3 {
    font-size: 2rem;
  }

  .highlights-cta {
    margin-top: 33px;
  }

  .highlights-cta .order-button {
    max-width: 100%;
    white-space: normal;
    font-size: clamp(1.15rem, 4.3vw, 1.4rem);
    padding-inline: 14px;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .about-visual {
    max-width: 500px;
    margin: 0 auto;
    padding: 15px 13px 17px 8px;
  }

  .about-slice {
    width: 70px;
    height: 70px;
    font-size: 2.1rem;
  }

  .about-copy h2 {
    font-size: 3.15rem;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-bottom: 30px;
  }

  .contact-card {
    padding: 18px 22px;
  }

  .contact-icon {
    width: 81px;
    height: 81px;
  }

  .contact-icon img {
    width: 67px;
    height: 67px;
  }

  .contact-panel-intro {
    padding: 28px 25px;
  }

  .form-area {
    padding: 27px 22px;
  }

  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .request-option span {
    padding: 11px;
    min-height: 85px;
  }

  .last-cta {
    padding: 39px 0;
  }

  .last-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
  }

  .last-cta .order-button {
    width: 100%;
  }

  .footer {
    padding-top: 44px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 37px;
  }

  .footer-logo-panel {
    width: 235px;
    min-height: 142px;
  }

  .footer-hours {
    grid-column: auto;
    max-width: 100%;
  }

  .hours {
    max-width: 100%;
  }

  .footer-bottom {
    margin-top: 36px;
    align-items: flex-start;
    flex-direction: column;
  }

  .legal-links {
    gap: 12px 18px;
  }

  .consent-dialog {
    grid-template-columns: 1fr;
    gap: 16px;
    bottom: 8px;
    padding: 19px;
    max-height: 95vh;
  }

  .consent-dialog h2 {
    font-size: 1.28rem;
  }

  .consent-buttons {
    gap: 8px;
  }

  .accessibility-widget {
    left: 10px;
    bottom: 9px;
  }

  .accessibility-trigger {
    width: 47px;
    height: 47px;
  }

  .accessibility-panel {
    bottom: 59px;
  }
}

@media (max-width:380px) {
  .nav {
    gap: 6px;
  }

  .brand img {
    width: 87px;
  }

  .nav-order {
    font-size: .83rem;
    padding: 7px 8px;
    max-width: 144px;
    white-space: normal;
  }

  .nav-order span {
    display: none;
  }

  .menu-toggle {
    min-width: 39px;
    padding: 8px;
  }

  .hero h1 {
    font-size: clamp(3.1rem,12.2vw,3.55rem);
  }

  .hero-subtitle {
    font-size: clamp(2.25rem,9vw,2.65rem);
  }

  .hero-eyebrow {
    font-size: .67rem;
    letter-spacing: .08em;
  }

  .request-options {
    gap: 7px;
  }

  .request-option span {
    padding: 8px;
  }

  .request-option strong {
    font-size: .92rem;
  }

  .request-option small {
    font-size: .8rem;
  }
}

/* Größere Schrift in rem: auch auf mobilen Geräten, ohne abgeschnittenen Text */

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

  *,*::before,*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Eigenständige Rechtstext-Seiten */

.legal-topbar {
  background: #fff;
  border-bottom: 1px solid #e6e6e6;
}

.legal-topbar .wrap {
  min-height: 83px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.legal-topbar img {
  width: 102px;
  height: 70px;
  object-fit: contain;
}

.legal-back {
  font-weight: 750;
  color: #191919;
  text-underline-offset: 4px;
}

.legal-page {
  padding: 65px 0 95px;
  max-width: 900px;
}

.legal-page h1 {
  font: 400 clamp(2.7rem,5vw,4.1rem) Bangers,Impact,sans-serif;
  margin: 0 0 25px;
}

.legal-page h2 {
  font-size: 1.3rem;
  line-height: 1.3;
  margin: 32px 0 10px;
}

.legal-page p,.legal-page li {
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.legal-warning {
  padding: 17px 20px;
  border-left: 5px solid #e8612b;
  background: #fff4dd;
  color: #242424;
}

.legal-footer {
  padding: 22px 0;
  background: #1e252a;
  color: #fff;
}

.legal-footer .wrap {
  display: flex;
  gap: 14px 26px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.legal-footer a {
  color: #fff;
}

.legal-page a {
  text-underline-offset: 3px;
}

html[data-theme="dark"] .legal-topbar {
  background: #20272e;
}

html[data-theme="dark"] .legal-back {
  color: #fff;
}

.form-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-height: 46px;
  padding: 11px 21px;
  font: 700 1rem/1.35 Outfit, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  white-space: normal;
  border: 1px solid #b33420;
  border-radius: 9px;
  background: #e9442e;
  box-shadow: none;
  color: #fff;
  transition: background-color .18s ease, transform .18s ease;
}

.form-submit:hover {
  background: #c93624;
  transform: translateY(-1px);
}

.form-submit:active {
  transform: translateY(0);
}

.form-submit:disabled {
  opacity: .65;
  cursor: wait;
}

html[data-theme="dark"] .form-submit {
  background: #ff7954;
  border-color: #ff7954;
  color: #161616;
}

html[data-theme="dark"] .form-submit:hover {
  background: #ff9c7f;
}

@media (max-width: 690px) {
  .form-submit {
    width: auto;
    min-height: 48px;
    font-size: 1rem;
  }
}

/* Mobile Navigation: Barrierefreiheit im Menü statt schwebender Schaltfläche */
.accessibility-label { display: none; }
@media (max-width: 690px) {
  .nav-links .accessibility-widget {
    position: static;
    margin-top: 6px;
    width: 100%;
  }
  .nav-links .accessibility-trigger {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    height: auto;
    min-height: 48px;
    padding: 11px 14px;
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    color: var(--ink);
    font-family: Outfit, sans-serif;
    font-size: 1.08rem;
    font-weight: 650;
    text-align: left;
  }
  .nav-links .accessibility-trigger:hover,
  .nav-links .accessibility-trigger:focus-visible {
    background: var(--surface, #f4f4f4);
  }
  .nav-links .accessibility-symbol {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    height: 30px;
    background: #fbde44;
    color: #171717;
    border: 1px solid #171717;
    border-radius: 50%;
    font-size: .83rem;
    font-weight: 800;
  }
  .nav-links .accessibility-label { display: inline; }
  .nav-links .accessibility-panel {
    position: fixed;
    top: auto;
    bottom: 12px;
    left: 12px;
    width: min(340px, calc(100vw - 24px));
    max-height: min(80vh, 580px);
    overflow-y: auto;
    z-index: 100;
  }
}


/* Bestellbuttons: besser lesbare weiße Comic-Schrift mit schwarzem Schatten. */
.order-button { text-shadow: 1px 2px 0 #111, 0 0 1px #111; }
.order-button--yellow { text-shadow: 1px 2px 0 #111, 0 0 1px #111; }

/* Cookie-Einwilligung: klare gleichwertige Aktionen, Statistik optional. */
.consent-buttons .consent-accept { background: #fbde44; color: #111; }
.consent-buttons .consent-reject { background: #ef402e; color: #fff; }
.consent-buttons .consent-accept:hover, .consent-buttons .consent-reject:hover { filter: brightness(.96); }
.consent-category { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid #ded8c7; color: #191919; }
.consent-category:last-of-type { border-bottom: 0; }
.consent-category strong { display: block; font-size: .96rem; }
.consent-dialog .consent-category p, .consent-description { display: block; font-size: .86rem !important; line-height: 1.45; color: #373737 !important; margin-top: 5px !important; }
.consent-always { font-size: .8rem; font-weight: 700; white-space: nowrap; }
.consent-category--toggle { cursor: pointer; }
.consent-category--toggle input { width: 23px; height: 23px; min-width: 23px; accent-color: #c83223; cursor: pointer; }
.consent-save { display: block; margin-top: 14px; width: 100%; min-height: 44px; background: #fbde44; color: #111; border: 2px solid #111; border-radius: 9px; font-weight: 800; }
.consent-open { overflow: hidden; }
.legal-footer nav button { background: none; border: 0; color: inherit; padding: 0; text-decoration: underline; cursor: pointer; }
.legal-page { overflow-wrap: anywhere; }
.legal-page ul { padding-left: 1.45rem; }
.legal-page li { margin: .3rem 0; }
.legal-page h3 { font-size: 1.12rem; margin-top: 1.3rem; }
@media (max-width: 690px) {
  .consent-dialog { max-height: min(86dvh, 760px); padding: 18px 17px; }
  .consent-category { gap: 10px; }
  .consent-category--toggle input { width: 26px; height: 26px; min-width: 26px; }
}


/* Oktober 2026 – Super Pizza Feinschliff: CTA, Hero und Systemseiten. */
/* Deutlich kräftigerer schwarzer Comic-Schatten, auch im Nachtmodus. */
.hero h1, .hero h1 span,
html[data-theme="dark"] .hero h1,
html[data-theme="dark"] .hero h1 span {
  text-shadow: 6px 7px 0 #111, 2px 2px 0 #111;
}
/* Rechtliche Seiten: Navigation bleibt beim Scrollen oben sichtbar. */
.legal-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  box-shadow: 0 2px 18px rgba(0,0,0,.065);
}
.legal-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
}
.legal-back:hover { color: #c93624; }
/* Vollständiger Original-Footer der Startseite auf allen Systemseiten. */
.legal-page + .footer { margin-top: 0; }
@media (max-width: 690px) {
  .legal-topbar .wrap { min-height: 76px; }
  .legal-topbar img { width: 94px; height: 62px; }
  .legal-back { font-size: .92rem; text-align: right; }
  .hero h1, .hero h1 span,
  html[data-theme="dark"] .hero h1,
  html[data-theme="dark"] .hero h1 span {
    text-shadow: 4px 5px 0 #111, 1px 1px 0 #111;
  }
}


/* ================================================================
   RECHTLICHE SEITEN – SCHLICHTES TYPOGRAFISCHES DESIGN
   Nur .legal-page--designed; Startseite und übrige Elemente unverändert.
   H1: schwarz, Bangers ohne Effekte. H2: Super-Pizza-Rot.
   Fließtext und weitere Überschriften: schwarz (heller Modus).
   Einziger Kasten: Inhaltsverzeichnis der Datenschutzerklärung.
   ================================================================ */
.legal-page--designed {
  max-width: 960px;
  padding-top: clamp(36px, 5vw, 64px);
  padding-bottom: clamp(72px, 8vw, 112px);
  color: #161616;
}

.legal-page--designed > .legal-page-title {
  color: #111;
  font: 400 clamp(2.7rem, 5.4vw, 4.25rem)/1.08 Bangers, Impact, sans-serif;
  letter-spacing: .012em;
  text-shadow: none;
  -webkit-text-stroke: 0;
  filter: none;
  margin: 0 0 16px;
  max-width: 100%;
}

.legal-page--designed > .legal-updated {
  font-size: .96rem;
  color: #161616;
  margin: 0 0 38px;
}

/* Abschnitte sind reiner Text – keine Karten, Rahmen oder Schatten. */
.legal-page--designed .legal-section,
.legal-page--designed .legal-section:nth-of-type(2n) {
  position: relative;
  padding: 0;
  margin: 0 0 clamp(38px, 4.5vw, 54px);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  scroll-margin-top: 115px;
}

.legal-page--designed .legal-section > h2,
.legal-page--designed .legal-section:nth-of-type(2n) > h2 {
  color: #dc3b28;
  font: 400 clamp(1.75rem, 2.7vw, 2.2rem)/1.18 Bangers, Impact, sans-serif;
  letter-spacing: .01em;
  text-shadow: none;
  margin: 0 0 16px;
  text-wrap: pretty;
}

.legal-page--designed .legal-section h3 {
  color: #161616;
  font: 800 1.14rem/1.4 Outfit, Arial, sans-serif;
  margin: 27px 0 10px;
}

.legal-page--designed .legal-section p,
.legal-page--designed .legal-section li,
.legal-page--designed > p,
.legal-page--designed .legal-section strong {
  color: #161616;
  font-size: 1rem;
  line-height: 1.78;
}
.legal-page--designed .legal-section p { margin: 0 0 17px; }
.legal-page--designed .legal-section p:last-child,
.legal-page--designed .legal-section ul:last-child { margin-bottom: 0; }
.legal-page--designed .legal-section ul,
.legal-page--designed .legal-section ol {
  margin: 7px 0 20px;
  padding-left: 1.55rem;
}
.legal-page--designed .legal-section li { margin: 6px 0; padding-left: .15rem; }
.legal-page--designed .legal-section a,
.legal-page--designed .legal-section a:not(.legal-section-back) {
  color: #161616;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.legal-page--designed .legal-section a:hover { text-decoration-thickness: 2px; }

/* Auch zusätzliche Hinweise werden ohne Box dargestellt. */
.legal-page--designed .legal-note,
.legal-page--designed .legal-warning {
  color: #161616;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

/* Nur das Inhaltsverzeichnis bleibt als übersichtlicher Kasten. */
.legal-page--designed .legal-toc {
  padding: clamp(22px, 3vw, 34px);
  margin: 0 0 clamp(44px, 5vw, 62px);
  background: #fff6dc;
  border: 2px solid #1c1c1c;
  border-radius: 15px;
  box-shadow: none;
  color: #161616;
  scroll-margin-top: 115px;
}
.legal-page--designed .legal-toc-title {
  color: #161616;
  font: 400 clamp(1.8rem, 3vw, 2.35rem)/1.1 Bangers, Impact, sans-serif;
  margin: 0 0 6px;
}
.legal-page--designed .legal-toc-lead {
  color: #161616;
  font-size: .96rem;
  margin: 0 0 18px;
}
.legal-page--designed .legal-toc-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.legal-page--designed .legal-toc-list li {
  margin: 0;
  min-width: 0;
  color: #161616;
  font-size: .95rem;
  line-height: 1.45;
}
.legal-page--designed .legal-toc-list a {
  display: block;
  padding: 9px 10px;
  border-radius: 7px;
  color: #161616;
  text-decoration: none;
  font-weight: 650;
  transition: background-color .15s ease;
}
.legal-page--designed .legal-toc-list a:hover,
.legal-page--designed .legal-toc-list a:focus-visible {
  background: #fbde44;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Datenschutzerklärung: ein einzelner, rechts fixierter Nach-oben-Button. */
.legal-scroll-top {
  position: fixed;
  z-index: 45;
  right: clamp(15px, 2.5vw, 30px);
  bottom: clamp(16px, 3vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #fff;
  background: #161616;
  border: 2px solid #161616;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .16);
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease, visibility .2s ease;
}
.legal-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.legal-scroll-top:hover,
.legal-scroll-top:focus-visible { background: #dc3b28; border-color: #dc3b28; color: #fff; }
.legal-scroll-top svg { display: block; }

/* Nachtmodus bleibt lesbar, ohne die helle Gestaltung zu verändern. */
html[data-theme="dark"] .legal-page--designed { color: #f5f5f5; }
html[data-theme="dark"] .legal-page--designed > .legal-page-title {
  color: #fff;
  text-shadow: none;
}
html[data-theme="dark"] .legal-page--designed > .legal-updated,
html[data-theme="dark"] .legal-page--designed .legal-section h3,
html[data-theme="dark"] .legal-page--designed .legal-section p,
html[data-theme="dark"] .legal-page--designed .legal-section li,
html[data-theme="dark"] .legal-page--designed .legal-section strong,
html[data-theme="dark"] .legal-page--designed > p,
html[data-theme="dark"] .legal-page--designed .legal-section a,
html[data-theme="dark"] .legal-page--designed .legal-section a:not(.legal-section-back),
html[data-theme="dark"] .legal-page--designed .legal-note,
html[data-theme="dark"] .legal-page--designed .legal-warning { color: #f5f5f5; }
html[data-theme="dark"] .legal-page--designed .legal-section > h2,
html[data-theme="dark"] .legal-page--designed .legal-section:nth-of-type(2n) > h2 { color: #ff7666; }
html[data-theme="dark"] .legal-page--designed .legal-toc,
html[data-theme="dark"] .legal-page--designed .legal-toc-title,
html[data-theme="dark"] .legal-page--designed .legal-toc-lead,
html[data-theme="dark"] .legal-page--designed .legal-toc-list li,
html[data-theme="dark"] .legal-page--designed .legal-toc-list a { color: #161616; }

@media (max-width: 680px) {
  .legal-page--designed .legal-toc-list { grid-template-columns: 1fr; gap: 2px; }
  .legal-page--designed .legal-section { margin-bottom: 38px; }
  .legal-scroll-top { width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-scroll-top { transition: none; transform: none; }
}

/* SUPER PIZZA FINAL | Footer 3 Spalten, mobil vertikal | Cookie-Dialog kompakt */
.footer {background:#151b1f;color:#f3f4f4;padding:56px 0 0;position:relative;}
.footer::before {content:none;}
.footer .footer-grid {display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1.08fr) minmax(0,.85fr);gap:clamp(36px,5vw,92px);align-items:start;}
.footer .footer-about,.footer .footer-hours,.footer .footer-links {min-width:0;margin:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0;}
.footer .footer-logo-panel {width:192px;max-width:100%;height:154px;display:flex;align-items:center;justify-content:center;padding:12px;background:#fff;border-radius:13px;margin:0 0 23px;}
.footer .footer-logo-panel img {display:block;max-width:100%;max-height:130px;width:auto;height:auto;object-fit:contain;}
.footer h2 {color:#fbde44;font-size:1.08rem;font-weight:800;line-height:1.35;margin:0 0 21px;letter-spacing:0;}
.footer .footer-about h2 {margin-bottom:11px;}
.footer .footer-about address {font-style:normal;font-size:.94rem;line-height:1.78;color:#dce1e3;}
.footer .footer-phone {display:inline-block;color:#f3f4f4;font-size:.91rem;font-weight:650;margin:12px 0 22px;text-decoration:none;}
.footer .footer-phone:hover {color:#fbde44;text-decoration:underline;}
.footer .social-links {display:flex;gap:10px;flex-wrap:wrap;margin:0;}
.footer .social-links a {display:grid;place-items:center;width:39px;height:39px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#fff;box-shadow:none;transition:transform .15s,background .15s;}
.footer .social-links a:hover,.footer .social-links a:focus-visible {background:#fbde44;transform:translateY(-2px);}
.footer .social-links img {width:21px;height:21px;object-fit:contain;}
.footer .hours {margin:0;max-width:none;}
.footer .hours>div {display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.footer .hours>div:first-child {padding-top:0;}
.footer .hours dt,.footer .hours dd {margin:0;font-size:.91rem;line-height:1.5;color:#dfe3e5;}
.footer .hours dd {color:#fff;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;}
.footer #special-hours {margin:0;}
.footer #special-hours[hidden] {display:none!important;}
.footer .special-hours-list {display:grid;gap:6px;padding-top:11px;}
.footer .special-row {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(251,222,68,.25);border-radius:9px;background:rgba(251,222,68,.10);}
.footer .special-details {display:flex;flex-direction:column;gap:3px;min-width:0;}
.footer .special-date {font-size:.77rem;font-weight:800;color:#fbde44;line-height:1.3;}
.footer .special-name {font-size:.86rem;color:#f4f4f4;line-height:1.3;}
.footer .special-time {font-size:.87rem;color:#fff;font-weight:750;white-space:nowrap;font-variant-numeric:tabular-nums;}
.footer .footer-links {display:flex;flex-direction:column;align-items:flex-start;gap:13px;}
.footer .footer-links h2 {margin-bottom:7px;}
.footer .footer-links a,.footer .footer-links button {display:inline-block;margin:0;padding:0;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;color:#dce1e3;font:500 .94rem/1.45 Outfit,Arial,sans-serif;text-align:left;text-decoration:none;cursor:pointer;}
.footer .footer-links a:hover,.footer .footer-links button:hover,.footer .footer-links a:focus-visible,.footer .footer-links button:focus-visible {color:#fbde44;text-decoration:underline;text-underline-offset:4px;background:none;}
.footer .footer-bottom {margin-top:48px;padding:19px 0 24px;border-top:1px solid rgba(255,255,255,.17);display:block;}
.footer .footer-bottom p {margin:0;color:#b8c0c4;font-size:.83rem;line-height:1.5;text-align:left;}
.footer .footer-bottom a {color:inherit;text-decoration:none;}
.footer .footer-bottom a:hover {color:#fbde44;text-decoration:underline;}
@media(max-width:800px){
  .footer {padding-top:43px;}
  .footer .footer-grid {display:flex;flex-direction:column;align-items:stretch;gap:30px;}
  .footer .footer-about,.footer .footer-hours,.footer .footer-links {width:100%;}
  .footer .footer-logo-panel {width:200px;height:160px;margin:0 auto 23px;}
  .footer .footer-about h2 {margin-bottom:10px;}
  .footer .footer-phone {margin:11px 0 0;}
  .footer .social-links {margin-top:0;}
  .footer .footer-about {display:contents;}
  .footer .footer-logo-panel {order:0;}
  .footer .footer-about h2 {order:1;}
  .footer .footer-about address {order:2;}
  .footer .footer-phone {order:3;}
  .footer .footer-hours {order:4;margin-top:3px;}
  .footer .footer-links {order:5;gap:12px;}
  .footer .social-links {order:6;}
  .footer .footer-bottom {margin-top:30px;padding:19px 0 27px;}
  .footer .footer-bottom p {text-align:center;font-size:.79rem;}
}
/* The mobile layout above uses display:contents to place brand children in the required order. */
/* Cookie consent: compact first layer, larger details on demand */
.consent-backdrop {position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.44);backdrop-filter:none;}
.consent-backdrop[hidden],.consent-dialog[hidden],.consent-details[hidden] {display:none!important;}
.consent-dialog {position:fixed;z-index:1001;left:50%;bottom:clamp(12px,3vh,28px);top:auto;transform:translateX(-50%);width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);display:flex;flex-direction:column;gap:0;overflow:hidden;background:#fff;color:#191919;border:1px solid #dedede;border-radius:17px;box-shadow:0 16px 65px rgba(0,0,0,.3);font-family:Outfit,Arial,sans-serif;}
.consent-dialog.is-expanded {width:min(790px,calc(100% - 24px));}
.consent-dialog .consent-body {min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 26px 10px;}
.consent-dialog h2 {font-size:clamp(1.3rem,2.4vw,1.65rem);line-height:1.2;letter-spacing:-.02em;color:#141414;margin:0 0 12px;font-weight:800;}
.consent-dialog .consent-intro p {font-size:.91rem;line-height:1.55;color:#343434;margin:0 0 8px;}
.consent-dialog .consent-intro p:last-child {margin:0;}
.consent-dialog a {color:#242424;text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.consent-dialog .consent-actions {flex:0 0 auto;padding:12px 26px 19px;background:#fff;border:0;}
.consent-dialog .consent-buttons {display:flex;justify-content:flex-end;align-items:center;gap:10px;}
.consent-dialog .consent-buttons button {min-height:41px;min-width:0;padding:9px 16px;border:0;border-radius:9px;font:650 .88rem/1.3 Outfit,Arial,sans-serif;cursor:pointer;box-shadow:none;}
.consent-dialog .consent-buttons .consent-settings {margin-right:auto;padding-left:0;padding-right:8px;background:none;color:#232323;text-decoration:underline;text-underline-offset:3px;}
.consent-dialog .consent-buttons .consent-reject {background:#f0f0f0;color:#171717;}
.consent-dialog .consent-buttons .consent-accept {background:#171717;color:#fff;}
.consent-dialog .consent-buttons .consent-settings:hover {color:#b43b29;background:none;}
.consent-dialog .consent-buttons .consent-reject:hover {background:#e3e3e3;}
.consent-dialog .consent-buttons .consent-accept:hover {background:#333;}
.consent-dialog .consent-legal {display:flex;gap:11px;justify-content:flex-start;align-items:center;padding-top:9px;color:#6c6c6c;font-size:.78rem;}
.consent-dialog .consent-legal a {color:#656565;font-weight:500;font-size:.78rem;}
.consent-dialog .consent-details {margin-top:19px;padding-top:16px;border-top:1px solid #e5e5e5;}
.consent-dialog .consent-detail-heading h3 {font-size:1.1rem;color:#222;margin:0 0 8px;}
.consent-dialog .consent-detail-heading p {font-size:.88rem;line-height:1.5;color:#555;margin:0 0 9px;}
.consent-dialog .consent-category {display:block;margin-top:12px;padding:16px;border:1px solid #e6e6e6;border-radius:10px;background:#fafafa;}
.consent-dialog .consent-category-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;}
.consent-dialog .consent-category p {font-size:.86rem!important;line-height:1.52;color:#454545;margin:0 0 10px;}
.consent-dialog .consent-category ul {font-size:.86rem;}
.consent-dialog .consent-category input {width:23px;height:23px;accent-color:#c83d29;}
.consent-dialog .consent-save {width:100%;margin-top:15px;background:#171717;color:#fff;border:0;border-radius:9px;min-height:45px;font-weight:750;cursor:pointer;}
.consent-open {overflow:hidden;}
@media(max-width:600px){
  .consent-dialog {bottom:10px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:15px;}
  .consent-dialog.is-expanded {width:calc(100% - 20px);}
  .consent-dialog .consent-body {padding:19px 19px 9px;}
  .consent-dialog h2 {font-size:1.36rem;margin-bottom:10px;}
  .consent-dialog .consent-intro p {font-size:.84rem;line-height:1.46;margin-bottom:7px;}
  .consent-dialog .consent-actions {padding:10px 19px 15px;}
  .consent-dialog .consent-buttons {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .consent-dialog .consent-buttons .consent-settings {grid-column:1/-1;margin:0;justify-self:start;min-height:29px;padding:3px 0;font-size:.83rem;}
  .consent-dialog .consent-buttons button {min-height:42px;padding:9px 7px;font-size:.83rem;}
  .consent-dialog .consent-legal {padding-top:9px;}
  .consent-dialog .consent-category {padding:13px;}
}


/* 2026-10-28: konsistente Spalten, einfache Sonderzeiten und rechte Cookie-Karte */
@media (min-width:801px) {
  .footer .footer-grid {grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3.5vw,64px);}
  .footer .footer-about,.footer .footer-hours,.footer .footer-links {width:100%;}
}
.footer .special-hours-list {display:block;gap:0;padding:0;}
.footer .special-row {display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 0;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;background:transparent;min-height:0;}
.footer .special-details {display:block;flex:1 1 auto;min-width:0;}
.footer .special-date-name,.footer .special-time {font-size:.91rem;font-weight:700;line-height:1.5;color:#fbde44;}
.footer .special-time {flex:0 0 auto;white-space:nowrap;text-align:right;}
.footer .footer-links a[target="_blank"] {font-weight:500;}
/* Compacter first-party consent dialog, positioned at the right on desktop */
@media(min-width:701px){
  .consent-dialog,.consent-dialog.is-expanded {left:auto;right:clamp(18px,3.5vw,68px);bottom:clamp(18px,3vh,32px);transform:none;width:min(590px,calc(100vw - 36px));}
  .consent-dialog.is-expanded {width:min(710px,calc(100vw - 36px));}
}
.consent-dialog .consent-intro p {font-weight:400;}
.consent-dialog .consent-buttons {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.consent-dialog .consent-buttons button {margin:0;min-height:45px;border-radius:9px;padding:10px 8px;text-align:center;text-decoration:none;font-size:.83rem;font-weight:750;}
.consent-dialog .consent-buttons .consent-settings {display:inline-flex;justify-content:center;align-items:center;margin:0;padding:10px 7px;background:#f1f1ef;color:#212121;text-decoration:none;border:1px solid #dadada;}
.consent-dialog .consent-buttons .consent-reject {background:#dc3b28;color:#fff;}
.consent-dialog .consent-buttons .consent-accept {background:#fbde44;color:#161616;}
.consent-dialog .consent-buttons .consent-settings:hover {background:#e6e6e3;color:#171717;}
.consent-dialog .consent-buttons .consent-reject:hover {background:#b93120;color:#fff;}
.consent-dialog .consent-buttons .consent-accept:hover {background:#f0d33b;color:#161616;}
.consent-dialog .consent-legal {justify-content:center;text-align:center;}
.consent-dialog .consent-legal a {font-weight:400;}
@media(max-width:700px){
  .consent-dialog,.consent-dialog.is-expanded {left:50%;right:auto;transform:translateX(-50%);}
  .consent-dialog .consent-buttons {grid-template-columns:1fr 1fr;gap:8px;}
  .consent-dialog .consent-buttons .consent-settings {grid-column:1/-1;justify-self:stretch;min-height:42px;padding:9px 8px;}
  .consent-dialog .consent-buttons .consent-reject,.consent-dialog .consent-buttons .consent-accept {min-height:44px;}
}
@media(max-width:390px){
  .footer .special-date-name,.footer .special-time {font-size:.8rem;}
  .consent-dialog .consent-buttons button {font-size:.76rem;}
}

/* Super Pizza – Abschlusskorrekturen: präziser 3-Spalten-Footer und CMP-Kategorien */
@media (min-width: 801px) {
  .footer .footer-grid {grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr) minmax(0, 0.78fr);gap:clamp(38px,4.4vw,82px);justify-content:space-between;}
  .footer .footer-links {padding-left:clamp(5px,1vw,20px);}
}
.consent-dialog .consent-buttons {grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
.consent-dialog .consent-buttons button,.consent-dialog .consent-buttons .consent-settings {width:100%;min-width:0;min-height:48px;display:flex;justify-content:center;align-items:center;text-align:center;margin:0;padding:8px 10px;line-height:1.25;}
.consent-dialog .consent-save {background:#fbde44;color:#161616;border:1px solid #d5b930;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease;}
.consent-dialog .consent-save:hover {background:#efd02d;color:#161616;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15);}
.consent-dialog .consent-save:focus-visible {outline:3px solid #226bdd;outline-offset:3px;}
.consent-dialog .consent-legal a {color:#171717!important;font-weight:500;text-decoration:underline;}
.consent-dialog .consent-legal a:hover {color:#9f2b1f!important;}
.consent-dialog .consent-detail-heading {margin-bottom:20px;}
.consent-dialog .consent-detail-heading h3 {font-size:1.25rem;margin:0 0 12px;}
.consent-dialog .consent-detail-heading p {font-size:.91rem;line-height:1.55;margin:0 0 10px;}
.consent-dialog .sp-consent-group {margin:12px 0;padding:14px 15px;background:#fff;border:1px solid #dedede;border-radius:12px;}
.consent-dialog .sp-consent-group-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;}
.consent-dialog .sp-consent-group h4 {font-size:1rem;margin:0;line-height:1.35;color:#1d1d1d;font-weight:800;}
.consent-dialog .sp-status-active {font-size:.76rem;font-weight:750;color:#1e6f40;background:#e8f4eb;border-radius:99px;padding:4px 9px;white-space:nowrap;}
.consent-dialog .sp-provider {border:1px solid #e4e4e4;border-radius:9px;background:#fafafa;min-width:0;overflow:hidden;}
.consent-dialog .sp-provider summary {list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;color:#202020;font-size:.9rem;font-weight:700;}
.consent-dialog .sp-provider summary::-webkit-details-marker {display:none;}
.consent-dialog .sp-provider summary:hover {background:#f1f1ee;}
.consent-dialog .sp-provider summary:focus-visible {outline:3px solid #226bdd;outline-offset:-3px;}
.consent-dialog .sp-provider-title {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.consent-dialog .sp-provider-badge {color:#1e6f40;background:#e5f2e8;border-radius:99px;padding:3px 8px;font-weight:750;font-size:.73rem;}
.consent-dialog .sp-provider-optional {color:#555;background:#ededed;border-radius:99px;padding:3px 8px;font-size:.73rem;font-weight:600;}
.consent-dialog .sp-chevron {width:9px;height:9px;border-right:2px solid #777;border-bottom:2px solid #777;transform:rotate(45deg);transition:transform .2s;flex:none;margin:0 3px 4px;}
.consent-dialog .sp-provider[open] .sp-chevron {transform:rotate(225deg);margin-top:7px;}
.consent-dialog .sp-provider-content {border-top:1px solid #e3e3e3;padding:13px 15px 16px;background:#fff;}
.consent-dialog .sp-provider-content p {font-size:.87rem;line-height:1.55;color:#343434;margin:0 0 12px;}
.consent-dialog .sp-provider-content p:last-child {margin-bottom:0;}
.consent-dialog .sp-provider-content ul {padding-left:20px;margin:4px 0 12px;}
.consent-dialog .sp-provider-content li {font-size:.86rem;line-height:1.55;}
.consent-dialog .sp-provider-content a {color:#202020;font-weight:500;overflow-wrap:anywhere;}
.consent-dialog .sp-empty-cookies {font-size:.88rem;color:#666;margin:8px 0 0;}
.consent-dialog .sp-provider-row {display:flex;align-items:flex-start;gap:12px;}
.consent-dialog .sp-provider-row>.sp-provider {flex:1;}
.consent-dialog .sp-provider-switch {margin:9px 2px 0 0;}
.consent-dialog .sp-switch-label {display:inline-flex;align-items:center;cursor:pointer;position:relative;flex:none;min-width:42px;min-height:28px;}
.consent-dialog .sp-switch-input {position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;}
.consent-dialog .sp-switch-track {width:42px;height:25px;background:#b4b4b4;border-radius:50px;display:inline-block;position:relative;transition:background .17s;}
.consent-dialog .sp-switch-track:before {content:'';position:absolute;top:3px;left:3px;background:#fff;width:19px;height:19px;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .17s;}
.consent-dialog .sp-switch-input:checked+.sp-switch-track {background:#dc3b28;}
.consent-dialog .sp-switch-input:checked+.sp-switch-track:before {transform:translateX(17px);}
.consent-dialog .sp-switch-input:focus-visible+.sp-switch-track {outline:3px solid #226bdd;outline-offset:3px;}
@media (max-width:800px) {
  .consent-dialog .consent-buttons {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .consent-dialog .consent-buttons .consent-settings {grid-column:1/-1;}
  .consent-dialog .consent-buttons button {font-size:.83rem;}
  .consent-dialog .sp-consent-group {padding:11px;}
}
@media (prefers-reduced-motion:reduce) {.consent-dialog .consent-save,.consent-dialog .sp-chevron,.consent-dialog .sp-switch-track,.consent-dialog .sp-switch-track:before {transition:none;}}

/* FINAL 28.10.2026 — angeglichene Spalten und seriöse Rechtstexte */
@media(min-width:801px){
  .footer .footer-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(30px,3.2vw,58px)!important;justify-content:initial!important;}
  .footer .footer-links {padding-left:0!important;}
}
.footer .footer-logo-panel {width:172px!important;height:137px!important;padding:10px!important;border-radius:13px!important;}
.footer .footer-logo-panel img {max-height:116px!important;max-width:100%!important;}
.footer .footer-links {align-items:flex-start!important;}
@media(max-width:800px){ .footer .footer-logo-panel {width:180px!important;height:142px!important;margin-left:auto!important;margin-right:auto!important;} }
/* Nur ein Schalter pro Kategorie in der Übersicht. Provider-Schalter in ausklappbaren Details. */
.consent-dialog .sp-consent-group-head {min-width:0;}
.consent-dialog .sp-consent-group-head h4 {min-width:0;overflow-wrap:anywhere;font-size:.98rem;}
.consent-dialog .sp-provider-detail-switch {display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;padding:9px 0 13px;border-bottom:1px solid #e7e7e7;}
.consent-dialog .sp-provider-detail-name {font-weight:750;font-size:.88rem;}
.consent-dialog .sp-provider-detail-switch .sp-switch-label {margin:0;}
.consent-dialog .sp-provider-state {display:inline-flex;color:#5f6062;background:#ececec;border-radius:99px;padding:3px 8px;font-size:.74rem;font-weight:700;}
.consent-dialog .sp-provider-state.is-on {color:#1c6b3d;background:#e5f2e8;}
.consent-dialog .sp-category-state {display:inline-block;flex:0 0 auto;font-size:.76rem;font-weight:750;color:#555;background:#ededed;border-radius:30px;padding:4px 9px;}
.consent-dialog .sp-category-state.is-on {color:#186a3c;background:#e4f1e8;}
.consent-dialog .consent-legal {padding-top:17px!important;gap:13px!important;}
/* Hinweis: Zusatz-Widget entfernt; normale Browser-Zoomfunktionen bleiben erhalten. */
.accessibility-widget {display:none!important;}
/* Rechtstexte: klare Typografie, kein Bangers, keine Comic-Karten */
.legal-page--designed {max-width:1010px!important;padding-top:clamp(38px,5vw,65px)!important;padding-bottom:clamp(54px,6vw,90px)!important;}
.legal-page--designed .legal-page-title {font:800 clamp(2rem,4vw,2.85rem)/1.16 Outfit,Arial,sans-serif!important;letter-spacing:-.035em!important;color:#191919!important;margin-bottom:14px!important;text-shadow:none!important;}
.legal-page--designed .legal-section>h2,.legal-page--designed .legal-section:nth-of-type(2n)>h2 {font:750 clamp(1.3rem,2.2vw,1.65rem)/1.35 Outfit,Arial,sans-serif!important;letter-spacing:-.016em!important;color:#c93624!important;text-shadow:none!important;margin-bottom:17px!important;}
.legal-page--designed .legal-section {margin-bottom:clamp(36px,4vw,52px)!important;}
.legal-page--designed .legal-section p,.legal-page--designed>p,.legal-page--designed .legal-section li {font:400 1rem/1.8 Outfit,Arial,sans-serif!important;}
.legal-page--designed .legal-toc {padding:clamp(20px,3vw,32px)!important;background:#f7f8f9!important;border:1px solid #dedfe2!important;border-radius:12px!important;}
.legal-page--designed .legal-toc-title {font:750 1.35rem/1.3 Outfit,Arial,sans-serif!important;letter-spacing:0!important;}
.legal-page--designed .legal-toc-list {list-style:none!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px!important;}
.legal-page--designed .legal-toc-list a {padding:10px 6px!important;background:transparent!important;border-radius:3px!important;text-decoration:none!important;color:#252525!important;font-weight:500!important;}
.legal-page--designed .legal-toc-list a:hover {color:#c93624!important;text-decoration:underline!important;}
@media(max-width:700px){.legal-page--designed .legal-toc-list {grid-template-columns:1fr!important;}}

/* SUPER PIZZA – präzise Footer-Abstände und Cookie-Kategorien, 28.10.2026 */
@media(min-width:801px){
  .footer .footer-grid{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:28px!important;}
  .footer .footer-about{flex:0 1 265px!important;max-width:265px!important;width:265px!important;}
  .footer .footer-hours{flex:0 1 485px!important;max-width:485px!important;width:485px!important;}
  .footer .footer-links{flex:0 1 280px!important;max-width:280px!important;width:280px!important;}
}
/* Sunday and specials form one continuous table: only the final row has the stronger border. */
.footer .hours>div:last-child{border-bottom:1px solid rgba(255,255,255,.12)!important;}
.footer .footer-hours:has(#special-hours:not([hidden])) .hours>div:last-child{border-bottom:1px solid rgba(255,255,255,.12)!important;}
.footer .footer-hours:has(#special-hours[hidden]) .hours>div:last-child{border-bottom:2px solid rgba(255,255,255,.26)!important;}
.footer .special-hours-list{border:0!important;padding-top:0!important;margin:0!important;}
.footer .special-row{border-bottom:1px solid rgba(255,255,255,.12)!important;}
.footer .special-row:last-child{border-bottom:2px solid rgba(255,255,255,.26)!important;}
.footer #special-hours{margin:0!important;padding:0!important;}
.footer .footer-phone{margin:12px 0 20px!important;}
/* Consent: keep label only as accessible text; group heading and status precede the toggle. */
.consent-dialog .sp-consent-group-head:has(#consent-category-analytics){display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important;flex-wrap:nowrap!important;}
.consent-dialog .sp-consent-group-head:has(#consent-category-analytics) h4{margin:0!important;flex:1 1 auto!important;min-width:0!important;}
.consent-dialog .sp-consent-group-head:has(#consent-category-analytics) .sp-category-state{flex:0 0 auto!important;white-space:nowrap!important;}
.consent-dialog .sp-consent-group-head:has(#consent-category-analytics) .sp-switch-label{flex:0 0 auto!important;min-width:42px!important;width:42px!important;}
.consent-dialog .sp-consent-group-head .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.consent-dialog .sp-provider-references{margin-top:10px;}
.consent-dialog .sp-provider-references p{margin:0 0 5px!important;}
.consent-dialog .sp-provider-references a{display:block!important;width:fit-content!important;font-weight:400!important;line-height:1.7!important;}
@media(max-width:800px){
  .footer .footer-grid{display:flex!important;flex-direction:column!important;gap:0!important;}
  .footer .footer-logo-panel{width:210px!important;height:170px!important;margin:0 auto 15px!important;}
  .footer .footer-logo-panel img{max-height:145px!important;}
  .footer .footer-about h2{margin:0 0 7px!important;line-height:1.35!important;}
  .footer .footer-about address{margin:0!important;padding:0!important;line-height:1.65!important;}
  .footer .footer-phone{margin:12px 0 28px!important;}
  .footer .footer-hours{margin:0 0 30px!important;}
  .footer .footer-links{margin:0 0 26px!important;}
  .footer .social-links{margin:0!important;}
  .footer .footer-bottom{margin-top:26px!important;}
}
