
        body{
            font-family:'Segoe UI',sans-serif;
            background:#f7f3ee;
            color:#2f2f2f;
        }

        .topbar{
            background:#5b0f1a;
            color:#fff;
            padding:10px 0;
            font-size:14px;
        }

        .navbar-custom{
            background:#fff;
            box-shadow:0 3px 12px rgba(0,0,0,.08);
        }

        .navbar-custom .nav-link,
        .navbar-custom .navbar-brand{
            color:#12315c !important;
            font-weight:600;
        }

        .hero{
            background:
                linear-gradient(rgba(18,49,92,.82), rgba(91,15,26,.66)),
                url('{{ asset("images/about-church.jpg") }}') center/cover no-repeat;
            min-height:48vh;
            display:flex;
            align-items:center;
            color:#fff;
            text-align:center;
        }

        .hero h1{
            font-size:3rem;
            font-weight:800;
            margin-bottom:12px;
        }

        .hero p{
            max-width:760px;
            margin:auto;
            line-height:1.9;
            font-size:1.05rem;
        }

        .page-section{
            padding:70px 0;
        }

        .filter-box{
            background:#fff;
            border-radius:24px;
            padding:30px;
            box-shadow:0 10px 28px rgba(0,0,0,.08);
            margin-top:-65px;
            position:relative;
            z-index:5;
        }

        .filter-box label{
            font-weight:700;
            color:#12315c;
            margin-bottom:8px;
        }

        .form-control{
            border-radius:10px;
            min-height:44px;
        }

        .btn-maroon{
            background:#5b0f1a;
            color:#fff;
            border:none;
        }

        .btn-maroon:hover{
            color:#fff;
            opacity:.95;
        }

        .results-title{
            color:#12315c;
            font-weight:800;
            margin-bottom:20px;
        }

        .results-layout{
            display:flex;
            gap:24px;
            align-items:flex-start;
            flex-wrap:wrap;
        }

        .results-main{
            flex:1 1 760px;
            min-width:0;
        }

        .results-sidebar{
            flex:0 0 290px;
            width:290px;
        }

        .sidebar-card{
            background:#fff;
            border-radius:20px;
            padding:22px 18px;
            box-shadow:0 8px 24px rgba(0,0,0,.07);
            position:sticky;
            top:90px;
        }

        .sidebar-card h5{
            font-size:1.05rem;
            font-weight:800;
            color:#12315c;
            margin-bottom:16px;
        }

        .sidebar-grid{
            display:grid;
            grid-template-columns:repeat(2, minmax(0,1fr));
            gap:10px;
        }

        .sidebar-pill{
            background:#f8f4ec;
            border:1px solid #eadfcb;
            color:#5b0f1a;
            border-radius:10px;
            padding:10px 12px;
            text-align:center;
            font-size:13px;
            font-weight:700;
            line-height:1.4;
            word-break:break-word;
        }

        .schedule-card{
            background:#fff;
            border-radius:20px;
            padding:24px;
            box-shadow:0 8px 24px rgba(0,0,0,.07);
            border-left:6px solid #d4af37;
            margin-bottom:20px;
        }

        .schedule-card h4{
            font-size:1.3rem;
            font-weight:800;
            color:#12315c;
            margin-bottom:10px;
        }

        .badge-day{
            background:linear-gradient(135deg,#12315c,#5b0f1a);
            color:#fff;
            padding:8px 14px;
            border-radius:30px;
            font-size:12px;
            text-transform:capitalize;
            font-weight:600;
            white-space:nowrap;
        }

        .time-pill{
            display:inline-block;
            background:#f3f5f8;
            color:#12315c;
            border-radius:20px;
            padding:6px 12px;
            font-size:12px;
            font-weight:700;
            margin-right:8px;
            margin-bottom:8px;
        }

        .status-pill{
            display:inline-block;
            background:#f8f4ec;
            color:#5b0f1a;
            border-radius:20px;
            padding:6px 12px;
            font-size:12px;
            font-weight:700;
            margin-bottom:8px;
        }

        .location-box{
            background:#f8f4ec;
            border-radius:12px;
            padding:12px 15px;
            margin:12px 0;
        }

        .meta-grid{
            display:grid;
            grid-template-columns:repeat(2, minmax(0,1fr));
            gap:8px 18px;
            margin:14px 0;
        }

        .meta-item{
            font-size:14px;
            color:#444;
            line-height:1.7;
        }

        .meta-item strong{
            color:#12315c;
        }

        .schedule-body{
            line-height:1.9;
            color:#555;
            margin-top:10px;
        }

        .empty-box{
            background:#fff;
            border-radius:18px;
            padding:25px;
            box-shadow:0 8px 20px rgba(0,0,0,.06);
        }

        .pagination-wrapper{
            margin-top:30px;
            display:flex;
            justify-content:center;
        }

        .pagination-wrapper .pagination{
            margin-bottom:0;
            flex-wrap:wrap;
        }

        .pagination-wrapper .page-link{
            color:#12315c;
            border:1px solid #ddd;
            margin:0 3px;
            border-radius:8px;
        }

        .pagination-wrapper .page-item.active .page-link{
            background:#5b0f1a;
            border-color:#5b0f1a;
            color:#fff;
        }

        .pagination-wrapper .page-link:hover{
            color:#5b0f1a;
            background:#f8f4ec;
        }

        @media (max-width: 991px){
            .hero h1{
                font-size:2.2rem;
            }

            .filter-box{
                margin-top:30px;
            }

            .results-layout{
                flex-direction:column;
            }

            .results-sidebar{
                flex:1 1 100%;
                width:100%;
            }

            .sidebar-card{
                position:static;
            }
        }

        @media (max-width: 767px){
            .meta-grid{
                grid-template-columns:1fr;
            }
        }

        @media (max-width: 575px){
            .sidebar-grid{
                grid-template-columns:1fr;
            }

            .schedule-card{
                padding:18px;
            }

            .badge-day{
                margin-top:10px;
            }
        }

.diocese-directory .card{
    border-radius:12px;
    transition:.3s;
}

.diocese-directory .card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 30px rgba(0,0,0,.15);
}

.diocese-directory .card-header{
    background:#7b1e1e;
}

.diocese-directory .card-header a{
    color:#fff !important;
    text-decoration:none;
}

.diocese-directory ul li:last-child{
    border-bottom:none !important;
}

.diocese-directory ul li a{
    display:block;
    color:#444;
    text-decoration:none;
    transition:.2s;
}

.diocese-directory ul li a:hover{
    color:#7b1e1e;
    padding-left:8px;
}







body{
    background:#f5f7fb;
    font-family:"Segoe UI",sans-serif;
}

/* Directory */

.directory-section{
    min-height:500px;
}

/* Header */

.directory-header{
    background:#17375E;
    color:#fff;
    border-radius:12px;
    padding:20px 30px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.directory-header h2{
    margin:0;
    font-size:30px;
    font-weight:700;
}

.directory-header p{
    margin-top:5px;
    opacity:.9;
}

.directory-count{
    background:#fff;
    color:#17375E;
    font-weight:600;
    padding:10px 18px;
    border-radius:25px;
}

/* Cards */

.deanery-card{

    background:#fff;
    border-radius:12px;
    padding:18px;
    display:flex;
    align-items:center;
    height:100%;
    transition:.25s;
    border:1px solid #ececec;
    box-shadow:0 5px 18px rgba(0,0,0,.05);

}

.deanery-card:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 25px rgba(0,0,0,.12);

}

.deanery-icon{

    width:60px;
    height:60px;
    min-width:60px;

    border-radius:50%;
    background:#17375E;

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:24px;

    margin-right:18px;

}

.deanery-content{
    flex:1;
}

.deanery-content h5{

    font-size:20px;
    margin-bottom:6px;
    font-weight:600;
    color:#17375E;

}

.deanery-content small{

    color:#666;
    display:block;

}

.deanery-content .btn{

    border-radius:25px;
    padding:6px 18px;
}

/* Mobile */

@media(max-width:768px){

.directory-header{

    flex-direction:column;
    text-align:center;

}

.directory-count{

    margin-top:15px;

}

}



.parish-card{
    background:#fff;
    border-radius:15px;
    padding:30px 20px;
    height:100%;
    border:1px solid #e9ecef;
    box-shadow:0 8px 20px rgba(0,0,0,.06);
    transition:.3s;
}

.parish-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 30px rgba(0,0,0,.12);
}

.parish-icon{
    width:70px;
    height:70px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#17375E;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
}

.parish-title{
    color:#17375E;
    font-size:22px;
    font-weight:700;
    margin-bottom:12px;
    min-height:56px;
}

.parish-text{
    color:#6c757d;
    font-size:14px;
    line-height:1.6;
    margin-bottom:25px;
}

.parish-btn{
    border-radius:30px;
    padding:10px 24px;
    font-weight:600;
}
