/* WordPress integration styles. */
.admin-bar .demo-ribbon { top: 32px; }
.admin-bar .church-nav { top: 66px; }
.admin-bar .church-progress { top: 66px; }
.no-demo-ribbon .church-nav, .no-demo-ribbon .church-progress { top: 0; }
.admin-bar.no-demo-ribbon .church-nav, .admin-bar.no-demo-ribbon .church-progress { top: 32px; }
.grace-custom-logo { width: auto; max-width: 245px; height: 52px; object-fit: contain; }
.church-nav .navbar-nav > .menu-item { display: flex; align-items: center; }
.church-nav .navbar-nav > .menu-item:last-child { margin-left: .5rem; }
.church-nav .navbar-nav > .menu-item:last-child > a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .72rem 1rem !important;
  color: #08111e !important;
  border-radius: 12px;
  background: #fff;
}
.church-nav .navbar-nav > .menu-item:last-child > a::after { display: none; }
.grace-footer-menu, .grace-footer-menu ul { margin: 0; padding: 0; list-style: none; }
.grace-footer-menu li { margin-bottom: .5rem; }
.skip-link { position: fixed; z-index: 99999; top: 8px; left: 8px; padding: .8rem 1rem; color: #050814; background: #fff; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; position: absolute !important; white-space: nowrap; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; width: auto; height: auto; overflow: visible; white-space: normal; }
.grace-wp-main { min-height: 72vh; padding: 180px 0 90px; color: var(--dark-text); background: var(--paper); }
.no-demo-ribbon .grace-wp-main { padding-top: 145px; }
.grace-content-card { max-width: 960px; margin: 0 auto; padding: clamp(28px, 5vw, 62px); border: 1px solid var(--line-dark); border-radius: 28px; background: #fff; box-shadow: var(--shadow-lg); }
.grace-content-card h1 { margin-bottom: 1rem; font-weight: 780; letter-spacing: -.045em; }
.grace-content-card a { color: #4f35d9; text-decoration: underline; text-underline-offset: 3px; }
.grace-content-card img { height: auto; border-radius: 18px; }
.grace-entry { padding: 2rem 0; border-bottom: 1px solid var(--line-dark); }
.grace-entry:last-child { border-bottom: 0; }
.grace-entry-title a { color: var(--dark-text); text-decoration: none; }
.grace-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; }
.grace-archive-card { overflow: hidden; border: 1px solid var(--line-dark); border-radius: 22px; background: #fff; box-shadow: var(--shadow-md); }
.grace-archive-image { min-height: 210px; background: url("pastor-community.webp") center / cover no-repeat; }
.grace-archive-card-content { padding: 1.4rem; }
.grace-archive-card h2 { font-size: 1.3rem; }
.grace-archive-card h2 a { color: var(--dark-text); }
.ministry-image.has-custom-image, .featured-sermon-image.has-custom-image, .sermon-side-image.has-custom-image { background-image: var(--grace-card-image) !important; }
.sermon-play { text-decoration: none !important; }
.alignwide { max-width: 1200px; margin-right: auto; margin-left: auto; }
.alignfull { width: 100vw; max-width: 100vw; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); }
@media (max-width: 991.98px) {
  .church-nav .navbar-nav > .menu-item { display: block; }
  .church-nav .navbar-nav > .menu-item:last-child { margin: .5rem 0 0; }
  .church-nav .navbar-nav > .menu-item:last-child > a { justify-content: center; }
  .grace-archive-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
  .admin-bar .demo-ribbon { top: 46px; }
  .admin-bar .church-nav, .admin-bar .church-progress { top: 80px; }
  .admin-bar.no-demo-ribbon .church-nav, .admin-bar.no-demo-ribbon .church-progress { top: 46px; }
}
@media (max-width: 767.98px) { .grace-archive-grid { grid-template-columns: 1fr; } }
