/* =========================================================
   COMPONENT 15 — COURSE CURRICULUM
   ========================================================= */

.course-curriculum {
    position: relative;

    overflow: hidden;

    padding:
        115px
        0
        110px;

    background:
        #f8f7f2;

    color:
        #173e33;

    isolation: isolate;
}


/* =========================================================
   BACKGROUND
   ========================================================= */

.course-curriculum__background {
    position: absolute;

    top: -160px;
    left: -160px;

    width: 460px;
    height: 460px;

    pointer-events: none;

    z-index: -1;
}


.course-curriculum__background::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle,
            rgba(183,137,48,.075),
            transparent 68%
        );
}


.course-curriculum__background span {
    position: absolute;

    top: 145px;
    left: 175px;

    color:
        rgba(147,105,28,.08);

    font-family:
        Georgia,
        serif;

    font-size:
        5rem;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.course-curriculum__container {
    width:
        min(
            1180px,
            calc(100% - 64px)
        );

    margin:
        0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.course-curriculum__header {
    max-width:
        760px;

    margin:
        0 auto
        70px;

    text-align:
        center;
}


.course-curriculum__eyebrow {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        12px;

    margin-bottom:
        19px;

    color:
        #997024;

    font-size:
        .61rem;

    font-weight:
        700;

    letter-spacing:
        .22em;

    text-transform:
        uppercase;
}


.course-curriculum__eyebrow > span:first-child {
    display:
        block;

    width:
        35px;

    height:
        1px;

    background:
        #b98b32;
}


.course-curriculum__title {
    margin:
        0;

    color:
        #153e33;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.7rem,
            4vw,
            4rem
        );

    font-weight:
        400;

    letter-spacing:
        -.035em;

    line-height:
        1.05;
}


.course-curriculum__title em {
    color:
        #a87924;

    font-style:
        italic;
}


.course-curriculum__intro {
    max-width:
        650px;

    margin:
        22px auto
        0;

    color:
        #68716c;

    font-size:
        .84rem;

    line-height:
        1.8;
}


/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.course-curriculum__layout {
    display:
        grid;

    grid-template-columns:
        minmax(280px, .72fr)
        minmax(0, 1.28fr);

    min-height:
        570px;

    border:
        1px solid
        rgba(32,68,56,.13);

    background:
        #ffffff;

    box-shadow:
        0 24px 65px
        rgba(24,57,47,.07);
}


/* =========================================================
   NAVIGATION
   ========================================================= */

.course-curriculum__nav {
    padding:
        34px
        0;

    background:
        #123e33;

    border-right:
        1px solid
        rgba(197,153,66,.22);
}


.course-curriculum__nav-label {
    padding:
        0
        34px
        19px;

    color:
        #d3a954;

    font-size:
        .54rem;

    font-weight:
        700;

    letter-spacing:
        .19em;

    text-transform:
        uppercase;
}


.course-curriculum__nav-list {
    display:
        flex;

    flex-direction:
        column;
}


.course-curriculum__nav-item {
    position:
        relative;

    display:
        grid;

    grid-template-columns:
        45px
        1fr
        24px;

    align-items:
        center;

    gap:
        12px;

    width:
        100%;

    min-height:
        69px;

    padding:
        10px
        29px
        10px
        34px;

    color:
        rgba(255,255,255,.58);

    background:
        transparent;

    border:
        0;

    border-top:
        1px solid
        rgba(255,255,255,.07);

    text-align:
        left;

    cursor:
        pointer;

    transition:
        background .25s ease,
        color .25s ease;
}


.course-curriculum__nav-item:last-child {
    border-bottom:
        1px solid
        rgba(255,255,255,.07);
}


.course-curriculum__nav-item::before {
    content:
        "";

    position:
        absolute;

    left:
        0;

    top:
        0;

    bottom:
        0;

    width:
        3px;

    background:
        #d1a44e;

    transform:
        scaleY(0);

    transition:
        transform .25s ease;
}


.course-curriculum__nav-item:hover {
    color:
        #ffffff;

    background:
        rgba(255,255,255,.045);
}


.course-curriculum__nav-item.is-active {
    color:
        #ffffff;

    background:
        rgba(255,255,255,.075);
}


.course-curriculum__nav-item.is-active::before {
    transform:
        scaleY(1);
}


.course-curriculum__nav-number {
    color:
        #d0a452;

    font-family:
        Georgia,
        serif;

    font-size:
        .92rem;
}


.course-curriculum__nav-title {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        .92rem;

    line-height:
        1.3;
}


.course-curriculum__nav-arrow {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    opacity:
        .45;

    transition:
        transform .25s ease,
        opacity .25s ease;
}


.course-curriculum__nav-item.is-active
.course-curriculum__nav-arrow {
    opacity:
        1;

    transform:
        translateX(3px);
}


/* =========================================================
   CONTENT
   ========================================================= */

.course-curriculum__content {
    position:
        relative;

    min-width:
        0;

    background:
        #fffefa;
}


.course-curriculum__panel {
    height:
        100%;

    padding:
        54px
        58px;
}


.course-curriculum__panel[hidden] {
    display:
        none;
}


/* =========================================================
   PANEL HEADER
   ========================================================= */

.course-curriculum__panel-header {
    display:
        flex;

    align-items:
        center;

    gap:
        25px;

    padding-bottom:
        29px;

    border-bottom:
        1px solid
        rgba(32,68,56,.13);
}


.course-curriculum__panel-number {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        67px;

    height:
        67px;

    flex:
        0 0 67px;

    color:
        #b17f26;

    border:
        1px solid
        rgba(177,127,38,.42);

    border-radius:
        50%;

    font-family:
        Georgia,
        serif;

    font-size:
        1.15rem;
}


.course-curriculum__panel-label {
    display:
        block;

    margin-bottom:
        6px;

    color:
        #a77925;

    font-size:
        .5rem;

    font-weight:
        700;

    letter-spacing:
        .17em;

    text-transform:
        uppercase;
}


.course-curriculum__panel-title {
    margin:
        0;

    color:
        #173f34;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2rem;

    font-weight:
        400;

    line-height:
        1.15;
}


/* =========================================================
   TOPICS
   ========================================================= */

.course-curriculum__topics {
    display:
        grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:
        0
        15px;

    margin:
        32px
        0
        0;

    padding:
        0;

    list-style:
        none;
}


.course-curriculum__topics li {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        11px;

    min-height:
        51px;

    padding:
        14px
        13px;

    color:
        #4f5d56;

    background:
        #f7f6f0;

    border:
        1px solid
        rgba(32,68,56,.07);

    border-radius:
        5px;

    font-size:
        .69rem;

    line-height:
        1.45;

    transition:
        background .2s ease,
        border-color .2s ease;
}


.course-curriculum__topics li:hover {
    background:
        #f2f0e8;

    border-color:
        rgba(177,127,38,.22);
}


.course-curriculum__topic-icon {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 auto;

    width:
        20px;

    height:
        20px;

    color:
        #aa7b27;
}


/* =========================================================
   PANEL FOOTER
   ========================================================= */

.course-curriculum__panel-footer {
    display:
        flex;

    align-items:
        center;

    gap:
        9px;

    margin-top:
        36px;

    color:
        #8b9290;

    font-size:
        .48rem;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


.course-curriculum__panel-footer span:first-child {
    color:
        #b17f26;
}


/* =========================================================
   SEO SUPPORT
   ========================================================= */

.course-curriculum__seo-text {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        16px;

    max-width:
        800px;

    margin:
        45px auto
        0;

    text-align:
        center;
}


.course-curriculum__seo-text p {
    margin:
        0;

    color:
        #737a76;

    font-size:
        .67rem;

    line-height:
        1.7;
}


.course-curriculum__seo-text p::first-letter {
    color:
        #9d7123;
}


.course-curriculum__seo-text > span {
    flex:
        0 0 auto;

    color:
        #b5862d;

    font-size:
        .7rem;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .course-curriculum {
        padding:
            85px
            0
            90px;
    }


    .course-curriculum__container {
        width:
            min(
                720px,
                calc(100% - 40px)
            );
    }


    .course-curriculum__layout {
        grid-template-columns:
            1fr;
    }


    .course-curriculum__nav {
        border-right:
            0;

        border-bottom:
            1px solid
            rgba(197,153,66,.22);
    }


    .course-curriculum__nav-list {
        display:
            grid;

        grid-template-columns:
            repeat(2, 1fr);
    }


    .course-curriculum__nav-item {
        padding:
            10px
            20px;
    }


    .course-curriculum__panel {
        min-height:
            500px;

        padding:
            45px;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .course-curriculum {
        padding:
            70px
            0
            75px;
    }


    .course-curriculum__container {
        width:
            calc(100% - 32px);
    }


    .course-curriculum__header {
        margin-bottom:
            45px;
    }


    .course-curriculum__eyebrow {
        font-size:
            .51rem;

        letter-spacing:
            .16em;
    }


    .course-curriculum__title {
        font-size:
            clamp(
                2.2rem,
                10vw,
                3rem
            );
    }


    .course-curriculum__intro {
        font-size:
            .77rem;

        line-height:
            1.75;
    }


    .course-curriculum__layout {
        display:
            block;
    }


    .course-curriculum__nav {
        padding:
            0;
    }


    .course-curriculum__nav-label {
        padding:
            18px
            18px
            14px;
    }


    .course-curriculum__nav-list {
        display:
            block;
    }


    .course-curriculum__nav-item {
        min-height:
            60px;

        padding:
            9px
            16px;
    }


    .course-curriculum__nav-number {
        font-size:
            .8rem;
    }


    .course-curriculum__nav-title {
        font-size:
            .76rem;
    }


    .course-curriculum__panel {
        min-height:
            auto;

        padding:
            32px
            22px;
    }


    .course-curriculum__panel-header {
        gap:
            16px;

        padding-bottom:
            22px;
    }


    .course-curriculum__panel-number {
        width:
            52px;

        height:
            52px;

        flex-basis:
            52px;

        font-size:
            .95rem;
    }


    .course-curriculum__panel-title {
        font-size:
            1.45rem;
    }


    .course-curriculum__topics {
        grid-template-columns:
            1fr;

        gap:
            9px;

        margin-top:
            24px;
    }


    .course-curriculum__topics li {
        min-height:
            auto;

        padding:
            12px;

        font-size:
            .65rem;
    }


    .course-curriculum__seo-text {
        margin-top:
            35px;
    }


    .course-curriculum__seo-text > span {
        display:
            none;
    }

}

/* =========================================================
   AYP — CURRICULUM / DAILY SCHEDULE TOGGLE
   ========================================================= */
.course-curriculum__view-toggle{
    display:flex;
    justify-content:center;
    position:relative;
    z-index:5;
    margin:-44px auto 38px;
}

.course-curriculum__toggle{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    width:min(446px,100%);
    padding:0;
    border:1px solid rgba(23,62,51,.06);
    border-radius:999px;
    background:rgba(255,255,255,.82);
    box-shadow:0 12px 34px rgba(23,62,51,.07);
    overflow:hidden;
}

.course-curriculum__toggle button{
    position:relative;
    z-index:2;
    min-height:43px;
    padding:0 28px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:#173e33;
    cursor:pointer;
    font:700 .61rem/1 Manrope,Arial,sans-serif;
    letter-spacing:.17em;
    text-transform:uppercase;
    transition:color .25s ease;
}

.course-curriculum__toggle button.is-active{color:#fff}

.course-curriculum__toggle button:focus-visible{
    outline:2px solid #b98b32;
    outline-offset:-3px;
}

.course-curriculum__toggle-slider{
    position:absolute;
    z-index:1;
    top:0;
    bottom:0;
    left:0;
    width:50%;
    border-radius:999px;
    background:#153e33;
    transition:transform .32s cubic-bezier(.2,.8,.2,1);
}

.course-curriculum__toggle.is-schedule .course-curriculum__toggle-slider{
    transform:translateX(100%);
}

.course-curriculum__view{animation:aypCurriculumViewIn .28s ease both}
.course-curriculum__view[hidden]{display:none!important}
.course-curriculum__panel[hidden]{display:none!important}

@keyframes aypCurriculumViewIn{
    from{opacity:0;transform:translateY(6px)}
    to{opacity:1;transform:translateY(0)}
}

.course-curriculum__nav-item{cursor:pointer}
.course-curriculum__nav-item:focus-visible{
    outline:2px solid #b98b32;
    outline-offset:-2px;
}



/* =========================================================
   DAILY SCHEDULE — AYP EDITORIAL DAILY RHYTHM
   ---------------------------------------------------------
   Purpose:
   - Rebuild the schedule as one composed editorial timetable.
   - Remove the old card-on-card appearance.
   - Keep the existing PHP markup and curriculum untouched.
   - Use a 34 / 66 editorial split on large screens.
   - Remain stable from large desktop through mobile.
   ========================================================= */

.course-curriculum__schedule-view .course-schedule-section{
    --ayp-forest:#173e33;
    --ayp-forest-deep:#102f29;
    --ayp-gold:#b98b32;
    --ayp-gold-soft:rgba(185,139,50,.32);
    --ayp-cream:#f8f7f2;
    --ayp-paper:#fcfcf9;
    --ayp-line:rgba(23,62,51,.12);
    --ayp-muted:#68746f;
    --ayp-soft:#a2aaa6;

    position:relative;
    width:100%;
    margin:0;
    padding:clamp(28px,3vw,52px) 0 clamp(42px,4vw,64px);
    background:var(--ayp-cream);
    overflow:hidden;
}

.course-curriculum__schedule-view .course-schedule-section > .container,
.course-curriculum__schedule-view .course-schedule-section > .container.container--xxl{
    width:min(1284px,calc(100% - 48px));
    max-width:1284px;
    margin:0 auto;
    padding:0;
}

/* =========================================================
   MAIN COMPOSITION
   ========================================================= */
.course-schedule__editorial{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,34%) minmax(0,66%);
    width:100%;
    height:clamp(690px,calc(100svh - 185px),820px);
    min-height:690px;
    overflow:hidden;
    border:1px solid rgba(23,62,51,.13);
    background:var(--ayp-paper);
    box-shadow:0 18px 55px rgba(23,62,51,.055);
}

/* =========================================================
   LEFT EDITORIAL COLUMN
   ========================================================= */
.course-schedule__editorial-copy{
    position:relative;
    isolation:isolate;
    min-width:0;
    min-height:0;
    display:flex;
    flex-direction:column;
    padding:clamp(46px,4vw,66px) clamp(30px,3.2vw,48px) 30px;
    border-right:1px solid rgba(23,62,51,.13);
    background:linear-gradient(145deg,rgba(255,255,255,.98) 0%,rgba(248,247,242,.94) 100%);
    overflow:hidden;
}

/* Requested AYP women illustration — atmospheric, never in front of text. */
.course-schedule__editorial-copy::before{
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background-image:url("../../images/courses/retreat/women-svg.png");
    background-repeat:no-repeat;
    background-position:center bottom;
    background-size:78% auto;
    opacity:.45;
    pointer-events:none;
}

.course-schedule__editorial-copy::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    right:0;
    bottom:0;
    height:42%;
    background:linear-gradient(to bottom,rgba(248,247,242,0),rgba(248,247,242,.52) 72%,rgba(248,247,242,.82));
    pointer-events:none;
}

.course-schedule__editorial-copy > *{
    position:relative;
    z-index:1;
}

.course-schedule__eyebrow{
    display:flex;
    align-items:center;
    gap:11px;
    margin:0 0 17px;
    color:var(--ayp-gold);
    font:700 9px/1 Manrope,Arial,sans-serif;
    letter-spacing:.25em;
    text-transform:uppercase;
}

.course-schedule__eyebrow::before{
    content:"";
    width:46px;
    height:1px;
    flex:0 0 46px;
    background:var(--ayp-gold);
}

.course-schedule__editorial-copy h2{
    max-width:9ch;
    margin:0;
    color:var(--ayp-forest);
    font:400 clamp(3.55rem,4.35vw,5.45rem)/.86 Georgia,"Times New Roman",serif;
    letter-spacing:-.062em;
}

.course-schedule__tagline{
    margin:20px 0 0;
    color:#9b702b;
    font:400 italic clamp(1.08rem,1.45vw,1.55rem)/1.25 Georgia,"Times New Roman",serif;
}

.course-schedule__tagline em{font-style:italic}

.course-schedule__rule{
    display:block;
    width:58px;
    height:1px;
    margin:25px 0 21px;
    background:var(--ayp-gold);
}

.course-schedule__description{
    max-width:430px;
    margin:0;
    color:#5d6b66;
    font:400 clamp(12.5px,.92vw,15px)/1.72 Manrope,Arial,sans-serif;
}

.course-schedule__quote{
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    gap:9px;
    width:100%;
    max-width:455px;
    margin:30px 0 0;
    padding:21px 19px 18px;
    border:0;
    border-top:1px solid rgba(23,62,51,.13);
    border-bottom:1px solid rgba(23,62,51,.13);
    border-radius:0;
    background:rgba(244,240,230,.58);
}

.course-schedule__quote-mark{
    color:var(--ayp-gold);
    font:400 37px/.72 Georgia,serif;
}

.course-schedule__quote p{
    margin:0;
    color:var(--ayp-forest);
    font:italic clamp(13px,1.12vw,16px)/1.45 Georgia,serif;
}

.course-schedule__quote cite{
    display:block;
    margin-top:10px;
    color:#77827e;
    font:700 7px/1.2 Manrope,Arial,sans-serif;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.course-schedule__principles{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0;
    margin-top:auto;
    padding-top:24px;
    color:#66736e;
    font:700 8.5px/1.7 Manrope,Arial,sans-serif;
    letter-spacing:.19em;
    text-transform:uppercase;
}

.course-schedule__principles i{
    padding:0 9px;
    color:var(--ayp-gold);
    font-style:normal;
}

/* =========================================================
   RIGHT TIMETABLE COLUMN
   ========================================================= */
.course-schedule__list-wrap{
    position:relative;
    min-width:0;
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    padding:24px 28px 20px;
    background:rgba(255,255,255,.64);
    overflow:hidden;
}

.course-schedule__list-heading{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    align-items:center;
    flex:0 0 36px;
    min-width:0;
    border-bottom:1px solid rgba(23,62,51,.13);
}

.course-schedule__list-heading span,
.course-schedule__list-heading p{
    min-width:0;
    margin:0;
    overflow:hidden;
    color:#66736e;
    font:700 7px/1 Manrope,Arial,sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.course-schedule__list-heading span:first-child{
    color:#a7afab;
    font-size:6px;
    letter-spacing:.15em;
}

.course-schedule__list-heading span:last-child{
    color:#a7afab;
    font-size:6px;
    letter-spacing:.16em;
}

.course-curriculum__schedule-view .course-schedule{
    --timeline-x:106px;
    position:relative;
    display:grid;
    grid-template-rows:repeat(var(--schedule-count,10),minmax(0,1fr));
    flex:1 1 auto;
    min-width:0;
    min-height:0;
    height:auto;
    margin:0;
    padding:0;
    overflow:hidden;
}

.course-curriculum__schedule-view .course-schedule__line{
    position:absolute;
    z-index:0;
    top:17px;
    bottom:17px;
    left:var(--timeline-x);
    width:1px;
    background:linear-gradient(to bottom,transparent 0%,rgba(185,139,50,.62) 6%,rgba(185,139,50,.38) 94%,transparent 100%);
    pointer-events:none;
}

/* =========================================================
   TIMELINE ROW
   ========================================================= */
.schedule-item{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:88px 54px minmax(0,1fr);
    align-items:center;
    min-width:0;
    min-height:0;
    height:auto;
    overflow:hidden;
    border-bottom:1px solid rgba(23,62,51,.075);
    background:transparent;
    transition:background-color .22s ease;
}

.schedule-item:last-child{border-bottom:0}

.schedule-item:hover{
    background:rgba(248,247,242,.52);
}

.schedule-item__time{
    min-width:0;
    padding-right:14px;
    text-align:right;
    overflow:hidden;
}

.schedule-item__time strong{
    display:block;
    margin:0;
    color:var(--ayp-forest-deep);
    font:400 clamp(1rem,1.24vw,1.42rem)/.95 Georgia,"Times New Roman",serif;
    letter-spacing:-.025em;
    white-space:nowrap;
}

.schedule-item__time span{
    display:block;
    margin:5px 0 0;
    color:#7b8581;
    font:700 6px/1 Manrope,Arial,sans-serif;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.schedule-item__icon{
    position:relative;
    z-index:2;
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border:1px solid rgba(23,62,51,.18);
    border-radius:50%;
    background:var(--ayp-paper);
    color:var(--ayp-forest);
    box-shadow:0 0 0 7px rgba(252,252,249,.88);
}

.schedule-item__icon::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:5px;
    height:5px;
    border:1px solid var(--ayp-gold);
    border-radius:50%;
    background:var(--ayp-forest);
    transform:translate(-50%,-50%);
    opacity:0;
}

.schedule-item__icon svg{
    display:block;
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.schedule-item__content{
    min-width:0;
    min-height:0;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:0 18px 0 12px;
    overflow:hidden;
}

.schedule-item__type{
    display:block;
    width:max-content;
    max-width:100%;
    min-width:0;
    margin:0 0 5px;
    padding:4px 7px 3px;
    border:1px solid rgba(23,62,51,.09);
    border-radius:2px;
    color:#73807a;
    background:rgba(248,247,242,.7);
    font:700 6px/1 Manrope,Arial,sans-serif;
    letter-spacing:.18em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.schedule-item__content h3{
    display:block;
    min-width:0;
    margin:0 !important;
    padding:0;
    overflow:hidden;
    color:var(--ayp-forest);
    font:400 clamp(1rem,1.28vw,1.38rem)/1.08 Georgia,"Times New Roman",serif;
    letter-spacing:-.018em;
    white-space:nowrap;
    text-overflow:ellipsis;
}

/* Descriptions remain in the PHP for future use but are intentionally
   suppressed in this cleaner editorial presentation. */
.schedule-item__content p{
    display:none;
}

/* The previous vertical editorial words caused crowding and overlap.
   Keep the PHP element for compatibility but remove it from layout. */
.schedule-item__word{
    display:none !important;
}

.schedule-item--meal .schedule-item__icon{
    border-color:rgba(185,139,50,.58);
}

.schedule-item--meal .schedule-item__content h3{
    color:#8b6728;
}

.schedule-item--meal .schedule-item__type{
    border-color:rgba(185,139,50,.2);
    color:#9a722c;
    background:rgba(248,243,231,.72);
}

.schedule-item--meditation .schedule-item__icon{
    background:#f3f3ec;
}

.schedule-item--personal .schedule-item__icon{
    background:#f1f3ef;
}

/* =========================================================
   DAILY RHYTHM — FOOTER STATEMENT
   ========================================================= */

.course-schedule__footer{
    display:grid;
    grid-template-columns:minmax(40px,1fr) 34px auto minmax(40px,1fr);
    align-items:center;
    column-gap:16px;

    width:100%;
    max-width:1284px;

    margin:24px auto 0;
    padding:0;
}

.course-schedule__footer > span{
    display:block;
    width:100%;
    height:1px;

    background:rgba(23,62,51,.14);
}

.course-schedule__footer-lotus{
    display:grid;
    width:34px;
    height:34px;

    place-items:center;

    color:var(--ayp-gold);
    background:transparent;
}

.course-schedule__footer-lotus svg{
    display:block;

    width:24px;
    height:24px;

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

.course-schedule__footer p{
    position:static;

    margin:0;

    color:var(--ayp-forest);

    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    font-weight:400;
    font-style:italic;
    line-height:1.4;

    white-space:nowrap;
    text-align:center;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:767px){

    .course-schedule__footer{
        grid-template-columns:minmax(20px,1fr) 30px auto minmax(20px,1fr);
        column-gap:10px;

        margin-top:28px;
    }

    .course-schedule__footer-lotus{
        width:30px;
        height:30px;
    }

    .course-schedule__footer-lotus svg{
        width:21px;
        height:21px;
    }

    .course-schedule__footer p{
        font-size:13px;
        white-space:normal;
        max-width:230px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width:480px){

    .course-schedule__footer{
        grid-template-columns:1fr;
        row-gap:10px;

        margin-top:26px;
        text-align:center;
    }

    .course-schedule__footer > span{
        display:none;
    }

    .course-schedule__footer-lotus{
        width:30px;
        height:30px;
        margin:0 auto;
    }

    .course-schedule__footer p{
        max-width:280px;
        margin:0 auto;

        font-size:13px;
        line-height:1.55;
    }
}

/* =========================================================
   LARGE LAPTOP — 1366px / 1280px
   ========================================================= */
@media (max-width:1366px){
    .course-curriculum__schedule-view .course-schedule-section > .container,
    .course-curriculum__schedule-view .course-schedule-section > .container.container--xxl{
        width:min(1180px,calc(100% - 42px));
    }

    .course-schedule__editorial{
        height:clamp(650px,calc(100svh - 165px),760px);
        min-height:650px;
    }

    .course-schedule__editorial-copy{
        padding:42px 34px 25px;
    }

    .course-schedule__editorial-copy h2{
        font-size:clamp(3.15rem,4.5vw,4.55rem);
    }

    .course-schedule__description{
        font-size:12px;
        line-height:1.62;
    }

    .course-schedule__quote{
        margin-top:22px;
        padding:17px 15px;
    }

    .course-schedule__list-wrap{
        padding:19px 22px 15px;
    }

    .course-curriculum__schedule-view .course-schedule{
        --timeline-x:97px;
    }

    .schedule-item{
        grid-template-columns:80px 50px minmax(0,1fr);
    }

    .schedule-item__icon{
        width:39px;
        height:39px;
        box-shadow:0 0 0 6px rgba(252,252,249,.9);
    }

    .schedule-item__icon svg{
        width:18px;
        height:18px;
    }

    .schedule-item__time strong{
        font-size:1rem;
    }

    .schedule-item__content{
        padding-left:10px;
        padding-right:10px;
    }

    .schedule-item__content h3{
        font-size:1rem;
    }

    .schedule-item__type{
        margin-bottom:4px;
        padding:3px 6px 2px;
        font-size:5.5px;
    }
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width:1024px){
    .course-curriculum__schedule-view .course-schedule-section{
        padding-top:24px;
    }

    .course-curriculum__schedule-view .course-schedule-section > .container,
    .course-curriculum__schedule-view .course-schedule-section > .container.container--xxl{
        width:min(920px,calc(100% - 32px));
    }

    .course-schedule__editorial{
        grid-template-columns:minmax(0,38%) minmax(0,62%);
        height:auto;
        min-height:0;
    }

    .course-schedule__editorial-copy{
        min-height:650px;
        padding:42px 28px 24px;
    }

    .course-schedule__editorial-copy h2{
        font-size:clamp(3rem,5.7vw,4.35rem);
    }

    .course-schedule__tagline{
        font-size:1.1rem;
    }

    .course-schedule__description{
        font-size:11.5px;
    }

    .course-schedule__quote p{
        font-size:12.5px;
    }

    .course-schedule__list-wrap{
        min-height:650px;
        padding:18px 16px 14px;
    }

    .course-curriculum__schedule-view .course-schedule{
        --timeline-x:84px;
    }

    .schedule-item{
        grid-template-columns:69px 46px minmax(0,1fr);
    }

    .schedule-item__icon{
        width:37px;
        height:37px;
        box-shadow:0 0 0 5px rgba(252,252,249,.9);
    }

    .schedule-item__content h3{
        font-size:.92rem;
    }

    .schedule-item__type{
        font-size:5px;
    }

    .course-schedule__principles{
        letter-spacing:.13em;
    }
}

/* =========================================================
   MOBILE — NATURAL STACK, NO ABSOLUTE TIMELINE COLLISIONS
   ========================================================= */
@media (max-width:767px){
    .course-curriculum__schedule-view .course-schedule-section{
        padding:18px 0 42px;
    }

    .course-curriculum__schedule-view .course-schedule-section > .container,
    .course-curriculum__schedule-view .course-schedule-section > .container.container--xxl{
        width:calc(100% - 24px);
    }

    .course-schedule__editorial{
        display:block;
        height:auto;
        min-height:0;
        overflow:visible;
        border-radius:0;
        box-shadow:0 12px 35px rgba(23,62,51,.045);
    }

    .course-schedule__editorial-copy{
        min-height:0;
        padding:42px 22px 30px;
        border-right:0;
        border-bottom:1px solid rgba(23,62,51,.13);
    }

    .course-schedule__editorial-copy::before{
        background-size:72% auto;
        background-position:center bottom;
        opacity:.08;
    }

    .course-schedule__editorial-copy h2{
        max-width:none;
        font-size:clamp(3rem,15vw,4.4rem);
    }

    .course-schedule__tagline{
        margin-top:16px;
        font-size:1.1rem;
    }

    .course-schedule__rule{
        margin:20px 0 17px;
    }

    .course-schedule__description{
        max-width:560px;
        font-size:12px;
        line-height:1.65;
    }

    .course-schedule__quote{
        max-width:none;
        margin-top:22px;
        padding:17px 14px 15px;
    }

    .course-schedule__quote p{
        font-size:13px;
    }

    .course-schedule__principles{
        margin-top:25px;
        padding-top:0;
        justify-content:flex-start;
        font-size:7.5px;
        letter-spacing:.13em;
    }

    .course-schedule__principles i{
        padding:0 6px;
    }

    .course-schedule__list-wrap{
        height:auto;
        min-height:0;
        padding:17px 13px 12px;
        overflow:visible;
    }

    .course-schedule__list-heading{
        flex-basis:34px;
        grid-template-columns:34px minmax(0,1fr) auto;
    }

    .course-schedule__list-heading span,
    .course-schedule__list-heading p{
        font-size:6px;
        letter-spacing:.16em;
    }

    .course-curriculum__schedule-view .course-schedule{
        --timeline-x:73px;
        display:block;
        height:auto;
        overflow:visible;
    }

    .course-curriculum__schedule-view .course-schedule__line{
        top:24px;
        bottom:24px;
        left:var(--timeline-x);
    }

    .schedule-item{
        grid-template-columns:60px 40px minmax(0,1fr);
        min-height:76px;
        height:auto;
        overflow:visible;
    }

    .schedule-item__time{
        padding-right:9px;
    }

    .schedule-item__time strong{
        font-size:.88rem;
    }

    .schedule-item__time span{
        margin-top:4px;
        font-size:5px;
    }

    .schedule-item__icon{
        width:34px;
        height:34px;
        box-shadow:0 0 0 5px rgba(252,252,249,.94);
    }

    .schedule-item__icon svg{
        width:16px;
        height:16px;
    }

    .schedule-item__content{
        padding:0 5px 0 8px;
        overflow:visible;
    }

    .schedule-item__type{
        margin-bottom:4px;
        padding:3px 5px 2px;
        font-size:5px;
        letter-spacing:.14em;
    }

    .schedule-item__content h3{
        font-size:.91rem;
        line-height:1.15;
        white-space:normal;
        overflow:visible;
    }

    .course-schedule__footer{
        gap:9px;
        margin-top:18px;
    }

    .course-schedule__footer-lotus{
        width:40px;
        height:24px;
    }

    .course-schedule__footer-lotus svg{
        width:22px;
        height:22px;
    }

    .course-schedule__footer p{
        font-size:12px;
        line-height:1.2;
        padding:0 45px;
    }

    .course-schedule__note{
        padding:0 8px;
    }

    .course-schedule__note p{
        font-size:8px;
    }
}

@media (max-width:480px){
    .course-curriculum__schedule-view .course-schedule-section > .container,
    .course-curriculum__schedule-view .course-schedule-section > .container.container--xxl{
        width:calc(100% - 16px);
    }

    .course-schedule__editorial-copy{
        padding:36px 18px 26px;
    }

    .course-schedule__eyebrow{
        font-size:8px;
        letter-spacing:.2em;
    }

    .course-schedule__editorial-copy h2{
        font-size:clamp(2.75rem,15vw,3.7rem);
    }

    .course-schedule__description{
        font-size:11.5px;
    }

    .course-schedule__list-wrap{
        padding-left:8px;
        padding-right:8px;
    }

    .course-curriculum__schedule-view .course-schedule{
        --timeline-x:67px;
    }

    .schedule-item{
        grid-template-columns:55px 36px minmax(0,1fr);
        min-height:72px;
    }

    .schedule-item__time strong{
        font-size:.82rem;
    }

    .schedule-item__icon{
        width:31px;
        height:31px;
        box-shadow:0 0 0 4px rgba(252,252,249,.95);
    }

    .schedule-item__icon svg{
        width:14px;
        height:14px;
    }

    .schedule-item__content{
        padding-left:7px;
        padding-right:3px;
    }

    .schedule-item__type{
        max-width:calc(100% - 4px);
        font-size:4.5px;
    }

    .schedule-item__content h3{
        font-size:.84rem;
    }

    .course-schedule__principles span:nth-of-type(n+4),
    .course-schedule__principles i:nth-of-type(n+3){
        display:none;
    }
}

/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================================= */
.schedule-item:focus-within{
    outline:1px solid rgba(185,139,50,.4);
    outline-offset:-1px;
}

@media (prefers-reduced-motion:reduce){
    .course-curriculum__view,
    .course-curriculum__toggle-slider,
    .schedule-item,
    .schedule-item__icon{
        animation:none !important;
        transition:none !important;
    }
}
