/* Leihdock – platform pages (on top of Bootstrap 5.3) */
:root {
  --mbv-green: #0f6e5c;
  --mbv-green-dark: #0a5245;
  --mbv-yellow: #ffc94d;
  --mbv-ink: #14213d;
  --mbv-soft: #eef6f3;
  --bs-primary: #0f6e5c;
  --bs-primary-rgb: 15, 110, 92;
  --bs-link-color: #0f6e5c;
  --bs-link-hover-color: #0a5245;
  --bs-link-color-rgb: 15, 110, 92;
  --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --bs-body-color: #1f2a37;
}
.btn-primary { --bs-btn-bg: var(--mbv-green); --bs-btn-border-color: var(--mbv-green); --bs-btn-hover-bg: var(--mbv-green-dark);
  --bs-btn-hover-border-color: var(--mbv-green-dark); --bs-btn-active-bg: var(--mbv-green-dark); --bs-btn-disabled-bg: var(--mbv-green);
  --bs-btn-disabled-border-color: var(--mbv-green); }
.btn-outline-primary { --bs-btn-color: var(--mbv-green); --bs-btn-border-color: var(--mbv-green); --bs-btn-hover-bg: var(--mbv-green);
  --bs-btn-hover-border-color: var(--mbv-green); --bs-btn-active-bg: var(--mbv-green-dark); }
.btn-accent { background: var(--mbv-yellow); color: var(--mbv-ink); font-weight: 600; border: 0; }
.btn-accent:hover, .btn-accent:focus { background: #ffbd24; color: var(--mbv-ink); }
.text-primary { color: var(--mbv-green) !important; }
.bg-soft { background: var(--mbv-soft); }
.bg-ink { background: var(--mbv-ink); color: #dfe6f0; }
.bg-ink a { color: #fff; }
a { text-underline-offset: .2em; }
.form-control:focus, .form-select:focus, .form-check-input:focus { border-color: #5fb3a2; box-shadow: 0 0 0 .25rem rgba(15,110,92,.2); }
.form-check-input:checked { background-color: var(--mbv-green); border-color: var(--mbv-green); }

.navbar-brand img { height: 34px; width: auto; }
.site-nav .nav-link { color: var(--mbv-ink); font-weight: 500; }
.site-nav .nav-link.active { color: var(--mbv-green); }

.hero { background: linear-gradient(135deg, #0f6e5c 0%, #0b4f63 100%); color: #fff; }
.hero h1 { font-weight: 800; letter-spacing: -.02em; }
.hero .lead { color: #d8efe9; }
.hero-shot { border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.35); max-width: 100%; height: auto; }
.badge-soft { background: rgba(255,255,255,.15); color: #fff; font-weight: 500; }

.feature-icon { width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--mbv-soft); color: var(--mbv-green); }
.feature-icon svg { width: 26px; height: 26px; }
.step-num { width: 40px; height: 40px; border-radius: 50%; background: var(--mbv-yellow); color: var(--mbv-ink); font-weight: 800;
  display: inline-flex; align-items: center; justify-content: center; }
.shot { border: 1px solid #dde3ea; border-radius: 10px; width: 100%; height: auto; }
.price-card { border: 2px solid var(--mbv-green); border-radius: 16px; }
.price-big { font-size: 3.5rem; font-weight: 800; color: var(--mbv-ink); line-height: 1; }
.check-list { list-style: none; padding-left: 0; }
.check-list li { padding-left: 1.7em; position: relative; margin-bottom: .45rem; }
.check-list li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.1em; height: 1.1em; border-radius: 50%;
  background: var(--mbv-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center/80% no-repeat; }
.faq .accordion-button:not(.collapsed) { background: var(--mbv-soft); color: var(--mbv-ink); }
.faq .accordion-button:focus { box-shadow: 0 0 0 .25rem rgba(15,110,92,.2); }

.docs-body h2 { margin-top: 2rem; font-size: 1.4rem; }
.docs-body h3 { margin-top: 1.4rem; font-size: 1.15rem; }
.docs-body table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.docs-body th, .docs-body td { border-bottom: 1px solid #dde3ea; padding: .4rem .5rem; vertical-align: top; }
.docs-body code { background: #f1f3f5; padding: .1em .3em; border-radius: 4px; color: #a1173b; }
.docs-body pre { background: #14213d; color: #e9eef6; padding: 1rem; border-radius: 8px; }
.docs-body pre code { background: none; color: inherit; }
.docs-body blockquote { border-left: 4px solid var(--mbv-yellow); background: #fffbef; padding: .6rem 1rem; }
.docs-nav a { display: block; padding: .3rem .6rem; border-radius: 6px; color: var(--bs-body-color); text-decoration: none; }
.docs-nav a.active, .docs-nav a:hover { background: var(--mbv-soft); color: var(--mbv-green); }
.toc ul { list-style: none; padding-left: .8rem; font-size: .9rem; }

/* customer area */
.account-nav .nav-link { color: var(--bs-body-color); border-radius: 8px; padding: .5rem .8rem; }
.account-nav .nav-link.active { background: var(--mbv-soft); color: var(--mbv-green); font-weight: 600; }
.account-nav .nav-link svg { width: 18px; height: 18px; margin-right: .4rem; vertical-align: -3px; }
.card { border-color: #e3e8ee; }
.status-dot { display: inline-block; width: .65rem; height: .65rem; border-radius: 50%; margin-right: .35rem; }
.status-active { background: #16a34a; } .status-trial { background: #2563eb; } .status-past_due { background: #f59e0b; }
.status-paused, .status-canceled { background: #dc2626; }
.recovery-codes { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 1.1rem; columns: 2; }
.qr-box svg { width: 220px; height: 220px; }
.auth-card { max-width: 440px; }
.demo-banner { background: var(--mbv-yellow); color: var(--mbv-ink); }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media print {
  .site-header, .site-footer, .account-nav, .no-print { display: none !important; }
}
svg.icon { width: 1.1em; height: 1.1em; vertical-align: -.15em; flex-shrink: 0; }
