/* Gastenverhalen en pers: gedeelde kleuren en typografie met openingstijden. */
.lf-reviews { padding:72px 0; background:#302b28; color:#fff; font-family:'Open Sans',sans-serif; line-height:1.6; scroll-margin-top:72px; }
.lf-reviews * { box-sizing:border-box; }
.lf-reviews .container { max-width:1170px; }
.lf-reviews h2,.lf-reviews h3 { font-family:'GFS Didot',Georgia,serif; font-weight:400; }
.lf-reviews-heading { text-align:center; margin-bottom:32px; }
.lf-reviews-kicker { display:block; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#98d5c4; margin-bottom:9px; }
.lf-reviews h2 { font-size:2.85rem; line-height:1.15; margin:0 0 12px; }
.lf-reviews-heading p { color:#ddd4cb; margin:0; font-size:.95rem; }
.lf-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.lf-review-card { display:flex; flex-direction:column; padding:26px; border:1px solid #e9e0d8; border-radius:16px; background:#fffdf9; color:#302b28; min-width:0; }
.lf-review-person { display:flex; align-items:center; gap:13px; margin-bottom:20px; }
.lf-review-person img { width:56px; height:56px; border-radius:50%; object-fit:cover; flex:0 0 56px; }
.lf-review-person a { color:#302b28; font-size:.95rem; font-weight:700; }
.lf-review-person time { display:block; color:#746d67; font-size:.75rem; margin-top:2px; }
.lf-review-stars { color:#147b79; font-size:1.05rem; letter-spacing:.12em; line-height:1; margin-bottom:14px; }
.lf-review-card h3 { font-size:1.55rem; line-height:1.2; margin:0 0 12px; }
.lf-review-card blockquote { border:0; padding:0; margin:0 0 23px; font-style:normal; }
.lf-review-card blockquote p { font-size:.93rem; line-height:1.75; margin:0; }
.lf-review-card footer { margin-top:auto; padding-top:16px; border-top:1px solid #e9e0d8; }
.lf-review-card footer>span { display:block; font-size:.66rem; color:#746d67; margin-bottom:7px; }
.lf-review-card footer>a { color:#a82f4a; font-weight:600; font-size:.8rem; }
.lf-all-reviews { margin:24px 0 40px; text-align:center; }
.lf-all-reviews a { color:#eee4dc; font-size:.82rem; text-decoration:underline; text-underline-offset:4px; }
.lf-reviews a:hover { text-decoration:underline; text-underline-offset:4px; }
.lf-reviews a:focus-visible { outline:3px solid #1ebdba; outline-offset:5px; border-radius:2px; }
.lf-press { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); overflow:hidden; border-radius:16px; background:#f3ece3; color:#302b28; }
.lf-press figure { margin:0; position:relative; min-height:430px; }
.lf-press figure>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:50% 57%; }
.lf-press figcaption { position:absolute; left:0; right:0; bottom:0; padding:22px 18px 12px; background:linear-gradient(transparent,#000b); color:#fff; font-size:.65rem; }
.lf-press-copy { display:flex; flex-direction:column; justify-content:center; padding:42px; }
.lf-press-copy .lf-reviews-kicker { color:#147b79; }
.lf-press-copy h3 { font-size:3rem; line-height:1.08; margin:7px 0 22px; color:#a82f4a; }
.lf-press-copy p { font-size:.95rem; margin:0 0 24px; line-height:1.8; }
.lf-press-copy>a { font-size:.86rem; color:#a82f4a; font-weight:700; }
.lf-press-date { font-size:.68rem; color:#746d67; margin-top:8px; }
@media(max-width:991px) {
  .lf-review-grid { gap:14px; }
  .lf-review-card { padding:20px; }
  .lf-review-person { gap:10px; }
  .lf-review-person img { width:42px; height:42px; flex-basis:42px; }
  .lf-review-person a { font-size:.85rem; }
  .lf-press-copy { padding:30px; }
  .lf-press-copy h3 { font-size:2.6rem; }
}
@media(max-width:767px) {
  .lf-reviews { padding:48px 0; }
  .lf-reviews h2 { font-size:2.25rem; }
  .lf-review-grid { grid-template-columns:1fr; gap:16px; }
  .lf-review-card { padding:24px; }
  .lf-review-person img { width:50px; height:50px; flex-basis:50px; }
  .lf-review-person a { font-size:.95rem; }
  .lf-review-person { margin-bottom:16px; }
  .lf-press { grid-template-columns:1fr; }
  .lf-press figure { min-height:0; aspect-ratio:1/1; }
  .lf-press figure>img { object-position:50% 55%; }
  .lf-press-copy { padding:28px; }
  .lf-press-copy h3 { font-size:2.5rem; }
  .lf-all-reviews { margin-bottom:32px; }
}
@media(prefers-reduced-motion:reduce) { .lf-reviews a { transition:none; } }
