body{

    font-family:Arial, sans-serif;
}

/*
|--------------------------------------------------------------------------
| WRAPPER
|--------------------------------------------------------------------------
*/

.bbp-booking-wrapper{

    max-width:1100px;
    margin:0px auto;
    padding:20px;
}

.bbp-time-wrapper{
	padding-top:20px;
}
.bbp-field{
	padding-bottom:20px;
}
.bbp-field input{
	height:auto;
	padding:10px;
}
/*
|--------------------------------------------------------------------------
| STEP
|--------------------------------------------------------------------------
*/

.bbp-step{

    display:none;
}

.bbp-step.active-step{

    display:block;
}

/*
|--------------------------------------------------------------------------
| TITLE
|--------------------------------------------------------------------------
*/

.bbp-title{

    font-size:42px;
    font-weight:700;
    margin-bottom:10px;
    color:#111;
}

.bbp-subtitle{

    color:#777;
    margin-bottom:40px;
    font-size:18px;
}

/*
|--------------------------------------------------------------------------
| CATEGORY
|--------------------------------------------------------------------------
*/

.bbp-category-wrapper{

    margin-bottom:50px;
}

.bbp-category-title{

    font-size:34px;
    font-weight:800;
    margin-bottom:20px;
    text-transform:uppercase;
    color:#111;
    border-bottom:2px solid #eee;
    padding-bottom:15px;
}

/*
|--------------------------------------------------------------------------
| RADIO
|--------------------------------------------------------------------------
*/

.bbp-service-radio{

    display:flex;
    justify-content:center;
    align-items:center;
}

.bbp-service-radio input{

    width:22px;
    height:22px;
    cursor:pointer;
}

/*
|--------------------------------------------------------------------------
| DURATION
|--------------------------------------------------------------------------
*/

.bbp-service-duration{

    text-align:center;

    font-size:22px;

    font-weight:600;

    color:#777;
}

/*
|--------------------------------------------------------------------------
| PRICE
|--------------------------------------------------------------------------
*/

.bbp-service-price{

    text-align:right;

    font-size:34px;

    font-weight:800;

    color:#111;
}

/*
|--------------------------------------------------------------------------
| BUTTONS
|--------------------------------------------------------------------------
*/

.bbp-step-footer{

    display:flex;
    justify-content:flex-end;
    gap:15px;
    margin-top:40px;
}

.bbp-next-step,
.bbp-prev-step,
.bbp-pay-btn{

    height:56px;

    padding:0 35px;

    border:none;

    border-radius:10px;

    background:#111;

    color:#fff;

    cursor:pointer;

    font-size:16px;

    font-weight:600;

    transition:0.3s;
}

.bbp-next-step:hover,
.bbp-prev-step:hover,
.bbp-pay-btn:hover{

    background:#d4b26a;
}

/*
|--------------------------------------------------------------------------
| DATE FIELD
|--------------------------------------------------------------------------
*/

.bbp-date-input,
.bbp-input,
.bbp-textarea{

    width:100%;

    height:56px;

    border:1px solid #ddd;

    border-radius:10px;

    padding:0 18px;

    font-size:16px;
}

.bbp-textarea{

    height:140px;

    padding-top:15px;
}

/*
|--------------------------------------------------------------------------
| SLOT GRID
|--------------------------------------------------------------------------
*/

.bbp-slot-grid{

    display:grid;

    grid-template-columns:
    repeat(auto-fill,minmax(130px,1fr));

    gap:15px;

    margin-top:30px;
}

/*
|--------------------------------------------------------------------------
| TIME SLOT
|--------------------------------------------------------------------------
*/

.bbp-time-slot{

    height:56px;

    border:1px solid #ddd;

    border-radius:10px;

    background:#fff;

    cursor:pointer;

    transition:0.3s;

    font-size:15px;

    font-weight:600;
}

.bbp-time-slot:hover{

    border-color:#d4b26a;

    color:#d4b26a;
}

.bbp-time-slot.active{

    background:#111;

    color:#fff;

    border-color:#111;
}

/*
|--------------------------------------------------------------------------
| SUMMARY BOX
|--------------------------------------------------------------------------
*/

.bbp-summary-box,
.bbp-payment-card,
.bbp-mini-summary{

    background:#fff;

    border:1px solid #eee;

    border-radius:16px;

    padding:30px;

    margin-top:30px;
}

.bbp-summary-row,
.bbp-payment-row,
.bbp-mini-summary-row{

    display:flex;

    justify-content:space-between;

    padding:18px 0;

    border-bottom:1px solid #f1f1f1;
}

.bbp-deposit-row{

    font-size:26px;

    font-weight:800;

    color:#111;
}

/*
|--------------------------------------------------------------------------
| NOTICE
|--------------------------------------------------------------------------
*/

.bbp-payment-notice{

    margin-top:25px;

    background:#faf7ea;

    border:1px solid #f0df9d;

    padding:20px;

    border-radius:10px;

    line-height:1.8;
}

/*
|--------------------------------------------------------------------------
| SUCCESS
|--------------------------------------------------------------------------
*/

.bbp-success-message{

    background:#e7f7ec;

    border:1px solid #9dd3ad;

    color:#155724;

    padding:20px;

    border-radius:10px;

    margin-top:30px;

    font-size:18px;

    font-weight:600;
}

/*
|--------------------------------------------------------------------------
| RESPONSIVE
|--------------------------------------------------------------------------
*/

@media(max-width:768px){

    .bbp-service-card{

        grid-template-columns:1fr;

        text-align:left;
    }

    .bbp-service-duration,
    .bbp-service-price{

        text-align:left;
    }

    .bbp-title{

        font-size:30px;
    }

    .bbp-category-title{

        font-size:26px;
    }

    .bbp-step-footer{

        flex-direction:column;
    }

    .bbp-next-step,
    .bbp-prev-step,
    .bbp-pay-btn{

        width:100%;
    }
}

/*
|--------------------------------------------------------------------------
| ACCORDION
|--------------------------------------------------------------------------
*/

.bbp-accordion{
    margin-top:30px;
}

.bbp-accordion-item {
  border: 1px solid #eee;
  margin-bottom: 10px;
}

.bbp-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 20px;
  font-weight: 700;
  color: #333;
  background: #f5f5f5;
  margin-bottom: 0px;
}

.bbp-accordion-icon{
    font-size:20px;
    transition:0.3s;
}

.bbp-accordion-item.active
.bbp-accordion-icon{
    transform:rotate(45deg);
}

.bbp-accordion-body{
    display:none;
	padding: 15px 15px 5px;
	border: 1px solid #f5f5f5;
}

/*
|--------------------------------------------------------------------------
| SERVICE CARD
|--------------------------------------------------------------------------
*/

.bbp-service-card {
  display: grid;
  grid-template-columns: 30px 2fr 80px 80px;
  gap: 10px;
  align-items: center;
  padding: 5px 0px;
  border-radius: 14px;
  margin-bottom: 10px;
  background: #fff;
  cursor: pointer;
  transition: 0.3s;
}

.bbp-service-card:hover{

    border-color:#d4b26a;

    box-shadow:0 10px 25px rgba(0,0,0,0.05);
}

.bbp-service-name {
  font-size: 18px;
  font-weight: 500;
  color: #333;
}

.bbp-service-description{
    color:#444;
    line-height:1.7;
}

.bbp-service-duration{
    text-align:center;
    font-size:18px;
    color:#333;
}

.bbp-service-price{
    text-align:right;
    font-size:18px;
    font-weight:500;
}

/*
|--------------------------------------------------------------------------
| SLOT LAYOUT
|--------------------------------------------------------------------------
*/

.bbp-time-columns{

    display:flex;
    gap:40px;
    margin-top:20px;
}

.bbp-time-column{

    flex:1;
}

.bbp-slot-heading{
    font-size:18px;
    font-weight:600;
    color:#999;
    margin-bottom:20px;
}

.bbp-slot-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 2px;
  cursor: pointer;
}

.bbp-time-radio{
    width:15px;
    height:15px;
}

.bbp-slot-label {
  font-size: 15px;
  color: #333;
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:767px){

    .bbp-time-columns{

        flex-direction:column;
        gap:20px;
    }
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:768px){

    .bbp-service-card{

        grid-template-columns:1fr;
    }

    .bbp-service-duration,
    .bbp-service-price{

        text-align:left;
    }

    .bbp-accordion-header{

        font-size:22px;
    }
}
