/*
Theme Name: Eternal Light & Faith
Author: Christopher Gillbard
Description: Mobile-first devotional theme with daily quote, separated Blog/Father Pillows, clean rules, and socials link page.
Version: 1.6.9
License: GNU General Public License v2 or later
Text Domain: elf
*/

:root{
  --ink:#0a0a0a;
  --paper:#ffffff;
  --max: 760px;
  --serif: Georgia, "Times New Roman", Times, serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

*{ box-sizing:border-box; box-shadow:none !important; }
html,body{ margin:0; padding:0; background:var(--paper); color:var(--ink); }
body{ font-family: var(--serif); line-height: 1.55; font-size: 17px; }

a{ color:var(--ink); text-decoration:none; }
a:hover{ text-decoration:underline; }

.wrap{
  max-width: var(--max);
  margin: 0 auto;
  padding: 18px 16px 28px;
  position: relative;
  z-index: 0;
}

/* Header */
.site-mark{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 12px;
  padding-top: 6px;
  text-align:center;
  position: relative;
  z-index: 1;
}
.site-mark .custom-logo{
  width: 92px;
  height: 92px;
  border-radius: 999px;
  overflow:hidden;
  border: 3px solid var(--ink);
  display:block;
}
.site-title{
  font-family: var(--serif);
  font-size: 44px;
  letter-spacing: .2px;
  margin: 0;
  line-height: 1.05;
}
.site-title a{ color: var(--ink); }

/* Menu */
.menu-toggle{
  width: 100%;
  border: 3px solid var(--ink);
  padding: 10px 12px;
  font-family: var(--sans);
  font-weight: 900;
  letter-spacing: .9px;
  background: transparent;
  color: var(--ink);
  text-transform: uppercase;
  position: relative;
  z-index: 2;
}
.nav{
  display:none;
  border: 3px solid var(--ink);
  border-top: 0;
  padding: 10px 12px;
  width:100%;
  position: relative;
  z-index: 2;
}
.nav.is-open{ display:block; }
.nav ul{ list-style:none; padding:0; margin:0; }
.nav li{ margin:0; padding:0; }
.nav a{
  display:block;
  padding: 10px 6px;
  border-top: 2px solid var(--ink);
  font-family: var(--serif);
  font-weight: 700;
}
.nav li:first-child a{ border-top:0; }

/* Minimal content wrappers */
.card{ border:none; padding:0; margin:0; }
.card-link{
  display:block;
  border:none;
  padding:0;
  margin:0;
  position: relative;
  z-index: 50;
  pointer-events:auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(0,0,0,0.10);
}
.card-link *{ pointer-events:none; }

.thumb img, img{
  max-width:100%;
  height:auto;
  display:block;
  border:none !important;
  width:100%;
}

/* Quote */
.quote{ text-align:center; padding: 0; }
.quote .q{ font-family: var(--serif); font-size: 22px; font-weight: 700; }
.quote .ref{
  margin-top: 10px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Rules (visible lines) */
hr.rule{
  display:block !important;
  border:none !important;
  border-top:3px solid #000 !important;
  height:0 !important;
  margin:32px 0 !important;
}

/* Blog list layout: wrap text around small thumb */
a.blog-item{ display:block; }
a.blog-item .blog-thumb{
  float:left;
  width:80px;
  margin: 0 14px 10px 0;
}
a.blog-item .blog-thumb img{ width:80px; height:auto; display:block; }
a.blog-item .blog-body{ display:block; }
a.blog-item .blog-body h2,
a.blog-item .blog-body h3{ margin: 0 0 8px; }
a.blog-item .blog-body .excerpt{ font-size: 16px; line-height: 1.45; }
a.blog-item::after{ content:""; display:block; clear:both; }

@media (min-width: 520px){
  body{ font-size: 18px; }
  .site-title{ font-size: 60px; }
  a.blog-item .blog-thumb{ width:100px; }
  a.blog-item .blog-thumb img{ width:100px; }
}

/* Footer */
.footer-links{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 0;
  margin-top: 22px;
  font-family: var(--sans);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
}
.small-note{
  font-family: var(--sans);
  font-size: 12px;
  opacity: .85;
  text-align:center;
  margin-top: 10px;
}

/* Share */
.share{ margin-top: 18px; padding-top: 14px; text-align:center; }
.share a{
  display:inline-block;
  border:none;
  padding:0;
  font-family: var(--sans);
  font-weight: 900;
  letter-spacing: 1px;
  font-size: 12px;
  text-decoration: underline;
}

/* Socials / Linktree */
.linktree{ margin: 0; }
.linktree a{
  display:block;
  padding: 16px 0;
  font-family: var(--sans);
  font-weight: 900;
  letter-spacing: .4px;
}
.linktree a + a{ border-top: 3px solid #000; }


/* === CENTRED SOCIAL LINKS (LINKTREE STYLE) === */
.linktree{
  max-width: 420px;
  margin: 0 auto;
  text-align: center;
}

.linktree a{
  text-align: center;
}
