/* Datepicker overrides */
    input[type="date"].no-datepicker::-webkit-calendar-picker-indicator,
    input[type="date"].no-datepicker::-webkit-inner-spin-button {
      display: none;
      -webkit-appearance: none;
    }
    input[type="date"].no-datepicker {
      -moz-appearance: textfield;
    }
    .top_menu_item {
      font-weight: bold;
      margin: 0px 0px 0px 53px;
    }

    /* Layout & Styling */
    body {
      margin: 0;
      padding: 0;
      background-color: #f5f5f5;
      font-family: 'Roboto', sans-serif;
      color: #595959;
    }
	
	.form__steps-wrapper {
	  grid-template-columns: repeat(6, 1fr) !important;
	  width: 100% !important;
	  margin: 0 !important;
	  padding: 0 !important;
	  float: none !important;
	}

    .page-wrapper {
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 900px;
      margin: 0 auto;
      padding: 15px;
      box-sizing: border-box;
    }

    .form__input-group {
      margin-bottom: 15px;
      position: relative;
    }

    .form__input-label {
      display: block;
      padding: 8px 0 4px 0;
      color: #555;
      font-weight: 600;
    }

    .form__input {
      width: 100%;
      padding: 10px;
      border: 1px solid #ccc;
      border-radius: 4px;
      box-sizing: border-box;
    }

    /* Standardized Under-Input Error Message Styling */
    label.error, .form__input--error-message {
      color: #d9534f;
      font-size: 12px;
      font-weight: 500;
      margin-top: 4px;
      display: block;
    }

    input.error, select.error {
      border-color: #d9534f !important;
      background-color: #fff8f8;
    }

    @media screen and (max-width: 768px) {
      .page-wrapper { padding: 10px; }
      .form__step { padding: 15px; }
    }

/* Shared Tempo/Auto layout using the existing form components. */
.container { display:block; width:100%; max-width:900px; margin:0 auto; padding:20px; height:auto; box-shadow:none; background:#fff; }
.container .form__steps { position:static; display:block; width:100%; margin:0 0 24px; z-index:auto; border:0; }
.container .form__steps-wrapper { position:static; display:grid!important; grid-template-columns:repeat(var(--steps,6),minmax(0,1fr))!important; gap:8px; transform:none; }
.form__steps-box { display:flex; flex-direction:column; min-width:0; gap:6px; text-align:center; }
.form__steps-box h3 { font-size:13px; overflow-wrap:anywhere; }
.form__circle { flex-shrink:0; }
.form__step { width:100%; min-width:0; padding:20px; }
.form__header { padding:0 0 20px; }
.form__input-group { width:100%; min-width:0; }
.form__input { margin:0; font-size:16px; }
.form__button-container { display:flex; justify-content:space-between; gap:12px; margin:16px 20px; }
/* One navigation row for every online wizard (tempo, auto, habitation, health, liability, microcar):
   the primary "next" button (~70%) with the smaller "back" button (~30%) on its right. Colours come from
   the quotation branding (branding.css forces them on .button), the geometry below is tempo_online's. */
.form__nav { display:flex; align-items:stretch; justify-content:flex-end; gap:12px; width:100%; margin-top:25px; }
.button.btn_next_step, .button.form__cta { width:100%; min-height:44px; padding:12px; border:none; border-radius:6px; font-weight:bold; font-size:16px; line-height:1.3; cursor:pointer; text-align:center; background:var(--quotation-button,#f5c534); color:var(--quotation-button-text,#961072); }
.form__nav .btn_next_step { flex:1 1 0; width:auto; min-width:0; }
.form__nav .form__back { flex:0 0 30%; width:30%; min-height:44px; padding:12px 8px; border-radius:6px; font-weight:bold; font-size:14px; cursor:pointer; text-align:center; }
.form__nav [hidden] { display:none!important; }
body .container .button.form__back { background:#fff!important; color:var(--quotation-button,#961072)!important; border:2px solid var(--quotation-button,#f5c534)!important; }
.button.btn_next_step:disabled { opacity:.6; cursor:wait; }
.has-error .form__input { border-color:#a94442; }
.help-block.text-danger { display:block; color:#a94442; margin-top:5px; }
@media(max-width:768px) {
  .container { padding:12px; }
  .container .form__steps-wrapper { display:grid!important; gap:4px; }
  .form__steps-box h3 { font-size:9px; overflow-wrap:normal; }
  .form__step { padding:12px; }
  .form__button-container { margin:12px; }
  .form__nav .form__back { flex-basis:34%; width:34%; font-size:13px; }
}
