.DP-groups-shell{padding:25px 0 40px}
.DP-groups-hero,.DP-seo-block,.DP-faq-block{background:#fff;border:1px solid #e6eef2;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 10px 30px rgba(15,95,124,.06)}
.DP-groups-title{font-size:34px;line-height:1.1;margin:0 0 8px}
.DP-groups-sub{color:#5b6670;font-size:15px;line-height:1.6;max-width:860px}
.DP-groups-form{display:grid;grid-template-columns:2fr 1.2fr 1fr 1fr auto;gap:12px;margin-top:16px;align-items:end}
.DP-groups-form .form-control,.DP-groups-form .DP-btn{height:52px;border-radius:12px}
.DP-groups-cats,.DP-seo-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.DP-groups-cats a,.DP-seo-links a{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;border:1px solid #d8e8ef;background:#fff;color:#0f5f7c;font-weight:600;text-decoration:none}
.DP-groups-cats a.active{background:#0f5f7c;color:#fff;border-color:#0f5f7c}
.DP-groups-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 14px}
.DP-groups-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.DP-group-card{background:#fff;border:1px solid #e6eef2;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(15,95,124,.05);display:flex;flex-direction:column;min-height:280px}
.DP-group-card h2{margin:0 0 8px;font-size:22px;line-height:1.2}
.DP-group-card h2 a{color:#163545;text-decoration:none}
.DP-group-card h2 a:hover{text-decoration:underline}
.DP-group-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.DP-group-meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f4f8fa;color:#345;font-size:12px;font-weight:600}
.DP-group-desc{color:#62707a;font-size:14px;line-height:1.6;margin-bottom:16px}
.DP-group-actions{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.DP-group-thumb{width:56px;height:56px;border-radius:16px;background:#eef6fa;color:#0f5f7c;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden}
.DP-group-thumb img{width:100%;height:100%;object-fit:cover}
.DP-groups-empty{background:#fff;border:1px dashed #cddde5;border-radius:18px;padding:32px;text-align:center;color:#60707b;margin-bottom:42px}
.DP-groups-empty h3{margin:0 0 8px;font-size:24px;color:#163545}
.DP-groups-empty p{margin:0 auto 14px;max-width:700px;line-height:1.7}
.DP-empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.DP-empty-tips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.DP-empty-upgrade,.DP-seo-cta{margin:18px auto 0;max-width:760px;padding:16px 18px;border-radius:16px;background:#f8fbfd;border:1px solid #deedf3;color:#44525c}
.DP-empty-upgrade h4,.DP-seo-cta h3{margin:0 0 6px;color:#163545}
.DP-empty-upgrade p,.DP-seo-cta p{margin:0;max-width:none}
.DP-seo-cta{margin-top:16px}
.DP-empty-tips span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f4f8fa;color:#456;font-size:12px;font-weight:600}
.DP-groups-pagination{display:flex;gap:8px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.DP-groups-pagination a,.DP-groups-pagination span{width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #d8e8ef;color:#0f5f7c;text-decoration:none;font-weight:700}
.DP-groups-pagination span{background:#0f5f7c;color:#fff;border-color:#0f5f7c}
.DP-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:13px;color:#61707a}
.DP-breadcrumbs a{color:#0f5f7c;text-decoration:none}
.DP-seo-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:16px;margin-top:6px}
.DP-faq-item{padding:14px 0;border-top:1px solid #edf2f5}
.DP-faq-item:first-child{padding-top:0;border-top:0}
.DP-location-note{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#f3fbfe;border:1px solid #d5eef6;border-radius:999px;color:#0f5f7c;font-weight:700;font-size:13px}
.DP-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.DP-feature-list div{padding:12px 14px;border-radius:14px;background:#f8fbfd;color:#44525c;line-height:1.6}
@media (max-width:991px){.DP-groups-form,.DP-seo-grid,.DP-feature-list{grid-template-columns:1fr 1fr}.DP-groups-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.DP-groups-form,.DP-seo-grid,.DP-feature-list{grid-template-columns:1fr}.DP-groups-grid{grid-template-columns:1fr}.DP-groups-title{font-size:28px}}

/* Group public page styles moved from group-public.php */
.DP-group-page{padding:25px 0 40px}.DP-group-wrap{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px}.DP-panel{background:#fff;border:1px solid #e6eef2;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(15,95,124,.06)}.DP-breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:13px;color:#61707a}.DP-breadcrumbs a{color:#0f5f7c;text-decoration:none}.DP-group-top{display:flex;gap:16px;align-items:flex-start}.DP-group-thumb{width:84px;height:84px;border-radius:22px;background:#eef6fa;color:#0f5f7c;font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 84px}.DP-group-thumb img{width:100%;height:100%;object-fit:cover}.DP-group-top h1{margin:0 0 10px;font-size:34px;line-height:1.08}.DP-group-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.DP-group-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#f4f8fa;color:#345;font-size:12px;font-weight:700}.DP-copy{color:#596873;line-height:1.75;font-size:15px}.DP-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.DP-side-stat{padding:14px 0;border-top:1px solid #edf2f5}.DP-side-stat:first-child{padding-top:0;border-top:0}.DP-members,.DP-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.DP-member,.DP-related-card{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #eef2f5;border-radius:14px;background:#fafcfd}.DP-member img,.DP-member .ph,.DP-related-card img,.DP-related-card .ph{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#e8f3f7;display:flex;align-items:center;justify-content:center;font-weight:700;color:#0f5f7c}.DP-faq-item{padding:14px 0;border-top:1px solid #edf2f5}.DP-faq-item:first-child{padding-top:0;border-top:0}@media (max-width:900px){.DP-group-wrap{grid-template-columns:1fr}.DP-group-top h1{font-size:28px}}@media (max-width:560px){.DP-members,.DP-related{grid-template-columns:1fr}.DP-group-top{align-items:center}}

/* Public group page improvements */
.DP-group-hero-panel{position:relative;overflow:hidden}
.DP-group-hero-panel:after{content:"";position:absolute;right:-70px;top:-90px;width:240px;height:240px;border-radius:50%;background:linear-gradient(135deg,rgba(239,105,0,.16),rgba(15,95,124,.10));pointer-events:none}
.DP-group-main-copy{position:relative;z-index:1}
.DP-group-fun-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;background:linear-gradient(135deg,#fff7f0,#f5fbfd)}
.DP-group-idea{display:flex;flex-direction:column;gap:6px;min-height:118px;padding:16px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(230,238,242,.9)}
.DP-group-idea span{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff;color:#ef6900;box-shadow:0 8px 18px rgba(15,95,124,.08);font-size:18px}
.DP-group-idea strong{color:#173747;font-size:16px;line-height:1.25}
.DP-group-idea small{color:#62707a;line-height:1.45;font-size:13px}
.DP-group-tips div strong{color:#173747}
.DP-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.DP-section-head p{margin:0;color:#62707a;line-height:1.5}
.DP-members a.DP-member{text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.DP-members a.DP-member:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,95,124,.08);border-color:#d6e8ef}
.DP-nearby-members .DP-member{background:#fff}
.DP-related-card{text-decoration:none}
@media (max-width:700px){.DP-group-fun-strip{grid-template-columns:1fr}.DP-section-head{display:block}.DP-section-head .DP-btn{margin-top:10px}.DP-group-idea{min-height:0}}

.DP-private-count{
    display:inline-flex;
    align-items:center;
    margin-left:8px;
    padding:4px 9px;
    border-radius:999px;
    background:#fff6e8;
    color:#c96300;
    font-size:12px;
    font-weight:700;
}
