:root{--church-blue:#123c69;--church-gold:#f6c343;--church-soft:#f6f8fb;--church-dark:#0b172a}.church-navbar{background:linear-gradient(90deg,#0b172a,#123c69);box-shadow:0 10px 30px rgba(0,0,0,.15)}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;background:var(--church-gold);color:#0b172a;border-radius:50%;margin-right:.4rem}.hero-section{background:radial-gradient(circle at 80% 20%,rgba(246,195,67,.28),transparent 32%),linear-gradient(135deg,#0b172a,#123c69 62%,#1d5c96);min-height:640px;display:flex;align-items:center}.text-light-muted{color:rgba(255,255,255,.75)}.glass-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(12px);color:white;border-radius:24px;padding:2rem;box-shadow:0 30px 70px rgba(0,0,0,.25)}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:1.5rem;box-shadow:0 12px 35px rgba(15,23,42,.08)}.stat-card strong{display:block;font-size:2rem;color:var(--church-blue)}.stat-card span{color:#6b7280}.feature-card,.event-card,.sermon-card{transition:.25s}.feature-card:hover,.event-card:hover,.sermon-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(15,23,42,.12)}.feature-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:2rem;background:linear-gradient(135deg,#fff2bf,#f6c343);margin-bottom:1rem}.soft-section{background:var(--church-soft)}.page-header{background:linear-gradient(135deg,#0b172a,#123c69);color:#fff;padding:5rem 0 4rem}.page-header h1{font-weight:800;font-size:clamp(2rem,4vw,3.8rem)}.page-header p{font-size:1.15rem;color:rgba(255,255,255,.78);max-width:700px}.check-list{padding-left:0;list-style:none}.check-list li{padding:.75rem 0 .75rem 2rem;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;top:.75rem;color:#198754;font-weight:800}.about-illustration{min-height:360px;background:radial-gradient(circle,#f6c343 0 18%,transparent 18%),linear-gradient(135deg,#f8fafc,#e0e7ff);border-radius:28px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:2rem}.about-illustration-default{position:relative;z-index:1}.about-illustration span{font-size:5rem;color:#123c69}.about-illustration--image{display:block;padding:0;background:#e5e7eb}.about-illustration--image>img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}.about-illustration-overlay{position:absolute;inset:auto 0 0 0;padding:4.5rem 2rem 2rem;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(11,23,42,.9))}.about-illustration-overlay h3{font-weight:800;margin-bottom:.5rem}.about-illustration-overlay p{color:rgba(255,255,255,.86);line-height:1.7}.event-date{background:#123c69;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px}.event-date strong{font-size:3rem;line-height:1}.gallery-card{position:relative;overflow:hidden;border-radius:22px;min-height:260px;background:#e5e7eb;box-shadow:0 12px 35px rgba(15,23,42,.12)}.gallery-card img{width:100%;height:300px;object-fit:cover;display:block}.gallery-placeholder{height:300px;display:grid;place-items:center;font-size:5rem;color:#123c69;background:#eef2ff}.gallery-caption{position:absolute;inset:auto 0 0 0;padding:1.5rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78))}.gallery-caption span{font-size:.8rem;color:#f6c343}.gallery-caption h5{margin:.2rem 0;font-weight:800}.qr-img{max-width:180px;border:1px solid #e5e7eb;border-radius:12px;padding:.5rem}.sticky-card{position:sticky;top:100px}.footer-section{background:#0b172a;color:#fff}.auth-body{min-height:100vh;background:linear-gradient(135deg,#0b172a,#123c69);display:grid;place-items:center}.auth-wrapper{width:100%;max-width:960px;padding:1rem}.auth-card{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 35px 80px rgba(0,0,0,.3)}.admin-body{background:#f6f8fb}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:280px;background:#fff;border-right:1px solid #e5e7eb;position:fixed;top:0;bottom:0;left:0;overflow:auto}.admin-main{margin-left:280px;width:calc(100% - 280px)}.admin-topbar{height:86px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:5}.admin-menu a{display:block;padding:.8rem 1rem;border-radius:12px;color:#334155;font-weight:600}.admin-menu a:hover{background:#eef2ff;color:#123c69;text-decoration:none}.border-soft{border-color:#e5e7eb!important}.admin-stat{height:100%}.admin-thumb{max-width:220px;border-radius:12px;border:1px solid #e5e7eb;padding:.25rem}.ajax-response .alert{margin-bottom:0}@media(max-width:991px){.admin-sidebar{position:relative;width:100%;height:auto}.admin-shell{display:block}.admin-main{margin-left:0;width:100%}.admin-topbar{height:auto;padding:1rem;gap:1rem;align-items:flex-start;flex-direction:column}.hero-section{min-height:auto}.sticky-card{position:static}}
.auth-card-wide{max-width:920px;margin:0 auto}.role-help-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:1.5rem}.role-item{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem 0;border-bottom:1px solid #e5e7eb}.role-item:last-of-type{border-bottom:0}.role-item strong{min-width:105px;color:#123c69}.role-item span{font-size:.92rem;color:#64748b}.bg-primary-subtle{background:#dbeafe!important}.text-primary{color:#123c69!important}.table td,.table th{vertical-align:middle}@media(max-width:991px){.role-item{display:block}.role-item strong{display:block;margin-bottom:.2rem}}

/* Public navbar: tombol hamburger dihapus, menu dibuat tampil langsung dan responsif. */
.church-navbar .navbar-menu{display:flex;flex-basis:auto;flex-grow:1;align-items:center;justify-content:flex-end}
@media(max-width:991px){.church-navbar .container{align-items:flex-start}.church-navbar .navbar-menu{width:100%;margin-top:1rem;justify-content:flex-start}.church-navbar .navbar-nav{width:100%}.church-navbar .nav-link{padding:.65rem 0}.church-navbar .btn{width:100%;margin-top:.5rem}}

/* Branding, logo upload, dan header beranda dinamis */
.brand-logo{width:64px;height:64px;border-radius:12px;object-fit:contain;background:rgba(255,255,255,.96);padding:.25rem;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.brand-text{line-height:1.1}.footer-logo{width:30px;height:30px;border-radius:8px;object-fit:contain;background:#fff;padding:.15rem}.hero-section{background-position:center;background-repeat:no-repeat;background-size:cover}.settings-card{border-radius:18px;overflow:hidden}.settings-upload-box{border:1px dashed #cbd5e1;border-radius:16px;padding:1rem;background:#f8fafc}.settings-preview{width:150px;height:150px;border-radius:16px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;padding:.5rem}.settings-preview-wide{width:100%;max-width:520px;height:180px;object-fit:cover}.settings-preview-empty{height:150px;border-radius:16px;display:grid;place-items:center;background:#eef2ff;color:#64748b;border:1px dashed #cbd5e1}.settings-sticky-save{position:sticky;bottom:1rem;z-index:4;border-radius:18px}.settings-form textarea{resize:vertical}@media(max-width:991px){.brand-logo{width:38px;height:38px}.brand-text{max-width:190px;white-space:normal}.settings-sticky-save{position:static}}


/* Ukuran logo navbar diperbesar namun tetap mengikuti tinggi section navbar. */
.church-navbar{min-height:92px;overflow:hidden;padding-top:.65rem;padding-bottom:.65rem}.church-navbar .container{min-height:72px;display:flex;align-items:center}.church-navbar .navbar-brand{min-width:0;max-width:340px;flex:0 0 auto;overflow:hidden}.church-navbar .brand-logo{--logo-size:var(--brand-logo-size,64px);display:block!important;flex:0 0 var(--logo-size)!important;width:var(--logo-size)!important;height:var(--logo-size)!important;max-width:var(--logo-size)!important;max-height:var(--logo-size)!important;min-width:var(--logo-size)!important;min-height:var(--logo-size)!important;aspect-ratio:1/1;object-fit:contain;object-position:center;background:#fff;border-radius:16px;padding:4px;box-shadow:0 8px 22px rgba(0,0,0,.18)}.church-navbar .brand-text{display:inline-block;max-width:235px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.15}.settings-form input[name="settings[site_logo_size]"]{max-width:120px}@media(max-width:991px){.church-navbar{overflow:visible;min-height:auto;padding-top:.75rem;padding-bottom:.75rem}.church-navbar .container{min-height:70px;align-items:flex-start}.church-navbar .navbar-brand{max-width:100%}.church-navbar .brand-logo{--logo-size:min(var(--brand-logo-size,64px),74px);width:var(--logo-size)!important;height:var(--logo-size)!important;max-width:var(--logo-size)!important;max-height:var(--logo-size)!important;min-width:var(--logo-size)!important;min-height:var(--logo-size)!important}.church-navbar .brand-text{max-width:190px}}
.input-group-text{display:flex;align-items:center;padding:.7rem .9rem;background:#f8fafc;border:1px solid #cbd5e1;border-left:0;border-radius:0 .65rem .65rem 0;color:#64748b;font-weight:600}


/* Revisi logo navbar: ukuran lebih besar, tanpa background putih, penuh sesuai tinggi navbar. */
.church-navbar{min-height:116px;overflow:hidden;padding-top:.75rem;padding-bottom:.75rem}
.church-navbar .container{min-height:92px;display:flex;align-items:center}
.church-navbar .navbar-brand{gap:.75rem!important;max-width:380px;overflow:visible}
.church-navbar .brand-logo{--logo-size:var(--brand-logo-size,88px);display:block!important;flex:0 0 var(--logo-size)!important;width:var(--logo-size)!important;height:var(--logo-size)!important;max-width:var(--logo-size)!important;max-height:var(--logo-size)!important;min-width:var(--logo-size)!important;min-height:var(--logo-size)!important;aspect-ratio:1/1;object-fit:contain;object-position:center;background:transparent!important;background-color:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.church-navbar .brand-text{font-size:1.45rem;line-height:1.1;display:inline-block;max-width:235px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-form input[name="settings[site_logo_size]"]{max-width:140px}
@media(max-width:991px){.church-navbar{overflow:visible;min-height:auto;padding-top:.7rem;padding-bottom:.7rem}.church-navbar .container{min-height:88px;align-items:flex-start}.church-navbar .navbar-brand{max-width:100%}.church-navbar .brand-logo{--logo-size:min(var(--brand-logo-size,88px),96px);width:var(--logo-size)!important;height:var(--logo-size)!important;max-width:var(--logo-size)!important;max-height:var(--logo-size)!important;min-width:var(--logo-size)!important;min-height:var(--logo-size)!important}.church-navbar .brand-text{font-size:1.35rem;max-width:190px}}
@media(max-width:575px){.church-navbar .brand-logo{--logo-size:min(var(--brand-logo-size,88px),84px)}.church-navbar .brand-text{font-size:1.2rem;max-width:150px}}


/* Revisi terbaru: logo navbar diperbesar lagi agar mendekati area lingkaran merah pada contoh. */
.church-navbar{min-height:140px;overflow:hidden;padding-top:.9rem;padding-bottom:.9rem}
.church-navbar .container{min-height:116px;display:flex;align-items:center}
.church-navbar .navbar-brand{gap:.9rem!important;max-width:460px;overflow:visible;align-items:center!important}
.church-navbar .brand-logo{--logo-size:var(--brand-logo-size,120px);display:block!important;flex:0 0 var(--logo-size)!important;width:var(--logo-size)!important;height:var(--logo-size)!important;max-width:var(--logo-size)!important;max-height:var(--logo-size)!important;min-width:var(--logo-size)!important;min-height:var(--logo-size)!important;aspect-ratio:1/1;object-fit:contain;object-position:center;background:transparent!important;background-color:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.church-navbar .brand-text{font-size:1.65rem;line-height:1.05;display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.settings-form input[name="settings[site_logo_size]"],.settings-form input[name="settings[hero_header_height]"],.settings-form input[name="settings[hero_header_mobile_height]"]{max-width:150px}
@media(max-width:991px){.church-navbar{overflow:visible;min-height:auto;padding-top:.75rem;padding-bottom:.75rem}.church-navbar .container{min-height:100px;align-items:flex-start}.church-navbar .navbar-brand{max-width:100%}.church-navbar .brand-logo{--logo-size:min(var(--brand-logo-size,120px),104px);width:var(--logo-size)!important;height:var(--logo-size)!important;max-width:var(--logo-size)!important;max-height:var(--logo-size)!important;min-width:var(--logo-size)!important;min-height:var(--logo-size)!important}.church-navbar .brand-text{font-size:1.4rem;max-width:200px}}
@media(max-width:575px){.church-navbar .brand-logo{--logo-size:min(var(--brand-logo-size,120px),92px)}.church-navbar .brand-text{font-size:1.2rem;max-width:155px}}


/* Revisi header: gambar hero dibuat lebih jelas tanpa overlay/transparansi bawaan. */
.hero-section{
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-blend-mode:normal!important;
    position:relative;
}
.hero-section::before,
.hero-section::after{
    content:none!important;
    display:none!important;
}
.hero-section h1,
.hero-section .lead,
.hero-section .badge,
.hero-section .btn{
    position:relative;
    z-index:1;
}
.hero-section h1,
.hero-section .lead{
    text-shadow:0 4px 16px rgba(0,0,0,.55);
}
.hero-section .text-light-muted{
    color:#ffffff!important;
}
.hero-card.glass-card{
    background:#123c69!important;
    background-color:#123c69!important;
    border:1px solid rgba(255,255,255,.35)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}

/* Pengaturan dinamis tinggi header beranda dari dashboard. */
.hero-section{
    min-height:var(--hero-header-height,640px)!important;
}
@media(max-width:991px){
    .hero-section{
        min-height:var(--hero-header-mobile-height,520px)!important;
    }
}


/* Revisi warna dinamis header dan navbar: semua warna huruf dapat diatur dari dashboard. */
.church-navbar .brand-text{color:var(--navbar-brand-text-color,#ffffff)!important}
.church-navbar .nav-link{color:var(--navbar-menu-text-color,#e5e7eb)!important}
.church-navbar .nav-link:hover,.church-navbar .nav-link:focus{color:var(--navbar-button-bg-color,#ffc107)!important}
.church-navbar .btn-warning{background-color:var(--navbar-button-bg-color,#ffc107)!important;border-color:var(--navbar-button-bg-color,#ffc107)!important;color:var(--navbar-button-text-color,#0b172a)!important}
.hero-section .hero-title{color:var(--hero-title-color,#ffffff)!important;text-shadow:0 4px 16px rgba(0,0,0,.55)}
.hero-section .hero-description{color:var(--hero-description-color,#ffffff)!important;text-shadow:0 4px 16px rgba(0,0,0,.55)}
.hero-section .hero-badge{background-color:var(--hero-badge-bg-color,#ffc107)!important;color:var(--hero-badge-text-color,#111827)!important}
.hero-section .hero-primary-btn{background-color:var(--hero-primary-button-bg-color,#ffc107)!important;border-color:var(--hero-primary-button-bg-color,#ffc107)!important;color:var(--hero-primary-button-text-color,#0b172a)!important}
.hero-section .hero-secondary-btn{background-color:transparent!important;border-color:var(--hero-secondary-button-border-color,#ffffff)!important;color:var(--hero-secondary-button-text-color,#ffffff)!important}
.hero-section .hero-secondary-btn:hover,.hero-section .hero-secondary-btn:focus{background-color:var(--hero-secondary-button-border-color,#ffffff)!important;color:#0b172a!important}
.hero-card.glass-card{background:var(--hero-card-bg-color,#123c69)!important;background-color:var(--hero-card-bg-color,#123c69)!important;color:var(--hero-card-text-color,#ffffff)!important}
.hero-card.glass-card h3,.hero-card.glass-card p{color:var(--hero-card-text-color,#ffffff)!important}
.color-setting-group .form-control-color{width:72px;min-width:72px;padding:.25rem}.color-setting-group .color-code{min-width:92px;justify-content:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}


/* CRUD Statistik & Berita Gereja */
.stat-card-dynamic{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem}
.stat-card-dynamic p{font-size:.88rem;color:#64748b;margin:.35rem auto 0;max-width:260px}.stat-card-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff7d6;font-size:1.7rem;margin-bottom:.15rem}.stat-card-img{width:54px;height:54px;border-radius:16px;object-fit:cover;margin-bottom:.2rem;border:1px solid #e5e7eb}.news-card{overflow:hidden;border:1px solid #e5e7eb;box-shadow:0 12px 35px rgba(15,23,42,.08);transition:.25s}.news-card:hover{transform:translateY(-5px);box-shadow:0 20px 52px rgba(15,23,42,.13)}.news-card-image{width:100%;height:220px;object-fit:cover;display:block}.news-card-placeholder{height:220px;display:grid;place-items:center;background:linear-gradient(135deg,#0b172a,#123c69);color:#f6c343;font-size:4rem}.admin-menu a{margin-bottom:.15rem}@media(max-width:575px){.news-card-image,.news-card-placeholder{height:180px}.stat-card-dynamic{min-height:165px}}


/* Data Jemaat, Sektor, dan Pelayan Gereja */
.member-card,.servant-card,.member-info-card{border:1px solid #e5e7eb;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(15,23,42,.07);transition:.25s;background:#fff}
.member-card:hover,.servant-card:hover,.member-info-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(15,23,42,.11)}
.sector-block{border-bottom:1px solid #e5e7eb;padding-bottom:2rem}.sector-block:last-child{border-bottom:0}
.servant-photo{width:100%;height:260px;object-fit:cover;background:#eef2ff}.servant-photo-placeholder{height:260px;display:grid;place-items:center;font-size:5rem;background:linear-gradient(135deg,#eef2ff,#dbeafe);color:#123c69}
.mini-stat{border:1px solid #e5e7eb;border-radius:18px;padding:1rem;text-align:center;background:#f8fafc}.mini-stat strong{display:block;font-size:1.8rem;color:#123c69}.mini-stat span{color:#64748b;font-weight:600}
.servant-mini{border:1px solid #e5e7eb;border-radius:16px;padding:.8rem;background:#f8fafc}.servant-mini img,.servant-mini span{width:54px;height:54px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#123c69;color:#fff;font-size:1.4rem;flex:0 0 54px}
@media(max-width:991px){.servant-photo,.servant-photo-placeholder{height:220px}}


/* Form data anak jemaat dinamis */
.children-repeater{border-style:dashed!important}.child-row{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:.75rem}.member-card{border-radius:20px;overflow:hidden}.mini-stat{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:1rem;text-align:center}.mini-stat strong{display:block;font-size:1.8rem;color:var(--church-blue)}.mini-stat span{color:#64748b;font-size:.9rem}


/* Tabel publik Data Jemaat */
.sector-table-block{border-radius:20px;overflow:hidden}
.member-table-toolbar .form-control,.member-table-toolbar .form-select{min-width:160px}
.public-member-table th{white-space:nowrap;cursor:pointer;user-select:none;color:#123c69;font-weight:800}
.public-member-table td{white-space:nowrap;font-size:.95rem}
.public-member-table .sort-icon{font-size:.8rem;color:#64748b;margin-left:.25rem}
@media(max-width:767px){.member-table-toolbar .form-control,.member-table-toolbar .form-select{width:100%;min-width:100%}.public-member-table td,.public-member-table th{font-size:.85rem}}


/* Revisi halaman jemaat: filter cari data dan pilihan tampil data dibuat sejajar. */
.member-table-toolbar-inline{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap;
    align-items:flex-end;
    justify-content:flex-end;
    gap:.75rem;
    width:100%;
}
.member-table-toolbar-inline .member-filter-item{
    display:flex;
    align-items:center;
    gap:.5rem;
    min-width:0;
}
.member-table-toolbar-inline label{
    white-space:nowrap;
}
.member-table-toolbar-inline .member-filter-search{
    flex:1 1 420px;
}
.member-table-toolbar-inline .member-filter-size{
    flex:0 0 auto;
}
.member-table-toolbar-inline .member-table-search{
    width:min(460px, 100%);
}
.member-table-toolbar-inline .member-page-size{
    width:110px;
}
@media(max-width:767px){
    .member-table-toolbar-inline{
        justify-content:flex-start;
    }
    .member-table-toolbar-inline .member-filter-item{
        width:100%;
    }
    .member-table-toolbar-inline .member-table-search{
        width:100%;
    }
}


/* Revisi halaman jemaat: judul tabel digeser ke kiri dan sejajar dengan isi kartu. */
.public-member-card-header{
    padding-left:1.5rem!important;
    padding-right:1.5rem!important;
}
.member-table-heading{
    width:100%;
    max-width:none;
    margin:0!important;
    text-align:left!important;
}
.member-table-heading h2{
    margin-top:2rem;
    text-align:left!important;
}
.member-table-heading .text-muted{
    text-align:left!important;
}
.public-member-card-header .member-table-toolbar-inline{
    width:100%;
    justify-content:space-between;
}
.public-member-card-header .member-filter-search{
    flex:1 1 auto;
    max-width:860px;
}
.public-member-card-header .member-filter-size{
    margin-left:auto;
}
@media(max-width:767px){
    .public-member-card-header{
        padding-left:1rem!important;
        padding-right:1rem!important;
    }
    .member-table-heading h2{
        margin-top:1rem;
    }
    .public-member-card-header .member-filter-size{
        margin-left:0;
    }
}


/* Revisi ukuran header beranda: judul dan kartu ibadah dibuat lebih ringkas agar gambar header tampil lebih penuh. */
.hero-section .container{
    position:relative;
    z-index:1;
}
.hero-section .hero-copy-col{
    max-width:720px;
}
.hero-section .hero-title{
    font-size:var(--hero-title-font-size,48px)!important;
    line-height:var(--hero-title-line-height,1.1)!important;
    letter-spacing:-.02em;
    max-width:760px;
    margin-bottom:1.1rem;
}
.hero-section .hero-description{
    font-size:var(--hero-description-font-size,20px)!important;
    line-height:1.55;
    max-width:760px;
}
.hero-section .hero-schedule-card{
    width:100%;
    max-width:var(--hero-card-width,440px)!important;
    margin-left:auto;
    padding:0!important;
    border-radius:22px!important;
}
.hero-section .hero-schedule-card h3{
    font-size:var(--hero-card-title-font-size,24px)!important;
    margin-bottom:1.2rem!important;
}
.hero-section .hero-schedule-card p{
    font-size:var(--hero-card-text-font-size,18px)!important;
    line-height:1.45;
}
.hero-section .hero-schedule-card .btn{
    padding:.65rem 1rem;
    font-weight:700;
}
@media(max-width:991px){
    .hero-section .hero-title{
        font-size:min(var(--hero-title-font-size,48px),42px)!important;
    }
    .hero-section .hero-schedule-card{
        margin-left:0;
        max-width:100%!important;
    }
}
@media(max-width:575px){
    .hero-section .hero-title{
        font-size:min(var(--hero-title-font-size,48px),34px)!important;
    }
    .hero-section .hero-description{
        font-size:min(var(--hero-description-font-size,20px),17px)!important;
    }
}


/* Revisi terbaru: padding kartu Ibadah Minggu dihapus agar area gambar header tampil lebih luas. */
.hero-section .hero-schedule-card{
    padding:0!important;
}
.hero-section .hero-schedule-card h3,
.hero-section .hero-schedule-card p,
.hero-section .hero-schedule-card .d-grid{
    margin-left:0!important;
    margin-right:0!important;
}


/* Revisi final: kartu/padding Ibadah Minggu di halaman beranda dihilangkan total.
   Area jadwal tampil sebagai teks langsung di atas gambar header tanpa kotak/card. */
.hero-section .hero-schedule-plain,
.hero-section .hero-schedule-card{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    padding:0!important;
    margin-left:auto;
    max-width:var(--hero-card-width,440px)!important;
    color:var(--hero-card-text-color,#ffffff)!important;
}
.hero-section .hero-schedule-plain h3,
.hero-section .hero-schedule-plain p,
.hero-section .hero-schedule-card h3,
.hero-section .hero-schedule-card p{
    color:var(--hero-card-text-color,#ffffff)!important;
    text-shadow:0 4px 16px rgba(0,0,0,.55);
}
.hero-section .hero-schedule-plain h3,
.hero-section .hero-schedule-card h3{
    font-size:var(--hero-card-title-font-size,24px)!important;
    margin-bottom:1.2rem!important;
}
.hero-section .hero-schedule-plain p,
.hero-section .hero-schedule-card p{
    font-size:var(--hero-card-text-font-size,18px)!important;
    line-height:1.45;
}
.hero-section .hero-schedule-plain .btn,
.hero-section .hero-schedule-card .btn{
    padding:.65rem 1rem;
    font-weight:700;
}
@media(max-width:991px){
    .hero-section .hero-schedule-plain,
    .hero-section .hero-schedule-card{
        margin-left:0;
        max-width:100%!important;
    }
}

/* Override terakhir untuk mencegah style .glass-card lama muncul pada jadwal header. */
.hero-section .hero-schedule-plain.glass-card,
.hero-section .hero-schedule-card.glass-card,
.hero-section .hero-card.glass-card.hero-schedule-card{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
}


/* Revisi: Naikkan posisi teks utama header */
.hero-section .hero-copy-col{
    display:block;
    margin-top:0!important;
    padding-top:0!important;
}


/* Revisi: Naikkan kotak teks header hero-copy-col lebih dekat ke navbar */
.hero-section .hero-copy-col{
    margin-top:0!important;
    padding-top:10px!important;
}


/* Revisi final: Naikkan kotak teks header mendekati navbar */
.hero-section .hero-copy-col{
    margin-top:20px!important; /* Posisi aman dekat navbar */
    padding-top:0!important;
}



/* Global Admin Datatable - tampilan flat seperti tabel Data Jemaat */
body.admin-body .unified-data-card{
    border:1px solid #dbe3ee!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 12px 35px rgba(15,23,42,.05)!important;
}
body.admin-body .unified-data-card > .card-header{
    background:#fff!important;
    border-bottom:1px solid #dbe3ee!important;
    padding:1rem 1.5rem!important;
}
body.admin-body .unified-table-toolbar{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1rem 1.5rem;
    background:#f8fafc;
    border-bottom:1px solid #dbe3ee;
}
body.admin-body .unified-filter-item{
    display:flex;
    align-items:center;
    gap:.65rem;
    min-width:0;
}
body.admin-body .unified-filter-search{
    flex:1 1 auto;
}
body.admin-body .unified-filter-search label,
body.admin-body .unified-filter-size label{
    white-space:nowrap;
    font-size:.95rem;
}
body.admin-body .unified-table-search{
    width:min(520px, 100%);
    height:44px;
    border-radius:12px;
    font-size:1rem;
}
body.admin-body .unified-page-size{
    width:120px;
    height:44px;
    border-radius:12px;
    font-size:1rem;
}
body.admin-body .unified-data-table{
    width:100%;
    margin-bottom:0!important;
    border-collapse:separate;
    border-spacing:0;
}
body.admin-body .unified-data-table thead th{
    background:#fff!important;
    color:#073763;
    font-weight:800;
    border-bottom:1px solid #dbe3ee!important;
    padding:1.05rem 1.25rem!important;
    vertical-align:middle;
    white-space:nowrap;
}
body.admin-body .unified-data-table tbody td{
    padding:1.05rem 1.25rem!important;
    border-bottom:1px solid #dbe3ee!important;
    vertical-align:middle;
    color:#111827;
}
body.admin-body .unified-data-table tbody tr:hover{
    background:#f8fafc!important;
}
body.admin-body .datatable-sortable{
    cursor:pointer;
    user-select:none;
}
body.admin-body .sort-icon{
    color:#0b4a7a;
    opacity:.75;
    font-size:.9rem;
}
body.admin-body .unified-table-footer{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:.75rem;
    padding:1rem 1.5rem;
    background:#f8fafc;
    border-top:1px solid #dbe3ee;
}
body.admin-body .unified-table-footer .btn{
    border-radius:10px!important;
    font-weight:700;
    padding:.45rem .85rem;
}
body.admin-body .unified-table-footer .btn:disabled{
    opacity:.45;
}
@media(max-width:767px){
    body.admin-body .unified-table-toolbar{
        flex-direction:column;
        align-items:stretch;
    }
    body.admin-body .unified-filter-item{
        width:100%;
    }
    body.admin-body .unified-table-search,
    body.admin-body .unified-page-size{
        width:100%;
    }
}




/* Revisi alignment tabel role user/admin:
   Judul kolom tabel dibuat sejajar dengan isi data pada kolom yang sama. */
body.admin-body .unified-data-table{
    table-layout:auto!important;
}
body.admin-body .unified-data-table thead th,
body.admin-body .unified-data-table tbody td{
    text-align:left!important;
    vertical-align:middle!important;
    padding-left:1.25rem!important;
    padding-right:1.25rem!important;
}
body.admin-body .unified-data-table thead th .sort-icon{
    display:inline-block;
    margin-left:.25rem;
}

/* Kolom aksi dibuat konsisten: judul dan tombol aksi sama-sama di tengah. */
body.admin-body .unified-data-table thead th:last-child,
body.admin-body .unified-data-table tbody td:last-child{
    text-align:center!important;
}
body.admin-body .unified-data-table tbody td:last-child .btn,
body.admin-body .unified-data-table tbody td:last-child form{
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Jika ada class text-center/text-end bawaan di tabel, tetap disamakan agar sejajar. */
body.admin-body .unified-data-table thead th.text-center,
body.admin-body .unified-data-table thead th.text-end,
body.admin-body .unified-data-table tbody td.text-center,
body.admin-body .unified-data-table tbody td.text-end{
    text-align:left!important;
}
body.admin-body .unified-data-table thead th:last-child.text-center,
body.admin-body .unified-data-table thead th:last-child.text-end,
body.admin-body .unified-data-table tbody td:last-child.text-center,
body.admin-body .unified-data-table tbody td:last-child.text-end{
    text-align:center!important;
}



body.admin-body .unified-data-table .datatable-action-column{
    text-align:center!important;
}

.footer-social-links{display:flex;flex-wrap:wrap;gap:.5rem}.footer-social-links a{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .75rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:.2s}.footer-social-links a:hover{background:var(--church-gold);border-color:var(--church-gold);color:var(--church-dark)}

.about-content-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:1.75rem;box-shadow:0 14px 40px rgba(15,23,42,.08)}.section-eyebrow{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.75rem;color:#123c69;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.section-eyebrow:before{content:'';width:28px;height:3px;border-radius:999px;background:#f6c343}.about-content-card .lead{color:#334155;line-height:1.8}.about-content-card .check-list li{color:#334155;line-height:1.7}


@media(max-width:575px){.about-illustration{min-height:320px}.about-illustration--image>img{min-height:320px}.about-illustration-overlay{padding:4rem 1.25rem 1.5rem}}

/* Revisi 18-06-2026: penyelarasan judul kolom dan isi data pada seluruh tabel. */
body.admin-body .unified-data-table thead th,
body.admin-body .unified-data-table tbody td{
    box-sizing:border-box;
    text-align:left!important;
    vertical-align:middle!important;
}
body.admin-body .unified-data-table thead th.table-col-center,
body.admin-body .unified-data-table tbody td.table-col-center,
body.admin-body .unified-data-table thead th.datatable-action-column,
body.admin-body .unified-data-table tbody td.datatable-action-column{
    text-align:center!important;
}
body.admin-body .unified-data-table thead th.table-col-right,
body.admin-body .unified-data-table tbody td.table-col-right{
    text-align:right!important;
}
body.admin-body .unified-data-table .table-status-select{
    width:auto;
    min-width:130px;
    margin-left:auto;
    margin-right:auto;
}
body.admin-body .unified-data-table .table-empty-cell{
    text-align:center!important;
}

.public-member-table{
    width:100%;
    table-layout:auto;
    border-collapse:separate;
    border-spacing:0;
}
.public-member-table thead th,
.public-member-table tbody td{
    box-sizing:border-box;
    padding:.95rem 1rem;
    vertical-align:middle;
    text-align:left;
}
.public-member-table thead th.table-col-center,
.public-member-table tbody td.table-col-center{
    text-align:center!important;
}
.public-member-table thead th.table-col-right,
.public-member-table tbody td.table-col-right{
    text-align:right!important;
}


/* Halaman detail berita dan khotbah. */
.article-page-header{
    padding-top:3.5rem;
    padding-bottom:3.5rem;
}
.article-page-header h1{
    max-width:980px;
    margin-bottom:1rem;
}
.article-breadcrumb{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.55rem;
    font-size:.9rem;
}
.article-breadcrumb a{
    color:#ffc107;
    font-weight:700;
    text-decoration:none;
}
.article-breadcrumb span:last-child{
    max-width:680px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.article-detail-card{
    max-width:980px;
    overflow:hidden;
    background:#fff;
    border:1px solid #e8edf3;
    border-radius:24px;
    box-shadow:0 18px 55px rgba(11,23,42,.10);
}
.article-detail-image{
    display:block;
    width:100%;
    max-height:560px;
    object-fit:cover;
}
.article-detail-body{
    padding:clamp(1.4rem,4vw,3.25rem);
}
.article-detail-lead{
    margin-bottom:1.75rem;
    color:#334155;
    font-size:1.16rem;
    line-height:1.8;
    font-weight:600;
}
.article-detail-content{
    color:#334155;
    font-size:1.05rem;
    line-height:1.95;
    overflow-wrap:anywhere;
}
.article-detail-actions{
    margin-top:2.25rem;
    padding-top:1.5rem;
    border-top:1px solid #e8edf3;
}
.sermon-scripture-label{
    display:inline-flex;
    margin-bottom:1.25rem;
    padding:.5rem .85rem;
    border-radius:999px;
    background:#fff7db;
    color:#8a6200;
    font-weight:700;
}
@media(max-width:575px){
    .article-page-header{
        padding-top:2.5rem;
        padding-bottom:2.5rem;
    }
    .article-detail-card{
        border-radius:16px;
    }
    .article-breadcrumb span:last-child{
        max-width:230px;
    }
}

/* Navigasi mobile/tablet: menu tampil hanya setelah tombol hamburger ditekan. */
.church-navbar .mobile-menu-toggle{
    display:none;
    border-color:rgba(255,255,255,.62);
    color:#fff;
    align-items:center;
    gap:.45rem;
    padding:.48rem .7rem;
    font-weight:700;
    line-height:1;
}
.church-navbar .mobile-menu-toggle:focus{
    box-shadow:0 0 0 .2rem rgba(246,195,67,.3);
}
.church-navbar .mobile-menu-toggle-label{
    font-size:.88rem;
}
@media(max-width:991px){
    .church-navbar .container{
        flex-wrap:wrap;
        align-items:center!important;
    }
    .church-navbar .navbar-brand{
        flex:1 1 auto;
        max-width:calc(100% - 92px)!important;
    }
    .church-navbar .mobile-menu-toggle{
        display:inline-flex;
        margin-left:auto;
        flex:0 0 auto;
    }
    .church-navbar .navbar-menu{
        flex-basis:100%;
        width:100%;
        margin-top:.85rem;
        padding:.7rem 0 0;
        border-top:1px solid rgba(255,255,255,.18);
    }
    .church-navbar .navbar-menu:not(.show):not(.collapsing){
        display:none!important;
    }
    .church-navbar .navbar-menu.show,
    .church-navbar .navbar-menu.collapsing{
        display:block!important;
    }
    .church-navbar .navbar-nav{
        width:100%;
        padding:.2rem 0 .35rem;
    }
    .church-navbar .nav-item{
        width:100%;
    }
    .church-navbar .nav-link{
        display:block;
        width:100%;
        padding:.78rem .25rem!important;
        border-bottom:1px solid rgba(255,255,255,.1);
    }
    .church-navbar .nav-item:last-child .nav-link{
        border-bottom:0;
    }
    .church-navbar .nav-item .btn{
        display:block;
        width:100%;
        margin:.85rem 0 .2rem!important;
        padding:.72rem 1rem;
    }
}
@media(min-width:992px){
    .church-navbar .navbar-menu{
        display:flex!important;
    }
}

