  .rl-wrap{max-width:80rem;margin:0 auto;padding:0 20px}
  .rl-hero{padding:40px 0 4px}
  .rl-kick{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#5a6a2c;font-weight:700}
  .rl-h1{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.03;
         font-size:clamp(1.9rem,4.5vw,2.9rem);color:#1f1e18;margin-top:8px}
  .rl-sub{color:#8a8474;margin-top:8px;font-size:1rem}
  .rl-sub b{color:#1f1e18;font-weight:700}

  /* Layout: Sidebar links + Ergebnisse rechts */
  .rl-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start;margin:22px 0 8px}
  @media(max-width:860px){.rl-layout{grid-template-columns:1fr;gap:18px}}

  /* Sidebar */
  .rl-side{position:sticky;top:70px;border:1px solid #ebe7dd;background:#fff;box-shadow:0 2px 5px -2px rgba(24,28,24,.06),0 14px 32px -18px rgba(24,28,24,.14)}
  @media(max-width:860px){.rl-side{position:static}}
  /* Filter + Kennzahlen-Kasten als eng gekoppeltes Paar in EINER Spalte (kleine Luecke, gemeinsamer Rahmen). */
  .rl-col{position:sticky;top:70px;display:flex;flex-direction:column;gap:12px}
  .rl-col .rl-side{position:static;top:auto}
  @media(max-width:860px){.rl-col{position:static}}
  /* Kopf: gruener Balken als klarer, sichtbarer Anker (statt washed-out Box) */
  .rl-side h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.02rem;color:#fff;
              background:#5a6a2c;padding:12px 16px;letter-spacing:.01em;margin:0}
  .rl-grp{padding:13px 16px;border-top:1px solid #ece7db}
  .rl-grp:first-of-type{border-top:0}
  .rl-lbl{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#6f6a5c;font-weight:700;margin-bottom:7px}
  .rl-field{width:100%;border:1px solid #bcb4a2;background:#fff;color:#1f1e18;font-size:.95rem;padding:9px 11px;
            font-family:inherit;line-height:1.2;transition:border-color .12s,box-shadow .12s}
  .rl-field:focus{outline:none;border-color:#5a6a2c;box-shadow:0 0 0 3px rgba(90,106,44,.15)}
  select.rl-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8474' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}

  /* Umkreis-Schieberegler */
  .rl-slidehead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
  .rl-slideval{font-weight:700;color:#5a6a2c;font-size:.98rem}
  .rl-range{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:0;background:#e0dccf;outline:none;margin:8px 0 2px}
  .rl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
       background:#5a6a2c;border:3px solid #fff;box-shadow:0 1px 4px rgba(31,30,24,.35);cursor:pointer}
  .rl-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#5a6a2c;border:3px solid #fff;
       box-shadow:0 1px 4px rgba(31,30,24,.35);cursor:pointer}
  .rl-range::-moz-range-track{height:4px;background:#e0dccf}
  .rl-scale{display:flex;justify-content:space-between;font-size:.7rem;color:#b3ab98;margin-top:2px}

  /* Radios / Checkboxen: kompakte Zeilen, eckiges Auswahl-Highlight */
  .rl-opt{display:flex;align-items:center;gap:9px;padding:6px 8px;margin:0 -8px;cursor:pointer;font-size:.92rem;color:#4c473b}
  .rl-opt:hover{background:#f4f2ea}
  .rl-opt:has(input:checked){background:#eef1e2;color:#33401a}
  .rl-opt input{width:17px;height:17px;accent-color:#5a6a2c;cursor:pointer;flex:none}
  .rl-opt .rl-starrow{color:#c0862b;letter-spacing:.02em}
  .rl-opt .rl-starrow i{color:#dcd7c7;font-style:normal}
  .rl-actions{padding:15px 18px;display:flex;gap:10px}
  .rl-btn{flex:1;border:0;background:#5a6a2c;color:#fff;font-weight:700;font-size:.95rem;padding:11px 14px;cursor:pointer;
          font-family:inherit;transition:background .15s}
  .rl-btn:hover{background:#4a5824}

  /* Karteireiter-Tabs: Restaurants (links, weiss, Standard) + Seiten-Kontext (rechts, gruen). Buendig. */
  .rl-tabwrap{position:relative}
  .rl-tabs{display:flex;gap:7px;padding:0;margin-bottom:-1px;position:relative;z-index:1}
  .rl-tab{border:1px solid #cbc4b4;background:#fff;padding:11px 17px;font-family:inherit;font-weight:700;font-size:.86rem;color:#8a8577;cursor:pointer;border-radius:12px 12px 0 0;transition:background .2s,color .2s,border-color .2s}
  /* inaktiver Reiter: weiss, gedaempfter Text, sichtbare Unterkante (wirkt "dahinter") */
  .rl-tab[aria-selected="false"]{border-bottom:1px solid #cbc4b4}
  /* aktiver Reiter: verbunden mit dem Erklaerungsbereich (keine Unterkante), Farbe je Modus */
  .rl-tabwrap[data-mode="rest"] .rl-tab[data-mode="rest"]{background:#fff;color:#41501c;border-bottom:0}
  .rl-tabwrap[data-mode="ctx"]  .rl-tab[data-mode="ctx"]{background:#5a6a2c;color:#fff;border-color:#5a6a2c;border-bottom:0}
  .rl-tab:focus-visible{outline:2px solid #41501c;outline-offset:-2px}
  .rl-ctxhint{padding:10px 16px;font-size:.8rem;color:#6f6a5c;border-bottom:1px solid #ece7db;transition:background .2s,color .2s}
  .rl-ctxhint b{font-weight:700}
  .rl-tabwrap[data-mode="rest"] .rl-ctxhint{background:#fff;color:#6f6a5c}
  .rl-tabwrap[data-mode="rest"] .rl-ctxhint b{color:#41501c}
  .rl-tabwrap[data-mode="ctx"]  .rl-ctxhint{background:#5a6a2c;color:rgba(255,255,255,.92);border-bottom-color:transparent}
  .rl-tabwrap[data-mode="ctx"]  .rl-ctxhint b{color:#fff}
  .rl-tabwrap .rl-side{border-radius:0 12px 12px 12px}
  .rl-reset{border:1.5px solid #C0C0C0;background:#fff;color:#6f685a;font-weight:600;font-size:.9rem;padding:11px 12px;
            text-decoration:none;display:inline-flex;align-items:center;cursor:pointer;transition:border-color .15s}
  .rl-reset:hover{border-color:#5a6a2c;color:#3f4a1f}

  /* Ergebnis-Spalte */
  .rl-resulthead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:14px}
  .rl-counts{display:flex;flex-direction:column;gap:.15rem}
  .rl-count{font-size:.95rem;color:#8a8474}
  .rl-count b{color:#1f1e18}
  .rl-kreiswide{font-size:.85rem;color:#5a6a2c;text-decoration:none}
  .rl-kreiswide:hover{text-decoration:underline;text-underline-offset:3px}
  /* Spaltenzahl frei waehlbar (Umschalter, Standard 5). Wahl gilt erst ab Desktop-Breite;
     darunter erzwingen die Media-Queries eine sinnvolle Spaltenzahl. */
  .rl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;transition:opacity .18s}
  @media(min-width:900px){
    .rl-grid{grid-template-columns:repeat(5,minmax(0,1fr))}          /* Standard: 5 pro Reihe */
    .rl-grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
    .rl-grid[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
    .rl-grid[data-cols="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
    .rl-grid[data-cols="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
  }
  /* Mobil einspaltig (grosses Foto, Michelin-artig) statt zwei enge Spalten */
  @media(max-width:640px){.rl-grid{grid-template-columns:1fr;gap:20px}.rl-photo{aspect-ratio:16/11}}
  .rl-grid.is-loading{opacity:.4;pointer-events:none}

  /* Ansicht-Umschalter: Bilder pro Reihe (nur ab Desktop sinnvoll) */
  .rl-viewopt{display:none}
  @media(min-width:900px){
    .rl-viewopt{display:inline-flex;align-items:center;gap:0;border:1px solid #cbc4b4;background:#fff}
    .rl-viewopt-lbl{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6f6a5c;font-weight:700;padding:0 11px 0 12px}
    .rl-viewopt-lbl svg{opacity:.7;flex:none}
    .rl-viewopt button{appearance:none;border:0;border-left:1px solid #ece7db;background:#fff;color:#6f6a5c;
      font-family:inherit;font-weight:700;font-size:.9rem;line-height:1;padding:9px 12px;cursor:pointer;
      font-variant-numeric:tabular-nums;transition:background .12s,color .12s}
    .rl-viewopt button:hover{background:#f4f2ea;color:#3f4a1f}
    .rl-viewopt button[aria-pressed="true"]{background:#5a6a2c;color:#fff}
  }
  .rl-empty{padding:60px 0;text-align:center;color:#8a8474}

  /* Paginierung */
  .rl-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:30px 0 8px}
  .rl-pg{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;
         border:1.5px solid #C0C0C0;background:#fff;color:#4c473b;font-weight:600;font-size:.95rem;
         text-decoration:none;line-height:1;transition:border-color .15s,background .15s,color .15s}
  .rl-pg:hover{border-color:#5a6a2c;color:#3f4a1f}
  .rl-pg[aria-current="true"]{background:#5a6a2c;border-color:#5a6a2c;color:#fff}
  .rl-pg.is-disabled{opacity:.4;pointer-events:none}
  .rl-gap{padding:0 4px;color:#9a9280}
  @media(prefers-reduced-motion:reduce){.rl-grid,.rl-pg,.rl-btn,.rl-field,.fd-btn{transition:none}}
  /* Kueche-Auswahl mit Laenderflaggen (Custom-Dropdown, JS-Enhancement; ohne JS bleibt das native Select) */
  select.fd-native{position:absolute!important;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
  .fd{position:relative}
  .fd-btn{width:100%;display:flex;align-items:center;gap:.5rem;border:1px solid #bcb4a2;background:#fff;color:#1f1e18;font-size:.95rem;padding:9px 32px 9px 11px;cursor:pointer;text-align:left;position:relative;transition:border-color .12s}
  .fd-btn:hover{border-color:#8f8672}
  .fd.open .fd-btn{border-color:#5a6a2c}
  .fd-btn:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8474' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center}
  .fd-btn:focus-visible{outline:2px solid #5a6a2c;outline-offset:2px}
  .fd-flag{width:20px;height:15px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08);flex:none}
  .fd-flag--none{width:20px;height:15px;flex:none;border-radius:2px;background:repeating-linear-gradient(45deg,#eee,#eee 3px,#f7f7f7 3px,#f7f7f7 6px)}
  .fd-lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .fd-panel{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid #C0C0C0;box-shadow:0 14px 34px -12px rgba(31,30,24,.3);max-height:320px;overflow:auto;display:none}
  .fd.open .fd-panel{display:block}
  .fd-opt{display:flex;align-items:center;gap:.5rem;padding:8px 11px;cursor:pointer;font-size:.95rem;color:#1f1e18}
  .fd-opt:hover,.fd-opt.is-active{background:#f2f5ea}
  .fd-opt[aria-selected="true"]{font-weight:600;color:#3f4a1f}

  /* Filter-Statistik-Text (Kennzahlen im Sidebar-Kopf) */
  /* Eigenstaendiger Kasten unterhalb des Filters (Restaurants aktiv / Veranstaltungen / offene Stellen) */
  .rl-statsbox{border:1px solid #ebe7dd;border-top:2px solid #5a6a2c;background:#fff;padding:13px 16px;font-size:.82rem;line-height:1.55;color:#6f6a5c;box-shadow:0 2px 5px -2px rgba(24,28,24,.06),0 14px 32px -18px rgba(24,28,24,.14)}
  .rl-statsbox a{color:inherit;text-decoration:none}
  .rl-statsbox a b{color:#5a6a2c;font-weight:700;font-variant-numeric:tabular-nums}
  .rl-statsbox a:hover b{text-decoration:underline}
  /* Stadt-Cross-Linking: Boxen unter der Restaurantliste (Jobs/Events/News der Stadt) */
  .city-more{margin:34px 0 8px}
  .city-more-h{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.3rem;color:#1f1e18;letter-spacing:-.02em;margin:24px 0 16px}
  .city-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  @media(max-width:760px){.city-more-grid{grid-template-columns:1fr}}
  .city-box{display:flex;flex-direction:column;gap:2px;border:1px solid #cbc4b4;border-top:3px solid #5a6a2c;background:#fff;padding:18px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
  .city-box:hover{border-color:#5a6a2c;box-shadow:0 6px 20px -12px rgba(31,30,24,.4)}
  .city-box-n{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:2rem;line-height:1;color:#5a6a2c;font-variant-numeric:tabular-nums}
  .city-box-lbl{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8a8474;font-weight:700;margin-top:4px}
  .city-box-t{margin-top:10px;color:#1f1e18;font-weight:600;font-size:.98rem}
  .city-box-arr{color:#5a6a2c}
  @media(prefers-reduced-motion:reduce){.city-box{transition:none}}
  /* Landkreis-Seiten: interne Verlinkung auf die Orte im Kreis (Chips) */
  .kreis-orte{margin:34px 0 8px}
  .kreis-orte-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
  .kreis-ort{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border:1px solid #cbc4b4;
    background:#fff;padding:10px 13px;text-decoration:none;transition:border-color .15s,box-shadow .15s}
  .kreis-ort:hover{border-color:#5a6a2c;box-shadow:0 6px 20px -12px rgba(31,30,24,.4)}
  .kreis-ort-n{color:#41501c;font-weight:600;font-size:.95rem}
  .kreis-ort-c{color:#8a8474;font-size:.82rem;font-variant-numeric:tabular-nums;flex:none}
  /* Unique-Intro je Stadt/Bundesland (SEO-Content unter dem Hero) */
  .rl-intro{margin:8px 0 2px;max-width:72ch;color:#6f6a5c;font-size:.95rem;line-height:1.65}
  .rl-intro p{margin:0 0 6px}
  .rl-intro p:last-child{margin-bottom:0}

  /* Kuechen-Landingpages (/<kueche>-restaurants/) + Uebersicht (/restaurants-nach-kueche/) */
  .nk-hero-img{margin:10px 0 2px;border:1px solid #cbc4b4;overflow:hidden;aspect-ratio:16/5;background:#efece4}
  .nk-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
  @media(max-width:640px){.nk-hero-img{aspect-ratio:16/7}}
  .nk-seo{max-width:74ch;margin:30px auto 10px;padding:0 2px;color:#4c473b;font-size:1rem;line-height:1.72}
  .nk-seo h2{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.25rem;color:#1f1e18;letter-spacing:-.01em;margin:24px 0 8px}
  .nk-seo h2:first-child{margin-top:0}
  .nk-seo p{margin:0 0 13px;text-align:justify;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:6 3 3}
  .nk-seo a{color:#5a6a2c;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
  .nk-seo a:hover{color:#43521f}
  /* In der Ergebnisspalte: volle Spaltenbreite, klare Trennung + Abstand nach oben (statt schmal danebengesetzt) */
  .rl-main .nk-seo{max-width:none;margin:44px 0 0;padding:34px 0 0;border-top:1px solid #e6e1d5}
  .rl-main .nk-seo h2{font-size:1.4rem;margin-bottom:12px}
  /* Uebersicht: Kuechen-Kachelraster */
  .nk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0 8px}
  @media(min-width:620px){.nk-grid{grid-template-columns:repeat(3,1fr)}}
  @media(min-width:980px){.nk-grid{grid-template-columns:repeat(4,1fr)}}
  .nk-card{display:block;position:relative;overflow:hidden;border:1px solid #cbc4b4;background:#efece4;aspect-ratio:4/3;text-decoration:none}
  .nk-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
  .nk-card:hover img{transform:scale(1.06)}
  .nk-card-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 11px;color:#fff;
    background:linear-gradient(to top,rgba(20,18,12,.9),rgba(20,18,12,0));transition:background .2s}
  .nk-card:hover .nk-card-cap{background:linear-gradient(to top,rgba(20,18,12,.95),rgba(20,18,12,.15))}
  .nk-card-n{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.08rem;line-height:1.15}
  .nk-card-c{display:block;margin-top:2px;font-size:.78rem;font-weight:600;opacity:.92;font-variant-numeric:tabular-nums}
  @media(prefers-reduced-motion:reduce){.nk-card img{transition:none}}

  /* ===== Landkreis-Liste unter dem Bundesland-Hub (redaktionell, Haarlinien statt Kacheln) ===== */
  .lk-sec{max-width:none}
  .lk-sec h2{margin-bottom:6px!important}
  .lk-intro{margin:0 0 24px!important;text-align:left!important;color:#6f685a}
  .lk-grid{list-style:none;margin:0;padding:0;display:grid;gap:0 44px;
    grid-template-columns:repeat(2,minmax(0,1fr))}
  @media(min-width:640px){.lk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
  @media(min-width:980px){.lk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
  .lk-grid li{margin:0;border-bottom:1px solid #e6e1d5}
  .lk-grid a{display:flex;align-items:baseline;gap:12px;justify-content:space-between;
    padding:13px 1px;color:#33401a!important;text-decoration:none!important;transition:color .15s}
  .lk-grid a:hover{color:#5a6a2c!important}
  .lk-name{font-weight:600;line-height:1.3}
  .lk-grid a:hover .lk-name{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
  .lk-n{flex:none;font-size:.8rem;color:#a49d8c;font-variant-numeric:tabular-nums}

  /* ===== Autocomplete "PLZ oder Ort" (Quelle eg_koordinaten) ===== */
  .rl-ac{position:relative}
  /* Aktiver Ort als entfernbare Pill (PLZ + Ort), "x" davor zum Loeschen */
  .rl-ac-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;
    background:#eef1e2;border:1px solid #cdd7b5;border-radius:999px;padding:6px 14px 6px 8px;
    font-size:.92rem;font-weight:600;color:#33401a}
  .rl-ac-pill-txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rl-ac-pill-x{flex:none;display:inline-flex;align-items:center;justify-content:center;
    width:20px;height:20px;padding:0;border:0;border-radius:50%;background:#5a6a2c;color:#fff;
    font-size:15px;line-height:1;cursor:pointer;transition:background .15s}
  .rl-ac-pill-x:hover{background:#4a5824}
  .rl-ac-list{position:absolute;left:0;top:calc(100% + 4px);z-index:60;margin:0;padding:4px;list-style:none;
    min-width:100%;width:max-content;max-width:min(380px,80vw);   /* darf breiter als das Feld werden -> Ort+PLZ in EINER Zeile */
    background:#fff;border:1px solid #bcb4a2;box-shadow:0 12px 30px -10px rgba(31,30,24,.28);
    max-height:min(340px,60vh);overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:8px;
    scrollbar-width:thin;scrollbar-color:#c9c3b3 transparent}   /* schmale Scrollbar, damit die runde Ecke frei bleibt */
  .rl-ac-list::-webkit-scrollbar{width:8px}
  .rl-ac-list::-webkit-scrollbar-track{background:transparent}
  .rl-ac-list::-webkit-scrollbar-thumb{background:#c9c3b3;border-radius:8px;border:2px solid #fff;background-clip:padding-box}
  .rl-ac-list[hidden]{display:none}
  .rl-ac-opt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:40px;
    padding:6px 12px;cursor:pointer;border-radius:5px;color:#1f1e18;line-height:1.25}
  .rl-ac-opt:hover,.rl-ac-opt.is-active{background:#f2f5ea}
  .rl-ac-name{font-weight:600;font-size:.85rem;white-space:nowrap}   /* eine Zeile: PLZ + Ort */
  .rl-ac-n{font-size:.72rem;color:#8a8474;white-space:nowrap}
  @media(max-width:860px){
    .rl-field{font-size:16px}          /* verhindert iOS-Zoom beim Fokus */
    .rl-ac-list{max-width:90vw}
    .rl-ac-opt{min-height:44px}
    .rl-ac-name{font-size:.95rem}
    .rl-ac-n{font-size:.8rem}
  }
