/* ========================================================================== Book a Lesson — public coaching-session wizard. Hero matches the Club Registration page (.sb-hero-banner / home-banner.css). Reuses the .sb-stepper / .sb-form-card / .sb-btn system from form.css and adds coach selection, session pricing, summary and thank-you styling. ========================================================================== */
/* ---------- Back / light button ---------- */
.form-club-r.book-a-lesson-sec {
    padding: 60px 0px;
}
 .sb-btn-light {
     background: #FFFFFF;
     color: #616161;
     border: 1px solid #C9C9C9;
}
/*.sb-form-card.sb-book-new-container {*/
/*    background: transparent;*/
/*    box-shadow: none;*/
/*    border: none;*/
/*    max-width: 1400px;*/
/*    margin: 0 auto;*/
/*    padding: 0 24px;*/
/*}*/
 .sb-btn-light:hover {
     background: #f8fafc;
}
.sb-footer-split {
    justify-content: right;
}
.bl-session-btn strong {
    font-weight: 600;
}
/* ---------- Coach selection grid ---------- */
 .bl-coach-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 24px;
}

.sb-form-card{
    max-width: 740px;
    margin: auto;    
}

.sb-bl-form-new-card{
  max-width: 740px;
  margin: auto;    
}

 .bl-coach-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1.5px solid #DBDDD9;
    border-radius: 20px;
    padding: 25px;
    cursor: pointer;
    background: #F9F9F9;
    transition: all 0.15s ease;
}
 .bl-coach-card:hover {
     border-color: #5DA12C;
     box-shadow: 0 4px 14px rgba(93, 161, 44, 0.12);
}
 .bl-coach-card.selected {
     border-color: #5DA12C;
     background: #F0FBF2;
     border-width:2px;
}
.bl-coach-av {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    flex: 0 0 100px;
    background: #e6f4da;
    color: #3f7a1c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
    overflow: hidden;
    border: 2px solid #FFFFFF;
}
 .bl-coach-av img {
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 .bl-coach-meta {
     flex: 1;
     min-width: 0;
}
.bl-coach-name {
    font-weight: 600;
    font-size: 24px;
    color: #131413;
    line-height:100%;
}
.bl-coach-title {
    font-size: 16px;
    color: #5DA12C;
    font-weight: 500;
    margin-top: 5px;
}
 .bl-coach-loc {
    font-size: 14px;
    color: #424342;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 18px;
    opacity:80%;
}
 .bl-coach-check {
     position: absolute;
     top: 12px;
     right: 12px;
     width: 22px;
     height: 22px;
     border-radius: 50%;
     background: #5DA12C;
     color: #fff;
     display: none;
     align-items: center;
     justify-content: center;
     display: none !important;
}
 .bl-coach-card.selected .bl-coach-check {
     display: flex;
}
/* ---------- Session type buttons ---------- */
 .bl-session-row {
     display: flex;
     gap: 10px;
     flex-wrap: wrap;
}
.bl-session-btn {
    flex: 1;
    min-width: 130px;
    border: 1px solid #E4E4E4;
    border-radius: 10px;
    padding: 12px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #131413;
    cursor: pointer;
    background: #fff;
    transition: all 0.15s ease;
}
 .bl-session-btn:hover {
     border-color: #5DA12C;
}
 .bl-session-btn.active {
    border-color: #5DA12C;
    background: #F0FBF2;
    color: #5DA12C;
    border-width:2px;
}
/* ---------- Summary ---------- */
.bl-summary-card {
    background: #FFFFFF;
    border: 1px solid #E4E4E4;
    border-radius: 10px;
    padding: 20px 22px;
    margin-bottom: 16px;
}
 .bl-summary-title {
     font-size: 17px;
     font-weight: 800;
     color: #131413;
     margin: 0 0 14px;
}
 .bl-summary-rows {
     display: flex;
     flex-direction: column;
}
.bl-srow {
    display: flex;
    padding: 12px 0;
    font-size: 14px;
}
 .bl-srow:last-child {
     border-bottom: none;
}
.bl-srow .k {
    width: 110px;
    flex-shrink: 0;
    color: #525252;
    font-weight: 400;
}
.bl-srow .v {
    color: #525252;
    font-weight: 600;
}

.bl-coach-summary {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid #5DA12C;
    background: #ECFAED;
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 16px;
    margin-top: 16px;
}
.bl-cs-av {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    flex: 0 0 64px;
    background: #e6f4da;
    color: #3f7a1c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 15px;
    overflow: hidden;
    border: 1px solid #FFFFFF;
}
 .bl-cs-av img {
     width: 100%;
     height: 100%;
     object-fit: cover;
}
.bl-cs-lbl {
    font-size: 14px;
    color: #525252;
    font-weight: 400;
    margin-bottom: 6px;
}
.bl-cs-name {
    font-size: 18px;
    font-weight: 600;
    color: #131413;
}
.bl-cs-meta {
    font-size: 14px;
    color: #525252;
    font-weight: 400;
    margin-top: 3px;
}
.bl-total-box {
    padding: 20px 24px;
    border: 1px solid #E4E4E4;
    border-radius: 14px;
}

 .bl-total-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 4px;
    font-size: 14px;
    color: #525252;
}
#rev-session-amount {
    font-size: 14px;
    font-weight: 600;
    color: #131413;
}
.bl-total-final {
    border-top: 1px solid #E4E4E4;
    margin-top: 5px;
    font-size: 18px;
    font-weight: 600;
    color: #131413;
}
.bl-total-final span:last-child {
    color: #5DA12C;
    font-weight: 600;
}

/* Success state reuses .sb-success-card / .sb-success-art / .sb-success-buttons from form.css — identical to the Club Registration page. */
 .bl-empty {
     text-align: center;
     color: #94a3b8;
     padding: 40px 20px;
     border: 2px dashed #e2e8f0;
     border-radius: 12px;
}
/* ---------- Responsive ---------- */
 @media (max-width: 680px) {
    .sb-hero-banner {
      padding: 56px 20px;
    }
    .bl-coach-card {
      padding: 10px;
    }
     .sb-hero-title {
         font-size: 34px;
    }
     .bl-coach-grid {
         grid-template-columns: 1fr;
    }
     .bl-session-row {
         flex-direction: column;
    }
     .bl-session-btn {
         min-width: 0;
    }
     .bl-coach-summary {
         flex-wrap: wrap;
    }
     .bl-srow {
         flex-direction: column;
         gap: 2px;
    }
     .bl-srow .k {
         width: auto;
    }
    .bl-coach-name {
    font-size: 18px;
   }
    .bl-coach-av {
      width: 80px;
      height: 80px;
     flex: 0 0 80px;
    }
    .bl-coach-title {
        font-size: 14px;
    }
    .bl-coach-loc {
        margin-top: 5px;
         font-size: 12px;
    }
    .sb-stepper-container{
      padding: 0 20px;   
    }
}
 @media (max-width: 420px) {
     .sb-hero-title {
         font-size: 28px;
    }
     .bl-coach-card {
         flex-wrap: wrap;
    }
    .sb-footer-actions{
       flex-direction: column;   
       padding:0;
    }
    .bl-srow{
     padding: 6px 0;   
    }
}
 