/*
Theme Name:  Innovative Radiology Blog Child
Description: Blog-only styling for Innovative Radiology. Adds custom blog index, single post, and category templates WITHOUT affecting any other pages on the site. Activate this as a child theme on top of your existing theme.
Template:    hello-elementor
Version:     1.0.0
Author:      Innovative Radiology
Text Domain: ir-blog-child
*/

/*
 ╔══════════════════════════════════════════════════════════════╗
 ║  ALL RULES BELOW ARE SCOPED TO BLOG PAGES ONLY              ║
 ║                                                              ║
 ║  body.blog      → /blog/ index page                         ║
 ║  body.single    → individual post pages                     ║
 ║  body.archive   → category / date archives                  ║
 ║  body.category  → category archive pages                    ║
 ║  body.search    → search results (posts only)               ║
 ║                                                              ║
 ║  These classes are added by WordPress automatically.        ║
 ║  They will NEVER fire on Home, Equipment, Service, etc.     ║
 ╚══════════════════════════════════════════════════════════════╝
*/

/* ============================================================
   DESIGN TOKENS  (only loaded on blog pages via scoping)
   ============================================================ */
body.blog,
body.single,
body.archive,
body.category,
body.search {
  --ir-navy:          #01236a;
  --ir-navy-mid:      #012580;
  --ir-navy-dark:     #011a50;
  --ir-green:         #63af05;
  --ir-green-light:   #edf7e0;
  --ir-green-dark:    #4a8504;
  --ir-warm-white:    #f8f7f4;
  --ir-card-bg:       #ffffff;
  --ir-text:          #1a2636;
  --ir-text-muted:    #5f7182;
  --ir-border:        #dde4ee;
  --ir-tag-blue-bg:   #e8edf8;
  --ir-tag-blue-txt:  #01236a;
  --cat-life:         #e8edf8;
  --cat-life-txt:     #01236a;
  --cat-industry:     #edf7e0;
  --cat-industry-txt: #3a6e02;
  --cat-equipment:    #fef3e2;
  --cat-equipment-txt:#8a5a00;
  --cat-beyond:       #f0eafc;
  --cat-beyond-txt:   #5b2d9e;
  --cat-uncat:        #f2f2f2;
  --cat-uncat-txt:    #555555;
  --ir-radius-sm:     4px;
  --ir-radius-md:     6px;
  --ir-radius-lg:     10px;
}

/* ============================================================
   GOOGLE FONTS — loaded via functions.php only on blog pages
   ============================================================ */

/* ============================================================
   BLOG PAGE WRAPPER
   ============================================================ */
body.blog .ir-blog-wrap,
body.single .ir-blog-wrap,
body.archive .ir-blog-wrap,
body.category .ir-blog-wrap,
body.search .ir-blog-wrap {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--ir-text);
}

body.blog .ir-container,
body.single .ir-container,
body.archive .ir-container,
body.category .ir-container,
body.search .ir-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.5rem;
  width: 100%;
  box-sizing: border-box;
}

/* ============================================================
   HERO — FEATURED POST
   ============================================================ */
body.blog .ir-hero {
  background: var(--ir-navy);
  padding: 3rem 0 3.5rem;
  position: relative;
  overflow: hidden;
}
body.blog .ir-hero::before {
  content: '';
  position: absolute;
  right: -80px; top: -80px;
  width: 480px; height: 480px;
  border-radius: 50%;
  border: 1px solid rgba(99,175,5,0.12);
  pointer-events: none;
}
body.blog .ir-hero::after {
  content: '';
  position: absolute;
  right: 60px; top: 60px;
  width: 300px; height: 300px;
  border-radius: 50%;
  border: 1px solid rgba(99,175,5,0.07);
  pointer-events: none;
}
body.blog .ir-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: center;
}
@media (max-width: 768px) {
  body.blog .ir-hero-inner { grid-template-columns: 1fr; }
  body.blog .ir-hero-image { display: none; }
}
body.blog .ir-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(99,175,5,0.18);
  color: #8ee84c;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 14px 5px 10px;
  border-radius: 100px;
  margin-bottom: 1.25rem;
}
body.blog .ir-hero-eyebrow::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ir-green);
}
body.blog .ir-hero-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(22px, 3.2vw, 36px);
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 1rem;
}
body.blog .ir-hero-title a {
  color: inherit;
  text-decoration: none;
}
body.blog .ir-hero-excerpt {
  font-size: 15px;
  color: rgba(255,255,255,0.62);
  line-height: 1.7;
  margin-bottom: 1.75rem;
  font-weight: 300;
  max-width: 480px;
}
body.blog .ir-hero-meta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
body.blog .ir-hero-author {
  display: flex;
  align-items: center;
  gap: 10px;
}
body.blog .ir-author-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--ir-green);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
  overflow: hidden;
}
body.blog .ir-author-avatar img { width:100%; height:100%; object-fit:cover; }
body.blog .ir-author-name  { font-size:13px; color:rgba(255,255,255,.9); font-weight:500; display:block; }
body.blog .ir-author-date  { font-size:12px; color:rgba(255,255,255,.45); display:block; }
body.blog .ir-hero-btn {
  background: var(--ir-green);
  color: #fff;
  border: none;
  padding: 10px 22px;
  border-radius: var(--ir-radius-sm);
  font-size: 14px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  transition: background .15s, transform .1s;
  font-family: 'DM Sans', sans-serif;
  white-space: nowrap;
}
body.blog .ir-hero-btn:hover { background: var(--ir-green-dark); color:#fff; transform:translateY(-1px); }
body.blog .ir-hero-image {
  border-radius: var(--ir-radius-lg);
  overflow: hidden;
  aspect-ratio: 16/10;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}
body.blog .ir-hero-image img { width:100%; height:100%; object-fit:cover; opacity:.85; }
body.blog .ir-hero-placeholder {
  width:100%; height:100%; min-height:200px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, rgba(99,175,5,0.15) 0%, rgba(1,35,106,0.4) 100%);
  font-size:56px;
}

/* ============================================================
   CATEGORY FILTER BAR
   ============================================================ */
body.blog .ir-filter-bar,
body.archive .ir-filter-bar,
body.category .ir-filter-bar {
  background: #fff;
  border-bottom: 1px solid var(--ir-border);
  margin-bottom: 0;
}
body.blog .ir-filter-inner,
body.archive .ir-filter-inner,
body.category .ir-filter-inner {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.blog .ir-filter-inner::-webkit-scrollbar,
body.archive .ir-filter-inner::-webkit-scrollbar,
body.category .ir-filter-inner::-webkit-scrollbar { display: none; }

body.blog .ir-filter-tab,
body.archive .ir-filter-tab,
body.category .ir-filter-tab {
  padding: 14px 18px;
  font-size: 13px;
  font-weight: 400;
  color: var(--ir-text-muted);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  cursor: pointer;
  transition: all .15s;
  font-family: 'DM Sans', sans-serif;
  text-decoration: none;
  display: inline-block;
}
body.blog .ir-filter-tab:hover,
body.archive .ir-filter-tab:hover,
body.category .ir-filter-tab:hover { color: var(--ir-text); }
body.blog .ir-filter-tab.active,
body.archive .ir-filter-tab.active,
body.category .ir-filter-tab.active {
  color: var(--ir-navy);
  border-bottom-color: var(--ir-green);
  font-weight: 500;
}

/* ============================================================
   SECTION LABEL
   ============================================================ */
body.blog .ir-section-label,
body.single .ir-section-label,
body.archive .ir-section-label,
body.category .ir-section-label {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ir-text-muted);
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--ir-border);
  margin-bottom: 1.25rem;
  display: block;
}

/* ============================================================
   CATEGORY TAG BADGES
   ============================================================ */
body.blog .ir-cat-tag,
body.single .ir-cat-tag,
body.archive .ir-cat-tag,
body.category .ir-cat-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 2px;
  margin-bottom: 0.6rem;
  text-decoration: none;
}
body.blog .ir-cat-tag--life-at-ir,
body.single .ir-cat-tag--life-at-ir,
body.archive .ir-cat-tag--life-at-ir,
body.category .ir-cat-tag--life-at-ir         { background:var(--cat-life);      color:var(--cat-life-txt);      }
body.blog .ir-cat-tag--industry-news,
body.single .ir-cat-tag--industry-news,
body.archive .ir-cat-tag--industry-news,
body.category .ir-cat-tag--industry-news      { background:var(--cat-industry);  color:var(--cat-industry-txt);  }
body.blog .ir-cat-tag--equipment-specific,
body.single .ir-cat-tag--equipment-specific,
body.archive .ir-cat-tag--equipment-specific,
body.category .ir-cat-tag--equipment-specific { background:var(--cat-equipment); color:var(--cat-equipment-txt); }
body.blog .ir-cat-tag--beyond-news,
body.single .ir-cat-tag--beyond-news,
body.archive .ir-cat-tag--beyond-news,
body.category .ir-cat-tag--beyond-news        { background:var(--cat-beyond);    color:var(--cat-beyond-txt);    }
body.blog .ir-cat-tag--uncategorized,
body.single .ir-cat-tag--uncategorized,
body.archive .ir-cat-tag--uncategorized,
body.category .ir-cat-tag--uncategorized      { background:var(--cat-uncat);     color:var(--cat-uncat-txt);     }
body.blog .ir-cat-tag--default,
body.single .ir-cat-tag--default,
body.archive .ir-cat-tag--default,
body.category .ir-cat-tag--default            { background:var(--ir-tag-blue-bg);color:var(--ir-tag-blue-txt);   }

/* ============================================================
   CONTENT GRID (main + sidebar)
   ============================================================ */
body.blog .ir-content-grid,
body.archive .ir-content-grid,
body.category .ir-content-grid,
body.search .ir-content-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 2.5rem;
  align-items: start;
  padding: 2.5rem 0 3rem;
}
@media (max-width: 900px) {
  body.blog .ir-content-grid,
  body.archive .ir-content-grid,
  body.category .ir-content-grid,
  body.search .ir-content-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   POST CARDS
   ============================================================ */
body.blog .ir-post-list,
body.archive .ir-post-list,
body.category .ir-post-list,
body.search .ir-post-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
body.blog .ir-post-card,
body.archive .ir-post-card,
body.category .ir-post-card,
body.search .ir-post-card {
  background: #fff;
  border: 1px solid var(--ir-border);
  border-radius: var(--ir-radius-md);
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 1.25rem;
  align-items: start;
  transition: border-color .15s, box-shadow .15s, transform .15s;
  text-decoration: none !important;
  color: inherit;
  box-sizing: border-box;
}
body.blog .ir-post-card:hover,
body.archive .ir-post-card:hover,
body.category .ir-post-card:hover,
body.search .ir-post-card:hover {
  border-color: var(--ir-green);
  box-shadow: 0 4px 20px rgba(99,175,5,0.1);
  transform: translateY(-2px);
}
body.blog .ir-post-card-title,
body.archive .ir-post-card-title,
body.category .ir-post-card-title,
body.search .ir-post-card-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 19px;
  font-weight: 600;
  color: var(--ir-text);
  line-height: 1.35;
  margin: 0 0 0.6rem;
}
body.blog .ir-post-card-title a,
body.archive .ir-post-card-title a,
body.category .ir-post-card-title a,
body.search .ir-post-card-title a {
  color: inherit;
  text-decoration: none;
}
body.blog .ir-post-card:hover .ir-post-card-title,
body.archive .ir-post-card:hover .ir-post-card-title,
body.category .ir-post-card:hover .ir-post-card-title { color: var(--ir-navy); }
body.blog .ir-post-card-excerpt,
body.archive .ir-post-card-excerpt,
body.category .ir-post-card-excerpt,
body.search .ir-post-card-excerpt {
  font-size: 14px;
  color: var(--ir-text-muted);
  line-height: 1.65;
  margin-bottom: 1rem;
  font-weight: 300;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.blog .ir-post-card-meta,
body.archive .ir-post-card-meta,
body.category .ir-post-card-meta,
body.search .ir-post-card-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
body.blog .ir-meta-author,
body.archive .ir-meta-author,
body.category .ir-meta-author,
body.search .ir-meta-author { font-size:12px; font-weight:500; color:var(--ir-text); }
body.blog .ir-meta-sep,
body.archive .ir-meta-sep,
body.category .ir-meta-sep,
body.search .ir-meta-sep    { font-size:12px; color:var(--ir-border); }
body.blog .ir-meta-date,
body.archive .ir-meta-date,
body.category .ir-meta-date,
body.search .ir-meta-date   { font-size:12px; color:var(--ir-text-muted); }
body.blog .ir-meta-read,
body.archive .ir-meta-read,
body.category .ir-meta-read,
body.search .ir-meta-read   { font-size:12px; color:var(--ir-text-muted); }

body.blog .ir-post-thumb,
body.archive .ir-post-thumb,
body.category .ir-post-thumb,
body.search .ir-post-thumb {
  width: 150px;
  height: 105px;
  border-radius: var(--ir-radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  background: var(--ir-border);
  display: block;
  text-decoration: none;
}
body.blog .ir-post-thumb img,
body.archive .ir-post-thumb img,
body.category .ir-post-thumb img,
body.search .ir-post-thumb img {
  width:100%; height:100%; object-fit:cover;
  transition: transform .3s;
}
body.blog .ir-post-card:hover .ir-post-thumb img,
body.archive .ir-post-card:hover .ir-post-thumb img,
body.category .ir-post-card:hover .ir-post-thumb img { transform: scale(1.04); }
body.blog .ir-post-thumb-placeholder,
body.archive .ir-post-thumb-placeholder,
body.category .ir-post-thumb-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  color: rgba(1,35,106,0.25);
  background: var(--ir-tag-blue-bg);
}
@media (max-width: 600px) {
  body.blog .ir-post-card,
  body.archive .ir-post-card,
  body.category .ir-post-card { grid-template-columns: 1fr; }
  body.blog .ir-post-thumb,
  body.archive .ir-post-thumb,
  body.category .ir-post-thumb { width:100%; height:180px; order:-1; }
}

/* ============================================================
   TRENDING MINI LIST
   ============================================================ */
body.blog .ir-trending-card {
  background: #fff;
  border: 1px solid var(--ir-border);
  border-radius: var(--ir-radius-md);
  padding: 1.5rem;
  margin-top: 2rem;
}
body.blog .ir-post-mini {
  display: flex;
  gap: 14px;
  padding: .9rem 0;
  border-bottom: 1px solid var(--ir-border);
  align-items: flex-start;
  text-decoration: none !important;
  color: inherit;
  transition: opacity .15s;
}
body.blog .ir-post-mini:last-child { border-bottom:none; padding-bottom:0; }
body.blog .ir-post-mini:hover { opacity:.72; }
body.blog .ir-post-mini-num {
  font-family: 'Playfair Display', serif;
  font-size: 24px; font-weight:600;
  color: var(--ir-border);
  line-height: 1; min-width:28px; flex-shrink:0;
}
body.blog .ir-post-mini-title { font-size:14px; font-weight:500; color:var(--ir-text); line-height:1.4; margin-bottom:4px; }
body.blog .ir-post-mini-meta  { font-size:11px; color:var(--ir-text-muted); }

/* ============================================================
   PAGINATION
   ============================================================ */
body.blog .ir-pagination,
body.archive .ir-pagination,
body.category .ir-pagination,
body.search .ir-pagination {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}
body.blog .ir-pagination .page-numbers,
body.archive .ir-pagination .page-numbers,
body.category .ir-pagination .page-numbers,
body.search .ir-pagination .page-numbers {
  min-width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ir-border);
  border-radius: var(--ir-radius-sm);
  font-size: 13px;
  background: #fff;
  color: var(--ir-text);
  text-decoration: none;
  padding: 0 10px;
  transition: all .15s;
}
body.blog .ir-pagination .page-numbers:hover,
body.archive .ir-pagination .page-numbers:hover,
body.category .ir-pagination .page-numbers:hover,
body.blog .ir-pagination .page-numbers.current,
body.archive .ir-pagination .page-numbers.current,
body.category .ir-pagination .page-numbers.current {
  background: var(--ir-navy);
  color: #fff;
  border-color: var(--ir-navy);
}
body.blog .ir-pagination .page-numbers.dots,
body.archive .ir-pagination .page-numbers.dots,
body.category .ir-pagination .page-numbers.dots {
  border:none; background:none; cursor:default;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
body.blog .ir-sidebar,
body.single .ir-sidebar,
body.archive .ir-sidebar,
body.category .ir-sidebar,
body.search .ir-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
body.blog .ir-sidebar-card,
body.single .ir-sidebar-card,
body.archive .ir-sidebar-card,
body.category .ir-sidebar-card,
body.search .ir-sidebar-card {
  background: #fff;
  border: 1px solid var(--ir-border);
  border-radius: var(--ir-radius-md);
  padding: 1.25rem;
}
body.blog .ir-sidebar-title,
body.single .ir-sidebar-title,
body.archive .ir-sidebar-title,
body.category .ir-sidebar-title,
body.search .ir-sidebar-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ir-text-muted);
  margin-bottom: 1rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--ir-border);
  display: block;
}
body.blog .ir-topic-pills,
body.single .ir-topic-pills,
body.archive .ir-topic-pills,
body.category .ir-topic-pills { display:flex; flex-wrap:wrap; gap:6px; }
body.blog .ir-topic-pill,
body.single .ir-topic-pill,
body.archive .ir-topic-pill,
body.category .ir-topic-pill {
  display: inline-block;
  background: var(--ir-warm-white);
  border: 1px solid var(--ir-border);
  color: var(--ir-text);
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 100px;
  text-decoration: none;
  transition: all .15s;
}
body.blog .ir-topic-pill:hover,
body.single .ir-topic-pill:hover,
body.archive .ir-topic-pill:hover,
body.category .ir-topic-pill:hover {
  background: var(--ir-green-light);
  border-color: var(--ir-green);
  color: var(--ir-green-dark);
}
body.blog .ir-sidebar-recent-post,
body.single .ir-sidebar-recent-post {
  display: flex;
  gap: 10px;
  padding: .75rem 0;
  border-bottom: 1px solid var(--ir-border);
  text-decoration: none !important;
  color: inherit;
  transition: opacity .15s;
  align-items: flex-start;
}
body.blog .ir-sidebar-recent-post:last-child,
body.single .ir-sidebar-recent-post:last-child { border-bottom:none; padding-bottom:0; }
body.blog .ir-sidebar-recent-post:hover,
body.single .ir-sidebar-recent-post:hover { opacity:.72; }
body.blog .ir-sidebar-post-thumb,
body.single .ir-sidebar-post-thumb {
  width:52px; height:40px;
  border-radius: var(--ir-radius-sm);
  overflow:hidden; flex-shrink:0;
  background: var(--ir-tag-blue-bg);
}
body.blog .ir-sidebar-post-thumb img,
body.single .ir-sidebar-post-thumb img { width:100%; height:100%; object-fit:cover; }
body.blog .ir-sidebar-post-title,
body.single .ir-sidebar-post-title { font-size:13px; font-weight:500; line-height:1.4; margin-bottom:3px; }
body.blog .ir-sidebar-post-date,
body.single .ir-sidebar-post-date  { font-size:11px; color:var(--ir-text-muted); }

/* Sidebar CTA dark card */
body.blog .ir-sidebar-cta,
body.single .ir-sidebar-cta,
body.archive .ir-sidebar-cta,
body.category .ir-sidebar-cta {
  background: var(--ir-navy);
  border: 1px solid var(--ir-navy);
  border-radius: var(--ir-radius-md);
  padding: 1.25rem;
}
body.blog .ir-sidebar-cta-title,
body.single .ir-sidebar-cta-title,
body.archive .ir-sidebar-cta-title,
body.category .ir-sidebar-cta-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 16px; font-weight:600;
  color:#fff; margin-bottom:.5rem;
}
body.blog .ir-sidebar-cta-desc,
body.single .ir-sidebar-cta-desc,
body.archive .ir-sidebar-cta-desc,
body.category .ir-sidebar-cta-desc {
  font-size:13px; color:rgba(255,255,255,0.6);
  margin-bottom:1rem; line-height:1.55;
}
body.blog .ir-sidebar-cta-btn,
body.single .ir-sidebar-cta-btn,
body.archive .ir-sidebar-cta-btn,
body.category .ir-sidebar-cta-btn {
  background: var(--ir-green);
  color:#fff; border:none;
  padding:9px 16px; border-radius: var(--ir-radius-sm);
  font-size:13px; font-weight:500;
  font-family:'DM Sans',sans-serif;
  width:100%; display:block; text-align:center;
  text-decoration:none; transition:background .15s;
}
body.blog .ir-sidebar-cta-btn:hover,
body.single .ir-sidebar-cta-btn:hover,
body.archive .ir-sidebar-cta-btn:hover,
body.category .ir-sidebar-cta-btn:hover { background: var(--ir-green-dark); color:#fff; }

/* Newsletter form */
body.blog .ir-newsletter-form,
body.single .ir-newsletter-form { display:flex; flex-direction:column; gap:8px; }
body.blog .ir-newsletter-input,
body.single .ir-newsletter-input {
  width:100%; padding:9px 12px;
  border:1px solid var(--ir-border);
  border-radius: var(--ir-radius-sm);
  font-size:13px; font-family:'DM Sans',sans-serif;
  color:var(--ir-text); background: var(--ir-warm-white);
  outline:none; transition:border-color .15s;
}
body.blog .ir-newsletter-input:focus,
body.single .ir-newsletter-input:focus { border-color: var(--ir-green); }
body.blog .ir-newsletter-btn,
body.single .ir-newsletter-btn {
  background: var(--ir-navy); color:#fff; border:none;
  padding:9px 16px; border-radius: var(--ir-radius-sm);
  font-size:13px; font-weight:500;
  font-family:'DM Sans',sans-serif; width:100%;
  cursor:pointer; transition:background .15s;
}
body.blog .ir-newsletter-btn:hover,
body.single .ir-newsletter-btn:hover { background: var(--ir-navy-mid); }

/* Search form */
body.blog .ir-search-form,
body.search .ir-search-form { display:flex; gap:8px; }
body.blog .ir-search-input,
body.search .ir-search-input {
  flex:1; padding:9px 12px;
  border:1px solid var(--ir-border);
  border-radius: var(--ir-radius-sm);
  font-size:14px; font-family:'DM Sans',sans-serif;
  outline:none; transition:border-color .15s;
}
body.blog .ir-search-input:focus,
body.search .ir-search-input:focus { border-color: var(--ir-green); }
body.blog .ir-search-btn,
body.search .ir-search-btn {
  background: var(--ir-navy); color:#fff; border:none;
  padding:9px 14px; border-radius: var(--ir-radius-sm);
  font-size:14px; cursor:pointer; transition:background .15s;
}
body.blog .ir-search-btn:hover,
body.search .ir-search-btn:hover { background: var(--ir-navy-mid); }

/* ============================================================
   ARCHIVE HEADER (category pages)
   ============================================================ */
body.archive .ir-archive-header,
body.category .ir-archive-header,
body.search .ir-archive-header {
  background: var(--ir-navy);
  padding: 2.5rem 0;
}
body.archive .ir-archive-header h1,
body.category .ir-archive-header h1,
body.search .ir-archive-header h1 {
  font-family: 'Playfair Display', Georgia, serif;
  color: #fff;
  font-size: clamp(20px, 3vw, 32px);
  margin-bottom: .5rem;
}
body.archive .ir-archive-header p,
body.category .ir-archive-header p,
body.search .ir-archive-header p { color:rgba(255,255,255,0.55); font-size:14px; }
body.archive .ir-archive-breadcrumb,
body.category .ir-archive-breadcrumb,
body.search .ir-archive-breadcrumb {
  font-size:12px; color:rgba(255,255,255,0.4); margin-bottom:.75rem;
}
body.archive .ir-archive-breadcrumb a,
body.category .ir-archive-breadcrumb a { color:rgba(255,255,255,0.55); text-decoration:none; }

/* ============================================================
   SINGLE POST
   ============================================================ */
body.single .ir-single-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
  padding: 2.5rem 0 3rem;
}
@media (max-width: 900px) {
  body.single .ir-single-grid { grid-template-columns: 1fr; }
}
body.single .ir-single-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(22px, 4vw, 38px);
  color: var(--ir-navy);
  line-height: 1.2;
  margin: .75rem 0 1rem;
}
body.single .ir-single-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
body.single .ir-single-featured-image {
  border-radius: var(--ir-radius-lg);
  overflow: hidden;
  margin-bottom: 2rem;
  aspect-ratio: 16/7;
}
body.single .ir-single-featured-image img { width:100%; height:100%; object-fit:cover; }
body.single .ir-single-breadcrumb {
  font-size:12px; color: var(--ir-text-muted); margin-bottom:.5rem;
}
body.single .ir-single-breadcrumb a { color: var(--ir-text-muted); text-decoration:none; }
body.single .ir-single-breadcrumb a:hover { color: var(--ir-navy); }

/* Post content typography */
body.single .ir-post-content { max-width:720px; }
body.single .ir-post-content p  { font-size:16px; line-height:1.8; margin-bottom:1.4em; }
body.single .ir-post-content h2 { font-family:'Playfair Display',serif; font-size:26px; margin:2em 0 .75em; color:var(--ir-navy); }
body.single .ir-post-content h3 { font-family:'Playfair Display',serif; font-size:21px; margin:1.75em 0 .65em; color:var(--ir-navy); }
body.single .ir-post-content ul,
body.single .ir-post-content ol  { margin:0 0 1.4em 1.5em; }
body.single .ir-post-content li  { font-size:16px; line-height:1.7; margin-bottom:.4em; }
body.single .ir-post-content blockquote {
  border-left:3px solid var(--ir-green);
  padding:1rem 1.5rem;
  margin:2em 0;
  background: var(--ir-green-light);
  border-radius: 0 var(--ir-radius-sm) var(--ir-radius-sm) 0;
}
body.single .ir-post-content blockquote p { font-style:italic; font-size:17px; color:var(--ir-navy); }
body.single .ir-post-content a { color:var(--ir-navy); text-decoration:underline; text-decoration-color:var(--ir-green); }
body.single .ir-post-content a:hover { color:var(--ir-green-dark); }
body.single .ir-post-content img { border-radius: var(--ir-radius-md); margin:1.5em 0; max-width:100%; }

/* Author bio */
body.single .ir-author-bio {
  background: var(--ir-warm-white);
  border:1px solid var(--ir-border);
  border-radius: var(--ir-radius-md);
  padding:1.5rem; margin:2.5rem 0;
  display:flex; gap:1rem; align-items:flex-start;
}
body.single .ir-author-bio-avatar {
  width:60px; height:60px; border-radius:50%;
  background:var(--ir-green); flex-shrink:0; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; font-weight:600; color:#fff;
}
body.single .ir-author-bio-avatar img { width:100%; height:100%; object-fit:cover; }
body.single .ir-author-bio-name { font-size:15px; font-weight:600; margin-bottom:3px; }
body.single .ir-author-bio-role { font-size:11px; color:var(--ir-text-muted); text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; }
body.single .ir-author-bio-desc { font-size:13px; color:var(--ir-text-muted); line-height:1.6; margin:0; }

/* Related posts */
body.single .ir-related-posts { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--ir-border); }
body.single .ir-related-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px,1fr));
  gap:1.25rem; margin-top:1.25rem;
}
body.single .ir-related-card {
  background:#fff; border:1px solid var(--ir-border);
  border-radius: var(--ir-radius-md); overflow:hidden;
  text-decoration:none !important; color:inherit;
  transition:border-color .15s, transform .15s;
}
body.single .ir-related-card:hover { border-color:var(--ir-green); transform:translateY(-2px); }
body.single .ir-related-thumb { aspect-ratio:16/9; background:var(--ir-tag-blue-bg); overflow:hidden; }
body.single .ir-related-thumb img { width:100%; height:100%; object-fit:cover; }
body.single .ir-related-body { padding:1rem; }
body.single .ir-related-title { font-size:14px; font-weight:600; font-family:'Playfair Display',serif; line-height:1.4; margin-bottom:.4rem; }
body.single .ir-related-meta  { font-size:12px; color:var(--ir-text-muted); }

/* Post nav */
body.single .ir-post-nav {
  margin-top:2.5rem; padding-top:1.5rem;
  border-top:1px solid var(--ir-border);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
body.single .ir-post-nav a { font-size:14px; color:var(--ir-navy); text-decoration:none; max-width:45%; }
body.single .ir-post-nav a:hover { color:var(--ir-green-dark); }
body.single .ir-post-nav-label { display:block; font-size:11px; color:var(--ir-text-muted); margin-bottom:4px; text-transform:uppercase; letter-spacing:.06em; }

/* No posts */
body.blog .ir-no-posts,
body.archive .ir-no-posts,
body.search .ir-no-posts {
  text-align:center; padding:4rem 2rem; color:var(--ir-text-muted);
}
body.blog .ir-no-posts h2,
body.archive .ir-no-posts h2,
body.search .ir-no-posts h2 { font-size:22px; margin-bottom:.75rem; color:var(--ir-text); }

/* Utility buttons */
body.blog .ir-btn-primary,
body.single .ir-btn-primary,
body.archive .ir-btn-primary,
body.category .ir-btn-primary,
body.search .ir-btn-primary {
  background:var(--ir-green); color:#fff; border:none;
  padding:10px 22px; border-radius:var(--ir-radius-sm);
  font-size:14px; font-weight:500;
  font-family:'DM Sans',sans-serif;
  display:inline-block; text-decoration:none;
  transition:background .15s; cursor:pointer;
}
body.blog .ir-btn-primary:hover,
body.single .ir-btn-primary:hover,
body.archive .ir-btn-primary:hover,
body.category .ir-btn-primary:hover,
body.search .ir-btn-primary:hover { background:var(--ir-green-dark); color:#fff; }
body.blog .ir-btn-secondary,
body.single .ir-btn-secondary,
body.archive .ir-btn-secondary {
  background:transparent; color:var(--ir-navy);
  border:1px solid var(--ir-navy);
  padding:10px 22px; border-radius:var(--ir-radius-sm);
  font-size:14px; font-weight:500;
  font-family:'DM Sans',sans-serif;
  display:inline-block; text-decoration:none;
  transition:all .15s; cursor:pointer;
}
body.blog .ir-btn-secondary:hover,
body.single .ir-btn-secondary:hover,
body.archive .ir-btn-secondary:hover {
  background:var(--ir-navy); color:#fff;
}
