/* ============ Gemeinsame Bausteine für alle Seiten (Bewertungen, Leadformulare) ============ */

/* Google-Bewertungs-Badge (Hero) */
.gbadge{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px 8px 10px;font-size:.92rem;color:var(--ink);box-shadow:0 4px 14px rgba(14,27,46,.06)}
.gbadge:hover{border-color:var(--navy)}
.gbadge svg{width:22px;height:22px;flex-shrink:0}
.gbadge .stars{font-size:.95rem;letter-spacing:1px}
.gbadge small{color:var(--muted);font-size:.85rem}

/* Hervorgehobene Google-Rezension */
.gquotes{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}
.gquote{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:34px 32px 28px;display:flex;flex-direction:column;gap:16px}
.gquote::before{content:'\201C';position:absolute;top:-6px;right:26px;font-size:7rem;line-height:1;color:#E3ECF7;font-family:Georgia,serif;pointer-events:none}
.gquote .ghead{display:flex;align-items:center;gap:10px}
.gquote .ghead svg{width:24px;height:24px}
.gquote .ghead .stars{font-size:1.05rem}
.gquote blockquote{font-size:1.06rem;line-height:1.6;color:var(--ink);position:relative}
.gquote blockquote b{background:linear-gradient(transparent 62%,#DCE7F7 62%);font-weight:600}
.gquote .gwho{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.gquote .gwho img{height:40px;width:auto;max-width:130px;object-fit:contain;mix-blend-mode:multiply}
.gquote .gwho b{display:block;color:var(--ink);font-size:.98rem}
.gquote .gwho span{display:block;font-size:.84rem;color:var(--muted)}
.gquote .gwho a{color:var(--muted);text-decoration:underline}
.gquote.dark{background:linear-gradient(130deg,var(--navy) 0%,#1E3A6E 70%);border:0}
.gquote.dark::before{color:rgba(255,255,255,.12)}
.gquote.dark blockquote{color:#fff}
.gquote.dark blockquote b{background:linear-gradient(transparent 62%,rgba(255,255,255,.22) 62%)}
.gquote.dark .gwho{border-color:rgba(255,255,255,.18)}
.gquote.dark .gwho b{color:#fff}
.gquote.dark .gwho span,.gquote.dark .gwho a{color:#C6D4EC}
.gquote.dark .gwho img{background:#fff;border-radius:8px;padding:6px 10px;height:46px;mix-blend-mode:normal}
.gquote.dark .stars{color:#FFC94D}
.gquote.dark .ghead svg{background:#fff;border-radius:50%;padding:3px}

/* Leadmagnet: Formular */
.leadbox{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:44px 40px;display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:start}
.leadbox ul.checklist{list-style:none;margin:18px 0 0;display:flex;flex-direction:column;gap:10px}
.leadbox ul.checklist li{padding-left:28px;position:relative;font-size:.97rem}
.leadbox ul.checklist li::before{content:'';position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/11px no-repeat}
.leadbox .doc{display:flex;gap:14px;align-items:center;margin-top:24px;padding:14px 16px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);font-size:.88rem;color:var(--muted)}
.leadbox .doc svg{width:34px;height:34px;flex-shrink:0;fill:var(--navy)}
.leadbox .doc b{color:var(--ink);display:block;font-size:.95rem}
form.leadform{display:flex;flex-direction:column;gap:14px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px}
form.leadform .ftitle{font-weight:700;color:var(--ink);font-size:1.08rem}
form.leadform .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.leadform label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;color:var(--ink)}
form.leadform input,form.leadform select,form.leadform textarea{font:inherit;font-size:.98rem;font-weight:400;color:var(--ink);background:#fff;border:1.5px solid #D3DCE9;border-radius:8px;padding:11px 13px;width:100%}
form.leadform input:focus,form.leadform select:focus,form.leadform textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(47,85,151,.15)}
form.leadform .types{display:flex;gap:10px;flex-wrap:wrap}
form.leadform .types label{flex:1;min-width:180px;flex-direction:row;align-items:center;gap:10px;background:#fff;border:1.5px solid #D3DCE9;border-radius:8px;padding:11px 13px;cursor:pointer;font-weight:600}
form.leadform .types label:has(input:checked){border-color:var(--navy);background:#EEF3FA}
form.leadform .types input{width:auto;accent-color:var(--navy)}
form.leadform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.leadform button.btn{justify-content:center;width:100%}
form.leadform .legal{font-size:.78rem;color:var(--muted);font-weight:400}
form.leadform .legal a{text-decoration:underline}
form.leadform .fmsg{display:none;font-size:.9rem;border-radius:8px;padding:12px 14px}
form.leadform .fmsg.err{display:block;background:#FDECEC;color:#9B1C1C}
form.leadform .fmsg.ok{display:block;background:#E7F6EF;color:var(--green)}
form.leadform [data-only]{display:none}
form.leadform.t-erreichbarkeit [data-only~="erreichbarkeit"],form.leadform.t-sichtbarkeit [data-only~="sichtbarkeit"]{display:flex}
@media(max-width:920px){.leadbox{grid-template-columns:1fr;padding:30px 22px;gap:28px}.gquotes{grid-template-columns:1fr}form.leadform .row2{grid-template-columns:1fr}}
