.dbcp2-wrap{max-width:1140px;margin:0 auto;font-family:inherit;color:#171717;box-sizing:border-box}
.dbcp2-wrap *{box-sizing:border-box}
.dbcp2-toolbar{margin:0 0 26px}.dbcp2-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.dbcp2-filter{border:1px solid #dedede;background:#fff;border-radius:999px;padding:9px 16px;font-size:13px;color:#444}.dbcp2-filter.is-active{background:#f57c00;color:#fff;border-color:#f57c00}

/* FEATURED: media and narrative stay in separate layout columns. */
.dbcp2-featured{display:grid;grid-template-columns:1.18fr .82fr;align-items:stretch;border:1px solid #e9e9e9;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.05)}
.dbcp2-featured-media{position:static!important;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:320px;padding:0;background:#f4f4f4;overflow:hidden;text-decoration:none!important;float:none!important}
.dbcp2-featured-media img{position:static!important;display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:420px!important;object-fit:contain!important;margin:0!important;float:none!important}
.dbcp2-featured-content{position:static!important;padding:46px 44px;display:flex!important;flex-direction:column;justify-content:center;align-self:stretch;background:#fff;float:none!important;overflow:visible!important}
.dbcp2-kicker{font-size:12px;letter-spacing:.12em;font-weight:700;color:#f57c00;margin-bottom:9px}.dbcp2-village{font-size:13px;color:#6c6c6c;margin-bottom:14px;display:block}
.dbcp2-featured-content h3{font-size:32px;line-height:1.15;margin:0 0 17px;font-weight:700}.dbcp2-featured-content p{font-size:16px;line-height:1.7;color:#5b5b5b;margin:0 0 25px}
.dbcp2-button{align-self:flex-start;background:#f57c00;color:#fff!important;text-decoration:none!important;padding:12px 18px;border-radius:9px;font-weight:700}

.dbcp2-subhead{margin:42px 0 18px;font-size:13px;letter-spacing:.12em;font-weight:800;color:#444}.dbcp2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.dbcp2-card{position:static!important;border:1px solid #e8e8e8;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.04);display:flex!important;flex-direction:column;float:none!important}

/* CARD MEDIA: preserve the original photo ratio; never crop a portrait into landscape. */
.dbcp2-card-media{position:static!important;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:190px;max-height:320px;padding:0;background:#f4f4f4;overflow:hidden;text-decoration:none!important;float:none!important}
.dbcp2-card-media img{position:static!important;display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:320px!important;object-fit:contain!important;margin:0!important;float:none!important}

/* NARRATIVE is always a separate block below the photo. */
.dbcp2-card-body{position:static!important;display:block!important;width:100%!important;height:auto!important;padding:18px;background:#fff;clear:both;float:none!important;overflow:visible!important;transform:none!important;z-index:2}
.dbcp2-card-body h4{font-size:18px;line-height:1.3;margin:0 0 10px}.dbcp2-card-body p{font-size:14px;line-height:1.6;color:#666;margin:0 0 15px;position:static!important}
.dbcp2-card-body>a,.dbcp2-all a{color:#f57c00;text-decoration:none;font-weight:800;position:static!important}
.dbcp2-all{text-align:center;margin-top:30px}.dbcp2-no-image{height:100%;display:flex;align-items:center;justify-content:center;color:#aaa;font-weight:700;background:#f6f6f6}
.dbcp2-empty{max-width:900px;margin:0 auto;padding:42px 24px;border:1px dashed #d8d8d8;border-radius:22px;text-align:center;background:#fff}.dbcp2-empty strong{display:block;font-size:17px;margin-bottom:9px;color:#444}.dbcp2-empty span{display:block;color:#777;font-size:14px}

@media(max-width:900px){
 .dbcp2-featured{grid-template-columns:1fr}
 .dbcp2-featured-media{min-height:260px;max-height:420px}
 .dbcp2-featured-media img{max-height:420px!important}
 .dbcp2-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
 .dbcp2-featured-content{padding:28px 24px}
 .dbcp2-featured-content h3{font-size:25px}
 .dbcp2-grid{grid-template-columns:1fr}
 .dbcp2-card-media{min-height:210px;max-height:360px}
 .dbcp2-card-media img{max-height:360px!important}
 .dbcp2-filters{justify-content:flex-start}
}
