.lessons_register .more_info_content {display: flex; flex-wrap: wrap; gap: 10px 30px; width: 100%;}
.lessons_register .more_info_content .line_info:nth-of-type(odd) {width: calc(40% - 15px);}
.lessons_register .more_info_content .line_info:nth-of-type(even) {width: calc(60% - 15px);}
.lessons_register .line_info:last-of-type {flex: unset; gap: 10px; padding: 0;}
.lessons_register .line_info:last-of-type .info {padding: 0;}
.lessons_register .toggle_purchase_info {width: 100%; font-size: 18px; cursor: pointer;}

.group.camp-selection {margin-top: 30px; padding-bottom: 0;}
.group.camp-selection .age-group button {padding: 0px 10px;}
.group.camp-selection .camp-type button {flex-direction: column; gap: 8px; height: 60px;}
.group.camp-selection .camp-type button span {line-height: 100%;}
.group.camp-selection .camp-type button span.title {font-weight: 700;}
.group.camp-selection .camp-type button span.subtitle {font-size: 14px;}
.group.camp-selection .camp-type button.active {font-family: inherit; font-weight: inherit;}

.calendar-wrapper {margin-inline: -25px; border-radius: 0 0 10px 10px; overflow: hidden;}
.calendar-header, .calendar-row {display: grid; align-items: center; grid-template-columns: 95px 30px 1fr 1fr 1fr 30px;}

/* Calendar Header Specifics */
.calendar-header {height: 58px; background-color: #E1DAD0;}
.header-hours {grid-column: 1; padding: 16px 20px; color: #243D44; text-align: center; font-size: 18px; font-weight: 500; }
.header-arrow {display: flex; align-items: center; justify-content: center; height: 100%;}
.header-arrow button {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 8px; background: none; border: none; cursor: pointer;}
.header-arrow button:disabled {opacity: 0.3; cursor: not-allowed;}
.nav-arrow {width: 18px; height: 18px;}
.header-day {display: flex; align-items: center; justify-content: center; height: 100%; padding: 15px 20px; color: #243D44; text-align: center; font-size: 18px; font-weight: 500; border-right: 1px solid #FFF;}
.header-day:nth-of-type(3) {border-right: none;}

/* Calendar Grid - Column Based */
.calendar-grid {display: grid; grid-template-columns: 95px 30px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 30px; gap: 0; height: 440px; padding: 0; scrollbar-gutter: stable both-edges; overflow-y: auto; background-color: #f7f7f7;}

/* Calendar Columns */
.calendar-column {display: flex; flex-direction: column; gap: 10px;}
.time-column {padding: 15px 0; padding-right: 15px;}
.time-slot {display: flex; align-items: center; justify-content: flex-end; height: 95px; color: #243D44; font-size: 14px; font-weight: 500; text-align: right;}

.spacer-column {
/* Empty columns under arrows */
}

.day-column {display: flex; flex-direction: column; gap: 10px; padding: 15px 5px; }
.day-slot {display: flex; align-items: center; justify-content: center;}
.empty-slot-placeholder {width: 100%; height: 95px;}
.empty-state-column {display: flex; justify-content: center; min-height: 115px; padding: 2rem 1rem; background-color: rgba(247, 247, 247, 1); border-radius: 10px;} 
.empty-state-column .empty-content {display: flex; align-items: center; text-align: center;}


.calendar-wrapper.week-view .mobile-lesson-row { margin-bottom: 15px; padding: 0; background-color: rgba(247, 247, 247, 1); border: solid 1px rgba(211, 216, 218, 1); border-radius: 10px; overflow: hidden; cursor: pointer;}
.calendar-wrapper.week-view .mobile-lesson-row.selected {border-color: #38715E;}
.lesson-card {display: flex; flex-direction: column; justify-content: center; position: relative; width: calc(100% - 140px); min-height: 70px; padding: 8px 18px; background-color: #FFF; border-right: solid 1px rgba(211, 216, 218, 1);cursor: pointer;}
.lesson-card.selected {border-color: #38715E; cursor: pointer; transition: transform 0.2s,}
.lesson-card .selected-icon {position: absolute; left: 20px;}
.lesson-card.unavailable {opacity: 0.7; cursor: unset;}
.lesson-title {color: #243D44; font-size: 16px; font-weight: 700; line-height: 22px; text-align: right;}
/* .lesson-title span {white-space: nowrap;} */
.lesson-coach {color: #243D44; font-size: 14px; font-weight: 500; line-height: 18px; text-align: right;}
.lesson-spots {display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; color: #243D44; font-size: 14px; font-weight: 500; line-height: 18px;}
.spots-dates-sep {color: #aaa; margin: 0 2px;}
.course-dates-list {display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0;}
.course-date-tag {font-size: 14px; color: #243D44; white-space: nowrap;}
.course-date-tag.past {text-decoration: line-through;}
.course-date-comma {font-size: 14px; color: #243D44; margin-inline-end: 2px;}
.empty-state {display: flex; align-items: center; justify-content: center; width: 100%; padding: 2rem;}
.text-center {text-align: center;}
.empty-icon {margin: 0 auto 1rem auto;}
.empty-text {color: #243D44; font-size: 16px; font-weight: 700;}

.calendar-bottom-row {display: flex; align-items: center; height: 50px; background: var(--white, #FFF); padding: 0 25px; text-align: right; /*box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.10);*/}

/* Desktop Calendar */
.week-day-item {position: relative; width: calc(100% / 7); height: 35px; text-align: center; font-size: 18px; cursor: pointer; border-radius: 0; border-bottom: solid 1px rgba(36, 61, 68, 0.2);}
.week-day-item span {}
.week-day-item .week-day-dot {display: none;}
.week-day-item.selected {border-bottom: solid 3px rgba(36, 61, 68, 1);}
.week-day-item.selected:after {content: ''; position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); border-left: 9px  solid transparent; border-right: 9px  solid transparent; border-top: 9px  solid #1a1a2e;}

@media all and (max-width: 767px) {
    .week-day-item {position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 35px; height: 35px; color: #1c3e4f; cursor: pointer; background-color: transparent; border-radius: 50%; border: 1px solid #1c3e4f;}
    .week-day-item.selected {color: #fff; background-color: #1c3e4f; border: none;}
    .week-day-item.selected:after {display: none;}
    .week-day-item span { font-size: 18px;}
    .week-day-item .week-day-dot {display: block !important; position: absolute !important; top: 0 !important; left: 5px !important; bottom: auto !important; transform: translateX(-50%) !important; width: 10px !important; height: 10px !important; background-color: #1c3e4f !important; border: solid 1px #FFF; border-radius: 50% !important; pointer-events: none;}
}

/* Mobile Calendar */
.mobile-header-container { width: 100%; display: flex; flex-direction: column;}
.mobile-week-nav {display: none;}
.mobile-week-nav button {padding: 0 20px; margin: 0; background: none; border: none;}

@media all and (max-width: 767px) {
    .mobile-week-nav {display: flex; justify-content: space-between; align-items: center; padding: 10px 0; background-color:#E1DAD0;}
}
.week-range-label {font-size: 18px; direction: ltr;}
.mobile-days-strip, .week-days-strip {display: flex; justify-content: space-around; padding: 10.5px 0; background-color: #FFF;}
.mobile-day-item {display: flex; flex-direction: column; align-items: center; justify-content: center; width: 35px; height: 35px; color: #1c3e4f; cursor: pointer; background-color: transparent; border-radius: 50%; border: 1px solid #1c3e4f;}
.mobile-day-item.selected {color: #fff; background-color: #1c3e4f; border: none;}
.mobile-day-item span { font-size: 18px;}

.mobile-list-view {/*height: 116px;*/ margin-top: 5px; margin-inline: 25px; overflow: auto;}
.mobile-list-view:nth-of-type(1) {margin-top: 5px;}
/* Mobile Empty State */
.mobile-list-view .empty-state-column { text-align: center; padding: 20px; margin-bottom: 15px;}
.mobile-list-view .empty-icon { max-width: 100px; margin-bottom: 10px; }

/* Mobile List Item */
.mobile-lesson-row {display: flex; align-items: center; justify-content: space-between; padding: 10px 0; border-top: solid 1px #D3D8DA;}
.mobile-lesson-row:nth-of-type(1) {border-top: none;}
.mobile-lesson-card {flex: 1; margin: 0;}
.mobile-time-label {margin: 0 15px; font-weight: bold; direction: ltr;}
.mobile-time-wrapper {display: flex; flex-direction: column; align-items: start; justify-content: center; min-width: 140px; padding: 0 15px;}
.mobile-time-wrapper .mobile-time-label {line-height: 18px; margin: 0; font-weight: normal; direction: ltr; white-space: nowrap;}
.mobile-time-date {font-size: 14px; color: #243D44; text-align: center; white-space: nowrap;}


/* Custom Instructor Select */
.custom-instructor-select {position: relative;  width: 220px; height: 50px; margin-bottom: 15px; }
.instructor-dropdown-trigger {display: flex; justify-content: space-between; align-items: center; height: 50px; padding: 0 15px;  color: #243D44; background: #fff;  border: 1px solid #ddd;  border-radius: 33px;  cursor: pointer;}
.instructor-dropdown-trigger > span:nth-of-type(1) {direction: ltr;}
.instructor-dropdown-menu {position: absolute; top: 0;  left: 0; right: 0; padding: 15px; background: #fff; border: 1px solid #ddd; border-radius: 33px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); z-index: 100;}
.instructor-dropdown-header {display: flex;  justify-content: space-between;  align-items: center;  margin-bottom: 10px; cursor: pointer; font-weight: bold; color: #243D44;}
.instructor-dropdown-divider {margin: 10px 0; border: 0; border-top: 1px solid #D3D8DA;}
.instructor-option-all {padding: 10px 0; cursor: pointer; color: #243D44; text-align: right;}
.instructor-option-all.en { text-align: left; }
.instructor-option-all.selected { font-weight: bold; }
.instructor-option-row {display: flex;  justify-content: space-between;  align-items: center;  padding: 10px 0;}
.instructor-more-info {display: flex; align-items: center; gap: 5px; cursor: pointer; color: #243D44;}
.instructor-more-info img {width: 12px;}
.instructor-name {flex: 1; color: #243D44; cursor: pointer;}
.instructor-name.selected { font-weight: bold; }
.arrow-icon {font-size: 12px;}
.arrow-up {transform: rotate(180deg);}
.font-bold {font-weight: bold;}

/* Course Details Box */
.calendar-action-row {/*display: flex;  align-items: center;  justify-content: space-between; gap: 15px;*/ margin-inline: -25px; padding-inline: 25px; /*padding-top: 20px;*/ padding-bottom: 20px; /*border-top: solid 1px #D3D8DA;*/}
.course-details-box {flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 10px;}
.course-details-item {display: flex; align-items: center; width: 100%; gap: 10px;position: relative; min-height: 60px; padding: 15px 10px; background: #fff; border: 1px solid #243D44; border-radius: 10px; overflow: hidden;}

/* Choose Surfer dropdown */
.dropdown_surfers {position: relative; width: 310px; margin-bottom: 15px; border-radius: 10px; z-index: 11; }
.dropdown_surfers ul {list-style-type: none; margin: 0; padding: 0;}
.dropdown_surfers ul {max-height: 160px; margin: 0 -15px; overflow-y: scroll;}
.dropdown_surfers ul li {display: flex; align-items: center; height: 41px; line-height: 22px; padding: 0 15px; margin-bottom: 15px; font-size: 18px; font-weight: 500; transition: 0.4s all; border-radius: 10px; cursor: pointer;}
.dropdown_surfers ul li.choosen {pointer-events: none; opacity: 0.5;}
.dropdown_surfers ul li:hover {background-color: #C2EAEA;}
.dropdown_surfers.open .result {border-radius: 10px 10px 0 0;}
.dropdown_surfers.open .wrap_lists {display: block; height: auto; padding: 15px; opacity: 1; visibility: visible;}
.dropdown_surfers .result {justify-content: space-between; align-items: center; flex-direction: row; height: 50px; line-height: 22px; padding: 0 15px; font-size: 18px; font-weight: 700; background-color: #C2EAEA; border-radius: 10px; cursor: pointer;}
.dropdown_surfers .result img {height: 20px; width: 20px; transition: 0.4s all;}
.dropdown_surfers.open .result img {transform: rotate(180deg);}
.dropdown_surfers.open .result {border-top: 1px solid #D3D8DA;}

.dropdown_surfers.open .wrap_lists .add_surfer_box {padding-top: 0; padding-bottom: 15px; border-top: none; border-bottom: 1px solid #D3D8DA;}
.dropdown_surfers.open .wrap_lists button {display: flex; gap: 10px; line-height: 22px; padding: 0; margin: 0; color:#2b434a; font-size: 18px; font-weight: 500; text-align: right; background-color: transparent; border: 0;}
.dropdown_surfers.open .wrap_lists button:hover {color: #38715E;}
.dropdown_surfers.open .wrap_lists .add_surfer_box button .add_srf_icon {display: flex; align-items: center; justify-content: center; width: 14px; height: 14px; line-height: 22px; text-align: center; font-size: 18px; font-weight: 500; border: solid 1px; border-radius: 100%;}
.dropdown_surfers.open .wrap_lists button img {height: 14px;}

.dropdown_surfers .wrap_lists {display: none; position: absolute; right: 0; left: 0; top: 100%; padding: 0 15px; opacity: 0; transition: 0.4s all; visibility: hidden; background-color: #FFF; border-radius: 0 0 10px 10px; box-shadow: 0px 3px 14px 0px rgba(0, 0, 0, 0.10);}
.dropdown_surfers.open {box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.10); z-index: 20;}
.dropdown_surfers ul {max-height: 170px; margin: 0; overflow-y: auto;}



@media all and (max-width: 767px) {
    .lessons_register .more_info_content .line_info:nth-of-type(even) {width: 100%;}

    .camp-cart .camp-selection {padding-inline: 20px;}

    .group.camp-selection .age-group button {height: 45px;}
    .group.camp-selection .camp-type button {gap: 0px; padding-inline: 12px;}
    

    .calendar-wrapper {margin-inline: -20px;}
    .calendar-header {display: block; height: 100px;}
    .empty-state-column {min-height: unset}

    .calendar-action-row {flex-wrap: wrap;}
    .course-details-box {flex: 0 0 100%; width: 100%;}
    .confirm-selection-btn {margin: 0;}

    .dropdown_surfers {width: 100%;}

    .week-days-strip {border-bottom: solid 1px #D3D8DA;}
    .week-select-wrapper {display: none;}
    .mobile-list-view {margin-top: 15px; margin-inline: 15px;}
    .mobile-time-wrapper {width: 120px; min-width: unset;}

    .custom-instructor-select {width: 100%;}
    .lesson-card .selected-icon {display: none;}
}




/* 
    Instructor Modal 
--------------------------------------------------------------------------------------------*/
.instructor-modal-overlay {display: flex; justify-content: center; align-items: center; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 9999;}
.instructor-modal-content {display: flex; flex-direction: column; position: relative; width: 90%; max-width: 925px; padding: 70px; background: #fff; border-radius: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.2);}
.instructor-modal-close {position: absolute; top: 15px; left: 15px; margin: 0; padding: 5px; color: #999; background: transparent; border: none; cursor: pointer;}
.instructor-modal-close:hover { color: #333; }
.instructor-modal-close img {width: 18px;}
.instructor-modal-body {display: flex; gap: 30px; padding: 20px; margin-bottom: 30px; border-radius: 10px; border: 1px solid #D3D8DA;}
.instructor-profile-section {flex: 0 0 45%; text-align: center;}
.instructor-image-wrapper {width: 100%; height: 150px; margin-bottom: 15px; border-radius: 12px; overflow: hidden;}
.instructor-image {width: 100%; height: 100%; object-fit: cover;}
.instructor-title-block {margin-bottom: 10px;}
.instructor-name-title {line-height: 100%; margin-bottom: 0; color: #243D44; font-weight: 800; font-size: 24px;}
.instructor-job-title {color: #243D44; font-size: 16px; font-weight: 500;}
.instructor-info-section {flex: 1; display: flex; flex-direction: column; justify-content: center; text-align: right;}
.instructor-description {line-height: 22px; margin-bottom: 20px; color: #243D44; font-size: 18px;}
.instructor-days {margin-bottom: 25px; font-size: 18px; color: #243D44; font-weight: 600;}
.instructor-select-btn {display: flex; align-items: center; justify-content: center; max-width: 235px; min-height: 41px; margin: unset; color: #fff; font-size: 18px; background-color: #243D44; border: none; border-radius: 25px; cursor: pointer;}
.instructor-modal-footer {display: flex; justify-content: space-between; align-items: center; padding-top: 20px; color: #777; font-size: 16px;}
.nav-control {display: flex; align-items: center; gap: 8px; cursor: pointer;}
.nav-control img { height: 12px; }
.nav-control:hover { color: #243D44; }

/* Responsive */
@media (max-width: 768px) {
    .instructor-modal-content {padding: 60px 25px; padding-bottom: 25px;}
    .instructor-modal-body {gap: 15px; flex-direction: column; text-align: center; padding: 0; border: 0;}
    .instructor-info-section {text-align: center;}
    .instructor-select-btn {margin: 0 auto;}

    
}


.course-details-item.bordered {padding-top: 10px; border-top: 1px solid #eee;}
.course-details-badge {position: absolute; top: 0; left: 0; padding: 2px 8px;  background-color: #F5E4D3; font-size: 12px;}
.course-details-badge.rtl { left: -21px; border-radius: 0 0 5px 0;}
.course-details-badge.ltr { right: -21px; border-radius: 0 0 0 5px;}
.course-details-check img {width: 14px;}
.course-details-text-group {display: flex; flex-direction: column;}
.course-details-title {font-weight: bold; color: #243D44; font-size: 16px;}

/* Week-view calendar (unified desktop + mobile) */
.calendar-wrapper.week-view .calendar-header {display: block; height: auto; padding: 0 25px; background-color: #FFF;}
/* .calendar-wrapper.week-view .mobile-list-view {height: 400px;} */
.calendar-controls-row {display: flex; align-items: flex-start; gap: 15px; flex-wrap: wrap;}
.week-select-wrapper {position: relative; width: 220px; height: 50px; z-index: 200;}
.week-select-wrapper .instructor-dropdown-trigger {width: 100%;}

/* Week picker dropdown */
.week-picker-dropdown {position: absolute; top: calc(100% + 6px); right: 0; width: 320px; background: #fff; border: 1px solid #ddd; border-radius: 15px; padding: 0 20px; box-shadow: 0 4px 20px rgba(0,0,0,0.15); z-index: 300;}
.picker-header {display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px;}
.picker-month-label {font-size: 16px; font-weight: 700; color: #243D44; flex: 1; text-align: center;}
.nav_btns {display: flex; gap: 5px;}
.nav-btn {display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: none; border: none; cursor: pointer; padding: 0;}
.nav-btn img {width: 10px;}
.close-picker-btn {display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: none; border: none; cursor: pointer; padding: 0;}
.close-picker-btn img {width: 14px;}
.picker-grid-header {display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; margin-bottom: 8px;}
.picker-grid-header > div {font-size: 13px; font-weight: 600; color: #243D44; padding: 4px 0;}
.picker-grid-body {display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px;}
.picker-day {display: flex; align-items: center; justify-content: center; height: 36px; font-size: 14px; color: #243D44; border-radius: 4px; cursor: pointer;}
.picker-day:not(.empty):hover {background: #E1DAD0;}
.picker-day.empty {cursor: default;}
.picker-day.selected-week-day {background: #243D44; color: #fff; border-radius: 0;}
.picker-grid-body .picker-day.selected-week-day:nth-child(7n+1) {border-radius: 0 4px 4px 0;}
.picker-grid-body .picker-day.selected-week-day:nth-child(7n) {border-radius: 4px 0 0 4px;}

@media all and (max-width: 1290px) {
    .calendar-controls-row {gap: 10px;}
    .calendar-controls-row > div {flex: 1; width: auto;}

    .purchasable-ticket-card {padding: 20px 10px;}
}

@media all and (max-width: 767px) {
    /* .calendar-wrapper.week-view .mobile-list-view {height: 246px;} */
    .week-select-wrapper {width: 100%;}
    .week-picker-dropdown {right: 0; left: 0; width: auto;}
    .calendar-bottom-row {height: auto; padding-block: 15px;}
    .calendar-controls-row {flex-direction: column; align-items: stretch;}
    .calendar-wrapper.week-view .calendar-header {padding: 0;}
}
.course-details-subtitle {font-size: 16px; color: #243D44;}
.confirm-selection-btn {height: 40px; padding: 0 40px; color: #fff; font-size: 16px; background-color: #243D44; border-radius: 30px; border: none; cursor: pointer;}
.group.camp-selection .selected-date {position: relative; overflow: hidden;}

#details_form {margin-bottom: 20px;}
#details_form h4 {display: flex; justify-content: space-between;}
#details_form h4 span {font-size: 18px; font-weight: 500;}

/* Mobile Calendar Picker Popup */
.mobile-calendar-picker-overlay {display: flex; align-items: flex-end; justify-content: center; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 99999999999;}
.mobile-calendar-picker-content {position: fixed; bottom: 0; width: 100%; padding: 25px 20px; padding-top: 0; background: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -5px 20px rgba(0,0,0,0.2); animation: slideUp 0.3s ease-out;}

@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }

.picker-header {display: flex; justify-content: space-between; align-items: center; margin: 0 -20px; margin-bottom: 20px; padding: 5px 20px; border-bottom: 1px solid #D3D8DA;}
.picker-month-label {font-size: 20px; font-weight: 800; color: #243D44;}
.picker-grid-header {text-align: center; margin-bottom: 10px; font-weight: 600; color: #999; font-size: 14px;}
.picker-grid-header {display: grid; grid-template-columns: repeat(7, 1fr); height: 28px;}
.picker-grid-header > div {display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color:#243D44; background:#E1DAD0;}
.picker-grid-header > div:nth-of-type(1) {border-top-right-radius: 10px; border-bottom-right-radius: 10px;}
.picker-grid-header > div:nth-of-type(7) {border-top-left-radius: 10px; border-bottom-left-radius: 10px;}
.picker-header .nav_btns {display: flex; align-items: center; justify-content: center; gap: 10px;}
.picker-header .nav-btn {display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; background: none; border: 0; border-radius: 50%; cursor: pointer;}
.picker-header .nav-btn img { transform: rotate(180deg);}
.picker-grid-body {display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px 0;}

.picker-day {display: flex; align-items: center; justify-content: center; position: relative; height: 35px; cursor: pointer; color: #243D44; font-size: 16px; font-weight: 500; border-radius: 50%;}
.slot-dot {position: absolute; bottom: 5px; left: 50%; transform: translateX(-50%); width: 5px; height: 5px; border-radius: 50%; background-color: #38715E; pointer-events: none;}
.picker-day.selected-week-day .slot-dot {background-color: #fff;}
.picker-day.selected-week-day {color: #243D44;  font-weight: 700; border-radius: 0; background-color: #C2EAEA;}
.picker-day.selected-week-day:first-child, .picker-day.selected-week-day:nth-child(7n+1) {color: #FFF; background-color: #38715E;    
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
}
.picker-day.selected-week-day:last-child, .picker-day.selected-week-day:nth-child(7n) {color: #FFF; background-color: #38715E;
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
}

.close-picker-btn {display: flex; align-items: center; justify-content: center; padding: 5px; margin: 0; background: none; border: none; cursor: pointer;}
.close-picker-btn img {width: 20px; height: 20px;}

.cart-total-sessions {color: #243D44; font-size: 16px; font-weight: 500; margin-top: 4px;}

/* Customer existing tickets section */
.customer-tickets-section {margin-bottom: 20px;}
.customer-tickets-header {display: flex; align-items: center; justify-content: space-between; height: 50px; padding: 0 20px; background: #fff; border: 1px solid #D3D8DA; border-radius: 10px 10px 0 0; border-bottom: none;}
.customer-tickets-title {color: #243D44; font-size: 16px; font-weight: 700;}
.customer-tickets-balance-label {color: #243D44; font-size: 16px; font-weight: 700;}
.customer-tickets-list {list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid #D3D8DA; border-radius: 0 0 10px 10px; overflow: hidden;}
.customer-ticket-row {display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; border-top: 1px solid #D3D8DA;}
.customer-ticket-row:first-child {border-top: none;}
.customer-ticket-row.disabled {opacity: 0.5;}
.customer-ticket-label {display: flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; font-size: 16px; color: #243D44;}
.customer-ticket-label input[type="radio"] {width: 18px; height: 18px; accent-color: #38715E; cursor: pointer;}
.customer-ticket-row.disabled .customer-ticket-label {cursor: not-allowed;}
.customer-ticket-name {color: #243D44; font-size: 16px;}
.customer-ticket-balance {color: #243D44; font-size: 16px; font-weight: 700;}
.customer-tickets-footnote {margin-top: 10px; color: #243D44; font-size: 14px; text-align: right;}
.customer-tickets-loading {padding: 15px 20px; color: #243D44; font-size: 14px; text-align: center;}

/* Purchasable tickets cards */
.purchasable-tickets-wrapper {padding: 20px; background: #fff; border: 1px solid #D3D8DA; border-radius: 10px;}
.purchasable-tickets-intro {margin-bottom: 18px; color: #243D44; font-size: 15px; text-align: center;}
.purchasable-tickets-cards {display: flex; gap: 10px; flex-wrap: nowrap; padding: 15px; margin-inline: -15px; margin-top: -15px; overflow: auto;}
.purchasable-ticket-card {position: relative; display: flex; flex-direction: column; align-items: center; width: calc(33.33% - 7px); flex: 0 0 calc(33.33% - 7px); gap: 0; padding: 25px 20px;  text-align: center; background: #fff; border-radius: 10px; box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.1);}
.purchasable-ticket-card.selected {background: #f7f7f7; box-shadow: none;}
.purchasable-ticket-check {position: absolute; top: 4px; right: 4px;}
.purchasable-ticket-name {width: 100%; color: #243D44; font-size: 16px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.purchasable-ticket-price {display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 6px; margin-inline: -5px; color: #243D44;}
.purchasable-ticket-amount {line-height: 100%; font-size: 16px; font-weight: 700;}
.purchasable-ticket-permsg {min-height: 16px; line-height: 100%; font-size: 16px; color: #243D44;}
.purchasable-ticket-btn {width: 100%; height: 30px; padding: 0; color: #fff; font-size: 16px; background: #243D44; border: 1px solid #243D44; border-radius: 22px; cursor: pointer;}
.purchasable-ticket-btn.remove {color: #243D44; background: #fff;}
.purchasable-ticket-more {margin: 0 -10px; color: #243D44; font-size: 16px; text-decoration: none;}
.purchasable-ticket-more:hover {text-decoration: underline;}


.link-login-group {cursor: pointer;}


@media (max-width: 767px) {
    .purchasable-ticket-card {width: 100%; flex: 0 0 100%;}
}


/* 
    TABS passport - Tz
--------------------------------------------------------------------------------------------*/
.field-loginform-pid-passport .nav-tabs {width: -webkit-fill-available; margin: 0 20px 20px; padding: 0;}
.field-loginform-pid-passport .nav-tabs .nav-item {width: 50%;}
.field-loginform-pid-passport .nav-tabs .nav-link {position: relative; text-align: center; color: #243d44; border: none !important; outline: none !important; box-shadow: none !important; z-index: 10;}
.field-loginform-pid-passport .nav-tabs .nav-link.active {font-weight: 700; border: 0; border-bottom: 3px solid #243d44 !important;}
.field-loginform-pid-passport .nav-tabs .nav-item .nav-link.active:after {content: ''; position: absolute; width: 0; height: 0; left: 50%; bottom: -9px; transform: translateX(-50%); border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid #333;}






