/*
Theme Name: LOVE n LIGHT
Theme URI: https://www.lovenlight.in/
Author: LOVE n LIGHT
Description: A lightweight custom WordPress theme for LOVE n LIGHT.
Version: 0.1.0
Requires at least: 6.9
Requires PHP: 8.3
Text Domain: love-n-light
*/

.wp-block-post-content {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* ---------------------------------------------------------
   Header — Brand
   --------------------------------------------------------- */

.site-branding {
    gap: 0.65rem;
    flex-shrink: 0;
}

.site-branding .wp-block-site-logo {
    margin: 0;
}

.site-branding .wp-block-site-logo img {
    display: block;
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.site-branding .wp-block-site-title {
    margin: 0;
}

@media (max-width: 600px) {
    .site-branding {
        gap: 0.5rem;
    }

    .site-branding .wp-block-site-logo img {
        width: 32px;
        height: 32px;
    }
}

/* ---------------------------------------------------------
   Site shell — shared Header / Footer geometry
   --------------------------------------------------------- */

/*
 * Header and footer are full-width bands. Their inner wrappers
 * share the same site-wide shell. Page-specific content widths
 * must never determine the width of either shell.
 */
.site-header > .site-header-inner,
.site-footer > .site-footer-inner {
    width: 100%;
    max-width: 1200px !important;
    min-width: 0;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* ---------------------------------------------------------
   Site shell — subtle visual separation
   --------------------------------------------------------- */

.site-header {
    background: var(--wp--preset--color--warm-white);
    border-bottom: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );
}

.site-footer {
    background: var(--wp--preset--color--warm-white);
    border-top: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );
}

/* ---------------------------------------------------------
   Header — Unified navigation shell
   --------------------------------------------------------- */

.site-header-inner {
    width: 100%;
    min-width: 0;
    min-height: 3.5rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1rem;
}

.site-header-global-navigation {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.site-header-global-menu {
    flex: 0 0 auto;
}

.site-header-global-menu
.wp-block-navigation__responsive-container-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0.5rem;
    border-radius: 999px;
}

.site-header-global-menu
.wp-block-navigation__responsive-container-open:hover,
.site-header-global-menu
.wp-block-navigation__responsive-container-open:focus-visible {
    background: var(--wp--preset--color--soft-sand);
}

.site-header-inner .wp-block-site-title {
    flex: 0 0 auto;
    min-width: max-content;
}

.site-header-inner .wp-block-site-title a {
    white-space: nowrap;
}

.site-header-personal-navigation {
    flex: 1 1 auto;
    min-width: 0;
    margin-left: auto;
    justify-content: flex-end;
}

.site-header-personal-menu {
    min-width: 0;
}

.site-header-personal-menu
.wp-block-navigation__container {
    align-items: center;
    gap: 1.25rem;
}

.site-header-personal-menu
.wp-block-navigation-item__content {
    padding: 0.5rem 0.15rem;
    line-height: 1.3;
}

.site-header-personal-menu
.wp-block-navigation-item__content:hover,
.site-header-personal-menu
.wp-block-navigation-item__content:focus-visible {
    color: var(--wp--preset--color--soft-sage);
}

.wp-block-navigation__responsive-container.is-menu-open {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

/* ---------------------------------------------------------
   Global Navigation — Desktop Open State
   --------------------------------------------------------- */

@media (min-width: 782px) {

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open {
        background:
            var(--wp--preset--color--warm-white) !important;

        color:
            var(--wp--preset--color--deep-earth) !important;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-dialog {
        width: 100%;
        min-height: 100%;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-close {
        width: 100%;
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-close {
        position: absolute;
        top: 1.25rem;
        right: max(
            calc((100% - 480px) / 2),
            1.5rem
        );

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

        width: 2.75rem;
        height: 2.75rem;
        padding: 0.5rem;

        border-radius: 999px;

        color:
            var(--wp--preset--color--deep-earth);

        background: transparent;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-close:hover,
    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-close:focus-visible {
        background:
            var(--wp--preset--color--soft-sand);
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
        width: 100%;
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;

        padding-top: 5rem;
        padding-bottom: 4rem;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__container {
        width: 100%;
        max-width: 480px;

        gap: 0.25rem;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item {
        width: 100%;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content {
        display: block;

        width: 100%;
        padding: 0.8rem 0;

        color:
            var(--wp--preset--color--deep-earth);

        font-size: 1.1rem;
        line-height: 1.4;

        text-align: left;
    }

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content:hover,
    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation-item__content:focus-visible {
        color:
            var(--wp--preset--color--soft-sage);
    }

}

/* ---------------------------------------------------------
   Personal Navigation — Lucide icons
   --------------------------------------------------------- */

.ll-personal-nav-icon {
    display: none;

    width: 1.25rem;
    height: 1.25rem;

    flex-shrink: 0;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 781px) {

    .wp-block-post-title {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .site-header > .site-header-inner {
        width: 100% !important;
        max-width: none !important;
    }

    .site-header-inner {
        width: 100%;
    }

    .site-header-inner > .site-header-user-navigation {
        margin-left: auto;
    }

    .ll-personal-nav-icon {
        display: block;
    }

    /* ---------------------------------------------------------
    Global Navigation — Mobile Open State
    --------------------------------------------------------- */

    .site-header-global-menu
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-close {
        top: 1.5rem;
        right: 1.5rem;

        width: 2.75rem;
        height: 2.75rem;

        padding: 0.5rem;
    }

    /*
     * Mobile Personal Primary Navigation
     *
     * The existing WordPress-managed Personal Navigation
     * becomes a floating bottom navigation on mobile.
     */
    .site-header-personal-navigation {
        position: fixed;
        left: 50%;
        bottom: 1rem;
        z-index: 1000;

        width: min(
            calc(100% - 2rem),
            32rem
        );

        margin: 0;
        padding: 0.35rem 0.45rem;

        transform: translateX(-50%);
        transition:
            transform 180ms ease,
            opacity 180ms ease;

        border: 1px solid
            var(--wp--preset--color--soft-sand);

        border-radius: 1rem;

        background:
            var(--wp--preset--color--warm-white);

        box-shadow:
            0 0.75rem 2rem
            rgba(63, 64, 56, 0.14);
    }

    .site-header-personal-navigation.is-mobile-nav-hidden {
        transform:
            translateX(-50%)
            translateY(
                calc(
                    100% + 1.5rem
                )
            );

        opacity: 0;
        pointer-events: none;
    }

    .site-header-personal-menu {
        width: 100%;
    }

    .site-header-personal-menu
    .wp-block-navigation__container {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
        gap: 0;
    }

    .site-header-personal-menu
    .wp-block-navigation-item {
        min-width: 0;
        text-align: center;
    }

    .site-header-personal-menu.wp-block-navigation
    .wp-block-navigation-item__content {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.2rem;

        min-height: 3.5rem;
        padding: 0.35rem 0.25rem;

        text-align: center;
        line-height: 1.2;
    }

    .site-header-personal-menu
    .wp-block-navigation-item.current-menu-item
    .wp-block-navigation-item__content {
        color: var(--wp--preset--color--soft-sage);
        font-weight: 600;
    }

    .site-header-personal-menu
    .wp-block-navigation-item__label {
        white-space: nowrap;
    }
}

/* ---------------------------------------------------------
   Header — User control
   --------------------------------------------------------- */

.site-header-user-navigation {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    margin-left: 1rem;
}

.site-user-control {
    position: relative;
}

.site-user-control-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 2.75rem;
    height: 2.75rem;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 999px;

    background: var(--wp--preset--color--soft-sage);
    color: inherit;

    cursor: pointer;
    list-style: none;
}

.site-user-control-trigger::-webkit-details-marker {
    display: none;
}

.site-user-control-trigger::marker {
    display: none;
}

.site-user-control-trigger:hover,
.site-user-control-trigger:focus-visible {
    background: var(--wp--preset--color--soft-sage);
}

.site-user-control-trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

/*
 * Authenticated user
 *
 * Initials provide a quiet personal identity cue without
 * introducing profile photography or a separate avatar system.
 */
.site-user-control-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    border-radius: 999px;

    background: var(--wp--preset--color--soft-sand);
    color: var(--wp--preset--color--deep-earth);

    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
}

/*
 * Visitor
 *
 * Lucide-style UserRound outline.
 */
.site-user-control-icon {
    display: block;

    width: 1.25rem;
    height: 1.25rem;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;

    flex-shrink: 0;
}

.site-user-control-menu {
    position: absolute;
    top: calc(100% + 0.75rem);
    right: 0;
    z-index: 20;

    display: flex;
    flex-direction: column;

    min-width: 10rem;
    padding: 0.5rem;

    border: 1px solid color-mix(
        in srgb,
        currentColor 15%,
        transparent
    );

    border-radius: 0.75rem;

    background: var(--wp--preset--color--warm-white);

    box-shadow:
        0 0.5rem 1.5rem
        rgb(0 0 0 / 8%);
}

.site-user-control-link {
    display: block;

    padding: 0.65rem 0.75rem;

    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.site-user-control-link:hover,
.site-user-control-link:focus-visible {
    background: var(--wp--preset--color--soft-sand);
}

.site-user-control-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

/* ============================================================
 * Public catalog cards
 * ============================================================ */

.journey-card,
.learning-card,
.healing-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 2rem;
        border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
        border-radius: 1rem;
        margin-bottom: 2rem;
        box-sizing: border-box;
}

.journey-card > *,
.learning-card > *,
.healing-card > * {
        max-width: 100%;
}

.journey-card h2,
.learning-card h2,
.healing-card h2 {
        margin-top: 0;
}

/* Single content featured images */

.single-ll_journey .wp-block-post-featured-image,
.single-ll_learning_program .wp-block-post-featured-image,
.single-ll_healing_service .wp-block-post-featured-image {
        width: 100%;
        margin-top: 0;
        margin-bottom: 2.5rem;
        overflow: hidden;
        border-radius: 1rem;
}

.single-ll_journey .wp-block-post-featured-image img,
.single-ll_learning_program .wp-block-post-featured-image img,
.single-ll_healing_service .wp-block-post-featured-image img {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
}

/* ============================================================
 * Learning Program — introduction
 * ============================================================ */

.single-ll_learning_program .learning-program-intro {
    margin-bottom: 3.5rem;
}

.single-ll_learning_program .learning-program-intro
.wp-block-post-title {
    margin-top: 2rem;
    margin-bottom: 1.75rem;
}

.single-ll_learning_program .learning-program-intro
.wp-block-post-excerpt {
    max-width: 680px;
    margin: 0 auto;
}

.single-ll_learning_program .learning-program-meta {
    max-width: 680px;
    margin: 2.5rem auto 0;
    padding: 1.75rem 2rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );
    border-radius: 0.75rem;
    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand) 68%,
        var(--wp--preset--color--warm-white)
    );
    text-align: center;
}

.single-ll_learning_program .learning-program-meta-heading {
    margin: 0 0 1.25rem;
    color: var(--wp--preset--color--soft-sage);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.single-ll_learning_program .learning-program-meta-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
}

.single-ll_learning_program .learning-program-meta-item {
    min-width: 0;
}

.single-ll_learning_program .learning-program-meta-label,
.single-ll_learning_program .learning-program-meta-value {
    display: block;
}

.single-ll_learning_program .learning-program-meta-label {
    margin-bottom: 0.25rem;
    font-size: 0.78rem;
    opacity: 0.68;
}

.single-ll_learning_program .learning-program-meta-value {
    font-weight: 500;
}

.single-ll_learning_program .learning-program-meta-energy {
    margin-top: 1.35rem;
    padding-top: 1.25rem;
    border-top: 1px solid color-mix(
        in srgb,
        currentColor 9%,
        transparent
    );
}

.single-ll_learning_program .learning-program-meta-energy
.learning-program-meta-label {
    margin-bottom: 0.25rem;
}

.single-ll_learning_program .learning-program-meta-energy
.learning-program-meta-value {
    font-weight: 500;
}

@media (max-width: 600px) {

    .single-ll_learning_program .learning-program-intro {
        margin-bottom: 3rem;
    }

    .single-ll_learning_program .learning-program-intro
    .wp-block-post-title {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .single-ll_learning_program .learning-program-meta {
        margin-top: 2rem;
        padding: 1.5rem;
        border-radius: 0.75rem;
    }

    .single-ll_learning_program .learning-program-meta-details {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .single-ll_learning_program .learning-program-meta-label {
        font-size: 0.72rem;
    }

}

/* Public catalog links */
.journey-card .wp-block-post-title a,
.journey-card .wp-block-read-more,
.learning-card .wp-block-post-title a,
.learning-card .wp-block-read-more,
.healing-card .wp-block-post-title a,
.healing-card .wp-block-read-more {
        color: var(--wp--preset--color--deep-earth);
}

.journey-card .wp-block-post-title a:hover,
.journey-card .wp-block-read-more:hover,
.learning-card .wp-block-post-title a:hover,
.learning-card .wp-block-read-more:hover,
.healing-card .wp-block-post-title a:hover,
.healing-card .wp-block-read-more:hover {
        color: var(--wp--preset--color--deep-earth);
}

/* Catalog card actions */

.learning-card-actions,
.healing-card-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.75rem;
        margin-top: 1.5rem;
}

.learning-card-actions .learning-interest-form,
.healing-card-actions .healing-request-form {
        display: flex;
        align-items: center;
        margin: 0;
}

.learning-interest-button,
.healing-request-button,
.learning-interest-form button,
.healing-request-form button {
        white-space: nowrap;
}

.journey-card .wp-block-read-more {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

/* ============================================================
 * Learning Catalog — card presentation
 * ============================================================ */

.learning-card {
    min-width: 0;
    overflow: hidden;
}

/*
 * Learning card featured images must occupy the full usable
 * card width and must not be affected by WordPress alignment
 * or width rules attached to individual images.
 */
.learning-card > .wp-block-post-featured-image,
.learning-card > .wp-block-post-featured-image.alignleft,
.learning-card > .wp-block-post-featured-image.alignright,
.learning-card > .wp-block-post-featured-image.aligncenter {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-top: 0;
    margin-right: 0 !important;
    margin-bottom: 1.5rem;
    margin-left: 0 !important;
    float: none !important;
    clear: both;
    box-sizing: border-box;
}

.learning-card > .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 0;
    object-fit: cover;
}

.learning-card > .wp-block-post-title {
    margin-top: 0;
    margin-bottom: 1rem;
}

.learning-card > .wp-block-post-excerpt {
    margin-bottom: 1.25rem;
}

.learning-card .learning-program-meta {
    margin-top: 1.25rem;
}

.learning-card-actions {
    margin-top: 1.5rem;
}

/* ============================================================
 * Learning Catalog — Program Details
 * ============================================================ */

.learning-card .learning-program-meta {
    width: 100%;
    box-sizing: border-box;

    margin-top: 1.5rem;
    padding: 1.35rem 1.5rem;

    border: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );

    border-radius: 0.75rem;

    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand) 55%,
        var(--wp--preset--color--warm-white)
    );

    text-align: center;
}

.learning-card .learning-program-meta-heading {
    margin: 0 0 1.1rem;

    color: var(--wp--preset--color--soft-sage);

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
}

.learning-card .learning-program-meta-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;

    margin: 0;
}

.learning-card .learning-program-meta-item {
    min-width: 0;
}

.learning-card .learning-program-meta-label,
.learning-card .learning-program-meta-value {
    display: block;
}

.learning-card .learning-program-meta-label {
    margin-bottom: 0.25rem;

    font-size: 0.76rem;
    line-height: 1.35;
    opacity: 0.68;
}

.learning-card .learning-program-meta-value {
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 500;
}

.learning-card .learning-program-meta-energy {
    margin: 1.2rem 0 0;
    padding-top: 1rem;

    border-top: 1px solid color-mix(
        in srgb,
        currentColor 9%,
        transparent
    );
}

.learning-card .learning-program-meta-energy
.learning-program-meta-label {
    display: block;
    margin-bottom: 0.25rem;

    font-size: 0.76rem;
    line-height: 1.35;
    opacity: 0.68;
}

.learning-card .learning-program-meta-energy
.learning-program-meta-value {
    display: block;

    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 500;
}


/* ============================================================
 * Learning Catalog — Program Details — mobile
 * ============================================================ */

@media (max-width: 600px) {

    .learning-card .learning-program-meta {
        padding: 1.2rem 1rem;
    }

    .learning-card .learning-program-meta-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem 0.75rem;
    }

    .learning-card .learning-program-meta-heading {
        font-size: 0.7rem;
    }

    .learning-card .learning-program-meta-label,
    .learning-card .learning-program-meta-energy
    .learning-program-meta-label {
        font-size: 0.72rem;
    }

    .learning-card .learning-program-meta-value,
    .learning-card .learning-program-meta-energy
    .learning-program-meta-value {
        font-size: 0.86rem;
    }
}

/* ============================================================
 * Healing Catalog — card presentation
 * ============================================================ */

.healing-card {
    min-width: 0;
    overflow: hidden;
}

.healing-card > .wp-block-post-featured-image,
.healing-card > .wp-block-post-featured-image.alignleft,
.healing-card > .wp-block-post-featured-image.alignright,
.healing-card > .wp-block-post-featured-image.aligncenter {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-top: 0;
    margin-right: 0 !important;
    margin-bottom: 1.5rem;
    margin-left: 0 !important;
    float: none !important;
    clear: both;
    box-sizing: border-box;
}

.healing-card > .wp-block-post-featured-image img {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    margin: 0;
    object-fit: cover;
}

.healing-card > .wp-block-post-title {
    margin-top: 0;
    margin-bottom: 1rem;
}

.healing-card > .wp-block-post-excerpt {
    margin-bottom: 1.25rem;
}

.healing-card .healing-service-meta {
    width: 100%;
    box-sizing: border-box;

    margin-top: 1.5rem;
    padding: 1.35rem 1.5rem;

    border: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );

    border-radius: 0.75rem;

    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand) 55%,
        var(--wp--preset--color--warm-white)
    );

    text-align: center;
}

.healing-card .healing-service-meta-heading {
    margin: 0 0 1.1rem;

    color: var(--wp--preset--color--soft-sage);

    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-transform: uppercase;
}

.healing-card .healing-service-meta-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;

    margin: 0;
}

.healing-card .healing-service-meta-item {
    min-width: 0;
}

.healing-card .healing-service-meta-label,
.healing-card .healing-service-meta-value {
    display: block;
}

.healing-card .healing-service-meta-label {
    margin-bottom: 0.25rem;

    font-size: 0.72rem;
    opacity: 0.68;
}

.healing-card .healing-service-meta-value {
    font-size: 0.86rem;
    font-weight: 500;
}

.healing-card .healing-service-meta-energy {
    margin: 1.25rem 0 0;
    padding-top: 1.15rem;

    border-top: 1px solid color-mix(
        in srgb,
        currentColor 9%,
        transparent
    );
}

.healing-card .healing-service-meta-energy
.healing-service-meta-label {
    margin-bottom: 0.25rem;
}

.healing-card .healing-service-meta-energy
.healing-service-meta-value {
    font-size: 0.86rem;
    font-weight: 500;
}

@media (max-width: 600px) {

    .healing-card .healing-service-meta {
        padding: 1.25rem;
        border-radius: 0.75rem;
    }

    .healing-card .healing-service-meta-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .healing-card .healing-service-meta-label {
        font-size: 0.68rem;
    }

    .healing-card .healing-service-meta-value,
    .healing-card .healing-service-meta-energy
    .healing-service-meta-value {
        font-size: 0.82rem;
    }
}

/* ============================================================
 * Single catalogue CTA actions
 * ============================================================ */

.single-ll_learning_program .learning-interest-form,
.single-ll_healing_service .healing-request-form {
        display: flex;
        justify-content: center;
        margin-top: 1.5rem;
}

@media (max-width: 781px) {
    .learning-card-actions,
    .healing-card-actions {
        align-items: stretch;
    }

    .learning-card-actions .wp-block-read-more,
    .healing-card-actions .wp-block-read-more,
    .learning-card-actions .learning-interest-form button,
    .healing-card-actions .healing-request-form button {
        min-height: 2.75rem;
    }
}

/* ============================================================
 * Journey archive grid
 * ============================================================ */

.journey-archive-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
}

.journey-archive-grid > .journey-card {
        width: auto;
        min-width: 0;
        margin-bottom: 0;
}

/*
 * Journey card featured images must always occupy the full card width.
 * Explicitly neutralize WordPress alignment/float/width rules so that
 * individual posts cannot make one card behave differently from the rest.
 */
.journey-archive-grid .journey-card > .wp-block-post-featured-image,
.journey-archive-grid .journey-card > .wp-block-post-featured-image.alignleft,
.journey-archive-grid .journey-card > .wp-block-post-featured-image.alignright,
.journey-archive-grid .journey-card > .wp-block-post-featured-image.aligncenter {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
        flex: 0 0 auto;
        align-self: stretch;
        float: none !important;
        clear: both;
        margin-top: 0;
        margin-right: 0 !important;
        margin-bottom: 1.5rem;
        margin-left: 0 !important;
        box-sizing: border-box;
}

.journey-archive-grid .journey-card > .wp-block-post-featured-image img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto;
        margin: 0;
        object-fit: cover;
}

@media (max-width: 781px) {
        .journey-archive-grid {
                grid-template-columns: 1fr;
        }
}

/* ============================================================
 * Inner Guide — Five Quiet Moments
 * ============================================================ */

.inner-guide-page {
    padding: 3.5rem 1.5rem 5rem;
}

.inner-guide-container {
    width: 100%;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}

.inner-guide-hero {
    position: relative;
    min-height: 260px;
    margin-bottom: 1.5rem;
    overflow: hidden;
    border-radius: 1rem;
    background-image:
        linear-gradient(90deg, rgba(0, 0, 0, 0.56), rgba(0, 0, 0, 0.08)),
        var(--inner-guide-hero-image);
    background-position: center;
    background-size: cover;
}

.inner-guide-hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
    box-sizing: border-box;
    color: #fff;
}

.inner-guide-hero-eyebrow {
    margin: 0 0 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.inner-guide-hero h1 {
    margin: 0 0 0.5rem;
    color: inherit;
}

.inner-guide-hero p:last-child {
    max-width: 42rem;
    margin: 0;
    font-size: 1.05rem;
}

.inner-guide-tabs {
    display: flex;
    justify-content: flex-start;
    gap: 0.5rem;
    margin-bottom: 0;
    padding: 1.25rem 1.5rem 0;
    border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    border-bottom: 0;
    border-radius: 1rem 1rem 0 0;
    background: var(--wp--preset--color--base, #fff);
}

.inner-guide-tabs a {
    padding: 0.65rem 1rem 0.8rem;
    border-bottom: 2px solid transparent;
    color: inherit;
    text-decoration: none;
}

.inner-guide-tabs a.is-active {
    border-bottom-color: currentColor;
}

.inner-guide-question,
.inner-guide-guidance,
.inner-guide-history {
    padding: 1.5rem;
    border-right: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    border-left: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    background: var(--wp--preset--color--base, #fff);
}

.inner-guide-question {
    padding-top: 1.5rem;
}

.inner-guide-question form {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.inner-guide-question label {
    font-weight: 600;
}

.inner-guide-question textarea {
    width: 100%;
    min-height: 150px;
    box-sizing: border-box;
    padding: 1rem;
    border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
    border-radius: 0.75rem;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1.6;
    resize: vertical;
}

.inner-guide-question textarea:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.inner-guide-question button,
.inner-guide-begin button {
    align-self: flex-start;
    cursor: pointer;
}

.inner-guide-question button:focus-visible,
.inner-guide-begin button:focus-visible,
.inner-guide-response-navigation button:focus-visible,
.inner-guide-back-to-top:focus-visible {
    outline: 2px solid var(--wp--preset--color--quiet-gold);
    outline-offset: 3px;
}

.inner-guide-guidance {
    padding-top: 0.5rem;
    padding-bottom: 2rem;
    border-top: 0;
}

.inner-guide-response-intro {
    margin-bottom: 1.5rem;
}

.inner-guide-response-stage {
    position: relative;
    min-height: 270px;
    display: flex;
    align-items: center;
}

.inner-guide-stage {
    width: 100%;
    padding: 2.25rem 1.75rem;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
    border-radius: 1rem;
    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand, #f4efe7) 55%,
        transparent
    );
    text-align: center;
}

.inner-guide-stage-label {
    margin: 0 0 0.45rem;
    font-size: 1.3rem;
    font-weight: 600;
}

.inner-guide-stage-invitation {
    margin: 0 auto 1.5rem;
    opacity: 0.68;
    font-style: italic;
}

.inner-guide-stage-content {
    max-width: 42rem;
    margin: 0 auto;
    font-size: 1.05rem;
    line-height: 1.75;
}

.inner-guide-stage-content p {
    margin: 0;
}

.inner-guide-stage-content ol {
    margin: 0;
    padding-left: 1.4rem;
    text-align: left;
}

.inner-guide-stage-content li {
    text-align: left;
}

.inner-guide-stage-content li + li {
    margin-top: 0.65rem;
}

.inner-guide-response-navigation {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
}

.inner-guide-response-navigation button {
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.inner-guide-response-navigation button:disabled {
    visibility: hidden;
}

.inner-guide-response-back {
    justify-self: start;
}

.inner-guide-response-next {
    justify-self: end;
}

.inner-guide-response-position {
    font-size: 0.8rem;
    opacity: 0.62;
    white-space: nowrap;
}

.inner-guide-response-history {
    margin-top: 2rem;
}

.inner-guide-response-history .inner-guide-response-stage {
    min-height: 220px;
}

.inner-guide-response-history .inner-guide-stage {
    padding: 1.75rem;
    text-align: left;
}

.inner-guide-response-history .inner-guide-stage-content {
    max-width: none;
    font-size: 0.98rem;
}

.inner-guide-empty {
    margin-top: 0;
    padding: 2rem;
    text-align: center;
}

.inner-guide-section-header {
    margin-bottom: 1.5rem;
}

.inner-guide-section-header h2 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.inner-guide-section-header p {
    margin-bottom: 0;
}

.inner-guide-history-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.inner-guide-history-item {
    display: block;
    padding: 1.25rem 1.5rem;
    border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    border-radius: 0.9rem;
    color: inherit;
}

.inner-guide-history-item:hover {
    border-color: color-mix(in srgb, currentColor 25%, transparent);
}

.inner-guide-history-item:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.inner-guide-history-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style-position: outside;
}

.inner-guide-history-item summary::marker {
    font-size: 0.8em;
}

.inner-guide-history-item[open] summary {
    margin-bottom: 2rem;
}

.inner-guide-history-date,
.inner-guide-history-question {
    display: block;
}

.inner-guide-history-date {
    margin-bottom: 0.25rem;
    font-size: 0.8rem;
    opacity: 0.7;
}

.inner-guide-history-question {
    line-height: 1.5;
}

.inner-guide-history-arrow {
    flex: 0 0 auto;
    font-size: 1.25rem;
}

.inner-guide-history-detail {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.inner-guide-history-detail-question {
    margin-bottom: 2rem;
    font-size: 1.05rem;
}

.inner-guide-back-to-top {
    margin-top: 1.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
}

@media (max-width: 600px) {
    .inner-guide-page {
        padding: 2rem 1rem 3.5rem;
    }

    .inner-guide-hero {
        min-height: 230px;
        margin-bottom: 1rem;
    }

    .inner-guide-hero-overlay {
        padding: 1.5rem;
    }

    .inner-guide-hero h1 {
        font-size: clamp(2rem, 9vw, 2.7rem);
    }

    .inner-guide-hero p:last-child {
        font-size: 0.95rem;
    }

    .inner-guide-tabs {
        padding: 0.75rem 0.75rem 0;
    }

    .inner-guide-tabs a {
        flex: 1;
        padding-left: 0.35rem;
        padding-right: 0.35rem;
        text-align: center;
    }

    .inner-guide-question,
    .inner-guide-guidance,
    .inner-guide-history {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .inner-guide-question button,
    .inner-guide-begin button {
        width: 100%;
        text-align: center;
    }

    .inner-guide-response-stage {
        min-height: 0;
    }

    .inner-guide-stage {
        padding: 1.75rem 1.25rem;
    }

    .inner-guide-response-navigation {
        grid-template-columns: 1fr auto 1fr;
        gap: 0.5rem;
    }

    .inner-guide-response-position {
        font-size: 0.75rem;
    }

    .inner-guide-history-item {
        padding: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .inner-guide-page * {
        scroll-behavior: auto !important;
    }
}

.wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation__responsive-container-close {
        right: 1.5rem;
}

.personal-space-container {
  width: 100%;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================================
 * Personal Space
 * ============================================================ */

.personal-space-page {
    padding: 3.5rem 1.5rem 5rem;
    box-sizing: border-box;
}

.personal-space-page .personal-space-container {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.personal-space-eyebrow {
    margin-bottom: 1rem;
}

.personal-space-section {
    margin-top: 2.25rem;
}

.personal-space-section > h2 {
    margin-top: 0;
    margin-bottom: 1rem;
    padding: 0.55rem 0.75rem;
    background: var(--wp--preset--color--soft-sand);
    box-sizing: border-box;
}

.personal-space-profile .profile-section > h2 {
    padding: 0.4rem 0.65rem;
    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand) 55%,
        transparent
    );
}

/* Daily Pause */

.personal-space-daily-pause {
    padding: 2rem;
}

.personal-space-daily-pause-content > :first-child {
    margin-top: 0;
}

.personal-space-daily-pause-content > :last-child {
    margin-bottom: 0;
}

/* My Space — Journey list */

.personal-space-journey-subsection {
    margin-top: 2rem;
}

.personal-space-subheading {
    margin: 0 0 0.75rem;
    font-size: 1rem;
    font-weight: 600;
}

.personal-space-list {
    margin-top: 0;
}

.personal-space-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;

    padding: 1rem 0;

    border-bottom: 1px solid color-mix(
        in srgb,
        currentColor 22%,
        transparent
    );
}

.personal-space-list-item:first-child {
    padding-top: 0;
}

.personal-space-list-content {
    min-width: 0;
}

.personal-space-list-content h4 {
    margin: 0;
}

.personal-space-list-action {
    flex: 0 0 auto;
    margin-left: auto;
    text-align: right;
}

.personal-space-status {
    display: inline-block;
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.65;
}

.personal-space-compact-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 0;

    background: transparent;
    color: var(--wp--preset--color--deep-earth);

    font: inherit;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.personal-space-compact-cta:hover,
.personal-space-compact-cta:focus-visible {
    background: transparent;
    color: var(--wp--preset--color--deep-earth);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.personal-space-compact-cta:focus-visible {
    outline: 2px solid var(--wp--preset--color--deep-earth);
    outline-offset: 4px;
}

.personal-space-start-again-form {
    margin: 0;
}

.personal-space-action-placeholder {
    color: var(--wp--preset--color--deep-earth);
}

.personal-space-journey-empty {
    margin-top: 1.5rem;
}

.personal-space-journey-empty p {
    max-width: 38rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.personal-space-payment-meta {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.9rem;
    opacity: 0.65;
}

.personal-space-support p {
    margin-bottom: 0;
}

.personal-space-support a {
    margin-left: 0.25rem;
    color: inherit;
    text-underline-offset: 0.2em;
}

@media (max-width: 600px) {

    .personal-space-list-item {
        gap: 1rem;
    }

    .personal-space-list-content h4 {
        line-height: 1.4;
    }

}

/* Recommendations */

.personal-space-recommendation-card {
    margin-top: 1.5rem;
    padding: 2rem;
}

.personal-space-recommendation-card h3 {
    margin-top: 0;
}

/* Payment requests */

.personal-space-payment-form {
    margin-top: 1.5rem;
}

/* ============================================================
 * Personal Journey Experience
 * ============================================================ */

.journey-experience {
    box-sizing: border-box;
    padding: 3.25rem 1.5rem 5rem;
}

.journey-experience-container {
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
}

.journey-experience-eyebrow {
    margin: 0 0 0.65rem;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
}

.journey-experience-title { margin: 0; }

.journey-experience-complete,
.journey-experience-waiting {
    margin-top: 2.75rem;
    padding: 1.75rem;
    box-sizing: border-box;
    text-align: center;
}

.journey-experience-complete > :first-child,
.journey-experience-waiting > :first-child { margin-top: 0; }
.journey-experience-complete > :last-child,
.journey-experience-waiting > :last-child { margin-bottom: 0; }

.journey-experience-day { margin-top: 2.5rem; }

.journey-experience-day-header {
    margin-bottom: 2.5rem;
    text-align: center;
}

.journey-experience-day-number {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
}

.journey-experience-day-title { margin: 0; }

.journey-experience-steps { margin: 2rem auto 0; }

.journey-experience-steps ol {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 30rem;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.journey-experience-steps li {
    position: relative;
    flex: 1 1 0;
    padding: 0.55rem 0.5rem 0;
    color: color-mix(in srgb, currentColor 45%, transparent);
    font-size: 0.82rem;
    line-height: 1.3;
    text-align: center;
}

.journey-experience-steps li::before {
    content: '';
    display: block;
    width: 0.45rem;
    height: 0.45rem;
    margin: 0 auto 0.45rem;
    border: 1px solid currentColor;
    border-radius: 50%;
}

.journey-experience-steps li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 0.76rem;
    left: calc(50% + 0.4rem);
    width: calc(100% - 0.8rem);
    border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.journey-experience-steps li.is-current {
    color: var(--wp--preset--color--deep-earth);
    font-weight: 600;
}

.journey-experience-steps li.is-current::before,
.journey-experience-steps li.is-completed::before {
    background: var(--wp--preset--color--soft-sage);
    border-color: var(--wp--preset--color--soft-sage);
}

.journey-experience-flow { position: relative; }

.journey-experience-panel {
    display: flex;
    flex-direction: column;
    min-height: 25rem;
    padding: 2.5rem;
    box-sizing: border-box;
    border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--wp--preset--color--warm-white) 82%, var(--wp--preset--color--soft-sand));
}

.journey-experience-panel[hidden] { display: none; }
.journey-experience-panel-content { flex: 1 1 auto; }

.journey-experience-panel-label {
    margin: 0 0 0.75rem;
    color: var(--wp--preset--color--soft-sage);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.journey-experience-panel-title {
    max-width: 38rem;
    margin: 0 0 1.75rem;
    font-size: clamp(1.35rem, 3vw, 1.7rem);
    line-height: 1.35;
}

.journey-experience-practice {
    margin: 0;
    padding: 1.5rem;
    box-sizing: border-box;
    border-left: 3px solid var(--wp--preset--color--soft-sage);
    background: var(--wp--preset--color--soft-sand);
}

.journey-experience-practice > :first-child { margin-top: 0; }
.journey-experience-practice > :last-child { margin-bottom: 0; }

.journey-experience-prompt {
    max-width: 38rem;
    margin: 0 0 1.5rem;
    font-size: 1.05rem;
    line-height: 1.7;
}

.journey-experience-field-label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.journey-experience-textarea {
    width: 100%;
    min-height: 7rem;
    box-sizing: border-box;
    padding: 0.85rem 1rem;
    border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: 0.6rem;
    background: var(--wp--preset--color--warm-white);
    color: inherit;
    font: inherit;
    line-height: 1.6;
    resize: vertical;
}

.journey-experience-textarea:focus-visible {
    outline: 2px solid var(--wp--preset--color--deep-earth);
    outline-offset: 2px;
}

.journey-experience-panel-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2.25rem;
}

.journey-experience-panel-actions-single { justify-content: center; }

.journey-experience-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.7rem 1rem;
    border: 0;
    background: transparent;
    color: var(--wp--preset--color--deep-earth);
    font: inherit;
    line-height: 1.2;
    cursor: pointer;
}

.journey-experience-secondary-action:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.journey-experience-secondary-action:focus-visible {
    outline: 2px solid var(--wp--preset--color--deep-earth);
    outline-offset: 3px;
}

.journey-experience-completed-day {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.journey-experience-completed-section,
.journey-experience-reflection,
.journey-experience-journal { margin: 0; }

.journey-experience-section-title { margin: 0 0 0.75rem; }
.journey-experience-entry-label { margin: 1.5rem 0 0.5rem; }
.journey-experience-entry { padding: 0; }
.journey-experience-complete-note { margin: 0; }

.journey-experience-edit {
    padding-top: 1.25rem;
    border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.journey-experience-edit summary { cursor: pointer; }
.journey-experience-edit-form { margin-top: 1.5rem; }
.journey-experience-edit-label { margin: 1.5rem 0 0.5rem; }
.journey-experience-edit-actions { margin-top: 1.5rem; }

.journey-experience-progress {
    margin-top: 3.5rem;
    padding-top: 2.25rem;
    border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.journey-experience-progress > hr { display: none; }
.journey-experience-progress-title { margin-top: 0; }
.journey-experience-progress-list { margin-top: 1.25rem; }
.journey-experience-progress-item { margin: 0 0 0.75rem; }
.journey-experience-progress-item:last-child { margin-bottom: 0; }
.journey-experience-progress-waiting { margin-top: 1.5rem; }

@media (max-width: 600px) {
    .journey-experience { padding-top: 2.5rem; padding-bottom: 4rem; }
    .journey-experience-day { margin-top: 2rem; }
    .journey-experience-day-header { margin-bottom: 2rem; }
    .journey-experience-steps { margin-top: 1.5rem; }
    .journey-experience-steps li { font-size: 0.75rem; }
    .journey-experience-panel { min-height: 0; padding: 1.5rem; border-radius: 0.85rem; }
    .journey-experience-panel-title { margin-bottom: 1.5rem; }
    .journey-experience-practice { padding: 1.25rem; }
    .journey-experience-panel-actions { align-items: stretch; flex-direction: column-reverse; gap: 0.5rem; margin-top: 2rem; }
    .journey-experience-panel-actions-single { flex-direction: column; }
    .journey-experience-panel-actions .wp-element-button,
    .journey-experience-panel-actions .journey-experience-secondary-action { width: 100%; }
    .journey-experience-completed-day { gap: 2rem; }
    .journey-experience-progress { margin-top: 3rem; }
}


/* ============================================================
 * Personal Journey — completed day
 * ============================================================ */

.journey-experience-completion-status {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
    padding: 2rem;
    border: 1px solid color-mix(
        in srgb,
        var(--wp--preset--color--soft-sage) 45%,
        transparent
    );
    border-radius: 1rem;
    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand) 72%,
        var(--wp--preset--color--warm-white)
    );
}

.journey-experience-completion-status-icon {
    display: grid;
    flex: 0 0 4rem;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border-radius: 50%;
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
    font-size: 2rem;
    line-height: 1;
}

.journey-experience-completion-status-label {
    margin: 0 0 0.35rem;
    color: var(--wp--preset--color--soft-sage);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.journey-experience-completion-status-title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.35rem, 3vw, 1.7rem);
}

.journey-experience-completion-status-message {
    margin: 0;
    line-height: 1.65;
}

.journey-experience-completion-parts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid color-mix(
        in srgb,
        currentColor 12%,
        transparent
    );
}

.journey-experience-completion-part {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

.journey-experience-completion-part-icon {
    display: grid;
    flex: 0 0 1.55rem;
    width: 1.55rem;
    height: 1.55rem;
    place-items: center;
    border-radius: 50%;
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
    font-size: 0.82rem;
    line-height: 1;
}

.journey-experience-completion-part-icon.is-pending {
    border: 1px solid color-mix(
        in srgb,
        var(--wp--preset--color--soft-sage) 55%,
        transparent
    );
    background: transparent;
    color: var(--wp--preset--color--soft-sage);
}

.journey-experience-completion-part strong,
.journey-experience-completion-part small {
    display: block;
}

.journey-experience-completion-part strong {
    line-height: 1.3;
}

.journey-experience-completion-part small {
    margin-top: 0.15rem;
    opacity: 0.7;
}

.journey-experience-completed-section {
    margin-bottom: 2rem;
}

.journey-experience-completed-section .journey-experience-practice {
    margin-bottom: 0;
}

.journey-experience-completed-day .journey-experience-reflection,
.journey-experience-completed-day .journey-experience-journal {
    margin-bottom: 2rem;
}

.journey-experience-completed-day .journey-experience-edit {
    margin-top: 0;
}

@media (max-width: 600px) {
    .journey-experience-completion-status {
        align-items: flex-start;
        gap: 1rem;
        padding: 1.5rem;
    }

    .journey-experience-completion-status-icon {
        flex-basis: 3.25rem;
        width: 3.25rem;
        height: 3.25rem;
        font-size: 1.65rem;
    }

    .journey-experience-completion-parts {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        margin-bottom: 2rem;
        padding-bottom: 1.5rem;
    }
}

/* ============================================================
 * Profile
 * ============================================================ */

.profile-page .profile-form {
    margin-top: 3rem;
}

.profile-section {
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

.profile-section > h2 {
    margin-top: 0;
    margin-bottom: 1rem;
}

.profile-section > p:first-of-type {
    margin-top: 0;
}

.profile-section > p:last-child {
    margin-bottom: 0;
}

/* Profile fields */

.profile-section label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.profile-section input[type="text"],
.profile-section input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.75rem 1rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 20%,
        transparent
    );
    border-radius: 0.5rem;
    background: transparent;
    color: inherit;
    font: inherit;
}

.profile-section input[type="text"]:focus,
.profile-section input[type="email"]:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.profile-section input[readonly] {
    opacity: 0.7;
}

/* Preferred topics */

.profile-topic-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.profile-topic-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0;
    padding: 0.9rem 1rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 12%,
        transparent
    );
    border-radius: 0.75rem;
    cursor: pointer;
    font-weight: 400;
}

.profile-topic-option input[type="checkbox"] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--wp--preset--color--deep-earth);
}

.profile-topic-option:has(input[type="checkbox"]:checked) {
    background: var(--wp--preset--color--soft-sand);
}

/* Notices */

.profile-notice {
    margin-top: 2rem;
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
}

.profile-notice p {
    margin: 0;
}

/* Actions */

.profile-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}

.profile-actions .wp-block-button {
    margin: 0;
}

.profile-actions .wp-block-button__link {
    min-height: 3rem;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.profile-back-button {
    background: transparent !important;
    color: var(--wp--preset--color--deep-earth) !important;
    border: 1px solid color-mix(
        in srgb,
        currentColor 25%,
        transparent
    );
}

.profile-back-button:hover {
    background: color-mix(
        in srgb,
        currentColor 5%,
        transparent
    ) !important;
    color: var(--wp--preset--color--deep-earth) !important;
}

.profile-actions .wp-block-button__link:focus-visible {
    outline: 2px solid var(--wp--preset--color--deep-earth) !important;
    outline-offset: 4px !important;
}

/* Profile entry point from My Space */

.personal-space-profile-action {
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    justify-content: center;
}

.personal-space-profile-action .wp-block-button {
    margin: 0;
}

/* Mobile */

@media (max-width: 600px) {
    .profile-page {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .profile-section {
        padding: 0;
    }

    .profile-topic-list {
        grid-template-columns: 1fr;
    }

    .profile-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .profile-actions .wp-block-button,
    .profile-actions .wp-block-button__link {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .personal-space-profile-action {
        margin-top: 1.25rem;
        margin-bottom: 1.5rem;
    }
}

/* ---------------------------------------------------------
   Home — Daily Pause
   --------------------------------------------------------- */

.daily-pause-card {
    padding: 3rem 2rem;
    background: var(--wp--preset--color--soft-sand);
    border-radius: 1rem;
}

.daily-pause-header {
    max-width: 640px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.daily-pause-eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.daily-pause-header h2 {
    margin: 0;
}

.daily-pause-steps {
    max-width: 640px;
    margin: 0 auto;
}

.daily-pause-step {
    text-align: center;
}

.daily-pause-step[hidden] {
    display: none;
}

.daily-pause-step-label {
    margin: 0 0 0.75rem;
    font-size: 0.9rem;
    opacity: 0.7;
}

.daily-pause-step h3 {
    margin: 0 0 1rem;
}

.daily-pause-step-content > :first-child {
    margin-top: 0;
}

.daily-pause-step-content > :last-child {
    margin-bottom: 0;
}

.daily-pause-navigation {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    width: 100%;
    margin-top: 2.5rem;
}

.daily-pause-navigation-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 5rem;
    height: auto !important;
    min-height: 2.75rem;
    margin: 0 !important;
    padding: 0.65rem 1rem !important;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1.2;
    cursor: pointer;
    box-sizing: border-box;
}

.daily-pause-navigation-button:hover:not(:disabled),
.daily-pause-navigation-button:focus-visible:not(:disabled) {
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
}

.daily-pause-navigation-button:focus-visible {
    outline: 2px solid var(--wp--preset--color--soft-sage);
    outline-offset: 3px;
}

.daily-pause-navigation-button:disabled {
    opacity: 0.35;
    cursor: default;
}

.daily-pause-progress {
    display: inline-block !important;
    width: auto !important;
    min-width: 3rem;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.2;
    opacity: 0.7;
}

@media (max-width: 600px) {
    .daily-pause-card {
        padding: 2rem 1.25rem;
    }

    .daily-pause-navigation {
        gap: 1rem;
    }
}

/* ---------------------------------------------------------
   Home
   --------------------------------------------------------- */

.home-page {
    padding-bottom: 5rem;
}

/* ---------------------------------------------------------
   Home — Hero
   --------------------------------------------------------- */

.home-hero {
    position: relative;
    min-height: 34rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
    padding: 5rem 1.5rem;
    overflow: hidden;
    text-align: center;
}

/* Hero image */

.home-hero .wp-block-post-featured-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.home-hero .wp-block-post-featured-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-hero .wp-block-cover__image-background {
    object-position: center center;
}

/* Hero readability overlay */

.home-hero .wp-block-cover__background {
    z-index: 1;
    opacity: 1 !important;
    background:
        linear-gradient(
            180deg,
            rgba(35, 38, 34, 0.42),
            rgba(35, 38, 34, 0.58)
        ) !important;
}

/* Hero content */

.home-hero .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    width: 100%;
    color: var(--wp--preset--color--white);
}

.home-hero .wp-block-cover__inner-container > .wp-block-group {
    width: 100%;
    max-width: 720px;
    margin-inline: auto;
}

.home-hero .wp-block-cover__inner-container h1,
.home-hero .wp-block-cover__inner-container p {
    color: var(--wp--preset--color--white);
}

.home-hero-eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.8rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.home-hero h1 {
    margin: 0 0 1.25rem;
    font-size: clamp(2.25rem, 4vw, 3.5rem);
    line-height: 1.08;
}

.home-hero-description {
    max-width: 620px;
    margin: 0 auto;
    font-size: 1.1rem;
    line-height: 1.65;
}

.home-hero-invitation {
    margin: 2rem 0 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.92) !important;
}

.home-section {
    padding: 5rem 1.5rem;
}

.home-section-inner {
    width: min(1200px, 100%);
    margin: 0 auto;
}

.home-daily-pause {
    padding-top: 4rem;
}

.home-inner-guide {
    background: var(--wp--preset--color--soft-sand);
}

.home-inner-guide-content {
    width: min(720px, 100%);
    margin: 0 auto;
    text-align: center;
}

.home-inner-guide-content h2 {
    margin-top: 0;
}

.home-inner-guide-content .wp-block-button__link {
    border-color: var(--wp--preset--color--soft-sage);
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
}

.home-inner-guide-content .wp-block-button__link:hover,
.home-inner-guide-content .wp-block-button__link:focus-visible {
    border-color: var(--wp--preset--color--primary-dark);
    background: var(--wp--preset--color--primary-dark);
    color: var(--wp--preset--color--white);
}

/* Home content sections */

.home-content-section {
    width: 100%;
}

.home-content-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.home-content-header h2 {
    margin: 0;
}

.home-content-header p {
    margin: 0.5rem 0 0;
    max-width: 680px;
}

.home-content-view-all {
    flex: 0 0 auto;
    white-space: nowrap;
}

.home-carousel {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.home-carousel-viewport {
    min-width: 0;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.home-carousel-viewport::-webkit-scrollbar {
    display: none;
}

.home-carousel-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc(
        (100% - 1rem) / 2
    );
    gap: 1rem;
}

.home-carousel-card {
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;

    background: var(--wp--preset--color--white);

    border: 1px solid var(--wp--preset--color--soft-sand);
    border-radius: 0.75rem;
}

.home-carousel-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-carousel-card-image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--wp--preset--color--soft-sand);
}

.home-carousel-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 240ms ease;
}

.home-carousel-card-title {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    padding: 0.9rem 1rem;

    background: rgba(45, 55, 72, 0.82);
}

.home-carousel-card-title h3 {
    margin: 0;
    color: var(--wp--preset--color--white);
    font-size: 1rem;
    line-height: 1.35;
}

.home-carousel-card-link:hover .home-carousel-card-image img,
.home-carousel-card-link:focus-visible .home-carousel-card-image img {
    transform: scale(1.03);
}

.home-carousel-card-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.home-carousel-card-image-empty {
    min-height: 12rem;
}

.home-carousel-button {
    flex: 0 0 auto;

    width: 2.5rem;
    height: 2.5rem;
    padding: 0;

    border: 1px solid var(--wp--preset--color--soft-sand);
    border-radius: 50%;

    background: var(--wp--preset--color--warm-white);
    color: var(--wp--preset--color--deep-earth);

    font: inherit;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease;
}

.home-carousel-button:hover:not(:disabled),
.home-carousel-button:focus-visible:not(:disabled) {
    border-color: var(--wp--preset--color--soft-sage);
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
}

.home-carousel-button:focus-visible {
    outline: 2px solid var(--wp--preset--color--soft-sage);
    outline-offset: 3px;
}

.home-carousel-button:disabled {
    opacity: 0.35;
    cursor: default;
}

@media (max-width: 600px) {
    .home-section {
        padding: 4rem 1.25rem;
    }

    .home-content-header {
        display: block;
    }

    .home-content-view-all {
        display: inline-block;
        margin-top: 0.75rem;
    }

    .home-carousel {
        gap: 0.5rem;
    }

    .home-carousel-track {
        grid-auto-columns: 86%;
        gap: 1rem;
    }

    .home-carousel-button {
        display: none;
    }

    .home-carousel-icon {
        display: block;
        width: 1rem;
        height: 1rem;

        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;

        pointer-events: none;
    }
}

/* ============================================================
 * Shared CTA system
 * ============================================================ */

:where(
    .wp-block-button__link,
    .auth-submit,
    .single-ll_learning_program .learning-interest-form button,
    .single-ll_healing_service .healing-request-form button,
    .inner-guide-question button
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    box-sizing: border-box;
    padding: 0.7rem 1.5rem;

    border: 1px solid var(--wp--preset--color--soft-sage);
    border-radius: 999px;

    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);

    font: inherit;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

:where(
    .wp-block-button__link,
    .auth-submit,
    .single-ll_learning_program .learning-interest-form button,
    .single-ll_healing_service .healing-request-form button,
    .inner-guide-question button
):hover {
    background: var(--wp--preset--color--primary-dark);
    border-color: var(--wp--preset--color--primary-dark);
    color: var(--wp--preset--color--white);
    text-decoration: none;
}

:where(
    .wp-block-button__link,
    .auth-submit,
    .single-ll_learning_program .learning-interest-form button,
    .single-ll_healing_service .healing-request-form button,
    .inner-guide-question button
):focus-visible {
    outline: 2px solid var(--wp--preset--color--primary-dark);
    outline-offset: 3px;
}

/* Inner Guide — primary CTA color alignment */

.inner-guide-question .wp-block-button__link {
    border-color: var(--wp--preset--color--soft-sage);
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
}

.inner-guide-question .wp-block-button__link:hover,
.inner-guide-question .wp-block-button__link:focus-visible {
    border-color: var(--wp--preset--color--primary-dark);
    background: var(--wp--preset--color--primary-dark);
    color: var(--wp--preset--color--white);
}

/* Secondary CTA — sign-in / request links */

:where(
    .learning-interest-button,
    .healing-request-button
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    box-sizing: border-box;
    padding: 0.7rem 1.25rem;

    border: 1px solid var(--wp--preset--color--soft-sage);
    border-radius: 999px;

    background: transparent;
    color: var(--wp--preset--color--primary-dark);

    font: inherit;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

:where(
    .learning-interest-button,
    .healing-request-button
):hover,
:where(
    .learning-interest-button,
    .healing-request-button
):focus-visible {
    background: var(--wp--preset--color--soft-sage);
    border-color: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
    text-decoration: none;
}

:where(
    .learning-interest-button,
    .healing-request-button
):focus-visible {
    outline: 2px solid var(--wp--preset--color--primary-dark);
    outline-offset: 3px;
}

/* Secondary CTA */

:where(
    .learning-card-actions .learning-interest-form button,
    .healing-card-actions .healing-request-form button
) {
    min-height: 2.75rem;
    box-sizing: border-box;
    padding: 0.7rem 1.25rem;

    border: 1px solid var(--wp--preset--color--soft-sage);
    border-radius: 999px;

    background: transparent;
    color: var(--wp--preset--color--primary-dark);

    font: inherit;
    line-height: 1.2;
    cursor: pointer;
}

:where(
    .learning-card-actions .learning-interest-form button,
    .healing-card-actions .healing-request-form button
):hover {
    background: var(--wp--preset--color--soft-sage);
    border-color: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
}

.single-ll_journey .wp-block-button__link {
    border-color: var(--wp--preset--color--soft-sage);
    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);
}

.single-ll_journey .wp-block-button__link:hover,
.single-ll_journey .wp-block-button__link:focus-visible {
    border-color: var(--wp--preset--color--primary-dark);
    background: var(--wp--preset--color--primary-dark);
    color: var(--wp--preset--color--white);
}

/* ============================================================
 * Catalog CTA — Read More / Explore
 * ============================================================ */

.journey-card .wp-block-read-more,
.learning-card-actions .wp-block-read-more,
.healing-card-actions .wp-block-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    box-sizing: border-box;
    padding: 0.7rem 1.25rem;

    border: 1px solid var(--wp--preset--color--soft-sage);
    border-radius: 999px;

    background: var(--wp--preset--color--soft-sage);
    color: var(--wp--preset--color--white);

    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.journey-card .wp-block-read-more:hover,
.journey-card .wp-block-read-more:focus-visible,
.learning-card-actions .wp-block-read-more:hover,
.learning-card-actions .wp-block-read-more:focus-visible,
.healing-card-actions .wp-block-read-more:hover,
.healing-card-actions .wp-block-read-more:focus-visible {
    background: var(--wp--preset--color--primary-dark);
    border-color: var(--wp--preset--color--primary-dark);
    color: var(--wp--preset--color--white);
    text-decoration: none;
}

.journey-card .wp-block-read-more:focus-visible,
.learning-card-actions .wp-block-read-more:focus-visible,
.healing-card-actions .wp-block-read-more:focus-visible {
    outline: 2px solid var(--wp--preset--color--primary-dark);
    outline-offset: 3px;
}

/* ============================================================
 * My Space — Overview / Profile tabs
 * ============================================================ */

.personal-space-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 2rem auto 3rem;
    border-bottom: 1px solid color-mix(
        in srgb,
        currentColor 15%,
        transparent
    );
}

.personal-space-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7rem;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid transparent;
    color: inherit;
    text-decoration: none;
}

.personal-space-tab:hover,
.personal-space-tab:focus-visible {
    text-decoration: none;
}

.personal-space-tab.is-active {
    border-bottom-color: currentColor;
    font-weight: 600;
}

.personal-space-tab:focus-visible {
    outline: 2px solid var(--wp--preset--color--deep-earth) !important;
    outline-offset: 4px !important;
}

.personal-space-compact-cta:focus-visible,
.personal-space-recommendation-card .wp-block-button__link:focus-visible {
    outline: 2px solid var(--wp--preset--color--deep-earth) !important;
    outline-offset: 4px !important;
}

@media (max-width: 600px) {
    .personal-space-tabs {
        margin-top: 1.75rem;
        margin-bottom: 2.5rem;
    }

    .personal-space-tab {
        flex: 1;
        min-width: 0;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
}

/* ============================================================
 * Public supporting pages
 * ============================================================ */

.public-page-featured-image {
    margin-bottom: 3rem;
    overflow: hidden;
    border-radius: 1rem;
}

.public-page-featured-image img {
    display: block;
    width: 100%;
    height: auto;
}

.public-page-content > .wp-block-post-title {
    margin-bottom: 2.5rem;
}

@media (max-width: 600px) {
    .public-page-featured-image {
        margin-bottom: 2rem;
        border-radius: 0.75rem;
    }

    .public-page-content > .wp-block-post-title {
        margin-bottom: 2rem;
    }
}

/* Support action alignment */

.support-action-area {
    width: 100%;
    max-width: 28rem;
    margin: 2.5rem auto 0;
    text-align: center;
}

.support-action-area form,
.support-action-area .wp-block-buttons,
.support-action-area .wp-block-button {
    justify-content: center;
    text-align: center;
}

.support-action-area input,
.support-action-area select,
.support-action-area textarea {
    margin-left: auto;
    margin-right: auto;
}

.support-action-area button {
    margin-left: auto;
    margin-right: auto;
}

/* ============================================================
 * Site footer
 * ============================================================ */

.site-footer-inner {
    width: 100%;
    max-width: 1200px !important;
    margin-left: auto;
    margin-right: auto;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between !important;
    box-sizing: border-box;
}

.site-footer-copyright {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.7;
}

.site-footer-navigation {
    flex: 0 0 auto;
    margin: 0 0 0 auto !important;
}

.site-footer-navigation .wp-block-navigation__container {
    justify-content: flex-end;
    gap: 0.5rem 1.25rem;
}

.site-footer-navigation .wp-block-navigation-item__content {
    font-size: 0.9rem;
}

@media (max-width: 600px) {
    .site-footer-inner {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center;
        gap: 1rem;
        text-align: center;
    }

    .site-footer-navigation {
        flex: 0 0 auto;
        margin: 0 !important;
        justify-content: center;
        width: 100%;
    }

    .site-footer-navigation .wp-block-navigation__container {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.5rem 1rem;
    }
}

/* ============================================================
 * Authentication — Sign In
 * ============================================================ */

.auth-page-content {
    padding: 5rem 1.5rem;
}

.auth-container {
    width: 100%;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.auth-header {
    margin-bottom: 2.5rem;
    text-align: center;
}

.auth-eyebrow {
    margin-top: 0;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.7;
}

.auth-header h1 {
    margin-top: 0;
    margin-bottom: 1rem;
}

.auth-header > p:last-child {
    margin-bottom: 0;
    opacity: 0.8;
}

.auth-form {
    padding: 2rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 12%,
        transparent
    );
    border-radius: 1rem;
    box-sizing: border-box;
}

.auth-field {
    margin-bottom: 1.5rem;
}

.auth-field label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.auth-field input[type="text"],
.auth-field input[type="email"],
.auth-field input[type="password"] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.75rem 1rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 20%,
        transparent
    );
    border-radius: 0.5rem;
    background: transparent;
    color: inherit;
    font: inherit;
}

.auth-field input[type="text"]:focus,
.auth-field input[type="email"]:focus,
.auth-field input[type="password"]:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.auth-checkbox {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
    cursor: pointer;
}

.auth-checkbox input {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0;
}

.auth-submit {
    width: 100%;
    min-height: 3rem;
    box-sizing: border-box;
}

.auth-secondary {
    margin-top: 1.5rem;
    text-align: center;
}

.auth-back {
    margin-top: 2rem;
    text-align: center;
}

.auth-notice {
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 12%,
        transparent
    );
    border-radius: 0.75rem;
}

/* Social sign-in */

.auth-social-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1.5rem 0;
    color: var(--wp--preset--color--primary-dark);
    font-size: 0.875rem;
}

.auth-social-divider::before,
.auth-social-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--wp--preset--color--soft-sage);
}

.auth-social-divider span {
    flex: 0 0 auto;
}

.auth-social-login {
    width: 100%;
}

@media (max-width: 600px) {
    .auth-page-content {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .auth-form {
        padding: 1.5rem;
    }
}

/* Learning Program — visual refinement */
.single-ll_learning_program .wp-block-post-featured-image img {
    display: block;
    border-radius: 1rem;
}

.single-ll_learning_program .learning-interest-card {
    border-radius: 1rem;
    overflow: hidden;
}

/* ============================================================
 * Single Healing Service — visual refinement
 * ============================================================ */

.single-ll_healing_service .wp-block-post-featured-image img {
    display: block;
    border-radius: 1rem;
}

.single-ll_healing_service .healing-service-meta {
    margin: 2rem 0 2.5rem;
    padding: 1.5rem 2rem;
    border: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );
    border-radius: 1rem;
    background: color-mix(
        in srgb,
        var(--wp--preset--color--soft-sand) 72%,
        var(--wp--preset--color--warm-white)
    );
    text-align: center;
}

.single-ll_healing_service .healing-service-meta-label {
    margin: 0 0 1.25rem;
    color: var(--wp--preset--color--soft-sage);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.single-ll_healing_service .healing-service-meta-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.single-ll_healing_service .healing-service-meta-details p {
    margin: 0;
}

.single-ll_healing_service .healing-service-meta-details span,
.single-ll_healing_service .healing-service-meta-energy span {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    opacity: 0.65;
}

.single-ll_healing_service .healing-service-meta-energy {
    margin: 1.25rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid color-mix(
        in srgb,
        currentColor 10%,
        transparent
    );
}

.single-ll_healing_service .healing-request-card {
    border-radius: 1rem;
    overflow: hidden;
}

@media (max-width: 600px) {
    .single-ll_healing_service .healing-service-meta {
        padding: 1.25rem;
    }

    .single-ll_healing_service .healing-service-meta-details {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}