/*
Theme Name:  Athens Child
Template:    athens
Version:     1.0.0
Description: Child theme for Athens — AKA Legal India premium blog design
Author:      AKA Legal India
*/

/* ====================================================
   AKA LEGAL INDIA — BLOG TEMPLATE
   Child theme of Athens by Ovatheme
   All classes prefixed blg- to avoid conflicts
   ==================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Jost:wght@300;400;500;600&display=swap');

/* ====================================================
   ALWAYS SHOW THE SITE HEADER / LOGO ON EVERY PAGE
   These rules ensure nothing we write ever hides the nav.
   ==================================================== */
body.blog        header,
body.archive     header,
body.single-post header,
body.blog        .site-header,
body.archive     .site-header,
body.single-post .site-header,
body.blog        #masthead,
body.archive     #masthead,
body.single-post #masthead,
body.blog        .header-wrap,
body.archive     .header-wrap,
body.single-post .header-wrap,
body.blog        #header,
body.archive     #header,
body.single-post #header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ====================================================
   HIDE ONLY the gray page-title / breadcrumb bar
   that Athens outputs BELOW the nav on archive pages.
   We exclude <header>, .site-header, #masthead so the
   logo and nav are NEVER touched.
   ==================================================== */
body.blog        .page-header:not(header):not(.site-header):not(#masthead),
body.archive     .page-header:not(header):not(.site-header):not(#masthead),
body.single-post .page-header:not(header):not(.site-header):not(#masthead),
body.blog        .ova_breadcrumbs,
body.archive     .ova_breadcrumbs,
body.single-post .ova_breadcrumbs,
body.blog        .ova-page-header,
body.archive     .ova-page-header,
body.single-post .ova-page-header,
body.blog        #page-header,
body.archive     #page-header,
body.single-post #page-header {
  display: none !important;
}

/* Remove any top padding Athens adds to the content area below the nav */
body.blog        #content,
body.archive     #content,
body.single-post #content,
body.blog        .site-content,
body.archive     .site-content,
body.single-post .site-content,
body.blog        main,
body.archive     main,
body.single-post main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

:root {
  --blg-navy:      #02261D;
  --blg-navy-deep: #011810;
  --blg-navy-mid:  #04352A;
  --blg-gold:      #b8972a;
  --blg-gold-lt:   #d4af4a;
  --blg-gold-pale: #f0e4b8;
  --blg-cream:     #f9f6f0;
  --blg-cream-dk:  #f0ebe1;
  --blg-gray:      #6b7280;
  --blg-text:      #1a1a1a;
  --blg-serif:     'Cormorant Garamond', Georgia, serif;
  --blg-sans:      'Jost', system-ui, sans-serif;
  --blg-ease:      cubic-bezier(.16,1,.3,1);
}

/* Smooth scrolling for whole site */
html { scroll-behavior: smooth; }

/* ====================================================
   LOGO SIZE — global constraint, applies on every page.
   Prevents the logo from ever going full-screen.
   ==================================================== */
img.custom-logo,
a.custom-logo-link img,
.custom-logo-link > img,
.site-branding img.custom-logo,
header img.custom-logo,
#masthead img {
  max-height: 60px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* ---- RESET & BASE ---- */
.blg-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
.blg-wrap { font-family: var(--blg-sans); color: var(--blg-text); background: #fff; overflow-x: hidden; }
.blg-wrap img { display: block; max-width: 100%; }
.blg-wrap a { text-decoration: none; color: inherit; }

/* ---- FULL-BLEED ---- */
.blg-bleed {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
}

/* ---- SECTION LABEL ---- */
.blg-section-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--blg-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--blg-gold);
  margin-bottom: 14px;
}
.blg-section-label::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 1px;
  background: var(--blg-gold);
}

/* ---- BUTTONS ---- */
.blg-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 30px;
  font-family: var(--blg-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all .3s var(--blg-ease);
  text-decoration: none;
}
.blg-btn-gold { background: var(--blg-gold) !important; color: #ffffff !important; }
.blg-btn-gold:hover { background: var(--blg-gold-lt) !important; color: #ffffff !important; transform: translateY(-2px); }
.blg-btn-outline { background: transparent !important; color: #ffffff !important; border: 1px solid rgba(255,255,255,.7) !important; }
.blg-btn-outline:hover { background: rgba(255,255,255,.12) !important; color: #ffffff !important; }
.blg-wrap a.blg-btn,
.blg-wrap a.blg-btn-gold,
.blg-wrap a.blg-btn-outline { color: #ffffff !important; }

/* ============================================================
   1. PAGE HEADER BANNER
   ============================================================ */
.blg-header {
  position: relative;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background: var(--blg-navy-deep);
}
.blg-header-bg { position: absolute; inset: 0; z-index: 0; }
.blg-header-bg img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 40%;
  transform: scale(1.04);
  animation: blgHeroScale 8s ease forwards;
  opacity: .45;
}
@keyframes blgHeroScale { to { transform: scale(1); } }

.blg-header-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(135deg, rgba(1,24,16,.98) 0%, rgba(1,24,16,.75) 50%, rgba(1,24,16,.88) 100%),
    linear-gradient(to top, rgba(1,24,16,.99) 0%, transparent 60%);
}
.blg-header-grid {
  position: absolute; inset: 0; z-index: 1;
  background-image:
    linear-gradient(rgba(184,151,42,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,151,42,.06) 1px, transparent 1px);
  background-size: 60px 60px;
}
.blg-header-content {
  position: relative; z-index: 2;
  padding: 0 6vw 64px;
  max-width: 1300px; margin: 0 auto; width: 100%;
}
.blg-header-breadcrumb {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.4); margin-bottom: 20px;
  animation: blgFadeUp .6s ease both;
}
.blg-header-breadcrumb a { color: rgba(255,255,255,.4); transition: color .3s ease; }
.blg-header-breadcrumb a:hover { color: var(--blg-gold-lt); }
.blg-header-breadcrumb span { color: var(--blg-gold-lt); }

.blg-header-badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(184,151,42,.12); border: 1px solid rgba(184,151,42,.35);
  padding: 6px 14px; margin-bottom: 22px;
  animation: blgFadeUp .7s ease both; animation-delay: .05s;
}
.blg-header-badge span {
  font-family: var(--blg-sans); font-size: 10px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--blg-gold-lt);
}
.blg-header-badge-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--blg-gold); animation: blgPulse 2s ease infinite;
}
@keyframes blgPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.5; transform:scale(.7); }
}
.blg-header h1 {
  font-family: var(--blg-serif);
  font-size: clamp(40px, 5.5vw, 76px);
  font-weight: 400; line-height: 1.06; color: #fff; margin-bottom: 16px;
  animation: blgFadeUp .9s ease both; animation-delay: .15s;
}
.blg-header h1 em { font-style: italic; color: var(--blg-gold-lt); }
.blg-header-sub {
  font-family: var(--blg-sans); font-size: 14px; font-weight: 300;
  color: rgba(255,255,255,.6); max-width: 460px; line-height: 1.75;
  animation: blgFadeUp .9s ease both; animation-delay: .25s;
}
@keyframes blgFadeUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
.blg-header-bar {
  position: relative; z-index: 3; height: 4px;
  background: linear-gradient(to right, var(--blg-gold), var(--blg-gold-lt), var(--blg-gold));
}

/* ============================================================
   2. FILTER BAR
   ============================================================ */
.blg-filter {
  background: #fff;
  border-bottom: 1px solid rgba(2,38,29,.08);
  position: sticky; top: 0; z-index: 50;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.blg-filter-inner {
  max-width: 1300px; margin: 0 auto; padding: 0 6vw;
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
}
.blg-filter-cats {
  display: flex; gap: 4px;
  overflow-x: auto; scrollbar-width: none; padding: 16px 0;
}
.blg-filter-cats::-webkit-scrollbar { display: none; }
.blg-filter-btn {
  flex-shrink: 0; padding: 7px 18px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  background: transparent; border: 1px solid rgba(2,38,29,.15);
  color: var(--blg-gray); cursor: pointer;
  transition: all .3s var(--blg-ease); white-space: nowrap;
  text-decoration: none; display: inline-block;
}
.blg-wrap a.blg-filter-btn { color: var(--blg-gray) !important; }
.blg-filter-btn:hover,
.blg-filter-btn.active {
  background: var(--blg-navy); border-color: var(--blg-navy); color: #fff;
}
.blg-wrap a.blg-filter-btn:hover,
.blg-wrap a.blg-filter-btn.active { color: #fff !important; }
.blg-filter-count {
  font-family: var(--blg-sans); font-size: 12px; font-weight: 400;
  color: var(--blg-gray); white-space: nowrap; padding: 16px 0;
}
.blg-filter-count strong { font-weight: 600; color: var(--blg-navy); }

/* ============================================================
   3. FEATURED POST
   ============================================================ */
.blg-featured-section { padding: 72px 6vw 0; background: #fff; }
.blg-featured-inner { max-width: 1300px; margin: 0 auto; }
.blg-featured-card {
  display: grid; grid-template-columns: 1.1fr 1fr;
  background: var(--blg-navy); overflow: hidden;
  transition: box-shadow .4s var(--blg-ease); cursor: pointer;
}
.blg-featured-card:hover { box-shadow: 0 32px 80px rgba(0,0,0,.18); }

.blg-featured-img { position: relative; overflow: hidden; min-height: 480px; }
.blg-featured-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s var(--blg-ease); display: block;
}
.blg-featured-card:hover .blg-featured-img img { transform: scale(1.06); }
.blg-featured-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to right, transparent 60%, var(--blg-navy) 100%);
}
.blg-featured-img::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--blg-gold); transform: scaleX(0); transform-origin: left;
  transition: transform .5s var(--blg-ease); z-index: 2;
}
.blg-featured-card:hover .blg-featured-img::before { transform: scaleX(1); }

.blg-featured-body {
  padding: 52px 48px;
  display: flex; flex-direction: column; justify-content: center;
}
.blg-featured-tag {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(184,151,42,.15); border: 1px solid rgba(184,151,42,.35);
  padding: 5px 14px; font-family: var(--blg-sans);
  font-size: 10px; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--blg-gold-lt);
  margin-bottom: 24px; width: fit-content;
}
.blg-featured-tag-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--blg-gold); }
.blg-featured-body h2 {
  font-family: var(--blg-serif);
  font-size: clamp(26px, 2.8vw, 40px);
  font-weight: 400; color: #fff; line-height: 1.2; margin-bottom: 18px;
  transition: color .3s ease;
}
.blg-wrap a.blg-featured-card:hover .blg-featured-body h2 { color: var(--blg-gold-lt); }
.blg-featured-body p {
  font-family: var(--blg-sans); font-size: 14px; font-weight: 300;
  color: rgba(255,255,255,.62); line-height: 1.8; margin-bottom: 32px;
}
.blg-featured-meta {
  display: flex; align-items: center; gap: 20px;
  margin-bottom: 28px; padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.blg-featured-meta-item {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 400;
  color: rgba(255,255,255,.45);
}
.blg-featured-meta-item svg {
  stroke: rgba(255,255,255,.35); fill: none;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.blg-featured-link {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--blg-gold-lt) !important; transition: gap .3s ease;
}
.blg-wrap a.blg-featured-card:hover .blg-featured-link { gap: 16px; }
.blg-featured-link-arrow {
  width: 32px; height: 1px; background: var(--blg-gold);
  position: relative; transition: width .3s var(--blg-ease);
}
.blg-featured-link-arrow::after {
  content: ''; position: absolute; right: 0; top: -3px;
  width: 7px; height: 7px;
  border-right: 1px solid var(--blg-gold); border-top: 1px solid var(--blg-gold);
  transform: rotate(45deg);
}
.blg-wrap a.blg-featured-card:hover .blg-featured-link-arrow { width: 48px; }

/* ============================================================
   4. BLOG GRID
   ============================================================ */
.blg-grid-section { padding: 72px 6vw 100px; background: #fff; }
.blg-grid-inner { max-width: 1300px; margin: 0 auto; }
.blg-grid-head {
  display: flex; align-items: flex-end;
  justify-content: space-between; margin-bottom: 40px; gap: 24px;
}
.blg-grid-head-left h2 {
  font-family: var(--blg-serif);
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 400; color: var(--blg-navy); line-height: 1.15;
}
.blg-grid-head-left h2 em { font-style: italic; }
.blg-grid-head-right {
  font-family: var(--blg-sans); font-size: 13px; font-weight: 300; color: var(--blg-gray);
}
.blg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

/* POST CARD */
.blg-card {
  background: #fff;
  border: 1px solid rgba(2,38,29,.09);
  border-top: 3px solid transparent;
  overflow: hidden;
  transition: transform .4s var(--blg-ease), box-shadow .4s var(--blg-ease), border-top-color .35s ease;
  display: flex; flex-direction: column; cursor: pointer;
}
.blg-wrap a.blg-card { color: var(--blg-text) !important; }
.blg-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 20px 52px rgba(0,0,0,.11);
  border-top-color: var(--blg-gold);
}
.blg-card-img { height: 240px; overflow: hidden; position: relative; flex-shrink: 0; }
.blg-card-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .7s var(--blg-ease); display: block;
}
.blg-card:hover .blg-card-img img { transform: scale(1.06); }
.blg-card-cat {
  position: absolute; top: 14px; left: 14px;
  background: rgba(2,38,29,.82); backdrop-filter: blur(4px);
  padding: 5px 12px;
  font-family: var(--blg-sans); font-size: 9px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--blg-gold-lt); z-index: 2;
}
.blg-card-body { padding: 26px 28px 28px; display: flex; flex-direction: column; flex: 1; }
.blg-card-body h3 {
  font-family: var(--blg-serif); font-size: 21px; font-weight: 500;
  color: var(--blg-navy); line-height: 1.28; margin-bottom: 12px;
  transition: color .3s ease;
}
.blg-card:hover .blg-card-body h3 { color: var(--blg-gold); }
.blg-card-body p {
  font-family: var(--blg-sans); font-size: 14px; font-weight: 400;
  color: #4B5563; line-height: 1.72; flex: 1; margin-bottom: 20px;
}
.blg-card-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 16px; border-top: 1px solid rgba(2,38,29,.09);
}
.blg-card-date {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 400; color: var(--blg-gray);
}
.blg-card-date svg { stroke: var(--blg-gray); fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.blg-card-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--blg-sans); font-size: 9px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--blg-gold) !important;
  padding: 6px 13px; border: 1px solid var(--blg-gold);
  transition: all .3s ease;
}
.blg-wrap a.blg-card .blg-card-link { color: var(--blg-gold) !important; }
.blg-card:hover .blg-card-link {
  background: var(--blg-gold); color: #fff !important;
}

/* Fallback for posts without images — premium AKA monogram */
.blg-card-img-fallback {
  width: 100%; height: 100%;
  background: linear-gradient(150deg, var(--blg-navy-deep) 0%, var(--blg-navy-mid) 100%);
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.blg-card-img-fallback::before {
  content: 'AKA';
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--blg-serif);
  font-size: 90px; font-weight: 400; letter-spacing: 4px;
  color: rgba(184,151,42,.1);
  pointer-events: none; user-select: none;
  white-space: nowrap;
}
.blg-card-img-fallback::after {
  content: ''; position: absolute;
  bottom: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(to right, var(--blg-gold), var(--blg-gold-lt), var(--blg-gold));
}
.blg-card-img-fallback-inner {
  text-align: center; position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
.blg-card-img-fallback-inner svg { display: none; }
.blg-card-img-fallback-inner span {
  font-family: var(--blg-sans); font-size: 9px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--blg-gold-lt); opacity: .7;
}

/* ============================================================
   5. PAGINATION
   ============================================================ */
.blg-pagination-wrap {
  margin-top: 64px; display: flex; align-items: center;
  justify-content: center; gap: 6px; flex-wrap: wrap;
}
.blg-pagination-wrap .page-numbers {
  width: 44px; height: 44px; display: inline-flex;
  align-items: center; justify-content: center;
  font-family: var(--blg-sans); font-size: 13px; font-weight: 500;
  border: 1px solid rgba(2,38,29,.15); background: transparent;
  color: var(--blg-navy) !important; cursor: pointer;
  transition: all .3s var(--blg-ease); text-decoration: none;
}
.blg-pagination-wrap .page-numbers:hover {
  background: var(--blg-navy); border-color: var(--blg-navy); color: #fff !important;
}
.blg-pagination-wrap .page-numbers.current {
  background: var(--blg-gold); border-color: var(--blg-gold); color: #fff !important;
}
.blg-pagination-wrap .page-numbers.dots {
  border: none; background: none; color: var(--blg-gray) !important; width: auto;
}
.blg-pagination-wrap .page-numbers.prev,
.blg-pagination-wrap .page-numbers.next { font-size: 18px; }

/* ============================================================
   6. CTA STRIP
   ============================================================ */
.blg-cta {
  background: var(--blg-navy) !important;
  padding: 80px 6vw !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: center !important;
}
.blg-cta::before {
  content: ''; position: absolute; top: 0; right: 0;
  width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,151,42,.12) 0%, transparent 70%);
  transform: translate(30%, -30%);
}
.blg-cta::after {
  content: ''; position: absolute; bottom: 0; left: 0;
  width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,151,42,.08) 0%, transparent 70%);
  transform: translate(-30%, 30%);
}
.blg-cta-inner {
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative !important;
  z-index: 2 !important;
}
.blg-cta-inner .blg-section-label {
  justify-content: center !important;
  color: var(--blg-gold-lt) !important;
  display: inline-flex !important;
}
.blg-cta-inner .blg-section-label::before { background: var(--blg-gold-lt) !important; }
.blg-cta-inner h2 {
  font-family: var(--blg-serif) !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 400 !important; color: #fff !important;
  line-height: 1.2 !important; margin-bottom: 16px !important;
  text-align: center !important;
}
.blg-cta-inner h2 em { font-style: italic !important; color: var(--blg-gold-lt) !important; }
.blg-cta-inner p {
  font-family: var(--blg-sans) !important; font-size: 14px !important;
  font-weight: 300 !important; color: rgba(255,255,255,.6) !important;
  line-height: 1.75 !important; margin-bottom: 36px !important;
  text-align: center !important;
}
.blg-cta-btns {
  display: flex !important; gap: 14px !important;
  justify-content: center !important; flex-wrap: wrap !important;
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.blg-reveal {
  opacity: 0;
  transform: translateY(36px);
  transition: opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}
.blg-reveal.visible { opacity: 1; transform: translateY(0); }
.blg-reveal-delay-1 { transition-delay: .1s; }
.blg-reveal-delay-2 { transition-delay: .22s; }
.blg-reveal-delay-3 { transition-delay: .34s; }

/* Fallback: never leave elements permanently hidden */
.blg-reveal.blg-no-js { opacity: 1; transform: none; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .blg-grid { grid-template-columns: repeat(2, 1fr); }
  .blg-featured-card { grid-template-columns: 1fr; }
  .blg-featured-img { min-height: 300px; }
  .blg-featured-img-overlay { background: linear-gradient(to bottom, transparent 60%, var(--blg-navy) 100%); }
  .blg-featured-body { padding: 40px 36px; }
}
@media (max-width: 768px) {
  .blg-grid { grid-template-columns: 1fr; }
  .blg-header { min-height: 320px; }
  .blg-grid-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .blg-featured-section, .blg-grid-section { padding-left: 24px; padding-right: 24px; }
  .blg-cta { padding: 64px 24px; }
  .blg-featured-body { padding: 32px 24px; }
  .blg-filter-inner { padding: 0 24px; }
}
@media (max-width: 480px) {
  .blg-header-content { padding: 0 24px 48px; }
  .blg-filter-count { display: none; }
}

/* ============================================================
   SINGLE POST — sng- prefix
   ============================================================ */

.sng-wrap * { box-sizing: border-box; margin: 0; padding: 0; }
.sng-wrap { font-family: var(--blg-sans); color: var(--blg-text); background: #fff; overflow-x: hidden; }
.sng-wrap img { display: block; max-width: 100%; }
.sng-wrap a { text-decoration: none; color: inherit; }

.sng-bleed {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
}

/* ---- SECTION LABEL (reused) ---- */
.sng-section-label {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--blg-gold); margin-bottom: 14px;
}
.sng-section-label::before {
  content: ''; display: inline-block; width: 32px; height: 1px;
  background: var(--blg-gold);
}

/* ============================================================
   POST HEADER
   ============================================================ */
.sng-header {
  position: relative; min-height: 480px;
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden; background: var(--blg-navy-deep);
}
.sng-header-bg { position: absolute; inset: 0; z-index: 0; }
.sng-header-bg img {
  width: 100%; height: 100%; object-fit: cover; object-position: center 30%;
  transform: scale(1.04); animation: sngHeroScale 8s ease forwards; opacity: .35;
}
@keyframes sngHeroScale { to { transform: scale(1); } }

.sng-header-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(135deg, rgba(1,24,16,.97) 0%, rgba(1,24,16,.8) 55%, rgba(1,24,16,.92) 100%),
    linear-gradient(to top, rgba(1,24,16,.99) 0%, rgba(1,24,16,.6) 40%, transparent 70%);
}
.sng-header-grid {
  position: absolute; inset: 0; z-index: 1;
  background-image:
    linear-gradient(rgba(184,151,42,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,151,42,.05) 1px, transparent 1px);
  background-size: 60px 60px;
}

.sng-header-content {
  position: relative; z-index: 2;
  padding: 0 6vw 64px; max-width: 920px; margin: 0 auto; width: 100%;
}

.sng-breadcrumb {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.38); margin-bottom: 22px;
  animation: sngFadeUp .6s ease both;
}
.sng-breadcrumb a { color: rgba(255,255,255,.38); transition: color .3s ease; }
.sng-breadcrumb a:hover { color: var(--blg-gold-lt); }
.sng-breadcrumb span { color: rgba(255,255,255,.55); }

.sng-cat-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(184,151,42,.14); border: 1px solid rgba(184,151,42,.38);
  padding: 5px 14px; margin-bottom: 20px;
  font-family: var(--blg-sans); font-size: 10px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--blg-gold-lt) !important;
  animation: sngFadeUp .7s ease both; animation-delay: .08s;
  text-decoration: none;
}
.sng-cat-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--blg-gold); }

.sng-header h1 {
  font-family: var(--blg-serif);
  font-size: clamp(32px, 4.5vw, 64px);
  font-weight: 400; line-height: 1.1; color: #fff; margin-bottom: 28px;
  animation: sngFadeUp .9s ease both; animation-delay: .15s;
}

.sng-meta {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  animation: sngFadeUp .9s ease both; animation-delay: .25s;
}
.sng-meta-item {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--blg-sans); font-size: 12px; font-weight: 400;
  color: rgba(255,255,255,.55);
}
.sng-meta-item svg {
  width: 14px; height: 14px; stroke: rgba(255,255,255,.4); fill: none;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.sng-meta-sep {
  width: 3px; height: 3px; border-radius: 50%;
  background: rgba(255,255,255,.25);
}

@keyframes sngFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.sng-header-bar {
  position: relative; z-index: 3; height: 4px;
  background: linear-gradient(to right, var(--blg-gold), var(--blg-gold-lt), var(--blg-gold));
}

/* ============================================================
   ARTICLE CONTENT AREA
   ============================================================ */
.sng-article-wrap {
  background: #fff; padding: 72px 6vw 80px;
}
.sng-article-inner {
  max-width: 760px; margin: 0 auto;
}

/* Back to blog link */
.sng-back-link {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--blg-gold) !important;
  margin-bottom: 48px; transition: gap .3s ease;
  text-decoration: none;
}
.sng-back-link:hover { gap: 12px; }
.sng-back-link svg { stroke: var(--blg-gold); }

/* Article body typography — use !important to beat Athens parent theme */
.sng-content { font-family: var(--blg-sans) !important; }

.sng-content p {
  font-family: var(--blg-sans) !important;
  font-size: 16px !important; font-weight: 400 !important; line-height: 1.88 !important;
  color: #374151 !important; margin-bottom: 22px !important;
}
.sng-content h2 {
  font-family: var(--blg-serif) !important;
  font-size: 22px !important;
  font-weight: 500 !important; color: var(--blg-navy) !important; line-height: 1.25 !important;
  margin: 40px 0 14px !important; padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(184,151,42,.22) !important;
  border-top: none !important; border-left: none !important; border-right: none !important;
  background: none !important;
}
.sng-content h3 {
  font-family: var(--blg-serif) !important;
  font-size: 18px !important;
  font-weight: 500 !important; color: var(--blg-navy) !important; line-height: 1.3 !important;
  margin: 30px 0 12px !important;
  border: none !important; background: none !important;
}
.sng-content h4 {
  font-family: var(--blg-sans) !important; font-size: 13px !important; font-weight: 700 !important;
  letter-spacing: .07em !important; text-transform: uppercase !important;
  color: var(--blg-navy) !important; margin: 24px 0 10px !important;
}
.sng-content ul, .sng-content ol {
  padding-left: 22px !important; margin-bottom: 20px !important;
}
.sng-content ul li, .sng-content ol li {
  font-family: var(--blg-sans) !important;
  font-size: 15px !important; font-weight: 400 !important; line-height: 1.78 !important;
  color: #374151 !important; margin-bottom: 6px !important;
}
.sng-content ul li::marker { color: var(--blg-gold) !important; }
.sng-content ol li::marker { color: var(--blg-gold) !important; font-weight: 600 !important; }

.sng-content blockquote {
  margin: 40px 0; padding: 28px 32px;
  border-left: 4px solid var(--blg-gold);
  background: var(--blg-cream); position: relative;
}
.sng-content blockquote p {
  font-family: var(--blg-serif); font-size: clamp(18px, 2vw, 24px);
  font-style: italic; font-weight: 400; color: var(--blg-navy);
  line-height: 1.5; margin-bottom: 0;
}
.sng-content blockquote cite {
  display: block; margin-top: 12px;
  font-family: var(--blg-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--blg-gold);
  font-style: normal;
}

.sng-content a {
  color: var(--blg-gold) !important; text-decoration: underline;
  text-underline-offset: 3px; transition: color .3s ease;
}
.sng-content a:hover { color: var(--blg-navy) !important; }

.sng-content strong { font-weight: 600; color: var(--blg-navy); }
.sng-content em { font-style: italic; }

.sng-content img {
  width: 100%; height: auto; object-fit: cover;
  margin: 32px 0; display: block;
}
.sng-content figure { margin: 32px 0; }
.sng-content figcaption {
  font-family: var(--blg-sans); font-size: 12px; font-weight: 400;
  color: var(--blg-gray); text-align: center; margin-top: 10px;
  font-style: italic;
}

.sng-content hr {
  border: none; height: 1px;
  background: linear-gradient(to right, transparent, var(--blg-gold), transparent);
  margin: 48px 0;
}

/* Tags */
.sng-tags-row {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 48px; padding-top: 32px;
  border-top: 1px solid rgba(2,38,29,.1);
}
.sng-tags-label {
  font-family: var(--blg-sans); font-size: 11px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--blg-gray);
}
.sng-tag {
  padding: 5px 14px; border: 1px solid rgba(2,38,29,.15);
  font-family: var(--blg-sans); font-size: 11px; font-weight: 500;
  color: var(--blg-navy) !important; text-decoration: none !important;
  transition: all .3s ease;
}
.sng-tag:hover {
  background: var(--blg-navy); border-color: var(--blg-navy);
  color: #fff !important;
}

/* Post Navigation */
.sng-post-nav {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: rgba(2,38,29,.1);
  margin-top: 48px;
}
.sng-post-nav-item {
  background: var(--blg-cream); padding: 24px 28px;
  display: flex; flex-direction: column; gap: 8px;
  text-decoration: none; transition: background .3s ease;
}
.sng-post-nav-item:hover { background: var(--blg-cream-dk); }
.sng-post-nav-next { text-align: right; }
.sng-post-nav-dir {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--blg-sans); font-size: 10px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase; color: var(--blg-gold);
}
.sng-post-nav-next .sng-post-nav-dir { justify-content: flex-end; }
.sng-post-nav-dir svg { stroke: var(--blg-gold); fill: none; stroke-width: 2; }
.sng-post-nav-title {
  font-family: var(--blg-serif); font-size: 16px; font-weight: 500;
  color: var(--blg-navy); line-height: 1.3;
}

/* ============================================================
   RELATED POSTS
   ============================================================ */
.sng-related {
  background: var(--blg-cream); padding: 80px 6vw;
}
.sng-related-inner { max-width: 1300px; margin: 0 auto; }
.sng-related-head { margin-bottom: 40px; }
.sng-related-head h2 {
  font-family: var(--blg-serif);
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 400; color: var(--blg-navy); line-height: 1.15;
}
.sng-related-head h2 em { font-style: italic; }
.sng-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

/* ============================================================
   CTA on single post page — force centering like blog CTA
   ============================================================ */
.sng-wrap .blg-cta {
  text-align: center !important;
}
.sng-wrap .blg-cta-inner {
  max-width: 720px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.sng-wrap .blg-cta-inner .blg-section-label {
  justify-content: center !important;
  display: inline-flex !important;
}
.sng-wrap .blg-cta-inner h2,
.sng-wrap .blg-cta-inner p {
  text-align: center !important;
}
.sng-wrap .blg-cta-btns {
  justify-content: center !important;
}

/* ============================================================
   RESPONSIVE — SINGLE POST
   ============================================================ */
@media (max-width: 1024px) {
  .sng-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .sng-header { min-height: 360px; }
  .sng-header-content { padding: 0 24px 48px; }
  .sng-article-wrap { padding: 48px 24px 64px; }
  .sng-related { padding: 60px 24px; }
  .sng-related-grid { grid-template-columns: 1fr; }
  .sng-post-nav { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .sng-meta { gap: 8px; }
  .sng-meta-sep { display: none; }
}

/* ============================================================
   FOOTER — ensure footer always visible on custom template pages
   ============================================================ */
body.blog footer,
body.blog #colophon,
body.blog .site-footer,
body.blog [class*="footer"],
body.archive footer,
body.archive #colophon,
body.archive .site-footer,
body.archive [class*="footer"],
body.single-post footer,
body.single-post #colophon,
body.single-post .site-footer,
body.single-post [class*="footer"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}
