/* ═══════════════════════════════════════════════════════════════
   MBS Interiors – Appointment Form Styles
   mbs-appointment-form.css
   ═══════════════════════════════════════════════════════════════ */

.mbs-form-wrap * { box-sizing: border-box; margin: 0; padding: 0; }

.mbs-form-wrap {
      font-family: var(--clb-text-font-family);
  max-width: 860px;
  margin: 0 auto;
}

/* ── Progress Bar ── */
.mbs-steps {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.mbs-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 1;
  position: relative;
}
.mbs-step__circle {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: #ccc;
  background: #fff;
  transition: all 0.3s;
  position: relative;
  z-index: 1;
}
.mbs-step__label {
  font-size: 12px;
  color: #999;
  text-align: center;
  transition: color 0.3s;
}
.mbs-step.active .mbs-step__circle { border-color: #9b191a; color: #9b191a; }
.mbs-step.active .mbs-step__label  { color: #9b191a; }
.mbs-step.done  .mbs-step__circle  { background: #9b191a; border-color: #9b191a; color: #fff; }
.mbs-step.done  .mbs-step__label   { color: #9b191a; }

.mbs-step-line {
  flex: 1;
  height: 2px;
  background: #e0e0e0;
  margin-bottom: 20px;
  transition: background 0.3s;
}
.mbs-step-line.done { background: #9b191a; }

/* ── Panels ── */
.mbs-panel { display: none; }
.mbs-panel.active { display: block; }

/* ── Heading ── */
.mbs-panel__heading { margin-bottom: 28px; }
.mbs-panel__heading h2 {
  font-size: 26px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 6px;
  font-family: Georgia, serif;
}
.mbs-panel__heading p { font-size: 14px; color: #555; }

/* ── Option Cards ── */
.mbs-options { display: flex; flex-direction: column; gap: 28px; }

.mbs-option {
  display: flex;
  align-items: center;
  gap: 28px;
  border: 1.5px solid #e0e0e0;
  border-radius: 12px;
  padding: 16px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  background: #fff;
}
.mbs-option:hover { border-color: #9b191a; }
.mbs-option.selected { border-color: #9b191a; background: #fdf5f5; }

/*.mbs-indicator {*/
/*  width: 24px;*/
/*  height: 24px;*/
/*  border-radius: 50%;*/
/*  border: 2px solid #ccc;*/
/*  flex-shrink: 0;*/
/*  display: flex;*/
/*  align-items: center;*/
/*  justify-content: center;*/
/*  transition: all 0.2s;*/
/*}*/
.mbs-checkbox .mbs-indicator { border-radius: 50%; }
.mbs-option.selected .mbs-indicator {
  border-color: #9b191a;
  background: #9b191a;
}
.mbs-option.selected .mbs-indicator::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
}
.mbs-checkbox.selected .mbs-indicator::after {
  content: '✓';
  color: #fff;
  font-size: 13px;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
}

.mbs-option__image {
    width: 200px !important;
    height: 120px !important;
    object-fit: cover;
    border-radius: 10px !important;
    max-width: 200px !important;
    flex-basis: 100%;
}
.mbs-option__content h3 { font-size: 16px; font-weight: 700; color: #1a1a1a; margin-bottom: 15px !important; }
.mbs-option__content p  { font-size: 15px; color: #000; line-height: 1.5; margin: 0px !important; }

/* ── Navigation buttons ── */
.mbs-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 28px;
  gap: 12px;
  flex-wrap: wrap;
}
.mbs-privacy-note {
  font-size: 13px;
  color: #777;
  flex: 1;
  min-width: 200px;
}

.mbs-btn {
    cursor: pointer;
    border: none;
    border-radius: 25px;
    transition: all 0.2s;
    font-family: var(--clb-action-font-family);
    letter-spacing: 0.2px;
    font-size: 15px;
    font-weight: 600;
    min-height: 48px;
    min-width: 185px;
    text-transform: uppercase;
}
.mbs-btn-next, .mbs-btn-submit {
  background: #1a2e2a;
  color: #fff;
  margin-left: auto;
}
.mbs-btn-next:hover, .mbs-btn-submit:hover { background: #0f1e1b; }
.mbs-btn-next:disabled { background: #a0a0a0; cursor: not-allowed; }
.mbs-btn-back {
  background: #6b7280;
  color: #fff;
}
.mbs-btn-back:hover { background: #4b5563; }

/* ── Contact Form ── */
.mbs-contact-form { display: flex; flex-direction: column; gap: 28px; }

.mbs-field { display: flex; flex-direction: column; gap: 3px; }

.mbs-field label {
    display: block;
    font-size: var(--clb-font-size-caption) !important;
    font-weight: var(--clb-text-medium) !important;
  color: #1a1a1a;
}
.mbs-field label .mbs-required {
  color: #9b191a;
  margin-left: 3px;
}
.mbs-field input {
  padding: 18px 22px;
  border: none;
  border-radius: 50px;
  font-size: 15px;
  color: #333;
  outline: none;
  transition: box-shadow 0.2s, background 0.2s;
      font-family: var(--clb-text-font-family);
  background: #efefef;
  width: 100%;
}
.mbs-field input::placeholder { color: #aaa; }
.mbs-field input:focus {
  background: #e6e6e6;
  box-shadow: 0 0 0 2px rgba(155, 25, 26, 0.2);
}

.mbs-field-row { display: flex; gap: 16px; }
.mbs-field-row .mbs-field { flex: 1; }

/* ── Summary ── */
.mbs-summary {
  background: #fdf5f5;
  border: 1px solid #f0d4d4;
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 20px;
  font-size: 13px;
  color: #555;
  line-height: 1.8;
}
.mbs-summary strong { color: #9b191a; }

/* ── Loading state ── */
.mbs-btn-submit.loading { opacity: 0.7; cursor: wait; }



.mbs-form-wrap input[type=email],
.mbs-form-wrap input[type=number],
.mbs-form-wrap input[type=password],
.mbs-form-wrap input[type=search],
.mbs-form-wrap input[type=tel],
.mbs-form-wrap input[type=text],
.mbs-form-wrap input[type=date],
.mbs-form-wrap input[type=url],
.mbs-form-wrap textarea,
.mbs-form-wrap select,
.mbs-form-wrap .select2-container--default .select2-selection--single {
    font-size: 14px;
    background: #F3F3F3;
    border: 1px solid #F3F3F3;
    min-height: 48px;
    width: 100%;
}

.mbs-form-wrap input::placeholder {
  color: #797a7c !important;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .mbs-option__image {
        width: 100% !important;
        max-width: unset !important;
        height: 140px !important;
        flex-basis: unset;
  }
  .mbs-panel__heading h2 { font-size: 20px; }
  .mbs-field-row { flex-direction: column; }
  .mbs-nav { flex-direction: column-reverse; align-items: stretch; }
  .mbs-nav > div { flex-direction: column-reverse; }
  .mbs-btn-next, .mbs-btn-submit { margin-left: 0; }
  .mbs-privacy-note { text-align: center; }
  .mbs-option { flex-direction: column; gap: 16px; }
  .mbs-btn { width: 100%; }
}



@media(max-width: 991.98px) {
    .mbs-options {
        gap: 16px;
    }
    
    .mbs-nav {
        margin-top: 16px;
    }
    
    .mbs-contact-form { 
        gap: 16px;
    }
}
