/*
 * Kamora blog layouts — adapted from the Velzon blog grid and overview patterns.
 */
.kamora-blog-page { background: #f7f9fc; min-height: 60vh; padding-bottom: 5rem; }
.kamora-blog-intro { padding: 10rem 0 3.5rem; background: linear-gradient(135deg, #f7f9ff 0%, #eef3ff 58%, #f8faff 100%); border-bottom: 1px solid #e5eaf5; }
.kamora-blog-intro .container { max-width: 1160px; }
.kamora-eyebrow { color: #4057c8; font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 1rem; }
.kamora-blog-intro h1 { color: #17223b; font-size: clamp(2.2rem, 4vw, 3.6rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.08; max-width: 800px; margin: 0 0 1rem; }
.kamora-blog-lead { color: #64718a; font-size: 1.12rem; line-height: 1.7; max-width: 680px; margin: 0; }
.kamora-blog-listing { max-width: 1200px; padding-top: 3.25rem; }
.kamora-blog-card { border: 1px solid #e8ecf4; border-radius: 1rem; box-shadow: 0 10px 28px rgba(29, 48, 87, .045); transition: transform .2s ease, box-shadow .2s ease; }
.kamora-blog-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(29, 48, 87, .1); }
.kamora-blog-card-image { display: block; overflow: hidden; background: #e9eefc; }
.kamora-blog-card .blog-img { display: block; width: 100%; height: 220px; object-fit: cover; transition: transform .35s ease; }
.kamora-blog-card:hover .blog-img { transform: scale(1.025); }
.kamora-blog-image-placeholder { height: 220px; display: grid; place-items: center; background: radial-gradient(circle at 75% 25%, rgba(113, 129, 255, .35), transparent 32%), linear-gradient(135deg, #101c3c, #3048a4); color: #fff; font-size: 1.8rem; font-weight: 800; letter-spacing: -.04em; }
.kamora-blog-card .card-body { padding: 1.5rem; }
.kamora-blog-card .card-title { color: #17223b; font-weight: 750; line-height: 1.3; letter-spacing: -.02em; }
.kamora-blog-card .card-title a:hover { color: #4057c8 !important; }
.kamora-post-meta { color: #7b879d; font-size: .82rem; line-height: 1.6; }
.kamora-post-meta a { color: #4057c8; text-decoration: none; }
.kamora-pagination ul { display: flex; justify-content: center; align-items: center; gap: .4rem; padding: 0; margin: 0; list-style: none; flex-wrap: wrap; }
.kamora-pagination a, .kamora-pagination span { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: .5rem .85rem; border: 1px solid #e1e7f2; border-radius: .5rem; background: #fff; color: #35415e; text-decoration: none; }
.kamora-pagination .current { background: #4057c8; border-color: #4057c8; color: #fff; }
.kamora-article-wrap { max-width: 1000px; padding-top: 9.5rem; }
.kamora-breadcrumb { display: flex; flex-wrap: wrap; gap: .55rem; color: #7b879d; font-size: .9rem; }
.kamora-breadcrumb a { color: #4057c8; text-decoration: none; }
.kamora-article-card { border-radius: 1rem; }
.kamora-article-header { max-width: 780px; padding: .5rem 0 2rem; }
.kamora-article-title { color: #17223b; font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 800; letter-spacing: -.045em; line-height: 1.12; margin: 0 0 1rem; }
.kamora-article-excerpt { color: #65728a; font-size: 1.1rem; line-height: 1.7; }
.kamora-article-featured-image { margin: 0 0 2.5rem; }
.kamora-article-featured-image img { max-height: 560px; object-fit: cover; border-radius: .75rem; }
.kamora-article-content { color: #39445c; font-size: 1.05rem; line-height: 1.85; max-width: 760px; margin: 0 auto; overflow-wrap: anywhere; }
.kamora-article-content > * { margin-bottom: 1.25em; }
.kamora-article-content h2, .kamora-article-content h3, .kamora-article-content h4 { color: #17223b; font-weight: 750; letter-spacing: -.02em; margin-top: 1.8em; }
.kamora-article-content img { max-width: 100%; height: auto; border-radius: .5rem; }
.kamora-article-content blockquote { border-left: 3px solid #5368d5; padding: .75rem 1.25rem; background: #f5f7ff; border-radius: 0 .5rem .5rem 0; }
.kamora-article-content a { color: #4057c8; }
@media (max-width: 767.98px) {
  .kamora-blog-intro { padding: 8.5rem 0 2.5rem; }
  .kamora-blog-listing { padding-top: 2rem; }
  .kamora-article-wrap { padding-top: 7.5rem; }
  .kamora-article-card > .card-body { padding: 1.25rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  .kamora-blog-card, .kamora-blog-card .blog-img { transition: none; }
}

/* Kamora landing header: readable on scroll, balanced on desktop and mobile. */
#navbar.navbar-landing {
  z-index: 1030;
  padding: 1rem 0;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background-color .22s ease, box-shadow .22s ease, padding .22s ease, border-color .22s ease;
}
#navbar.navbar-landing .container { gap: 1rem; }
#navbar.navbar-landing .navbar-brand { flex: 0 0 auto; margin-right: .5rem; }
#navbar.navbar-landing .navbar-brand img { display: block; width: auto; max-width: 190px; max-height: 44px; object-fit: contain; }
#navbar.navbar-landing .navbar-collapse { align-items: center; min-width: 0; }
#navbar.navbar-landing .navbar-nav { align-items: center; flex-wrap: nowrap; gap: .1rem; min-width: 0; }
#navbar.navbar-landing .navbar-nav .nav-link { white-space: nowrap; padding: .65rem .48rem; font-size: .9rem; line-height: 1.25; }
#navbar.navbar-landing .navbar-collapse > .d-flex { flex: 0 0 auto; white-space: nowrap; gap: .25rem !important; }
#navbar.navbar-landing .navbar-collapse > .d-flex .btn { padding-left: .65rem; padding-right: .65rem; white-space: nowrap; }
#navbar.navbar-landing.kamora-navbar-scrolled,
body:not(.kamora-front-page) #navbar.navbar-landing {
  background: rgba(255, 255, 255, .98);
  border-bottom-color: rgba(20, 35, 70, .08);
  box-shadow: 0 8px 28px rgba(20, 35, 70, .09);
  padding-top: .65rem;
  padding-bottom: .65rem;
  backdrop-filter: blur(12px);
}
#navbar.navbar-landing.kamora-navbar-scrolled .navbar-nav .nav-link,
body:not(.kamora-front-page) #navbar.navbar-landing .navbar-nav .nav-link { color: #25304a; }
#navbar.navbar-landing .navbar-toggler { border: 1px solid rgba(40, 55, 90, .16); border-radius: .6rem; padding: .4rem .65rem !important; }
#navbar.navbar-landing .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(64, 87, 200, .18); }
@media (min-width: 1200px) and (max-width: 1399.98px) {
  #navbar.navbar-landing .navbar-brand img { max-width: 160px; }
  #navbar.navbar-landing .navbar-nav .nav-link { padding-left: .32rem; padding-right: .32rem; font-size: .84rem; }
  #navbar.navbar-landing .navbar-collapse > .d-flex .btn { padding-left: .5rem; padding-right: .5rem; font-size: .88rem; }
}
@media (max-width: 1199.98px) {
  #navbar.navbar-landing { background: rgba(255, 255, 255, .98); border-bottom-color: rgba(20, 35, 70, .08); box-shadow: 0 8px 28px rgba(20, 35, 70, .08); padding: .65rem 0; }
  #navbar.navbar-landing .container { flex-wrap: wrap; }
  #navbar.navbar-landing .navbar-brand img { max-height: 40px; }
  #navbar.navbar-landing .navbar-collapse { flex-basis: 100%; width: 100%; padding: .65rem 0 .5rem; }
  #navbar.navbar-landing .navbar-nav { align-items: stretch; gap: 0; margin: 0 !important; }
  #navbar.navbar-landing .navbar-nav .nav-link { padding: .75rem .25rem; white-space: normal; }
  #navbar.navbar-landing .navbar-collapse > .d-flex { align-items: stretch !important; flex-wrap: wrap; margin-top: .5rem; }
  #navbar.navbar-landing .navbar-collapse > .d-flex .btn { margin: .15rem 0; }
}
@media (prefers-reduced-motion: reduce) {
  #navbar.navbar-landing { transition: none; }
}
