/* Urantia Family Africa - styles */

body {
    font-family: 'Elms Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin: 0;
}

/* ===== Navbar brand ===== */

.navbar-brand {
    font-family: 'Boldonse', sans-serif;
}

.navbar-brand img {
    max-height: 8vh;
    width: auto;
}

/* ===== Nav links ===== */

.navbar-nav .nav-link {
    font-family: 'Stack Sans Headline', sans-serif;
    font-weight: 200;
    color: #000000;
}

.navbar-nav .nav-link.active {
    font-weight: 500;
}

/* Medium desktop widths get a deliberate two-row header: a simple logo above
   the full navigation. This avoids compressing labels into multiple lines. */
@media (min-width: 768px) and (max-width: 1399.98px) {
    .navbar.ufa-two-row-nav .container-fluid,
    .navbar .container-fluid {
        flex-wrap: wrap;
    }

    .navbar-brand {
        flex: 0 0 100%;
        width: 100%;
        margin: 0 0 10px;
        display: flex;
        justify-content: center;
    }

    .navbar-brand span {
        display: none;
    }

    .navbar-brand img {
        height: 68px;
        max-height: 68px;
    }

    .navbar-collapse {
        display: flex !important;
        flex: 1 1 100%;
        width: 100%;
        align-items: center;
        justify-content: space-between !important;
    }

    .navbar-nav {
        flex-wrap: nowrap;
    }

    .navbar-nav .nav-link {
        padding: .45rem .52rem;
        white-space: nowrap;
        font-size: .93rem;
    }

    .nav-actions {
        flex: 0 0 auto;
        margin-left: 12px;
    }

    .nav-actions .btn {
        white-space: nowrap;
        padding-inline: .8rem;
    }
}

@media (max-width: 767.98px) {
    .navbar .container-fluid { flex-wrap: wrap; }
    .navbar-brand { font-size: .95rem; }
    .navbar-brand img { max-height: 40px; }
    .navbar-collapse { padding-top: 14px; }
    .navbar-nav { width: 100%; align-items: stretch !important; }
    .navbar-nav .nav-link { padding: .65rem .2rem; border-bottom: 1px solid #edf0f4; }
    .nav-actions { padding-top: 14px; width: 100%; }
    .nav-actions .btn { flex: 1; }
}

/* ===== CTA buttons ===== */

.btn-cta {
    background-color: #0077ff;
    color: #ffffff;
    border: 2px solid #0077ff;
    padding: 0.5rem 1.25rem;
    border-radius: 4px;
    font-family: 'Stack Sans Headline', sans-serif;
    font-size: 0.95rem;
    font-weight: 200;
    text-decoration: none;
    min-width: 100px;
    text-align: center;
    transition: opacity 0.2s ease;
}

.btn-cta:hover {
    opacity: 0.9;
}

/* ===== Headings ===== */

h1, h2, h3, h4, h5, h6 {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
    font-weight: normal;
}

/* ===== Page layout ===== */

hr {
    margin: 1rem 0;
}

h1#headline {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
}

/* ===== Sub-navigation ===== */

ul.subnav {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 1.5rem 0;
    display: flex;
    gap: 1rem;
}

ul.subnav li a {
    font-family: 'Elms Sans', sans-serif;
    text-decoration: none;
    color: #0077ff;
}

ul.subnav li a:hover {
    text-decoration: underline;
}

/* ===== Edit link ===== */

#content p a[href*='edit'] {
    font-family: 'Elms Sans', sans-serif;
}

/* ===== Footer ===== */

.footer {
    font-family: 'Elms Sans', sans-serif;
    background-color: #0077ff !important;
}

.footer h5, .footer h6 {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
}

.footer a:hover {
    text-decoration: underline;
}

#subscribe-form .form-control {
    font-family: 'Elms Sans', sans-serif;
}

/* ===== Newsletter input focus ===== */

#subscribe-form .form-control:focus {
    border-color: #0077ff;
    box-shadow: 0 0 0 0.25rem rgba(7, 127, 255, 0.25);
}

/* ===== Subscribe button ===== */

.btn-subscribe {
    background-color: #ffffff;
    color: #000000;
    border: 2px solid #ffffff;
    padding: 0.5rem 1.25rem;
    border-radius: 4px;
    font-family: 'Stack Sans Headline', sans-serif;
    font-size: 0.95rem;
    font-weight: 200;
    cursor: pointer;
}

.btn-subscribe:hover {
    opacity: 0.9;
}

/* ===== Hero Banner ===== */

.hero-banner {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* ===== Welcome Section ===== */

.welcome-section {
    font-family: 'Elms Sans', sans-serif;
}

.welcome-section .lead {
    font-size: 1.25rem;
    line-height: 1.7;
}

.welcome-section p {
    line-height: 1.7;
}

.welcome-section .mission-block {
    border-left: 4px solid #0077ff;
}

.welcome-section h3 {
    font-family: 'Boldonse', sans-serif;
    font-size: 1.75rem;
}

.welcome-section .fst-italic {
    font-size: 1.1rem;
}

/* ===== Events Section ===== */

.events-section {
    font-family: 'Elms Sans', sans-serif;
}

.section-title {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
    font-size: 2rem;
}

/* Events Header */
.events-header {
    border-bottom: 1px solid #e9ecef;
}

.events-page-title {
    font-family: 'Boldonse', sans-serif;
    font-size: 2.5rem;
    color: #1a202c;
}

.events-page-description {
    font-size: 1.1rem;
    line-height: 1.6;
}

/* Event Cards */
.event-card {
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.event-image,
.event-img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
}

.event-image i {
    font-size: 4rem;
    opacity: 0.9;
}

.event-card .card-body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
}

.event-card .badge {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.35rem 0.75rem;
    border-radius: 4px;
}

.event-card .card-title {
    color: #1a202c;
    font-family: 'Boldonse', sans-serif;
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.event-details {
    border-top: 1px solid #e9ecef;
    border-bottom: 1px solid #e9ecef;
    padding: 1rem 0;
    margin: 1rem 0;
}

.event-details p {
    margin-bottom: 0.5rem;
}

.event-details i {
    width: 20px;
    text-align: center;
}

.event-activities {
    margin-bottom: 1rem;
}

.event-activities .badge {
    font-size: 0.85rem;
    padding: 0.4rem 0.8rem;
    border-radius: 6px;
}

.event-notes {
    padding: 0.75rem;
    background-color: #f8f9fa;
    border-radius: 6px;
    margin-bottom: 1rem;
}

/* ===== Registration Page ===== */

.registration-page {
    font-family: 'Elms Sans', sans-serif;
    min-height: calc(100vh - 200px);
}

.registration-page h1 {
    font-family: 'Boldonse', sans-serif;
    font-size: 2rem;
}

.registration-page .lead {
    font-size: 1.1rem;
    line-height: 1.6;
}

.registration-page .card-header {
    font-family: 'Boldonse', sans-serif;
    font-size: 1.25rem;
}

.registration-page .form-label {
    font-family: 'Stack Sans Headline', sans-serif;
    font-weight: 200;
}

.registration-page .btn-cta {
    font-size: 1rem;
    padding: 0.6rem 2rem;
}

.registration-page .alert-info {
    border-color: #0077ff;
    background-color: rgba(0, 119, 255, 0.1);
}

.registration-page .alert-info i {
    color: #0077ff;
}

.registration-page .text-decoration-none {
    transition: opacity 0.2s ease;
}

.registration-page .text-decoration-none:hover {
    opacity: 0.8;
}

.event-notes p {
    margin-bottom: 0.25rem;
}

.event-card .btn-cta {
    margin-top: auto;
    width: 100%;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
}

/* Event Card on Homepage */
.events-section .event-card {
    border-radius: 12px;
}

.events-section .event-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.events-section .event-card .card-body {
    padding: 1.5rem;
}

.events-section .event-card .badge {
    font-size: 0.8rem;
}

.events-section .event-card .card-title {
    color: #000;
    font-family: 'Boldonse', sans-serif;
}

.events-section .event-card .card-text.text-muted {
    font-size: 0.9rem;
}

.events-section .btn-cta {
    font-size: 0.85rem;
    padding: 0.4rem 1rem;
}

/* Responsive */
@media (max-width: 991.98px) {
    .event-image {
        min-height: 200px;
    }

    .event-card .card-title {
        font-size: 1.1rem;
    }
}

@media (max-width: 575.98px) {
    .events-page-title {
        font-size: 2rem;
    }

    .event-image {
        min-height: 180px;
    }

    .event-card .card-body {
        padding: 1.25rem;
    }

    .event-card .card-title {
        font-size: 1.1rem;
    }

    .event-details {
        padding: 0.75rem 0;
    }
}

/* ===== Minister of Christ Full-Page Map ===== */

#content.px-4 {
    padding: 0 !important;
}

.minister-map-container {
    width: 100%;
    height: calc(100vh - 120px);
    position: relative;
}

/* ===== Study Groups Directory ===== */

.study-groups-directory h1 {
    font-family: 'Boldonse', sans-serif;
    font-size: 2rem;
}

.study-groups-directory .lead {
    font-family: 'Elms Sans', sans-serif;
}

.study-group-card {
    border-radius: 8px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.study-group-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.study-group-card.featured {
    border-top: 3px solid #0077ff;
}

.study-group-card .card-title {
    font-family: 'Stack Sans Headline', sans-serif;
}

.study-group-card .badge {
    font-size: 0.7rem;
    vertical-align: middle;
}

.study-group-card ul li {
    font-family: 'Elms Sans', sans-serif;
}

/* ===== Book Hero (Two-panel) ===== */

.book-hero {
    background: linear-gradient(135deg, rgba(0, 119, 255, 0.7), rgba(0, 119, 255, 0.5));
    min-height: 70vh;
}

.book-hero h1.display-4 {
    font-family: 'Boldonse', sans-serif;
    font-size: 2.5rem;
}

.book-hero .lead {
    font-family: 'Elms Sans', sans-serif;
    font-size: 1.1rem;
    line-height: 1.6;
}

.book-hero .btn-cta {
    font-size: 1rem;
    padding: 0.5rem 1.5rem;
}

.book-hero-img {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

/* ===== Book Search Results ===== */

.search-results {
    max-width: 800px;
    margin: 0 auto 2rem;
    padding: 0 2rem;
}

.search-results h2 {
    font-family: 'Boldonse', sans-serif;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.search-results .card {
    border-radius: 8px;
    margin-bottom: 1rem;
}

.search-results .card-body {
    padding: 1.25rem;
}

.search-results .card-title {
    font-family: 'Boldonse', sans-serif;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.search-results .card-text {
    font-size: 0.9rem;
    line-height: 1.6;
}

/* ===== Responsive Mobile (General) ===== */

@media (max-width: 767.98px) {
    .hero-banner {
        height: 0;
        min-height: 0;
        padding-bottom: 46.04%;
        background-size: 100% auto;
        background-position: center top;
    }

    .hero-banner.hero-banner-2 {
        padding-bottom: 50%;
    }

    .hero-title {
        font-size: 2rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .hero-ctas .btn-cta {
        font-size: 0.9rem;
        padding: 0.6rem 1.5rem;
    }

    .book-hero-img {
        max-height: 300px;
    }

    .book-hero h1.display-4 {
        font-size: 2rem;
    }

    .book-hero .lead {
        font-size: 1rem;
    }

    .welcome-section .lead {
        font-size: 1.1rem;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .event-img {
        height: 150px;
        object-fit: contain;
        border-radius: 8px;
    }

    .event-card .card-body {
        padding: 1rem;
    }

    .navbar .nav-link {
        padding: 0.5rem 0;
    }

    .cta-buttons .btn-cta {
        font-size: 0.85rem;
        padding: 0.4rem 1rem;
    }
}

@media (max-width: 575.98px) {
    .hero-banner {
        height: 0;
        min-height: 0;
        padding-bottom: 46.04%;
        background-size: 100% auto;
        background-position: center top;
    }

    .hero-banner.hero-banner-2 {
        padding-bottom: 50%;
    }

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

    .hero-subtitle {
        font-size: 0.9rem;
    }

    .welcome-section .lead {
        font-size: 1rem;
    }

    .section-title {
        font-size: 1.25rem;
    }

    .event-img {
        height: 120px;
        object-fit: contain;
        border-radius: 8px;
    }

    .btn-cta {
        font-size: 0.85rem;
        padding: 0.4rem 1rem;
    }

    .footer h5, .footer h6 {
        font-size: 1rem;
    }
}

/* ===== Book Landing Page ===== */

.book-landing-page {
    background-color: #ffffff;
}

.book-landing-title {
    font-family: 'Boldonse', sans-serif;
    font-size: 3rem;
    font-weight: normal;
    color: #1a202c;
    margin-bottom: 1rem;
}

.book-landing-description {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #6c757d;
    margin-bottom: 2rem;
}

.book-landing-search {
    display: flex;
    gap: 0.5rem;
}

.book-landing-search input {
    flex: 1;
    padding: 0.6rem 1rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-size: 0.95rem;
}

.book-landing-search input:focus {
    outline: none;
    border-color: #0077ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 119, 255, 0.1);
}

.book-landing-search .btn {
    padding: 0.6rem 1.5rem;
    background-color: #0077ff;
    border-color: #0077ff;
}

.book-landing-search .btn:hover {
    background-color: #0066dd;
    border-color: #0066dd;
}

.book-landing-info {
    margin-top: 2rem;
}

.book-landing-cover {
    width: 100%;
    height: auto;
    max-height: 600px;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Table of Contents Landing */
.book-toc-landing {
    padding: 3rem 0;
    background-color: #f8f9fa;
}

.toc-section-landing {
    margin-bottom: 2.5rem;
}

.toc-section-landing-title {
    font-family: 'Boldonse', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    color: #1a202c;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #dee2e6;
}

.toc-paper-item {
    margin-bottom: 0.5rem;
}

.toc-paper-item a {
    font-size: 0.9rem;
    color: #495057;
    text-decoration: none;
    transition: color 0.2s;
    line-height: 1.5;
}

.toc-paper-item a:hover {
    color: #0077ff;
    text-decoration: none;
}

.paper-number {
    font-weight: 600;
    color: #0077ff;
    margin-right: 0.3rem;
}

@media (max-width: 767.98px) {
    .book-landing-title {
        font-size: 2.5rem;
    }

    .book-landing-description {
        font-size: 1rem;
    }

    .book-landing-cover {
        max-height: 400px;
    }

    .book-toc-landing {
        padding: 2rem 0;
    }
}

@media (max-width: 575.98px) {
    .book-landing-title {
        font-size: 2rem;
    }

    .book-landing-description {
        font-size: 0.95rem;
    }

    .book-landing-cover {
        max-height: 350px;
    }

    .book-landing-search {
        flex-direction: column;
    }

    .book-landing-search .btn {
        width: 100%;
    }

    .toc-section-landing-title {
        font-size: 1rem;
    }

    .toc-paper-item a {
        font-size: 0.85rem;
    }
}

/* ===== Book Reader (New Design) ===== */

.book-reader {
    background-color: #ffffff;
    min-height: calc(100vh - 80px);
    font-family: 'Elms Sans', sans-serif;
}

/* Sidebar */
.book-sidebar {
    background-color: #f8f9fa;
    border-right: 1px solid #e9ecef;
    height: calc(100vh - 80px);
    overflow-y: auto;
    position: sticky;
    top: 80px;
}

.book-sidebar-header {
    padding: 1.5rem;
    border-bottom: 1px solid #e9ecef;
}

.book-sidebar-header h6 {
    font-family: 'Boldonse', sans-serif;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    color: #6c757d;
    margin-bottom: 0.75rem;
}

.book-search {
    position: relative;
}

.book-search input {
    width: 100%;
    padding: 0.5rem 2.5rem 0.5rem 0.75rem;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-size: 0.85rem;
    background-color: #fff;
}

.book-search input:focus {
    outline: none;
    border-color: #0077ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 119, 255, 0.1);
}

.book-search-btn {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #6c757d;
    cursor: pointer;
    padding: 0.25rem;
}

.book-search-btn:hover {
    color: #0077ff;
}

/* Table of Contents */
.book-toc {
    padding: 1rem 0;
}

.toc-section {
    margin-bottom: 0.5rem;
}

.toc-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 1.5rem;
    cursor: pointer;
    transition: background-color 0.2s;
    user-select: none;
}

.toc-section-header:hover {
    background-color: rgba(0, 119, 255, 0.05);
}

.toc-section-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: #212529;
}

.toc-section-icon {
    width: 20px;
    height: 20px;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    color: white;
    flex-shrink: 0;
}

.toc-section-arrow {
    font-size: 0.7rem;
    color: #6c757d;
    transition: transform 0.2s;
}

.toc-section.collapsed .toc-section-arrow {
    transform: rotate(-90deg);
}

.toc-section-items {
    padding-left: 1.5rem;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.toc-section.collapsed .toc-section-items {
    max-height: 0;
}

.toc-item {
    padding: 0.35rem 1.5rem 0.35rem 2.5rem;
    font-size: 0.85rem;
    color: #495057;
    cursor: pointer;
    transition: all 0.2s;
    border-left: 2px solid transparent;
}

.toc-item:hover {
    background-color: rgba(0, 119, 255, 0.05);
    color: #0077ff;
}

.toc-item.active {
    background-color: rgba(0, 119, 255, 0.1);
    color: #0077ff;
    border-left-color: #0077ff;
    font-weight: 500;
}

/* Progress Indicator */
.book-progress {
    padding: 1.5rem;
    border-top: 1px solid #e9ecef;
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.progress-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #212529;
}

.progress-percent {
    font-size: 0.85rem;
    color: #6c757d;
}

.progress-path {
    font-size: 0.75rem;
    color: #6c757d;
}

/* Main Content Area */
.book-main {
    padding: 0;
}

/* Top Toolbar */
.book-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    border-bottom: 1px solid #e9ecef;
    background-color: #fff;
    position: sticky;
    top: 0;
    z-index: 10;
}

.toolbar-nav {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.toolbar-nav-btn {
    background: none;
    border: none;
    color: #0077ff;
    font-size: 0.9rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.6rem;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.toolbar-nav-btn:hover {
    background-color: rgba(0, 119, 255, 0.05);
}

.toolbar-nav-btn:disabled {
    color: #adb5bd;
    cursor: not-allowed;
}

.toolbar-section-select {
    font-size: 0.9rem;
    color: #495057;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.toolbar-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.toolbar-action-btn {
    background: none;
    border: none;
    color: #6c757d;
    font-size: 1rem;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.toolbar-action-btn:hover {
    background-color: #f8f9fa;
    color: #0077ff;
}

.toolbar-action-btn.active {
    color: #0077ff;
}

.font-size-controls {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-right: 0.5rem;
}

.font-size-btn {
    background: none;
    border: 1px solid #dee2e6;
    color: #495057;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.2s;
}

.font-size-btn:hover {
    background-color: #f8f9fa;
    border-color: #0077ff;
    color: #0077ff;
}

/* Book Content */
.book-content-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 3rem 2rem;
}

.book-title {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
    font-size: 2.5rem;
    font-weight: normal;
    color: #1a202c;
    margin-bottom: 2rem;
    text-align: center;
}

.book-info-box {
    background-color: #fef9f3;
    border: 1px solid #f0e6d3;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.book-info-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.book-info-logo {
    width: 40px;
    height: 40px;
    border: 2px solid #d4a574;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #d4a574;
    font-weight: bold;
    font-size: 1.2rem;
}

.book-info-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a202c;
    margin: 0;
}

.book-info-subtitle {
    font-size: 0.75rem;
    color: #6c757d;
    margin: 0;
}

.book-isbn-list {
    list-style: none;
    padding: 0;
    margin: 1rem 0;
}

.book-isbn-list li {
    font-size: 0.9rem;
    color: #495057;
    margin-bottom: 0.4rem;
    font-family: 'Elms Sans', sans-serif;
}

.book-info-text {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #495057;
    margin-bottom: 1rem;
}

.book-info-text:last-child {
    margin-bottom: 0;
}

.book-info-contact {
    font-size: 0.9rem;
    line-height: 1.8;
    color: #495057;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #f0e6d3;
}

.book-info-contact a {
    color: #0077ff;
    text-decoration: none;
}

.book-info-contact a:hover {
    text-decoration: underline;
}

/* Book Body Text */
.book-body {
    font-family: 'Elms Sans', sans-serif;
    font-size: 1.05rem;
    line-height: 1.9;
    color: #2d3748;
}

.book-body p {
    margin-bottom: 1.25rem;
    text-align: left;
}

.book-body h2 {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
    font-size: 1.75rem;
    font-weight: normal;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: #1a202c;
}

.book-body h3 {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
    font-size: 1.35rem;
    font-weight: normal;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    color: #1a202c;
}

.book-body em {
    font-style: italic;
}

.book-body strong {
    font-weight: 600;
}

/* Book Navigation at Bottom */
.book-bottom-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem;
    border-top: 1px solid #e9ecef;
    margin-top: 3rem;
}

.book-bottom-nav .btn-cta {
    min-width: auto;
}

/* Responsive */
@media (max-width: 991.98px) {
    .book-sidebar {
        position: fixed;
        left: -300px;
        top: 80px;
        width: 300px;
        height: calc(100vh - 80px);
        z-index: 1000;
        transition: left 0.3s ease;
        box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);
    }

    .book-sidebar.open {
        left: 0;
    }

    .book-sidebar-overlay {
        display: none;
        position: fixed;
        top: 80px;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.3);
        z-index: 999;
    }

    .book-sidebar-overlay.open {
        display: block;
    }

    .mobile-sidebar-toggle {
        display: flex !important;
    }

    .book-content-wrapper {
        padding: 2rem 1.5rem;
    }

    .book-title {
        font-size: 2rem;
    }
}

@media (min-width: 992px) {
    .book-sidebar-overlay,
    .mobile-sidebar-toggle {
        display: none !important;
    }
}

@media (max-width: 575.98px) {
    .book-toolbar {
        padding: 0.75rem 1rem;
    }

    .book-content-wrapper {
        padding: 1.5rem 1rem;
    }

    .book-title {
        font-size: 1.75rem;
    }

    .book-info-box {
        padding: 1rem;
    }

    .book-bottom-nav {
        padding: 1.5rem 1rem;
    }

    .toolbar-nav {
        gap: 1rem;
    }
}

/* ===== Dark Mode ===== */

body.book-dark-mode {
    background-color: #1a202c;
    color: #e2e8f0;
}

body.book-dark-mode .book-reader {
    background-color: #1a202c;
}

body.book-dark-mode .book-sidebar {
    background-color: #2d3748;
    border-right-color: #4a5568;
}

body.book-dark-mode .book-sidebar-header {
    border-bottom-color: #4a5568;
}

body.book-dark-mode .book-sidebar-header h6 {
    color: #a0aec0;
}

body.book-dark-mode .book-search input {
    background-color: #1a202c;
    border-color: #4a5568;
    color: #e2e8f0;
}

body.book-dark-mode .book-search input::placeholder {
    color: #718096;
}

body.book-dark-mode .book-search input:focus {
    border-color: #0077ff;
    box-shadow: 0 0 0 0.2rem rgba(0, 119, 255, 0.2);
}

body.book-dark-mode .book-search-btn {
    color: #a0aec0;
}

body.book-dark-mode .book-search-btn:hover {
    color: #0077ff;
}

body.book-dark-mode .toc-section-header {
    color: #e2e8f0;
}

body.book-dark-mode .toc-section-header:hover {
    background-color: rgba(0, 119, 255, 0.1);
}

body.book-dark-mode .toc-section-title {
    color: #e2e8f0;
}

body.book-dark-mode .toc-section-arrow {
    color: #a0aec0;
}

body.book-dark-mode .toc-item {
    color: #cbd5e0;
}

body.book-dark-mode .toc-item:hover {
    background-color: rgba(0, 119, 255, 0.1);
    color: #0077ff;
}

body.book-dark-mode .toc-item.active {
    background-color: rgba(0, 119, 255, 0.2);
    color: #0077ff;
    border-left-color: #0077ff;
}

body.book-dark-mode .book-progress {
    border-top-color: #4a5568;
}

body.book-dark-mode .progress-title {
    color: #e2e8f0;
}

body.book-dark-mode .progress-percent,
body.book-dark-mode .progress-path {
    color: #a0aec0;
}

body.book-dark-mode .book-toolbar {
    background-color: #2d3748;
    border-bottom-color: #4a5568;
}

body.book-dark-mode .toolbar-nav-btn {
    color: #0077ff;
}

body.book-dark-mode .toolbar-nav-btn:hover {
    background-color: rgba(0, 119, 255, 0.1);
}

body.book-dark-mode .toolbar-section-select {
    color: #e2e8f0;
}

body.book-dark-mode .toolbar-action-btn {
    color: #a0aec0;
}

body.book-dark-mode .toolbar-action-btn:hover {
    background-color: #4a5568;
    color: #0077ff;
}

body.book-dark-mode .toolbar-action-btn.active {
    color: #0077ff;
}

body.book-dark-mode .font-size-btn {
    background-color: #2d3748;
    border-color: #4a5568;
    color: #cbd5e0;
}

body.book-dark-mode .font-size-btn:hover {
    background-color: #4a5568;
    border-color: #0077ff;
    color: #0077ff;
}

body.book-dark-mode .book-content-wrapper {
    background-color: #1a202c;
}

body.book-dark-mode .book-title {
    color: #e2e8f0;
}

body.book-dark-mode .book-info-box {
    background-color: #2d3748;
    border-color: #4a5568;
}

body.book-dark-mode .book-info-title {
    color: #e2e8f0;
}

body.book-dark-mode .book-info-subtitle {
    color: #a0aec0;
}

body.book-dark-mode .book-isbn-list li {
    color: #cbd5e0;
}

body.book-dark-mode .book-info-text {
    color: #cbd5e0;
}

body.book-dark-mode .book-info-contact {
    color: #cbd5e0;
    border-top-color: #4a5568;
}

body.book-dark-mode .book-info-contact a {
    color: #0077ff;
}

body.book-dark-mode .book-body {
    color: #e2e8f0;
}

body.book-dark-mode .book-body p {
    color: #cbd5e0;
}

body.book-dark-mode .book-body h2,
body.book-dark-mode .book-body h3 {
    color: #e2e8f0;
}

body.book-dark-mode .book-content {
    background-color: #2d3748;
}

body.book-dark-mode .book-bottom-nav {
    border-top-color: #4a5568;
}

body.book-dark-mode .search-results h2 {
    color: #e2e8f0;
}

body.book-dark-mode .search-results .card {
    background-color: #2d3748;
}

body.book-dark-mode .search-results .card-title {
    color: #e2e8f0;
}

body.book-dark-mode .book-sidebar-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

/* ===== Urantia Book: plain reading index ===== */
/* Kept deliberately separate from the visual styles used by the rest of site. */
#content.urantia-book {
    display: block;
    max-width: none;
    margin: 0;
    padding: 0 20px 32px !important;
    color: #1f3558;
    background: #fff;
    font-family: 'Elms Sans', Arial, sans-serif;
}

/* Individual papers read best as a quiet, centered page rather than full-width text. */
#content.urantia-book.is-reader {
    padding: 32px max(20px, calc((100% - 1440px) / 2)) 48px !important;
    background: #f3f3f3;
}

body:has(#content.urantia-book.is-reader),
body:has(#content.urantia-book.is-contents) {
    background: #f3f3f3;
}

/* The landing hero and complete contents share the same centered page frame. */
#content.urantia-book.is-contents {
    width: min(1440px, calc(100% - 40px));
    margin: 32px auto 48px;
    padding: 0 32px 42px !important;
    background: #fff;
    box-shadow: 0 0 3px rgba(20, 42, 75, 0.12);
}

.urantia-book.is-reader .reader-shell {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 34px 32px 48px;
    background: #fff;
    box-shadow: 0 0 3px rgba(20, 42, 75, 0.12);
}

.urantia-book .book-landing-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
    align-items: center;
    gap: clamp(32px, 7vw, 112px);
    min-height: 500px;
    padding: 42px 5% 36px 12px;
    background: #fff;
}

.urantia-book .book-landing-copy {
    max-width: 590px;
}

.urantia-book .book-landing-eyebrow {
    margin: 0 0 14px;
    color: #5b6e8a;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.urantia-book .book-landing-hero h1 {
    margin: 0 0 20px;
    color: #12366f;
    font-family: 'Elms Sans', Arial, sans-serif;
    font-size: clamp(44px, 5vw, 76px);
    font-weight: 400;
    letter-spacing: -0.035em;
    line-height: 1.04;
}

.urantia-book .book-landing-copy > p:last-child {
    margin: 0;
    color: #3b557b;
    font-size: clamp(18px, 1.65vw, 23px);
    line-height: 1.5;
}

.urantia-book .book-landing-image {
    justify-self: end;
    width: min(100%, 620px);
}

.urantia-book .book-landing-image img {
    width: 100%;
    max-height: 550px;
    object-fit: cover;
    object-position: center;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 18px 45px rgba(21, 53, 103, 0.11);
}

.urantia-book .book-search {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 200px 82px;
    gap: 16px;
    margin: 0 0 8px;
}

.urantia-book .book-search input,
.urantia-book .book-search select,
.urantia-book .book-search button {
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid #d7dce2;
    border-radius: 4px;
    font: inherit;
}

.urantia-book .book-search input {
    font-size: 16px;
    color: #27364e;
}

.urantia-book .book-search button {
    background: #2f3650;
    border-color: #2f3650;
    color: #fff;
    font-weight: 500;
}

.urantia-book .book-search-note {
    margin: 0 0 18px;
    color: #65758a;
    font-size: 13px;
}

.urantia-book .book-live-results:empty { display: none; }

.urantia-book .book-live-results .book-results {
    margin-top: 18px;
}

.urantia-book.is-live-searching .book-landing-hero,
.urantia-book.is-live-searching .book-contents {
    display: none;
}

.urantia-book .book-live-results.is-loading::before {
    content: 'Searching the book…';
    display: block;
    margin: 18px 0;
    color: #65758a;
    font-size: 15px;
}

.urantia-book .toc-group-box {
    margin: 0 0 32px;
    border: 1px solid #dfe3e8;
    background: #fff;
}

.urantia-book .toc-group-head {
    padding: 12px 16px;
    border: 0;
    border-bottom: 1px solid #eceff2;
    background: #f3f3f3;
}

.urantia-book .toc-group-head h2,
.urantia-book .section-head h2 {
    margin: 0;
    color: #1f3558;
    font-family: 'Elms Sans', Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.urantia-book .toc-grid,
.urantia-book .results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.urantia-book .toc-column {
    padding: 16px;
}

.urantia-book .toc-item-link,
.urantia-book .result-link,
.urantia-book .section-links a,
.urantia-book .reader-nav a {
    color: #007ebf;
    text-decoration: none;
}

.urantia-book .toc-item-link:hover,
.urantia-book .result-link:hover,
.urantia-book .section-links a:hover,
.urantia-book .reader-nav a:hover {
    color: #005f92;
    text-decoration: underline;
}

.urantia-book .toc-item-link {
    display: block;
    margin: 0 0 12px;
    font-size: 16px;
    line-height: 1.35;
}

.urantia-book .book-results,
.urantia-book .reader-shell {
    padding: 18px 12px;
    border: 0;
    background: #fff;
}

.urantia-book .section-head h2 {
    padding: 12px 16px;
    border: 1px solid #dfe3e8;
    background: #f3f3f3;
}

.urantia-book .section-links,
.urantia-book .reader-nav {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0;
    font-size: 16px;
}

.urantia-book .reader-shell .book-titlebar h1 {
    margin: 0 0 20px;
    color: #1f3558;
    font-family: 'Elms Sans', Arial, sans-serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}

.urantia-book .reader-meta { display: none; }

.urantia-book .reader-body {
    max-width: none;
    margin: 28px 0 0;
    color: #202d44;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 17px;
    line-height: 1.8;
}

.urantia-book .reader-body h1,
.urantia-book .reader-body h2,
.urantia-book .reader-body h3 {
    color: #0067d6;
    font-family: 'Elms Sans', Arial, sans-serif;
    text-align: center;
}

.urantia-book .reader-body p { margin: 0 0 20px; }

@media (max-width: 760px) {
    #content.urantia-book { padding: 0 12px 24px !important; }
    #content.urantia-book.is-reader { padding: 12px !important; }
    #content.urantia-book.is-contents {
        width: 100%;
        margin: 0;
        padding: 0 12px 24px !important;
        box-shadow: none;
    }
    .urantia-book.is-reader .reader-shell { padding: 24px 18px 32px; }
    .urantia-book .book-landing-hero {
        grid-template-columns: 1fr;
        gap: 28px;
        min-height: 0;
        padding: 28px 8px;
    }
    .urantia-book .book-landing-image {
        justify-self: stretch;
        width: 100%;
    }
    .urantia-book .book-landing-image img { max-height: 430px; }
    .urantia-book .book-search,
    .urantia-book .toc-grid,
    .urantia-book .results-grid { grid-template-columns: 1fr; }
    .urantia-book .toc-column { padding: 14px; }
    .urantia-book .reader-shell .book-titlebar h1 { font-size: 25px; }
}

/* ===== About Us ===== */
#content.about-page { display: block; margin: 0; padding: 0 0 64px !important; background: #f3f3f3; color: #1f3558; font-family: 'Elms Sans', Arial, sans-serif; }
.about-hero { width: 100%; aspect-ratio: 1536 / 740; background-color: #f3f3f3; background-position: center; background-repeat: no-repeat; background-size: contain; }
.about-frame { width: min(1160px, calc(100% - 40px)); margin: 0 auto; padding: clamp(38px, 7vw, 84px); background: #fff; box-shadow: 0 0 3px rgba(20,42,75,.12); }
.about-intro { max-width: 780px; }
.about-kicker { margin: 0 0 9px; color: #007ebf; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.about-intro h1, .about-split h2, .about-vision h2, .about-belief h2, .about-section h2, .about-welcome h2 { margin: 0 0 18px; font-size: clamp(30px, 4vw, 50px); font-weight: 500; letter-spacing: -.035em; line-height: 1.12; }
.about-intro > p:not(.about-kicker), .about-vision > p:not(.about-kicker), .about-belief > p:not(.about-kicker), .about-welcome p:not(.about-kicker) { color: #405675; font-size: 18px; line-height: 1.65; }
.about-split, .about-vision, .about-belief, .about-section, .about-welcome { margin-top: clamp(50px, 8vw, 100px); }
.about-split { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; padding: 42px 0; border-block: 1px solid #dfe3e8; }
.about-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; color: #405675; line-height: 1.45; }
.about-list li { padding-left: 24px; position: relative; }.about-list li::before { content: '•'; position: absolute; left: 5px; color: #007ebf; font-weight: 800; }
.about-vision, .about-belief { max-width: 800px; }.about-belief { margin-left: auto; }
.about-card-grid, .about-values { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 28px; }
.about-card-grid article, .about-values article { padding: 23px; border: 1px solid #dfe3e8; background: #fafbfc; }.about-card-grid h3, .about-values h3 { margin: 0 0 10px; font-size: 19px; }.about-card-grid p, .about-values p { margin: 0; color: #52667f; font-size: 15px; line-height: 1.5; }
.about-welcome { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; padding: clamp(30px, 5vw, 60px); background: #f1f7fb; }
.about-africa { min-height: 215px; display: grid; align-content: center; gap: 15px; padding: 28px; background: #12366f; color: #fff; clip-path: polygon(23% 0, 79% 9%, 100% 43%, 74% 100%, 21% 86%, 0 40%); text-align: center; }.about-africa span { font-family: Georgia, serif; font-size: 44px; }.about-africa small { line-height: 1.45; }
.about-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }.about-actions a { padding: 12px 17px; background: #2f3650; color: #fff; text-decoration: none; font-weight: 600; }.about-actions a + a { background: #fff; border: 1px solid #2f3650; color: #2f3650; }
.about-frame .about-closing-image { width: min(100%, 960px); max-width: 100%; margin: 48px auto 0; padding: 0; overflow: hidden; box-sizing: border-box; }.about-frame .about-closing-image img { display: block; width: 100%; max-width: 100%; height: auto; max-height: 640px; object-fit: cover; object-position: center; }
@media (max-width: 760px) { #content.about-page { padding-bottom: 0 !important; }.about-frame { width: 100%; padding: 35px 20px 45px; box-shadow: none; }.about-split, .about-welcome, .about-card-grid, .about-values { grid-template-columns: 1fr; }.about-split { gap: 20px; }.about-africa { max-width: 330px; width: 100%; margin: auto; } }

/* Compact About page layout */
.about-hero { width: min(1460px, calc(100% - 32px)); aspect-ratio: 1536 / 740; margin: 18px auto 0; }
.about-frame { width: min(1280px, calc(100% - 40px)); margin-top: 0; padding: 58px 44px; box-shadow: none; }
.about-overview-grid, .about-belief-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.about-panel { max-width: none; margin: 0; padding: 24px; background: #f5f8f6; }
.about-intro h1, .about-split h2, .about-vision h2, .about-belief h2, .about-section h2, .about-welcome h2 { margin-bottom: 10px; font-size: 24px; letter-spacing: -.02em; }
.about-intro > p:not(.about-kicker), .about-vision > p:not(.about-kicker), .about-belief > p:not(.about-kicker), .about-welcome p:not(.about-kicker) { margin: 0 0 10px; font-size: 14px; line-height: 1.55; }
.about-split { display: block; border: 0; }.about-list { gap: 7px; font-size: 14px; }.about-list li { padding-left: 17px; }.about-list li::before { left: 3px; }
.about-card-grid, .about-values { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; margin-top: 18px; }.about-card-grid article, .about-values article { padding: 14px 10px; border-left: 0; text-align: center; background: #fff; }.about-card-grid h3, .about-values h3 { font-size: 14px; }.about-card-grid p, .about-values p { font-size: 11px; }
.about-section { margin-top: 45px; text-align: center; }.about-section h2 { font-size: 20px; }.about-values { margin-top: 0; }
.about-welcome { margin-top: 42px; display: block; padding: 24px; text-align: left; }.about-welcome h2 { font-size: 20px; }
.about-actions { justify-content: center; margin-top: 20px; }.about-actions a { font-size: 14px; }
@media (max-width: 760px) { .about-hero { width: 100%; margin: 0; }.about-frame { width: 100%; padding: 30px 18px; }.about-overview-grid, .about-belief-grid, .about-card-grid, .about-values { grid-template-columns: 1fr; }.about-panel { padding: 20px; }.about-card-grid article, .about-values article { border-left: 1px solid #dfe3e8; text-align: left; }.about-welcome { grid-template-columns: 1fr; } }

/* ===== Study Groups Directory ===== */
#content.study-groups-page { min-height: 70vh; padding: 32px 20px 48px !important; background: #f3f3f3; color: #102f64; font-family: 'Elms Sans', Arial, sans-serif; }
.study-groups-frame { width: min(1440px, 100%); margin: 0 auto; padding: 32px; background: #fff; box-shadow: 0 0 3px rgba(20,42,75,.12); }
.study-groups-header { padding-bottom: 20px; border-bottom: 1px solid #dfe3e8; }.study-groups-header h1 { margin: 0 0 20px; font-size: 32px; font-weight: 500; }.study-groups-search { display: block; width: min(430px, 100%); }.study-groups-search input { width: 100%; padding: 11px 14px; border: 1px solid #ccd7e3; border-radius: 4px; color: #102f64; font: inherit; }.study-groups-search input:focus { outline: 0; border-color: #0870c9; box-shadow: 0 0 0 3px rgba(8,112,201,.12); }
.study-groups-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; width: min(1150px, 100%); margin: 48px auto 0; }
.study-group-card { min-height: 338px; padding: 23px; border: 1px solid #dbe4ef; border-radius: 14px; background: #fff; box-shadow: 0 10px 24px rgba(26,73,125,.045); }
.study-group-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(26,73,125,.11); }.study-group-card header { display: flex; justify-content: space-between; gap: 12px; align-items: start; padding-bottom: 14px; border-bottom: 1px solid #e6ebf1; }.study-group-card h2 { margin: 0; color: #102f64; font-size: 19px; font-weight: 700; line-height: 1.3; }.study-group-card header span { flex: 0 0 auto; color: #0870c9; font-size: 13px; font-weight: 700; white-space: nowrap; }
.study-group-card dl { display: grid; gap: 11px; margin: 18px 0 0; }.study-group-card dl div { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 11px; }.study-group-card dt { color: #102f64; font-size: 13px; font-weight: 700; }.study-group-card dd { margin: 0; color: #647ca2; font-size: 14px; line-height: 1.4; overflow-wrap: anywhere; }.study-group-card .study-type { color: #0568bd; font-weight: 700; }.study-group-card.featured { border-top: 3px solid #0870c9; }
.study-group-card dd a { color: #0870c9; text-decoration: none; }.study-group-card dd a:hover { color: #005f92; text-decoration: underline; }
@media (max-width: 980px) { .study-groups-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } } @media (max-width: 640px) { #content.study-groups-page { padding: 0 !important; }.study-groups-frame { padding: 25px 18px 35px; box-shadow: none; }.study-groups-grid { grid-template-columns: 1fr; margin-top: 28px; }.study-group-card { min-height: 0; }.study-groups-header h1 { font-size: 28px; } }

/* ===== Contact page ===== */
#content.donate-page { padding: 0 0 64px !important; background: #f3f3f3; color: #1f3558; }
.donate-frame { width: min(980px, calc(100% - 40px)); margin: 48px auto 0; padding: clamp(34px, 6vw, 72px); background: #fff; box-shadow: 0 0 3px rgba(20,42,75,.12); text-align: center; }
.donate-kicker { margin: 0 0 10px; color: #007ebf; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.donate-frame h1 { margin: 0; font-size: clamp(36px, 5vw, 58px); font-weight: 500; letter-spacing: -.035em; }
.donate-intro { max-width: 650px; margin: 18px auto 0; color: #52667f; font-size: 18px; line-height: 1.65; }
.donate-card { max-width: 620px; margin: 38px auto 0; padding: 34px; border: 1px solid #dce5ee; background: #f7fbff; }
.donate-card h2 { margin: 0 0 12px; font-size: 25px; }.donate-card p { margin: 0 auto 24px; max-width: 470px; color: #52667f; line-height: 1.6; }
.paypal-donate-form { margin: 0; }.paypal-donate-button { display: inline-flex; align-items: center; justify-content: center; min-width: 230px; padding: 14px 22px; border: 0; border-radius: 4px; background: #0070ba; color: #fff; font: 700 17px/1 Arial, sans-serif; cursor: pointer; }.paypal-donate-button:hover { background: #005ea6; }.paypal-donate-button span { margin-left: 6px; color: #d6f0ff; font-weight: 400; }.donate-note { margin-top: 20px !important; font-size: 13px; }
@media (max-width: 760px) { #content.donate-page { padding-bottom: 0 !important; }.donate-frame { width: 100%; margin-top: 0; box-shadow: none; }.donate-card { padding: 26px 18px; } }

#content.contact-page {
    padding: 32px 20px 48px !important;
    background: #f3f3f3;
    color: #1f3558;
    font-family: 'Elms Sans', Arial, sans-serif;
}

.contact-frame {
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: clamp(30px, 5vw, 64px);
    background: #fff;
    box-shadow: 0 0 3px rgba(20, 42, 75, .12);
}

.contact-header { max-width: 650px; margin-bottom: 40px; }
.contact-kicker,
.contact-label { margin: 0 0 9px; color: #007ebf; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-header h1 { margin: 0 0 12px; font-size: clamp(35px, 4vw, 52px); font-weight: 500; letter-spacing: -.03em; }
.contact-header > p:last-child { margin: 0; color: #52667f; font-size: 18px; }

.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-card { display: grid; align-content: start; gap: 13px; min-height: 270px; padding: 28px; border: 1px solid #dfe3e8; background: #fafbfc; }
.contact-card h2 { margin: 0; color: #1f3558; font-size: 23px; font-weight: 600; line-height: 1.25; }
.contact-card h2 span { font-weight: 400; }
.contact-role { margin: -6px 0 0; color: #64768c; }
.contact-card address { margin: 4px 0; color: #405675; font-style: normal; line-height: 1.6; }
.contact-email,
.contact-phone { color: #007ebf; text-decoration: none; overflow-wrap: anywhere; }
.contact-email:hover,
.contact-phone:hover { color: #005f92; text-decoration: underline; }

.ubuntu-quote { max-width: 810px; margin: 48px auto; padding: 0 0 0 25px; border-left: 3px solid #82b6d9; color: #314764; }
.ubuntu-quote p { margin: 0 0 14px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(20px, 2.1vw, 27px); font-style: italic; line-height: 1.45; }
.ubuntu-quote footer { color: #5c6f87; font-size: 14px; }

.contact-links { padding-top: 28px; border-top: 1px solid #dfe3e8; }
.contact-links h2 { margin: 0 0 18px; font-size: 24px; font-weight: 600; }
.contact-links > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid #e1e6eb; background: #e1e6eb; }
.contact-links a { display: flex; justify-content: space-between; gap: 12px; padding: 15px 16px; background: #fff; color: #1677ad; text-decoration: none; overflow-wrap: anywhere; }
.contact-links a:hover { background: #f2f8fc; color: #005f92; }

@media (max-width: 760px) {
    #content.contact-page { padding: 0 !important; }
    .contact-frame { padding: 30px 20px 38px; box-shadow: none; }
    .contact-grid,
    .contact-links > div { grid-template-columns: 1fr; }
    .contact-card { min-height: 0; }
}

/* ===== The Words Of Christ ===== */
#content.words-of-christ-page {
    min-height: 70vh;
    padding: 0 !important;
    background: #fff;
}
.words-of-christ-frame {
    width: 100%;
    margin: 0 auto;
    background: #fff;
}
.bandcamp-full-page { width: 100%; overflow: hidden; border: 1px solid #dbe4ed; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(20, 42, 75, .08); }
.bandcamp-full-page iframe { display: block; width: 100%; height: 1000px; border: 0; }
@media (max-width: 760px) {
    #content.words-of-christ-page { padding: 0 !important; }
    .bandcamp-full-page iframe { height: 900px; }
}

/* The Words Of Christ landing page */
#content.words-of-christ-hub { padding: 0 !important; background: #f3f3f3; }
.words-hub-hero { position: relative; min-height: 360px; display: grid; place-items: center; padding: 56px 24px; color: #fff; text-align: center; background: linear-gradient(90deg, rgba(7, 28, 64, .9), rgba(7, 28, 64, .5)), url('/site/assets/files/hero.jpg') center 42% / cover no-repeat; }
.words-hub-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(1, 16, 42, .52)); }
.words-hub-hero-content { position: relative; z-index: 1; max-width: 800px; }.words-hub-kicker { margin: 0 0 8px; color: #1cc1ff; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.words-hub-hero h1 { margin: 0; color: #fff; font-size: clamp(38px, 6vw, 70px); line-height: 1.08; }.words-hub-hero p:last-child { max-width: 620px; margin: 18px auto 0; color: #fff; font-size: 19px; font-weight: 600; }
.words-hub-frame { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 62px 0 74px; }.words-hub-intro { max-width: 710px; margin: 0 auto 34px; text-align: center; }.words-hub-intro h2 { margin: 0 0 12px; color: #1f3558; font-size: clamp(28px, 3.5vw, 42px); }.words-hub-intro > p:last-child { margin: 0; color: #52667f; font-size: 17px; }
.words-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; max-width: 980px; margin: 0 auto; }.words-choice-card { display: block; overflow: hidden; border: 8px solid #e8e4d8; background: #fff; box-shadow: 0 14px 28px rgba(21, 38, 65, .14); color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }.words-choice-card:hover { transform: translateY(-6px); box-shadow: 0 22px 34px rgba(21, 38, 65, .2); color: inherit; }.words-card-art { position: relative; min-height: 350px; overflow: hidden; background: #102a59; }.words-card-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(2, 14, 37, .48)); }.words-card-art img { display: block; width: 100%; height: 350px; object-fit: cover; }.words-choice-video .words-card-art { background: #fff; }.words-choice-video .words-card-art img { object-fit: contain; background: #fff; }.words-card-icon { position: absolute; right: 20px; bottom: 18px; z-index: 1; width: 54px; height: 54px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; color: #fff; background: rgba(4, 30, 76, .72); font-size: 25px; }.words-card-copy { padding: 25px 28px 28px; }.words-card-label { margin: 0 0 8px; color: #007ebf; font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }.words-card-copy h3 { margin: 0 0 10px; color: #1f3558; font-size: 26px; }.words-card-copy > p:not(.words-card-label) { min-height: 52px; margin: 0 0 17px; color: #52667f; font-size: 16px; }.words-card-copy > span { color: #0878ba; font-size: 16px; font-weight: 700; }.words-card-copy b { margin-left: 5px; font-size: 20px; }
@media (max-width: 760px) { .words-hub-hero { min-height: 285px; padding: 46px 20px; background-position: center; }.words-hub-hero p:last-child { font-size: 16px; }.words-hub-frame { width: 100%; padding: 42px 18px 50px; }.words-hub-intro { margin-bottom: 26px; }.words-hub-intro > p:last-child { font-size: 16px; }.words-choice-grid { grid-template-columns: 1fr; gap: 24px; }.words-card-art { min-height: 300px; }.words-card-copy { padding: 22px; }.words-card-copy h3 { font-size: 24px; }.words-card-copy > p:not(.words-card-label) { min-height: 0; } }

/* ===== Events and registration ===== */
#content.events-page {
    min-height: 70vh;
    padding: 32px 20px 48px !important;
    background: #f3f3f3;
    color: #1f3558;
    font-family: 'Elms Sans', Arial, sans-serif;
}

.events-frame {
    width: min(1440px, 100%);
    min-height: 650px;
    margin: 0 auto;
    padding: 32px;
    background: #fff;
    box-shadow: 0 0 3px rgba(20, 42, 75, 0.12);
}

.events-loop-header {
    padding-bottom: 20px;
    border-bottom: 1px solid #dfe3e8;
}

.events-loop-header h1,
.event-registration-panel h1,
.event-confirmation h1 {
    margin: 0;
    color: #1f3558;
    font-family: 'Elms Sans', Arial, sans-serif;
    font-size: 31px;
    font-weight: 600;
    line-height: 1.2;
}

.event-loop-item {
    display: grid;
    grid-template-columns: 185px minmax(0, 1fr);
    gap: 26px;
    max-width: 1280px;
    padding: 32px 16px 0;
}

.event-loop-flyer { display: block; width: 100%; }
.event-loop-flyer img { display: block; width: 100%; max-height: 260px; object-fit: contain; object-position: top; border-radius: 6px; box-shadow: 0 8px 20px rgba(20, 42, 75, .13); }
.event-loop-flyer:hover img { opacity: .9; }

.event-loop-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #dbe7f4;
    color: #1d5f9d;
    font-size: 11px;
    font-weight: 800;
}

.event-loop-content h2 {
    margin: 0 0 5px;
    font-size: 19px;
    font-weight: 600;
}

.event-loop-content h2 a,
.event-loop-register { color: #007ebf; text-decoration: none; }
.event-loop-content h2 a:hover,
.event-loop-register:hover { color: #005f92; text-decoration: underline; }

.event-loop-byline,
.event-loop-meta {
    margin: 0 0 7px;
    color: #728095;
    font-size: 13px;
}

.event-loop-meta { color: #2670a8; font-size: 15px; }
.event-loop-summary { margin: 0 0 12px; color: #2d3f59; font-size: 16px; line-height: 1.5; }
.event-loop-register { font-size: 15px; font-weight: 600; }

.event-registration-layout {
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: start;
}

.event-flyer-wrap { position: sticky; top: 24px; }
.event-flyer-wrap > a:first-child { display: block; }
.event-flyer-wrap img { width: 100%; max-height: 760px; object-fit: contain; object-position: top; border-radius: 8px; box-shadow: 0 12px 32px rgba(20, 42, 75, .15); }
.event-flyer-register { display: block; margin-top: 14px; padding: 12px 14px; background: #2f3650; color: #fff; font-size: 15px; font-weight: 600; text-align: center; text-decoration: none; }.event-flyer-register:hover { background: #1f3558; color: #fff; }
.event-back { display: inline-block; margin-bottom: 24px; color: #007ebf; text-decoration: none; }
.event-kicker { margin: 0 0 8px; color: #007ebf; font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.event-intro { margin: 16px 0; color: #405675; font-size: 18px; line-height: 1.55; }

.event-facts { display: grid; gap: 10px; margin: 22px 0; padding: 18px 0; border-block: 1px solid #e1e6eb; list-style: none; }
.event-facts li { display: grid; grid-template-columns: 90px 1fr; gap: 10px; color: #405675; }
.event-facts strong { color: #1f3558; }
.event-welcome { margin: 0 0 24px; color: #52667f; font-size: 14px; line-height: 1.5; }
.event-capacity { margin: -8px 0 18px; color: #52667f; font-size: 14px; }
.event-capacity strong { color: #1f3558; font-size: 20px; }

.event-registration-form { display: grid; gap: 16px; padding: 24px; border: 1px solid #dfe3e8; background: #f9fafb; }
.event-registration-form h2 { margin: 0; color: #1f3558; font-size: 22px; }
.event-form-section { margin: 8px 0 -3px; padding-bottom: 8px; border-bottom: 1px solid #b9c9db; color: #1f3558; font-size: 17px; font-weight: 600; }
.event-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.event-registration-form label { display: grid; gap: 6px; color: #314764; font-size: 14px; font-weight: 600; }
.event-registration-form input,
.event-registration-form select,
.event-registration-form textarea { width: 100%; padding: 10px 11px; border: 1px solid #cfd7e0; border-radius: 4px; background: #fff; color: #1f3558; font: inherit; font-weight: 400; }
.event-registration-form textarea { resize: vertical; }
.event-registration-form .event-consent { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; font-weight: 400; }
.event-registration-form .event-consent input { width: auto; margin-top: 3px; }
.event-form-errors { padding: 12px 14px; border-left: 3px solid #b94d4d; background: #fff1f1; color: #823737; }
.event-form-errors ul { margin: 0; padding-left: 18px; }
.event-button { display: inline-block; width: fit-content; padding: 11px 18px; border: 0; border-radius: 4px; background: #2f3650; color: #fff; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.event-registration-form .event-button { width: 100%; }
.event-confirmation { max-width: 700px; padding: 70px 36px; text-align: center; }
.event-confirmation p:not(.event-kicker) { color: #405675; font-size: 18px; line-height: 1.55; }

@media (max-width: 760px) {
    #content.events-page { padding: 0 !important; }
    .events-frame { min-height: 0; padding: 24px 18px 36px; box-shadow: none; }
    .event-loop-item,
    .event-registration-layout,
    .event-form-grid { grid-template-columns: 1fr; }
    .event-loop-item { gap: 12px; padding-inline: 0; }
    .event-loop-avatar { display: none; }
    .event-loop-flyer { max-width: 260px; }
    .event-flyer-wrap { position: static; }
}

/* ===== Join Us Modal ===== */
#joinModal .modal-title {
    font-family: 'Boldonse', 'Stack Sans Headline', sans-serif;
    font-size: 1.5rem;
    color: #1a202c;
}

#joinModal .modal-body p.text-muted {
    font-family: 'Elms Sans', sans-serif;
    font-size: 0.9rem;
}

#joinModal .form-label {
    font-family: 'Elms Sans', sans-serif;
}

#joinModal .form-control:focus {
    border-color: #0077ff;
    box-shadow: 0 0 0 0.25rem rgba(0, 119, 255, 0.25);
}

#joinModal .alert {
    font-family: 'Elms Sans', sans-serif;
}

#joinModal .btn-subscribe,
#joinModal .btn-primary {
    background-color: #0077ff;
    border-color: #0077ff;
    font-family: 'Stack Sans Headline', sans-serif;
    font-size: 0.95rem;
    font-weight: 200;
}

#joinModal .btn-subscribe:hover {
    opacity: 0.9;
}

#joinModal .btn-secondary {
    font-family: 'Elms Sans', sans-serif;
}

/* ===== Homepage ===== */
#content.home-page { display: block; margin: 0; padding: 0 0 64px !important; background: #f3f3f3; color: #1f3558; font-family: 'Elms Sans', Arial, sans-serif; }
.home-hero { width: min(1460px, calc(100% - 32px)); aspect-ratio: 1536 / 740; margin: 18px auto 0; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: contain; }
.home-frame { width: min(1280px, calc(100% - 40px)); margin: 0 auto; padding: 58px 44px; background: #fff; }
.home-kicker { margin: 0 0 9px; color: #007ebf; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.home-welcome { max-width: 790px; }.home-welcome h1, .home-event h2, .home-closing h2 { margin: 0 0 16px; color: #1f3558; font-size: clamp(29px, 4vw, 48px); font-weight: 500; letter-spacing: -.035em; line-height: 1.13; }.home-welcome > p:not(.home-kicker), .home-event-copy p, .home-closing > p:not(.home-kicker) { color: #405675; font-size: 17px; line-height: 1.62; }
.home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }.home-actions a, .home-button { display: inline-block; padding: 11px 17px; background: #2f3650; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; }.home-actions a + a { border: 1px solid #2f3650; background: #fff; color: #2f3650; }
.home-community-image { margin-top: 46px; }.home-community-image img { display: block; width: 100%; max-height: 590px; object-fit: contain; background: #f5f7f8; }
.home-overview { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-top: 52px; }.home-overview article { padding: 23px; border: 1px solid #dfe3e8; background: #f7faf8; }.home-overview h2 { margin: 0 0 9px; font-size: 20px; }.home-overview p:not(.home-kicker) { min-height: 72px; margin: 0 0 13px; color: #52667f; font-size: 14px; line-height: 1.5; }.home-overview a { color: #007ebf; font-size: 14px; font-weight: 700; text-decoration: none; }
.home-event { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 34px; align-items: center; margin-top: 54px; padding: 28px; border-block: 1px solid #dfe3e8; }.home-event-image a { display: block; }.home-event-image img { width: 100%; max-height: 360px; object-fit: cover; object-position: top; }.home-event-image a:hover img { opacity: .9; }.home-event h2 { font-size: 30px; }.home-event-meta { color: #1472aa !important; font-weight: 600; }
.home-closing { max-width: 850px; margin: 54px auto 0; padding: 30px; background: #f1f7fb; text-align: center; }.home-closing h2 { font-size: 28px; }.home-closing .home-actions { justify-content: center; }
@media (max-width: 760px) { #content.home-page { padding-bottom: 0 !important; }.home-hero { width: 100%; margin: 0; }.home-frame { width: 100%; padding: 34px 20px 44px; }.home-overview, .home-event { grid-template-columns: 1fr; }.home-event { gap: 22px; padding: 22px 0; }.home-event-image { max-width: 240px; }.home-overview p:not(.home-kicker) { min-height: 0; } }

/* ===== Mobile-first accessibility pass ===== */
@media (max-width: 767.98px) {
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body { min-width: 320px; font-size: 16px; line-height: 1.55; }

    .navbar { padding: 12px 16px !important; }
    .navbar-brand { max-width: calc(100% - 64px); font-size: 1.05rem !important; line-height: 1.15; }
    .navbar-brand img { height: 42px !important; max-height: 42px !important; }
    .navbar-toggler { display: grid; width: 48px; height: 48px; place-items: center; padding: 0; border-color: #b8c6d6; }
    .navbar-collapse { padding-top: 10px; }
    .navbar-nav .nav-link, .navbar .nav-link { padding: 13px 4px !important; font-size: 17px; line-height: 1.25; }
    .nav-actions { display: flex; gap: 10px; padding-top: 16px !important; }
    .nav-actions .btn, .btn-cta { min-height: 46px; padding: 11px 14px; font-size: 16px !important; }

    input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]), select, textarea, .form-control, .form-select {
        min-height: 48px; font-size: 16px !important; line-height: 1.35;
    }
    textarea { min-height: 120px !important; }
    button, .btn, .event-button { min-height: 46px; font-size: 16px !important; }
    label, .event-registration-form label { font-size: 16px; }
    .event-registration-form { padding: 22px 16px; gap: 18px; }
    .event-form-section { font-size: 19px; }

    .home-frame { padding: 30px 18px 38px; }
    .home-welcome h1, .home-event h2, .home-closing h2 { font-size: 32px; }
    .home-welcome > p:not(.home-kicker), .home-event-copy p, .home-closing > p:not(.home-kicker) { font-size: 16px; }
    .home-overview { grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
    .home-overview article { padding: 20px 18px; }.home-overview h2 { font-size: 20px; }.home-overview p:not(.home-kicker), .home-overview a { font-size: 16px; }
    .home-event { margin-top: 36px; }.home-event-image { max-width: 100%; }.home-event-image img { max-height: none; }

    .about-intro > p:not(.about-kicker), .about-vision > p:not(.about-kicker), .about-belief > p:not(.about-kicker), .about-welcome p:not(.about-kicker) { font-size: 16px; line-height: 1.6; }
    .about-card-grid, .about-values { grid-template-columns: 1fr; gap: 14px; }
    .about-card-grid article, .about-values article { padding: 20px 18px; border: 1px solid #dfe3e8; text-align: left; }.about-card-grid h3, .about-values h3 { font-size: 19px; }.about-card-grid p, .about-values p { font-size: 16px; line-height: 1.5; }

    .study-groups-frame { padding: 26px 16px 36px; }.study-groups-header h1 { font-size: 30px; }.study-groups-search { width: 100%; }
    .study-groups-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
    .study-group-card { min-height: 0; padding: 20px 18px; border-radius: 10px; }.study-group-card h2 { font-size: 20px; }.study-group-card header { display: block; }.study-group-card header span { display: block; margin-top: 6px; font-size: 15px; }.study-group-card dl div { grid-template-columns: 1fr; gap: 2px; }.study-group-card dt { font-size: 14px; }.study-group-card dd { font-size: 16px; }

    .contact-header > p:last-child, .contact-card, .contact-links a { font-size: 16px; }.contact-card { padding: 22px 18px; }.contact-links a { padding: 16px; }
    .donate-intro { font-size: 16px; }.donate-card { padding: 25px 18px; }.donate-frame h1 { font-size: 38px; }
    .event-loop-summary, .event-loop-meta, .event-loop-register { font-size: 16px; }.event-facts li { grid-template-columns: 1fr; gap: 2px; font-size: 16px; }
    footer { font-size: 15px; } footer .form-control { font-size: 16px !important; }
}

@media (max-width: 359.98px) {
    .navbar-brand { font-size: .9rem !important; }.navbar-brand img { height: 36px !important; }
}

/* ===== Typography system ===== */
:root { --ufa-body-size: 18px; --ufa-body-weight: 600; }
h1, h2, h3, h4, h5, h6,
.book-title, .paper-heading, .event-loop-content h2,
.study-group-card h2, .home-overview h2 {
    font-family: 'Poppins', 'Elms Sans', Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body { font-size: var(--ufa-body-size); font-weight: var(--ufa-body-weight); }
#content p, #content li, #content dd, #content label,
#content input, #content select, #content textarea,
#content .form-control, #content .form-select,
footer p, footer li, footer a, footer label, footer input {
    font-family: 'Elms Sans', Arial, sans-serif;
    font-size: var(--ufa-body-size) !important;
    font-weight: var(--ufa-body-weight);
    line-height: 1.6;
}
.navbar-nav .nav-link, .btn, .event-button, .home-button, .event-flyer-register {
    font-family: 'Elms Sans', Arial, sans-serif;
    font-size: 17px !important;
    font-weight: 700;
}
#content small, #content .about-kicker, #content .home-kicker, #content .event-kicker,
#content .event-loop-byline, #content .study-group-card dt, #content .study-group-card header span {
    font-size: 14px !important;
    font-weight: 700;
}
@media (max-width: 767.98px) {
    :root { --ufa-body-size: 17px; }
    .navbar-nav .nav-link, .btn, .event-button, .home-button, .event-flyer-register { font-size: 17px !important; }
}
