/* ==========================================================================
   LCDP HOMEPAGE
   ========================================================================== */


/* ==========================================================================
   HERO
   ========================================================================== */

.lcdp-home-hero {
    position: relative;
    background: var(--lcdp-dark);
}


/* ==========================================================================
   MOBILE INTRO
   ========================================================================== */

.lcdp-home-mobile-shell {
    background: var(--lcdp-dark);
    color: #ffffff;
    padding: 28px 0 30px;
}

.lcdp-mobile-welcome h1 {
    margin: 0;

    font-size: 1.8rem;
    font-weight: 750;
    line-height: 1.15;
}

.lcdp-mobile-welcome p {
    margin: 10px 0 0;

    color: rgba(255, 255, 255, 0.72);

    line-height: 1.55;
}


/* ==========================================================================
   QUICK ACTIONS
   ========================================================================== */

.lcdp-quick-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 10px;

    margin-top: 24px;
}

.lcdp-quick-action {
    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    min-height: 92px;
    padding: 12px 8px;

    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 18px;

    text-decoration: none;

    font-size: 0.78rem;
    font-weight: 650;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    cursor: pointer;

    transition:
        background 0.18s ease,
        transform 0.18s ease;
}

.lcdp-quick-action:hover,
.lcdp-quick-action:focus {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;

    transform: translateY(-2px);
}

.lcdp-quick-action-icon {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    margin-bottom: 8px;

    background: rgba(255, 255, 255, 0.12);

    border-radius: 50%;

    font-size: 1.1rem;
}


/* ==========================================================================
   SECTION HEADING
   ========================================================================== */

.lcdp-home-section-heading {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 26px;
}

.lcdp-home-section-link {
    flex: 0 0 auto;

    color: var(--lcdp-primary);

    font-size: 0.92rem;
    font-weight: 650;

    text-decoration: none;
}

.lcdp-home-section-link:hover {
    color: var(--lcdp-primary-hover);
}


/* ==========================================================================
   DESKTOP WELCOME
   ========================================================================== */

.lcdp-home-desktop-welcome {
    position: relative;
    z-index: 4;

    background: var(--lcdp-surface);
}

.lcdp-desktop-welcome-band {
    position: relative;

    margin-top: -1px;

    background:
        linear-gradient(
            180deg,
            var(--lcdp-dark) 0%,
            #111d2e 100%
        );

    color: #ffffff;

    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.lcdp-desktop-welcome-layout {
    display: grid;

    grid-template-columns:
        minmax(260px, 1.1fr)
        minmax(420px, 1.25fr)
        auto;

    align-items: center;

    gap: 42px;

    min-height: 126px;

    padding: 24px 0;
}

.lcdp-desktop-welcome-copy {
    position: relative;
}

.lcdp-desktop-welcome-copy::before {
    content: "";

    position: absolute;

    left: 0;
    top: -10px;

    width: 42px;
    height: 3px;

    background: var(--lcdp-primary);

    border-radius: 999px;
}

.lcdp-desktop-welcome-kicker {
    margin-bottom: 5px;

    color: rgba(255, 255, 255, 0.55);

    font-size: 0.7rem;
    font-weight: 750;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.lcdp-desktop-welcome-copy h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(1.9rem, 2.5vw, 2.7rem);
    font-weight: 780;

    line-height: 1.05;
}

.lcdp-desktop-welcome-details {
    display: grid;

    grid-template-columns: 0.85fr 1.15fr;

    gap: 34px;
}

.lcdp-desktop-welcome-detail {
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.lcdp-desktop-welcome-label {
    color: rgba(255, 255, 255, 0.48);

    font-size: 0.68rem;
    font-weight: 750;

    letter-spacing: 0.07em;

    text-transform: uppercase;
}

.lcdp-desktop-welcome-detail strong {
    color: #ffffff;

    font-size: 0.95rem;
    font-weight: 650;

    line-height: 1.35;
}

.lcdp-desktop-welcome-actions {
    display: flex;

    gap: 10px;

    flex: 0 0 auto;
}

.lcdp-desktop-welcome-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 42px;

    padding: 10px 18px;

    border-radius: 12px;

    font-size: 0.86rem;
    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.18s ease,
        background 0.18s ease,
        border-color 0.18s ease;
}

.lcdp-desktop-welcome-btn:hover {
    transform: translateY(-1px);
}

.lcdp-desktop-welcome-btn-primary {
    background: var(--lcdp-primary);
    color: #ffffff;
}

.lcdp-desktop-welcome-btn-primary:hover {
    background: var(--lcdp-primary-hover);
    color: #ffffff;
}

.lcdp-desktop-welcome-btn-secondary {
    background: transparent;

    color: rgba(255, 255, 255, 0.90);

    border: 1px solid rgba(255, 255, 255, 0.18);
}

.lcdp-desktop-welcome-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.08);

    color: #ffffff;

    border-color: rgba(255, 255, 255, 0.28);
}


/* ==========================================================================
   EVENTS + LATEST SERMON
   ========================================================================== */

.lcdp-home-feature-section {
    padding-top: 20px;
}

.lcdp-home-feature-grid {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 24px;

    align-items: stretch;
}

.lcdp-home-feature-card {
    min-width: 0;

    padding: 28px;

    background: #ffffff;

    border: 1px solid var(--lcdp-border);
    border-radius: 20px;

    box-shadow:
        0 18px 46px rgba(15, 23, 42, 0.15),
		0 6px 16px rgba(15, 23, 42, 0.08);
}

.lcdp-home-feature-heading {
    margin-bottom: 22px;
}





/* ==========================================================================
   LATEST SERMON
   ========================================================================== */

.lcdp-latest-sermon {
    display: flex;
    flex-direction: column;
}


/* Dynamic sermon block */

.homepage-sermon-card {
    width: 100%;
}


/* --------------------------------------------------------------------------
   THUMBNAIL
   -------------------------------------------------------------------------- */

.homepage-sermon-thumbnail {
    position: relative;

    display: block;

    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: var(--lcdp-dark);

    border-radius: 14px;

    text-decoration: none;

    box-shadow: var(--lcdp-shadow-sm);
}

.homepage-sermon-thumbnail img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}


/* --------------------------------------------------------------------------
   PLAY BUTTON OVERLAY
   -------------------------------------------------------------------------- */

.homepage-sermon-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
    justify-content: center;

    width: 82px;
    height: 82px;

    padding-left: 5px;

    background: rgba(8, 20, 36, 0.80);
    color: #ffffff;

    border: 3px solid rgba(255, 255, 255, 0.95);
    border-radius: 50%;

    font-size: 2.1rem;
    line-height: 1;

    box-shadow:
        0 6px 20px rgba(0, 0, 0, 0.28),
        inset 0 0 0 1px rgba(0, 0, 0, 0.08);

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.homepage-sermon-thumbnail:hover .homepage-sermon-play {
    transform:
        translate(-50%, -50%)
        scale(1.06);

    background: rgba(8, 20, 36, 0.92);
}


/* --------------------------------------------------------------------------
   SERMON DETAILS
   -------------------------------------------------------------------------- */

.homepage-sermon-details {
    padding-top: 14px;
}

.homepage-sermon-title {
    margin: 0;

    color: var(--lcdp-text);

    font-size: clamp(1.35rem, 1.7vw, 1.75rem);
    font-weight: 780;

    line-height: 1.18;
}

.homepage-sermon-date {
    margin-top: 7px;

    color: var(--lcdp-text-muted);

    font-size: 0.95rem;
    font-weight: 500;
}


/* --------------------------------------------------------------------------
   ACTIONS
   -------------------------------------------------------------------------- */

.homepage-sermon-actions {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: 17px;
}

.homepage-sermon-actions .lcdp-btn {
    min-height: 44px;

    padding: 10px 20px;

    border-radius: 12px;

    font-size: 0.9rem;
    font-weight: 750;
}

.homepage-sermon-more {
    color: var(--lcdp-primary);

    font-size: 0.9rem;
    font-weight: 700;

    text-decoration: none;
}

.homepage-sermon-more:hover {
    color: var(--lcdp-primary-hover);

    text-decoration: underline;
}


/* --------------------------------------------------------------------------
   EMPTY STATE
   -------------------------------------------------------------------------- */

.homepage-sermon-empty {
    padding: 24px;

    background: var(--lcdp-surface-soft);

    color: var(--lcdp-text-muted);

    border-radius: 14px;

    text-align: center;
}


/* ==========================================================================
   TABLET / MEDIUM
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1199.98px) {

    .lcdp-desktop-welcome-layout {
        grid-template-columns: 1fr 1fr;

        gap: 24px 30px;
    }

    .lcdp-desktop-welcome-details {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .lcdp-desktop-welcome-actions {
        grid-column: 1 / -1;
    }

}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-home-section-heading {
        align-items: center;

        margin-bottom: 18px;
    }


    /* ----------------------------------------------------------------------
       EVENTS + SERMON STACK
       ---------------------------------------------------------------------- */

    .lcdp-home-feature-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .lcdp-home-feature-card {
        padding: 20px;

        border-radius: 18px;
    }

    .lcdp-home-feature-heading {
        margin-bottom: 18px;
    }





    /* ----------------------------------------------------------------------
       MOBILE LATEST SERMON
       ---------------------------------------------------------------------- */

.homepage-sermon-thumbnail {
    border-radius: 12px;
}

.homepage-sermon-play {
    width: 68px;
    height: 68px;

    font-size: 1.75rem;

    border-width: 3px;
}

.homepage-sermon-details {
    padding-top: 13px;
}

.homepage-sermon-title {
    font-size: 1.25rem;
}

.homepage-sermon-date {
    margin-top: 6px;

    font-size: 0.88rem;
}

.homepage-sermon-actions {
    gap: 12px;

    margin-top: 15px;
}

.homepage-sermon-actions .lcdp-btn {
    min-height: 42px;

    padding: 9px 17px;
}

}


/* ==========================================================================
   SMALL MOBILE
   ========================================================================== */

@media (max-width: 420px) {

    .lcdp-quick-actions {
        gap: 8px;
    }

    .lcdp-quick-action {
        min-height: 86px;

        padding: 10px 5px;

        font-size: 0.72rem;
    }

    .lcdp-quick-action-icon {
        width: 34px;
        height: 34px;

        font-size: 1rem;
    }

}




/* ==========================================================================
   DESKTOP CONNECT / EXPLORE SECTION
   Prayer + Serve + Latest Posts
   ========================================================================== */

@media (min-width: 992px) {

    .lcdp-home-connect-section {
        padding: 20px 0 72px;

        background: #ffffff;
    }


    /* ----------------------------------------------------------------------
       GRID
       ---------------------------------------------------------------------- */

    .lcdp-home-connect-grid {
        display: grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 24px;

        align-items: stretch;
    }


    /* ----------------------------------------------------------------------
       SHARED CARD
       ---------------------------------------------------------------------- */

    .lcdp-home-connect-card {
        position: relative;

        min-width: 0;
        min-height: 430px;

        overflow: hidden;

        border:
            1px solid var(--lcdp-border);

        border-radius: 20px;

        box-shadow:
            0 18px 46px rgba(15, 23, 42, 0.15),
            0 6px 16px rgba(15, 23, 42, 0.08);
    }


    /* ----------------------------------------------------------------------
       PRAYER / SERVE IMAGE CARDS
       ---------------------------------------------------------------------- */

    .lcdp-home-connect-card-image {
        display: flex;

        align-items: flex-end;

        color: #ffffff;

        text-decoration: none;

        background: var(--lcdp-dark);
    }

    .lcdp-home-connect-card-image:hover,
    .lcdp-home-connect-card-image:focus {
        color: #ffffff;
    }


    .lcdp-home-connect-background {
        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center;

        transition:
            transform 300ms ease;
    }

    .lcdp-home-connect-card-image:hover
    .lcdp-home-connect-background {
        transform: scale(1.035);
    }


    /* ----------------------------------------------------------------------
       DARK IMAGE OVERLAY
       ---------------------------------------------------------------------- */

    .lcdp-home-connect-overlay {
        position: absolute;

        inset: 0;

        background:
            linear-gradient(
                180deg,
                rgba(13, 23, 38, 0.08) 10%,
                rgba(13, 23, 38, 0.38) 48%,
                rgba(13, 23, 38, 0.92) 100%
            );
    }


    /* ----------------------------------------------------------------------
       IMAGE CARD CONTENT
       ---------------------------------------------------------------------- */

    .lcdp-home-connect-content {
        position: relative;

        z-index: 2;

        width: 100%;

        padding: 30px;
    }

    .lcdp-home-connect-eyebrow {
        margin-bottom: 9px;

        color: rgba(255, 255, 255, 0.78);

        font-size: 0.76rem;
        font-weight: 700;

        letter-spacing: 0.08em;

        text-transform: uppercase;
    }

    .lcdp-home-connect-content h2 {
        max-width: 340px;

        margin:
            0
            0
            10px;

        color: #ffffff;

        font-size: 2rem;
        font-weight: 650;

        line-height: 1.08;
    }

    .lcdp-home-connect-content p {
        max-width: 330px;

        margin:
            0
            0
            18px;

        color:
            rgba(255, 255, 255, 0.86);

        font-size: 0.98rem;

        line-height: 1.5;
    }

    .lcdp-home-connect-link {
        color: #ffffff;

        font-size: 0.92rem;
        font-weight: 650;
    }


    /* ----------------------------------------------------------------------
       LATEST POSTS CARD
       ---------------------------------------------------------------------- */

    .lcdp-home-posts-card {
        display: flex;

        flex-direction: column;

        padding: 28px;

        background: #ffffff;
    }

    .lcdp-home-posts-heading {
        margin-bottom: 18px;
    }

    .lcdp-home-posts-heading h2 {
        margin: 0;

        color: var(--lcdp-text);

        font-size: 1.8rem;
        font-weight: 650;

        line-height: 1.1;
    }

    .lcdp-home-posts-content {
        min-width: 0;

        flex: 1;
    }

}


/* ==========================================================================
   HOMEPAGE LATEST POSTS
   Desktop card content
   ========================================================================== */

@media (min-width: 992px) {

    .homepage-blog-list {
        display: flex;

        flex-direction: column;

        height: 100%;
    }


    /* ----------------------------------------------------------------------
       POST LIST
       ---------------------------------------------------------------------- */

    .homepage-blog-items {
        border-top:
            1px solid var(--lcdp-border);
    }


    /* ----------------------------------------------------------------------
       INDIVIDUAL POST
       ---------------------------------------------------------------------- */

    .homepage-blog-item {
        display: flex;

        align-items: center;
        justify-content: space-between;

        gap: 18px;

        min-height: 82px;

        padding: 16px 2px;

        color: var(--lcdp-text);

        border-bottom:
            1px solid var(--lcdp-border);

        text-decoration: none;

        transition:
            color 180ms ease,
            padding-left 180ms ease;
    }

    .homepage-blog-item:hover,
    .homepage-blog-item:focus {
        color: var(--lcdp-primary);

        padding-left: 5px;
    }


    /* ----------------------------------------------------------------------
       POST CONTENT
       ---------------------------------------------------------------------- */

    .homepage-blog-item-content {
        min-width: 0;

        flex: 1;
    }


    /* CATEGORY */

    .homepage-blog-category {
        margin-bottom: 5px;

        color: var(--lcdp-text-muted);

        font-size: 0.72rem;
        font-weight: 600;

        letter-spacing: 0.065em;

        text-transform: uppercase;
    }


    /* TITLE */

    .homepage-blog-title {
        margin: 0;

        color: inherit;

        font-size: 1rem;
        font-weight: 600;

        line-height: 1.35;
    }


    /* ----------------------------------------------------------------------
       ROW ARROW
       ---------------------------------------------------------------------- */

    .homepage-blog-arrow {
        flex: 0 0 auto;

        color: #a1a8b3;

        font-size: 1.1rem;

        transition:
            color 180ms ease,
            transform 180ms ease;
    }

    .homepage-blog-item:hover
    .homepage-blog-arrow,
    .homepage-blog-item:focus
    .homepage-blog-arrow {
        color: var(--lcdp-primary);

        transform: translateX(3px);
    }


    /* ----------------------------------------------------------------------
       VIEW MORE
       Navy normally / primary blue on hover
       ---------------------------------------------------------------------- */

.homepage-blog-more {
    margin-top: auto;

    padding-top: 22px;
}

.homepage-blog-more a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 42px;

    padding: 9px 16px;

    background: var(--lcdp-dark);
    color: #ffffff;

    border-radius: 10px;

    font-size: 0.92rem;
    font-weight: 600;

    text-decoration: none;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.homepage-blog-more a:hover,
.homepage-blog-more a:focus {
    background: var(--lcdp-primary);
    color: #ffffff;

    transform: translateY(-1px);
}

.homepage-blog-more a span {
    transition:
        transform 180ms ease;
}

.homepage-blog-more a:hover span,
.homepage-blog-more a:focus span {
    transform: translateX(3px);
}


    /* ----------------------------------------------------------------------
       EMPTY STATE
       ---------------------------------------------------------------------- */

    .homepage-blog-empty {
        padding: 20px 0;

        color: var(--lcdp-text-muted);

        font-size: 0.95rem;
    }

}


/* ==========================================================================
   DESKTOP STAY CONNECTED
   Newsletter + Prayer
   ========================================================================== */

@media (min-width: 992px) {

    .lcdp-home-stay-connected {
        padding: 0 0 72px;

        background: #ffffff;
    }


    /* ----------------------------------------------------------------------
       GRID
       ---------------------------------------------------------------------- */

    .lcdp-home-stay-connected-grid {
        display: grid;

        grid-template-columns:
            minmax(0, 1.55fr)
            minmax(0, 1fr);

        gap: 24px;

        align-items: stretch;
    }


    /* ----------------------------------------------------------------------
       SHARED PANELS
       ---------------------------------------------------------------------- */

    .lcdp-home-newsletter-panel,
    .lcdp-home-prayer-panel {
        min-width: 0;

        border-radius: 20px;

        overflow: hidden;

        box-shadow:
            0 18px 46px rgba(15, 23, 42, 0.13),
            0 6px 16px rgba(15, 23, 42, 0.07);
    }


    /* ----------------------------------------------------------------------
       NEWSLETTER PANEL
       ---------------------------------------------------------------------- */

    .lcdp-home-newsletter-panel {
        display: flex;

        align-items: center;
        justify-content: space-between;

        gap: 34px;

        padding: 34px 36px;

        background: #f4f7fb;

        border:
            1px solid var(--lcdp-border);
    }


    .lcdp-home-newsletter-copy {
        min-width: 0;

        flex: 1;
    }


    .lcdp-home-stay-eyebrow {
        margin-bottom: 8px;

        color: var(--lcdp-primary);

        font-size: 0.75rem;
        font-weight: 700;

        letter-spacing: 0.08em;

        text-transform: uppercase;
    }


    .lcdp-home-newsletter-copy h2,
    .lcdp-home-prayer-panel h2 {
        margin:
            0
            0
            10px;

        font-size: 1.85rem;
        font-weight: 650;

        line-height: 1.1;
    }


    .lcdp-home-newsletter-copy h2 {
        color: var(--lcdp-text);
    }


    .lcdp-home-newsletter-copy p {
        max-width: 520px;

        margin: 0;

        color: var(--lcdp-text-muted);

        font-size: 0.96rem;

        line-height: 1.55;
    }


    /* ----------------------------------------------------------------------
       NEWSLETTER FORM
       ---------------------------------------------------------------------- */

    .lcdp-home-newsletter-form {
        display: flex;

        align-items: center;

        flex: 0 0 auto;

        width: min(100%, 390px);

        padding: 5px;

        background: #ffffff;

        border:
            1px solid #dce2e9;

        border-radius: 12px;

        box-shadow:
            0 4px 14px rgba(15, 23, 42, 0.05);
    }


    .lcdp-home-newsletter-form .form-control {
        min-width: 0;

        height: 44px;

        padding:
            8px
            12px;

        background: transparent;

        border: 0;

        border-radius: 8px;

        box-shadow: none;

        color: var(--lcdp-text);

        font-size: 0.94rem;
    }


    .lcdp-home-newsletter-form .form-control:focus {
        background: transparent;

        border: 0;

        box-shadow: none;
    }


    .lcdp-home-newsletter-btn {
        display: inline-flex;

        align-items: center;
        justify-content: center;

        flex: 0 0 auto;

        min-height: 42px;

        padding:
            9px
            17px;

        background: var(--lcdp-dark);

        color: #ffffff;

        border: 0;
        border-radius: 9px;

        font-size: 0.9rem;
        font-weight: 600;

        cursor: pointer;

        white-space: nowrap;

        transition:
            background-color 180ms ease,
            transform 180ms ease;
    }


    .lcdp-home-newsletter-btn:hover,
    .lcdp-home-newsletter-btn:focus {
        background: var(--lcdp-primary);

        transform: translateY(-1px);
    }


    /* ----------------------------------------------------------------------
       PRAYER CTA PANEL
       ---------------------------------------------------------------------- */

    .lcdp-home-prayer-panel {
        display: flex;

        flex-direction: column;

        align-items: flex-start;
        justify-content: space-between;

        gap: 28px;

        padding: 34px 36px;

        background: var(--lcdp-dark);

        color: #ffffff;
    }


    .lcdp-home-prayer-panel .lcdp-home-stay-eyebrow {
        color:
            rgba(255, 255, 255, 0.67);
    }


    .lcdp-home-prayer-panel h2 {
        color: #ffffff;
    }


    .lcdp-home-prayer-panel p {
        max-width: 420px;

        margin: 0;

        color:
            rgba(255, 255, 255, 0.78);

        font-size: 0.96rem;

        line-height: 1.55;
    }


    /* ----------------------------------------------------------------------
       PRAYER BUTTON
       ---------------------------------------------------------------------- */

    .lcdp-home-prayer-btn {
        display: inline-flex;

        align-items: center;
        justify-content: center;

        gap: 8px;

        min-height: 44px;

        padding:
            9px
            17px;

        background: #ffffff;

        color: var(--lcdp-dark);

        border-radius: 10px;

        font-size: 0.92rem;
        font-weight: 600;

        text-decoration: none;

        transition:
            background-color 180ms ease,
            color 180ms ease,
            transform 180ms ease;
    }


    .lcdp-home-prayer-btn:hover,
    .lcdp-home-prayer-btn:focus {
        background: var(--lcdp-primary);

        color: #ffffff;

        transform: translateY(-1px);
    }


    .lcdp-home-prayer-btn span {
        transition:
            transform 180ms ease;
    }


    .lcdp-home-prayer-btn:hover span,
    .lcdp-home-prayer-btn:focus span {
        transform: translateX(3px);
    }

}


/* ==========================================================================
   NEAREST EVENT COUNTDOWN / LIVE STATUS
   ========================================================================== */

.lcdp-event-live-status {
    display: inline-flex;

    align-items: center;

    gap: 5px;

    width: fit-content;

    margin-top: 5px;

    padding:
        4px
        8px;

    background:
        rgba(37, 99, 235, 0.08);

    color: var(--lcdp-primary);

    border-radius: 7px;

    font-size: 0.73rem;
    font-weight: 500;

    line-height: 1.2;
}


.lcdp-event-live-status[hidden] {
    display: none !important;
}


.lcdp-event-countdown-label {
    color: var(--lcdp-text-muted);

    font-weight: 500;
}


.lcdp-event-live-status strong {
    font-weight: 650;
}


/* ==========================================================================
   EVENT HAPPENING NOW
   ========================================================================== */

.lcdp-event-live-status-active {
    background:
        rgba(25, 135, 84, 0.10);

    color: #198754;
}


.lcdp-event-live-dot {
    width: 7px;
    height: 7px;

    flex: 0 0 auto;

    background: #198754;

    border-radius: 50%;

    box-shadow:
        0 0 0 3px rgba(25, 135, 84, 0.13);
}


/* ========================================================================
   NEWCOMER MODAL
   ======================================================================== */

.lcdp-newcomer-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}


.lcdp-newcomer-section {
    padding: 24px 0;
}


.lcdp-newcomer-section:first-child {
    padding-top: 6px;
}


.lcdp-newcomer-section + .lcdp-newcomer-section {
    border-top: 1px solid #e5e7eb;
}


/* Section eyebrow / highlighter */

.lcdp-newcomer-section .lcdp-eyebrow {
    display: block;
    margin: 0 0 12px 0;
    padding: 0;
    line-height: 1.2;
}


/* Headings */

.lcdp-newcomer-section h3 {
    margin: 0 0 12px 0;
    line-height: 1.25;
}


/* Body text */

.lcdp-newcomer-section p {
    margin: 0;
    line-height: 1.7;
}


/* Welcome video placeholder */

.lcdp-newcomer-video-placeholder {
    padding: 20px;
    background: #f7f8fa;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
}


/* Service info cards */

.lcdp-newcomer-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}


.lcdp-newcomer-info-card {
    padding: 16px 18px;
    background: #f7f8fa;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}


.lcdp-newcomer-info-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}


.lcdp-newcomer-info-card strong {
    display: block;
    line-height: 1.5;
}





/* Contact button */

.lcdp-newcomer-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #ffffff !important;
    text-decoration: none !important;
}


.lcdp-newcomer-contact-btn:hover,
.lcdp-newcomer-contact-btn:focus {
    color: #ffffff !important;
    text-decoration: none !important;
}


/* Mobile */

@media (max-width: 575.98px) {

    .lcdp-newcomer-section {
        padding: 20px 0;
    }

    .lcdp-newcomer-info-grid {
        grid-template-columns: 1fr;
    }

    .lcdp-newcomer-social-links {
        flex-direction: column;
    }

    .lcdp-newcomer-social-btn {
        width: 100%;
        justify-content: center;
    }

}


.lcdp-newcomer-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    padding: 18px 24px 24px;

    background: #ffffff;

    border-top: 1px solid var(--lcdp-border);
}


.lcdp-newcomer-close-btn {
    min-height: 42px;

    padding: 9px 17px;

    background: transparent;
    color: #111111;

    border: 1px solid #111111;
    border-radius: 9px;

    font-size: 0.9rem;
    font-weight: 600;

    text-decoration: none;
}


.lcdp-newcomer-close-btn:hover,
.lcdp-newcomer-close-btn:focus {
    background: #111111;
    color: #ffffff;

    border-color: #111111;
}

.lcdp-home-prayer-image {
    object-fit: contain;
    transform: scale(1.35);
}

.lcdp-home-connect-card-image:hover .lcdp-home-prayer-image {
    transform: scale(1.40);
}


/* ==========================================================================
   MOBILE FEATURE CAROUSEL
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-mobile-feature-carousel-section {
        overflow: hidden;

        padding:
            10px
            0
            34px;

        background:
            #ffffff;
    }


    .lcdp-mobile-feature-carousel {
        display: flex;

        gap: 14px;

        overflow-x: auto;

        padding:
            4px
            18px
            14px;

        scroll-snap-type:
            x mandatory;

        scroll-padding-left:
            18px;

        -webkit-overflow-scrolling:
            touch;

        scrollbar-width:
            none;
    }


    .lcdp-mobile-feature-carousel::-webkit-scrollbar {
        display: none;
    }


    .lcdp-mobile-feature-slide {
        flex:
            0
            0
            86vw;

        max-width:
            420px;

        min-height:
            190px;

        padding:
            18px;

        background:
            #ffffff;

        border:
            1px solid var(--lcdp-border);

        border-radius:
            20px;

        box-shadow:
            0 12px 30px rgba(15, 23, 42, 0.09);

        scroll-snap-align:
            start;
    }


    .lcdp-mobile-feature-label {
        margin-bottom:
            14px;

        color:
            var(--lcdp-primary);

        font-size:
            0.76rem;

        font-weight:
            750;

        letter-spacing:
            0.075em;

        text-transform:
            uppercase;
    }


    .lcdp-mobile-feature-content {
        min-width: 0;
    }


    /* Next Event */

    .lcdp-mobile-event-slide
    .lcdp-event-row-desktop {
        display:
            none !important;
    }


    .lcdp-mobile-event-slide
    .lcdp-event-more {
        display:
            none !important;
    }


    .lcdp-mobile-event-slide
    .lcdp-event-row {
        margin: 0;

        padding:
            14px !important;

        background:
            var(--lcdp-surface-soft);

        border:
            1px solid var(--lcdp-border);

        border-radius:
            14px;

        box-shadow:
            none;
    }


    /* Latest News */

    .lcdp-mobile-news-slide
    .homepage-blog-item:not(:first-child) {
        display:
            none;
    }


    .lcdp-mobile-news-slide
    .homepage-blog-more {
        display:
            none;
    }


    .lcdp-mobile-news-slide
    .homepage-blog-items {
        border: 0;
    }


    .lcdp-mobile-news-slide
    .homepage-blog-item {
        display: flex;

        align-items:
            center;

        justify-content:
            space-between;

        gap:
            14px;

        min-height:
            92px;

        padding:
            16px;

        color:
            var(--lcdp-text);

        background:
            var(--lcdp-surface-soft);

        border:
            1px solid var(--lcdp-border);

        border-radius:
            14px;

        text-decoration:
            none;
    }


    .lcdp-mobile-news-slide
    .homepage-blog-category {
        margin-bottom:
            6px;

        color:
            var(--lcdp-text-muted);

        font-size:
            0.7rem;

        font-weight:
            700;

        letter-spacing:
            0.05em;

        text-transform:
            uppercase;
    }


    .lcdp-mobile-news-slide
    .homepage-blog-title {
        margin: 0;

        font-size:
            1rem;

        font-weight:
            700;

        line-height:
            1.35;
    }


    .lcdp-mobile-news-slide
    .homepage-blog-arrow {
        flex:
            0
            0 auto;

        font-size:
            1.4rem;

        color:
            var(--lcdp-primary);
    }

}

/* ==========================================================================
   MOBILE WELCOME
   Desktop visual style, mobile-specific structure
   ========================================================================== */

@media (max-width: 767.98px) {

    /*
     * Keep the same desktop welcome colors/visual language.
     * Only restructure the layout for mobile.
     */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-band {
        padding:
            0;
    }


    /*
     * Main mobile structure:
     *
     * [ Welcome text ] [ New Here ]
     * [ Service      | Location   ]
     */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-layout {
        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            auto;

        grid-template-areas:
            "copy actions"
            "details details";

        align-items: stretch;

        column-gap: 0px;
        row-gap: 16px;
		
		margin: 0;
    }


    /* ----------------------------------------------------------------------
       LEFT SIDE
       Iglesia La Casa del Padre
       Bienvenido a Casa
       ---------------------------------------------------------------------- */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-copy {
        grid-area: copy;

        display: flex;
        flex-direction: column;

        justify-content: center;

        min-width: 0;
    }


    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-kicker {
        margin-bottom: 4px;

        font-size: 0.68rem;
        font-weight: 700;

        letter-spacing: 0.07em;

        white-space: nowrap;
    }


    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-copy h1 {
        margin: 0;

        font-size: 1.6rem;
        font-weight: 750;

        line-height: 1.05;
    }


    /* ----------------------------------------------------------------------
       RIGHT SIDE
       New Here button
       ---------------------------------------------------------------------- */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-actions {
        grid-area: actions;

        display: flex;

        align-items: stretch;
        justify-content: flex-end;

        margin: 0;
    }


    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-btn {
        display: flex;

        align-items: center;
        justify-content: center;

        width: 172px;
        height: 100%;

        min-height: 68px;

        margin: 0;

        padding:
            10px
            12px;

        background: #ffffff;

        border-radius: 12px;

        text-align: center;

        font-size: 0.82rem;
        font-weight: 700;

        line-height: 1.2;
    }


    /* ----------------------------------------------------------------------
       SERVICE + LOCATION
       Two columns underneath
       ---------------------------------------------------------------------- */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-details {
        grid-area: details;

        display: grid;

        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        gap: 16px;

        width: 100%;
    }


    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-detail {
        display: flex;

        flex-direction: column;

        align-items: flex-start;

        gap: 3px;

        min-width: 0;

        margin: 0;
        padding: 0;

        background: transparent;

        border: 0;
        border-radius: 0;
    }


    /*
     * Keep label styling consistent with desktop.
     */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-label {
        margin: 0;

        font-size: 0.68rem;
        font-weight: 700;

        letter-spacing: 0.06em;

        text-transform: uppercase;
    }


    /*
     * Keep actual service/address text in the
     * same white desktop treatment.
     */

    .lcdp-home-mobile-welcome .lcdp-desktop-welcome-detail strong {
        margin: 0;

        font-size: 0.86rem;
        font-weight: 650;

        line-height: 1.3;
    }

}


@media (max-width: 767.98px) {

    #lcdpNewcomerModal .lcdp-social-links,
    #lcdpNewcomerModal .lcdp-newcomer-social-links {
        display: flex;

        flex-wrap: wrap;

        gap:
            10px
            8px;
    }

}


/* ==========================================================================
   MOBILE EXPLORE
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-mobile-explore-section {
        padding:
            0
            0
            30px;

        background:
            #ffffff;
    }


    .lcdp-mobile-explore-box {
        padding:
            18px;

        background:
            #ffffff;

        border:
            1px solid var(--lcdp-border);

        border-radius:
            20px;

        box-shadow:
    0 0 28px rgba(15, 23, 42, 0.16);
    }


    .lcdp-mobile-explore-heading {
        margin-bottom:
            16px;
    }


    .lcdp-mobile-explore-heading h2 {
        margin:
            0;

        font-size:
            1.35rem;

        font-weight:
            750;

        line-height:
            1.15;
    }


    .lcdp-mobile-explore-grid {
        display:
            grid;

        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap:
            10px;
    }


    .lcdp-mobile-explore-item {
        display:
            flex;

        flex-direction:
            column;

        align-items:
            center;

        justify-content:
            center;

        gap:
            8px;

        min-height:
            92px;

        padding:
            12px
            8px;

        background:
            var(--lcdp-surface-soft);

        color:
            var(--lcdp-text);

        border:
            1px solid var(--lcdp-border);

        border-radius:
            14px;

        text-decoration:
            none;

        text-align:
            center;

        cursor:
            pointer;

        transition:
            transform var(--lcdp-transition),
            background-color var(--lcdp-transition),
            border-color var(--lcdp-transition),
            box-shadow var(--lcdp-transition);
    }


    .lcdp-mobile-explore-item:hover,
    .lcdp-mobile-explore-item:focus {
        transform:
            translateY(-1px);

        background:
            #ffffff;

        border-color:
            rgba(37, 99, 235, 0.24);

        box-shadow:
            var(--lcdp-shadow-sm);
    }


.lcdp-mobile-explore-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        42px;

    height:
        42px;

    background:
        rgba(37, 99, 235, 0.08);

    color:
        var(--lcdp-primary);

    border-radius:
        13px;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}


.lcdp-mobile-explore-icon svg {
    width:
        22px;

    height:
        22px;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}


.lcdp-mobile-explore-item:hover
.lcdp-mobile-explore-icon,
.lcdp-mobile-explore-item:focus
.lcdp-mobile-explore-icon {
    background:
        var(--lcdp-primary);

    color:
        #ffffff;

    transform:
        translateY(-1px);
}


    .lcdp-mobile-explore-item strong {
        font-size:
            0.78rem;

        font-weight:
            700;

        line-height:
            1.2;
    }

}

/* ==========================================================================
   MOBILE LATEST SERMON
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-home-feature-section {
        padding:
            0
            0
            34px;
    }


    .lcdp-home-feature-grid {
        display:
            block;
    }


    .lcdp-mobile-latest-sermon {
        margin:
            0;

        padding:
            18px;

        background:
            #ffffff;

        border:
            1px solid var(--lcdp-border);

        border-radius:
            20px;

        box-shadow:
            0 0 24px rgba(15, 23, 42, 0.12);
    }


    .lcdp-mobile-latest-sermon .lcdp-home-feature-heading {
        margin-bottom:
            14px;
    }


    .lcdp-mobile-latest-sermon .lcdp-section-title {
        font-size:
            1.45rem;
    }

}

/* ==========================================================================
   NEWS MODAL
   ========================================================================== */

.lcdp-news-modal {
    overflow: hidden;

    border: 0;
    border-radius: 22px;

    box-shadow:
        0 0 36px rgba(15, 23, 42, 0.18);
}


/* --------------------------------------------------------------------------
   HEADER
   -------------------------------------------------------------------------- */

.lcdp-news-modal .modal-header {
    padding:
        22px
        26px;

    background:
        #ffffff;

    border-bottom:
        1px solid var(--lcdp-border);
}


.lcdp-news-modal .modal-title {
    margin: 0;

    color:
        var(--lcdp-text);

    font-size:
        1.75rem;

    font-weight:
        750;

    line-height:
        1.1;
}


/* --------------------------------------------------------------------------
   BODY
   -------------------------------------------------------------------------- */

.lcdp-news-modal .modal-body {
    padding: 0;

    background:
        #ffffff;
}


.lcdp-news-modal-content {
    padding:
        8px
        26px
        18px;
}


.lcdp-news-modal-content .homepage-blog-list {
    display:
        flex;

    flex-direction:
        column;
}


.lcdp-news-modal-content .homepage-blog-items {
    border-top:
        1px solid var(--lcdp-border);
}


/* --------------------------------------------------------------------------
   NEWS ROWS
   -------------------------------------------------------------------------- */

.lcdp-news-modal-content .homepage-blog-item {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        18px;

    min-height:
        82px;

    padding:
        16px
        2px;

    color:
        var(--lcdp-text);

    border-bottom:
        1px solid var(--lcdp-border);

    text-decoration:
        none;

    transition:
        color 180ms ease,
        padding-left 180ms ease;
}


.lcdp-news-modal-content .homepage-blog-item:hover,
.lcdp-news-modal-content .homepage-blog-item:focus {
    color:
        var(--lcdp-primary);

    padding-left:
        5px;
}


.lcdp-news-modal-content .homepage-blog-item-content {
    min-width:
        0;

    flex:
        1;
}


.lcdp-news-modal-content .homepage-blog-category {
    margin-bottom:
        5px;

    color:
        var(--lcdp-text-muted);

    font-size:
        0.72rem;

    font-weight:
        600;

    letter-spacing:
        0.065em;

    text-transform:
        uppercase;
}


.lcdp-news-modal-content .homepage-blog-title {
    margin: 0;

    color:
        inherit;

    font-size:
        1rem;

    font-weight:
        600;

    line-height:
        1.35;
}


.lcdp-news-modal-content .homepage-blog-arrow {
    flex:
        0
        0
        auto;

    color:
        #a1a8b3;

    font-size:
        1.1rem;

    transition:
        color 180ms ease,
        transform 180ms ease;
}


.lcdp-news-modal-content
.homepage-blog-item:hover
.homepage-blog-arrow,
.lcdp-news-modal-content
.homepage-blog-item:focus
.homepage-blog-arrow {
    color:
        var(--lcdp-primary);

    transform:
        translateX(3px);
}


/* ==========================================================================
   NEWS MODAL FOOTER
   ========================================================================== */

.lcdp-news-modal-footer {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    padding:
        18px
        26px
        22px;

    background:
        #ffffff;

    border-top:
        1px solid var(--lcdp-border);
}


.lcdp-news-modal-more-slot {
    margin-right:
        auto;
}


/* --------------------------------------------------------------------------
   VER MÁS
   -------------------------------------------------------------------------- */

.lcdp-news-modal-more-slot .homepage-blog-more {
    margin:
        0;

    padding:
        0;
}


.lcdp-news-modal-more-slot .homepage-blog-more a {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    min-height:
        42px;

    padding:
        9px
        16px;

    background:
        var(--lcdp-dark);

    color:
        #ffffff;

    border-radius:
        10px;

    font-size:
        0.92rem;

    font-weight:
        600;

    text-decoration:
        none;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}


.lcdp-news-modal-more-slot .homepage-blog-more a:hover,
.lcdp-news-modal-more-slot .homepage-blog-more a:focus {
    background:
        var(--lcdp-primary);

    color:
        #ffffff;

    transform:
        translateY(-1px);
}


/* --------------------------------------------------------------------------
   CLOSE BUTTON
   -------------------------------------------------------------------------- */

.lcdp-news-modal-footer > .btn {
    min-height:
        42px;

    padding:
        9px
        17px;

    border-radius:
        10px;

    font-size:
        0.9rem;

    font-weight:
        600;
}


/* ==========================================================================
   MOBILE NEWS MODAL
   ========================================================================== */

@media (max-width: 767.98px) {

    .lcdp-news-modal .modal-dialog {
        margin:
            12px;
    }


    .lcdp-news-modal .modal-header {
        padding:
            18px;
    }


    .lcdp-news-modal .modal-title {
        font-size:
            1.45rem;
    }


    .lcdp-news-modal-content {
        padding:
            4px
            18px
            14px;
    }


    .lcdp-news-modal-content .homepage-blog-item {
        padding:
            17px
            0;
    }


    .lcdp-news-modal-footer {
        padding:
            16px
            18px
            18px;
    }

}