/*
Theme Name: Blog Card Child
Theme URI: https://www.sebamarketing.de/
Author: SeBa-Marketing
Author URI: https://www.sebamarketing.de/
Description: Perfekt optimiertes Child-Theme für SeBa-Marketing mit maximaler Performance, exzellentem Pagespeed und fehlerfreiem Layout.
Version: 1.8.2
Requires PHP: 7.4
Requires at least: 6.0
Tested up to: 6.9
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Template: blogarise
Text Domain: blogcard-child
*/

/* ==========================================================================
  1. FONT-DISPLAY FIXES (VERHINDERT CLS UND FOUT/FOIT)
  ========================================================================== */
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('Heebo Bold'), local('Heebo-Bold');
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Nunito Regular'), local('Nunito-Regular');
}

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local('Nunito SemiBold'), local('Nunito-SemiBold');
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, .site-title {
  font-family: 'Heebo', system-ui, -apple-system, sans-serif;
}

body, .navbar-wp .navbar-nav > li > a {
  font-family: 'Nunito', system-ui, -apple-system, sans-serif;
}

/* ==========================================================================
  2. GLOBAL LAYOUT & CONTAINER STABILITY
  ========================================================================== */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

#page.site,
.site,
.wrapper,
#content,
main {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden;
}

.container {
  width: 100% !important;
  max-width: 1140px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* ==========================================================================
  3. LAYOUT-STABILITÄT (PREVENTS DESKTOP & MOBILE SHIFT)
  ========================================================================== */
.content-right,
.sidebar-right,
#sidebar-right,
.col-lg-8,
.col-lg-4 {
  contain: layout;
  min-height: 400px;
}

.site-branding-text {
  min-height: 60px;
}

.site-title {
  min-height: 2.2rem;
  line-height: 1.2;
}

.bs-blog-post .title {
  display: -webkit-box;
  max-height: 100%;
  min-height: 2.6rem;
  line-height: 1.3;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bs-blog-post.single .bs-header .title {
  display: block;
  line-height: 1.2;
  min-height: auto;
}

.animated,
.bounceInup,
.fadeIn {
  animation: none !important;
  transition: none !important;
}

/* ==========================================================================
  4. BLOG POSTS, MASONRY & CARDS
  ========================================================================== */
.bs-blog-post {
  contain: layout;
  min-height: 220px;
  box-sizing: border-box;
}

.bs-blog-post .bs-blog-thumb,
.list-blog .bs-blog-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #f2f2f2;
  overflow: hidden;
}

.bs-blog-post .bs-blog-thumb img,
.list-blog .bs-blog-thumb img,
.list-blog .bs-blog-thumb .blog-slider {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block;
}

.bs-masonry-columns.c2 {
  column-gap: 1.5rem;
  columns: 2;
}

.bs-masonry-columns div {
  display: inline-block;
  width: 100%;
}

.list-blog.bs-blog-post {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  text-align: left;
  padding: 1.25rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

.list-blog.bs-blog-post > .bs-blog-thumb {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin-bottom: 1rem;
}

.list-blog.bs-blog-post > article,
.list-blog.bs-blog-post > .small,
.list-blog.bs-blog-post .small.col {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* ==========================================================================
  5. HEADER & NAVIGATION
  ========================================================================== */
.blogcard-header-picture,
.blogcard-header-picture img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1600 / 300;
}

.navbar-wp .dropdown-menu {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.22);
}

a:focus {
  outline: 1px solid;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--grady-color, #e91e8c);
}

@media (max-width: 991.98px) {
  .m-header {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
  }
  .m-header .navbar-toggler {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
  }
  .m-header .navbar-header {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .m-header .site-logo,
  .m-header .navbar-brand,
  .m-header .custom-logo {
    margin-left: auto;
    margin-right: auto;
  }
  .bs-masonry-columns.c2 {
    columns: 1;
  }
}

@media (max-width: 767.98px) {
  .list-blog.bs-blog-post {
    display: block !important;
    padding: 1rem !important;
  }
  .list-blog.bs-blog-post > .bs-blog-thumb,
  .list-blog.bs-blog-post > article,
  .list-blog.bs-blog-post .small.col {
    width: 100% !important;
    max-width: 100% !important;
  }
  .bs-headfour .navbar-wp {
    height: auto;
  }
  .container {
    max-width: 100% !important;
  }
}

@media (min-width: 992px) {
  #sidebar-right {
    padding-right: unset;
    padding-left: 20px;
  }
}

/* ==========================================================================
  6. TABLES & CONTENT FORMATTING
  ========================================================================== */
#content table,
.entry-content table,
article table,
.bs-blog-post table,
.blogcard-table-scroll table {
  display: block !important;
  width: max-content !important;
  min-width: 40rem !important;
  max-width: none !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  border-collapse: separate;
}

#content table th,
#content table td,
.entry-content table th,
.entry-content table td,
article table th,
article table td {
  white-space: nowrap;
}

.blogcard-table-scroll {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 1rem;
}

/* ==========================================================================
  7. FOOTER & COPYRIGHT AREA
  ========================================================================== */
.bs-footer-copyright {
  display: block !important;
  padding: 1rem 0;
  background: transparent;
}

.bs-footer-copyright .copyright-overlay {
  color: #ccc;
  font-size: 0.9rem;
}

.bs-footer-copyright .info-right {
  display: flex !important;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem 1.25rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .bs-footer-copyright .info-right {
    justify-content: flex-end;
  }
}

.bs-footer-copyright .info-right a,
.bs-footer-copyright .info-right .nav-link {
  color: #eee !important;
  text-decoration: none;
  padding: 0.25rem 0;
}

.bs-footer-copyright .info-right a:hover {
  color: #fff !important;
  text-decoration: underline;
}

.bs-footer-copyright .copyright-text {
  color: #ccc;
}

.bs-footer-bottom-area .row.align-items-center {
  justify-content: center;
}

.bs-footer-bottom-area .footer-logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100%;
}

.bs-footer-bottom-area .site-logo {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto;
}

.bs-footer-bottom-area .site-logo img,
.bs-footer-bottom-area .custom-logo {
  margin: 0 auto;
}

.bs-footer-bottom-area .site-branding-text {
  text-align: center !important;
  width: 100%;
}

.bs-footer-bottom-area .site-title-footer {
  text-align: center !important;
  margin: 0.5rem 0 0;
}

.bs-footer-bottom-area .site-title-footer a {
  display: inline-block;
}

.bs-footer-bottom-area .col-md-6 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bs-footer-bottom-area .bs-social {
  justify-content: center !important;
  margin-top: 0.75rem;
}

/* ==========================================================================
  8. ICONS & SOCIAL BUTTONS
  ========================================================================== */
.blogcard-social {
  display: flex;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.blogcard-social a,
.bs-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  color: inherit;
  text-decoration: none;
  border-radius: 50%;
}

.blogcard-social i {
  font-style: normal;
}

.blogcard-social svg,
.bs-social svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

.bc-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-style: normal;
  font-weight: 700;
  speak: never;
}

.bc-icon-up::before {
  content: "\25B2";
  font-size: 1.1em;
}

.bc-icon-close::before {
  content: "\00D7";
  font-size: 1.4em;
  line-height: 0.8;
}

.bs-blog-date {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
}

.bs-blog-date::before {
  content: "";
  display: inline-block;
  width: 0.95em;
  height: 0.95em;
  flex-shrink: 0;
  background-color: currentColor;
  opacity: 0.75;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.bs-recent-blog-post .small-post .img-small-post.right {
  border: 2px solid #000;
  border-radius: 8px;
}

.bs-blog-meta .bs-author .auth img {
  border: 2px solid #000;
}

/* ==========================================================================
  9. AUSBLENDEN UNNÖTIGER ELEMENTE
  ========================================================================== */
.msearch,
.subscribe-btn,
label.switch,
.fa-search,
.fa-bell,
.post-share-icons,
.bs-info-author-block,
.bs-realated-slider,
.bs-related-slider,
.related-post,
.bs-related,
.comments-link,
.bs-blog-meta .comments-link,
#comments,
.comment-respond,
.comment-form,
.comments-area,
.bs-card-box.comments {
  display: none !important;
}