/* DeutschlandGourmet v2 — Detailseite (detail.php): Speisekarte-Buehne, Buttons, Nearby-Karussell.
   CD-konform: scharfe Ecken (kein border-radius). */
.sk-stage{background:#3a2a1a url(/assets/holz-speisekarte.jpg) center/cover no-repeat;box-shadow:inset 0 0 70px rgba(0,0,0,.3)}
.sk-stage .sk-page{filter:drop-shadow(0 8px 22px rgba(0,0,0,.4))}
.dg-rate-btn{display:inline-flex;align-items:center;gap:.5rem;background:#5a6a2c;color:#fff;font-weight:600;font-size:.95rem;padding:.62rem 1.2rem;text-decoration:none;line-height:1;transition:background .15s,transform .15s}
.dg-rate-btn:hover{background:#4a5824}
.dg-rate-btn:active{transform:translateY(1px)}
.dg-rate-btn:focus-visible{outline:2px solid #5a6a2c;outline-offset:2px}
.dg-report{display:inline-flex;align-items:center;gap:.4rem;color:#9c9482;font-size:.82rem;text-decoration:none}
.dg-report:hover{color:#b4331f;text-decoration:underline}
.nb-view{overflow:hidden;padding-bottom:2px}
.nb-track{cursor:grab;touch-action:pan-y;will-change:transform;user-select:none}
.nb-track.is-drag{cursor:grabbing}
.nb-track.is-drag a{pointer-events:none}
.nb-track img{-webkit-user-drag:none;user-drag:none}
.nb-arrow{transition:background-color .2s,box-shadow .25s,border-color .2s;will-change:transform}
.nb-arrow:hover{box-shadow:0 12px 28px -10px rgba(31,30,24,.4)}
/* Restaurantbewertungen: Name/Sterne links, Bewertung rechts; grosszuegige Abstaende
   (loest den frueheren Grid-Bug + zu enge Reihen). */
.dg-rev{display:grid;grid-template-columns:170px 1fr;column-gap:2.5rem;padding:2.75rem 0}
.dg-rev[hidden]{display:none}   /* hidden-Attribut durchsetzen: display:grid wuerde [hidden] sonst aushebeln (Paginierung) */
.dg-rev:first-child{padding-top:1.25rem}
.dg-rev-who{align-self:start}
@media(max-width:640px){.dg-rev{grid-template-columns:1fr;row-gap:1rem;padding:2.25rem 0}}

/* ---- Feier-/Catering-Anfrageformular (#anfrage) - eckig, v2-Frontend-Feldstil ---- */
.af-usp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.af-usp li{position:relative;padding-left:1.7rem;color:#514c40;font-size:.96rem;line-height:1.4}
.af-usp li::before{content:"";position:absolute;left:.15rem;top:.45em;width:.5rem;height:.5rem;background:#5a6a2c;transform:rotate(45deg)}
.af-fields{display:grid;gap:15px}
.af-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:640px){.af-row2{grid-template-columns:1fr}}
.af-f label{display:block;font-size:.82rem;font-weight:600;color:#514c40;margin-bottom:6px}
.af-f label .opt{color:#9c9482;font-weight:500}
.af-f input,.af-f select,.af-f textarea{width:100%;box-sizing:border-box;padding:13px 14px;border:1.6px solid #dcd9cc;background:#fff;font:inherit;font-size:.95rem;color:#1f1e18;border-radius:0;-webkit-appearance:none;appearance:none}
.af-f select{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='%23514c40' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:38px}
.af-f textarea{min-height:120px;resize:vertical}
.af-f input:focus,.af-f select:focus,.af-f textarea:focus{outline:none;border-color:#5a6a2c}
.af-f.bad input,.af-f.bad select,.af-f.bad textarea{border-color:#c0492e}
.af-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.af-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:#1f1e18;color:#fff;border:0;padding:15px 18px;font:inherit;font-weight:700;font-size:1.02rem;cursor:pointer;transition:background .15s}
.af-btn:hover{background:#5a6a2c}
.af-fine{text-align:center;font-size:.8rem;color:#9c9482;margin:12px 0 0}
.af-err{background:#fdecea;border:1px solid #f3c6c0;color:#a83226;padding:12px 14px;font-size:.9rem;line-height:1.4;margin:0 0 16px}
.af-ok{text-align:center;padding:14px 4px}
.af-ok-ic{width:54px;height:54px;background:#eaf0dd;color:#5a6a2c;display:inline-flex;align-items:center;justify-content:center;margin:0 0 12px}
.af-ok h3{font-size:1.35rem;color:#1f1e18;margin:0 0 .45rem}
.af-ok p{color:#514c40;font-size:.96rem;line-height:1.5;margin:0 auto;max-width:36ch}
.af-send{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:2px}
.af-send .af-btn{width:auto;flex:0 0 auto;min-height:65px;font-weight:600;font-size:1rem;padding-left:24px;padding-right:24px}
.af-fine a{color:#5a6a2c;text-decoration:underline}
.dg-menu-cta{border-radius:0}   /* CD: scharfe Ecken, kein halbrundes 14px */
.af-card{box-shadow:14px 18px 40px -22px rgba(31,30,24,.35),6px 4px 12px -6px rgba(31,30,24,.12)}
.af-grid{display:grid;gap:2rem;align-items:stretch}
@media(min-width:1024px){.af-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.af-photo{position:relative;background-size:cover;background-position:center;min-height:300px;border:1px solid #e7e3da}
@media(max-width:1023px){.af-photo{min-height:220px}}
.af-photo-cap{position:absolute;right:0;bottom:0;max-width:85%;text-align:right;padding:2.4rem 1.1rem .9rem;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0))}
.af-photo-cap b{display:block;font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;font-size:1.05rem;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.af-photo-cap i{display:block;font-style:normal;font-size:.82rem;opacity:.9;margin-top:2px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
