/* ao-rental Konfigurator, Stufe A. Alles unter .ao-check gekapselt, damit es
   das Divi-Theme nicht stoert und umgekehrt. */
.ao-check{
  --ao-navy:#1b2b4b; --ao-tan:#c6a992; --ao-text:#26313f; --ao-grau:#6b7680;
  --ao-linie:#dde3e1; --ao-card:#ffffff;
  --ao-gruen:#1f7a54; --ao-gruen-bg:#e7f3ee;
  --ao-amber:#b07d1a; --ao-amber-bg:#fbf1dd;
  --ao-blau:#35618a; --ao-blau-bg:#e9eff5;
  max-width:660px; margin:0 auto; color:var(--ao-text);
  font-family:inherit; line-height:1.45;
}
.ao-check *{box-sizing:border-box;}
.ao-check-title{font-size:1.6rem; margin:0 0 .2em; color:var(--ao-navy); line-height:1.2;}
.ao-check-sub{color:var(--ao-grau); margin:0 0 20px; font-size:1rem;}
.ao-check-card{background:var(--ao-card); border:1px solid var(--ao-linie);
  border-radius:14px; padding:22px; box-shadow:0 1px 3px rgba(0,0,0,.04);}
.ao-check label{display:block; font-weight:600; font-size:.82rem; margin:14px 0 5px; color:var(--ao-navy);}
.ao-check select{width:100%; padding:12px 40px 12px 14px; font-size:1rem;
  border:1px solid var(--ao-linie); border-radius:10px; background:#fbfcfc;
  color:var(--ao-text); -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7680' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;}
.ao-check select:disabled{opacity:.5; cursor:not-allowed;}
.ao-check select:focus{outline:none; border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.12);}
.ao-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
@media(max-width:520px){.ao-grid{grid-template-columns:1fr;}}
.ao-result{margin-top:20px; border-radius:12px; padding:18px 18px 16px; display:none;}
.ao-result.show{display:block;}
.ao-result.r-sofort{background:var(--ao-gruen-bg); border:1px solid #bfe0d3;}
.ao-result.r-nachbestellen{background:var(--ao-amber-bg); border:1px solid #edd9ac;}
.ao-result.r-anfrage{background:var(--ao-blau-bg); border:1px solid #c4d6e6;}
.ao-badge{display:inline-block; font-weight:700; font-size:.72rem; letter-spacing:.4px;
  text-transform:uppercase; padding:4px 10px; border-radius:20px; margin-bottom:8px; color:#fff;}
.ao-badge.b-sofort{background:var(--ao-gruen);}
.ao-badge.b-nachbestellen{background:var(--ao-amber);}
.ao-badge.b-anfrage{background:var(--ao-blau);}
.ao-rtitle{font-weight:700; font-size:1.1rem; margin:2px 0 4px; color:var(--ao-navy);}
.ao-rtext{font-size:.98rem; margin:0; color:var(--ao-text);}
.ao-check-foot{margin-top:14px; font-size:.78rem; color:var(--ao-grau); text-align:center;}


/* ===== Baustein 2: Konfigurator-Flow ===== */
.ao-konf{
  --ao-navy:#1b2b4b; --ao-tan:#c6a992; --ao-text:#26313f; --ao-grau:#6b7680;
  --ao-linie:#dde3e1; --ao-card:#ffffff; --ao-gruen:#1f7a54; --ao-gruen-bg:#e7f3ee;
  max-width:760px; margin:0 auto; color:var(--ao-text); line-height:1.45;
}
.ao-konf *{box-sizing:border-box;}
.ao-step{display:flex; gap:16px; padding:22px 0; border-top:1px solid var(--ao-linie);}
.ao-step:first-child{border-top:none;}
.ao-step.is-locked{opacity:.4; pointer-events:none;}
.ao-step-nr{flex:0 0 34px; width:34px; height:34px; border-radius:50%;
  background:var(--ao-navy); color:#fff; font-weight:700; display:flex;
  align-items:center; justify-content:center; font-size:.95rem;}
.ao-step-body{flex:1 1 auto; min-width:0;}
.ao-step-title{font-size:1.15rem; margin:4px 0 14px; color:var(--ao-navy);}
.ao-konf label{display:block; font-weight:600; font-size:.82rem; margin:0 0 5px; color:var(--ao-navy);}
.ao-konf input[type=date]{width:100%; padding:12px 14px; font-size:1rem;
  border:1px solid var(--ao-linie); border-radius:10px; background:#fbfcfc; color:var(--ao-text);}
.ao-konf input[type=date]:focus{outline:none; border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.12);}
.ao-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
@media(max-width:520px){.ao-grid{grid-template-columns:1fr;}}

/* Kategorie-Karten */
.ao-kat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px;}
.ao-kat{cursor:pointer; text-align:left; background:var(--ao-card); border:1.5px solid var(--ao-linie);
  border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:2px; transition:border-color .12s, box-shadow .12s;}
.ao-kat:hover{border-color:var(--ao-tan);}
.ao-kat.is-active{border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.10);}
.ao-kat-label{font-weight:700; color:var(--ao-navy); font-size:1.02rem;}
.ao-kat-sub{color:var(--ao-grau); font-size:.82rem;}

/* Modell-Kacheln */
.ao-modell-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px;}
.ao-modell{cursor:pointer; background:var(--ao-card); border:1.5px solid var(--ao-linie); border-radius:12px;
  padding:12px; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; transition:border-color .12s, box-shadow .12s;}
.ao-modell:hover{border-color:var(--ao-tan);}
.ao-modell.is-active{border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.10);}
.ao-modell img{width:100%; height:90px; object-fit:contain;}
.ao-modell-noimg{width:100%; height:90px; background:#f0f3f2; border-radius:8px;}
.ao-modell-name{font-weight:600; color:var(--ao-navy); font-size:.9rem; line-height:1.2;}
.ao-modell-ab{color:var(--ao-grau); font-size:.82rem;}

/* Preis-Box */
.ao-preis{margin-top:18px; background:var(--ao-gruen-bg); border:1px solid #bfe0d3; border-radius:12px; padding:16px 18px;}
.ao-preis-zeile{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.ao-preis-info{color:var(--ao-navy); font-weight:600;}
.ao-preis-betrag{color:var(--ao-gruen); font-weight:800; font-size:1.7rem;}
.ao-preis-hinweis{margin:8px 0 0; font-size:.82rem; color:var(--ao-grau);}
.ao-hint{font-size:.9rem; color:var(--ao-grau); margin:14px 0 0;}

/* Anfrage-Hinweis oben im Konfigurator */
.ao-hinweis{background:#f4f1ec; border:1px solid #e6ded2; border-radius:12px;
  padding:14px 16px; margin-bottom:6px; font-size:.92rem; color:var(--ao-text); line-height:1.5;}
.ao-hinweis strong{color:var(--ao-navy);}

/* ===== Konfigurator v0.3: Fahrzeug-Schritt, Anfrage-Formular ===== */
/* fehlende Farbvariablen im Konfigurator (amber/blau fuer Passt-Check) */
.ao-konf{--ao-amber:#b07d1a; --ao-amber-bg:#fbf1dd; --ao-blau:#35618a; --ao-blau-bg:#e9eff5;}
.ao-hidden{display:none !important;}
.ao-konf .ao-sub{color:var(--ao-grau); font-size:.95rem; margin:0 0 14px;}
.ao-konf select{width:100%; padding:12px 40px 12px 14px; font-size:1rem; border:1px solid var(--ao-linie);
  border-radius:10px; background:#fbfcfc; color:var(--ao-text); -webkit-appearance:none; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7680' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;}
.ao-konf select:disabled{opacity:.5;}
.ao-konf select:focus{outline:none; border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.12);}

/* Anhaengerkupplung */
.ao-kupplung-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media(max-width:520px){.ao-kupplung-grid{grid-template-columns:1fr;}}
.ao-kupplung{cursor:pointer; padding:14px 16px; border:1.5px solid var(--ao-linie); border-radius:10px;
  background:var(--ao-card); font-weight:600; color:var(--ao-navy); text-align:left; transition:border-color .12s, box-shadow .12s;}
.ao-kupplung:hover{border-color:var(--ao-tan);}
.ao-kupplung.is-active{border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.10);}

/* Zusammenfassung */
.ao-zus{background:#fbfcfc; border:1px solid var(--ao-linie); border-radius:12px; padding:12px 16px; margin-bottom:16px;}
.ao-zus-row{display:flex; justify-content:space-between; gap:12px; padding:5px 0; font-size:.92rem; border-top:1px solid #eef2f1;}
.ao-zus-row:first-child{border-top:none;}
.ao-zus-l{color:var(--ao-grau);} .ao-zus-v{color:var(--ao-navy); font-weight:600; text-align:right;}

/* Anfrage-Formular */
.ao-form input, .ao-form textarea{width:100%; padding:11px 13px; font-size:1rem; border:1px solid var(--ao-linie);
  border-radius:10px; background:#fbfcfc; color:var(--ao-text); font-family:inherit;}
.ao-form textarea{resize:vertical;}
.ao-form input:focus, .ao-form textarea:focus{outline:none; border-color:var(--ao-navy); box-shadow:0 0 0 3px rgba(27,43,75,.12);}
.ao-hp{position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0 !important;}
.ao-submit{margin-top:16px; width:100%; padding:14px; font-size:1.05rem; font-weight:700; color:#fff;
  background:var(--ao-navy); border:none; border-radius:10px; cursor:pointer; transition:opacity .12s;}
.ao-submit:hover{opacity:.92;}
.ao-submit:disabled{opacity:.55; cursor:default;}
.ao-form-hinweis{font-size:.82rem; color:var(--ao-grau); margin:10px 0 0;}
.ao-form-msg{margin-top:14px; padding:12px 14px; border-radius:10px; font-size:.95rem;}
.ao-form-msg.is-ok{background:var(--ao-gruen-bg); border:1px solid #bfe0d3; color:var(--ao-navy);}
.ao-form-msg.is-error{background:#fdecea; border:1px solid #f5c6c0; color:#922b21;}

/* v0.3.1: mehr Luft im Formular */
.ao-grid{gap:14px 16px;}
.ao-form .ao-grid{margin-bottom:16px;}
.ao-form > label{margin-top:4px;}
.ao-form textarea{margin-bottom:4px;}

/* v0.4: Produkt-Specs auf der Modell-Kachel */
.ao-modell-spec{font-size:.74rem; color:var(--ao-grau); line-height:1.3; margin-top:-2px;}

/* v0.4: Formular noch etwas luftiger */
.ao-form .ao-grid{margin-bottom:18px;}
.ao-form > label{margin-top:8px;}
.ao-form .ao-grid > div > label{margin-bottom:6px;}
