 :root {
            --rq-primary: #7a1207;
            --rq-primary-dark: #5b0d05;
            --rq-primary-soft: #f6ece9;
            --rq-text: #3c2d2a;
            --rq-muted: #7b6d69;
            --rq-border: #eadfdc;
            --rq-surface: #ffffff;
            --rq-surface-soft: #fbf8f7;
            --rq-shadow: 0 10px 30px rgba(122, 18, 7, 0.08);
            --rq-radius-xl: 22px;
            --rq-radius-lg: 18px;
            --rq-radius-md: 14px;
        }

        body {
            font-family: 'Cairo', sans-serif;
            background: #f8f5f4;
            color: var(--rq-text);
        }

        .church-activities-page {
            padding-bottom: 3rem;
        }

        .page-hero {
            position: relative;
            overflow: hidden;
            border-radius: 0 0 28px 28px;
            min-height: 240px;
            background:
                linear-gradient(180deg, rgba(39, 16, 13, 0.2) 0%, rgba(39, 16, 13, 0.65) 100%),
                url('/home/assets/img/static/church_activities.jpg') center center / cover no-repeat;
            display: flex;
            align-items: end;
            box-shadow: var(--rq-shadow);
        }

        .page-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(122, 18, 7, 0.18), rgba(0, 0, 0, 0));
            pointer-events: none;
        }

        .page-hero-content {
            position: relative;
            z-index: 2;
            width: 100%;
            padding: 2.2rem 0 1.75rem;
        }

        .hero-kicker {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            background: rgba(255, 255, 255, 0.16);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, 0.18);
            backdrop-filter: blur(6px);
            border-radius: 999px;
            padding: .35rem .8rem;
            font-size: .9rem;
            font-weight: 700;
            margin-bottom: .85rem;
        }

        .hero-title {
            color: #fff;
            font-size: clamp(1.85rem, 3vw, 2.7rem);
            font-weight: 800;
            line-height: 1.3;
            margin: 0 0 .45rem;
        }

        .hero-subtitle {
            color: rgba(255, 255, 255, .92);
            font-size: 1rem;
            margin: 0;
            max-width: 720px;
        }

        .section-shell {
            margin-top: -22px;
            position: relative;
            z-index: 5;
        }

        .section-header-card {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(122, 18, 7, 0.08);
            border-radius: 20px;
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
            padding: 1rem 1.2rem;
            margin-bottom: 1.35rem;
        }

        .section-title {
            margin: 0;
            color: var(--rq-primary);
            font-size: 1.35rem;
            font-weight: 800;
        }

        .section-subtitle {
            margin: .2rem 0 0;
            color: var(--rq-muted);
            font-size: .95rem;
        }

        .featured-event-card {
            position: relative;
            overflow: hidden;
            border: 1px solid var(--rq-border);
            border-radius: var(--rq-radius-xl);
            background: var(--rq-surface);
            box-shadow: var(--rq-shadow);
            height: 100%;
        }

        .featured-event-media {
            position: relative;
            min-height: 250px;
            background: linear-gradient(180deg, rgba(122, 18, 7, 0.08), rgba(122, 18, 7, 0.18));
        }

        .featured-event-media img {
            width: 100%;
            height: 100%;
            min-height: 250px;
            object-fit: cover;
            display: block;
        }

        .featured-event-media-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(26, 10, 8, 0.08) 15%, rgba(26, 10, 8, 0.78) 100%);
            display: flex;
            align-items: end;
            padding: 1rem;
        }

        .featured-badge {
            display: inline-flex;
            align-items: center;
            gap: .45rem;
            background: rgba(255, 255, 255, 0.92);
            color: var(--rq-primary);
            border-radius: 999px;
            padding: .42rem .8rem;
            font-size: .84rem;
            font-weight: 800;
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
        }

        .featured-event-body {
            padding: 1.2rem 1.2rem 1.3rem;
        }

        .featured-date {
            color: var(--rq-primary);
            font-size: .96rem;
            font-weight: 700;
            margin-bottom: .45rem;
        }

        .featured-title {
            font-size: 1.55rem;
            line-height: 1.45;
            font-weight: 800;
            color: var(--rq-text);
            margin-bottom: .9rem;
        }

        .featured-meta {
            display: grid;
            gap: .7rem;
            margin-bottom: .95rem;
        }

        .meta-row {
            display: flex;
            align-items: flex-start;
            gap: .65rem;
            color: var(--rq-text);
            font-size: .98rem;
            line-height: 1.7;
        }

        .meta-row i {
            width: 1.2rem;
            color: var(--rq-primary);
            margin-top: .2rem;
            flex: 0 0 auto;
        }

        .featured-empty,
        .list-empty {
            background: var(--rq-surface);
            border: 1px dashed var(--rq-border);
            border-radius: var(--rq-radius-lg);
            padding: 2rem 1.25rem;
            color: var(--rq-muted);
            text-align: center;
            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.03);
        }

        .side-panel {
            background: transparent;
        }

        .side-panel-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: .9rem;
            padding-inline: .2rem;
        }

        .side-panel-title {
            margin: 0;
            color: var(--rq-primary);
            font-size: 1.15rem;
            font-weight: 800;
        }

        .side-panel-note {
            color: var(--rq-muted);
            font-size: .88rem;
            font-weight: 700;
        }

        .activities-list {
            display: grid;
            gap: .85rem;
        }

        .activity-item {
            display: grid;
            grid-template-columns: 92px 1fr;
            gap: .9rem;
            align-items: stretch;
            background: var(--rq-surface);
            border: 1px solid var(--rq-border);
            border-radius: var(--rq-radius-lg);
            padding: .8rem;
            box-shadow: 0 8px 24px rgba(122, 18, 7, 0.05);
            transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
        }

        .activity-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 28px rgba(122, 18, 7, 0.09);
            border-color: #dfcbc5;
        }

        .activity-date-box {
            background: linear-gradient(180deg, #8b1b0e 0%, #6f1107 100%);
            color: #fff;
            border-radius: 18px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: .75rem .45rem;
            text-align: center;
            min-height: 100%;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
        }

        .activity-date-day {
            font-size: 1.55rem;
            font-weight: 800;
            line-height: 1;
            margin-bottom: .25rem;
        }

        .activity-date-month {
            font-size: .86rem;
            font-weight: 700;
            line-height: 1.2;
            opacity: .96;
        }

        .activity-date-year {
            font-size: .78rem;
            font-weight: 600;
            opacity: .85;
            margin-top: .2rem;
        }

        .activity-content {
            min-width: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .activity-date-ar {
            color: var(--rq-primary);
            font-size: .87rem;
            font-weight: 700;
            margin-bottom: .2rem;
        }

        .activity-title {
            font-size: 1.03rem;
            font-weight: 800;
            line-height: 1.55;
            margin: 0 0 .4rem;
            color: var(--rq-text);
        }

        .activity-details {
            font-size: .92rem;
            color: var(--rq-muted);
            line-height: 1.75;
            margin: 0;
        }

        .activity-details strong {
            color: var(--rq-text);
            font-weight: 700;
        }

        .loading-box {
            background: var(--rq-surface);
            border: 1px solid var(--rq-border);
            border-radius: var(--rq-radius-lg);
            box-shadow: 0 8px 24px rgba(122, 18, 7, 0.04);
            padding: 1rem 1.1rem;
        }

        .spinner-border.text-rq {
            color: var(--rq-primary);
        }

        @media (max-width: 991.98px) {
            .page-hero {
                min-height: 210px;
                border-radius: 0 0 22px 22px;
            }

            .section-shell {
                margin-top: -14px;
            }
        }

        @media (max-width: 767.98px) {
            .page-hero-content {
                padding-top: 1.8rem;
                padding-bottom: 1.4rem;
            }

            .hero-title {
                font-size: 1.7rem;
            }

            .featured-title {
                font-size: 1.28rem;
            }

            .activity-item {
                grid-template-columns: 78px 1fr;
                gap: .7rem;
                padding: .7rem;
            }

            .activity-date-day {
                font-size: 1.3rem;
            }

            .activity-title {
                font-size: .98rem;
            }
        }