/* Homepage blog carousel — Olimo 0.10.0 */
.olimo-home-blog { padding: 24px 0 72px; background: var(--olimo-white); }
.olimo-blog-heading { display: flex; align-items: center; gap: 22px; margin-bottom: 34px; direction: rtl; }
.olimo-blog-heading h2 { flex: 0 0 auto; margin: 0; color: var(--olimo-gray-300); font-size: clamp(22px, 1.85vw, 29px); font-weight: 700; }
.olimo-blog-heading-line { height: 1px; flex: 1; background: #F8F4FF; }
.olimo-blog-view-all { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: var(--olimo-dark-600); font-size: 13px; font-weight: 600; }
.olimo-blog-view-all i { display: grid; width: 29px; height: 29px; place-items: center; color: #fff; border-radius: 6px 0 0 6px; background: var(--olimo-primary-light); box-shadow: var(--olimo-red-shadow); }
.olimo-blog-carousel { min-width: 0; }
.olimo-blog-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 54px) / 4);
  align-items: stretch;
  gap: 18px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 18px;
  cursor: grab;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}
.olimo-blog-track::-webkit-scrollbar { display: none; }
.olimo-blog-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.olimo-blog-card {
  display: flex;
  min-width: 0;
  height: 326px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #F8F4FF;
  border-radius: 22px;
  background: #FFFFFF;
  box-shadow: 0 8px 16px -2px rgba(112,35,88,.14);
  scroll-snap-align: start;
  transition: transform .25s ease, box-shadow .25s ease;
}
.olimo-blog-card:hover { transform: translateY(-4px); box-shadow: var(--olimo-gray-shadow); }
.olimo-blog-card-media { position: relative; display: block; width: 100%; height: 194px; flex: 0 0 194px; overflow: hidden; background: #F8F4FF; }
.olimo-blog-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.olimo-blog-card:hover .olimo-blog-card-media img { transform: scale(1.035); }
.olimo-blog-category { position: absolute; top: 18px; right: 20px; display: inline-flex; align-items: center; justify-content: center; min-width: 75px; height: 29px; padding: 0 15px; border-radius: 999px; background: #FFFFFF; color: var(--olimo-gray-100); font-size: 12px; line-height: 1; box-shadow: 0 3px 12px rgba(75,23,63,.06); }
.olimo-blog-card-body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 15px 18px 14px; }
.olimo-blog-card h3 { display: -webkit-box; min-height: 55px; margin: 0; overflow: hidden; color: var(--olimo-dark-700); font-size: 16px; font-weight: 600; line-height: 1.8; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.olimo-blog-card h3 a { color: inherit; }
.olimo-blog-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 11px; }
.olimo-blog-card-meta time { display: inline-flex; align-items: center; gap: 7px; color: var(--olimo-gray-50); font-size: 11px; white-space: nowrap; }
.olimo-blog-card-meta time svg { flex: 0 0 auto; }
.olimo-blog-read-more { display: inline-flex; align-items: center; gap: 5px; color: var(--olimo-primary-light); font-size: 13px; font-weight: 600; white-space: nowrap; }
.olimo-blog-read-more svg { width: 17px; height: 17px; }
.olimo-blog-nav { display: none; align-items: center; justify-content: center; gap: 14px; margin-top: 20px; direction: ltr; }
.olimo-blog-nav button { display: grid; width: 50px; height: 50px; padding: 0; place-items: center; color: var(--olimo-gray-50); border: 1.5px solid #F8F4FF; border-radius: 50%; background: #FFFFFF; transition: color .2s ease, border-color .2s ease, opacity .2s ease; }
.olimo-blog-nav button:hover { color: var(--olimo-navy); border-color: var(--olimo-navy); }
.olimo-blog-nav button:disabled { color: #F8F4FF; border-color: #F8F4FF; opacity: .62; cursor: not-allowed; }
.olimo-home-blog.is-static .olimo-blog-track { cursor: default; }
.olimo-home-blog.is-static .olimo-blog-nav { display: none !important; }

@media (max-width: 1100px) {
  .olimo-blog-track { grid-auto-columns: calc((100% - 36px) / 3); }
}

@media (max-width: 960px) {
  .olimo-home-blog { padding: 14px 0 50px; }
  .olimo-blog-heading { gap: 10px; margin-bottom: 22px; }
  .olimo-blog-heading h2 { font-size: 20px; }
  .olimo-blog-heading-line { display: none; }
  .olimo-blog-view-all { margin-right: auto; font-size: 11px; }
  .olimo-blog-view-all i { width: 25px; height: 25px; }
  .olimo-blog-track { grid-auto-columns: calc((100% - 12px) / 1.5); gap: 12px; padding: 2px 2px 8px; cursor: auto; }
  .olimo-blog-card { height: 305px; border-radius: 18px; }
  .olimo-blog-card-media { height: 185px; flex-basis: 185px; }
  .olimo-blog-category { top: 12px; right: 12px; min-width: 64px; height: 26px; padding-inline: 13px; font-size: 10px; }
  .olimo-blog-card-body { padding: 11px 13px 12px; }
  .olimo-blog-card h3 { min-height: 49px; font-size: 14px; line-height: 1.75; }
  .olimo-blog-card-meta { padding-top: 8px; }
  .olimo-blog-card-meta time { font-size: 10px; }
  .olimo-blog-read-more { font-size: 11px; }
  .olimo-blog-nav { display: flex; }
}

@media (max-width: 420px) {
  .olimo-blog-card { height: 292px; }
  .olimo-blog-card-media { height: 174px; flex-basis: 174px; }
  .olimo-blog-heading h2 { font-size: 18px; }
  .olimo-blog-nav button { width: 46px; height: 46px; }
}


/* Olimo v1.0.26 — softer native mobile swipe for blog cards. */
@media(max-width:960px){
  .olimo-blog-track{
    touch-action:pan-x pan-y;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scroll-behavior:smooth;
  }
  .olimo-blog-card{scroll-snap-stop:normal}
}
