.blog-page { padding:80px 0; background:#fff; }
.blog-intro { max-width:720px; margin:0 auto 48px; text-align:center; }
.blog-intro h1 { font-size:clamp(32px,4vw,52px); margin:0 0 16px; color:#172333; }
.blog-intro p { color:#56616d; font-size:18px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.blog-card { border:1px solid #e2e6ea; background:#fff; display:flex; flex-direction:column; }
.blog-card__image { aspect-ratio:16/10; overflow:hidden; background:#edf0f2; }
.blog-card__image img { width:100%; height:100%; object-fit:cover; }
.blog-card__body { padding:24px; display:flex; flex-direction:column; flex:1; }
.blog-card__meta { color:#ff5e15; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.blog-card h2 { font-size:23px; line-height:1.3; margin:11px 0; }
.blog-card h2 a { color:#172333; text-decoration:none; }
.blog-card p { color:#5c6772; margin:0 0 18px; }
.blog-card__link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:auto;
  padding:10px 22px;
  border-radius:30px;
  background:#ff5e15;
  color:#fff;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  letter-spacing:.02em;
  transition:background .2s ease, color .2s ease;
}
.blog-card__link:hover {
  background:#002359;
  color:#fff;
  text-decoration:none;
}
.blog-article { max-width:none; margin:0; }
.blog-article__header { text-align:left; margin-bottom:28px; }
.blog-article__header h1 { font-size:clamp(30px,3.6vw,46px); line-height:1.18; margin:12px 0 16px; color:#172333; }
.blog-article__header p { color:#5c6772; font-size:17px; line-height:1.7; margin:0; }
.blog-article__hero { width:100%; height:auto; margin:0 0 32px; border-radius:8px; }
.blog-article__content { color:#34404c; font-size:16px; line-height:1.8; }
.blog-article__content h2,.blog-article__content h3 { color:#172333; margin-top:18px;margin-bottom:18px; }

.blog-post-layout {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 40px;
  width: 100%;
}
.blog-post-layout > .blog-article {
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
  width: auto;
  margin: 0;
}
.blog-post-layout > .blog-sidebar {
  flex: 0 0 360px;
  width: 360px;
  max-width: 360px;
  position: sticky;
  top: 110px;
  align-self: flex-start;
}
.blog-sidebar__cta {
  background: #0d1f45 !important;
  color: #fff;
  border-radius: 14px;
  padding: 28px 24px 30px;
  box-shadow: 0 14px 36px rgba(13, 31, 69, 0.18);
}
.blog-sidebar__cta h2 {
  margin: 0 0 8px;
  color: #fff !important;
  font-size: 26px;
  line-height: 1.25;
}
.blog-sidebar__cta > p {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  line-height: 1.55;
}
.blog-sidebar__form .comment-form__input-box,
.blog-sidebar__form .comment-form__input-boxx {
  margin-bottom: 12px;
  width: 100%;
}
.blog-sidebar__form input,
.blog-sidebar__form textarea {
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid #d7dde3 !important;
  background: #fff !important;
  color: #172333 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  height: auto !important;
  min-height: 48px;
}
.blog-sidebar__form textarea {
  min-height: 96px !important;
  resize: vertical;
}
.blog-sidebar__form .thm-btn {
  width: 100%;
  text-align: center;
  margin-top: 6px;
  background: #ff5e15 !important;
  border: 0;
  display: inline-block;
}
.blog-sidebar__form .thm-btn:hover { background: #e04f0c !important; }
.blog-sidebar__messages { font-size: 14px; }
.blog-pagination {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin:48px 0 8px;
  padding-top:28px;
  border-top:1px solid #e8ecf0;
}
.blog-pagination a,
.blog-pagination span {
  min-width:42px;
  padding:10px 14px;
  border:1px solid #d7dde3;
  border-radius:6px;
  color:#172333;
  text-decoration:none;
  text-align:center;
  font-weight:600;
  font-size:14px;
  line-height:1.2;
  background:#fff;
}
.blog-pagination a:hover { border-color:#e07b2a; color:#e07b2a; }
.blog-pagination .active {
  background:#e07b2a;
  border-color:#e07b2a;
  color:#fff;
}
.blog-pagination .is-disabled {
  opacity:.45;
  pointer-events:none;
  cursor:default;
}
.blog-pagination__meta {
  width:100%;
  text-align:center;
  margin-bottom:6px;
  color:#6b7580;
  font-size:14px;
  border:0;
  padding:0;
  min-width:0;
  background:transparent;
  font-weight:500;
}
/* Timepicker widget is injected by theme JS without its CSS on blog pages */
#ptTimeSelectCntr { display:none !important; }
@media (max-width: 991px) {
  .blog-post-layout {
    flex-direction: column !important;
    gap: 28px;
  }
  .blog-post-layout > .blog-sidebar {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    position: static;
  }
}
@media (max-width:900px) { .blog-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .blog-page { padding:50px 0; } .blog-grid { grid-template-columns:1fr; gap:20px; } }
