#gr-app { --bg:#e8c6a8;
    --card:#ffffff;
    --blue:#1f476c;
    --blue-deep:#15365a;
    --ink:#15293b;
    --muted:#6e7e8b;
    --peach:#f7e2d2;
    --peach-hover:#ebc4ad;
    --peach-line:#e8c6a8;
    --cyan:#14cfee;
    --cyan-deep:#10b8d6;
    --cyan-ink:#093041;
    --line:#e2e9ef;
    --track:#dceaf6;
    --ok:#e7f0e8;
    --shadow:0 24px 60px -28px rgba(21,41,59,.40);
    --radius:24px; }
#gr-app * { box-sizing:border-box; }
#gr-app .gr-progress { margin-bottom:24px; }
#gr-app .gr-progress .gr-meta { display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);
    font-weight:500;margin-bottom:8px; }
#gr-app .gr-track { height:7px;background:var(--line);border-radius:999px;overflow:hidden; }
#gr-app .gr-fill { height:100%;width:0;background:var(--blue);border-radius:999px;transition:width .35s ease; }
#gr-app h2.q { color:var(--blue);font-size:32px;font-weight:500;line-height:1.25;margin:2px 0 4px;
    letter-spacing:0em; }
#gr-app .sub { color:var(--awb-color5);font-size:18px;margin:0 0 24px; }
#gr-app .q + .opts, #gr-app .q + .field { margin-top:20px; }
#gr-app .opts { display:flex;flex-direction:column;gap:12px; }
#gr-app .opt { appearance:none;border:2px solid transparent;background:var(--peach);color:var(--ink);
    font:inherit;font-weight:500;font-size:18px;padding:12px 24px;border-radius:999px;cursor:pointer;
    text-align:center;transition:background .15s ease,border-color .15s ease,transform .05s ease;
    position:relative; }
#gr-app .opt:hover { background:var(--peach-hover); }
#gr-app .opt:active { transform:scale(.99); }
#gr-app .opt.sel { border-color:var(--blue);background:var(--peach-hover); }
#gr-app .opt.sel::after { content:"✓";position:absolute;right:18px;top:50%;transform:translateY(-50%);
    color:var(--blue);font-weight:400; }
#gr-app .opt:focus-visible { outline:3px solid var(--blue);outline-offset:2px; }
#gr-app .field label.flbl { display:block;font-weight:500;font-size:.9rem;color:var(--muted);margin-bottom:8px; }
#gr-app input[type=text], #gr-app input[type=date] { width:100%;font:inherit;font-size:1.05rem;padding:14px 16px;
    border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink); }
#gr-app input[type=text]:focus, #gr-app input[type=date]:focus { outline:none;border-color:var(--blue); }
#gr-app .slider-val { font-size:2.4rem;font-weight:400;color:var(--blue);text-align:center;margin:6px 0 2px; }
#gr-app .slider-val span { font-size:1rem;font-weight:500;color:var(--muted); }
#gr-app input[type=range] { width:100%;accent-color:var(--blue);height:30px;cursor:pointer; }
#gr-app .ticks { display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);
    font-weight:500;margin-top:2px;padding:0 4px; }
#gr-app .tagrow { display:flex;gap:10px; }
#gr-app .tagrow input { flex:1; }
#gr-app .addbtn { appearance:none;border:none;background:#D4E8F7;color:var(--ink);font:inherit;font-weight:500;
    font-size:1.5rem;line-height:1;padding:0 20px;border-radius:14px;cursor:pointer; }
#gr-app .addbtn:hover { background:#c2ddf2; }
#gr-app .chips { display:flex;flex-wrap:wrap;gap:8px;margin-top:14px; }
#gr-app .chip { background:#eef2f5;border-radius:999px;padding:7px 12px;font-size:.88rem;font-weight:500;
    display:flex;align-items:center;gap:8px; }
#gr-app .chip button { appearance:none;border:none;background:none;cursor:pointer;color:var(--muted);
    font-weight:400;font-size:1rem;line-height:1;padding:0; }
#gr-app .opt-note { font-size:.82rem;color:var(--muted);margin-top:12px;text-align:center; }
#gr-app .nav { display:flex;align-items:center;justify-content:space-between;margin-top:26px;gap:14px; }
#gr-app .back { appearance:none;border:none;background:none;color:var(--muted);font:inherit;font-weight:500;
    cursor:pointer;padding:10px 4px; }
#gr-app .back:hover { color:var(--ink); }
#gr-app .back[hidden] { visibility:hidden; }
#gr-app .next { display:flex;padding:12px 24px;justify-content:center;align-items:center;gap:16px;
    border-radius:32px;background:#00EAFF;color:#093041;border:none;cursor:pointer;font-size:1rem;
    transition:opacity .15s ease;margin-left:auto; }
#gr-app .next:hover { opacity:.9; }
#gr-app .next:disabled { opacity:.4;cursor:not-allowed; }
#gr-app .back:focus-visible { outline:3px solid var(--blue);outline-offset:2px; }
#gr-app .result .rhead { color:var(--blue);font-size:32px;font-weight:500;line-height:1.25;margin:0 0 20px;letter-spacing:0; }
#gr-app .gres { margin-bottom:6px; }
#gr-app .gres-lab { color:var(--muted);font-weight:500;font-size:1.02rem;margin-bottom:2px; }
#gr-app .gres-main { font-size:2.3rem;font-weight:400;color:var(--blue);line-height:1.12;letter-spacing:-.02em; }
#gr-app .gres-sub { color:var(--muted);font-size:1.02rem;margin-top:4px; }
#gr-app .gbar { position:relative;height:8px;background:var(--track);border-radius:999px;margin:18px 0 6px; }
#gr-app .gbar-fill { position:absolute;top:0;bottom:0;background:var(--cyan);border-radius:999px; }
#gr-app .gbar-ends { display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted); }
#gr-app .infobox { display:flex;gap:13px;background:var(--peach);border-radius:16px;padding:16px 18px;
    margin:22px 0 26px;color:var(--ink);font-size:.95rem;align-items:flex-start;line-height:1.45; }
#gr-app .infobox .i { flex:none;width:23px;height:23px;border-radius:50%;border:2px solid var(--blue);color:var(--blue);
    font-weight:400;font-style:italic;font-family:Georgia,serif;display:flex;align-items:center;
    justify-content:center;font-size:.9rem;margin-top:1px; }
#gr-app .formhead { color:var(--blue);font-size:1.3rem;font-weight:400;margin:0 0 5px; }
#gr-app .formsub { color:var(--ink);margin:0 0 18px; }
#gr-app .lead { display:flex;flex-direction:column;gap:12px; }
#gr-app .lead input { width:100%;font:inherit;font-size:1.02rem;padding:15px 18px;border:2px solid var(--line);
    border-radius:14px;background:#fff;color:var(--ink); }
#gr-app .lead input:focus { outline:none;border-color:var(--blue); }
#gr-app .checks { display:flex;flex-direction:column;gap:12px;margin:6px 0 2px; }
#gr-app .check { display:flex;align-items:flex-start;gap:11px;font-size:.95rem;color:var(--ink);cursor:pointer; }
#gr-app .check input { width:21px;height:21px;flex:none;accent-color:var(--cyan-deep);margin-top:1px;cursor:pointer; }
#gr-app .check u { text-decoration:underline; }
#gr-app .submit { display:flex;padding:12px 24px;justify-content:center;align-items:center;gap:16px;
    border-radius:32px;background:#00EAFF;color:#093041;border:none;cursor:pointer;font-size:1rem;
    transition:opacity .15s ease;margin-top:10px; }
#gr-app .submit:hover { opacity:.9; }
#gr-app .submit:disabled { opacity:.45;cursor:not-allowed; }
#gr-app .check input:focus-visible { outline:3px solid var(--blue);outline-offset:2px; }
#gr-app .restart-link { display:block;text-align:center;margin:16px auto 0;background:none;border:none;
    color:var(--muted);font:inherit;font-weight:500;cursor:pointer;text-decoration:underline; }
#gr-app .restart-link:hover { color:var(--ink); }
#gr-app .success { text-align:center;padding:14px 0; }
#gr-app .success .circle { width:66px;height:66px;border-radius:50%;background:var(--ok);color:#2f7d4a;
    display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:400;margin:0 auto 16px; }
#gr-app .success h2 { color:var(--blue);margin:0 0 8px;font-size:1.5rem; }
#gr-app .success p { color:var(--muted);margin:0 0 8px; }
#gr-app .start { padding:6px 2px 4px; }
#gr-app .start-title { margin:0 0 14px; }
#gr-app .start-sub { margin:0 0 26px; width:100%; }
#gr-app .start-btn { display:flex;padding:12px 24px;justify-content:center;align-items:center;gap:16px;
    border-radius:32px;background:#00EAFF;color:#093041;border:none;cursor:pointer;font-size:1rem;
    transition:opacity .15s ease;width:100%; }
#gr-app .start-btn:hover { opacity:.9; }
#gr-app .gauge-actions { display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px; }
#gr-app .zbtn { appearance:none;background:#fff;border:1.5px solid #d7dee4;color:var(--muted);font:inherit;
    font-weight:500;font-size:.9rem;padding:7px 15px;border-radius:999px;cursor:pointer;
    transition:border-color .15s,color .15s; }
#gr-app .zbtn:hover, #gr-app .zbtn.open { border-color:var(--blue);color:var(--blue); }
#gr-app .dlink { appearance:none;background:none;border:none;color:var(--cyan-deep);font:inherit;font-weight:400;
    font-size:.95rem;cursor:pointer;padding:6px 2px; }
#gr-app .dlink:hover { text-decoration:underline; }
#gr-app .znote { background:#f7f9fb;border-radius:14px;padding:13px 16px;margin-top:12px;font-size:.9rem;
    color:var(--ink);line-height:1.5; }
#gr-app .znote[hidden], #gr-app .details[hidden] { display:none; }
#gr-app .details { margin-top:14px;border-top:1px solid #eef2f5; }
#gr-app .summary .sitem { padding:13px 2px;border-bottom:1px solid #eef2f5; }
#gr-app .summary .sq { font-weight:400;color:var(--ink);font-size:.95rem; }
#gr-app .summary .sa { color:var(--muted);font-size:.95rem;margin-top:3px; }
#gr-app .summary .sitem.total { border-bottom:none;padding-top:15px; }
#gr-app .summary .sitem.total .sq { color:var(--blue); }
#gr-app .summary .sitem.total .sa { color:var(--ink);font-weight:400;font-size:1.05rem; }
@media (max-width:480px) {
#gr-app .big { font-size:2.5rem; }
}
@media (prefers-reduced-motion:reduce) {
#gr-app * { transition:none!important; }
}
/* Container füllt die Avada-Spalte; Schrift & Basistext (zuvor auf body) hier neu setzen */
#gr-app{
  width:100%;
  font-family:'Outfit','Inter',system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  line-height:1.5;
}
/* Vererbung erzwingen, damit Theme-Regeln (Buttons/Inputs/Headings) Outfit nicht überschreiben */
#gr-app *:not(.start-title):not(p){ font-family:inherit; }

/* Platzhalter-Textfarbe */
#gr-app input::placeholder { color:#737D8C; opacity:1; }

/* ---- Datums-Kalender (Schritt "Starttermin") ---- */
#gr-app .dhint { margin:18px 0 8px; }
#gr-app .cal { max-width:360px; margin:18px auto 6px; }
#gr-app .cal-head { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:14px; }
#gr-app .cal-title { font-size:1.05rem; color:var(--ink); min-width:140px; text-align:center; }
#gr-app .cal-nav { appearance:none; border:none; background:none; cursor:pointer; color:var(--blue);
    font-size:1.25rem; line-height:1; padding:4px 9px; border-radius:9px; }
#gr-app .cal-nav:hover:not(:disabled){ background:var(--track); }
#gr-app .cal-nav:disabled { color:var(--line); cursor:default; }
#gr-app .cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
#gr-app .cal-wd { margin-bottom:6px; }
#gr-app .cal-wdh { text-align:center; font-size:.8rem; font-weight:500; color:var(--muted); padding:4px 0; }
#gr-app .cal-day { appearance:none; border:2px solid transparent; background:none; cursor:pointer;
    font:inherit; font-size:1rem; color:var(--ink); aspect-ratio:1/1; display:flex; align-items:center;
    justify-content:center; border-radius:50%; transition:background .12s ease,border-color .12s ease; }
#gr-app .cal-day:hover:not(:disabled){ background:var(--track); }
#gr-app .cal-day.out, #gr-app .cal-day.past { color:var(--line); cursor:default; }
#gr-app .cal-day.earliest { border-color:var(--cyan); }
#gr-app .cal-day.sel { background:var(--cyan); color:var(--cyan-ink); border-color:var(--cyan); }
#gr-app .cal-day:disabled { pointer-events:none; }
#gr-app .cal-day:focus-visible { outline:3px solid var(--blue); outline-offset:1px; }

/* ---- Quform-Host (Kontaktformular am Ergebnis, liegt außerhalb von #gr-app) ---- */
.gr-quform-host { margin-top: 10px; }
.gr-quform-host .formhead { color:#1f476c;font-size:1.3rem;font-weight:500;margin:0 0 5px; }
.gr-quform-host .formsub { color:#6e7e8b;margin:0 0 16px; }
.gr-quform-host .restart-link { appearance:none;border:none;background:none;color:#6e7e8b;
    cursor:pointer;font:inherit;text-decoration:underline;margin-top:18px;padding:0; }
.gr-quform-host .restart-link:hover { color:#15293b; }

/* ---- Quform-Felder an den Prototyp angleichen (CI baloop) ---- */
.gr-quform-host .quform-element { margin-bottom: 12px; }
.gr-quform-host .quform-element-submit { margin-bottom: 0; }

/* Labels */
.gr-quform-host .quform-label label,
.gr-quform-host .quform-label,
.gr-quform-host label.quform-label {
    font-weight: 500; font-size: .9rem; color: #6e7e8b; margin-bottom: 8px;
}
/* redundante Überschrift über den Consent-Checkboxen ausblenden */
.gr-quform-host .quform-element-checkbox > .quform-label,
.gr-quform-host .quform-element-checkbox > .quform-spacer > .quform-label { display: none; }

/* Textfelder */
.gr-quform-host input[type=text],
.gr-quform-host input[type=email],
.gr-quform-host input[type=tel],
.gr-quform-host input[type=number],
.gr-quform-host textarea {
    width: 100% !important; box-sizing: border-box !important;
    font: inherit !important; font-size: 1.02rem !important;
    padding: 15px 18px !important;
    border: 2px solid #e2e9ef !important; border-radius: 14px !important;
    background: #fff !important; color: #15293b !important; box-shadow: none !important;
}
.gr-quform-host input[type=text]:focus,
.gr-quform-host input[type=email]:focus,
.gr-quform-host input[type=tel]:focus,
.gr-quform-host input[type=number]:focus,
.gr-quform-host textarea:focus {
    outline: none !important; border-color: #1f476c !important; box-shadow: none !important;
}
.gr-quform-host input::placeholder,
.gr-quform-host textarea::placeholder { color: #737D8C !important; opacity: 1; }

/* Checkboxen */
.gr-quform-host input[type=checkbox] {
    width: 21px; height: 21px; flex: none; accent-color: #10b8d6;
    margin: 1px 0 0; cursor: pointer;
}
.gr-quform-host .quform-element-checkbox .quform-option,
.gr-quform-host .quform-element-checkbox li {
    display: flex; align-items: flex-start; gap: 11px;
}
.gr-quform-host .quform-element-checkbox label,
.gr-quform-host .quform-option-label {
    font-size: .95rem; font-weight: 400; color: #15293b; cursor: pointer; margin: 0;
}

/* Submit-Button */
.gr-quform-host button[type=submit],
.gr-quform-host input[type=submit],
.gr-quform-host .quform-submit-button {
    display: inline-flex !important; align-items: center; justify-content: center; gap: 16px;
    padding: 12px 24px !important; border: none !important; border-radius: 32px !important;
    background: #00EAFF !important; color: #093041 !important;
    font: inherit !important; font-size: 1rem !important; cursor: pointer;
    transition: opacity .15s ease; box-shadow: none !important; text-shadow: none !important;
}
.gr-quform-host button[type=submit]:hover,
.gr-quform-host input[type=submit]:hover,
.gr-quform-host .quform-submit-button:hover { opacity: .9; background: #00EAFF !important; }
.gr-quform-host .quform-submit { text-align: left; margin-top: 10px; }

/* Pflicht-Stern + Fehlermeldungen */
.gr-quform-host .quform-required { color: #1f476c; }
.gr-quform-host .quform-error,
.gr-quform-host .quform-error-inner { color: #c0392b; font-size: .85rem; margin-top: 6px; }
