/* ==========================================================
   ELLEPI COURSE
========================================================== */

.ellepi-course-container{
    max-width:1200px;
    margin:40px auto 80px;
    padding:0 24px;
}

.ellepi-course{
    margin-top: 120px;
}

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

.ellepi-course-header{
    text-align:center;
    margin-bottom:40px;
}

.ellepi-course-title{
    margin:0;
    font-size:42px;
    font-weight:700;
    color:#1C2B1E;
    line-height:1.2;
}

.ellepi-course-intro{
    max-width:700px;
    margin:20px auto;
    font-size:16px;
    line-height:1.8;
    color:#666;
}

.ellepi-course-price{
    margin-top:15px;
    font-size:42px;
    font-weight:700;
    color:#E63B2E;
}

.ellepi-course-price .amount{
    color:#E63B2E;
}

/* ==========================================================
   BOOKING LAYOUT
========================================================== */

.ellepi-booking{

    display:grid;

    grid-template-columns:minmax(0,1fr) 340px;

    gap:35px;

    align-items:start;

}

/* ==========================================================
   LEFT
========================================================== */

.ellepi-calendar-column{
    min-width:0;
}

.ellepi-card{

    background:transparent;
}

.ellepi-card-header{

    margin-bottom:25px;

}

.ellepi-card-header h2{

    margin:0;

    font-size:24px;

    color:#1C2B1E;

}

.ellepi-card-header p{

    margin:8px 0 0;

    color:#777;

    font-size:14px;

}

.ellepi-calendar-wrapper{

    margin-top:20px;

}

/* ==========================================================
   RIGHT
========================================================== */

.ellepi-sidebar{

    position: relative;
    top: auto;
    align-self: flex-start;

}

.ellepi-sidebar-card{

    background:#fff;

    border:1px solid var(--main-color);

    border-radius:0px;

    padding:25px;


}

.ellepi-sidebar-card h2{

    margin:0 0 25px;

    font-size:24px;

    color:#1C2B1E;

}

/* ==========================================================
   FIELD
========================================================== */

.ellepi-field{

    margin-bottom:18px;

}

.ellepi-field label{

    display:block;

    font-size:13px;

    color:#888;

    margin-bottom:6px;

}

.ellepi-field strong{

    display:block;

    font-size:16px;

    color:#1C2B1E;

}

/* ==========================================================
   DIVIDER
========================================================== */

.ellepi-divider{

    height:1px;

    background:#EFEFEF;

    margin:22px 0;

}

/* ==========================================================
   QUANTITY
========================================================== */
.ellepi-qty{

    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

}

.ellepi-qty button{

    width:42px;
    height:42px;

    border:1px solid var(--main-color);

    background:#fff;

    cursor:pointer;

    transition:.2s;

}

.ellepi-qty button:hover{

    background:#f5f5f5;

}

.ellepi-qty input{

    width:60px;

    border:none;

    background:transparent;

    text-align:center;

    font-size:18px;

    font-weight:700;

}
/* ==========================================================
   TOTAL
========================================================== */

.ellepi-total{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:25px 0;

}

.ellepi-total span{

    font-size:15px;

    color:#666;

}

.ellepi-total strong{

    font-size:30px;

    color:#1C2B1E;

}

/* ==========================================================
   BUTTON
========================================================== */



.ellepi-buy .single_add_to_cart_button{

    width:100%;

    height:50px;

    background:var(--main-color);

    color:#FFF !important;

    font-size:16px;

    font-weight:600;

    transition:.2s;

}

.ellepi-buy .single_add_to_cart_button:hover{

    background:#304534 !important;

    transform:translateY(-1px);

}

/* ==========================================================
   INFO
========================================================== */

.ellepi-booking-info{

    margin-top:25px;

    padding-top:20px;

    border-top:1px solid #EFEFEF;

    font-size:13px;

    color:#666;

}

.ellepi-booking-info div{

    margin:8px 0;

}

.ellepi-booking-info div::before{

    content:"✓";

    color:#2DBA59;

    font-weight:bold;

    margin-right:8px;

}

/* ==========================================================
   DESCRIPTION
========================================================== */

.ellepi-description{

    margin-top:50px;

    background:#fff;

    border:1px solid #ECECEC;

    border-radius:18px;

    padding:35px;

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}

.ellepi-description h2{

    margin:0 0 25px;

    font-size:28px;

}

.ellepi-description-content{

    line-height:1.9;

    color:#555;

}


.ellepi-course-header{

    margin-bottom:40px;

}

.ellepi-back{

    display:inline-flex;
    align-items:center;
    gap:8px;

    font-size:15px;
    font-weight:600;

    color:#1C2B1E;

    text-decoration:none;

    transition:.2s;

}

.ellepi-back:hover{

    color:var(--accent-color);

}
/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:992px){

    .ellepi-booking{

        grid-template-columns:1fr;

    }

    .ellepi-sidebar{

        position:relative;

        top:auto;

    }

}

@media (max-width:768px){

    .ellepi-course-container{

        padding:0 16px;

    }

    .ellepi-course-title{

        font-size:30px;

    }

    .ellepi-course-price{

        font-size:34px;

    }

    .ellepi-card,
    .ellepi-sidebar-card,
    .ellepi-description{

        padding:20px;

    }

}