@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,700;1,400&family=Raleway:wght@400;500;600;700&display=swap');

.sm-public-wrap { font-family: 'Raleway', sans-serif; }

/* Filter */
.sm-public-filter {
  display: flex; flex-wrap: wrap; gap: 10px;
  margin-bottom: 36px;
}
.sm-public-filter-btn {
  display: inline-block;
  font-size: 12px; font-weight: 600;
  padding: 8px 18px; border-radius: 99px;
  border: 1.5px solid #dde2f0;
  color: #1C2F6E !important;
  text-decoration: none !important;
  transition: all .2s;
  background: #fff;
}
.sm-public-filter-btn:hover,
.sm-public-filter-btn.active {
  background: #1C2F6E !important;
  border-color: #1C2F6E !important;
  color: #C49A2A !important;
}

/* Grid */
.sm-public-grid {
  display: grid; gap: 24px;
}
.sm-public-cols-1 { grid-template-columns: 1fr; }
.sm-public-cols-2 { grid-template-columns: repeat(2,1fr); }
.sm-public-cols-3 { grid-template-columns: repeat(3,1fr); }
.sm-public-cols-4 { grid-template-columns: repeat(4,1fr); }

/* Card */
.sm-public-card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #dde2f0; transition: transform .25s, box-shadow .25s; }
.sm-public-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px rgba(28,47,110,.12); }
.sm-public-card-link { text-decoration:none !important; display:block; color:inherit !important; }

/* Image */
.sm-public-card-img { height:200px; overflow:hidden; position:relative; background:#1C2F6E; }
.sm-public-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.sm-public-card:hover .sm-public-card-img img { transform:scale(1.05); }
.sm-public-card-img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#1C2F6E,#142050); }
.sm-public-card-cat { position:absolute; top:12px; left:12px; font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background:#C49A2A; color:#0e1a45; padding:4px 10px; border-radius:4px; }

/* Body */
.sm-public-card-body { padding:22px; }
.sm-public-card-date { font-size:11px; color:#9aaac0; margin-bottom:8px; display:flex; align-items:center; gap:5px; }
.sm-public-card-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:20px; font-weight:700; color:#1C2F6E; line-height:1.35; margin:0 0 10px; transition:color .2s; }
.sm-public-card:hover .sm-public-card-title { color:#C49A2A; }
.sm-public-card-excerpt { font-size:13px; color:#6a7a9a; line-height:1.7; margin-bottom:16px; }
.sm-public-card-footer { padding-top:14px; border-top:1px solid #eef0f8; }
.sm-public-card-read { font-size:12px; font-weight:600; color:#C49A2A; display:flex; align-items:center; gap:4px; }
.sm-public-card-read svg { transition:transform .2s; }
.sm-public-card:hover .sm-public-card-read svg { transform:translateX(4px); }

/* Pagination */
.sm-public-pagination { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:48px; flex-wrap:wrap; }
.sm-public-page-btn { display:inline-block; padding:10px 22px; border:1.5px solid #1C2F6E; border-radius:6px; font-size:13px; font-weight:600; color:#1C2F6E !important; text-decoration:none !important; transition:all .2s; }
.sm-public-page-btn:hover { background:#1C2F6E !important; color:#C49A2A !important; }
.sm-public-page-info { font-size:13px; color:#8090b0; }

/* Empty */
.sm-public-empty { text-align:center; padding:60px 20px; color:#8090b0; }
.sm-public-empty-icon { font-size:48px; margin-bottom:16px; }

/* Responsive */
@media (max-width:900px) {
  .sm-public-cols-3, .sm-public-cols-4 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .sm-public-cols-2, .sm-public-cols-3, .sm-public-cols-4 { grid-template-columns:1fr; }
}


/* ============================
   SM Public Info Section (sm-enim)
   Used by shortcode [sm_public_info_section]
============================ */

.sm-enim {
  background: #ffffff;
  padding: 70px 0;
  font-family: 'Raleway', sans-serif;
  position: relative;
  overflow: hidden;
}
/* Subtle bg */
.sm-enim-bg {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(28,47,110,0.04) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
/* Left decorative bar */
.sm-enim-leftbar {
  position: absolute;
  left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(180deg, transparent 0%, #C49A2A 20%, #C49A2A 80%, transparent 100%);
  opacity: 0.4;
}
.sm-enim-inner {
  position: relative; z-index: 2;
  max-width: 1200px; margin: 0 auto;
  padding: 0 60px;
}
/* Header */
.sm-enim-header {
  display: flex; align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 46px;
  flex-wrap: wrap; gap: 16px;
}
.sm-enim-eyebrow {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 10px;
}
.sm-enim-eyebrow-line { width: 30px; height: 2px; background: #C49A2A; border-radius: 2px; }
.sm-enim-eyebrow-text { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: #C49A2A; }
.sm-enim-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 36px; font-weight: 700;
  color: #1C2F6E; line-height: 1.2;
}
.sm-enim-subtitle {
  font-size: 14px; color: #6a7a9a;
  margin-top: 6px; max-width: 420px; line-height: 1.6;
}
.sm-enim-link-all {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600;
  color: #1C2F6E !important; text-decoration: none !important;
  border-bottom: 2px solid #C49A2A; padding-bottom: 2px;
  white-space: nowrap; transition: color .2s;
}
.sm-enim-link-all:hover { color: #C49A2A !important; }
.sm-enim-link-all svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; }

/* Cards grid */
.sm-enim-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin-bottom: 50px;
}

.sm-enim-card {
  background: #ffffff;
  border: 1px solid #e0e5f0;
  border-left: 4px solid #C49A2A;
  border-radius: 0 12px 12px 0;
  padding: 28px 22px;
  text-decoration: none !important;
  display: block;
  transition: transform .25s, box-shadow .25s, border-left-color .25s;
  position: relative;
  overflow: hidden;
}
.sm-enim-card::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(28,47,110,0.03) 0%, transparent 60%);
  opacity: 0; transition: opacity .25s;
}
.sm-enim-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(28,47,110,0.1);
  border-left-color: #1C2F6E;
}
.sm-enim-card:hover::before { opacity: 1; }

.sm-enim-card-icon {
  width: 48px; height: 48px;
  background: #EEF1F9;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
  transition: background .25s;
}
.sm-enim-card:hover .sm-enim-card-icon { background: #1C2F6E; }
.sm-enim-card-icon svg {
  width: 22px; height: 22px;
  stroke: #1C2F6E; fill: none;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
  transition: stroke .25s;
}
.sm-enim-card:hover .sm-enim-card-icon svg { stroke: #C49A2A; }

.sm-enim-card-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 19px; font-weight: 700;
  color: #1C2F6E; line-height: 1.3;
  margin-bottom: 8px;
  transition: color .2s;
}
.sm-enim-card:hover .sm-enim-card-title { color: #C49A2A; }

.sm-enim-card-text {
  font-size: 13px; color: #6a7a9a;
  line-height: 1.65; margin-bottom: 16px;
}

.sm-enim-card-link {
  font-size: 12px; font-weight: 600;
  color: #C49A2A;
  display: flex; align-items: center; gap: 4px;
}
.sm-enim-card-link svg {
  width: 14px; height: 14px;
  stroke: currentColor; fill: none; stroke-width: 2;
  transition: transform .2s;
}
.sm-enim-card:hover .sm-enim-card-link svg { transform: translateX(4px); }

.sm-enim-empty{
  grid-column: 1 / -1;
  text-align:center;
  color:#6a7a9a;
  padding: 18px 10px;
}

/* Bottom CTA banner */
.sm-enim-banner {
  background: #1C2F6E;
  border-radius: 16px;
  padding: 36px 44px;
  display: flex; align-items: center;
  justify-content: space-between; gap: 24px;
  position: relative; overflow: hidden;
}
.sm-enim-banner::before {
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px; border-radius: 50%;
  border: 1px solid rgba(196,154,42,0.15);
}
.sm-enim-banner::after {
  content: '';
  position: absolute; top: -30px; right: -30px;
  width: 140px; height: 140px; border-radius: 50%;
  border: 1px solid rgba(196,154,42,0.2);
}
.sm-enim-banner-left { position: relative; z-index: 2; }
.sm-enim-banner-eyebrow {
  font-size: 10px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: #C49A2A; margin-bottom: 8px; display: block;
}
.sm-enim-banner-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px; font-weight: 700;
  color: #ffffff; line-height: 1.3;
}
.sm-enim-banner-desc {
  font-size: 13px; color: rgba(160,185,220,0.8);
  margin-top: 6px; line-height: 1.6; max-width: 380px;
}
.sm-enim-banner-btns {
  display: flex; gap: 12px; flex-shrink: 0;
  position: relative; z-index: 2;
}
.sm-enim-banner-btn-primary {
  display: inline-flex; align-items: center; gap: 7px;
  background: #C49A2A; color: #0e1a45 !important;
  font-family: 'Raleway', sans-serif;
  font-size: 13px; font-weight: 700;
  padding: 12px 22px; border-radius: 6px;
  text-decoration: none !important;
  transition: background .2s; white-space: nowrap;
}
.sm-enim-banner-btn-primary:hover { background: #d4aa3a !important; }
.sm-enim-banner-btn-primary svg { width: 15px; height: 15px; stroke: #0e1a45; fill: none; stroke-width: 2; }
.sm-enim-banner-btn-sec {
  display: inline-flex; align-items: center; gap: 7px;
  border: 1.5px solid rgba(160,185,220,0.35);
  color: #c8d4f0 !important;
  font-family: 'Raleway', sans-serif;
  font-size: 13px; font-weight: 600;
  padding: 11px 22px; border-radius: 6px;
  text-decoration: none !important;
  transition: all .2s; white-space: nowrap;
}
.sm-enim-banner-btn-sec:hover { border-color: #C49A2A !important; color: #C49A2A !important; }
.sm-enim-banner-btn-sec svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 2; }

@media (max-width: 1024px) {
  .sm-enim-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .sm-enim-inner { padding: 0 24px; }
  .sm-enim-title { font-size: 28px; }
  .sm-enim-banner { flex-direction: column; align-items: flex-start; padding: 28px; }
  .sm-enim-banner-btns { flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .sm-enim-grid { grid-template-columns: 1fr; }
}
