/*
Theme Name: Sledgehammer Child
Template: generatepress
Author: Sledgehammer Intelligence
Description: Brand child theme for the Sledgehammer Intelligence blog — header/footer look-and-feel + brand tokens + blog layout system (homepage, archive cards, single-post-with-sidebar).
Version: 0.5.0
*/

:root{ --sh-navy:#2c3345; --sh-cyan:#00ccdd; --sh-orange:#ff7a00; --sh-blue:#0038ff; --sh-lav:#f3f5ff; --sh-white:#fff; }

body,.entry-content,button,input,select,textarea{ font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--sh-navy); }
h1,h2,h3,h4,h5,h6{ font-family:'Inter',sans-serif; color:var(--sh-navy); }
.sh-accent{ font-family:'Gochi Hand',cursive; }
a{ color:var(--sh-blue); } a:hover{ color:var(--sh-cyan); }

.main-title,.site-description{ display:none !important; }
.site-logo img,.site-header .site-logo img{ max-width:210px; height:auto; width:auto; }

@media (min-width:769px){
  .inside-header{ display:flex; align-items:center; flex-wrap:nowrap; }
  .inside-header .site-logo{ margin-right:auto; }
  .main-navigation .inside-navigation{ display:flex; align-items:center; }
  .main-navigation .main-nav > ul{ display:flex; align-items:center; }
  .main-navigation .main-nav > ul > li.sh-btn-phone{ margin-left:1.25rem; }
}
.main-navigation .main-nav ul li a{ color:var(--sh-navy); font-weight:500; }
.main-navigation .main-nav ul li a:hover,.main-navigation .main-nav ul li.current-menu-item a{ color:var(--sh-blue); }

/* Voice AI Demo CTA — teal outline; icon INLINE-LEFT of label (one line), number below */
.main-navigation .main-nav ul li.sh-btn-phone > a{
  display:inline-block; text-align:center; white-space:nowrap;
  background:var(--sh-white); color:var(--sh-cyan) !important; border:2px solid var(--sh-cyan);
  border-radius:8px; padding:5px 16px !important; font-weight:700; line-height:1.15;
}
.main-navigation .main-nav ul li.sh-btn-phone > a:hover{ background:var(--sh-cyan); color:#fff !important; }
.main-navigation .main-nav ul li.sh-btn-phone > a::after{
  content:"888-789-8030"; display:block; font-size:.7em; font-weight:500; opacity:.9; letter-spacing:.02em;
}

/* ===== Two-tone FOOTER ===== */
.sh-footer-top{ background:var(--sh-navy); color:var(--sh-lav); padding:48px 0; }
/* Grid: row1 = logo | menu(horizontal, right) ; row2 = paragraph | login(right) */
.sh-foot-inner{ max-width:1100px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1fr auto; column-gap:48px; row-gap:20px; align-items:start; }
.sh-foot-brand{ display:flex; align-items:center; gap:12px; }
.sh-foot-brand img.sh-foot-wordmark{ width:240px; max-width:100%; height:auto; }
.sh-foot-menu{ display:flex; flex-direction:row; gap:26px; justify-self:end; align-self:center; }
.sh-foot-menu a{ color:var(--sh-lav); font-weight:500; text-decoration:none; white-space:nowrap; }
.sh-foot-menu a:hover{ color:var(--sh-cyan); }
.sh-foot-para{ color:#cfd6e6; line-height:1.65; font-size:1rem; max-width:560px; }
.sh-footer-login{ justify-self:end; align-self:start; display:inline-block; background:var(--sh-blue); color:#fff !important; border-radius:8px; padding:9px 22px; font-weight:600; text-decoration:none; }
.sh-footer-login:hover{ background:#0030d8; }
@media (max-width:768px){ .sh-foot-inner{ grid-template-columns:1fr; } .sh-foot-menu,.sh-footer-login{ justify-self:start; } }

/* Bottom bar: copyright left, Terms/Privacy right */
.site-info{ background:#1a1d24 !important; }
.inside-site-info{ max-width:1100px; margin:0 auto; padding:18px 24px; }
.sh-bottom-bar{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; width:100%; }
.sh-foot-nap{ display:flex; flex-direction:column; gap:3px; }
.sh-copy{ color:#aeb6c6; font-size:.9rem; }
.sh-nap-line{ color:#aeb6c6; font-size:.9rem; }
.sh-legal{ text-align:right; }
.sh-legal a{ color:var(--sh-cyan); margin-left:20px; text-decoration:none; font-size:.9rem; }
.sh-legal a:hover{ color:#fff; }
@media (max-width:600px){ .sh-bottom-bar{ flex-direction:column; text-align:center; } .sh-legal a{ margin:0 10px; } }

/* =============================================================
   BLOG LAYOUT (v0.5.0) — homepage + archive cards + single +
   sidebar + blog hero. Ported from the Gebhard layout system,
   rewritten in Sledgehammer --sh-* tokens. Header/footer above
   is untouched. Spec: plans/2026-06-16-blog-homepage-layout-design.md
   ============================================================= */
:root{
  --sh-bg-section:#f6f8fc; --sh-card:#fff; --sh-rule:#e4e8f1;
  --sh-text-mid:#566076; --sh-text-light:#8a93a6;
  --sh-s-xs:.5rem; --sh-s-sm:1rem; --sh-s-md:1.5rem; --sh-s-lg:2.5rem; --sh-s-xl:4rem; --sh-s-2xl:6rem;
  --sh-radius:10px; --sh-w-wide:1180px; --sh-w-content:760px;
  --sh-shadow:0 1px 2px rgba(44,51,69,.06); --sh-shadow-lift:0 10px 30px rgba(44,51,69,.12);
  --sh-transition:.25s cubic-bezier(.4,0,.2,1);
}

/* --- shared bits --- */
.sh-eyebrow{ display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--sh-cyan); }
.sh-section-head{ text-align:center; margin:0 auto var(--sh-s-lg); }
.sh-section-head h2{ font-size:clamp(1.6rem,3.2vw,2.2rem); margin:.4rem 0 0; }
.sh-btn{ display:inline-block; border:none; cursor:pointer; border-radius:8px; padding:13px 26px; font-weight:700; text-decoration:none; line-height:1.1; transition:transform var(--sh-transition),background var(--sh-transition),color var(--sh-transition); }
.sh-btn:hover{ transform:translateY(-1px); }
.sh-btn-primary{ background:var(--sh-cyan); color:var(--sh-navy) !important; }
.sh-btn-primary:hover{ background:#00b6c6; color:var(--sh-navy) !important; }
.sh-btn-cta{ background:var(--sh-orange); color:#fff !important; }
.sh-btn-cta:hover{ background:#e66e00; color:#fff !important; }

/* --- card (homepage grid + GP archive cards share visuals) --- */
.sh-card-grid{ display:grid; gap:var(--sh-s-md); }
.sh-card-grid-3{ grid-template-columns:repeat(3,1fr); }
.sh-card{ background:var(--sh-card); border:1px solid var(--sh-rule); border-radius:var(--sh-radius); overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--sh-shadow); transition:box-shadow var(--sh-transition),transform var(--sh-transition); }
.sh-card:hover{ box-shadow:var(--sh-shadow-lift); transform:translateY(-3px); }
.sh-card-img{ display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--sh-bg-section); }
.sh-card-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.sh-card-img-fallback{ display:block; width:100%; height:100%; background:linear-gradient(135deg,var(--sh-navy),var(--sh-blue)); opacity:.12; }
.sh-card-body{ padding:var(--sh-s-md); display:flex; flex-direction:column; gap:.55rem; flex-grow:1; }
.sh-card-cat{ align-self:flex-start; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--sh-cyan); background:var(--sh-lav); padding:3px 10px; border-radius:6px; text-decoration:none; }
.sh-card-title{ font-size:1.12rem; line-height:1.35; margin:0; }
.sh-card-title a{ color:var(--sh-navy); text-decoration:none; }
.sh-card-title a:hover{ color:var(--sh-blue); }
.sh-card-excerpt{ font-size:.92rem; color:var(--sh-text-mid); line-height:1.6; margin:0; flex-grow:1; }
.sh-card-date{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sh-text-light); }
.sh-empty{ grid-column:1/-1; text-align:center; color:var(--sh-text-mid); padding:var(--sh-s-lg) 0; }

/* =============== HOMEPAGE (page-blog-home.php) =============== */
.sh-home-hero{ background:var(--sh-navy); color:#fff; padding:var(--sh-s-2xl) var(--sh-s-md); text-align:center; }
.sh-home-hero-inner{ max-width:780px; margin:0 auto; }
.sh-home-hero h1{ color:#fff; font-size:clamp(2rem,5vw,3.2rem); line-height:1.15; margin:0 0 var(--sh-s-md); }
.sh-home-hero p{ color:#cfd6e6; font-size:1.15rem; line-height:1.6; margin:0 auto var(--sh-s-lg); max-width:40em; }
.sh-home-latest{ padding:var(--sh-s-2xl) var(--sh-s-md); }
.sh-home-topics{ padding:var(--sh-s-2xl) var(--sh-s-md); background:var(--sh-bg-section); }
.sh-home-section-inner{ max-width:var(--sh-w-wide); margin:0 auto; }
.sh-topic-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--sh-s-md); }
.sh-topic-card{ display:flex; flex-direction:column; gap:.5rem; background:var(--sh-card); border:1px solid var(--sh-rule); border-radius:var(--sh-radius); padding:var(--sh-s-md); text-decoration:none; box-shadow:var(--sh-shadow); transition:box-shadow var(--sh-transition),transform var(--sh-transition); }
.sh-topic-card:hover{ box-shadow:var(--sh-shadow-lift); transform:translateY(-3px); }
.sh-topic-card-head{ display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; }
.sh-topic-card-head h3{ margin:0; font-size:1.1rem; color:var(--sh-navy); }
.sh-topic-count{ font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sh-text-light); white-space:nowrap; }
.sh-topic-card p{ margin:0; font-size:.9rem; color:var(--sh-text-mid); line-height:1.55; flex-grow:1; }
.sh-topic-arrow{ font-size:.82rem; font-weight:700; color:var(--sh-blue); }
.sh-home-cta{ background:linear-gradient(135deg,var(--sh-navy),var(--sh-blue)); color:#fff; padding:var(--sh-s-2xl) var(--sh-s-md); text-align:center; }
.sh-home-cta-inner{ max-width:640px; margin:0 auto; }
.sh-home-cta h2{ color:#fff; font-size:clamp(1.8rem,4vw,2.6rem); margin:0 0 var(--sh-s-sm); }
.sh-home-cta p{ color:#dfe5f3; font-size:1.1rem; margin:0 0 var(--sh-s-lg); }

/* =============== BLOG HERO (archives/index/search) =============== */
.sh-blog-hero{ background:var(--sh-bg-section); border-bottom:1px solid var(--sh-rule); padding:var(--sh-s-xl) var(--sh-s-md) var(--sh-s-lg); }
.sh-blog-hero-inner{ max-width:var(--sh-w-wide); margin:0 auto; }
.sh-blog-hero h1{ margin:.4rem 0 .5rem; font-size:clamp(1.7rem,3.5vw,2.4rem); }
.sh-blog-hero p{ margin:0; font-size:1.05rem; color:var(--sh-text-mid); line-height:1.6; max-width:46em; }

/* =============== GP ARCHIVE CARD GRID =============== */
.blog .site-main,.archive .site-main,.search .site-main{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sh-s-md); align-items:start; }
.blog .inside-article,.archive .inside-article,.search .inside-article{ background:var(--sh-card); border:1px solid var(--sh-rule); border-radius:var(--sh-radius); overflow:hidden; display:flex; flex-direction:column; padding:0; box-shadow:var(--sh-shadow); transition:box-shadow var(--sh-transition),transform var(--sh-transition); }
.blog .inside-article:hover,.archive .inside-article:hover,.search .inside-article:hover{ box-shadow:var(--sh-shadow-lift); transform:translateY(-3px); }
/* GP outputs header before image — reorder so image is first */
.blog .inside-article .post-image,.archive .inside-article .post-image,.search .inside-article .post-image{ order:-2; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; margin:0; }
.blog .inside-article .post-image img,.archive .inside-article .post-image img,.search .inside-article .post-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.blog .inside-article .entry-header,.archive .inside-article .entry-header,.search .inside-article .entry-header{ order:-1; padding:var(--sh-s-md) var(--sh-s-md) 0; }
.blog .inside-article .entry-title,.archive .inside-article .entry-title,.search .inside-article .entry-title{ font-size:1.12rem; line-height:1.35; margin:0; }
.inside-article .entry-title a{ color:var(--sh-navy); text-decoration:none; }
.inside-article .entry-title a:hover{ color:var(--sh-blue); }
.blog .inside-article .entry-summary,.archive .inside-article .entry-summary,.search .inside-article .entry-summary{ padding:.6rem var(--sh-s-md) 0; font-size:.92rem; color:var(--sh-text-mid); line-height:1.6; flex-grow:1; }
.blog .inside-article .entry-meta,.archive .inside-article .entry-meta,.search .inside-article .entry-meta{ padding:var(--sh-s-sm) var(--sh-s-md) var(--sh-s-md); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--sh-text-light); margin-top:auto; }
.inside-article .entry-meta a{ color:var(--sh-text-mid); text-decoration:none; }
.site-main .paging-navigation,.site-main .nav-links{ grid-column:1/-1; padding:var(--sh-s-md) 0; text-align:center; }

/* =============== SINGLE POST =============== */
.single .entry-title{ font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.25; margin:0 0 var(--sh-s-sm); }
.single .entry-content{ max-width:72ch; font-size:1.05rem; line-height:1.75; color:var(--sh-navy); }
.single .entry-content h2{ margin-top:var(--sh-s-xl); padding-left:var(--sh-s-md); border-left:3px solid var(--sh-cyan); }
.single .entry-content h3{ margin-top:var(--sh-s-lg); }
.single .entry-content p{ margin-bottom:var(--sh-s-md); }
.single .entry-content ul,.single .entry-content ol{ margin:0 0 var(--sh-s-md) var(--sh-s-md); }
.single .entry-content img,.single .entry-content figure{ max-width:100%; height:auto; border-radius:var(--sh-radius); margin:var(--sh-s-md) 0; }
.single .entry-content blockquote{ border-left:3px solid var(--sh-cyan); padding:var(--sh-s-sm) var(--sh-s-md); background:var(--sh-bg-section); margin:var(--sh-s-md) 0; font-style:italic; border-radius:0 var(--sh-radius) var(--sh-radius) 0; }
.single .featured-image img{ border-radius:var(--sh-radius); }

/* =============== RIGHT SIDEBAR (lean) =============== */
.sh-sidebar{ display:flex; flex-direction:column; gap:var(--sh-s-lg); }
.sh-sb-widget{ }
.sh-sb-heading{ font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--sh-navy); margin:0 0 var(--sh-s-sm); padding-bottom:.5rem; border-bottom:2px solid var(--sh-cyan); }
.sh-sb-search .search-form,.sh-sb-search form{ display:flex; gap:.4rem; }
.sh-sb-search input[type="search"]{ flex:1; min-width:0; border:1px solid var(--sh-rule); border-radius:8px; padding:9px 12px; }
.sh-sb-search button,.sh-sb-search input[type="submit"]{ background:var(--sh-blue); color:#fff; border:none; border-radius:8px; padding:9px 14px; font-weight:600; cursor:pointer; }
.sh-sb-cats{ list-style:none; margin:0; padding:0; }
.sh-sb-cats li{ border-bottom:1px solid var(--sh-rule); }
.sh-sb-cats a{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; color:var(--sh-navy); text-decoration:none; font-weight:500; }
.sh-sb-cats a:hover{ color:var(--sh-blue); }
.sh-cat-count{ font-size:.72rem; color:var(--sh-text-light); background:var(--sh-bg-section); border-radius:20px; padding:1px 9px; }
.sh-sb-recent-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.75rem; }
.sh-sb-recent-list li{ display:flex; flex-direction:column; gap:2px; }
.sh-sb-recent-list a{ color:var(--sh-navy); text-decoration:none; font-weight:500; line-height:1.4; font-size:.95rem; }
.sh-sb-recent-list a:hover{ color:var(--sh-blue); }
.sh-recent-date{ font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--sh-text-light); }
.sh-sb-cta{ background:var(--sh-navy); border-radius:var(--sh-radius); padding:var(--sh-s-md); }
.sh-sb-cta .sh-sb-heading{ color:#fff; border-bottom-color:var(--sh-cyan); }
.sh-sb-cta p{ color:#cfd6e6; font-size:.9rem; line-height:1.55; margin:0 0 var(--sh-s-sm); }
.sh-sb-cta-btn{ display:block; text-align:center; }

/* =============== RESPONSIVE =============== */
@media (max-width:900px){
  .sh-card-grid-3{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .sh-card-grid-3,.blog .site-main,.archive .site-main,.search .site-main{ grid-template-columns:1fr; }
  .sh-home-hero,.sh-home-latest,.sh-home-topics,.sh-home-cta{ padding-left:var(--sh-s-sm); padding-right:var(--sh-s-sm); }
}

/* ============================================================
 * PAGE SILO INTERNAL LINKING (v0.7.0) — hub/child/pillar link
 * blocks appended into page bodies (sh-silo). On-brand, neutral
 * so it reads as in-content navigation, not a footer widget.
 * ============================================================ */
.sh-silo{ margin:var(--sh-s-lg) 0 0; padding-top:var(--sh-s-md); border-top:1px solid var(--sh-rule); }
.sh-silo-h{ font-size:1.15rem; margin:0 0 var(--sh-s-sm); color:var(--sh-navy); }
.sh-silo-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.6rem; }
.sh-silo-grid li{ margin:0; }
.sh-silo-grid a{ display:block; padding:.7rem .9rem; background:var(--sh-bg-section); border:1px solid var(--sh-rule); border-radius:var(--sh-radius); color:var(--sh-navy); text-decoration:none; font-weight:600; transition:background var(--sh-transition),border-color var(--sh-transition); }
.sh-silo-grid a:hover{ background:var(--sh-lav); border-color:var(--sh-cyan); }
.sh-silo-up{ margin:0 0 var(--sh-s-sm); font-weight:600; }
.sh-silo-up a{ color:var(--sh-blue); text-decoration:none; }
.sh-silo-up a:hover{ text-decoration:underline; }
.sh-silo-child .sh-silo-h{ margin-top:var(--sh-s-sm); }
.sh-silo-pillar{ margin:var(--sh-s-sm) 0 0; color:var(--sh-text-mid); }
.sh-silo-pillar a{ color:var(--sh-blue); }

/* ============================================================
 * PAGE FEATURED IMAGE (v0.7.1) — pages match posts.
 * Hide GP's outer full-width page banner; the theme re-renders the
 * image INSIDE .inside-article (generate_before_content hook) as
 * .page-header-image-single, styled to mirror the post layout.
 * Blog-home custom template excluded (it has no .inside-article).
 * ============================================================ */
body.page:not(.page-template-page-blog-home) .featured-image.page-header-image{ display:none !important; }
.page .inside-article .featured-image.page-header-image-single{ margin:0 0 var(--sh-s-md); line-height:0; }
.page .inside-article .featured-image.page-header-image-single img{ width:100%; height:auto; display:block; border-radius:var(--sh-radius); }
