/* Extracted from single.php so it is cached once instead of being re-sent
   inside the HTML on every page view. Enqueued by
   lumoria_enqueue_template_styles() in functions.php. */

    #lumPostSec, #lumPostSec * { box-sizing: border-box; }
    #lumPostSec {
      --lum-gold: #44BDA1;
      --lum-gold-dark: #04272F;
      --lum-ink: #1D1235;
      --lum-sub: var(--text-muted);
      --lum-divider: rgba(29,18,53,.05);
      --lum-radius: 20px;
      font-family: var(--font-primary);
      max-width: 1500px;
      margin: 0 auto;
      padding: 40px 24px 64px;
    }
    #lumPostSec .lum-post-grid {
      display: grid;
      grid-template-columns: 1.85fr 1fr;
      gap: 48px;
      align-items: start;
    }
    #lumPostSec .lum-post-hero {
      position: relative;
      border-radius: var(--lum-radius);
      overflow: hidden;
      margin-bottom: 26px;
    }
    #lumPostSec .lum-post-hero img {
      width: 100%;
      height: auto;
      aspect-ratio: 16/10;
      object-fit: cover;
      display: block;
    }
    #lumPostSec .lum-post-hero-cat {
      position: absolute;
      inset-inline-end: 20px;
      bottom: 20px;
      background: #ffffff;
      color: var(--lum-ink);
      font-size: 14.5px;
      font-weight: 600;
      padding: 9px 20px;
      border-radius: 999px;
      box-shadow: 0 8px 18px rgba(0,0,0,0.15);
    }
    #lumPostSec .lum-post-meta {
      display: flex;
      align-items: center;
      gap: 24px;
      margin-bottom: 18px;
    }
    #lumPostSec .lum-post-meta-item {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      color: var(--lum-ink);
  font-weight: var(--fw-medium);
}
    #lumPostSec .lum-post-meta-item svg {
      width: 17px; height: 17px;
      fill: var(--lum-gold);
    }
    #lumPostSec .lum-post-h1 {
      font-family: var(--font-primary);
      font-weight: var(--fw-heading);
      font-size: var(--text-h1);
      color: var(--lum-ink);
      margin: 0 0 22px;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-h1);
}
    #lumPostSec .lum-post-h2 {
      font-family: var(--font-primary);
      font-weight: var(--fw-heading);
      font-size: var(--text-h2);
      color: var(--lum-ink);
      margin: 0 0 20px;
  line-height: 1.15;
  letter-spacing: var(--ls-h2);
}
    #lumPostSec .lum-post-p {
      font-size: 15.5px;
      line-height: 1.75;
      color: var(--lum-sub);
      margin: 0 0 22px;
    }
    #lumPostSec .lum-post-content p {
      font-size: 17px;
      line-height: 1.8;
      color: var(--lum-sub);
      margin: 0 0 22px;
    }
    #lumPostSec .lum-post-content h2,
    #lumPostSec .lum-post-content h3 {
      font-family: var(--font-primary);
      font-weight: var(--fw-heading);
      color: var(--lum-ink);
      margin: 28px 0 16px;
  font-size: var(--text-h4);
  line-height: var(--lh-snug);
}
    #lumPostSec .lum-post-content h2 { font-size: var(--text-h3); font-weight: var(--fw-heading); line-height: var(--lh-heading);}
    #lumPostSec .lum-post-content h3 { font-size: var(--text-h4); font-weight: var(--fw-heading); line-height: var(--lh-snug); }
    #lumPostSec .lum-post-content blockquote {
      border-inline-start: 4px solid var(--lum-gold);
      padding: 16px 24px;
      margin: 8px 0 22px;
      background: rgba(68,189,161,0.05);
      border-radius: 0 12px 12px 0;
    }
    #lumPostSec .lum-post-content blockquote p {
      font-size: 17px;
      line-height: var(--lh-relaxed);
      color: var(--lum-ink);
      margin: 0;
    }
    #lumPostSec .lum-post-content img {
      border-radius: var(--lum-radius);
      max-width: 100%;
      height: auto;
      margin: 16px 0;
    }
    #lumPostSec .lum-post-quote {
      display: flex;
      gap: 20px;
      align-items: flex-start;
      margin: 8px 0 26px;
    }
    #lumPostSec .lum-post-quote-icon {
      flex-shrink: 0;
      width: 34px;
      height: 34px;
      color: var(--lum-gold);
    }
    #lumPostSec .lum-post-quote-icon svg { width: 100%; height: 100%; fill: currentColor; }
    #lumPostSec .lum-post-quote p {
      font-size: 17px;
      line-height: var(--lh-relaxed);
      color: var(--lum-ink);
      margin: 0;
    }
    #lumPostSec .lum-post-block { margin-bottom: 36px; }
    #lumPostSec .lum-post-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 32px;
      align-items: center;
      margin-top: 24px;
    }
    #lumPostSec .lum-post-checklist {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    #lumPostSec .lum-post-checklist li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 15.5px;
      color: var(--lum-ink);
      line-height: 1.5;
    }
    #lumPostSec .lum-post-check {
      width: 21px; height: 21px;
      border-radius: 50%;
      background: var(--lum-gold);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      margin-top: 1px;
    }
    #lumPostSec .lum-post-check svg { width: 11px; height: 11px; stroke: #fff; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
    #lumPostSec .lum-post-split-img {
      border-radius: var(--lum-radius);
      overflow: hidden;
    }
    #lumPostSec .lum-post-split-img img {
      width: 100%;
      height: 100%;
      aspect-ratio: 4/3.4;
      object-fit: cover;
      display: block;
    }
    #lumPostSec .lum-post-sidebar { display: flex; flex-direction: column; gap: 24px; }
    #lumPostSec .lum-side-card {
      background: #ffffff;
      border-radius: var(--lum-radius);
      padding: 28px;
      box-shadow: 0 20px 45px rgba(29,18,53,0.05);
    }
    #lumPostSec .lum-side-search { position: relative; }
    #lumPostSec .lum-side-search input {
      width: 100%;
      font-family: var(--font-primary);
      font-size: 15px;
      color: var(--lum-ink);
      background: #fff;
      border: 1px solid var(--lum-divider);
      border-radius: 999px;
      padding: 15px 54px 15px 22px;
      outline: none;
      transition: border-color 0.2s ease;
    }
    #lumPostSec .lum-side-search input:focus { border-color: var(--lum-gold); }
    #lumPostSec .lum-side-search input::placeholder { color: rgba(4,39,47,.55); }
    #lumPostSec .lum-side-search button {
      position: absolute;
      inset-inline-end: 6px;
      top: 50%;
      transform: translateY(-50%);
      width: 40px;
      height: 40px;
      border-radius: 50%;
      border: none;
      background: var(--lum-ink);
      cursor: pointer;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s ease;
    }
    #lumPostSec .lum-side-search button:hover { background: var(--lum-gold); }
    #lumPostSec .lum-side-search button svg {
      width: 16px; height: 16px;
      stroke: #fff;
      stroke-width: 2.2;
      fill: none;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    #lumPostSec .lum-side-title {
      font-family: var(--font-primary);
      font-weight: var(--fw-semibold);
      font-size: var(--text-xl);
      color: var(--lum-ink);
      margin: 0 0 22px;
  line-height: var(--lh-snug);
}
    #lumPostSec .lum-feature-item {
      display: flex;
      gap: 14px;
      margin-bottom: 20px;
    }
    #lumPostSec .lum-feature-item:last-child { margin-bottom: 0; }
    #lumPostSec .lum-feature-thumb {
      width: 66px;
      height: 66px;
      border-radius: 12px;
      overflow: hidden;
      flex-shrink: 0;
    }
    #lumPostSec .lum-feature-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
    #lumPostSec .lum-feature-date {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 12.5px;
      color: var(--lum-sub);
      margin-bottom: 6px;
    }
    #lumPostSec .lum-feature-date svg { width: 14px; height: 14px; fill: var(--lum-gold); }
    #lumPostSec .lum-feature-title {
      font-family: var(--font-primary);
      font-weight: var(--fw-semibold);
      font-size: var(--text-lg);
      line-height: var(--lh-snug);
      color: var(--lum-ink);
      margin: 0;
      text-decoration: none;
      display: block;
    }
    #lumPostSec .lum-cat-list { list-style: none; margin: 0; padding: 0; }
    #lumPostSec .lum-cat-list li {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 15px 0;
      border-bottom: 1px solid var(--lum-divider);
      font-size: 15px;
      color: var(--lum-ink);
      font-weight: 500;
    }
    #lumPostSec .lum-cat-list li:first-child { padding-top: 0; }
    #lumPostSec .lum-cat-list li:last-child { border-bottom: none; padding-bottom: 0; }
    #lumPostSec .lum-cat-list li a {
      color: inherit;
      text-decoration: none;
      transition: color 0.2s ease;
    }
    #lumPostSec .lum-cat-list li a:hover { color: var(--lum-gold); }
    #lumPostSec .lum-cat-count { color: var(--lum-sub); font-weight: 500; }
    @media (max-width: 1024px) {
      #lumPostSec .lum-post-grid { grid-template-columns: 1fr; }
      #lumPostSec .lum-post-sidebar { flex-direction: row; flex-wrap: wrap; }
      #lumPostSec .lum-side-card { flex: 1 1 260px; }
    }
    @media (max-width: 640px) {
      #lumPostSec { padding: 28px 16px 48px; }
      #lumPostSec .lum-post-split { grid-template-columns: 1fr; }
      #lumPostSec .lum-post-sidebar { flex-direction: column; }
      #lumPostSec .lum-post-hero-cat { font-size: 13px; padding: 7px 14px; inset-inline-end: 14px; bottom: 14px; }
    }
  
