/* DeutschlandGourmet v2 — gemeinsame Styles der Uebersichtsseiten
   (Bewertungen / Aktuelles / Galerie / Veranstaltungen).
   Nutzt das rl-layout/rl-side/rl-pager aus restaurants.css; hier nur der Content rechts.
   CD-konform: scharfe Ecken, Hairlines, DG-Gruen/Gold. */

.rl-main .ov-intro{color:#8a8474;font-size:.95rem;margin:0 0 18px}

/* ----- Vertikale Liste (Bewertungen, Aktuelles, Veranstaltungen) ----- */
.ov-list{display:flex;flex-direction:column;gap:0}

/* Bewertungs-Eintrag */
.ov-rev{padding:20px 0;border-bottom:1px solid #eee7db}
.ov-rev:first-child{padding-top:0}
.ov-rev-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;margin-bottom:6px}
.ov-rev-stars{display:inline-flex;align-items:center;gap:8px}
.ov-rev-stars b{color:#1f1e18;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums}
.ov-rev a.ov-rev-title{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.15rem;color:#1f1e18;text-decoration:none;line-height:1.25;display:block;margin:2px 0 4px}
.ov-rev a.ov-rev-title:hover{text-decoration:underline}
.ov-rev-meta{color:#8a8474;font-size:.9rem;margin-bottom:8px}
.ov-rev-meta b{color:#4c473b;font-weight:600}
.ov-rev-meta a{color:#5a6a2c;text-decoration:none}
.ov-rev-meta a:hover{text-decoration:underline}
.ov-rev-text{color:#3c382f;line-height:1.7;font-size:1rem}
.ov-rev-more{color:#5a6a2c;text-decoration:none;font-weight:600;white-space:nowrap}
.ov-rev-more:hover{text-decoration:underline}

/* News-/Event-Eintrag mit optionalem Bild links */
.ov-item{display:grid;grid-template-columns:1fr;gap:16px;padding:22px 0;border-bottom:1px solid #eee7db}
.ov-item:first-child{padding-top:0}
@media(min-width:560px){.ov-item.has-img{grid-template-columns:200px 1fr}}
.ov-item-img{display:block;overflow:hidden;background:#efece4;border:1px solid #e7e3da}
.ov-item-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .5s}
.ov-item-img:hover img{transform:scale(1.05)}
.ov-item-body{min-width:0}
.ov-date{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5a6a2c;margin-bottom:6px}
.ov-date .ov-time{color:#8a8474;font-weight:600;text-transform:none;letter-spacing:0}
.ov-item h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.2rem;color:#1f1e18;margin:0 0 6px;line-height:1.25}
.ov-item-title{color:inherit;text-decoration:none}
.ov-item-title:hover{text-decoration:underline}
.ov-item-rest{color:#8a8474;font-size:.9rem;margin:0 0 8px}
.ov-item-rest a{color:#5a6a2c;text-decoration:none}
.ov-item-rest a:hover{text-decoration:underline}
.ov-item-text{color:#3c382f;line-height:1.65;font-size:.98rem}
.ov-item-more{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#5a6a2c;font-weight:600;font-size:.9rem;text-decoration:none}
.ov-item-more svg{flex:none}
.ov-item-more:hover{text-decoration:underline}

/* ----- Galerie-Grid (Spaltenzahl waehlbar, Standard 5) ----- */
.ov-gal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:560px){.ov-gal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){
  .ov-gal{grid-template-columns:repeat(5,1fr)}            /* Standard: 5 pro Reihe */
  .ov-gal[data-cols="3"]{grid-template-columns:repeat(3,1fr)}
  .ov-gal[data-cols="4"]{grid-template-columns:repeat(4,1fr)}
  .ov-gal[data-cols="5"]{grid-template-columns:repeat(5,1fr)}
  .ov-gal[data-cols="6"]{grid-template-columns:repeat(6,1fr)}
  /* 6 pro Reihe = schmalere Kacheln -> Hover-Bildunterschrift verkleinern, damit sie passt */
  .ov-gal[data-cols="6"] .ov-gal-cap{padding:16px 8px 7px}
  .ov-gal[data-cols="6"] .ov-gal-name{font-size:.72rem}
  .ov-gal[data-cols="6"] .ov-gal-meta{font-size:.63rem;gap:.35rem;margin-top:2px}
}
.ov-gal-item{position:relative;display:block;overflow:hidden;background:#efece4;border:1px solid #e7e3da;aspect-ratio:1/1}
.ov-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ov-gal-item:hover img{transform:scale(1.06)}
.ov-gal-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 11px 9px;color:#fff;line-height:1.25;
            background:linear-gradient(to top,rgba(20,18,12,.86),rgba(20,18,12,0));opacity:0;transition:opacity .2s}
.ov-gal-item:hover .ov-gal-cap,.ov-gal-item:focus-visible .ov-gal-cap{opacity:1}
.ov-gal-name{font-weight:700;font-size:.82rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ov-gal-meta{margin-top:3px;font-size:.72rem;font-weight:500;opacity:.95;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.ov-gal-stars{color:#ffd24a;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.ov-gal-ort{opacity:.9}

.ov-empty{padding:50px 0;text-align:center;color:#8a8474}

@media(prefers-reduced-motion:reduce){.ov-item-img img,.ov-gal-item img,.ov-rest img{transition:none}}

/* ----- Horizontaler Regionalfilter (Stellenangebote): eckig, sichtbare Kanten, gruener Button ----- */
.jf-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid #cbc4b4;border-top:2px solid #5a6a2c;background:#fff}
.jf-field{display:flex;flex-direction:column;gap:6px}
.jf-grow{flex:1 1 220px;min-width:160px}
.jf-lbl{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:#6f6a5c;font-weight:700}
.jf-input{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}
.jf-input:focus{outline:none;border-color:#5a6a2c;box-shadow:0 0 0 3px rgba(90,106,44,.15)}
select.jf-input{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;min-width:110px}
.jf-btn{border:0;background:#5a6a2c;color:#fff;font-weight:700;font-size:.95rem;padding:10px 20px;cursor:pointer;font-family:inherit;transition:background .15s}
.jf-btn:hover{background:#4a5824}
.jf-reset{align-self:center;color:#6f685a;font-weight:600;font-size:.88rem;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.jf-reset:hover{border-color:#6f685a}
@media(max-width:560px){.jf-bar{gap:10px}.jf-field,.jf-grow{flex:1 1 100%}.jf-btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.jf-input,.jf-btn,.jf-reset{transition:none}}
.jf-title{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;font-size:1.05rem;color:#1f1e18;letter-spacing:-.01em;margin:0 0 10px}
.jf-back{margin:0 0 16px}
.jf-back a{color:#5a6a2c;font-size:.92rem;text-decoration:none}
.jf-back a:hover{text-decoration:underline}
