/* Bereich „service“ (app/Views/v2/service.php): Auth, Konto, Kontakt, Rechtliches,
   Sitemap, 404, Erinnerungen, Zertifikat prüfen, Premium. Nur Tokens, nur svc-Präfix. */

/* Gemeinsam */
.svc-stack { display: grid; gap: var(--space-4); align-content: start; }
.svc-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.svc-fine { margin: 0; font-size: 13px; color: var(--text-muted); }
.svc-note { margin: 0; font-size: 14px; color: var(--text-muted); }
.svc-note .lg-icon { vertical-align: -3px; color: var(--success-text); }
.svc-h4 { margin: 0; font: 750 17px/1.25 var(--font-display); }
.svc-house { margin-inline: auto; }
/* Eigenwerbung bleibt auf Seiten ohne Fremdwerbung (Konto, 404) sichtbar; site.css blendet .lg-ad bei .no-ads aus. */
.no-ads .lg-ad.svc-house { display: grid !important; }
.svc-house .lg-house--row { grid-template-columns: 48px minmax(0, 1fr); justify-items: start; text-align: start; }
.svc-house .lg-house--row .lg-btn { grid-column: 2; }
.lg-notice p:first-child { margin-top: 0; }

/* Anmelden / Registrieren */
.svc-auth { padding-block: var(--space-12) var(--space-16); }
.svc-auth__grid { display: grid; gap: var(--space-8); justify-content: center; align-items: start; grid-template-columns: minmax(0, 440px); }
.svc-auth__grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 440px)); }
.svc-auth__form { display: grid; gap: var(--space-4); justify-items: stretch; }
.svc-auth .lg-auth { width: 100%; box-sizing: border-box; }
.svc-sub { margin: calc(-1 * var(--space-2)) 0 0; color: var(--text-muted); }
.svc-alt { margin: 0; font-size: 15px; color: var(--text-muted); text-align: center; }
.svc-forgot { justify-self: start; font-size: 15px; }
.svc-back { justify-self: center; font-size: 15px; }
.auth-oauth { gap: var(--space-2); }
.auth-oauth svg { flex: none; }
.svc-meter { display: grid; gap: 6px; }
.svc-meter[hidden], .svc-match[hidden] { display: none; }
.svc-match.is-ok { color: var(--success-text); }
.svc-linkbtn { padding: 0; min-height: 0; font: inherit; font-weight: 700; text-decoration: underline; }
.svc-benefits h2 { margin: 0; font: 800 22px/1.2 var(--font-display); letter-spacing: -.01em; }
.svc-benefits li > span { min-width: 0; }
@container lg (min-width: 960px) {
  .svc-auth__grid--2 .svc-benefits { order: -1; align-self: center; }
}

/* Konto */
.svc-account { padding-block: var(--space-8) var(--space-16); }
.svc-sidenav { position: sticky; top: calc(var(--space-16) + var(--space-4)); }
.svc-sec__body { display: grid; gap: var(--space-3); align-content: start; min-width: 0; }
.svc-sec--warn { border-color: var(--warning); background: var(--warning-soft); }
.svc-switch { display: flex; gap: 10px; align-items: center; cursor: pointer; }
.svc-reflink { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.svc-reflink .lg-input { flex: 1 1 220px; min-width: 0; }
.svc-reflink .lg-btn { flex: none; }
.svc-stats { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); margin: 0; font-size: 14px; font-weight: 600; }
.svc-life { display: flex; gap: var(--space-2); align-items: center; margin: 0; font-weight: 700; color: var(--success-text); }
.svc-terms { font-size: 14px; color: var(--text-muted); }
.svc-terms summary { cursor: pointer; font-weight: 600; color: var(--text); }
.svc-refcode { display: grid; gap: var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--line); }
.svc-refcode h3 { margin: 0; font: 750 16px/1.25 var(--font-display); }
.lg-settings__sec[id], .lg-settings > .lg-ad[id] { scroll-margin-top: calc(var(--space-16) + var(--space-4)); }
@container lg (max-width: 959px) {
  .svc-account { grid-template-columns: minmax(0, 1fr); }
  .svc-sidenav { position: static; }
  .svc-account .lg-settings__sec { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
}

/* Kontakt */
.svc-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.svc-form__row { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.svc-form .ct-hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.svc-contact .lg-tile__title { margin: 0; font-size: inherit; }

/* Rechtliches */
.svc-toc { position: sticky; top: calc(var(--space-16) + var(--space-4)); align-self: start; }
.svc-legal h2[id] { scroll-margin-top: calc(var(--space-16) + var(--space-4)); }
.svc-legal { overflow-wrap: anywhere; }
@container lg (max-width: 959px) {
  .svc-legalwrap { grid-template-columns: minmax(0, 1fr); }
  .svc-toc { position: static; }
}

/* Sitemap */
.svc-langs { margin-top: var(--space-12); }

/* 404 */
.svc-404h { margin: 0; font: 850 clamp(30px, 4cqi, 44px)/1.05 var(--font-display); letter-spacing: -.03em; }
.svc-404house { padding-bottom: var(--space-16); }

/* Erinnerungen */
.svc-confirm__state { font-size: 18px; color: var(--text) !important; }

/* Zertifikat prüfen */
.svc-verifywrap { padding-block: var(--space-10) var(--space-16); }
.svc-verifywrap .lg-verify { margin-inline: auto; }
.svc-verifywrap h1 { margin: 0; font: 850 clamp(30px, 4cqi, 40px)/1.05 var(--font-display); letter-spacing: -.03em; }
.svc-cert { display: flex; gap: var(--space-4); align-items: center; }
.svc-cert__name { margin: 2px 0; font: 750 22px/1.2 var(--font-display); overflow-wrap: anywhere; }
.svc-badnr { display: flex; gap: var(--space-4); align-items: center; justify-content: space-between; flex-wrap: wrap; }
.svc-todo { margin: 0; padding-inline-start: 20px; display: grid; gap: 6px; font-size: 15px; }

/* Premium */
.svc-pnote { margin-top: var(--space-5); max-width: 640px; }
.svc-plans { padding-block: var(--space-8) var(--space-4); }
.svc-plans__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important; align-items: stretch; }
.svc-plans .lg-price { display: flex; flex-direction: column; }
.svc-plans .lg-price > ul { flex: 1 1 auto; align-content: start; }
.svc-price__top { display: flex; justify-content: space-between; gap: var(--space-2); align-items: center; flex-wrap: wrap; }
.svc-price__sub { font-size: 14px; margin-top: calc(-1 * var(--space-2)); }
.svc-off { color: var(--text-muted); }
.svc-dash { display: inline-grid; place-items: center; width: 18px; font-weight: 700; }
.svc-plans__free { margin: var(--space-5) 0 0; text-align: center; }
.svc-plans__fine { margin-top: var(--space-2); text-align: center; }
.svc-status { max-width: 640px; }
.svc-status p { margin: 0; }
.svc-status__t { font: 750 20px/1.3 var(--font-display); }
.svc-status .lg-badge { justify-self: start; }
.svc-refpromo { flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.svc-refpromo__text { flex: 1 1 280px; display: grid; gap: var(--space-2); }
.svc-refpromo .lg-tile__title { margin: 0; }
.svc-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: 14px; }
.svc-checks li { display: flex; gap: var(--space-2); align-items: flex-start; }
.svc-checks .lg-icon { color: var(--success-text); margin-top: 2px; flex: none; }
