/*
Theme Name: Pizzeria UNO Lemförde
Theme URI: https://pizzeria-uno-lemfoerde.de/
Author: Pizzeria UNO Lemförde
Description: Flexibles Gutenberg Block-Theme für Pizzeria UNO Lemförde mit erweiterten visuellen Editor-Einstellungen.
Version: 6.20.54
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: pizzeria-uno
*/

:root {
  --uno-cream:#f4ead8;
  --uno-cream-2:#ede0c8;
  --uno-black:#12110f;
  --uno-red:#a53527;
  --uno-gold:#b88646;
  --uno-muted:#5e554d;
  --uno-line:rgba(18,17,15,.14);
  --uno-max:1280px;
}
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wp-site-blocks { padding:0; }
.uno-section { padding:clamp(4.8rem,8vw,7.3rem) 0; }
:where(.uno-eyebrow) { font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.uno-eyebrow::before { content:""; display:inline-block; width:36px; height:2px; background:currentColor; margin-right:12px; vertical-align:middle; }
:where(.uno-display) { font-size:clamp(3.4rem,7.6vw,7.5rem); line-height:.84; letter-spacing:-.07em; text-transform:uppercase; margin-top:1.2rem; }
.uno-outline { color:transparent; -webkit-text-stroke:1.6px currentColor; }

/* Header */
.uno-header { position:sticky; top:0; z-index:100; background:rgba(244,234,216,.92); backdrop-filter:blur(16px); border-bottom:1px solid var(--uno-line); }
.uno-header-inner { min-height:88px; }
.uno-header .wp-block-site-logo img { max-height:72px; width:auto; }
.uno-nav a { font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.uno-phone-link { border:1.5px solid var(--uno-black); border-radius:999px; padding:.7rem 1rem; }

/* Hero */
.uno-hero { min-height:calc(100svh - 89px); border-bottom:1px solid var(--uno-line); }
.uno-hero > .wp-block-column:first-child { padding:clamp(2.2rem,4vw,4rem) clamp(1.2rem,4vw,4rem); display:flex; flex-direction:column; justify-content:center; }
.uno-hero-title { margin:2rem 0; }
:where(.uno-hero-title) .wp-block-heading { font-size:clamp(4.6rem,11.5vw,11rem); line-height:.72; letter-spacing:-.085em; margin:0; text-transform:uppercase; }
.uno-hero-title .is-style-outline { color:transparent; -webkit-text-stroke:2px var(--uno-black); }
.uno-hero-image { min-height:600px; height:100%; margin:0; }
.uno-hero-image img { width:100%; height:100%; object-fit:cover; }

/* Ticker */
.uno-ticker { overflow:hidden; background:var(--uno-red); color:white; border-bottom:1px solid var(--uno-line); }
.uno-ticker-track { display:flex; width:max-content; gap:28px; padding:14px 0; animation:unoTicker 28s linear infinite; white-space:nowrap; }
.uno-ticker-track p { margin:0; font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.uno-ticker-track p::after { content:"✦"; margin-left:28px; color:#efc98b; }
@keyframes unoTicker { to { transform:translateX(-50%); } }

/* Info cards */
.uno-info-grid { gap:14px; }
.uno-info-card { border:1px solid var(--uno-line); background:rgba(255,255,255,.18); padding:28px; min-height:310px; }
:where(.uno-info-card) h3 { font-size:1.45rem; margin-bottom:1.4rem; }
.uno-hours .wp-block-group { padding:1rem 0; border-bottom:1px solid var(--uno-line); min-height:72px; }
.uno-hours .wp-block-group:last-child { border-bottom:0; }
:where(.uno-important) { background:var(--uno-red); color:white; border-color:var(--uno-red); }
.uno-important :where(.uno-eyebrow) { color:#efc98b; }

/* Delivery */
.uno-delivery { background:var(--uno-gold); }
.uno-minimum { background:var(--uno-black); color:var(--uno-cream); padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.uno-minimum strong { font-size:clamp(2.2rem,4vw,3.8rem); letter-spacing:-.06em; }
.uno-delivery-card { border:1.5px solid rgba(18,17,15,.28); padding:22px; min-height:220px; background:rgba(244,234,216,.24); display:flex; flex-direction:column; justify-content:space-between; }
:where(.uno-delivery-card) :where(.uno-price) { font-size:clamp(2.7rem,5vw,4.8rem); line-height:.9; letter-spacing:-.07em; font-weight:900; margin:1rem 0 0; }

/* Favorites */
.uno-favorites { background:var(--uno-black); color:var(--uno-cream); }
.uno-favorites :where(.uno-eyebrow) { color:#e0b971; }
.uno-favorites .uno-outline { -webkit-text-stroke-color:var(--uno-cream); }
.uno-food-grid { gap:14px; }
.uno-food-card { position:relative; overflow:hidden; min-height:260px; border:1px solid rgba(255,255,255,.14); }
.uno-food-card-large { min-height:540px; }
.uno-food-card .wp-block-cover__background { background:linear-gradient(to top, rgba(8,7,6,.85), rgba(8,7,6,.12) 60%); opacity:1; }
.uno-food-card .wp-block-cover__inner-container { align-self:flex-end; width:100%; padding:22px; }
:where(.uno-food-card) h3 { margin:.35rem 0; font-size:1.78rem; text-transform:uppercase; letter-spacing:-.05em; }
:where(.uno-food-card) p { margin:.35rem 0 0; color:#cec4b8; line-height:1.55; }
.uno-menu-link { border:1px solid rgba(255,255,255,.18); padding:24px; min-height:120px; transition:.2s ease; }
.uno-menu-link:hover { background:var(--uno-cream); color:var(--uno-black); transform:translateY(-3px); }
:where(.uno-menu-link) h3 { text-transform:uppercase; margin:.3rem 0; }

/* Restaurant */
.uno-story-red { background:var(--uno-red); color:white; min-height:650px; padding:clamp(2rem,4vw,3.2rem); }
:where(.uno-story-red) h2 { font-size:clamp(4.8rem,10vw,9rem); line-height:.82; letter-spacing:-.08em; text-transform:uppercase; }
.uno-story-copy { background:var(--uno-cream-2); padding:clamp(3rem,7vw,6rem); }
.uno-pill { border:1px solid var(--uno-black); border-radius:999px; padding:.55rem .8rem; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }

/* Jobs */
.uno-jobs .wp-block-details { border:1px solid rgba(18,17,15,.22); background:rgba(255,255,255,.18); padding:0 22px; margin-bottom:10px; }
.uno-jobs .wp-block-details summary { padding:22px 0; font-size:1.05rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.uno-jobs .wp-block-details > *:not(summary) { color:#594f46; }

/* Final CTA */
.uno-final { background:var(--uno-black); color:var(--uno-cream); text-align:center; padding:clamp(5rem,9vw,8rem) 1rem; }
:where(.uno-final) h2 { font-size:clamp(4rem,10vw,9rem); line-height:.82; letter-spacing:-.08em; text-transform:uppercase; }
:where(.uno-final) a { color:#e4bc79; font-size:clamp(1.8rem,4vw,3.45rem); font-weight:900; }

/* Buttons */
:where(.uno-button) .wp-block-button__link { border-radius:999px; padding:.9rem 1.3rem; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }

@media (max-width: 900px) {
  .uno-header-inner { min-height:76px; }
  .uno-hero { min-height:auto; }
  .uno-hero-image { min-height:420px; }
  .uno-story-red { min-height:420px; }
}
@media (max-width: 600px) {
  .uno-section { padding:4.2rem 0; }
  .uno-info-card { min-height:auto; }
  .uno-minimum { align-items:flex-end; }
  .uno-delivery-card { min-height:165px; }
  .uno-food-card-large { min-height:420px; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
}


/* V2: editor-friendly defaults.
   Gutenberg's own per-block color, typography, spacing and border choices
   should override these theme defaults whenever the block supports them. */
.editor-styles-wrapper .wp-block.is-selected,
.editor-styles-wrapper .wp-block.has-child-selected {
  outline:1px dashed rgba(165,53,39,.28);
  outline-offset:3px;
}
.editor-styles-wrapper .uno-menu-link:hover {
  transform:none;
}


/* =========================================================
   V3 – Info-Bereich exakt an die freigegebene HTML-Fassung
   ========================================================= */

/* Alle vier Spalten/Karten auf identische Höhe ziehen. */
.uno-info-grid.wp-block-columns {
  align-items: stretch;
}
.uno-info-grid > .wp-block-column {
  display: flex;
  align-self: stretch;
}
.uno-info-grid > .wp-block-column > .uno-info-card {
  width: 100%;
  min-height: 360px;
  height: 100%;
  box-sizing: border-box;
}

/* Öffnungszeiten sauber wie in der HTML-Fassung verteilen. */
.uno-info-card.uno-hours {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.uno-info-card.uno-hours h3 {
  margin-bottom: 26px;
}
.uno-info-card.uno-hours .uno-hours-row {
  min-height: 78px;
}

/* Alarmkarte: roter Hintergrund darf von WordPress nicht überschrieben werden. */
.wp-block-group.uno-info-card.uno-important {
  background: var(--uno-red) !important;
  background-color: var(--uno-red) !important;
  color: #fff !important;
  border-color: var(--uno-red) !important;
  position: relative;
  overflow: hidden;
}
.wp-block-group.uno-info-card.uno-important h3,
.wp-block-group.uno-info-card.uno-important p {
  color: #fff;
}
.wp-block-group.uno-info-card.uno-important .uno-eyebrow {
  color: #f0c58d;
}
.wp-block-group.uno-info-card.uno-important::after {
  content: "!";
  position: absolute;
  right: 18px;
  bottom: -34px;
  font-size: 10rem;
  line-height: 1;
  font-weight: 1000;
  color: rgba(255,255,255,.10);
  pointer-events: none;
}

/* Info-Buttons wie in der HTML: transparent mit dunkler Kontur. */
.uno-info-grid .uno-button .wp-block-button__link {
  background: transparent;
  color: var(--uno-black);
  border: 1px solid var(--uno-black);
  border-radius: 999px;
  box-shadow: none;
}
.uno-info-grid .uno-button .wp-block-button__link:hover {
  background: var(--uno-black);
  color: #fff;
}

/* Mobil wieder natürliche Kartenhöhen. */
@media (max-width: 781px) {
  .uno-info-grid > .wp-block-column {
    display: block;
  }
  .uno-info-grid > .wp-block-column > .uno-info-card {
    min-height: auto;
    height: auto;
  }
}


/* =========================================================
   V4 – Frontend parity with approved standalone HTML
   ========================================================= */

/* WordPress global colors must not leak into dark UNO sections. */
.uno-favorites,
.uno-favorites p,
.uno-favorites h1,
.uno-favorites h2,
.uno-favorites h3,
.uno-favorites h4,
.uno-favorites h5,
.uno-favorites h6,
.uno-favorites a {
  color: var(--uno-cream);
}
.uno-favorites .uno-eyebrow,
.uno-favorites .uno-eyebrow a {
  color:#e0b971;
}
.uno-favorites .uno-outline {
  color:transparent;
  -webkit-text-stroke:1.6px var(--uno-cream);
}

/* Favoritenbilder: robuste Ebenen unabhängig von Gutenberg-Core-Regeln. */
.uno-food-card.wp-block-cover {
  position:relative;
  display:flex;
  overflow:hidden;
  isolation:isolate;
  background:#171512;
}
.uno-food-card.wp-block-cover > .wp-block-cover__image-background,
.uno-food-card.wp-block-cover > img.wp-block-cover__image-background {
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  opacity:1;
  visibility:visible;
}
.uno-food-card.wp-block-cover > .wp-block-cover__background {
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  background:linear-gradient(to top, rgba(8,7,6,.88) 0%, rgba(8,7,6,.30) 46%, rgba(8,7,6,.08) 78%);
  opacity:1;
}
.uno-food-card.wp-block-cover > .wp-block-cover__inner-container {
  position:relative;
  z-index:2;
  align-self:flex-end;
  width:100%;
  padding:22px;
  color:#fff;
}
.uno-food-card .wp-block-cover__inner-container h3,
.uno-food-card .wp-block-cover__inner-container h3 a {
  color:#fff;
}
.uno-food-card .wp-block-cover__inner-container p:not(.uno-eyebrow) {
  color:#e3ddd4;
}
.uno-food-card .wp-block-cover__inner-container .uno-eyebrow {
  color:#e0b971;
}

/* PDF cards: headings/links must remain light on the black section. */
.uno-favorites .uno-menu-link {
  color:var(--uno-cream);
}
.uno-favorites .uno-menu-link h3,
.uno-favorites .uno-menu-link h3 a,
.uno-favorites .uno-menu-link a {
  color:var(--uno-cream);
  text-decoration:none;
}
.uno-favorites .uno-menu-link:hover,
.uno-favorites .uno-menu-link:hover h3,
.uno-favorites .uno-menu-link:hover h3 a,
.uno-favorites .uno-menu-link:hover a {
  color:var(--uno-black);
}

/* Restaurant split: match standalone HTML and never wrap the period. */
#restaurant.wp-block-columns {
  gap:0;
  align-items:stretch;
}
#restaurant > .wp-block-column {
  min-width:0;
}
.uno-story-red {
  height:100%;
  box-sizing:border-box;
}
.uno-story-red h2.wp-block-heading {
  margin:0;
  color:#fff;
  white-space:nowrap;
  font-size:clamp(4.25rem,7.9vw,8rem);
  line-height:.82;
  letter-spacing:-.08em;
}
.uno-story-copy h2,
.uno-story-copy p {
  color:var(--uno-black);
}

/* Important card – keep exact approved contrast. */
.wp-block-group.uno-info-card.uno-important,
.wp-block-group.uno-info-card.uno-important.has-background {
  background-color:var(--uno-red) !important;
  background-image:none !important;
  color:#fff !important;
}

@media (max-width: 900px) {
  .uno-story-red h2.wp-block-heading {
    white-space:normal;
    font-size:clamp(4rem,14vw,7rem);
  }
}


/* =========================================================
   V5 – final visual parity fixes
   ========================================================= */

/* Header: navigation stays right-aligned like the approved HTML. */
.uno-header {
  position: sticky !important;
  top: 0;
  z-index: 9999;
  background: rgba(244,234,216,.96) !important;
  background-color: rgba(244,234,216,.96) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.uno-header-inner {
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  width:100%;
}
.uno-header-inner > .wp-block-site-logo {
  margin-right:auto !important;
}
.uno-header-inner > .uno-nav,
.uno-header-inner > nav.wp-block-navigation {
  margin-left:auto !important;
  justify-content:flex-end !important;
}
.uno-header .wp-block-navigation__container {
  justify-content:flex-end !important;
}

/* When logged in, keep the sticky menu below the WordPress admin bar. */
body.admin-bar .uno-header {
  top:32px;
}
@media (max-width:782px) {
  body.admin-bar .uno-header {
    top:46px;
  }
}

/* Final CTA: remove extra logo and explanatory sentence. */
.uno-final > figure.wp-block-image:first-child {
  display:none !important;
}
.uno-final > p:first-of-type {
  display:none !important;
}

/* Favorites: exact equal-height composition on desktop. */
@media (min-width:782px) {
  .uno-favorites .uno-food-grid:first-of-type {
    align-items:stretch !important;
    gap:14px !important;
  }

  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column {
    margin-block-start:0 !important;
    min-height:540px;
    height:540px;
  }

  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column:first-child {
    display:flex;
  }

  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column:first-child > .uno-food-card {
    width:100%;
    min-height:540px !important;
    height:540px !important;
    margin:0 !important;
  }

  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column:nth-child(2) {
    display:grid !important;
    grid-template-rows:263px 14px 263px;
    row-gap:0 !important;
    align-content:start;
  }

  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column:nth-child(2) > .uno-food-card {
    min-height:263px !important;
    height:263px !important;
    margin:0 !important;
  }

  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column:nth-child(2) > .wp-block-spacer {
    height:14px !important;
    min-height:14px !important;
    margin:0 !important;
  }
}

@media (max-width:781px) {
  .uno-favorites .uno-food-grid:first-of-type > .wp-block-column {
    height:auto;
    min-height:0;
  }
}


/* =========================================================
   V6 – Info-Karten kompakter wie in der HTML-Fassung
   ========================================================= */

@media (min-width: 782px) {
  /* Gesamtes Raster etwas dichter und natürlicher proportioniert. */
  .uno-info-grid.wp-block-columns {
    align-items: stretch !important;
    gap: 14px !important;
  }

  .uno-info-grid > .wp-block-column {
    display: flex !important;
    align-self: stretch !important;
    min-width: 0;
  }

  .uno-info-grid > .wp-block-column > .uno-info-card {
    width: 100%;
    height: 358px !important;
    min-height: 358px !important;
    padding: 28px 30px !important;
    box-sizing: border-box;
    margin: 0 !important;
  }

  /* Überschriften enger an den Kartenanfang. */
  .uno-info-grid .uno-info-card h3 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
  }

  /* Öffnungszeiten: drei Zeilen gleichmäßig über die verfügbare Höhe verteilen. */
  .uno-info-grid .uno-hours {
    display: flex !important;
    flex-direction: column !important;
  }

  .uno-info-grid .uno-hours .uno-hours-list,
  .uno-info-grid .uno-hours > .wp-block-group:last-child {
    flex: 1 1 auto;
  }

  .uno-info-grid .uno-hours-row {
    min-height: 70px !important;
    padding: 14px 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Telefon / Adresse: Button nach unten, aber ohne riesigen Leerraum. */
  .uno-info-grid .uno-info-card:not(.uno-hours):not(.uno-important) {
    display: flex !important;
    flex-direction: column !important;
  }

  .uno-info-grid .uno-info-card:not(.uno-hours):not(.uno-important) .uno-button {
    margin-top: auto !important;
  }

  /* Warnkarte ebenfalls kompakter. */
  .uno-info-grid .uno-important {
    padding: 28px 30px !important;
  }

  .uno-info-grid .uno-important h3 {
    margin-bottom: 18px !important;
  }

  .uno-info-grid .uno-important p {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
  }

  /* Buttons etwas niedriger wie in der HTML-Vorlage. */
  .uno-info-grid .uno-button .wp-block-button__link {
    padding: 13px 24px !important;
    min-height: 0 !important;
  }
}

@media (max-width: 781px) {
  .uno-info-grid > .wp-block-column > .uno-info-card {
    height: auto !important;
    min-height: 0 !important;
  }
}


/* =========================================================
   V6.1 – responsive typography + seamless section joins
   Keeps the approved V6 desktop design intact.
   ========================================================= */

/* 1) Prevent ugly word splitting / forced narrow wrapping. */
.uno-info-grid h3,
.uno-info-grid p,
.uno-info-grid strong,
.uno-info-grid .wp-block-button__link,
.uno-important .uno-eyebrow,
.uno-food-card h3,
.uno-menu-link h3,
.uno-story-red h2,
.uno-story-copy h2,
.uno-final h2 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Opening hours stay readable and move as a unit. */
.uno-hours-row,
.uno-hours-row p {
  min-width: 0;
}
.uno-hours-row p:first-child {
  white-space: nowrap !important;
}
.uno-hours-row p:last-child,
.uno-hours-row strong {
  white-space: nowrap !important;
}

/* Phone number should never split into four awkward lines. */
.uno-info-grid .uno-info-card:nth-child(2) h3 + p,
.uno-info-grid .uno-info-card:nth-child(2) p:first-of-type {
  white-space: nowrap !important;
}

/* Buttons may shrink slightly, but text stays together. */
.uno-info-grid .wp-block-button,
.uno-info-grid .wp-block-button__link {
  max-width: 100%;
}
.uno-info-grid .wp-block-button__link {
  white-space: nowrap !important;
}

/* 2) Responsive info grid.
   Keep 4 columns when there is enough room, then 2, then 1.
   Do not squeeze four cards until their text breaks. */
@media (min-width: 1180px) {
  .uno-info-grid.wp-block-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 760px) and (max-width: 1179px) {
  .uno-info-grid.wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .uno-info-grid > .wp-block-column {
    width: auto !important;
    flex-basis: auto !important;
    min-width: 0 !important;
  }

  .uno-info-grid > .wp-block-column > .uno-info-card {
    height: auto !important;
    min-height: 330px !important;
  }

  #infos .uno-display,
  .uno-info-section .uno-display {
    font-size: clamp(3.2rem, 8vw, 6.5rem) !important;
    line-height: .88 !important;
  }
}

@media (max-width: 759px) {
  .uno-info-grid.wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .uno-info-grid > .wp-block-column > .uno-info-card {
    height: auto !important;
    min-height: 0 !important;
    padding: 24px !important;
  }

  .uno-hours-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 16px !important;
  }

  .uno-hours-row p:first-child {
    white-space: normal !important;
  }

  .uno-info-grid .wp-block-button__link {
    white-space: normal !important;
    text-align: center !important;
  }
}

/* 3) Fix the decorative separator in the red notice card.
   There should be only the intended horizontal divider, no displaced short line. */
.uno-important .uno-eyebrow::before,
.uno-important .uno-eyebrow::after {
  display: none !important;
  content: none !important;
}
.uno-important .wp-block-separator {
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 !important;
  transform: none !important;
}

/* Restore a single short accent line before "Wichtige Hinweise", aligned correctly. */
.uno-important .uno-eyebrow {
  position: relative !important;
  padding-left: 48px !important;
}
.uno-important .uno-eyebrow::before {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 34px !important;
  height: 2px !important;
  background: currentColor !important;
  transform: translateY(-50%) !important;
}

/* 4) Remove beige seams between full-width sections.
   WordPress sometimes adds block-gap/margins between top-level blocks. */
.wp-site-blocks {
  gap: 0 !important;
}
.wp-site-blocks > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Relevant UNO sections touch one another directly. */
#lieferdienst,
#favoriten,
#restaurant,
.uno-delivery,
.uno-favorites,
.uno-restaurant,
.uno-story,
.uno-story-red,
.uno-story-copy {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Remove accidental spacers at section boundaries. */
#lieferdienst + .wp-block-spacer,
#favoriten + .wp-block-spacer,
.uno-delivery + .wp-block-spacer,
.uno-favorites + .wp-block-spacer,
.wp-block-spacer:has(+ #favoriten),
.wp-block-spacer:has(+ #restaurant) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}

/* 5) Ticker/red moving strip must sit flush against the neighboring media/section. */
.uno-ticker,
.uno-marquee,
.uno-strip,
.uno-red-strip,
[class*="ticker"],
[class*="marquee"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.uno-ticker + *,
.uno-marquee + *,
.uno-strip + *,
.uno-red-strip + *,
[class*="ticker"] + *,
[class*="marquee"] + * {
  margin-top: 0 !important;
}

/* Full-width covers/images directly adjacent to strip/sections must not create inline baseline gaps. */
.wp-block-cover,
.wp-block-image,
.wp-block-image img,
.wp-block-cover__image-background {
  vertical-align: top;
}
.wp-block-image {
  line-height: 0;
}
.wp-block-image figcaption {
  line-height: normal;
}

/* Ensure full-width section backgrounds themselves have no extra outer padding seam. */
.alignfull.uno-favorites,
.alignfull.uno-delivery,
.alignfull.uno-story,
.alignfull#restaurant {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}


/* =========================================================
   V6.2 – small polish fixes
   ========================================================= */

/* 1) Final phone number remains clickable but has no underline. */
.uno-final a,
.uno-final a:link,
.uno-final a:visited,
.uno-final a:hover,
.uno-final a:focus {
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* 2) Job accordion/cards: more breathing room below the content.
   Applies to all job boxes, including opened details. */
.uno-jobs details,
.uno-jobs .wp-block-details,
#jobs details,
#jobs .wp-block-details {
  box-sizing: border-box;
  padding-bottom: 30px !important;
}

.uno-jobs details[open],
.uno-jobs .wp-block-details[open],
#jobs details[open],
#jobs .wp-block-details[open] {
  padding-bottom: 34px !important;
}

/* Keep the final text/list from touching the bottom border. */
.uno-jobs details > *:last-child,
.uno-jobs .wp-block-details > *:last-child,
#jobs details > *:last-child,
#jobs .wp-block-details > *:last-child {
  margin-bottom: 0 !important;
}

/* Give nested content a little more bottom room without shifting the summary. */
.uno-jobs details > :not(summary),
.uno-jobs .wp-block-details > :not(summary),
#jobs details > :not(summary),
#jobs .wp-block-details > :not(summary) {
  padding-left: 0;
  padding-right: 0;
}

/* 3) Favorites: subtle 5% dark veil over all three food photos.
   Text stays fully opaque and readable. */
.uno-favorites .uno-food-card {
  position: relative !important;
}

.uno-favorites .uno-food-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,.05) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Keep captions/text above the new veil. */
.uno-favorites .uno-food-card .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 2 !important;
}


/* =========================================================
   V6.3 – Job content left padding
   ========================================================= */

/* Keep summary/title position unchanged, indent only opened content. */
.uno-jobs details > :not(summary),
.uno-jobs .wp-block-details > :not(summary),
#jobs details > :not(summary),
#jobs .wp-block-details > :not(summary) {
  padding-left: 28px !important;
  padding-right: 28px !important;
  box-sizing: border-box;
}

/* Lists should align neatly inside that inset. */
.uno-jobs details ul,
.uno-jobs .wp-block-details ul,
#jobs details ul,
#jobs .wp-block-details ul {
  padding-left: 22px !important;
  margin-left: 0 !important;
}


/* =========================================================
   V6.4 – Header logo restored
   ========================================================= */

.uno-header-inner {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
}

.uno-header-logo,
.uno-header .wp-block-site-logo,
.uno-header .wp-block-image.uno-header-logo {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 auto 0 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.uno-header-logo img,
.uno-header .wp-block-site-logo img,
.uno-header .wp-block-image.uno-header-logo img {
  display: block !important;
  width: 138px !important;
  height: auto !important;
  max-width: 138px !important;
  opacity: 1 !important;
}

.uno-header .wp-block-navigation,
.uno-header .uno-nav {
  margin-left: auto !important;
}

@media (max-width: 700px) {
  .uno-header-logo img,
  .uno-header .wp-block-site-logo img,
  .uno-header .wp-block-image.uno-header-logo img {
    width: 105px !important;
    max-width: 105px !important;
  }
}


/* =========================================================
   V6.5 – force UNO logo in header
   The fresh WordPress install has no Site Logo assigned, so
   render the theme logo independently of that WP setting.
   ========================================================= */

.uno-header-inner {
  position: relative !important;
}

/* Hide an empty WordPress Site Logo placeholder. */
.uno-header-inner > .wp-block-site-logo:empty {
  display: none !important;
}

/* Always show the bundled UNO logo at the left. */
.uno-header-inner::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 140px !important;
  width: 140px !important;
  height: 94px !important;
  margin-right: auto !important;
  background-image: url("assets/images/logo.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* If WordPress later gets a real Site Logo assigned, avoid showing two logos. */
.uno-header-inner:has(.wp-block-site-logo img)::before {
  display: none !important;
}

.uno-header .wp-block-navigation,
.uno-header .uno-nav {
  margin-left: auto !important;
}

@media (max-width: 700px) {
  .uno-header-inner::before {
    flex-basis: 105px !important;
    width: 105px !important;
    height: 72px !important;
  }
}


/* =========================================================
   V6.6 – clean sticky header
   ========================================================= */

/* Remove the visible line under the header/logo. */
.uno-header,
.uno-header-inner,
.uno-header::after,
.uno-header-inner::after {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Make the whole header truly sticky on the frontend. */
.uno-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  width: 100% !important;
  margin: 0 !important;
}

/* WordPress can place overflow on parent wrappers, which breaks sticky.
   Keep the main wrappers overflow-visible. */
html,
body,
.wp-site-blocks,
.wp-site-blocks > header,
header.wp-block-template-part,
.wp-block-template-part {
  overflow: visible !important;
}

/* Ensure the template-part itself participates in sticky positioning. */
header.wp-block-template-part:has(.uno-header),
.wp-block-template-part:has(.uno-header) {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  margin: 0 !important;
}

/* When logged in, stay below the WordPress admin bar. */
body.admin-bar .uno-header,
body.admin-bar header.wp-block-template-part:has(.uno-header),
body.admin-bar .wp-block-template-part:has(.uno-header) {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar .uno-header,
  body.admin-bar header.wp-block-template-part:has(.uno-header),
  body.admin-bar .wp-block-template-part:has(.uno-header) {
    top: 46px !important;
  }
}


/* =========================================================
   V6.7 – smaller logo, more vertical breathing room
   ========================================================= */

.uno-header-inner {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  min-height: 96px !important;
  box-sizing: border-box !important;
}

/* Bundled fallback logo */
.uno-header-inner::before {
  flex-basis: 112px !important;
  width: 112px !important;
  height: 70px !important;
}

/* Real WP site logo, if one is added later */
.uno-header-logo img,
.uno-header .wp-block-site-logo img,
.uno-header .wp-block-image.uno-header-logo img {
  width: 112px !important;
  max-width: 112px !important;
  height: auto !important;
}

@media (max-width: 700px) {
  .uno-header-inner {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    min-height: 82px !important;
  }

  .uno-header-inner::before {
    flex-basis: 88px !important;
    width: 88px !important;
    height: 58px !important;
  }

  .uno-header-logo img,
  .uno-header .wp-block-site-logo img,
  .uno-header .wp-block-image.uno-header-logo img {
    width: 88px !important;
    max-width: 88px !important;
  }
}


/* =========================================================
   V6.8 – Bewerbungsformular
   ========================================================= */

.uno-application-page {
  background: var(--uno-cream, #f4ead8);
  color: var(--uno-black, #12110f);
  padding: 96px 18px 110px;
}

.uno-application-wrap {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.uno-application-head {
  text-align: center;
  margin-bottom: 54px;
}

.uno-application-kicker {
  margin: 0 0 12px;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.uno-application-title {
  margin: 0;
  font-size: clamp(3rem, 6vw, 6.3rem);
  line-height: .9;
  letter-spacing: -.065em;
  text-transform: uppercase;
}

.uno-application-required {
  margin: 22px 0 0;
  color: var(--uno-red, #a53527);
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.uno-application-form {
  display: grid;
  gap: 28px;
}

.uno-application-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}

.uno-field,
.uno-fieldset {
  min-width: 0;
}

.uno-field label,
.uno-fieldset legend {
  display: block;
  margin: 0 0 10px;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.uno-field input,
.uno-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(18,17,15,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.48);
  color: var(--uno-black, #12110f);
  padding: 16px 18px;
  font: inherit;
  line-height: 1.35;
  outline: none;
}

.uno-field input {
  min-height: 54px;
}

.uno-field textarea {
  min-height: 170px;
  resize: vertical;
}

.uno-field input:focus,
.uno-field textarea:focus {
  border-color: var(--uno-black, #12110f);
  box-shadow: 0 0 0 2px rgba(18,17,15,.08);
}

.uno-fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

.uno-choice-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
}

.uno-choice {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
}

.uno-choice input {
  width: 18px;
  height: 18px;
  accent-color: var(--uno-red, #a53527);
}

.uno-application-message {
  grid-column: 1 / -1;
}

.uno-application-privacy {
  padding-top: 4px;
}

.uno-application-privacy .uno-choice {
  align-items: flex-start;
  line-height: 1.55;
  font-size: .9rem;
}

.uno-application-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}

.uno-application-submit {
  border: 0;
  border-radius: 999px;
  background: var(--uno-black, #12110f);
  color: #fff;
  min-height: 52px;
  padding: 0 28px;
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  cursor: pointer;
}

.uno-application-submit:hover {
  transform: translateY(-1px);
}

.uno-form-notice {
  margin-bottom: 28px;
  padding: 16px 18px;
  border: 1px solid rgba(18,17,15,.16);
  background: rgba(255,255,255,.35);
}

.uno-form-notice.is-success {
  border-color: rgba(49,93,61,.45);
}

.uno-form-notice.is-error {
  border-color: rgba(165,53,39,.5);
}

@media (max-width: 720px) {
  .uno-application-page {
    padding-top: 72px;
    padding-bottom: 82px;
  }

  .uno-application-grid {
    grid-template-columns: 1fr;
  }

  .uno-application-actions {
    justify-content: stretch;
  }

  .uno-application-submit {
    width: 100%;
  }
}




/* =========================================================
   V6.20 – clean info alignment (phone/address only)
   ========================================================= */

@media (min-width: 782px) {
  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card {
    position: relative !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card > .wp-block-group:first-child > h3:first-child,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-group:first-child > h3:first-child {
    margin: 0 0 28px !important;
    min-height: 34px !important;
    font-size: 1.34rem !important;
    line-height: 1.15 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card > .wp-block-group:first-child > h3:nth-child(2),
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-group:first-child > p:first-of-type,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-group:first-child > p:first-of-type strong {
    font-size: .98rem !important;
    line-height: 1.35 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card > .wp-block-group:first-child > h3:nth-child(2) {
    margin: 0 !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: flex-start !important;
    white-space: nowrap !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-group:first-child > p:first-of-type {
    margin: 0 !important;
    min-height: 48px !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card > .wp-block-group:first-child,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-group:first-child {
    margin: 0 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card > .wp-block-buttons,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-buttons {
    position: absolute !important;
    left: 28px !important;
    bottom: 28px !important;
    margin: 0 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card .wp-block-button__link,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card .wp-block-button__link {
    min-height: 46px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 781px) {
  .uno-info-grid > .wp-block-column:nth-child(2) > .uno-info-card > .wp-block-buttons,
  .uno-info-grid > .wp-block-column:nth-child(3) > .uno-info-card > .wp-block-buttons {
    position: static !important;
    margin-top: 24px !important;
  }
}

/* =========================================================
   V6.20 – ONE clean opening-hours rule
   ========================================================= */

@media (min-width: 782px) {
  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    overflow: hidden !important;
    min-height: 358px !important;
    height: 358px !important;
    padding: 28px 30px !important;
    box-sizing: border-box !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > h3 {
    margin: 0 0 10px !important;
    min-height: 0 !important;
    font-size: 1.34rem !important;
    line-height: 1.15 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 16px !important;
    box-sizing: border-box !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group:first-of-type,
  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group:nth-of-type(2) {
    border-top: 0 !important;
    border-bottom: 1px solid var(--uno-line, rgba(18,17,15,.14)) !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group:nth-of-type(3) {
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    min-width: 0 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group p:first-child {
    white-space: nowrap !important;
    font-size: .98rem !important;
    font-weight: 400 !important;
  }

  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group p:last-child,
  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours > .wp-block-group strong {
    white-space: nowrap !important;
    font-size: .98rem !important;
  }
}

/* At medium widths, make the card naturally taller instead of overflowing. */
@media (min-width: 782px) and (max-width: 1179px) {
  .uno-info-grid > .wp-block-column:nth-child(1) > .uno-hours {
    min-height: 330px !important;
    height: auto !important;
  }
}


/* =========================================================
   V6.20.1 – Hinweis-Karte
   ========================================================= */

/* "Wichtige Hinweise" als einzige Kartenüberschrift,
   optisch wie "Öffnungszeiten". */
.uno-important .uno-eyebrow {
  margin: 0 0 30px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 1.34rem !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
}

/* Alte dekorative Linie an der Eyebrow entfernen. */
.uno-important .uno-eyebrow::before,
.uno-important .uno-eyebrow::after {
  display: none !important;
  content: none !important;
}

/* "Bitte beachten" komplett ausblenden. */
.uno-important h3 {
  display: none !important;
}

/* Sämtliche Trennlinien innerhalb der Hinweis-Karte entfernen. */
.uno-important .wp-block-separator,
.uno-important hr {
  display: none !important;
}

/* Zwei klare Stichsätze. */
.uno-important p {
  position: relative !important;
  margin: 0 0 28px !important;
  padding-left: 42px !important;
  color: #fff !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
}

/* Größeres Ausrufezeichen vor jedem Stichsatz, ohne Kreis. */
.uno-important p::before {
  content: "!" !important;
  position: absolute !important;
  left: 0 !important;
  top: -0.08em !important;
  color: #fff !important;
  font-size: 1.65rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

/* Großes dekoratives ! unten rechts entfernen. */
.wp-block-group.uno-info-card.uno-important::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   V6.20.2 – Hinweis-Icons im Kreis, vertikal mittig
   ========================================================= */

.uno-important p {
  position: relative !important;
  padding-left: 54px !important;
}

/* Kreis mit ! jeweils mittig zum gesamten Stichsatz. */
.uno-important p::before {
  content: "!" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  border: 1.5px solid rgba(255,255,255,.9) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  box-sizing: border-box !important;
}


/* =========================================================
   V6.20.5 – 25 € auf Höhe von "Mindestbestellwert"
   ========================================================= */

/* Die linke Seite besteht aus "BESTELLUNG" + "Mindestbestellwert".
   Der Preis soll NICHT zur gesamten Gruppe zentriert werden,
   sondern unten auf Höhe von "Mindestbestellwert" sitzen. */
.uno-minimum {
  align-items: flex-end !important;
}

/* Direkten Preis-Absatz von zusätzlichen WordPress-Margins befreien. */
.uno-minimum > p:last-child {
  margin: 0 !important;
  padding: 0 !important;
  align-self: flex-end !important;
  line-height: 1 !important;
}

/* Unteren Text "Mindestbestellwert" ebenfalls ohne Extra-Abstand,
   damit beide Unterkanten sauber zusammenliegen. */
.uno-minimum > .wp-block-group > p:last-child {
  margin-bottom: 0 !important;
}


/* =========================================================
   V6.20.18 – Lieferzeiten final, bereinigt
   ========================================================= */

#lieferdienst p.uno-delivery-times-ready,
.uno-delivery p.uno-delivery-times-ready {
  width: min(100%, 620px) !important;
  max-width: 620px !important;
  margin: 18px 0 !important;
  padding: 10px 20px !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  background: rgba(244,234,216,.66) !important;
  border: 1px solid rgba(18,17,15,.18) !important;
  box-shadow: 0 8px 24px rgba(18,17,15,.07) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  color: var(--uno-black, #12110f) !important;
}

/* Der Kasten selbst erzeugt keinerlei zweite Beschriftung. */
#lieferdienst p.uno-delivery-times-ready::before,
#lieferdienst p.uno-delivery-times-ready::after,
.uno-delivery p.uno-delivery-times-ready::before,
.uno-delivery p.uno-delivery-times-ready::after {
  content: none !important;
  display: none !important;
}

/* Einzige sichtbare Beschriftung. */
#lieferdienst .uno-delivery-times-label,
.uno-delivery .uno-delivery-times-label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 6px 0 !important;
  color: var(--uno-black, #12110f) !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

#lieferdienst .uno-delivery-times-label::before,
.uno-delivery .uno-delivery-times-label::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 2px !important;
  background: currentColor !important;
}

#lieferdienst .uno-delivery-time-row,
.uno-delivery .uno-delivery-time-row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
}

#lieferdienst .uno-delivery-time-row + .uno-delivery-time-row,
.uno-delivery .uno-delivery-time-row + .uno-delivery-time-row {
  border-top: 1px solid rgba(18,17,15,.12) !important;
}

#lieferdienst .uno-delivery-time-day,
.uno-delivery .uno-delivery-time-day {
  font-size: 1rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

#lieferdienst .uno-delivery-time-row strong,
.uno-delivery .uno-delivery-time-row strong {
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 781px) {
  #lieferdienst p.uno-delivery-times-ready,
  .uno-delivery p.uno-delivery-times-ready {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #lieferdienst .uno-delivery-time-row,
  .uno-delivery .uno-delivery-time-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 8px 0 !important;
  }
}




/* =========================================================
   V6.20.25 – Terrassenfoto in Amtshof-Fläche + aktive Navigation
   ========================================================= */

/* Die bisher rote Amtshof-Fläche wird zum Bildfeld. */
.uno-story-red {
  position: relative !important;
  min-height: 100% !important;
  background-image:
    linear-gradient(rgba(18,17,15,.16), rgba(18,17,15,.16)),
    url("./assets/images/terrasse.jpg") !important;
  background-size: cover !important;
  background-position: center 52% !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
}

/* Amtshof bleibt als kräftiger roter Schriftzug auf dem Foto. */
.uno-story-red h2,
.uno-story-red .wp-block-heading {
  position: relative !important;
  z-index: 2 !important;
  color: var(--uno-red, #a53527) !important;
  text-shadow: 0 1px 0 rgba(244,234,216,.16) !important;
}

/* Das vorher zusätzlich eingefügte breite Terrassenbild darf nicht mehr erscheinen. */
.uno-restaurant-terrace {
  display: none !important;
}

/* Anker landen unterhalb des Sticky-Headers. */
#infos,
#lieferdienst,
#favoriten,
#restaurant,
#jobs {
  scroll-margin-top: 118px;
}

/* Navigation: dezenter Hover- und aktiver Zustand. */
.uno-header .wp-block-navigation-item__content,
.uno-header .wp-block-navigation-item > a {
  position: relative !important;
  text-decoration: none !important;
  transition: opacity .2s ease !important;
}

.uno-header .wp-block-navigation-item__content::after,
.uno-header .wp-block-navigation-item > a::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: -9px !important;
  width: 18px !important;
  height: 2px !important;
  background: currentColor !important;
  transform: translateX(-50%) scaleX(0) !important;
  transform-origin: center !important;
  opacity: 0 !important;
  transition: transform .2s ease, opacity .2s ease !important;
}

.uno-header .wp-block-navigation-item__content:hover::after,
.uno-header .wp-block-navigation-item > a:hover::after {
  transform: translateX(-50%) scaleX(1) !important;
  opacity: .55 !important;
}

.uno-header a.uno-nav-current::after,
.uno-header .wp-block-navigation-item__content.uno-nav-current::after {
  transform: translateX(-50%) scaleX(1) !important;
  opacity: 1 !important;
}

.uno-header a.uno-nav-current,
.uno-header .wp-block-navigation-item__content.uno-nav-current {
  font-weight: 800 !important;
}

.uno-header .uno-phone-link a::after,
.uno-header a[href^="tel:"]::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 781px) {
  .uno-story-red {
    min-height: 360px !important;
    background-position: center center !important;
  }

  .uno-header .wp-block-navigation__responsive-container.is-menu-open
  a.uno-nav-current::after {
    left: 0 !important;
    bottom: -5px !important;
    transform: scaleX(1) !important;
  }
}


/* =========================================================
   V6.20.26 – Amtshof-Schrift weiß
   ========================================================= */

.uno-story-red h2,
.uno-story-red .wp-block-heading {
  color: #ffffff !important;
}


/* =========================================================
   V6.20.31 – Jobtitel wirklich mittig links
   ========================================================= */

/*
 * Im bisherigen Standard hatten auch geschlossene Details unten 30px
 * Extra-Padding. Dadurch saß der Titel optisch zu weit oben.
 *
 * Die bisherige geschlossene Gesamthöhe liegt bei ca. 96px.
 * Diese Höhe bleibt erhalten; nur der Inhalt wird darin sauber zentriert.
 */
.uno-jobs .wp-block-details:not([open]),
#jobs .wp-block-details:not([open]) {
  height: 96px !important;
  min-height: 96px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* Titel: linksbündig, aber exakt vertikal in der Kartenmitte. */
.uno-jobs .wp-block-details:not([open]) > summary,
#jobs .wp-block-details:not([open]) > summary {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  text-align: left !important;

  font-size: clamp(1.45rem, 2vw, 1.72rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
}

/* Im geöffneten Zustand nur die Schrift größer machen;
   bestehende Abstände und Inhalts-Höhe bleiben erhalten. */
.uno-jobs .wp-block-details[open] > summary,
#jobs .wp-block-details[open] > summary {
  font-size: clamp(1.45rem, 2vw, 1.72rem) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
}

@media (max-width: 700px) {
  .uno-jobs .wp-block-details:not([open]) > summary,
  #jobs .wp-block-details:not([open]) > summary,
  .uno-jobs .wp-block-details[open] > summary,
  #jobs .wp-block-details[open] > summary {
    font-size: 1.35rem !important;
  }
}


/* =========================================================
   V6.20.32 – Pfeil auch im geschlossenen Job-Kasten
   ========================================================= */

/* Geschlossener Zustand: sichtbarer Pfeil rechts. */
.uno-jobs .wp-block-details:not([open]) > summary,
#jobs .wp-block-details:not([open]) > summary {
  position: relative !important;
  padding-right: 38px !important;
}

.uno-jobs .wp-block-details:not([open]) > summary::after,
#jobs .wp-block-details:not([open]) > summary::after {
  content: "⌄" !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
}

/* Browser-Marker ausblenden, damit nicht doppelt angezeigt wird. */
.uno-jobs .wp-block-details > summary::-webkit-details-marker,
#jobs .wp-block-details > summary::-webkit-details-marker {
  display: none !important;
}

.uno-jobs .wp-block-details > summary::marker,
#jobs .wp-block-details > summary::marker {
  content: "" !important;
}


/* =========================================================
   V6.20.33 – sanftere Job-Accordion-Animation
   ========================================================= */

/* Pfeil weich drehen statt abrupt wechseln. */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary {
  position: relative !important;
}

.uno-jobs .wp-block-details > summary::after,
#jobs .wp-block-details > summary::after {
  content: "⌄" !important;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    opacity .22s ease !important;
  transform-origin: center center !important;
}

.uno-jobs .wp-block-details:not([open]) > summary::after,
#jobs .wp-block-details:not([open]) > summary::after {
  transform: translateY(-50%) rotate(0deg) !important;
}

.uno-jobs .wp-block-details[open] > summary::after,
#jobs .wp-block-details[open] > summary::after {
  transform: translateY(-50%) rotate(180deg) !important;
}

/* Inhalt beim Öffnen dezent einblenden und leicht nach oben gleiten. */
@keyframes unoJobContentIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.uno-jobs .wp-block-details[open] > *:not(summary),
#jobs .wp-block-details[open] > *:not(summary) {
  animation: unoJobContentIn .34s cubic-bezier(.22,.61,.36,1) both;
}

/* Nutzer mit reduzierter Bewegung respektieren. */
@media (prefers-reduced-motion: reduce) {
  .uno-jobs .wp-block-details > summary::after,
  #jobs .wp-block-details > summary::after {
    transition: none !important;
  }

  .uno-jobs .wp-block-details[open] > *:not(summary),
  #jobs .wp-block-details[open] > *:not(summary) {
    animation: none !important;
  }
}


/* =========================================================
   V6.20.34 – Job-Pfeil links, rechts -> unten
   ========================================================= */

/* Rechten Pfeil aus den vorherigen Versionen vollständig entfernen. */
.uno-jobs .wp-block-details > summary::after,
#jobs .wp-block-details > summary::after {
  content: none !important;
  display: none !important;
}

/* Platz links für den neuen Pfeil, Titel bleibt linksbündig. */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary {
  position: relative !important;
  padding-left: 42px !important;
  padding-right: 0 !important;
  text-align: left !important;
}

/* Neuer Pfeil links vor der Jobbezeichnung. */
.uno-jobs .wp-block-details > summary::before,
#jobs .wp-block-details > summary::before {
  content: "→" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(0deg) !important;
  transform-origin: center center !important;
  display: block !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    opacity .22s ease !important;
}

/* Geöffnet: derselbe Pfeil dreht weich nach unten. */
.uno-jobs .wp-block-details[open] > summary::before,
#jobs .wp-block-details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg) !important;
}

/* Browser-eigenen Marker sicher ausblenden. */
.uno-jobs .wp-block-details > summary::-webkit-details-marker,
#jobs .wp-block-details > summary::-webkit-details-marker {
  display: none !important;
}

.uno-jobs .wp-block-details > summary::marker,
#jobs .wp-block-details > summary::marker {
  content: "" !important;
}

@media (prefers-reduced-motion: reduce) {
  .uno-jobs .wp-block-details > summary::before,
  #jobs .wp-block-details > summary::before {
    transition: none !important;
  }
}


/* =========================================================
   V6.20.35 – Dreieck-Pfeil links mit Abstand
   ========================================================= */

/* Genügend Raum zwischen Dreieck und Jobbezeichnung. */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary {
  position: relative !important;
  padding-left: 50px !important;
  padding-right: 0 !important;
}

/* Rechten/alten Pfeil weiterhin sicher entfernen. */
.uno-jobs .wp-block-details > summary::after,
#jobs .wp-block-details > summary::after {
  content: none !important;
  display: none !important;
}

/* Echtes CSS-Dreieck – geschlossen zeigt die Spitze nach rechts. */
.uno-jobs .wp-block-details > summary::before,
#jobs .wp-block-details > summary::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;

  width: 0 !important;
  height: 0 !important;
  border-top: 7px solid transparent !important;
  border-bottom: 7px solid transparent !important;
  border-left: 10px solid currentColor !important;

  transform: translateY(-50%) rotate(0deg) !important;
  transform-origin: 4px 50% !important;
  transition: transform .30s cubic-bezier(.22,.61,.36,1) !important;
}

/* Geöffnet: Dreieck dreht von rechts nach unten. */
.uno-jobs .wp-block-details[open] > summary::before,
#jobs .wp-block-details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg) !important;
}

/* Native Marker vollständig ausblenden. */
.uno-jobs .wp-block-details > summary::-webkit-details-marker,
#jobs .wp-block-details > summary::-webkit-details-marker {
  display: none !important;
}

.uno-jobs .wp-block-details > summary::marker,
#jobs .wp-block-details > summary::marker {
  content: "" !important;
}

@media (prefers-reduced-motion: reduce) {
  .uno-jobs .wp-block-details > summary::before,
  #jobs .wp-block-details > summary::before {
    transition: none !important;
  }
}


/* =========================================================
   V6.20.36 – Pfeil/Text bleiben beim Öffnen exakt stehen
   ========================================================= */

/*
 * Gleiche horizontale Geometrie in BEIDEN Zuständen:
 * 8px Start + 10px Dreieck + 32px Abstand = Textbeginn bei 50px.
 * Das entspricht der bisher guten Position im geöffneten Zustand.
 */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 10px minmax(0, 1fr) !important;
  column-gap: 32px !important;
  align-items: center !important;
  width: 100% !important;

  padding-left: 8px !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

/* Geschlossen: vertikale Zentrierung bleibt erhalten. */
.uno-jobs .wp-block-details:not([open]) > summary,
#jobs .wp-block-details:not([open]) > summary {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Geöffnet: nur der Inhalt wächst nach unten; Header bleibt horizontal identisch. */
.uno-jobs .wp-block-details[open] > summary,
#jobs .wp-block-details[open] > summary {
  padding-left: 8px !important;
  padding-right: 0 !important;
}

/* Dreieck ist nun ein echtes Grid-Element statt absolut positioniert.
   Dadurch kann es den Text in keinem Zustand überlagern. */
.uno-jobs .wp-block-details > summary::before,
#jobs .wp-block-details > summary::before {
  content: "" !important;
  position: static !important;
  justify-self: start !important;
  align-self: center !important;

  width: 0 !important;
  height: 0 !important;
  border-top: 7px solid transparent !important;
  border-bottom: 7px solid transparent !important;
  border-left: 10px solid currentColor !important;

  transform: rotate(0deg) !important;
  transform-origin: 4px 50% !important;
  transition: transform .30s cubic-bezier(.22,.61,.36,1) !important;
}

/* Offen: nur das Dreieck dreht sich; Text/Pfeil-Block bleibt an Ort und Stelle. */
.uno-jobs .wp-block-details[open] > summary::before,
#jobs .wp-block-details[open] > summary::before {
  transform: rotate(90deg) !important;
}

/* Alte rechte Marker/Pfeile sicher aus. */
.uno-jobs .wp-block-details > summary::after,
#jobs .wp-block-details > summary::after {
  content: none !important;
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .uno-jobs .wp-block-details > summary::before,
  #jobs .wp-block-details > summary::before {
    transition: none !important;
  }
}


/* =========================================================
   V6.20.37 – Jobheader in beiden Zuständen identisch
   ========================================================= */

/*
 * Kein Grid mehr: Pfeil und Titel bleiben immer in EINER Zeile.
 * Gleiche horizontale Position für offen und geschlossen.
 */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary,
.uno-jobs .wp-block-details:not([open]) > summary,
#jobs .wp-block-details:not([open]) > summary,
.uno-jobs .wp-block-details[open] > summary,
#jobs .wp-block-details[open] > summary {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  box-sizing: border-box !important;

  /* Pfeil links, danach identischer Abstand zum Titel */
  padding-left: 58px !important;
  padding-right: 0 !important;

  text-align: left !important;
}

/* Geschlossen weiterhin exakt vertikal mittig im bestehenden Kasten. */
.uno-jobs .wp-block-details:not([open]) > summary,
#jobs .wp-block-details:not([open]) > summary {
  height: 100% !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/*
 * Dreieck bleibt immer an derselben Stelle.
 * Geschlossen: nach rechts.
 */
.uno-jobs .wp-block-details > summary::before,
#jobs .wp-block-details > summary::before {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  top: 50% !important;

  width: 0 !important;
  height: 0 !important;
  border-top: 7px solid transparent !important;
  border-bottom: 7px solid transparent !important;
  border-left: 10px solid currentColor !important;

  transform: translateY(-50%) rotate(0deg) !important;
  transform-origin: 4px 50% !important;
  transition: transform .30s cubic-bezier(.22,.61,.36,1) !important;
}

/* Geöffnet: nur das Dreieck dreht nach unten. */
.uno-jobs .wp-block-details[open] > summary::before,
#jobs .wp-block-details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg) !important;
}

/* Keine zusätzlichen Marker rechts oder links. */
.uno-jobs .wp-block-details > summary::after,
#jobs .wp-block-details > summary::after {
  content: none !important;
  display: none !important;
}

.uno-jobs .wp-block-details > summary::-webkit-details-marker,
#jobs .wp-block-details > summary::-webkit-details-marker {
  display: none !important;
}

.uno-jobs .wp-block-details > summary::marker,
#jobs .wp-block-details > summary::marker {
  content: "" !important;
}

@media (prefers-reduced-motion: reduce) {
  .uno-jobs .wp-block-details > summary::before,
  #jobs .wp-block-details > summary::before {
    transition: none !important;
  }
}


/* =========================================================
   V6.20.38 – Jobtitel vertikal fixiert
   ========================================================= */

/*
 * Die Titelzeile bekommt in offen UND geschlossen exakt dieselbe Höhe.
 * Dadurch bleibt Jobbezeichnung + Dreieck pixelgenau an derselben Position.
 * Nur der Content unterhalb des Summary wächst beim Öffnen.
 */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary,
.uno-jobs .wp-block-details:not([open]) > summary,
#jobs .wp-block-details:not([open]) > summary,
.uno-jobs .wp-block-details[open] > summary,
#jobs .wp-block-details[open] > summary {
  height: 96px !important;
  min-height: 96px !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}

/* Der geschlossene Kasten bleibt insgesamt unverändert hoch. */
.uno-jobs .wp-block-details:not([open]),
#jobs .wp-block-details:not([open]) {
  height: 96px !important;
  min-height: 96px !important;
}

/* Im geöffneten Zustand wächst nur der Bereich NACH dem Summary. */
.uno-jobs .wp-block-details[open],
#jobs .wp-block-details[open] {
  height: auto !important;
  min-height: 0 !important;
}

/* Dreieck bleibt ebenfalls exakt mittig in derselben 96px-Titelzeile. */
.uno-jobs .wp-block-details > summary::before,
#jobs .wp-block-details > summary::before {
  top: 50% !important;
}


/* =========================================================
   V6.20.39 – Jobtitel rot + Punkt
   ========================================================= */

/* Gleicher Rotton wie "Gute Abende." */
.uno-jobs .wp-block-details > summary,
#jobs .wp-block-details > summary {
  color: var(--uno-red, #a53527) !important;
}


/* =========================================================
   V6.20.41 – Jobdetails ausgerichtet + Trinkgeld hervorgehoben
   ========================================================= */

/*
 * Aufgabenliste: Textkante soll mit den übrigen Absätzen fluchten.
 * Bullet sitzt innerhalb dieser Linie, nicht weit links außerhalb.
 */
.uno-jobs .wp-block-details > ul,
#jobs .wp-block-details > ul {
  margin-left: 0 !important;
  padding-left: 1.35em !important;
  list-style-position: outside !important;
}

/* Etwas ruhigerer vertikaler Rhythmus der Aufgabenliste. */
.uno-jobs .wp-block-details > ul li,
#jobs .wp-block-details > ul li {
  padding-left: .15em !important;
}

/*
 * Trinkgeld-Hinweis: kleine, ruhige Akzentfläche passend zum UNO-Rot.
 * Nur Absätze mit der Klasse .uno-tip-note werden so gestaltet.
 */
.uno-jobs .wp-block-details .uno-tip-note,
#jobs .wp-block-details .uno-tip-note {
  display: inline-block !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding: 9px 12px !important;

  color: var(--uno-red, #a53527) !important;
  background: rgba(165,53,39,.07) !important;
  border: 1px solid rgba(165,53,39,.22) !important;

  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .01em !important;
}


/* =========================================================
   V6.20.42 – aufgeklappte Job-Inhalte auf einer linken Linie
   ========================================================= */

/*
 * Die normalen Absätze beginnen durch den bestehenden Standard
 * 28px innerhalb des Panels. Genau diese Linie übernehmen nun
 * auch Aufgaben-Bullets und Trinkgeld-Kasten.
 */

/* Bullet selbst beginnt exakt auf derselben linken Linie wie "Deine Aufgaben:" etc. */
.uno-jobs .wp-block-details > ul,
#jobs .wp-block-details > ul {
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
  list-style-position: inside !important;
}

/* Kein zusätzlicher Versatz an den Listeneinträgen. */
.uno-jobs .wp-block-details > ul li,
#jobs .wp-block-details > ul li {
  padding-left: 0 !important;
}

/* Trinkgeld-Kasten beginnt ebenfalls exakt auf der 28px-Textlinie. */
.uno-jobs .wp-block-details .uno-tip-note,
#jobs .wp-block-details .uno-tip-note {
  margin-left: 28px !important;
  margin-right: 28px !important;
}

/* Mobile: dieselbe Logik beibehalten. */
@media (max-width: 700px) {
  .uno-jobs .wp-block-details > ul,
  #jobs .wp-block-details > ul {
    padding-left: 28px !important;
    padding-right: 18px !important;
  }

  .uno-jobs .wp-block-details .uno-tip-note,
  #jobs .wp-block-details .uno-tip-note {
    margin-left: 28px !important;
    margin-right: 18px !important;
  }
}


/* =========================================================
   V6.20.43 – mehr Abstand vor Trinkgeld-Hinweis
   ========================================================= */

.uno-jobs .wp-block-details .uno-tip-note,
#jobs .wp-block-details .uno-tip-note {
  margin-top: 24px !important;
}


/* =========================================================
   V6.20.44 – Header Anrufen + Social Footer
   ========================================================= */

.uno-header .uno-phone-link a,
.uno-header a[href^="tel:"] {
  white-space: nowrap !important;
}

.uno-footer-row {
  width: 100% !important;
  align-items: center !important;
  gap: 24px !important;
}

.uno-footer-left {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
}

.uno-footer-address,
.uno-footer-legal {
  margin: 0 !important;
}

.uno-footer-legal,
.uno-footer-legal a,
.uno-footer a[href*="impressum"],
.uno-footer a[href*="datenschutz"] {
  color: #ffffff !important;
  text-decoration-color: rgba(255,255,255,.45) !important;
}

.uno-footer-legal a:hover,
.uno-footer a[href*="impressum"]:hover,
.uno-footer a[href*="datenschutz"]:hover {
  text-decoration-color: #ffffff !important;
}

.uno-social-links {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
}

.uno-social-links a {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

.uno-social-links a:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.uno-social-links svg {
  width: 17px !important;
  height: 17px !important;
  display: block !important;
}

@media (max-width: 700px) {
  .uno-footer-row {
    align-items: flex-start !important;
  }

  .uno-footer-left {
    width: 100% !important;
  }
}


/* =========================================================
   V6.20.45 – Social Icons im Sticky-Header
   ========================================================= */

.uno-header-socials {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 8px !important;
  margin-right: 4px !important;
  flex: 0 0 auto !important;
}

.uno-header-socials a {
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
  text-decoration: none !important;
  border: 1px solid rgba(18,17,15,.24) !important;
  border-radius: 50% !important;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    transform .2s ease !important;
}

.uno-header-socials a:hover {
  background: rgba(18,17,15,.06) !important;
  border-color: currentColor !important;
  transform: translateY(-1px) !important;
}

.uno-header-socials svg {
  width: 15px !important;
  height: 15px !important;
  display: block !important;
}

/* Social Icons sind keine Abschnitts-Navigation und bekommen keinen Nav-Strich. */
.uno-header-socials a::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 781px) {
  .uno-header-socials {
    margin: 10px 0 4px !important;
    gap: 10px !important;
  }

  .uno-header-socials a {
    width: 34px !important;
    height: 34px !important;
  }
}


/* =========================================================
   V6.20.46 – PDF-Links + Anrufbutton im finalen CTA
   ========================================================= */

/* Telefonnummer unter "Heute UNO?" als echter CTA-Button. */
.uno-final > p {
  margin-top: 30px !important;
}

.uno-final > p > a[href^="tel:"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 54px !important;
  padding: 14px 24px !important;

  background: #ffffff !important;
  color: var(--uno-black, #12110f) !important;
  border: 1.5px solid #ffffff !important;
  text-decoration: none !important;

  font-size: 1.05rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;

  transition:
    background-color .2s ease,
    color .2s ease,
    transform .2s ease !important;
}

.uno-final > p > a[href^="tel:"]:hover {
  background: transparent !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
}

.uno-final > p > a[href^="tel:"]:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 4px !important;
}


/* =========================================================
   V6.20.47 – Finaler Anruf-CTA rot + Pfeile
   ========================================================= */

.uno-final .uno-final-call-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  margin-top: 30px !important;
}

/* Pfeilgruppen links/rechts vom Button. */
.uno-final .uno-final-call-arrows {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  color: var(--uno-red, #a53527) !important;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem) !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  opacity: .92 !important;
}

/* Button im bestehenden UNO-Rot. */
.uno-final .uno-final-call-row a[href^="tel:"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 14px 26px !important;

  background: var(--uno-red, #a53527) !important;
  color: #ffffff !important;
  border: 1.5px solid var(--uno-red, #a53527) !important;
  text-decoration: none !important;

  font-size: 1.05rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;

  transition:
    background-color .2s ease,
    color .2s ease,
    transform .2s ease !important;
}

.uno-final .uno-final-call-row a[href^="tel:"]:hover {
  background: transparent !important;
  color: var(--uno-red, #a53527) !important;
  transform: translateY(-1px) !important;
}

.uno-final .uno-final-call-row a[href^="tel:"]:focus-visible {
  outline: 2px solid var(--uno-red, #a53527) !important;
  outline-offset: 4px !important;
}

@media (max-width: 700px) {
  .uno-final .uno-final-call-row {
    gap: 10px !important;
  }

  .uno-final .uno-final-call-arrows {
    font-size: .95rem !important;
    letter-spacing: .03em !important;
  }

  .uno-final .uno-final-call-row a[href^="tel:"] {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* =========================================================
   V6.20.48 – Finaler CTA breiter + größerer Button
   ========================================================= */

.uno-final .uno-final-call-row {
  width: min(100%, 1180px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 22px !important;
}

/* Pfeilbereiche nutzen links und rechts die komplette verfügbare Breite. */
.uno-final .uno-final-call-arrows {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;

  font-size: clamp(1.15rem, 1.7vw, 1.5rem) !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
}

/* Linke Pfeile laufen optisch bis zum Button. */
.uno-final .uno-final-call-arrows:first-child {
  text-align: right !important;
}

/* Rechte Pfeile laufen optisch vom Button weg bis an die Breite. */
.uno-final .uno-final-call-arrows:last-child {
  text-align: left !important;
}

/* Button etwas größer und präsenter. */
.uno-final .uno-final-call-row a[href^="tel:"] {
  flex: 0 0 auto !important;
  min-height: 62px !important;
  padding: 17px 34px !important;
  font-size: 1.16rem !important;
}

@media (max-width: 700px) {
  .uno-final .uno-final-call-row {
    gap: 10px !important;
    width: 100% !important;
  }

  .uno-final .uno-final-call-arrows {
    font-size: .9rem !important;
    letter-spacing: .02em !important;
  }

  .uno-final .uno-final-call-row a[href^="tel:"] {
    min-height: 56px !important;
    padding: 15px 20px !important;
    font-size: 1rem !important;
  }
}


/* =========================================================
   V6.20.50 – Online-bewerben-Button größer + UNO-Rot
   ========================================================= */

.uno-jobs a[href*="/bewerbung"],
#jobs a[href*="/bewerbung"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 64px !important;
  padding: 18px 34px !important;

  background: var(--uno-red, #a53527) !important;
  color: #ffffff !important;
  border: 2px solid var(--uno-red, #a53527) !important;
  text-decoration: none !important;

  font-size: 1.18rem !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;

  box-shadow: 0 10px 24px rgba(165,53,39,.16) !important;
  transition:
    background-color .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease !important;
}

.uno-jobs a[href*="/bewerbung"]:hover,
#jobs a[href*="/bewerbung"]:hover {
  background: transparent !important;
  color: var(--uno-red, #a53527) !important;
  border-color: var(--uno-red, #a53527) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 26px rgba(165,53,39,.12) !important;
}

.uno-jobs a[href*="/bewerbung"]:focus-visible,
#jobs a[href*="/bewerbung"]:focus-visible {
  outline: 2px solid var(--uno-red, #a53527) !important;
  outline-offset: 4px !important;
}

@media (max-width: 700px) {
  .uno-jobs a[href*="/bewerbung"],
  #jobs a[href*="/bewerbung"] {
    width: 100% !important;
    min-height: 60px !important;
    padding: 17px 22px !important;
    font-size: 1.08rem !important;
  }
}


/* =========================================================
   V6.20.51 – Online-bewerben-Button nochmals größer
   ========================================================= */

.uno-jobs a[href*="/bewerbung"],
#jobs a[href*="/bewerbung"] {
  min-height: 76px !important;
  padding: 22px 46px !important;
  font-size: 1.34rem !important;
}

@media (max-width: 700px) {
  .uno-jobs a[href*="/bewerbung"],
  #jobs a[href*="/bewerbung"] {
    min-height: 68px !important;
    padding: 20px 26px !important;
    font-size: 1.18rem !important;
  }
}


/* =========================================================
   V6.20.52 – Telefonnummer im Bewerbungsformular
   ========================================================= */

.uno-application-form .uno-field-hint {
  display: block !important;
  margin-top: 8px !important;
  color: rgba(18,17,15,.68) !important;
  font-size: .88rem !important;
  line-height: 1.45 !important;
}

.uno-application-form .uno-field-hint strong {
  color: var(--uno-red, #a53527) !important;
  font-weight: 800 !important;
}

.uno-application-form #uno-phone::placeholder {
  color: rgba(18,17,15,.42) !important;
  opacity: 1 !important;
}

.uno-application-form #uno-phone:not(:placeholder-shown):invalid {
  border-color: var(--uno-red, #a53527) !important;
}

.uno-application-form #uno-phone:focus:invalid {
  outline-color: var(--uno-red, #a53527) !important;
}


/* =========================================================
   V6.20.53 – internationales Telefonnummernformat
   ========================================================= */

.uno-application-form .uno-phone-field .uno-field-hint {
  max-width: 720px !important;
}

.uno-application-form #uno-phone {
  font-variant-numeric: tabular-nums;
}
