[hidden] { display: none !important; }
section[id] { scroll-margin-top: 5rem; }
.mobile-menu { background: hsl(var(--background)); padding: .5rem 1rem 1rem; }
.mobile-menu a { display: block; padding: .7rem .85rem; }
.mobile-menu a:last-child { margin-top: .25rem; }
.gallery-trigger { display: block; width: 100%; height: 100%; cursor: zoom-in; }
.gallery-trigger:focus-visible { outline: 3px solid hsl(var(--primary)); outline-offset: -3px; }
.gallery-dialog { max-width: min(92vw, 70rem); max-height: 94dvh; padding: 1rem; background: #171512; color: white; border-radius: 1rem; }
.gallery-dialog::backdrop { background: rgb(0 0 0 / .82); }
.gallery-dialog img { max-height: 75dvh; max-width: 100%; margin: auto; object-fit: contain; }
.gallery-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .5rem; }
.gallery-dialog button { min-width: 2.75rem; min-height: 2.75rem; border-radius: .5rem; background: #38322c; color: white; }
.gallery-dialog button:focus-visible { outline: 2px solid white; }
.admin-bar nav.fixed { top: var(--wp-admin--admin-bar--height, 32px); }

.lcb-languages { display: flex; gap: .2rem; flex-shrink: 0; }
.lcb-languages a, .mobile-menu .lcb-languages a { padding: .35rem .42rem; border-radius: .4rem; font-size: .8rem; line-height: 1.4; font-weight: 700; }
.lcb-languages a[aria-current="page"] { background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.lcb-languages a:hover, .lcb-languages a:focus-visible { outline: 1px solid hsl(var(--primary)); }
.mobile-menu .lcb-languages { padding: .5rem .4rem .25rem; }
.mobile-menu .lcb-languages a:last-child { margin-top: 0; }
@media (max-width: 70rem) {
  nav .lcb-desktop { display: none; }
  nav .lcb-menu-button, nav .mobile-menu:not([hidden]) { display: block; }
  nav .mobile-menu { max-height: calc(100dvh - 5rem); overflow-y: auto; }
}
@media (min-width: 70.001rem) {
  nav .lcb-desktop { gap: clamp(.65rem, 1.25vw, 1.5rem); }
}
.lcb-story { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.lcb-story-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 1rem; }
.lcb-copy { display: grid; gap: 1rem; }
.lcb-copy h1, .lcb-copy h2, .lcb-region h2 { line-height: 1.12; font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700; }
.lcb-copy p:not(.lcb-kicker, .lcb-signature), .lcb-amenities dd, .lcb-region li p, .lcb-review-form p { color: hsl(var(--muted-foreground)); }
.lcb-kicker { color: hsl(var(--muted-foreground)); text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; font-weight: 700; }
.lcb-signature { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 1.25rem; }
.lcb-link { display: inline-flex; width: fit-content; text-decoration: underline; text-underline-offset: .26em; font-weight: 700; }
.lcb-link:hover { color: hsl(var(--muted-foreground)); }
.lcb-amenities { margin-top: 2.75rem; }
.lcb-amenities h3 { font-size: clamp(1.55rem, 3vw, 2.1rem); margin-bottom: 1rem; }
.lcb-amenities dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lcb-amenities dl div, .lcb-region li, .lcb-review-card, .lcb-review-form { padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid hsl(var(--border)); border-radius: 1rem; background: hsl(var(--background)); }
.lcb-amenities dt, .lcb-region li h3 { font-weight: 700; margin-bottom: .35rem; }
.lcb-guide-cta { margin-bottom: 2.5rem; text-align: center; }
.lcb-guide { padding-top: clamp(7rem, 13vw, 11rem); padding-bottom: 5rem; }
.lcb-region-nav { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 2rem; }
.lcb-region-nav a { padding: .5rem .85rem; border: 1px solid hsl(var(--border)); border-radius: 2rem; }
.lcb-region { margin-block: 3rem; }
.lcb-region h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.lcb-region ol { display: grid; gap: .7rem; margin: 1rem 0; padding: 0; list-style: none; counter-reset: tip; }
.lcb-region li { counter-increment: tip; }
.lcb-region li h3::before { content: counter(tip, decimal-leading-zero) ' / '; color: hsl(var(--muted-foreground)); font-family: Lato, sans-serif; }
.lcb-reviews > header { margin-bottom: 2rem; }
.lcb-review-card h3 { margin: .4rem 0; font-weight: 700; font-size: 1.2rem; }
.lcb-review-card footer { margin-top: auto; padding-top: 1.25rem; display: flex; align-items: center; gap: .75rem; border-top: 1px solid hsl(var(--border)); font-weight: 700; }
.lcb-review-stars { color: hsl(var(--foreground)); letter-spacing: .12em; font-size: .8rem; }
.lcb-review-form { margin-top: 2rem; display: grid; gap: .9rem; max-width: 44rem; }
.lcb-review-form h3 { font-size: 1.45rem; }
.lcb-review-form label { display: grid; gap: .25rem; font-weight: 700; }
.lcb-review-form input, .lcb-review-form textarea, .lcb-review-form select { padding: .55rem; border: 1px solid hsl(var(--border)); background: hsl(var(--card)); border-radius: .4rem; color: hsl(var(--foreground)); }
.lcb-review-form button { width: fit-content; padding: .7rem 1.1rem; background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); border-radius: 1.5rem; font-weight: 700; }
.lcb-review-message { padding: .6rem; border: 1px solid currentColor; border-radius: .4rem; }
.lcb-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 48rem) {
  .lcb-story, .lcb-amenities dl { grid-template-columns: 1fr; }
}

.lcb-signature { font-family: Manrope, system-ui, sans-serif; }
.lcb-region li { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(1rem, 4vw, 2rem); align-items: start; }
.lcb-tip-copy { display: grid; gap: .7rem; }
.lcb-tip-copy h3 { font-size: clamp(1.2rem, 2vw, 1.6rem); margin-bottom: 0; }
.lcb-region li h3::before { font-family: 'DM Sans', system-ui, sans-serif; }
.lcb-guide-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: .65rem; background: hsl(var(--muted)); }
.lcb-guide-photo figcaption { padding-top: .4rem; color: hsl(var(--muted-foreground)); font-size: .74rem; overflow-wrap: anywhere; }
.lcb-guide-photo a { text-decoration: underline; text-underline-offset: .15em; }
#strandtenten .lcb-guide-photo img { border-radius: 0; }
#strandtenten .lcb-guide-photo figcaption { padding-inline: .75rem; }
#strandtenten .lcb-link { margin-top: .8rem; font-size: .88rem; }
.lcb-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.lcb-review-card { display: flex; flex-direction: column; gap: 1rem; overflow-wrap: anywhere; }
.lcb-review-card blockquote { line-height: 1.65; color: hsl(var(--muted-foreground)); }
.lcb-review-avatar { width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; display: grid; place-items: center; border-radius: 50%; background: hsl(var(--primary) / .14); }
.lcb-review-author { display: grid; gap: .15rem; }
.lcb-review-location { color: hsl(var(--muted-foreground)); font-size: .78rem; font-weight: 400; }
@media (max-width: 64rem) {
  .lcb-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 48rem) {
  .lcb-region li, .lcb-review-grid { grid-template-columns: 1fr; }
}
#te-doen .lcb-guide-photo img { border-radius: 0; }
#te-doen .lcb-guide-photo figcaption { padding-inline: .75rem; }
#te-doen .lcb-link { margin-top: .8rem; font-size: .88rem; }
.lcb-guide-links { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; justify-content: center; }
.lcb-sports-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.lcb-sports-grid article { display: flex; flex-direction: column; gap: .65rem; border: 1px solid hsl(var(--border)); border-radius: 1rem; background: hsl(var(--background)); padding: clamp(1rem, 3vw, 1.5rem); }
.lcb-sports-grid h3 { font-size: 1.25rem; font-weight: 700; }
.lcb-sports-grid p { color: hsl(var(--muted-foreground)); }
.lcb-sports-grid .lcb-link { margin-top: auto; padding-top: .4rem; }
.lcb-back + .lcb-back { margin-top: .6rem; }
@media (max-width: 64rem) { .lcb-sports-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 48rem) { .lcb-sports-grid { grid-template-columns: 1fr; } }
