.wsc-blog-archive {
  --wsc-blog-primary: var(--theme-palette-color-1, #0e7cc5);
  --wsc-blog-hover: #0567ad;
  --wsc-blog-accent: #51a9dc;
  --wsc-blog-dark: #1e1f23;
  --wsc-blog-ink: #14161a;
  --wsc-blog-muted: #5b6470;
  --wsc-blog-light: #f7f9fc;
  --wsc-blog-line: #e4e9f0;
  --wsc-blog-radius: 10px;
  --wsc-blog-shadow: 0 10px 30px rgba(20, 30, 50, .08);
  --wsc-blog-shadow-lg: 0 20px 50px rgba(20, 30, 50, .14);
  background: #fff;
  color: var(--wsc-blog-ink);
  font-family: var(--wsc-local-font-family, Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  line-height: 1.6;
  /* Blocksy applies its default content spacing to every direct Gutenberg
     child. This archive is the last visible child, so reset that trailing
     margin to make the newsletter meet the custom footer. */
  margin-bottom: 0 !important;
}

/* Gutenberg may retain an empty paragraph directly after the Blog shortcode.
   It has no content but still inherits a paragraph margin, creating a white
   strip before the site footer. */
.entry-content.is-layout-constrained > .wsc-blog-archive + .wp-block-paragraph,
.entry-content.is-layout-constrained > .wsc-blog-archive + p {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.wsc-blog-archive) .entry-content.is-layout-constrained {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.wsc-blog-archive *,
.wsc-blog-archive *::before,
.wsc-blog-archive *::after { box-sizing: border-box; }
.wsc-blog-archive img { display: block; max-width: 100%; }
/* Match Blocksy's desktop header alignment so the Blog content begins under
   the site logo rather than farther left. */
.wsc-blog-container { width: min(1350px, calc(100% - 48px)); margin: 0 auto; }
.wsc-blog-archive h1,
.wsc-blog-archive h2 { color: var(--wsc-blog-ink); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; }
.wsc-eyebrow { display: inline-block; margin-bottom: 14px; color: var(--wsc-blog-primary); font-size: 15px; font-weight: 700; letter-spacing: .18em; line-height: 1.2; text-transform: uppercase; }

/* Mirrors the original blog.html Hero without changing the WordPress page header. */
.wsc-blog-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64vh;
  padding: 150px 0 80px;
  background: url("https://images.unsplash.com/photo-1519671482749-fd09be7ccebf?auto=format&fit=crop&w=2000&q=80") center / cover no-repeat;
  color: #fff;
}
.wsc-blog-hero__container {
  position: relative;
  z-index: 1;
  width: min(1350px, calc(100% - 48px));
  margin-right: auto;
  margin-left: auto;
}
.wsc-blog-hero__inner { max-width: 760px; }
.wsc-blog-hero .wsc-eyebrow { color: var(--wsc-blog-accent); }
.wsc-blog-hero h1 { margin: 0 0 20px; color: #fff !important; font-size: clamp(36px, 5.4vw, 64px); font-weight: 900; }
.wsc-blog-hero h1 span { color: var(--wsc-blog-accent); }
.wsc-blog-hero p { max-width: 620px; margin: 0; color: rgba(255, 255, 255, .85); font-size: clamp(16px, 2vw, 20px); line-height: 1.6; }

.wsc-blog-section { padding: 110px 0; background: #fff; }
.wsc-blog-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 52px; }
.wsc-blog-topic {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1.5px solid var(--wsc-blog-line);
  border-radius: 50px;
  background: #fff;
  color: var(--wsc-blog-muted);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, color .25s ease;
}
.wsc-blog-topic:hover { border-color: var(--wsc-blog-accent); color: var(--wsc-blog-ink); }
.wsc-blog-topic.is-active { border-color: var(--wsc-blog-primary); background: var(--wsc-blog-primary); box-shadow: 0 10px 24px rgba(14, 124, 197, .3); color: #fff; }

.wsc-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.wsc-blog-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--wsc-blog-line); border-radius: var(--wsc-blog-radius); background: #fff; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.wsc-blog-card::before { position: absolute; z-index: 1; top: 0; left: 0; width: 0; height: 3px; background: linear-gradient(90deg, var(--wsc-blog-primary), var(--wsc-blog-accent)); content: ""; transition: width .35s ease; }
.wsc-blog-card:hover { border-color: rgba(14, 124, 197, .3); box-shadow: var(--wsc-blog-shadow-lg); transform: translateY(-5px); }
.wsc-blog-card:hover::before { width: 100%; }
.wsc-blog-image { display: grid; aspect-ratio: 16 / 9; overflow: hidden; place-items: center; background: var(--wsc-blog-light); color: var(--wsc-blog-primary); font-weight: 800; text-decoration: none; }
.wsc-blog-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.wsc-blog-card:hover .wsc-blog-image img { transform: scale(1.06); }
.wsc-blog-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px 24px 26px; }
.wsc-blog-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; color: var(--wsc-blog-muted); font-size: 12px; font-weight: 500; }
.wsc-blog-category { padding: 4px 11px; border-radius: 50px; background: rgba(14, 124, 197, .08); color: var(--wsc-blog-primary); font-size: 11px; font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.wsc-blog-meta-separator { color: var(--wsc-blog-line); font-size: 10px; }
.wsc-blog-card h2 { margin: 0 0 10px; font-size: 17px; line-height: 1.28; }
.wsc-blog-card h2 a { color: inherit; text-decoration: none; }
.wsc-blog-card p { flex: 1; margin: 0 0 18px; color: var(--wsc-blog-muted); font-size: 13.5px; line-height: 1.65; }
.wsc-blog-read-more { display: inline-flex; align-items: center; gap: 8px; color: var(--wsc-blog-primary); font-size: 14px; font-weight: 700; line-height: 1.3; text-decoration: none; transition: color .2s ease; }
.wsc-blog-read-more span { font-size: 16px; transition: transform .25s ease; }
.wsc-blog-read-more:hover { color: var(--wsc-blog-hover); }
.wsc-blog-read-more:hover span { transform: translateX(5px); }
.wsc-blog-empty { margin: 0; color: var(--wsc-blog-muted); text-align: center; }

.wsc-blog-pagination { display: flex; justify-content: center; margin-top: 56px; }
.wsc-blog-pagination ul { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.wsc-blog-pagination a,
.wsc-blog-pagination .current { display: inline-grid; width: 42px; height: 42px; place-items: center; border: 1.5px solid var(--wsc-blog-line); border-radius: var(--wsc-blog-radius); background: #fff; color: var(--wsc-blog-muted); font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.wsc-blog-pagination a:hover { border-color: var(--wsc-blog-primary); color: var(--wsc-blog-primary); }
.wsc-blog-pagination .current { border-color: var(--wsc-blog-primary); background: var(--wsc-blog-primary); box-shadow: 0 6px 18px rgba(14, 124, 197, .3); color: #fff; }

.wsc-newsletter-band { padding: 110px 0; background: var(--wsc-blog-primary); color: #fff; }
.wsc-newsletter-band__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 540px); gap: 72px; align-items: center; }
.wsc-newsletter-band .wsc-eyebrow { color: #fff; }
.wsc-newsletter-band h2 { margin: 0 0 14px; color: #fff; font-size: clamp(26px, 3.4vw, 40px); }
.wsc-newsletter-band__content > p:not(.wsc-newsletter-note) { max-width: 520px; margin: 0 0 30px; color: rgba(255, 255, 255, .85); font-size: 17px; line-height: 1.65; }
.wsc-newsletter-band .wsc-newsletter-form { gap: 0; overflow: hidden; border-radius: var(--wsc-blog-radius); box-shadow: 0 10px 30px rgba(0, 0, 0, .2); }
.wsc-blog-archive .wsc-newsletter-band .wsc-newsletter-form input[type="email"] { min-height: 53px; margin: 0; padding: 16px 20px; border: 0 !important; border-radius: 0; background: #fff !important; color: var(--wsc-blog-ink) !important; -webkit-text-fill-color: var(--wsc-blog-ink); font-size: 15px; }
.wsc-blog-archive .wsc-newsletter-band .wsc-newsletter-form input[type="email"]:focus { background: #fff !important; color: var(--wsc-blog-ink) !important; -webkit-text-fill-color: var(--wsc-blog-ink); outline: 0; }
.wsc-blog-archive .wsc-newsletter-band .wsc-newsletter-form input[type="email"]:-webkit-autofill,
.wsc-blog-archive .wsc-newsletter-band .wsc-newsletter-form input[type="email"]:-webkit-autofill:hover,
.wsc-blog-archive .wsc-newsletter-band .wsc-newsletter-form input[type="email"]:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #fff inset !important; -webkit-text-fill-color: var(--wsc-blog-ink) !important; }
.wsc-newsletter-band .wsc-newsletter-form input::placeholder { color: var(--wsc-blog-muted); }
.wsc-newsletter-band .wsc-newsletter-form button { min-height: 53px; padding: 16px 28px; border-radius: 0; background: var(--wsc-blog-dark); color: #fff; font-size: 15px; transition: background-color .2s ease; white-space: nowrap; }
.wsc-newsletter-band .wsc-newsletter-form button:hover { background: #000; }
.wsc-newsletter-band .wsc-form-message { color: #fff; }
.wsc-newsletter-note { margin: 12px 0 0; color: rgba(255, 255, 255, .65); font-size: 13px; }
.wsc-newsletter-band__image { height: 400px; overflow: hidden; border-radius: 14px; box-shadow: 0 24px 60px rgba(0, 0, 0, .28); }
.wsc-newsletter-band__image img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 1200px) {
  .wsc-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wsc-newsletter-band__inner { grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 44px; }
}
@media (max-width: 1024px) {
  .wsc-newsletter-band__inner { grid-template-columns: 1fr; }
  .wsc-newsletter-band__image { height: 240px; }
}
@media (max-width: 760px) {
  .wsc-blog-hero { min-height: auto; padding: 120px 0 70px; }
  .wsc-blog-section,
  .wsc-newsletter-band { padding: 70px 0; }
  .wsc-blog-grid { gap: 16px; }
  .wsc-newsletter-band__image { height: 200px; }
  .wsc-newsletter-band .wsc-newsletter-form { flex-direction: column; gap: 10px; overflow: visible; border-radius: 0; box-shadow: none; }
  .wsc-newsletter-band .wsc-newsletter-form input,
  .wsc-newsletter-band .wsc-newsletter-form button { border-radius: var(--wsc-blog-radius); }
}
@media (max-width: 480px) {
  .wsc-blog-container { width: min(100% - 32px, 1350px); }
  .wsc-blog-hero h1 { font-size: 36px; }
  .wsc-blog-grid { grid-template-columns: 1fr; }
  .wsc-blog-topics { gap: 8px; }
  .wsc-blog-topic { min-height: 42px; padding: 10px 16px; font-size: 13px; }
}
