/* Vendor-rendered pages (FAQ, terms, impressum, cookie policy, services, API docs, blog) inside the console.
   The vendor views emit Bootstrap-era markup; this maps it onto the module grammar. Scoped to .vendor. */

.page { padding-block: var(--s-5) var(--s-7); }
.page__body { padding: var(--s-4); }
@media (min-width: 720px) { .page__body { padding: var(--s-6); } .page { padding-top: var(--s-6); } }

/* Icon fonts are not loaded: the vendor's decorative <i> glyphs collapse. */
.vendor i.fa, .vendor i.fe, .vendor .bg-question, .vendor .card-options, .vendor .border-line, .vendor .blog-back { display: none !important; }

/* Grid shims */
.vendor .container { width: 100%; }
.vendor .row { display: flex; flex-wrap: wrap; gap: var(--s-4); }
.vendor .row > [class*="col-"] { flex: 1 1 100%; min-width: 0; }
.vendor .justify-content-center, .vendor .justify-content-md-center { justify-content: center; }
.vendor .justify-content-between { justify-content: space-between; }
.vendor .text-center { text-align: center; }
.vendor .text-muted { color: var(--ink-2); }
.vendor .d-block { display: block; }
.vendor .m-t-5 { margin-top: var(--s-1); } .vendor .m-t-10 { margin-top: var(--s-2); } .vendor .m-t-20 { margin-top: var(--s-4); } .vendor .m-t-30 { margin-top: var(--s-5); }
.vendor .m-b-30 { margin-bottom: var(--s-5); } .vendor .mt-auto { margin-top: auto; } .vendor .ml-auto { margin-left: auto; }
@media (min-width: 900px) {
  .vendor .row > .col-md-6 { flex: 0 1 calc(50% - var(--s-4) / 2); }
  .vendor .row > .col-md-8 { flex-basis: min(100%, 72ch); flex-grow: 0; }
  .vendor .row > .col-md-3 { flex-basis: calc(25% - var(--s-4)); }
  .vendor .row > .col-lg-9 { flex-basis: calc(70% - var(--s-4) / 2); }
  .vendor .row > .col-lg-3 { flex-basis: calc(30% - var(--s-4) / 2); }
}

/* Page titles: the vendor's h1 becomes the section title */
.vendor .page-header, .vendor .page-title, .vendor .blog-header { margin-bottom: var(--s-5); }
.vendor .page-title h1, .vendor h1.page-title, .vendor .title-name, .vendor .blog-header .title h1 { font-size: var(--text-xl); line-height: 1.15; font-weight: 700; letter-spacing: -0.01em; margin: 0 0 var(--s-2); }
.vendor .blog-header .text-muted { display: block; max-width: 62ch; }

/* Long-form content (terms, policies, impressum, blog body) */
.vendor .content, .vendor .blog-content { color: var(--ink); line-height: 1.65; }
.vendor .content .title h2, .vendor .content h2, .vendor .blog-content h2 { font-size: var(--text-lg); font-weight: 700; margin: var(--s-6) 0 var(--s-3); }
.vendor .content h3, .vendor .blog-content h3 { font-size: var(--text-md); font-weight: 700; margin: var(--s-5) 0 var(--s-2); }
.vendor .content p, .vendor .blog-content p, .vendor .card-body p { margin: 0 0 var(--s-3); color: var(--ink-2); max-width: 75ch; }
.vendor .content ul, .vendor .content ol, .vendor .blog-content ul, .vendor .blog-content ol, .vendor .card-body ul, .vendor .card-body ol { list-style: disc; padding-left: 1.3em; margin: 0 0 var(--s-3); color: var(--ink-2); max-width: 75ch; }
.vendor .content ol, .vendor .blog-content ol, .vendor .card-body ol { list-style: decimal; }
.vendor .content strong, .vendor .blog-content strong, .vendor .card-body strong { color: var(--ink); }
.vendor .content img, .vendor .blog-content img, .vendor .image-thumbnail img { max-width: 100%; height: auto; border-radius: var(--r); border: var(--line); }
.vendor .content table, .vendor .blog-content table { border-collapse: collapse; width: 100%; font-size: var(--text-sm); margin-bottom: var(--s-4); }
.vendor .content td, .vendor .content th, .vendor .blog-content td, .vendor .blog-content th { border: var(--line); padding: var(--s-2) var(--s-3); text-align: left; }
/* vendor views inject inline <style> with gradient rules; neutralise their colour choices */
.vendor .content a, .vendor .card-body a { color: var(--green); }

/* Cards (FAQ entries, services groups) as console modules; collapse controls need vendor JS we do not load, so they render open */
.vendor .card { background: var(--panel-2); border: var(--line); border-radius: var(--r); margin: 0; }
.vendor .card-header { padding: var(--s-3) var(--s-4); border-bottom: var(--line); }
.vendor .card-title { font-size: var(--text-md); font-weight: 700; margin: 0; }
.vendor .card-body { padding: var(--s-4); font-size: var(--text-sm); }
.vendor .card-body > :last-child { margin-bottom: 0; }
.vendor .card-collapsed .card-body { display: block !important; }

/* Forms / buttons the vendor views emit (services search) */
.vendor .form-group { margin-bottom: var(--s-3); }
.vendor .form-control { width: 100%; min-height: 44px; padding: var(--s-2) var(--s-3); background: var(--panel-2); border: 1px solid var(--bezel-2); border-radius: var(--r-sm); color: var(--ink); }
.vendor .form-control:focus { border-color: var(--green); outline: none; box-shadow: 0 0 0 3px rgba(0,227,140,0.15); }
.vendor .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 var(--s-4); border-radius: var(--r-sm); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; color: var(--green); box-shadow: inset 0 0 0 1px var(--bezel-2); background: transparent; }
.vendor .btn:hover { box-shadow: inset 0 0 0 1px var(--green); color: #fff; }

/* Tables (public services list) */
.vendor .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.vendor table.table, .vendor .table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.vendor .table th { font-family: var(--font-label); font-size: var(--text-xs); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); font-weight: 400; text-align: left; padding: var(--s-3); border-bottom: var(--line); white-space: nowrap; }
.vendor .table td { padding: var(--s-3); border-bottom: var(--line); vertical-align: top; }
.vendor .table td:nth-child(n+2) { font-family: var(--font-mono); }
.vendor .favorite-icon { display: none; }

/* Blog cards */
.vendor .blog { padding: 0; }
.vendor .blog-item { display: flex; flex-direction: column; height: 100%; background: var(--panel); border: var(--line); border-radius: var(--r); overflow: hidden; }
.vendor .blog-item .box-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border: 0; border-radius: 0; }
.vendor .blog-item .content { display: flex; flex-direction: column; flex: 1; padding: var(--s-4); }
.vendor .blog-item .title { font-size: var(--text-lg); font-weight: 700; margin-bottom: var(--s-2); }
.vendor .blog-item .title a { color: var(--ink); text-decoration: none; }
.vendor .blog-item .title a:hover { color: var(--green); }
.vendor .blog-item .short-desc { color: var(--ink-2); font-size: var(--text-sm); margin-bottom: var(--s-4); }
.vendor .blog-item .d-flex { display: flex; align-items: center; font-size: var(--text-sm); color: var(--ink-2); }
.vendor .blog-item .d-flex a { color: var(--ink); }
.vendor .text-default { color: var(--ink); }
.vendor .blog-single .row > .col-lg-12 { flex-basis: 100%; }
.vendor .blog-single .title { font-size: var(--text-xl); font-weight: 700; line-height: 1.15; margin-bottom: var(--s-3); }
.vendor .post-info { display: flex; flex-wrap: wrap; gap: var(--s-3); font-size: var(--text-sm); color: var(--ink-2); margin-bottom: var(--s-4); }
.vendor .post-info a { color: var(--ink); }
.vendor .image-thumbnail { margin-bottom: var(--s-5); }
.vendor .side-bar .widget { background: var(--panel); border: var(--line); border-radius: var(--r); padding: var(--s-4); margin-bottom: var(--s-4); }
.vendor .side-bar .widget > .title, .vendor .side-bar .widget h3, .vendor .side-bar .widget h4 { font-family: var(--font-label); font-size: var(--text-xs); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-2); font-weight: 400; margin: 0 0 var(--s-3); }
.vendor .side-bar .blog-item { border: 0; background: transparent; margin-bottom: var(--s-3); }
.vendor .side-bar .blog-item .content { padding: var(--s-2) 0 0; }
.vendor .side-bar .blog-item .title { font-size: var(--text-sm); }
.vendor .widget-category ul li, .vendor .side-bar li { padding: var(--s-1) 0; font-size: var(--text-sm); }
.vendor .side-bar a { color: var(--ink); text-decoration: none; }
.vendor .side-bar a:hover { color: var(--green); }

/* Pagination */
.vendor .pagination { display: flex; flex-wrap: wrap; gap: var(--s-1); justify-content: center; margin-top: var(--s-5); }
.vendor .pagination li a, .vendor .pagination li span, .vendor .pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 0 var(--s-2); border: var(--line); border-radius: var(--r-sm); color: var(--ink); text-decoration: none; font-family: var(--font-mono); font-size: var(--text-sm); }
.vendor .pagination .active a, .vendor .pagination .active span, .vendor .pagination a.active { border-color: var(--green); color: var(--green); }

/* Empty state */
.vendor .data-empty { padding: var(--s-6); color: var(--ink-2); }
