/*
Theme Name: Lifestyle Media Group Blog
Theme URI: https://www.lifestylemediagroup.co.uk/
Description: Custom blog theme for Lifestyle Media Group, matched to the main lifestylemediagroup.co.uk (v2) site — shared navbar, footer, Rubik typography and navy/blue palette, with blog-appropriate content styling. Self-contained classic theme (no parent dependency).
Author: Lifestyle Media Group
Version: 1.0
Requires at least: 5.0
Requires PHP: 7.0
License: GPL-2.0-or-later
Text Domain: lmg-blog
*/

/* The shared v2 stylesheet (loaded before this) supplies the variables, navbar,
   footer, buttons, .page-hero, .section-pad, etc. This file layers blog content on top. */

body { background: var(--lmg-white); }

/* ---- Blog hero tweak (slightly shorter than the marketing page-hero) ---- */
.page-hero { padding: 7rem 0 3rem; }
.page-hero .lead { margin-bottom: 0; }
.single-meta { color: rgba(255,255,255,0.82); font-size: 0.88rem; margin-bottom: 0; }

/* ---- Post listing cards ---- */
.post-card {
  background: #fff;
  border: 1px solid rgba(30,45,90,0.08);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow);
  transition: transform var(--transition), box-shadow var(--transition);
}
.post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.post-card-thumb { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--lmg-grey-bg); display: block; }
.post-card-body { padding: 1.5rem; display: flex; flex-direction: column; flex-grow: 1; }
.post-card-body h2 { font-size: 1.2rem; line-height: 1.3; margin: 0 0 0.5rem; }
.post-card-body h2 a { color: var(--lmg-navy); }
.post-card-body h2 a:hover { color: var(--lmg-blue); }
.post-meta { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--lmg-muted); margin-bottom: 0.6rem; }
.post-excerpt { color: var(--lmg-muted); font-size: 0.92rem; line-height: 1.65; flex-grow: 1; margin-bottom: 0; }
.post-card .card-link { margin-top: 1rem; font-weight: 600; color: var(--lmg-blue); display: inline-flex; align-items: center; gap: 4px; }
.post-card .card-link:hover { gap: 8px; }

/* ---- Single post / page content ---- */
.entry-featured { width: 100%; border-radius: 14px; margin-bottom: 2rem; box-shadow: var(--shadow-lg); }
.entry-content { color: var(--lmg-text); font-size: 1.05rem; line-height: 1.8; }
.entry-content > * { margin-bottom: 1.2rem; }
.entry-content p { color: var(--lmg-text); }
.entry-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 2.25rem 0 1rem; }
.entry-content h3 { font-size: 1.4rem; margin: 1.9rem 0 0.75rem; }
.entry-content h4 { font-size: 1.15rem; margin: 1.6rem 0 0.6rem; }
.entry-content a { color: var(--lmg-blue); text-decoration: underline; }
.entry-content a:hover { color: var(--lmg-navy); }
.entry-content img { max-width: 100%; height: auto; border-radius: 10px; }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; color: var(--lmg-text); }
.entry-content li { margin-bottom: 0.45rem; }
.entry-content blockquote {
  border-left: 4px solid var(--lmg-blue);
  background: var(--lmg-grey-bg);
  padding: 1rem 1.5rem;
  margin: 1.75rem 0;
  border-radius: 0 10px 10px 0;
  font-style: italic;
  color: var(--lmg-navy);
}
.entry-content figure { margin: 1.75rem 0; }
.entry-content figcaption { font-size: 0.85rem; color: var(--lmg-muted); margin-top: 0.4rem; text-align: center; }
.entry-content pre { background: var(--lmg-dark); color: #f4f6fb; padding: 1rem 1.25rem; border-radius: 10px; overflow: auto; font-size: 0.9rem; }
.entry-content code { background: var(--lmg-grey-bg); padding: 0.15rem 0.4rem; border-radius: 4px; font-size: 0.9em; }
.entry-content table { width: 100%; border-collapse: collapse; margin-bottom: 1.2rem; }
.entry-content th, .entry-content td { border: 1px solid rgba(30,45,90,0.12); padding: 0.6rem 0.85rem; }

/* ---- Pagination ---- */
.lmg-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; align-items: center; }
.lmg-pagination .page-numbers {
  display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center;
  padding: 0 0.6rem; border: 1px solid rgba(30,45,90,0.15); border-radius: 8px;
  color: var(--lmg-navy); font-weight: 600; text-decoration: none; transition: all var(--transition);
}
.lmg-pagination .page-numbers.current { background: var(--lmg-blue); color: #fff; border-color: var(--lmg-blue); }
.lmg-pagination .page-numbers:hover { background: var(--lmg-grey-bg); }

/* ---- Post navigation (prev/next) ---- */
.post-nav a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--lmg-blue); }

/* ---- Comments ---- */
.comment-list { list-style: none; padding: 0; margin: 1.5rem 0; }
.comment-list .comment-body { background: #fff; border: 1px solid rgba(30,45,90,0.08); border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: 1rem; }
.comment-author { font-weight: 700; color: var(--lmg-navy); font-size: 0.9rem; }
.comment-metadata { font-size: 0.78rem; color: var(--lmg-muted); }
.comment-respond { background: var(--lmg-grey-bg); border-radius: 12px; padding: 1.5rem; margin-top: 2rem; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea {
  width: 100%; border: 1px solid rgba(30,45,90,0.18); border-radius: 8px; padding: 0.65rem 1rem; margin-bottom: 1rem; font-size: 0.95rem;
}

/* ---- WP core alignment / caption classes ---- */
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0.5rem 1.5rem 1rem 0; }
.alignright { float: right; margin: 0.5rem 0 1rem 1.5rem; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 0.85rem; color: var(--lmg-muted); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }
.sticky, .gallery-caption, .bypostauthor { }
