/* Warning session */
.add-to-cart-btn:disabled,
.mini-add-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
.cart-qty-minus:disabled,
.cart-qty-plus:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
.mini-cart-edit-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
}
.calendar-day.session-selected {
    background: #dc2626 !important;
    color: #fff;
    border-color: #dc2626;
}

.calendar-day.session-selected .day-number {
    color: #fff;
}

.calendar-day.session-selected .session-dot {
    background: #fff;
}
.qty-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
.warning-dot{
    background:#f97316 !important;
}

.warning-slot{
    border-color:#fdba74;
    background:#fff7ed;
}

.warning-slot:hover{
    border-color:#f97316;
}

.warning-seats{
    color:#c2410c;
}

.warning-seats .seat-dot{
    background:#f97316;
}
.session-dot{
    width:6px;
    height:6px;
    background:#22c55e;
    border-radius:50%;
    position:absolute;
    bottom:10px;
    left:50%;
    transform:translateX(-50%);
}

.session-count{
    position:absolute;
    right:6px;
    bottom:6px;
    font-size:11px;
    color:#666;
    font-weight:600;
}


.course-layout-main{
    display:grid;
    grid-template-columns:2.45fr 1fr;
    align-items:start;
    gap:20px;
}

.session-combined-wrapper{
    border:1px solid #d8e2ee;
    border-radius:22px;
    background:#fff;
    box-shadow:0 4px 18px rgba(15,23,42,.04);
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:16px;
}

/* remove individual outer borders */
.session-combined-wrapper .calendar-main-section,
.session-combined-wrapper .selected-session-section{
    
    box-shadow:none;
    background:transparent;
   
    
}

/* keep cart as separate box */
.cart-section{
    border-radius:22px;
    background:#fff;
}

.calendar-main-section,
.selected-session-section,
.cart-section{
    background:#fff;
    display:flex;
    flex-direction:column;
    padding: 18px;
	gap: 20px;
}

.cart-section {
	height: stretch;
gap: 6px;
padding: 18px 10px 0px 10px;
}

.selected-session-section {
    border-left: 2px solid #d8e2ee;
margin: 18px 0px;
Padding: 0 18px;
}

.calendar-title-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.calendar-title-box .panel-title {
 margin: 0px;
}

.calendar-view,
.list-view,
#selected-session-list,
#cart-session-list{
    flex:1;
    overflow-y:auto;
    min-height:0;
} 


.panel-title{
    font-size:16px;
    line-height:1.2;
    font-weight:600;
    color:#0f172a;
}

.panel-title .dot-one{
	padding: 2px 11px;
    background-color: red;
    border-radius: 50px;
    color: white;
    margin-right: 10px;
}

.panel-title .dot-one.dot-two{
	padding: 2px 9px;
}

.calendar-yello-box {
	padding: 15px;
    background-color: rgba(255, 191, 0, 0.1);
    border-radius: 20px;
}

.available-count .dates{
	position: relative;
}

.available-count .dates::before{
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: #00A23E;
    border-radius: 50%;	
	top: 7px;
left: 10px;
}

.timezone-text {
font-size: 14px;
font-weight: 400;
color: rgba(0, 0, 0, 0.75);	
}

.empty-state{
    padding:30px;
    color:#c8c8c9;
    font-size:13px;
    text-align:center;
font-weight: 400;
}


.top-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.toolbar-left{
    display:flex;
    align-items:center;
    gap:12px;
}

.toolbar-right{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.view-switcher {
  display: flex;
  gap: 4px;
  align-items: center;
}

/* button reset (IMPORTANT) */
.view-btn{
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    padding:4px !important;
}

.view-btn:hover{
    background:transparent !important;
}

.view-btn:focus{
    outline:none !important;
    box-shadow:none !important;
}

.view-btn.active svg{
    stroke:#64748b;
}

.cart-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:14px;
}

.cart-total{
    font-size:14px;
    font-weight:700;
    color:#111827;
}

.cart-seat{
    display:inline-flex;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    font-size:12px;
    font-weight:600;
    color:#475569;
    margin-bottom:12px;
}

.grand-total-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.grand-total-box span{
    font-size:12px;
    color: #787878;
    font-weight:500;
}

.grand-total-box strong{
    font-size:22px;
    color:#111827;
    font-weight:700;
}
.available-count{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#0f766e;
    font-size:14px;
    font-weight:700;
}

.available-count p {
	margin: 0px;
    font-size: 12px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.5);
}

.available-count .dates {
    color: #00762d;
    padding: 2px 10px 2px 25px;
    border: 1px solid #00762d;
    border-radius: 20px;
}

.calendar-switcher{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    width:100%;
}


.calendar-current-month{
    font-size:16px;
    font-weight:600;
    color: rgba(0, 0, 0, 0.75);
    line-height:1;
    white-space:nowrap;
}

.calendar-nav{
    border: 1px solid #DDE2E8;
    cursor:pointer;
    background-color: #fff!important;
    padding: 4px 8px !important;
    border-radius: 9px!important;
box-shadow: none!important;
}


.calendar-nav:hover{
    border: 1px solid black;
}

.calendar-nav svg {
  color: #6E7580;
}


.calendar-month-dropdown{
    width:100%;
    height:48px;
    border:1px solid #d7e1ec;
    border-radius:14px;
    padding:0 14px;
    font-size:14px;
    background:#ffffff;
    margin-bottom:20px;
    color:#0f172a;
    outline:none;
}

.calendar-month-panel{
    display:none;
}

.calendar-month-panel.active{
    display:block;
}
.calendar-main-section{
    overflow-y:auto;
}

.calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
    height:auto;
}

.weekday{
    text-align:center;
    font-size:12px;
    font-weight:400;
    color:#626975;
    padding-bottom:4px;
   text-transform: uppercase;
}

.calendar-view{
    max-height:500px; /* adjust based on your design */
    overflow-y:auto;
    overflow-x:hidden;
}

.calendar-day{
    border-radius:8px;
    padding:10px;
    position:relative;
    transition:all .2s ease;
    overflow:visible;
text-align: center;
}

/* NO SESSION */

.disabled-day{
    opacity:.45;
}

/* HAS SESSION */

.active-day{
    border:2px solid #DDE2E8;
    box-shadow:none;
    transition:all .2s ease;
}

.active-day .day-number{
	  font-size: 14px;
   font-weight: 600;
color: black;
}

.active-day:hover{
    border:2px solid red;
    transform:translateY(-1px);
}

.select-cart-btn,
.select-cart-btn:hover,
.select-cart-btn:focus,
.select-cart-btn:active {
    background: transparent !important;
    color: #111827 !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;
}

.select-cart-btn{
    font-size:12px!important;
    color:#E3121E!important;
    cursor:pointer;
    width:100%;
border: 2px solid #E3121E!important;
display: flex;
    justify-content: space-between;
    padding: 0px 10px !important;
}

.select-cart-btn:hover {
    opacity: 1 !important;
    transform: none !important;
    color: white !important;
	background: black!important;
    border: 2px solid #202020 !important;
}
.day-number{
    font-size:12px;
    font-weight:400;
    color:#787878;
    margin-bottom:6px;
}
.calendar-day-trigger {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    cursor:pointer;
    background:transparent;
    border:none;
}
.calendar-day-trigger:hover,
.calendar-day-trigger:focus,
.calendar-day-trigger:active {
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    box-shadow: none !important;
}

.calendar-day-trigger:hover .calendar-day {
   background: black!important;
}
.session-pill.list-select-btn{
    width:38px;
    height:38px;
    padding:0;
    border:none;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

/* default tick */
.session-pill .tick-icon{
    font-size:18px;
    color:#94a3b8; /* gray */
    transition:0.2s ease;
}

/* hover */
.session-pill:hover .tick-icon{
    color:#2563eb;
}

/* selected state */
.session-pill.selected .tick-icon{
    color:#16a34a;
}

.list-view{
    display:flex;
    flex-direction:column;
    gap:14px;
     max-height:550px;
    overflow-y:auto;
    padding-right:10px;
}

.list-card{
    border:1px solid #d9e3ef;
    border-radius:18px;
    padding:18px;
    background:#ffffff;
    display:flex;
    justify-content:space-between;
    gap:18px;
    transition:all .2s ease;
}

.list-card:hover{
    border-color:#93c5fd;
    box-shadow:0 8px 18px rgba(37,99,235,.08);
}

.list-card-left{
    flex:1;
}

.list-card-right{
    width:140px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.list-title{
    font-size:15px;
    line-height:1.5;
    font-weight:700;
    color:#0f172a;
    margin-bottom:10px;
}

.list-location{
    font-size:14px;
    color:#475569;
    margin-bottom:8px;
}

.selected-card{
    border:1px solid #d9e3ef;
    border-radius:18px;
    padding:18px;
    margin-bottom:14px;
    background:#ffffff;
    transition:all .2s ease;
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:16px;
    margin-bottom:12px;
    background:#fff;
    border:1px solid rgba(95, 170, 255, 0.3);
    border-radius:7x;
    padding:10px;
    margin:15px 0px 25px 0px;
    background:rgba(95, 170, 255, 0.05);
}

.selected-card:hover{
    border-color:#93c5fd;
    box-shadow:0 8px 16px rgba(37,99,235,.06);
}

.selected-session-title{
    font-size:14px;
    line-height:1.6;
    font-weight:700;
    color:#0f172a;
    margin-bottom:10px;
    font-size:14px;
    font-weight:600;
    line-height:1.5;
    color:#0f172a;
    margin-bottom:6px;
     font-size:14px;
    font-weight:700;
    color:#111827;
    margin-bottom:8px;
}

.selected-location{
    font-size:14px;
    color:#475569;
    margin-bottom:10px;
    font-size:13px;
    color:#64748b;
    margin-bottom:14px;
    font-size:13px;
    color:#64748b;
    margin-bottom:10px;
}

.selected-seat{
    display:flex;
    align-items:center;
    font-size:14px;
    font-weight:500;
    color: #00762d;
    padding: 2px 10px;
    border: 1px solid #00762d;
    border-radius: 20px;
font-size: 12px;
    font-weight: 500;
display: inline-block;
margin-bottom: 15px;
}

.qty-wrapper{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
width: 100%;
justify-content: space-between;
}

.qty-wrapper span {
font-size: 12px;
font-weight: 500;
}


.qty-wrapper p {
margin: 0px!important;
font-weight: 600;
}

.qty-btn{
    border:none;
    background:none;
    padding:0;
    font-size:28px;
    font-weight:500;
    color:#111827;
    cursor:pointer;
    width:auto;
    height:auto;
}
.cart-qty{
    font-size: 12px!important;
    font-weight:500;   
}
.qty-btn:hover{
    background:none;
    color:#2563eb;
}

.qty-count{
    min-width:30px;
    text-align:center;
    font-size:14px;
    font-weight:700;
    color:#0f172a;
}

.selected-session-section{
	gap: 0px;
}

.selected-session-section,
.cart-section{
    display:flex;
    flex-direction:column;
}

#selected-session-list,
{
    flex:1;
    overflow-y:auto;
    min-height:0;

}
.grand-total-box,
.add-to-cart-btn{
    flex-shrink:0;
}

/* QTY */

.qty-wrapper{
    display:flex;
    align-items:center;
    gap:10px;
}


/* TICK BUTTON */

.move-cart-btn{
    width:100%;
    height:44px;
    border:none;
    border-radius:14px;
    background:#2563eb;
    color:#ffffff;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:all .2s ease;
}

.move-cart-btn:hover{
    background:#1d4ed8;
}

.cart-card{
    border: 1px solid rgba(226, 0, 0, 0.25);
    border-radius:12px;
    padding:10px;
    margin-bottom:16px;
    background: rgba(226, 0, 0, 0.02);
}

.card-top-header {
display: flex;
justify-content: space-between;	
margin-bottom: 10px;
margin-top: -3px;

}

.card-top-header p {
    padding: 8px 10px 0px 10px;
    font-size: 10px;
    font-weight: 600;
    border: 1px solid #E3121E;
    line-height: 0;
    margin-top: 3px;
    margin-bottom: 6px;
    border-radius: 20px;
    color: #E3121E;
}

.cart-header{
    display:flex;
flex-direction: column;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:16px;
}

.cart-header .sesion-map {
font-size: 12px;
}

.cart-dates{
    display: flex;
width: 100%;
    justify-content: space-between;
}

.cart-row .value{
color: #5a5a5a;
    font-size: 12px;
    font-weight: 500;
}

.cart-end-row {
	text-align: right;
}

.cart-row{
    display:flex;
	flex-direction: column;
    line-height:1.5;
gap: 2px;
}

.cart-label{
    min-width:95px;
    font-weight:600;
    font-size: 14px;
}

.cart-value{
    color:#111827;
    font-size:14px;
}

.cart-remove-btn{
    border:none;
    background:none;
    padding:0;
    font-size:20px;
    color:black;
    cursor:pointer;
    width:auto;
    height:auto;
    line-height:1;
}
.cart-remove-btn:hover {
    background: transparent !important;
}

.cart-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:10px;
    padding: 7px 10px;
    border: 1px solid rgba(226, 0, 0, 0.25);
    border-radius: 7px;
background: white;

}

.cart-title{
    font-size:14px;
    line-height:1.6;
    font-weight:700;
    color:#0f172a;
    margin-bottom:10px;
}

.cart-location{
    font-size:14px;
    color:#475569;
    margin-bottom:10px;
}

.add-to-cart-btn{
    width:100%;
    border:none;
    padding: 7px!important;
    border-radius:12px!important;
    background:#2563eb;
    color:#ffffff;
    font-size: 12px!important;
    font-weight:700;
    cursor:pointer;
}

.add-to-cart-btn:hover{
    background:#1d4ed8;
    transform:translateY(-1px);
}

.list-mode .calendar-switcher{
    display:none;
}

.calendar-yello-box.session-select {
display: none;
}

@media(max-width:1200px){

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

}

.course-session-popup,
.popup-content,
.modal-content {
    width: 95% !important;
    max-width: 1400px !important;
}


.elearning-company-section{
    width:100%;
}

.elearning-company-section table{
    width:100%;
    table-layout:fixed;
}

.elearning-company-section input[type="number"]{
    width:120px;
    height:44px;
}


.date-group{
    display:flex;
    gap:20px;
    margin-bottom:30px;
}

.date-sidebar{
    width:70px;
    text-align:center;
}

.month{
    font-size:12px;
    font-weight:700;
    color:#666;
}

.day{
    font-size:24px;
    font-weight:700;
}

.date-content{
    flex:1;
}

.date-heading{
    margin-bottom:15px;
}

.date-heading h3{
    margin:0;
    font-size:18px;
}

.date-heading span{
    color:#777;
}

.slot-card{
    display:flex;
    justify-content:space-between;
    align-items:center;
    border:1px solid #ddd;
    border-radius:16px;
    padding:18px;
    margin-bottom:12px;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border:1px solid #dbe3ee;
    border-radius:16px;

    padding:18px;
    margin-bottom:12px;

    background:#fff;
    transition:.2s;
}

.slot-time{
    font-size:14px;
    font-weight:600;
}
.slot-seats{
    margin-top:6px;
    color:#666;
}

.list-view,
#selected-session-list,
{
    flex:1;
    overflow-y:auto;
    min-height:0;
    padding-right:8px;
}

.list-view::-webkit-scrollbar,
#selected-session-list::-webkit-scrollbar,
#cart-session-list::-webkit-scrollbar{
    width:6px;
}
.common-location{
    color:#64748b;
    font-weight:500;
    margin-left:8px;
}
.list-view::-webkit-scrollbar-thumb,
#selected-session-list::-webkit-scrollbar-thumb,
#cart-session-list::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:20px;
}

.slot-card:hover{
    border-color:#93c5fd;
}

/* hide + button until hover */
.list-select-btn{
    opacity:1;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    width:auto !important;
    min-width:auto !important;
    height:auto !important;
    font-size:32px;
    line-height:1;
    color:#2563eb;
    transition:.2s ease;
}

.slot-card .list-select-btn:hover {
    opacity: 1 !important;
    color: #2563eb !important;
}

.slot-seats{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:6px;
    background:none;
    border:none;
    padding:0;
    color:#475569;
    font-size:13px;
    font-weight:500;
}
.seat-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#22c55e;
    flex-shrink:0;
}

.grand-total-box,
.add-to-cart-btn{
    flex-shrink:0;
}


.final-cart-pop .more-session {
display: none;
}


.final-cart-pop .add-to-cart-btn{
    margin-top: 15px!important;
}

.final-cart-pop #grand-total {
font-size: 20px!important;
    color: black!important;
    font-weight: 600!important;
}

.calendar-month-panel {
max-height: 283px;
}

#selected-session-list{
max-height: 460px;
}

.cart-section #cart-session-list {
max-height: 375px;
}

.cart-section .qty-wrapper{
    gap: 10px!important;
    justify-content: flex-start!important;
margin-bottom: 0px!important;
}

.selected-session-section .qty-wrapper div{
display: flex!important;
align-items: center!important;
gap: 15px!important;
}

.selected-session-section .qty-btn.minus, .selected-session-section .qty-btn.plus, .cart-section .cart-qty-minus, .cart-section .cart-qty-plus {
background-color: transparent!important;
    box-shadow: none!important;
    color: #424242!important;
    padding: 0px 10px!important;
    border: 2px solid #DDE2E8!important;
    border-radius: 7px!important;
}

.selected-session-section .qty-btn.minus:hover, .selected-session-section .qty-btn.plus:hover, .cart-section .cart-qty-minus:hover, .cart-section .cart-qty-plus:hover {
box-shadow: none!important;
    color: #424242!important;
    padding: 0px 10px!important;
    border: 2px solid black!important;
border-radius: 7px!important;
}

.calendar-main-section .list-view {
    max-height: 325px;
}

@media(max-width:1200px){

    .course-layout-main{
        grid-template-columns:1fr;
        height:auto;
    }

    .calendar-main-section,
    .selected-session-section,
    .cart-section{
        height:auto;
        min-height:400px;
    }
}
.remove-session-btn{
    border:none;
    background:none;
    padding:0;
    color:#111827;
    cursor:pointer;
    width:auto;
    height:auto;
}

.remove-session-btn:hover{
    color:#dc2626;
}
.session-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    margin-bottom:10px;
}

.session-dates{
    flex:1;
width: 100%;
}

.sesion-map {
	 display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 500;
    padding-bottom: 10px;
    border-bottom: 1px solid #d7d7d7;
position: relative;
margin-bottom: 15px;
	width: 100%;
}

/* Create the dots for the top and bottom corners */
.sesion-map::before, .sesion-map::after{
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: #d7d7d7; /* Color of the dots */
  border-radius: 50%; /* This makes the squares into perfect circles */
}

/* Position the top-left and top-right dots */
.sesion-map::before {
  bottom: -6px;
  left: -1px;
}

/* Position the bottom-left and bottom-right dots */
.sesion-map::after {
  bottom: -6px; /* Moves the dot halfway over the bottom border */
  right: -1px;
}

.sesion-map p {
margin: 0px!important;
}

.start-to-end {
    display: flex;
    justify-content: space-between;
}

.session-row{
    display:flex;
flex-direction: column;
gap: 2px;
}


.session-row .label{
    min-width:90px;
    font-weight:600;
    font-size: 14px;
    color:#374151;
}

.session-row .value{
    color: #5a5a5a;
    font-size: 13px;
    font-weight: 500;

}

.session-row.ends {
text-align: right;
}

.cohort-popup-header {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}
.session-action-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:16px;
    background: white;
    padding: 10px;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
}

.qty-wrapper{
    display:flex;
    align-items:center;
    gap:15px;
}
/* .calendar-month-panel.month-six-rows{
    max-height:520px;
    overflow-y:auto;
} */

.calendar-month-panel:not(.month-six-rows){
    overflow:visible;
}
/* .month-six-rows .calendar-grid{
    max-height:420px;
    overflow-y:auto;
    padding-right:6px;
} */
.course-layout-main
 {
    display: grid;
    grid-template-columns: 2.45fr 1fr;
    align-items: start;
    gap: 10px;
}
.course-layout-main button,
.session-combined-wrapper button,
.calendar-main-section button,
.selected-session-section button,
.cart-section button {
    background: unset;
    color: inherit;
    border-radius: inherit;
    padding: inherit;
}

.view-btn,
.list-select-btn,
.remove-session-btn,
.cart-remove-btn,
.calendar-day-trigger {
    background: transparent !important;
    color: inherit !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.course-layout-main,
.course-layout-main .view-btn,
.course-layout-main .calendar-day-trigger,
.course-layout-main .list-select-btn {
    background: transparent !important;
}

.course-layout-main .qty-btn,
.course-layout-main .qty-btn:hover,
.course-layout-main .qty-btn:focus,
.course-layout-main .qty-btn:active {
    background: transparent !important;
    color: #111827 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}


@media (max-width: 480px) {

    /* EXTRA SMALL DEVICES */


.mobile-mini-cart{
    display:block;
}


    .panel-title {
        font-size: 16px !important;
    }

    .available-count {
        font-size: 13px !important;
        flex-wrap: wrap;
    }

    .view-btn svg {
        width: 22px !important;
        height: 22px !important;
    }

    .add-to-cart-btn {
        height: 48px !important;
        font-size: 14px !important;
    }
}
/* default: hide all mobile-only HR on desktop */
.mobile-only-cart-ui hr {
    display: none;
}


/* hide hr everywhere by default */
.mini-cart-header hr,
.cart-section hr,
.mobile-mini-cart hr {
    display: none;
}
.change-date-btn {
    display: none;
}
/* show only on mobile */
@media (max-width: 768px) {
 
    .cart-start-row,
    .mini-start-row{
        display:flex;
        justify-content:space-between;
        align-items:left;
    }

    .cart-remove-btn{
        border:none;
        background:none;
        cursor:pointer;
        font-size:18px;
        line-height:1;
    }

   

    .mini-row{
        margin-bottom:6px;
    }
  
.mobile-mini-cart hr{
    margin-bottom: 8px;   /* change this */
    margin-top: 8px;
}
    .mini-cart-header-row{
        display:flex;
        justify-content:space-between;
        align-items:center;
        margin-bottom:10px;
    }
     .change-date-btn {
        display: block;
    }
      .cart-section {
        display: flex;
        flex-direction: column;
        height: 500px; /* your fixed mobile height */
    }

    #cart-session-list {
        flex: 1;
        overflow-y: auto;
        min-height: 0;
    }

    .change-date-btn,
    .grand-total-box,
    .add-to-cart-btn {
        flex-shrink: 0;
    }
   
     /* 1. STACK EVERYTHING VERTICALLY */
    .course-layout-main {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
.mobile-mini-cart.is-empty {
    max-height: 180px; /* small bar only */
    padding: 10px;
}
    /* 2. SPLIT 3 PANELS INTO FULL WIDTH CARDS */
    .session-combined-wrapper {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    /* 3. REMOVE FIXED HEIGHTS (VERY IMPORTANT FOR MOBILE SCROLL) */
    .calendar-main-section,
    .selected-session-section,
 {
        height: auto !important;
        min-height: 500px !important;
    }

    /* 4. MAKE EACH SECTION FEEL LIKE MOBILE CARDS */
    .calendar-main-section,
    .selected-session-section,
    .cart-section {
        border-radius: 18px !important;
padding: 0px!important;
    }


    .toolbar-right {
        width: 100% !important;
        justify-content: space-between !important;
    }

    /* 6. VIEW SWITCHER FULL WIDTH FEEL */
    .view-switcher {
        width: 100% !important;
        justify-content: space-between !important;
    }

    /* 7. CALENDAR DAY BIGGER TAP TARGETS */
    /* .calendar-day {
        min-height: 72px !important;
        height: 72px !important;
        border-radius: 12px !important;
    } */

    .day-number {
        font-size: 14px !important;
    }

    /* 8. CALENDAR GRID TIGHTER */
    .calendar-grid {
        gap: 6px !important;
    }

    /* 9. MONTH NAVIGATION COMPACT */
    .calendar-switcher {
        margin-bottom: 10px !important;
    }

    .calendar-current-month {
        font-size: 16px !important;
    }

    .calendar-nav {
        font-size: 22px !important;
    }

    /* 10. LIST VIEW IMPROVED FOR MOBILE */
    .list-view {
        max-height: none !important;
        padding-right: 0 !important;
    }

    .date-group {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .date-sidebar {
        width: 100% !important;
        display: flex;
        justify-content: space-between;
        padding: 10px 12px;
        background: #f8fafc;
        border-radius: 12px;
    }

    .day {
        font-size: 20px !important;
    }
    .calendar-main-section,
  .selected-session-section,
  .cart-section {
      display: flex !important;
  }

  .course-layout-main {
      display: grid !important;
  }

	.selected-card{
margin: 30px 0px 40px 0px;
}

.session-action-row {
    padding: 10px;
}

.select-cart-btn {
    font-size: 14px !important;
    padding: 5px 10px !important;
}

.session-breadcrumb{
 font-size: 14px;
margin-top: 5px;
margin-bottom: 15px;
}

.cohort-header-content p {
	display: none;
	}
	
.session-breadcrumb .step-link{
    color: #0073aa;
    cursor: pointer;
    text-decoration: none;
}

.session-breadcrumb .step-link:hover{
    text-decoration: underline;
}
.session-breadcrumb .step-link.active {
    text-decoration: underline;
    font-weight: 600;
}
.session-breadcrumb .step-link.initial-active{
    text-decoration: underline;
}
.session-breadcrumb .divider{
    margin: 0 8px;
    color: #999;
}
    /* 11. SLOT CARD MOBILE STACK */
    .slot-card {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding: 14px !important;
    }

    .slot-time {
        font-size: 13px !important;
    }

    /* 12. BUTTON TOUCH IMPROVEMENTS */
    .list-select-btn {
        font-size: 28px !important;
        align-self: flex-end !important;
    }

    /* 13. SELECTED + CART STACK CLEAN */
    .session-header,
    .cart-header {
        flex-direction: column !important;
        gap: 8px !important;
    }

    .remove-session-btn,
    .cart-remove-btn {
        align-self: flex-end !important;
    }

    /* 14. QTY CONTROLS BETTER TOUCH SIZE */
    .qty-btn {
        font-size: 24px !important;
    }

    .qty-wrapper {
        gap: 14px !important;
    }

    /* 15. GRAND TOTAL ALWAYS FULL WIDTH */
    .grand-total-box {
        flex-direction: row !important;
        padding: 0px !important;
    }

    /* 16. FIX POPUP WIDTH */
    .course-session-popup,
    .popup-content,
    .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important;
    }

    .calendar-grid{
        gap:5px;
    }

    /* .calendar-day{
        min-height:70px;
        padding:4px;
    } */

    .session-pill{
        font-size:10px;
        padding:4px 6px;
    }

    .list-card{
        flex-direction:column;
    }

    .list-card-right{
        width:100%;
        justify-content:flex-start;
    }


    .toolbar-right{
        width:100%;
    }
    .session-combined-wrapper{
        grid-template-columns:1fr;
    }

    .selected-session-section,
    .cart-section{
    height:520px;
}

    .calendar-main-section{
    height:auto;
}

    .calendar-view,
    .list-view,
    #selected-session-list,
    #cart-session-list{
        max-height:400px;
        overflow-y:auto;
margin-top: -15px;
    }
    .mobile-mini-cart hr {
        display: block;
        margin-bottom: 15px!important;
        margin-top: 15px!important;

    }
    .mobile-only-cart-ui hr {
        display: block;
    }
    
    .course-layout-main{
        display:block;
    }

    /* Main combined wrapper */
    .session-combined-wrapper{
        display:flex !important;
        flex-direction:column !important;
        gap:0 !important;

        border:1px solid #d8e2ee;
        border-radius:20px;
        overflow:hidden;

        background:#fff;
    }

    /* Remove individual card styling */
    .calendar-main-section,
    .selected-session-section{
        border:none !important;
        border-radius:0 !important;
        box-shadow:none !important;
        background:#fff !important;

        margin:0 !important;

        height:auto !important;
        min-height:auto !important;
    }

.calendar-main-section, .selected-session-section, .cart-section {
    padding: 20px !important;
    border: 2px solid #ebebeb !important;
    border-radius: 15px !important;
}

    /* Divider */
    .selected-session-section{
        border-top:1px solid #e2e8f0 !important;
    }

    /* Calendar scrolling */
    .calendar-view,
    .list-view{
        overflow-y:auto !important;
        max-height:350px !important;
    }

    /* Mini cart becomes part of same card */
.mobile-mini-cart {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding:15px;
    min-height: 165px; /* IMPORTANT */
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    transform: translateY(0);
    transition: all 0.3s ease;
}

.mini-cart-edit-btn{
    padding: 1px 20px!important;
    font-size: 12px!important;
    font-weight: 600!important;
    color: #6d6d6d !important;
    background-color: white!important;
    border: 1px solid #a3a3a3 !important;
    border-radius: 7px!important;
}
.mini-cart-edit-btn:disabled{
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}
	.mini-cart-edit-btn svg{
    margin-top: -2px;
    margin-right: 4px;
}

.mini-cart-body {
    max-height: 50px; /* scroll area */
    overflow-y: auto;
    overflow-x: hidden;
}
.mini-cart-item{
    padding:12px 0;
}

.mini-cart-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}

.mini-cart-time{
    font-weight:600;
}

.mini-cart-qty{
    margin-top:6px;
}

.mini-cart-item .cart-remove-btn{
    margin-left:auto;
}
/* optional scrollbar */
.mini-cart-body::-webkit-scrollbar {
    width: 6px;
}

.mini-cart-body::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

.mini-cart-item{
    border-bottom:1px solid #eee;

}

body{
    padding-bottom:180px;
}

    .calendar-grid{
        gap:5px !important;
    }

    .day-number{
        font-size:14px !important;
    }

    .session-dot{
        width:5px !important;
        height:5px !important;
        bottom:6px !important;
    }

    .session-count{
        font-size:10px !important;
        right:4px !important;
        bottom:4px !important;
    }

    .weekday{
        font-size:14px;
font-weight: 500;
    }

    .panel-title{
        font-size:16px;
        margin-bottom:10px;
    }

    .calendar-switcher{
        margin-bottom:10px;
    }

    .available-count{
        display:flex;
        flex-wrap:wrap;
    }

    .mini-cart-header{
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

   .mobile-mini-cart .mini-total-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
}
 .mobile-mini-cart .mini-add-btn{
        width:100% !important;
font-size: 14px;
        padding:10 0px;
        box-sizing:border-box;
        margin-top: 10px;
    }

.mobile-mini-cart .mini-total{
    margin-left:auto;
font-size: 22px;
        font-weight: 600;
    }
.mobile-mini-cart .mini-cart-header span{
    font-weight:700;
        font-size: 14px;
        color: #1c1c1c;
}
.mobile-mini-cart .mini-empty-text{
    color:#111827;
    text-align: center;
}
.mobile-mini-cart .mini-total-row span{
    font-weight: 500;
    color: #565657;
}
   .session-combined-wrapper{
        border:none !important;
        border-radius:0 !important;
        box-shadow:none !important;
        background:#fff !important;
    }

    .mobile-step{
        display:none !important;
    }

    .mobile-step.active-step{
        display:flex !important;
    }

.final-cart-pop {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        padding: 15px;
        min-height: 185px;
        overflow-y: auto;
        background: #fff;
        transform: translateY(0);
        transition: all 0.3s ease;
display: flex;
        flex-direction: column;
        justify-content: end;
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    }

.add-to-cart-btn {
        width: 100% !important;
        font-size: 14px!important;
        padding: 10px 0px!important;
        margin-top: 10px;
border-radius: 50px!important;
}

	.add-to-cart-btn svg {
    margin-top: -6px;
    margin-right: 5px;
}

	.change-date-btn {
padding: 0px 20px!important;
    font-weight: 600!important;
    font-size: 12px!important;
    color: #6d6d6d!important;
    background: white!important;
    border: 1px solid #a3a3a3!important;
    border-radius: 5px!important;
}
	
	.cart-section.mobile-step.active-step .panel-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

	.grand-total-box span {
    font-size: 14.5px;
        font-weight: 500;
        color: #565657;
}

.grand-total-box #grand-total {
        margin-left: auto;
        font-size: 22px;
        font-weight: 600!important;
	color: black;
    }

	.final-cart-pop .mini-cart-header {
	padding-bottom: 15px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 15px;
	}

    .final-cart-pop .mini-cart-header span {
        font-weight: 600;
        font-size: 14px;
        color: #1c1c1c;
    }

.calendar-yello-box {
display: none;
}

.calendar-yello-box.session-select {
display: block;
}

.selected-session-section .calendar-yello-box {
display: flex;
border-radius: 8px;
margin-top: 10px;
gap: 10px;
}

.selected-session-section .timezone-text {
margin: 0px;
font-size: 10px;
font-weight: 600;
color: rgba(0, 0, 0, 0.5);
}

.selected-session-section .common-location {
font-size: 10px;
font-weight: 600;
color: rgba(0, 0, 0, 0.5);
}

.calendar-main-section .calendar-yello-box {
display: none;
}


	.final-cart-pop .more-session {
display: block;
}

}

@media (min-width: 769px) {
    .mobile-mini-cart hr {
        display: none;
    }
}
/* HARD DISABLE ON DESKTOP */
@media (min-width: 769px) {
    .mobile-mini-cart {
        display: none !important;
    }
}
@media (min-width: 769px) {
  .session-breadcrumb {
      display: none;
  }
}
