/* Dhidib Tech - Booking Page Style Patch */

.booking-layout{
  width:min(1180px,calc(100% - 32px));
  margin:34px auto 60px;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);
  gap:24px;
  align-items:start;
}

.booking-layout .panel{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:28px;
  box-shadow:0 12px 32px rgba(15,23,42,.08);
}

.booking-layout h2,
.booking-layout h3{
  margin-top:0;
  color:#0b2d57;
}

.formgrid{
  display:grid;
  gap:16px;
}

.formgrid .field{
  display:grid;
  gap:7px;
}

.formgrid label{
  font-weight:700;
  color:#173b66;
  font-size:15px;
}

.formgrid .input,
.formgrid input,
.formgrid select,
.formgrid textarea{
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  color:#102a43;
  font-size:16px;
  outline:none;
}

.formgrid .input:focus,
.formgrid input:focus,
.formgrid select:focus,
.formgrid textarea:focus{
  border-color:#0b4f91;
  box-shadow:0 0 0 3px rgba(11,79,145,.12);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 22px;
  border:0;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
  text-decoration:none;
}

.btn.brand{
  background:#0b2d57;
  color:#fff;
}

.status-good{
  background:#ecfdf3;
  color:#166534;
  border:1px solid #bbf7d0;
  padding:12px 14px;
  border-radius:12px;
  font-weight:700;
}

.booking-layout .summary,
.booking-layout .booking-summary{
  display:grid;
  gap:12px;
}

.booking-layout .summary-row,
.booking-layout .booking-summary-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:10px 0;
  border-bottom:1px solid #eef2f7;
}

.booking-layout .summary-row:last-child,
.booking-layout .booking-summary-row:last-child{
  border-bottom:0;
}

@media (max-width:900px){
  .booking-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .booking-layout{
    width:calc(100% - 24px);
    margin:20px auto 40px;
    gap:16px;
  }

  .booking-layout .panel{
    padding:18px;
    border-radius:16px;
  }

  .btn,
  .btn.brand{
    width:100%;
  }
}
