/* WJ Kapitalanlagen – scoped CSS for shortcode output */

/* Grid-Fallback für Wrapper (.wj-kap row/col) ohne Bootstrap */
.wj-kap.row { display: grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap: 1.5rem; }
@media (min-width: 576px) { .wj-kap.row { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .wj-kap.row { grid-template-columns: repeat(3, 1fr); } }
.wj-kap .col { width: auto; }

/* Karten/Container */
.wj-kap .card { border: 1px solid rgba(0,0,0,.12) !important; border-radius: .5rem; background:#fff; overflow: hidden; }
.wj-kap .card-body { padding: 1rem; }
.wj-kap .shadow-sm { box-shadow: 0 2px 6px rgba(0,0,0,.06) !important; transition: box-shadow .15s ease, transform .15s ease; }
.wj-kap .shadow-sm:hover { box-shadow: 0 4px 10px rgba(0,0,0,.09); transform: translateY(-2px); }

/* Ratio 16:9 für Bildcontainer */
.wj-kap .ratio { position: relative; width: 100%; }
.wj-kap .ratio::before { display: block; content: ""; }
.wj-kap .ratio-16x9::before { padding-top: 56.25%; }
.wj-kap .ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.wj-kap .ratio img { display:block; }

/* Bilddarstellung */
.wj-kap .w-100 { width: 100%; }
.wj-kap .h-100 { height: 100%; }
.wj-kap .overflow-hidden { overflow: hidden; }
.wj-kap .object-fit-cover { object-fit: cover; }

/* Badges & Positionen */
.wj-kap .badge { display: inline-block; padding: .35em .65em; font-size: .75rem; border-radius: .375rem; background: rgba(255,255,255,.9); z-index: 2; }
.wj-kap .position-absolute { position: absolute; }
.wj-kap .position-relative { position: relative; }
.wj-kap .top-0 { top: 0; }
.wj-kap .bottom-0 { bottom: 0; }
.wj-kap .start-0 { left: 0; }
.wj-kap .end-0 { right: 0; }
.wj-kap .m-2 { margin: .5rem; }
.wj-kap .mw-100 { max-width: 100%; }

/* Typo/Links */
.wj-kap .text-decoration-none { text-decoration: none; }
.wj-kap .text-dark { color: #212529; }
.wj-kap .text-muted { color: rgba(0,0,0,.65); }
.wj-kap .text-primary { color: var(--ast-global-color-0, #0d6efd); }
.wj-kap .fw-semibold { font-weight: 600; }
.wj-kap .small { font-size: .875rem; }
.wj-kap .mb-1 { margin-bottom: .25rem; }
.wj-kap .mb-2 { margin-bottom: .5rem; }
.wj-kap .mt-3 { margin-top: 1rem; }
.wj-kap .h6 { font-size: 1rem; margin: 0; }
.wj-kap .bg-light { background-color: var(--ast-global-color-7, #f8f9fa); }
