/*
 * HD Technology Southwest blog extension
 * The main site's /assets/css/style.css is loaded first.
 * This file only adds blog-specific layouts/components so the blog stays seamless.
 */
.blog-page-hero { padding: 68px 0 62px; }
.blog-page-hero .container { max-width: 1160px; }
.blog-page-hero h1 { max-width: 900px; margin-bottom: 18px; }
.blog-hero-copy { max-width: 800px; color: #c6d6eb; font-size: 1.12rem; margin: 0; }
.blog-section { padding-top: 62px; }
.blog-shell { min-height: 48vh; }
.blog-shell a:not(.button) { color: var(--cyan); }
.blog-shell > h2 { font-size: clamp(1.9rem, 3vw, 2.7rem); margin: 0 0 26px; }
.blog-shell > h3 { font-size: 1.35rem; margin-top: 30px; }
.blog-shell article {
  background: linear-gradient(160deg, #0a2147, #06142e);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
  box-shadow: 0 10px 30px rgba(0,0,0,.16);
  margin: 0 0 24px;
}
.blog-shell article h1,
.blog-shell article h3,
.blog-shell article h4 { margin-top: 0; }
.blog-shell article h1 { font-size: clamp(2rem, 4vw, 3.25rem); }
.blog-shell article h3 { font-size: clamp(1.35rem, 2.3vw, 1.75rem); margin-bottom: 11px; }
.blog-shell article h4 { font-size: 1.25rem; }
.blog-shell article p,
.blog-shell article li { color: var(--muted); }
.blog-shell article p:last-child { margin-bottom: 0; }
.blog-shell article img {
  width: 100%;
  max-height: 520px;
  object-fit: cover;
  border-radius: 11px;
  border: 1px solid var(--line);
  margin: 10px 0 18px;
}
.blog-shell hr { border: 0; border-top: 1px solid var(--line); margin: 26px 0; }
.blog-shell section:not(.section) {
  margin: 34px 0;
  background: #071a3b;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 26px;
}
.blog-shell section:not(.section) h3,
.blog-shell section:not(.section) h4 { margin-top: 0; }
.blog-shell aside {
  background: #071a3b;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
  height: fit-content;
}
.blog-shell aside h3 { margin: 26px 0 10px; font-size: 1.08rem; }
.blog-shell aside h3:first-of-type { margin-top: 22px; }
.blog-shell aside ul { padding-left: 18px; margin: 8px 0 0; }
.blog-shell aside li { margin: 9px 0; color: var(--muted); }
.blog-shell nav { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 30px 0; }
.blog-shell nav a { font-weight: 800; }
.blog-shell form { max-width: 850px; }
.blog-shell input[type="text"],
.blog-shell input[type="email"],
.blog-shell input[type="url"],
.blog-shell input[type="password"],
.blog-shell textarea,
.blog-shell select {
  width: 100%;
  background: #020c20;
  color: white;
  border: 1px solid #244a78;
  border-radius: 7px;
  padding: 13px 14px;
  font: inherit;
}
.blog-shell textarea { min-height: 145px; resize: vertical; }
.blog-shell button,
.blog-shell input[type="submit"] {
  background: linear-gradient(135deg, var(--blue), var(--cyan));
  color: white;
  border: 0;
  border-radius: 8px;
  padding: 12px 17px;
  font-weight: 800;
  cursor: pointer;
}
.comment { padding: 10px 0; }
.blog-shell table { width: 100%; border-collapse: collapse; background: #071a3b; }
.blog-shell th, .blog-shell td { border: 1px solid #244a78; padding: 10px; text-align: left; vertical-align: top; }
.blog-shell th { color: white; background: #0b2855; }
.admin-blog-bar { display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #071a3b; border: 1px solid var(--line); border-radius: 10px; padding: 15px 18px; margin-bottom: 26px; }
.admin-blog-bar span { display: flex; gap: 18px; }
.blog-admin-section { padding: 42px 0 70px; }

/* Desktop blog listing: article stream + sidebar, while keeping post pages readable. */
@media (min-width: 900px) {
  .blog-public .blog-shell { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 34px; align-items: start; }
  .blog-public .blog-shell > h2,
  .blog-public .blog-shell > h3,
  .blog-public .blog-shell > form,
  .blog-public .blog-shell > nav,
  .blog-public .blog-shell > section,
  .blog-public .blog-shell > article,
  .blog-public .blog-shell > hr { grid-column: 1; }
  .blog-public .blog-shell > aside { grid-column: 2; grid-row: 1 / span 30; }
}
@media (max-width: 980px) {
  .blog-page-hero { padding: 58px 0 52px; }
  .blog-section { padding-top: 50px; }
}
@media (max-width: 680px) {
  .blog-page-hero { padding: 48px 0 44px; }
  .blog-page-hero .hero-actions { align-items: stretch; }
  .blog-page-hero .button { width: 100%; }
  .blog-shell article { padding: 21px; }
  .blog-shell section:not(.section), .blog-shell aside { padding: 20px; }
  .admin-blog-bar { align-items: flex-start; flex-direction: column; }
}
/* HD Technology Southwest long-form blog content pack */
.blog-post { max-width: 940px; margin: 0 auto; }
.blog-post > h1 { max-width: 900px; font-size: clamp(2.25rem, 5vw, 4.2rem); line-height: 1.05; margin-bottom: 24px; }
.blog-post > img { width: 100%; height: auto; display: block; border-radius: 18px; border: 1px solid var(--line); box-shadow: var(--shadow); margin: 26px 0 18px; }
.blog-article-content { font-size: 1.06rem; line-height: 1.82; }
.blog-article-content p { margin: 0 0 1.35em; }
.blog-article-content h2 { color: var(--white); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.15; margin: 2.1em 0 .75em; }
.blog-article-content h3 { color: var(--white); font-size: 1.35rem; margin: 1.8em 0 .65em; }
.blog-article-content a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; }
.blog-callout { margin: 38px 0; padding: 28px; background: linear-gradient(145deg, rgba(8,125,255,.18), rgba(32,184,255,.08)); border: 1px solid rgba(32,184,255,.42); border-left: 5px solid var(--cyan); border-radius: 14px; box-shadow: 0 16px 38px rgba(0,0,0,.2); }
.blog-callout.secondary { background: linear-gradient(145deg, #0a2147, #06142e); }
.blog-callout strong { display: block; color: #fff; font-size: 1.28rem; line-height: 1.35; margin-bottom: 10px; }
.blog-callout p { color: var(--text); margin-bottom: 18px; }
.blog-callout .button { text-decoration: none; }
.blog-pullquote { margin: 42px 0; padding: 26px 30px; color: #fff; font-size: clamp(1.3rem, 2.5vw, 1.8rem); line-height: 1.45; font-weight: 800; background: #06152f; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; }
.blog-pullquote:before { content: '“'; color: var(--cyan); font-size: 3.5rem; line-height: .8; margin-right: 8px; vertical-align: -.25em; }
.blog-source { margin-top: 38px !important; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .94rem; }
.blog-deck { color: var(--muted); font-size: 1.18rem; }
@media (max-width: 680px) {
  .blog-post > h1 { font-size: 2.35rem; }
  .blog-article-content { font-size: 1rem; line-height: 1.72; }
  .blog-callout { padding: 22px 20px; margin: 30px 0; }
  .blog-pullquote { padding: 22px 18px; margin: 32px 0; }
}

/* Shared blog navigation and article-card improvements */
.blog-read-more { margin-top: 20px !important; }
.blog-read-more .button { text-decoration: none; }
.blog-sidebar { position: sticky; top: 112px; }
.blog-category-list { list-style: none; padding-left: 0 !important; }
.blog-category-list li { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.blog-count { min-width: 28px; height: 28px; display: inline-grid; place-items: center; border-radius: 999px; background: #0b2855; border: 1px solid var(--line); color: var(--cyan); font-size: .82rem; font-weight: 800; }
.blog-sidebar-cta { margin-top: 28px; padding: 20px; background: linear-gradient(145deg, rgba(8,125,255,.18), rgba(32,184,255,.08)); border: 1px solid rgba(32,184,255,.38); border-radius: 12px; }
.blog-sidebar-cta strong { color: #fff; display: block; line-height: 1.35; }
.blog-sidebar-cta p { color: var(--muted); margin: 8px 0 16px; }
.blog-sidebar-cta .button { width: 100%; }
.blog-empty-state { grid-column: 1; }

/* Long-form posts use the same main-column + sidebar layout as listings. */
@media (min-width: 900px) {
  .blog-public .blog-shell > .blog-post { max-width: none; margin: 0 0 24px; }
  .blog-public .blog-shell > .blog-sidebar { grid-column: 2; grid-row: 1 / span 60; }
}
@media (max-width: 899px) {
  .blog-sidebar { position: static; margin-top: 30px; }
}
