/* =========================================================
   RESPONSIVE ADJUSTMENTS & MISC PAGE LAYOUTS
   ========================================================= */

/* ── Single post / page content ──────────────────────── */
.entry-content {
  max-width: 760px;
}
.entry-content h2 { margin-top: var(--sp-lg); }
.entry-content h3 { margin-top: var(--sp-md); }
.entry-content img { border-radius: var(--radius-md); margin: var(--sp-sm) 0; }
.entry-content blockquote {
  border-right: 4px solid var(--teal);
  background: var(--teal-pale);
  padding: var(--sp-sm) var(--sp-md);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-style: italic;
  color: var(--teal-deep);
  margin: var(--sp-md) 0;
}
.entry-content table { width: 100%; border-collapse: collapse; margin: var(--sp-md) 0; }
.entry-content table th, .entry-content table td {
  border: 1px solid var(--line); padding: 10px 14px; text-align: right;
}
.entry-content table th { background: var(--teal-pale); font-family: var(--font-display); }

/* ── Two-column layout (content + sidebar) ──────────── */
.layout-2col {
  display: grid; gap: var(--sp-lg);
}
@media (min-width: 1024px) {
  .layout-2col { grid-template-columns: 2fr 1fr; }
}

/* ── Blog grid ────────────────────────────────────────── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--sp-md);
}
.post-card {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md);
  overflow: hidden; display: flex; flex-direction: column; height: 100%;
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.post-card__img { aspect-ratio: 16/10; overflow: hidden; background: var(--teal-pale); }
.post-card__img img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: var(--sp-sm) var(--sp-md) var(--sp-md); flex: 1; display: flex; flex-direction: column; }
.post-card__meta { font-size: var(--fs-tiny); color: var(--ink-soft); margin-bottom: 6px; }
.post-card__title { font-size: 1.1rem; margin-bottom: 8px; }
.post-card__title a { color: var(--teal-deep); }
.post-card__title a:hover { color: var(--teal); }
.post-card__excerpt { font-size: var(--fs-small); color: var(--ink-soft); flex: 1; margin-bottom: var(--sp-sm); }

/* ── Pagination ───────────────────────────────────────── */
.pagination {
  display: flex; gap: 8px; justify-content: center; flex-wrap: wrap;
  margin-top: var(--sp-lg);
}
.pagination a, .pagination span {
  display: flex; align-items: center; justify-content: center;
  min-width: 42px; height: 42px; padding: 0 12px;
  border-radius: var(--radius-sm); border: 1px solid var(--line);
  font-weight: 700; font-size: .9rem; color: var(--teal-deep);
  background: var(--white);
}
.pagination a:hover { background: var(--teal-pale); border-color: var(--teal); }
.pagination .current { background: var(--teal); color: #fff; border-color: var(--teal); }

/* ── Author box ───────────────────────────────────────── */
.author-box {
  display: flex; gap: var(--sp-sm); align-items: flex-start;
  background: var(--teal-pale); border-radius: var(--radius-md);
  padding: var(--sp-md); margin-top: var(--sp-lg);
}
.author-box__avatar {
  width: 60px; height: 60px; border-radius: 50%;
  background: var(--teal); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; flex-shrink: 0;
}
.author-box__name { font-weight: 800; color: var(--teal-deep); margin-bottom: 4px; }
.author-box__bio { font-size: var(--fs-small); color: var(--ink-soft); margin: 0; }

/* ── Contact page layout ──────────────────────────────── */
.contact-grid {
  display: grid; gap: var(--sp-lg);
}
@media (min-width: 1024px) {
  .contact-grid { grid-template-columns: 1fr 1fr; }
}
.contact-info-card {
  background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md);
  padding: var(--sp-md);
}
.contact-info-list { list-style: none; margin: 0; padding: 0; }
.contact-info-list li {
  display: flex; align-items: flex-start; gap: 14px;
  padding: var(--sp-sm) 0; border-bottom: 1px solid var(--line);
}
.contact-info-list li:last-child { border: none; }
.contact-info-list .ico {
  width: 44px; height: 44px; border-radius: var(--radius-sm); flex-shrink: 0;
  background: var(--teal-pale); color: var(--teal);
  display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
}
.contact-info-list strong { display: block; color: var(--teal-deep); margin-bottom: 2px; }
.map-embed { border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--line); margin-top: var(--sp-md); }
.map-embed iframe { width: 100%; height: 280px; border: 0; display: block; }

/* ── About page ───────────────────────────────────────── */
.about-hero {
  display: grid; gap: var(--sp-lg); align-items: center;
}
@media (min-width: 1024px) { .about-hero { grid-template-columns: 1fr 1fr; } }
.about-hero img { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }

.team-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: var(--sp-md);
}
.team-card { text-align: center; }
.team-card img { border-radius: var(--radius-md); aspect-ratio: 1; object-fit: cover; margin-bottom: var(--sp-sm); }
.team-card h4 { margin-bottom: 2px; }
.team-card .role { color: var(--teal); font-weight: 700; font-size: var(--fs-small); }

/* ── 404 page ─────────────────────────────────────────── */
.error-404 {
  text-align: center; padding: var(--sp-2xl) 0;
}
.error-404 .code {
  font-family: var(--font-display); font-weight: 900;
  font-size: clamp(4rem,16vw,8rem); color: var(--teal-light); line-height: 1;
}

/* ── Generic spacing helpers responsive ──────────────── */
@media (max-width: 767px) {
  .section { padding: var(--sp-lg) 0; }
  h1 { margin-bottom: var(--sp-xs); }
  .cta-banner { flex-direction: column; align-items: stretch; text-align: center; }
  .cta-banner__actions { justify-content: center; }
}

/* ── Print styles ─────────────────────────────────────── */
@media print {
  .site-header, .site-footer, .mobile-cta-bar, .sdl-whatsapp-btn, #sdl-cookie-banner { display: none !important; }
}
