/* ==============================================
   PAGES MODERN CSS
   Shared modern styles for About, Blogs, Blog Detail, Event Galleries
   Province Assomptionniste d'Afrique
   ============================================== */

/* =================================
   SCROLL REVEAL ANIMATIONS
   ================================= */
@keyframes pm-fadeInUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes pm-fadeInLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes pm-fadeInRight {
    from { opacity: 0; transform: translateX(40px); }
    to { opacity: 1; transform: translateX(0); }
}
@keyframes pm-scaleIn {
    from { opacity: 0; transform: scale(0.92); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes pm-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}
@keyframes pm-shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}
@keyframes pm-pulse-ring {
    0% { box-shadow: 0 0 0 0 rgba(30,64,175,0.4); }
    70% { box-shadow: 0 0 0 12px rgba(30,64,175,0); }
    100% { box-shadow: 0 0 0 0 rgba(30,64,175,0); }
}

.pm-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-reveal.visible { opacity: 1; transform: translateY(0); }
.pm-reveal-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-reveal-left.visible { opacity: 1; transform: translateX(0); }
.pm-reveal-right {
    opacity: 0;
    transform: translateX(40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-reveal-right.visible { opacity: 1; transform: translateX(0); }
.pm-reveal-scale {
    opacity: 0;
    transform: scale(0.92);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-reveal-scale.visible { opacity: 1; transform: scale(1); }

.pm-stagger > * {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-stagger.visible > *:nth-child(1) { transition-delay: 0.05s; opacity: 1; transform: translateY(0); }
.pm-stagger.visible > *:nth-child(2) { transition-delay: 0.12s; opacity: 1; transform: translateY(0); }
.pm-stagger.visible > *:nth-child(3) { transition-delay: 0.19s; opacity: 1; transform: translateY(0); }
.pm-stagger.visible > *:nth-child(4) { transition-delay: 0.26s; opacity: 1; transform: translateY(0); }
.pm-stagger.visible > *:nth-child(5) { transition-delay: 0.33s; opacity: 1; transform: translateY(0); }
.pm-stagger.visible > *:nth-child(6) { transition-delay: 0.40s; opacity: 1; transform: translateY(0); }

/* =================================
   MODERN PAGE HERO
   ================================= */
.pm-hero {
    position: relative;
    overflow: hidden;
    padding: 5rem 0 4rem;
    background: linear-gradient(135deg, #0c1222 0%, #1e3a5f 40%, #1e40af 100%);
    color: white;
}
.pm-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
        radial-gradient(ellipse at 20% 50%, rgba(59,130,246,0.15) 0%, transparent 60%),
        radial-gradient(ellipse at 80% 20%, rgba(139,92,246,0.1) 0%, transparent 50%);
    pointer-events: none;
}
.pm-hero::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 80px;
    background: linear-gradient(to top, rgba(255,255,255,0.03), transparent);
    pointer-events: none;
}
.pm-hero .container { position: relative; z-index: 2; }

.pm-hero-title {
    font-size: 2.8rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin-bottom: 1rem;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
.pm-hero-subtitle {
    font-size: 1.15rem;
    color: rgba(255,255,255,0.8);
    line-height: 1.65;
    max-width: 600px;
    font-weight: 400;
}
.pm-hero-icon {
    font-size: 5rem;
    opacity: 0.15;
    animation: pm-float 6s ease-in-out infinite;
}
.pm-hero-stat {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px;
    padding: 1.1rem 1.25rem;
    text-align: center;
    transition: all 0.35s ease;
}
.pm-hero-stat:hover {
    background: rgba(255,255,255,0.14);
    transform: translateY(-3px);
}
.pm-hero-stat h3 {
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 0.15rem;
    letter-spacing: -0.01em;
}
.pm-hero-stat small {
    font-size: 0.82rem;
    opacity: 0.7;
    font-weight: 500;
}

/* Floating decorative circles */
.pm-hero-circle {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0.08;
    background: white;
}
.pm-hero-circle-1 { width: 200px; height: 200px; top: -60px; right: -40px; animation: pm-float 8s ease-in-out infinite; }
.pm-hero-circle-2 { width: 120px; height: 120px; bottom: -30px; left: 10%; animation: pm-float 6s ease-in-out infinite reverse; }
.pm-hero-circle-3 { width: 80px; height: 80px; top: 30%; right: 20%; animation: pm-float 7s ease-in-out infinite; }

/* =================================
   MODERN SECTION TITLES
   ================================= */
.pm-section-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: #0f172a;
    margin-bottom: 0.5rem;
    position: relative;
    display: inline-block;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.pm-section-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 3.5px;
    background: linear-gradient(90deg, #1e40af, #3b82f6, #60a5fa);
    border-radius: 4px;
    margin: 12px auto 0;
}
.pm-section-subtitle {
    font-size: 1.05rem;
    color: #64748b;
    max-width: 600px;
    margin: 0.25rem auto 0;
    line-height: 1.6;
}

/* =================================
   MODERN CARDS
   ================================= */
.pm-card {
    background: white;
    border: none;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(0,0,0,0.12);
}
.pm-card-img {
    overflow: hidden;
    position: relative;
}
.pm-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-card:hover .pm-card-img img { transform: scale(1.05); }
.pm-card-body {
    padding: 1.5rem;
}
.pm-card-body h5,
.pm-card-body h6 {
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.35;
}
.pm-card-body h5 a,
.pm-card-body h6 a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.3s;
}
.pm-card-body h5 a:hover,
.pm-card-body h6 a:hover { color: #1e40af; }
.pm-card-meta {
    font-size: 0.82rem;
    color: #94a3b8;
}

/* Card with gradient header */
.pm-card-gradient-header {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    color: white;
    padding: 1.1rem 1.5rem;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: -0.01em;
}
.pm-card-gradient-header.green { background: linear-gradient(135deg, #059669 0%, #34d399 100%); }
.pm-card-gradient-header.gold { background: linear-gradient(135deg, #b45309 0%, #f59e0b 100%); }
.pm-card-gradient-header.purple { background: linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%); }
.pm-card-gradient-header.info { background: linear-gradient(135deg, #0891b2 0%, #22d3ee 100%); }

/* =================================
   MODERN BADGES
   ================================= */
.pm-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.pm-badge-new {
    background: linear-gradient(135deg, #dc2626, #f97316);
    color: white;
    animation: pm-pulse-ring 2s infinite;
}
.pm-badge-featured {
    background: linear-gradient(135deg, #f59e0b, #fbbf24);
    color: #1f2937;
}

/* =================================
   MODERN BUTTONS
   ================================= */
.pm-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0.7rem 1.5rem;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.92rem;
    transition: all 0.35s ease;
    border: none;
    cursor: pointer;
}
.pm-btn-primary {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(30,64,175,0.3);
}
.pm-btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(30,64,175,0.4);
    color: white;
}
.pm-btn-outline {
    background: transparent;
    color: #1e40af;
    border: 2px solid #1e40af;
}
.pm-btn-outline:hover {
    background: #1e40af;
    color: white;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(30,64,175,0.3);
}
.pm-btn-white {
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    color: white;
    border: 1px solid rgba(255,255,255,0.25);
}
.pm-btn-white:hover {
    background: rgba(255,255,255,0.25);
    color: white;
    transform: translateY(-3px);
}

/* =================================
   ABOUT PAGE SPECIFICS
   ================================= */
.pm-about-hero {
    background: linear-gradient(135deg, #0c1222 0%, #1e3a5f 35%, #1e40af 70%, #3b82f6 100%);
    min-height: 75vh;
    display: flex;
    align-items: center;
}
.pm-about-hero .pm-hero-title {
    font-size: 3rem;
}
.pm-about-hero .hero-image {
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    transition: transform 0.5s ease;
}
.pm-about-hero .hero-image:hover { transform: scale(1.03) rotate(1deg); }

.pm-history-section { padding: 5rem 0; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }
.pm-mission-section { padding: 5rem 0; background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%); }
.pm-values-section { padding: 5rem 0; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }
.pm-leadership-section { padding: 5rem 0; background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%); }
.pm-team-section { padding: 5rem 0; background: linear-gradient(180deg, #f1f5f9 0%, #ffffff 100%); }
.pm-cta-section {
    padding: 5rem 0;
    background: linear-gradient(135deg, #0c1222 0%, #1e3a5f 50%, #1e40af 100%);
    color: white;
    position: relative;
    overflow: hidden;
}
.pm-cta-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at 30% 50%, rgba(59,130,246,0.2) 0%, transparent 60%);
    pointer-events: none;
}

/* Mission card */
.pm-mission-card {
    background: white;
    border: none;
    border-radius: 18px;
    padding: 2.25rem 1.75rem;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}
.pm-mission-card::before {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #1e40af, #3b82f6);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}
.pm-mission-card:hover::before { transform: scaleX(1); }
.pm-mission-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }
.pm-mission-icon {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.25rem;
    font-size: 1.6rem;
    color: white;
    transition: transform 0.4s ease;
}
.pm-mission-card:hover .pm-mission-icon { transform: scale(1.1) rotate(5deg); }
.pm-mission-icon.blue { background: linear-gradient(135deg, #1e40af, #3b82f6); }
.pm-mission-icon.green { background: linear-gradient(135deg, #059669, #34d399); }
.pm-mission-icon.amber { background: linear-gradient(135deg, #d97706, #fbbf24); }

/* Value item */
.pm-value-item {
    background: white;
    border-radius: 16px;
    padding: 1.75rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    transition: all 0.4s ease;
    border: 1px solid #f1f5f9;
}
.pm-value-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.08);
    border-color: #e2e8f0;
}
.pm-value-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.2rem;
    flex-shrink: 0;
    transition: transform 0.4s ease;
}
.pm-value-item:hover .pm-value-icon { transform: scale(1.1) rotate(5deg); }

/* Leader card */
.pm-leader-card {
    background: white;
    border: none;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-leader-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,0.12); }
.pm-leader-photo {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid white;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    transition: all 0.4s ease;
}
.pm-leader-card:hover .pm-leader-photo { transform: scale(1.06); box-shadow: 0 8px 25px rgba(0,0,0,0.2); }

/* Member card */
.pm-member-card {
    background: white;
    border: none;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    text-align: center;
    padding: 2rem 1.5rem;
}
.pm-member-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,0.12); }
.pm-member-photo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e2e8f0;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: all 0.4s ease;
}
.pm-member-card:hover .pm-member-photo { transform: scale(1.08); border-color: #3b82f6; }

/* =================================
   BLOGS LISTING PAGE
   ================================= */
.pm-blogs-hero { background: linear-gradient(135deg, #0c1222 0%, #1e3a5f 40%, #1e40af 100%); }

.pm-filter-bar {
    background: white;
    padding: 1.5rem 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
    border-bottom: 1px solid #f1f5f9;
}
.pm-filter-bar .form-control,
.pm-filter-bar .form-select {
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    padding: 0.65rem 1rem;
    font-size: 0.92rem;
    transition: all 0.3s ease;
}
.pm-filter-bar .form-control:focus,
.pm-filter-bar .form-select:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.15);
}

/* Blog card modern */
.pm-blog-card {
    background: white;
    border: none;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-blog-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,0.12); }
.pm-blog-card .blog-image-container {
    height: 200px;
    overflow: hidden;
    position: relative;
}
.pm-blog-card .blog-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-blog-card:hover .blog-image { transform: scale(1.06); }
.pm-blog-card .blog-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.7) 100%);
    opacity: 0;
    transition: opacity 0.35s ease;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 1rem;
}
.pm-blog-card:hover .blog-overlay { opacity: 1; }
.pm-blog-card .card-body { padding: 1.35rem; }
.pm-blog-card .card-title { font-size: 1.1rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.35; }
.pm-blog-card .card-title a { color: #0f172a; text-decoration: none; transition: color 0.3s; }
.pm-blog-card .card-title a:hover { color: #1e40af; }
.pm-blog-card .card-text { font-size: 0.9rem; color: #64748b; line-height: 1.55; }

/* Featured main blog card */
.pm-blog-card.featured-main .blog-image-container { height: 300px; }
.pm-blog-card.featured-main .card-title { font-size: 1.4rem; }

/* Sidebar card */
.pm-sidebar-card {
    background: white;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: all 0.35s ease;
    margin-bottom: 1.5rem;
}
.pm-sidebar-card:hover { box-shadow: 0 8px 25px rgba(0,0,0,0.08); }
.pm-sidebar-card .card-header {
    border: none;
    padding: 1rem 1.25rem;
    font-weight: 700;
    font-size: 0.95rem;
}

/* Pagination */
.pm-pagination .page-link {
    border-radius: 10px;
    margin: 0 3px;
    border: 1px solid #e2e8f0;
    color: #1e40af;
    font-weight: 600;
    font-size: 0.88rem;
    padding: 0.55rem 0.85rem;
    transition: all 0.3s ease;
}
.pm-pagination .page-link:hover {
    background: #1e40af;
    border-color: #1e40af;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(30,64,175,0.3);
}
.pm-pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #1e40af, #3b82f6);
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(30,64,175,0.3);
}

/* =================================
   BLOG DETAIL PAGE
   ================================= */
.pm-blog-hero {
    background: linear-gradient(135deg, #0c1222 0%, #1e3a5f 40%, #1e40af 100%);
    padding: 3.5rem 0 3rem;
    color: white;
    position: relative;
    overflow: hidden;
}
.pm-blog-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at 70% 30%, rgba(59,130,246,0.15) 0%, transparent 60%);
    pointer-events: none;
}
.pm-blog-hero .breadcrumb-item a { color: rgba(255,255,255,0.6); transition: color 0.3s; }
.pm-blog-hero .breadcrumb-item a:hover { color: rgba(255,255,255,0.9); }
.pm-blog-hero .display-5 {
    font-size: 2.4rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.pm-blog-hero .stat-box {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    transition: all 0.35s ease;
}
.pm-blog-hero .stat-box:hover { background: rgba(255,255,255,0.15); transform: translateY(-2px); }
.pm-blog-hero .blog-hero-image img {
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}

/* Blog content area */
.pm-blog-content-area {
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    padding: 4rem 0;
}
.pm-blog-content-card {
    background: white;
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    border: 1px solid #f1f5f9;
}
.pm-blog-content-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,0.08); }

/* Blog interactions */
.pm-blog-interactions .card {
    border-radius: 16px;
    border: 1px solid #f1f5f9;
}
.pm-blog-interactions .card-body {
    background: white;
}

/* =================================
   EVENT GALLERIES PAGE
   ================================= */
.pm-galleries-hero { background: linear-gradient(135deg, #0c1222 0%, #1e1b4b 35%, #7c3aed 100%); }
.pm-galleries-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at 70% 30%, rgba(139,92,246,0.2) 0%, transparent 60%);
    pointer-events: none;
}

.pm-featured-section { padding: 5rem 0; background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%); }
.pm-all-galleries-section { padding: 5rem 0; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); }

/* Gallery card */
.pm-gallery-card {
    background: white;
    border: none;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    transition: all 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    border: 1px solid rgba(0,0,0,0.04);
}
.pm-gallery-card:hover { transform: translateY(-8px); box-shadow: 0 24px 50px rgba(0,0,0,0.14); }
.pm-gallery-card .gallery-image-container {
    height: 240px;
    overflow: hidden;
    position: relative;
}
.pm-gallery-card .gallery-image-container img {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.pm-gallery-card:hover .gallery-image-container img { transform: scale(1.06); }

.pm-gallery-card .gallery-hover-overlay,
.pm-gallery-card .gallery-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.8) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pm-gallery-card:hover .gallery-hover-overlay,
.pm-gallery-card:hover .gallery-overlay { opacity: 1; }

.pm-gallery-card .gallery-card-body {
    padding: 1.25rem 1.5rem;
}
.pm-gallery-card .gallery-title {
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    line-height: 1.35;
}
.pm-gallery-card .gallery-title a {
    color: #0f172a;
    text-decoration: none;
    transition: color 0.3s;
}
.pm-gallery-card .gallery-title a:hover { color: #7c3aed; }

/* Featured gallery card */
.pm-gallery-card.featured-card {
    border: 2px solid rgba(245,158,11,0.3);
    background: linear-gradient(135deg, #fffbeb 0%, white 50%);
}
.pm-gallery-card.featured-card:hover { border-color: rgba(245,158,11,0.5); }

/* Gallery filters */
.pm-gallery-filters .btn-check:checked + .btn-outline-primary {
    background: linear-gradient(135deg, #1e40af, #3b82f6);
    border-color: transparent;
    color: white;
    box-shadow: 0 4px 12px rgba(30,64,175,0.3);
}

/* =================================
   COUNCIL SECTION - pml-* styles
   (shared with leadership page)
   ================================= */

/* Council Section */
.pml-council-section { padding:5rem 0; background:linear-gradient(180deg,#ffffff 0%,#f8fafc 50%,#f1f5f9 100%); position:relative; }
.pml-council-section::before { content:''; position:absolute; top:0; left:50%; width:80%; max-width:600px; height:1px; background:linear-gradient(90deg,transparent,#cbd5e1,transparent); transform:translateX(-50%); }

/* Section labels and titles */
.pml-section-label { display:inline-flex; align-items:center; background:linear-gradient(135deg,#eff6ff,#dbeafe); color:#1e40af; padding:0.4rem 1.2rem; border-radius:50px; font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:1rem; box-shadow:0 2px 8px rgba(30,64,175,0.08); }
.pml-section-title { font-size:2.4rem; font-weight:800; color:#0f172a; letter-spacing:-0.02em; margin-bottom:0.75rem; position:relative; display:inline-block; }
.pml-section-title::after { content:''; display:block; width:60px; height:4px; background:linear-gradient(135deg,#1e40af,#3b82f6); border-radius:4px; margin:0.6rem auto 0; }
.pml-section-desc { font-size:1rem; color:#64748b; max-width:620px; margin:0 auto; line-height:1.7; }

/* Mandate card */
.pml-mandate-card { display:flex; align-items:center; gap:1.5rem; background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 50%,#1e40af 100%); color:white; border-radius:18px; padding:1.5rem 2rem; box-shadow:0 10px 35px rgba(30,64,175,0.25); position:relative; overflow:hidden; }
.pml-mandate-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 80% 50%,rgba(59,130,246,0.12) 0%,transparent 60%); pointer-events:none; }
.pml-mandate-icon { width:54px; height:54px; min-width:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.12); font-size:1.25rem; backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,0.08); }
.pml-mandate-info { position:relative; flex:1; }
.pml-mandate-info h4 { font-weight:700; font-size:1.15rem; margin:0 0 0.25rem; }
.pml-mandate-info p { margin:0; opacity:0.85; font-size:0.9rem; }
.pml-mandate-info small { opacity:0.6; font-size:0.82rem; display:block; margin-top:0.2rem; }
.pml-mandate-status { display:inline-flex; align-items:center; gap:0.4rem; background:rgba(16,185,129,0.15); color:#4ade80; padding:0.3rem 0.9rem; border-radius:50px; font-size:0.72rem; font-weight:700; border:1px solid rgba(16,185,129,0.2); white-space:nowrap; }
.pml-pulse-dot { display:inline-block; width:8px; height:8px; background:#34d399; border-radius:50%; margin-right:3px; vertical-align:middle; animation:pmlPulseDot 1.5s ease infinite; }

/* Member cards */
.pml-member-card { background:white; border-radius:20px; border:1px solid rgba(0,0,0,0.04); box-shadow:0 4px 24px rgba(0,0,0,0.05); overflow:hidden; height:100%; display:flex; flex-direction:column; transition:all 0.5s cubic-bezier(0.25,0.46,0.45,0.94); position:relative; }
.pml-member-card::before { content:''; position:absolute; top:0; left:0; right:0; height:100px; background:linear-gradient(135deg,#1e3a5f,#2563eb); z-index:0; }
.pml-member-card::after { content:''; position:absolute; top:70px; left:0; right:0; height:50px; background:white; border-radius:50% 50% 0 0; z-index:1; }
.pml-member-card:hover { transform:translateY(-10px); box-shadow:0 25px 60px rgba(0,0,0,0.12); }

.pml-member-featured { border:2px solid rgba(217,119,6,0.2); }
.pml-member-featured::before { background:linear-gradient(135deg,#92400e,#d97706,#f59e0b); }
.pml-member-featured::after { background:linear-gradient(180deg,#fffbeb,white); }
.pml-member-featured:hover { border-color:rgba(217,119,6,0.4); }

/* Photo area */
.pml-member-photo-area { position:relative; padding:1.75rem 2rem 0; text-align:center; z-index:2; }
.pml-member-photo { width:115px; height:115px; border-radius:50%; object-fit:cover; border:4px solid white; box-shadow:0 8px 25px rgba(0,0,0,0.12); transition:all 0.45s cubic-bezier(0.25,0.46,0.45,0.94); position:relative; z-index:2; }
.pml-member-card:hover .pml-member-photo { transform:scale(1.08); box-shadow:0 12px 35px rgba(0,0,0,0.18); }
.pml-member-featured .pml-member-photo { border-color:#fbbf24; box-shadow:0 8px 25px rgba(217,119,6,0.2); }
.pml-member-featured:hover .pml-member-photo { box-shadow:0 12px 35px rgba(217,119,6,0.3); }

/* Badges */
.pml-member-badge-crown,.pml-member-badge-num { position:absolute; top:1rem; right:1.25rem; width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:0.78rem; font-weight:700; color:white; box-shadow:0 4px 12px rgba(0,0,0,0.2); z-index:3; backdrop-filter:blur(4px); }
.pml-member-badge-crown { background:linear-gradient(135deg,#d97706,#fbbf24); font-size:0.9rem; animation:pmlCrownFloat 3s ease-in-out infinite; }
.pml-member-badge-num { background:linear-gradient(135deg,rgba(30,64,175,0.9),rgba(59,130,246,0.9)); border:1px solid rgba(255,255,255,0.2); }
@keyframes pmlCrownFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }

/* Member info */
.pml-member-info { padding:1rem 1.5rem 1.5rem; text-align:center; flex:1; display:flex; flex-direction:column; position:relative; z-index:2; }
.pml-member-info h5 { font-weight:700; font-size:1.08rem; color:#0f172a; margin-bottom:0.5rem; letter-spacing:-0.01em; }
.pml-member-role { display:inline-block; background:linear-gradient(135deg,#eff6ff,#dbeafe); color:#1e40af; padding:0.25rem 0.85rem; border-radius:50px; font-size:0.75rem; font-weight:600; margin-bottom:0.75rem; letter-spacing:0.02em; }
.pml-role-gold { background:linear-gradient(135deg,#fef3c7,#fde68a); color:#92400e; }
.pml-member-excerpt { color:#64748b; font-size:0.85rem; line-height:1.6; flex:1; margin-bottom:0.75rem; }

/* Profile link as button */
.pml-member-link { display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; margin-top:auto; padding:0.5rem 1.2rem; border-radius:50px; background:linear-gradient(135deg,#1e40af,#3b82f6); color:white; font-weight:600; font-size:0.8rem; text-decoration:none; transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94); box-shadow:0 3px 10px rgba(30,64,175,0.2); }
.pml-member-link:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(30,64,175,0.35); color:white; background:linear-gradient(135deg,#1e3a8a,#2563eb); }
.pml-member-link i { font-size:0.7rem; transition:transform 0.3s ease; }
.pml-member-link:hover i { transform:translateX(3px); }
.pml-member-featured .pml-member-link { background:linear-gradient(135deg,#d97706,#f59e0b); box-shadow:0 3px 10px rgba(217,119,6,0.2); }
.pml-member-featured .pml-member-link:hover { background:linear-gradient(135deg,#b45309,#d97706); box-shadow:0 6px 18px rgba(217,119,6,0.35); }

/* Section action buttons */
.pml-btn { display:inline-flex; align-items:center; gap:0.6rem; padding:0.75rem 1.6rem; border-radius:14px; font-weight:600; font-size:0.9rem; text-decoration:none; transition:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94); border:none; cursor:pointer; position:relative; overflow:hidden; }
.pml-btn::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent); transition:left 0.5s ease; }
.pml-btn:hover::before { left:100%; }
.pml-btn-primary { background:linear-gradient(135deg,#1e40af,#3b82f6); color:white; box-shadow:0 4px 18px rgba(30,64,175,0.3); }
.pml-btn-primary:hover { transform:translateY(-3px); box-shadow:0 10px 30px rgba(30,64,175,0.4); color:white; }
.pml-btn-outline-dark { background:white; color:#1e40af; border:2px solid #e2e8f0; box-shadow:0 2px 8px rgba(0,0,0,0.04); }
.pml-btn-outline-dark:hover { border-color:#3b82f6; background:#eff6ff; color:#1e40af; transform:translateY(-3px); box-shadow:0 10px 30px rgba(30,64,175,0.12); }

/* Animations */
@keyframes pmlPulseDot { 0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,0.4)} 50%{box-shadow:0 0 0 8px rgba(5,150,105,0)} }
.pml-anim { opacity:0; transform:translateY(30px); transition:all 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.pml-anim[data-anim="fade-left"] { transform:translateX(40px); }
.pml-anim[data-anim="fade-right"] { transform:translateX(-40px); }
.pml-anim.pml-visible { opacity:1; transform:translate(0,0); }

/* ---- Dark mode ---- */
[data-theme="dark"] .pml-council-section { background:linear-gradient(180deg,#0f172a 0%,#111827 100%); }
[data-theme="dark"] .pml-council-section::before { background:linear-gradient(90deg,transparent,#334155,transparent); }
[data-theme="dark"] .pml-section-title { color:#e2e8f0; }
[data-theme="dark"] .pml-section-title::after { background:linear-gradient(135deg,#3b82f6,#60a5fa); }
[data-theme="dark"] .pml-section-desc { color:#94a3b8; }
[data-theme="dark"] .pml-section-label { background:rgba(59,130,246,0.15); color:#60a5fa; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
[data-theme="dark"] .pml-mandate-card { background:linear-gradient(135deg,#020617 0%,#0f172a 50%,#1e3a5f 100%); box-shadow:0 10px 35px rgba(0,0,0,0.5); }
[data-theme="dark"] .pml-mandate-info h4 { color:#ffffff; }
[data-theme="dark"] .pml-member-card { background:#1e293b; border-color:rgba(255,255,255,0.04); box-shadow:0 4px 24px rgba(0,0,0,0.25); }
[data-theme="dark"] .pml-member-card::before { background:linear-gradient(135deg,#0f172a,#1e3a5f); }
[data-theme="dark"] .pml-member-card::after { background:#1e293b; }
[data-theme="dark"] .pml-member-card:hover { box-shadow:0 25px 60px rgba(0,0,0,0.4); }
[data-theme="dark"] .pml-member-featured { background:#1e293b; border-color:rgba(217,119,6,0.2); }
[data-theme="dark"] .pml-member-featured::before { background:linear-gradient(135deg,#78350f,#92400e,#b45309); }
[data-theme="dark"] .pml-member-featured::after { background:linear-gradient(180deg,rgba(120,53,15,0.15),#1e293b); }
[data-theme="dark"] .pml-member-photo { border-color:#1e293b; }
[data-theme="dark"] .pml-member-card:hover .pml-member-photo { border-color:#3b82f6; }
[data-theme="dark"] .pml-member-featured .pml-member-photo { border-color:#b45309; }
[data-theme="dark"] .pml-member-badge-num { background:linear-gradient(135deg,rgba(30,64,175,0.85),rgba(59,130,246,0.85)); }
[data-theme="dark"] .pml-member-info h5 { color:#e2e8f0; }
[data-theme="dark"] .pml-member-role { background:rgba(59,130,246,0.15); color:#93c5fd; }
[data-theme="dark"] .pml-role-gold { background:rgba(217,119,6,0.15); color:#fbbf24; }
[data-theme="dark"] .pml-member-excerpt { color:#94a3b8; }
[data-theme="dark"] .pml-member-link { background:linear-gradient(135deg,#1e3a5f,#2563eb); }
[data-theme="dark"] .pml-member-featured .pml-member-link { background:linear-gradient(135deg,#92400e,#d97706); }
[data-theme="dark"] .pml-btn-primary { box-shadow:0 4px 18px rgba(0,0,0,0.3); }
[data-theme="dark"] .pml-btn-outline-dark { background:#1e293b; color:#93c5fd; border-color:#334155; box-shadow:0 2px 8px rgba(0,0,0,0.2); }
[data-theme="dark"] .pml-btn-outline-dark:hover { background:rgba(59,130,246,0.1); border-color:#60a5fa; color:#60a5fa; }

/* Responsive */
@media (max-width:991px) {
    .pml-mandate-card { flex-wrap:wrap; }
    .pml-mandate-status { margin-top:0.5rem; }
}
@media (max-width:768px) {
    .pml-council-section { padding:3rem 0; }
    .pml-section-title { font-size:1.7rem; }
    .pml-mandate-card { flex-direction:column; text-align:center; padding:1.25rem; gap:1rem; }
    .pml-mandate-status { margin:0 auto; }
    .pml-member-photo { width:95px; height:95px; }
    .pml-member-card::before { height:85px; }
    .pml-member-card::after { top:60px; }
    .pml-btn { padding:0.65rem 1.3rem; font-size:0.85rem; }
}
@media (max-width:576px) {
    .pml-section-title { font-size:1.4rem; }
    .pml-member-card::before { height:75px; }
    .pml-member-card::after { top:52px; height:40px; }
    .pml-member-photo { width:85px; height:85px; }
    .pml-member-photo-area { padding:1.25rem 1.5rem 0; }
}

/* =================================
   ENTITY CARDS (Communities, Formation Houses, Parishes)
   ================================= */
.pm-communities-hero { background: linear-gradient(135deg, #0c1222 0%, #1a2744 30%, #1e40af 100%); }
.pm-formation-hero { background: linear-gradient(135deg, #0c1222 0%, #1a2744 30%, #7c3aed 100%); }
.pm-parishes-hero { background: linear-gradient(135deg, #0c1222 0%, #1a2744 30%, #059669 100%); }

.pm-listing-section { padding: 5rem 0; background: linear-gradient(180deg, #fff 0%, #f8fafc 100%); }
.pm-listing-alt-section { padding: 5rem 0; background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%); }

.pm-zone-card {
    background: white;
    border-radius: 18px;
    padding: 2rem 1.5rem;
    text-align: center;
    border: 1px solid #f1f5f9;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    transition: all 0.4s ease;
    height: 100%;
}
.pm-zone-card:hover { transform: translateY(-6px); box-shadow: 0 15px 40px rgba(0,0,0,0.08); }
.pm-zone-icon {
    width: 56px; height: 56px; border-radius: 16px;
    display: flex; align-items: center; justify-content: center;
    color: white; font-size: 1.2rem; margin: 0 auto 1rem;
}

.pm-entity-card {
    background: white;
    border-radius: 18px;
    border: 1px solid #f1f5f9;
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
    overflow: hidden;
    transition: all 0.45s cubic-bezier(0.25,0.46,0.45,0.94);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.pm-entity-card:hover { transform: translateY(-8px); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }

.pm-entity-card-img {
    position: relative;
    height: 200px;
    overflow: hidden;
    background: linear-gradient(135deg, #1e3a8a, #3b82f6);
}
.pm-entity-card-img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.5s ease;
}
.pm-entity-card:hover .pm-entity-card-img img { transform: scale(1.05); }
.pm-entity-card-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.4); font-size: 3rem;
}

.pm-entity-badge {
    position: absolute; top: 0.75rem; left: 0.75rem;
    padding: 0.3rem 0.75rem; border-radius: 50px;
    font-size: 0.72rem; font-weight: 700;
    backdrop-filter: blur(10px);
}
.pm-badge-green { background: rgba(5,150,105,0.85); color: white; }
.pm-badge-gray { background: rgba(100,116,139,0.85); color: white; }
.pm-badge-gold { background: rgba(217,119,6,0.9); color: white; }

.pm-entity-card-body {
    padding: 1.5rem;
    flex: 1;
}
.pm-entity-meta p {
    font-size: 0.85rem; color: #64748b; margin-bottom: 0.35rem;
    display: flex; align-items: center; gap: 0.5rem;
}
.pm-entity-meta p i { width: 16px; color: #94a3b8; font-size: 0.8rem; }

.pm-entity-card-footer {
    padding: 1rem 1.5rem;
    border-top: 1px solid #f1f5f9;
    display: flex; justify-content: space-between; align-items: center;
}

.pm-tag {
    display: inline-flex; align-items: center;
    padding: 0.2rem 0.6rem; border-radius: 50px;
    font-size: 0.72rem; font-weight: 600;
    background: #f1f5f9; color: #475569;
}
.pm-tag-blue { background: #eff6ff; color: #1e40af; }
.pm-tag-gold { background: #fef3c7; color: #92400e; }

.pm-filter-btn {
    padding: 0.5rem 1.2rem; border-radius: 50px;
    border: 1px solid #e2e8f0; background: white;
    font-size: 0.85rem; font-weight: 600; color: #475569;
    cursor: pointer; transition: all 0.3s ease;
}
.pm-filter-btn:hover { border-color: #3b82f6; color: #1e40af; }
.pm-filter-btn.active {
    background: linear-gradient(135deg, #1e40af, #3b82f6);
    border-color: transparent; color: white;
    box-shadow: 0 4px 12px rgba(30,64,175,0.3);
}

/* Dark mode for entity cards */
[data-theme="dark"] .pm-listing-section { background: #0f172a; }
[data-theme="dark"] .pm-listing-alt-section { background: #1e293b; }
[data-theme="dark"] .pm-zone-card { background: #1e293b; border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .pm-entity-card { background: #1e293b; border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .pm-entity-card-footer { border-color: rgba(255,255,255,0.06); }
[data-theme="dark"] .pm-entity-meta p { color: #94a3b8; }
[data-theme="dark"] .pm-tag { background: #334155; color: #94a3b8; }
[data-theme="dark"] .pm-tag-blue { background: rgba(59,130,246,0.15); color: #60a5fa; }
[data-theme="dark"] .pm-filter-btn { background: #1e293b; border-color: #334155; color: #94a3b8; }
[data-theme="dark"] .pm-filter-btn.active { background: linear-gradient(135deg,#1e40af,#3b82f6); color: white; }

/* =================================
   RESPONSIVE - TABLET (≤992px)
   ================================= */
@media (max-width: 992px) {
    .pm-hero { padding: 3.5rem 0 3rem; }
    .pm-hero-title { font-size: 2.2rem; }
    .pm-hero-icon { font-size: 4rem; }
    .pm-section-title { font-size: 1.8rem; }
    .pm-about-hero { min-height: auto; padding: 4rem 0; }
    .pm-about-hero .pm-hero-title { font-size: 2.4rem; }
}

/* =================================
   RESPONSIVE - MOBILE (≤768px)
   ================================= */
@media (max-width: 768px) {
    .pm-hero { padding: 2.5rem 0 2rem; }
    .pm-hero-title { font-size: 1.75rem; }
    .pm-hero-subtitle { font-size: 0.95rem; }
    .pm-hero-icon { font-size: 3rem; }
    .pm-hero-stat { padding: 0.75rem 0.85rem; border-radius: 10px; }
    .pm-hero-stat h3 { font-size: 1.2rem; }
    .pm-hero-stat small { font-size: 0.72rem; }
    .pm-hero-circle { display: none; }

    .pm-section-title { font-size: 1.5rem; }
    .pm-section-title::after { width: 40px; height: 3px; margin-top: 10px; }
    .pm-section-subtitle { font-size: 0.9rem; }

    .pm-about-hero { min-height: auto; padding: 2.5rem 0; }
    .pm-about-hero .pm-hero-title { font-size: 1.8rem; }
    .pm-about-hero .hero-image { max-width: 260px; margin-top: 1.5rem; }

    .pm-history-section,
    .pm-mission-section,
    .pm-values-section,
    .pm-leadership-section,
    .pm-team-section, .pml-council-section,
    .pm-featured-section,
    .pm-all-galleries-section { padding: 2.5rem 0; }

    .pm-mission-card { padding: 1.5rem 1.25rem; border-radius: 14px; }
    .pm-mission-icon { width: 56px; height: 56px; font-size: 1.3rem; border-radius: 14px; }

    .pm-value-item { padding: 1.25rem; border-radius: 14px; }
    .pm-value-icon { width: 46px; height: 46px; font-size: 1rem; border-radius: 12px; }

    .pm-card { border-radius: 14px; }
    .pm-card-body { padding: 1.1rem; }

    .pm-leader-photo { width: 85px; height: 85px; }
    .pm-member-card { padding: 1.5rem 1rem; border-radius: 14px; }
    .pm-member-photo { width: 80px; height: 80px; }

    .pm-blog-card { border-radius: 14px; }
    .pm-blog-card .blog-image-container { height: 160px; }
    .pm-blog-card.featured-main .blog-image-container { height: 200px; }
    .pm-blog-card .card-body { padding: 1rem; }
    .pm-blog-card .card-title { font-size: 0.95rem; }
    .pm-blog-card.featured-main .card-title { font-size: 1.15rem; }

    .pm-blog-hero .display-5 { font-size: 1.6rem; }
    .pm-blog-content-area { padding: 2rem 0; }

    .pm-gallery-card { border-radius: 14px; }
    .pm-gallery-card .gallery-image-container { height: 180px; }
    .pm-gallery-card .gallery-card-body { padding: 1rem 1.1rem; }

    .pm-sidebar-card { border-radius: 12px; margin-bottom: 1rem; }

    .pm-filter-bar .form-control,
    .pm-filter-bar .form-select { font-size: 0.85rem; padding: 0.55rem 0.85rem; }

    .pm-btn { padding: 0.6rem 1.2rem; font-size: 0.85rem; }

    .pm-cta-section { padding: 3rem 0; }
    .pm-cta-section h3 { font-size: 1.4rem; }

    .pm-listing-section, .pm-listing-alt-section { padding: 3rem 0; }
    .pm-zone-card { padding: 1.5rem 1rem; border-radius: 14px; }
    .pm-entity-card { border-radius: 14px; }
    .pm-entity-card-img { height: 170px; }
    .pm-entity-card-body { padding: 1.2rem; }
    .pm-entity-card-footer { padding: 0.8rem 1.2rem; }
    .pm-filter-btn { padding: 0.4rem 1rem; font-size: 0.8rem; }
}

/* =================================
   RESPONSIVE - SMALL MOBILE (≤576px)
   ================================= */
@media (max-width: 576px) {
    .pm-hero { padding: 2rem 0 1.5rem; }
    .pm-hero-title { font-size: 1.5rem; }
    .pm-hero-subtitle { font-size: 0.88rem; }

    .pm-section-title { font-size: 1.3rem; }

    .pm-about-hero .pm-hero-title { font-size: 1.5rem; }

    .pm-mission-card { padding: 1.25rem 1rem; }
    .pm-mission-icon { width: 48px; height: 48px; font-size: 1.1rem; }

    .pm-blog-hero .display-5 { font-size: 1.35rem; }

    .pm-blog-card .blog-image-container { height: 130px; }
    .pm-blog-card.featured-main .blog-image-container { height: 160px; }
    .pm-blog-card .card-title { font-size: 0.9rem; }
    .pm-blog-card .card-text { font-size: 0.82rem; }

    .pm-gallery-card .gallery-image-container { height: 150px; }

    .pm-pagination .page-link { font-size: 0.78rem; padding: 0.4rem 0.65rem; }

    .pm-listing-section, .pm-listing-alt-section { padding: 2.5rem 0; }
    .pm-zone-card { padding: 1.25rem 1rem; border-radius: 12px; }
    .pm-zone-icon { width: 46px; height: 46px; font-size: 1rem; border-radius: 12px; }
    .pm-entity-card-img { height: 150px; }
    .pm-entity-card-body { padding: 1rem; }
    .pm-entity-card-body h5 { font-size: 1rem; }
    .pm-entity-meta p { font-size: 0.8rem; }
    .pm-tag { font-size: 0.68rem; }
}

/* =================================
   DARK MODE COMPATIBILITY
   ================================= */
[data-theme="dark"] .pm-section-title { color: #e2e8f0; }
[data-theme="dark"] .pm-section-subtitle { color: #94a3b8; }
[data-theme="dark"] .pm-card,
[data-theme="dark"] .pm-blog-card,
[data-theme="dark"] .pm-gallery-card,
[data-theme="dark"] .pm-sidebar-card,
[data-theme="dark"] .pm-mission-card,
[data-theme="dark"] .pm-value-item,
[data-theme="dark"] .pm-leader-card,
[data-theme="dark"] .pm-member-card {
    background: #1e293b;
    border-color: rgba(255,255,255,0.06);
}
[data-theme="dark"] .pm-card-body h5 a,
[data-theme="dark"] .pm-card-body h6 a,
[data-theme="dark"] .pm-blog-card .card-title a,
[data-theme="dark"] .pm-gallery-card .gallery-title a { color: #e2e8f0; }
[data-theme="dark"] .pm-blog-card .card-text,
[data-theme="dark"] .pm-card-meta { color: #94a3b8; }
[data-theme="dark"] .pm-filter-bar { background: #1e293b; border-color: #334155; }
[data-theme="dark"] .pm-filter-bar .form-control,
[data-theme="dark"] .pm-filter-bar .form-select { background: #0f172a; border-color: #334155; color: #e2e8f0; }
[data-theme="dark"] .pm-history-section,
[data-theme="dark"] .pm-values-section,
[data-theme="dark"] .pm-all-galleries-section { background: #0f172a; }
[data-theme="dark"] .pm-mission-section,
[data-theme="dark"] .pm-leadership-section,
[data-theme="dark"] .pm-featured-section,
[data-theme="dark"] .pm-team-section, [data-theme="dark"] .pml-council-section { background: #0f172a; }
[data-theme="dark"] .pm-blog-content-area { background: #0f172a; }
[data-theme="dark"] .pm-blog-content-card { background: #1e293b; border-color: #334155; }
