.pac {
  --pac-text: var(--awb-color8, #2d2d2d);
  --pac-heading: var(--awb-color3, #4d4a46);
  --pac-accent: var(--awb-custom_color_1, #c96f4a);
  --pac-accent-soft: var(--awb-custom_color_2, #f4ede1);
  --pac-soft: var(--awb-custom_color_3, #f6f3ee);
  --pac-border: color-mix(in srgb, var(--pac-heading) 24%, transparent);
  --pac-white: var(--awb-color1, #fff);
  color: var(--pac-text);
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 0 90px;
}

.pac *, .pac *::before, .pac *::after { box-sizing: border-box; }
.pac__hero { max-width: 920px; margin: 0 auto 54px; text-align: center; }
.pac__eyebrow { display:inline-block; font-size:14px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--pac-accent); margin-bottom:14px; }
.pac__title { margin:0 0 18px; font-size:clamp(38px,5vw,62px); line-height:1.08; font-weight:600; color:var(--pac-heading); }
.pac__title span { font-weight:400; }
.pac__meta { margin:0 0 28px; font-size:18px; opacity:.78; }
.pac__intro { max-width:820px; margin:0 auto 26px; font-size:20px; line-height:1.7; }
.pac__facts { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.pac__facts span { padding:10px 15px; border:1px solid var(--pac-border); border-radius:999px; font-size:14px; background:rgba(255,255,255,.55); }

.pac__progress-wrap { position:relative; top:auto; z-index:99999; max-width:900px; margin:0 auto; padding:16px 20px; background:color-mix(in srgb, var(--pac-white) 96%, transparent); border:1px solid var(--pac-border); border-radius:0 0 10px 10px; box-shadow:0 8px 28px rgba(0,0,0,.09); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.pac__progress-placeholder { display:block; height:0; margin:0; padding:0; }
.pac__progress-wrap--fixed { position:fixed !important; top:var(--pac-sticky-top, 0px) !important; margin:0 !important; z-index:999999 !important; }
.pac__question, .pac__result { scroll-margin-top:var(--pac-scroll-offset, 140px); }
.pac__progress-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:9px; font-size:14px; }
.pac__progress-context { min-width:0; display:flex; flex-direction:column; gap:2px; }
.pac__progress-context > span { font-size:12px; line-height:1.2; opacity:.68; }
.pac__progress-dimension { display:block; color:var(--pac-heading); font-size:14px; line-height:1.25; font-weight:600; }
.pac__progress-count { flex:0 0 auto; white-space:nowrap; color:var(--pac-heading); font-size:14px; }
.pac__progress { height:7px; background:color-mix(in srgb, var(--pac-heading) 10%, transparent); border-radius:20px; overflow:hidden; }
.pac__progress span { display:block; height:100%; border-radius:inherit; background:var(--pac-accent); transition:width .25s ease; }

.pac__form { max-width:980px; margin:32px auto 0; }
.pac__dimension { margin-bottom:22px; padding:0 34px; border:1px solid var(--pac-border); border-radius:12px; background:color-mix(in srgb, var(--pac-accent-soft) 52%, white); overflow:hidden; scroll-margin-top:var(--pac-scroll-offset, 140px); transition:opacity .2s ease, box-shadow .2s ease, border-color .2s ease; }
.pac__dimension:nth-of-type(even) { background:color-mix(in srgb, var(--pac-soft) 58%, white); }
.pac__dimension--open { margin-bottom:46px; box-shadow:0 12px 32px rgba(0,0,0,.045); }
.pac__dimension--locked { opacity:.58; }
.pac__dimension--complete:not(.pac__dimension--open) { opacity:1; }
.pac__dimension-head { appearance:none; width:100%; display:flex; align-items:flex-start; gap:18px; padding:26px 0; margin:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.pac__dimension--open .pac__dimension-head { padding-bottom:24px; border-bottom:1px solid var(--pac-border); }
.pac__dimension-head:disabled { cursor:default; }
.pac__dimension-number { flex:0 0 auto; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; background:var(--pac-accent); color:white; font-weight:700; }
.pac__dimension-title-wrap { min-width:0; display:flex; flex-direction:column; gap:5px; padding-top:2px; }
.pac__dimension-title { display:block; font-size:clamp(24px,3vw,34px); line-height:1.2; font-weight:600; color:var(--pac-heading); }
.pac__dimension-subtitle { display:block; font-size:16px; line-height:1.4; opacity:.72; }
.pac__dimension-chevron { flex:0 0 auto; width:13px; height:13px; margin:16px 5px 0 auto; border-right:2px solid currentColor; border-bottom:2px solid currentColor; opacity:.55; transform:rotate(45deg); transition:transform .2s ease, opacity .2s ease; }
.pac__dimension--open .pac__dimension-chevron { transform:rotate(225deg); opacity:.85; }
.pac__dimension--locked .pac__dimension-chevron { opacity:.22; }
.pac__dimension-body { padding-top:6px; padding-bottom:30px; }
.pac__dimension-body[hidden], .pac__final-actions[hidden] { display:none !important; }
.pac__dimension-next-wrap { display:flex; justify-content:flex-end; padding-top:28px; }
.pac__button--next { min-width:150px; }

.pac__question { border:0; margin:0; padding:26px 0 28px; border-bottom:1px solid var(--pac-border); transition:background .2s ease, box-shadow .2s ease, padding .2s ease; }
.pac__question:last-child { border-bottom:0; padding-bottom:4px; }
.pac__question legend { width:100%; padding:0; margin:0 0 18px; font-size:18px; line-height:1.55; font-weight:500; color:var(--pac-text); }
.pac__question legend span { color:var(--pac-accent); font-weight:700; }
.pac__scale { display:grid; grid-template-columns:repeat(5, minmax(52px, 1fr)); gap:10px; max-width:520px; }
.pac__scale input { position:absolute; opacity:0; pointer-events:none; }
.pac__scale label { min-height:52px; display:grid; place-items:center; border:1px solid var(--pac-border); border-radius:8px; background:var(--pac-white); color:var(--pac-heading); font-size:18px; font-weight:600; cursor:pointer; transition:all .18s ease; }
.pac__scale label:hover { border-color:var(--pac-accent); transform:translateY(-1px); }
.pac__scale input:focus-visible + label { outline:3px solid color-mix(in srgb, var(--pac-accent) 35%, transparent); outline-offset:2px; }
.pac__scale input:checked + label { color:white; background:var(--pac-accent); border-color:var(--pac-accent); box-shadow:0 7px 18px color-mix(in srgb, var(--pac-accent) 24%, transparent); }
.pac__scale-labels { max-width:520px; display:flex; justify-content:space-between; gap:12px; margin-top:8px; font-size:12px; opacity:.65; }
.pac__error { display:none; margin-top:12px; color:#9d2d2d; font-size:14px; font-weight:600; }
.pac__question--error { margin:8px -14px; padding-left:14px; padding-right:14px; background:rgba(157,45,45,.06); border-radius:8px; }
.pac__question--error .pac__error { display:block; }

.pac__key { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:28px 0 34px; padding:26px 30px; border-radius:10px; background:var(--pac-heading); color:white; }
.pac__key h2 { grid-column:1/-1; margin:0 0 5px; color:white; font-size:24px; }
.pac__key div { display:flex; flex-direction:column; gap:3px; }
.pac__key span { opacity:.8; }

.pac__submit-wrap { text-align:center; padding:12px 0 24px; }
.pac__submit-wrap p { margin:12px 0 0; font-size:14px; opacity:.7; }
.pac__button { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:14px 28px; border:1px solid var(--awb-color5, var(--pac-accent)); border-radius:6px; background:var(--pac-accent); color:white !important; font:inherit; font-weight:600; line-height:1.2; text-decoration:none !important; cursor:pointer; transition:transform .18s ease, filter .18s ease, box-shadow .18s ease; }
.pac__button:hover { transform:translateY(-1px); filter:brightness(.96); box-shadow:0 9px 22px rgba(0,0,0,.12); }

.pac__result { max-width:980px; margin:34px auto 0; padding:46px; border-radius:14px; background:var(--pac-heading); color:white; outline:none; }
.pac__result[hidden] { display:none; }
.pac__result-kicker { text-transform:uppercase; letter-spacing:.12em; font-size:13px; font-weight:700; color:color-mix(in srgb, var(--pac-accent) 78%, white); }
.pac__score { display:flex; align-items:baseline; gap:8px; margin:10px 0 12px; }
.pac__score strong { font-size:clamp(58px,9vw,92px); line-height:1; }
.pac__score span { font-size:18px; opacity:.7; }
.pac__result h2 { margin:0 0 14px; color:white; font-size:clamp(30px,4vw,44px); }
.pac__result-copy { max-width:840px; font-size:19px; line-height:1.7; }
.pac__dimension-results { margin-top:34px; padding-top:30px; border-top:1px solid rgba(255,255,255,.18); }
.pac__dimension-results h3, .pac__cta h3 { color:white; font-size:24px; }
.pac__dimension-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.pac__dimension-grid > div { display:flex; justify-content:space-between; gap:20px; padding:18px 20px; border-radius:8px; background:rgba(255,255,255,.08); }
.pac__dimension-grid span { opacity:.82; }
.pac__dimension-grid strong { white-space:nowrap; }
.pac__dimension-grid b { font-size:20px; }
.pac__cta { margin-top:34px; padding:28px; border-radius:10px; background:rgba(255,255,255,.08); }
.pac__cta p { max-width:760px; font-size:17px; line-height:1.65; }
.pac__reset { margin-top:24px; padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:white; cursor:pointer; font:inherit; opacity:.8; }

@media (max-width: 760px) {
  /* Mobile: feste, kontrastreiche Farben statt heller Avada-Theme-Variablen.
     Dadurch bleiben Fortschritt, Überschriften, Skala und Hilfstexte auch auf
     mobilen Header-/Farbschemata klar lesbar. */
  .pac {
    --pac-text:#2d2926;
    --pac-heading:#3f3935;
    --pac-border:rgba(63,57,53,.20);
    --pac-white:#ffffff;
    padding:20px 0 55px;
  }
  .pac__hero { padding:0 18px; margin-bottom:35px; }
  .pac__title { font-size:40px; }
  .pac__intro { font-size:18px; }
  .pac__progress-wrap { margin-left:12px; margin-right:12px; border-radius:0 0 10px 10px; padding:13px 14px; background:rgba(255,255,255,.98); border-color:rgba(63,57,53,.18); }
  .pac__progress-head { align-items:flex-start; gap:10px; }
  .pac__progress-context > span { font-size:11px; color:#5a514c; opacity:1; }
  .pac__progress-dimension { font-size:13px; line-height:1.3; color:#3f3935; font-weight:700; }
  .pac__progress-count { font-size:13px; color:#3f3935; font-weight:700; }
  .pac__question, .pac__result { scroll-margin-top:var(--pac-scroll-offset, 132px); }
  .pac__form { margin-top:22px; padding:0 12px; }
  .pac__dimension { padding:0 18px; border-radius:9px; }
  .pac__dimension--open { margin-bottom:34px; }
  .pac__dimension-head { gap:12px; padding:21px 0; }
  .pac__dimension--open .pac__dimension-head { padding-bottom:20px; }
  .pac__dimension-number { width:42px; height:42px; }
  .pac__dimension-title { font-size:22px; line-height:1.22; color:#3f3935; font-weight:600; }
  .pac__dimension-subtitle { font-size:15px; color:#4b433e; opacity:1; }
  .pac__dimension-chevron { width:11px; height:11px; margin-top:13px; }
  .pac__dimension-body { padding-bottom:22px; }
  .pac__dimension-next-wrap { padding-top:22px; }
  .pac__button--next { width:100%; }
  .pac__scale { gap:7px; }
  .pac__scale label { min-height:48px; color:#3f3935; border-color:rgba(63,57,53,.20); font-weight:700; }
  .pac__scale-labels { color:#5a514c; opacity:1; font-size:12.5px; }
  .pac__question legend { color:#2d2926; font-size:18px; line-height:1.5; }
  .pac__dimension-chevron { color:#3f3935; opacity:.8; }
  .pac__key { grid-template-columns:1fr; padding:22px; }
  .pac__key h2 { grid-column:auto; }
  .pac__result { margin-left:12px; margin-right:12px; padding:30px 22px; }
  .pac__dimension-grid { grid-template-columns:1fr; }
  .pac__dimension-grid > div { flex-direction:column; gap:7px; }
}

@media (prefers-reduced-motion: reduce) {
  .pac *, .pac *::before, .pac *::after { scroll-behavior:auto !important; transition:none !important; }
}

/* Datenschutz-Hinweis */
.pac__privacy { max-width:980px; margin:26px auto 0; font-size:14px; color:var(--pac-text); }
.pac__privacy--link { text-align:center; }
.pac__privacy--link a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.pac__privacy--details { border-top:1px solid var(--pac-border); padding-top:14px; }
.pac__privacy--details summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-weight:600; color:var(--pac-heading); }
.pac__privacy--details summary::-webkit-details-marker { display:none; }
.pac__privacy-more { font-size:13px; font-weight:500; text-decoration:underline; text-underline-offset:3px; }
.pac__privacy--details[open] .pac__privacy-more::before { content:'Weniger'; }
.pac__privacy--details[open] .pac__privacy-more { font-size:0; }
.pac__privacy--details[open] .pac__privacy-more::before { font-size:13px; }
.pac__privacy-content { padding-top:14px; line-height:1.65; opacity:.86; }
.pac__privacy-content > :first-child { margin-top:0; }
.pac__privacy-content > :last-child { margin-bottom:0; }

@media (max-width:760px) {
  .pac__privacy { margin-left:12px; margin-right:12px; }
}

/* Ergebnisaktionen & repräsentative Druckausgabe */
.pac__result-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:28px; }
.pac__result-actions .pac__reset { margin-top:0; }
.pac__button--print { min-width:180px; }
.pac__print-header,
.pac__print-footer { display:none; }

/* Isolierter Druckbereich: verhindert Leer-Seiten durch unsichtbare Avada-/WordPress-Container. */
.pac-print-portal { display:none; }

@media print {
  @page { size:A4 portrait; margin:14mm 15mm 14mm; }

  html, body {
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  body.pac-print-mode > *:not(.pac-print-portal) { display:none !important; }
  body.pac-print-mode > .pac-print-portal {
    display:block !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  .pac-print-portal .pac__result {
    display:block !important;
    position:static !important;
    left:auto !important;
    top:auto !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff !important;
    color:#2d2d2d !important;
    font-family:Arial, Helvetica, sans-serif !important;
    overflow:visible !important;
    break-before:auto !important;
    break-after:auto !important;
    page-break-before:auto !important;
    page-break-after:auto !important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  .pac-print-portal .pac__print-header {
    display:flex !important;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding:0 0 18px;
    margin:0 0 22px;
    border-bottom:2px solid #c96f4a;
    break-inside:avoid;
  }

  .pac-print-portal .pac__print-brand { flex:0 0 auto; }
  .pac-print-portal .pac__print-logo {
    display:block;
    max-width:210px;
    max-height:62px;
    width:auto;
    height:auto;
    object-fit:contain;
  }
  .pac-print-portal .pac__print-wordmark {
    font-family:Georgia, 'Times New Roman', serif;
    font-size:25pt;
    line-height:1;
    color:#4d4a46;
  }
  .pac-print-portal .pac__print-heading { margin-left:auto; text-align:right; color:#4d4a46; }
  .pac-print-portal .pac__print-heading span {
    display:block;
    margin-bottom:3px;
    color:#c96f4a;
    font-size:8.5pt;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .pac-print-portal .pac__print-heading strong { display:block; font-size:16pt; line-height:1.2; }
  .pac-print-portal .pac__print-heading small { display:block; margin-top:5px; font-size:8.5pt; color:#777; }

  .pac-print-portal .pac__result-kicker {
    color:#c96f4a !important;
    font-size:8pt !important;
    letter-spacing:.12em;
  }
  .pac-print-portal .pac__score { margin:5px 0 8px !important; color:#4d4a46 !important; }
  .pac-print-portal .pac__score strong { font-size:42pt !important; line-height:1 !important; }
  .pac-print-portal .pac__score span { font-size:10.5pt !important; color:#777 !important; opacity:1 !important; }
  .pac-print-portal .pac__result h2 {
    margin:0 0 9px !important;
    color:#4d4a46 !important;
    font-size:22pt !important;
    line-height:1.15 !important;
  }
  .pac-print-portal .pac__result-copy {
    max-width:none !important;
    margin:0 !important;
    color:#2d2d2d !important;
    font-size:10.5pt !important;
    line-height:1.48 !important;
  }

  .pac-print-portal .pac__dimension-results {
    margin-top:22px !important;
    padding-top:16px !important;
    border-top:1px solid #ddd !important;
    break-inside:avoid;
  }
  .pac-print-portal .pac__dimension-results h3 {
    margin:0 0 10px !important;
    color:#4d4a46 !important;
    font-size:13pt !important;
  }
  .pac-print-portal .pac__dimension-grid {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .pac-print-portal .pac__dimension-grid > div {
    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    justify-content:space-between;
    gap:12px !important;
    padding:10px 12px !important;
    border:1px solid #e1ddd8 !important;
    border-radius:6px !important;
    background:#f7f4ef !important;
    color:#2d2d2d !important;
    break-inside:avoid;
  }
  .pac-print-portal .pac__dimension-grid span { font-size:8.8pt !important; line-height:1.3; color:#4d4a46 !important; opacity:1 !important; }
  .pac-print-portal .pac__dimension-grid strong { font-size:9.5pt !important; color:#4d4a46 !important; }
  .pac-print-portal .pac__dimension-grid b { font-size:13pt !important; color:#c96f4a !important; }

  .pac-print-portal .pac__cta,
  .pac-print-portal .pac__result-actions { display:none !important; }

  .pac-print-portal .pac__print-footer {
    display:flex !important;
    flex-direction:column;
    gap:3px;
    margin-top:24px;
    padding-top:12px;
    border-top:1px solid #ddd;
    color:#4d4a46;
    break-inside:avoid;
  }
  .pac-print-portal .pac__print-footer strong { font-size:10.5pt; }
  .pac-print-portal .pac__print-footer span { font-size:8.7pt; }
  .pac-print-portal .pac__print-footer span:nth-of-type(2) { color:#c96f4a; font-weight:700; }
  .pac-print-portal .pac__print-footer small { margin-top:5px; color:#777; font-size:7.5pt; line-height:1.35; }
}
