
/* V16: precise photo framing, readable category typography, and safe responsive layout. */
html,body{max-width:100%;overflow-x:clip}
.category-grid,.categories-grid,.category-cards{max-width:100%}
.category-photo{overflow:hidden;position:relative;background:linear-gradient(135deg,#e8eee8,#f6f3ea)}
.category-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:none}
.category-photo.pp-v16-missing:after{content:'Bekijk categorie';display:grid;place-items:center;position:absolute;inset:0;color:#285f4f;font-weight:600;font-size:14px}
.category-card,.category-card a{min-width:0}
.category-card h3,.category-card strong,.category-card p,.category-card span{white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.45;letter-spacing:normal}
.category-card h3,.category-card strong{font-size:clamp(14px,1.1vw,17px);line-height:1.35}
.category-card p{font-size:clamp(12px,0.95vw,15px)}
.pp-wrap,.pp-hero,.pp-content,.pp-grid{max-width:100%;min-width:0}
.pp-hero{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);align-items:center;gap:clamp(24px,4vw,64px)}
.pp-hero>div{min-width:0}
.pp-hero h1{font-size:clamp(30px,4vw,58px);overflow-wrap:break-word;line-height:1.1}
.pp-hero p{overflow-wrap:break-word;line-height:1.65}
.pp-visual.pp-photo-visual{position:relative;display:block;min-width:0;width:100%;aspect-ratio:16/10;height:auto;max-height:420px;overflow:hidden;border-radius:22px;background:linear-gradient(140deg,#e8f0ea,#f8f4eb)}
.pp-visual.pp-photo-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto;transform:none;filter:none}
.pp-v16-photo-fallback{display:none}
.pp-image-unavailable .pp-v16-photo-fallback{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;color:#205b49;font-family:Georgia,serif;font-size:22px;text-transform:capitalize}
/* Make the Amsterdam photograph fully visible; preserve the wide source aspect ratio. */
.about-image img,.canal-image img,.about-visual img,.about-photo img,.city-image img{object-fit:contain!important;object-position:center!important;width:100%!important;height:auto!important;max-height:none!important}
.about-image,.canal-image,.about-visual,.about-photo,.city-image{overflow:visible!important;height:auto!important;max-height:none!important}
@media(max-width:820px){.pp-hero{grid-template-columns:1fr!important;gap:22px}.pp-visual.pp-photo-visual{max-height:none}.category-card h3,.category-card strong{font-size:15px}}
@media(max-width:560px){.pp-hero h1{font-size:clamp(30px,9vw,43px)}.category-card p{line-height:1.35}}
/* Full panoramically framed Amsterdam scene, never cropped. */
.about-strip .about-photo{background-size:contain!important;background-repeat:no-repeat!important;background-position:center center!important;background-color:#f9f7f0!important;border-radius:40px 0 0 0!important;min-height:200px!important}
/* Uniform card typography in actual V15 class names. */
.cat .cat-content{min-height:78px;padding:11px 32px 12px 13px}
.cat .cat-content strong{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;line-height:1.35!important;font-size:13px!important}
.cat .cat-content small{white-space:normal!important;line-height:1.4!important;font-size:11px!important;overflow-wrap:break-word!important}
