:root {
  --ink: #142b4a;
  --muted: #64738a;
  --cream: #f6f4ed;
  --paper: #ffffff;
  --lime: #f3c94f;
}

[hidden] {
  display: none !important;
}

.button-light,
.visit {
  background: #f3c94f;
}

.brand {
  align-items: center;
  display: flex;
  gap: 12px;
}

.brand-logo {
  height: 48px;
  object-fit: contain;
  width: 34px;
}

.footer-brand .brand-logo {
  height: 58px;
  width: 40px;
}

.nav-button,
.button-dark,
.event-featured,
.site-footer,
.beliefs {
  background: #142b4a;
}

.eyebrow,
.tag,
.value-grid span,
.leader-info p {
  color: #b08213;
}

.eyebrow.light,
.hero h1 em,
.hero h2 em,
.event-featured .tag,
.event-featured .date span,
.event-featured .round-arrow,
.footer-links span,
.beliefs .eyebrow,
.donations b {
  color: #f3c94f;
}

.event-card,
.values,
.page-hero,
.leaders-hero {
  background: #eaf0f7;
}

.event-card {
  display: block;
  min-height: 0;
  padding: 0;
}

.event-image {
  background-position: center;
  background-size: cover;
  height: 150px;
}

.harvest-image {
  background-image: url("https://opwekking.org/wp-content/uploads/2026/02/MG_9868-1024x683.jpg");
}

.christmas-image {
  background-image: url("https://opwekking.org/wp-content/uploads/2026/01/girlyanda-26.jpg");
}

.sunday-image {
  background-image: url("https://opwekking.org/wp-content/uploads/2026/07/IMG_5810-1024x683.jpg");
}

.event-body {
  min-height: 310px;
  padding: 22px 25px 25px;
}

.event-body .event-content {
  margin-top: 42px;
}

.event-description {
  color: #64738a;
  font-size: 12px;
  line-height: 1.45;
  margin-bottom: 15px;
  max-width: 260px;
}

.event-featured .event-description {
  color: #b8c7d9;
}

.event-card .date strong {
  color: #142b4a;
}

.event-featured .date strong {
  color: #fff;
}

.event-card .event-content h3 {
  font-size: 24px;
}

.event-card .round-arrow {
  bottom: 0;
}

.event-featured {
  background: #f3c94f;
  color: #142b4a;
}

.event-featured .date span,
.event-featured .tag {
  color: #142b4a;
}

.event-featured .event-description,
.event-featured .event-meta {
  color: #5f4d1c;
}

.hero {
  background: #142b4a;
  isolation: isolate;
  overflow: hidden;
}

.hero::before,
.hero::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.hero::before {
  background: url("hero-worship-final.jpg") center / cover no-repeat;
  filter: blur(2px);
  inset: -4px;
  z-index: -2;
}

.hero::after {
  background: linear-gradient(90deg, rgba(12, 34, 63, .86), rgba(12, 34, 63, .18));
  z-index: -1;
}

@media (max-width: 800px) {
  .hero::before {
    background-position: 25% 50%;
  }
}

.visit-copy > p {
  color: #5f4d1c;
}

.visit-image {
  background-image: url("visit-worship.jpg");
  background-position: center;
}

.visit-details span {
  color: #80691c;
}

.text-link {
  border-color: #142b4a;
}

.footer-links a {
  color: #b8c7d9;
}

.donations {
  border-color: #526985;
}

.footer-donations {
  margin-top: 42px;
}

.footer-donations + .footer-bottom {
  margin-top: 36px;
}

.videos {
  background: #f6f4ed;
}

.video-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, 1fr);
}

.video-card {
  background: #fff;
}

.video-thumb {
  display: block;
  overflow: hidden;
  position: relative;
}

.video-thumb img {
  display: block;
  height: 220px;
  object-fit: cover;
  transition: transform 0.3s ease;
  width: 100%;
}

.video-thumb:hover img {
  transform: scale(1.04);
}

.video-play {
  align-items: center;
  background: #f3c94f;
  border-radius: 50%;
  bottom: 16px;
  color: #142b4a;
  display: flex;
  font-size: 12px;
  height: 42px;
  justify-content: center;
  left: 16px;
  position: absolute;
  width: 42px;
}

.video-info {
  padding: 20px 22px 24px;
}

.video-info p {
  color: #b08213;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.video-info h3 {
  font-size: 18px;
  line-height: 1.25;
  margin-bottom: 20px;
}

.video-info a {
  border-bottom: 1px solid #142b4a;
  font-size: 11px;
  font-weight: 700;
  padding-bottom: 5px;
}

.video-info a span {
  font-size: 15px;
  margin-left: 14px;
}

.video-status {
  color: #64738a;
  grid-column: 1 / -1;
}

@media (max-width: 800px) {
  .video-grid {
    grid-template-columns: 1fr;
  }

  @media (min-width: 801px) {
    .admin-main { margin: 0 auto; max-width: 1180px; padding: 80px 6% 110px; }
    .admin-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 55px; max-width: 850px; }
    .admin-heading > p { color: #64738a; font-size: 16px; margin: 0 0 12px; max-width: 320px; }
    .admin-layout { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); }
    .event-form { background: #fff; border-top: 5px solid #f3c94f; box-shadow: 0 18px 50px rgba(20, 43, 74, .08); }
  }

  .admin-main {
    margin: 0 auto;
    max-width: 1180px;
    padding: 80px 6% 110px;
  }

  [hidden] {
    display: none !important;
  }

  .login-main {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: calc(100vh - 96px);
    padding: 70px 6%;
  }

  .login-card {
    background: #fff;
    border-top: 5px solid #f3c94f;
    box-shadow: 0 18px 60px rgba(20, 43, 74, .1);
    max-width: 470px;
    padding: 42px;
    width: 100%;
  }

  .login-logo {
    height: 78px;
    margin-bottom: 32px;
    object-fit: contain;
    width: 56px;
  }

  .login-card h1 {
    font-size: clamp(46px, 7vw, 70px);
    margin-bottom: 18px;
  }

  .login-card > p:not(.eyebrow) {
    color: #64738a;
    font-size: 14px;
    margin-bottom: 30px;
  }

  .login-card label {
    color: #142b4a;
    display: grid;
    font-size: 11px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .login-card input {
    background: #fff;
    border: 1px solid #cfdae7;
    color: #142b4a;
    font: inherit;
    font-size: 14px;
    letter-spacing: 0;
    padding: 13px 14px;
    text-transform: none;
  }

  .login-card button {
    border: 0;
    cursor: pointer;
    margin-top: 20px;
    width: 100%;
  }

  .login-error {
    color: #a33d3d;
    font-size: 13px;
    margin: 12px 0 0;
  }

  .admin-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 55px;
    max-width: 850px;
  }

  .admin-heading > p {
    color: #64738a;
    font-size: 16px;
    margin: 0 0 12px;
    max-width: 320px;
  }

  .admin-heading h1 {
    font-size: clamp(48px, 7vw, 82px);
  }

  .admin-layout {
    align-items: start;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  }

  .event-form {
    background: #fff;
    border-top: 5px solid #f3c94f;
    box-shadow: 0 18px 50px rgba(20, 43, 74, .08);
    display: grid;
    gap: 20px;
    padding: 34px;
  }

  .form-title {
    align-items: start;
    border-bottom: 1px solid #d9e1eb;
    display: flex;
    gap: 17px;
    margin-bottom: 4px;
    padding-bottom: 22px;
  }

  .form-number {
    color: #b08213;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
  }

  .form-title h2 {
    font-size: 28px;
    letter-spacing: -.04em;
    margin: 0 0 5px;
  }

  .form-title p {
    color: #64738a;
    font-size: 12px;
    margin: 0;
  }

  .event-form label {
    color: #142b4a;
    display: grid;
    font-size: 11px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .event-form input,
  .event-form textarea {
    background: #fff;
    border: 1px solid #cfdae7;
    color: #142b4a;
    font: inherit;
    font-size: 14px;
    letter-spacing: 0;
    padding: 13px 14px;
    text-transform: none;
  }

  .form-row {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 1fr;
  }

  .form-message {
    color: #b08213;
    font-size: 13px;
    margin: 0;
  }

  .admin-aside {
    display: grid;
    gap: 18px;
  }

  .aside-card {
    background: #142b4a;
    color: #fff;
    padding: 30px;
  }

  .aside-icon {
    align-items: center;
    background: #f3c94f;
    border-radius: 50%;
    color: #142b4a;
    display: flex;
    height: 38px;
    justify-content: center;
    margin-bottom: 28px;
    width: 38px;
  }

  .aside-card h3 {
    font-size: 30px;
    letter-spacing: -.04em;
    line-height: 1.05;
    margin-bottom: 18px;
  }

  .aside-card h3 em {
    color: #f3c94f;
    font-family: var(--serif);
    font-style: italic;
  }

  .aside-card > p {
    color: #b8c7d9;
    font-size: 13px;
  }

  .aside-line {
    border-top: 1px solid #526985;
    margin: 28px 0 20px;
  }

  .aside-label {
    color: #f3c94f;
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
    margin-bottom: 10px;
    text-transform: uppercase;
  }

  .aside-card strong {
    display: block;
    font-size: 13px;
    line-height: 1.4;
  }

  .aside-light {
    background: #eaf0f7;
    color: #142b4a;
  }

  .aside-light ol {
    color: #64738a;
    font-size: 13px;
    line-height: 2;
    margin: 0;
    padding-left: 20px;
  }

  .admin-events {
    margin-top: 92px;
  }

  .admin-events .section-top {
    align-items: end;
  }

  .admin-events h2 {
    font-size: 42px;
  }

  .events-count {
    color: #64738a;
    font-size: 12px;
  }

  .admin-event {
    align-items: center;
    border-bottom: 1px solid #d9e1eb;
    display: flex;
    justify-content: space-between;
    padding: 17px 0;
  }

  .admin-event strong,
  .admin-event span {
    display: block;
  }

  .admin-event strong {
    font-size: 16px;
  }

  .admin-event span {
    color: #64738a;
    font-size: 12px;
    margin-top: 4px;
  }

  .admin-event button {
    background: transparent;
    border: 0;
    color: #a33d3d;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
  }

  @media (max-width: 800px) {
    .admin-heading {
      align-items: start;
      flex-direction: column;
      gap: 18px;
    }

    .admin-layout {
      grid-template-columns: 1fr;
    }

    .admin-events {
      margin-top: 65px;
    }

    .admin-events h2 {
      font-size: 34px;
    }
  }

  .video-thumb img {
    height: 240px;
  }

  .event-image {
    height: 190px;
  }
}

.leader-empty,
.event-empty {
  background: #eaf0f7;
  color: #64738a;
  grid-column: 1 / -1;
  padding: 42px 28px;
  text-align: center;
}
.admin-leaders {
  border-top: 1px solid #d9e1eb;
  padding-top: 20px;
}
.leader-admin-layout {
  margin-bottom: 28px;
}
#admin-leaders-list {
  background: #fff;
  box-shadow: 0 12px 40px rgba(20, 43, 74, .05);
  padding: 0 24px;
}

/* Keep leader photos consistent at every screen size. */
.leader-preview-photo,
.leader-photo {
  aspect-ratio: 4 / 5;
  background-position: center 20%;
  height: auto;
  min-height: 0;
}

@media (max-width: 800px) {
  .leader-preview-photo,
  .leader-photo {
    aspect-ratio: 4 / 5;
    height: auto;
  }
}

.site-header {
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 8px 28px rgba(20, 43, 74, 0.12);
  column-gap: 24px;
}

.beliefs {
  background: #eaf0f7;
  color: #142b4a;
}

.beliefs .beliefs-heading {
  margin: 0 auto 42px;
  max-width: 780px;
  text-align: center;
}

.beliefs .beliefs-heading .eyebrow {
  color: #b08213;
}

.community-directory {
  background: #eaf0f7;
}

.community-directory-alt {
  background: #fff;
}

#home-groups .horizontal-people-list {
  background: transparent;
  gap: 26px;
  padding: 0 0 22px;
}

#home-groups.community-directory {
  background: #f6f4ed;
}

#home-groups .section-top h2 {
  color: #142b4a;
}

#home-groups .section-top h2 span {
  color: #b08213;
}

#home-groups .section-top .eyebrow {
  color: #b08213;
}

#home-groups .directory-empty {
  color: #64738a;
}

#home-groups .home-group-card {
  background: #142b4a;
  border: 1px solid rgba(20, 43, 74, .12);
  border-top: 3px solid #f3c94f;
  border-radius: 6px;
  box-shadow: 0 14px 34px rgba(20, 43, 74, .12);
  padding-bottom: 28px;
}

#home-groups .home-group-photo {
  border: 4px solid #f3c94f;
}

#home-groups .home-group-tag {
  background: rgba(243, 201, 79, .14);
  border: 1px solid rgba(243, 201, 79, .5);
  color: #f3c94f;
}

#home-groups .home-group-leader-label,
#home-groups .home-group-day,
#home-groups .home-group-description {
  color: #c5d1df;
}

#home-groups .home-group-info h3 {
  color: #fff;
}

.horizontal-people-list {
  display: grid;
  gap: 22px;
  grid-auto-columns: minmax(260px, 31%);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 0 0 18px;
  scroll-snap-type: x mandatory;
  scrollbar-color: #b7c5d6 transparent;
  scrollbar-width: thin;
}

#presbyters-list {
  grid-auto-columns: minmax(220px, 27%);
}

.horizontal-people-list > .leader-card,
.horizontal-people-list > .leader-preview-card,
.horizontal-people-list > .home-group-card {
  min-width: 0;
  scroll-snap-align: start;
}

.home-group-card {
  align-items: center;
  background: #eaf0f7;
  border: 1px solid rgba(20, 43, 74, .08);
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  margin-top: 76px;
  padding: 78px 18px 24px;
  position: relative;
  text-align: center;
  transition: transform .2s ease;
}

.home-group-card:hover {
  transform: translateY(-4px);
}

.home-group-orbit {
  height: 154px;
  left: 50%;
  position: absolute;
  top: -76px;
  transform: translateX(-50%);
  width: 154px;
}

.home-group-photo {
  background-color: #dce6f2;
  background-position: center;
  background-size: cover;
  border: 6px solid #fff;
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(20, 43, 74, .2);
  height: 100%;
  width: 100%;
}

.home-group-info {
  max-width: 300px;
  width: 100%;
}

.home-group-leader-label {
  color: #64738a;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  margin: 2px 0 4px;
  text-transform: uppercase;
}

.home-group-tag {
  background: #fff;
  border-radius: 99px;
  color: #b08213;
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  margin: 0 0 8px;
  padding: 7px 12px;
  text-transform: uppercase;
}

.home-group-info h3 {
  color: #142b4a;
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 6px;
}

.home-group-day {
  color: #64738a;
  font-size: 11px;
  margin: 0 0 8px;
}

.home-group-description {
  color: #64738a;
  display: -webkit-box;
  font-size: 12px;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 280px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.home-group-card-compact .home-group-orbit {
  height: 138px;
  top: -68px;
  width: 138px;
}

.home-group-card-compact {
  margin-top: 68px;
  padding: 72px 14px 20px;
}

.home-group-card-compact .home-group-info h3 {
  font-size: 18px;
}

.home-group-card-compact .home-group-description {
  -webkit-line-clamp: 3;
}

#presbyters-list > .presbyter-family-card {
  min-width: 0;
  scroll-snap-align: start;
}

.presbyter-family-card {
  align-items: center;
  background: #f6f4ed;
  border: 1px solid rgba(20, 43, 74, .1);
  border-radius: 4px;
  border-top: 3px solid #f3c94f;
  box-shadow: 0 12px 28px rgba(20, 43, 74, .08);
  display: flex;
  flex-direction: column;
  margin-top: 64px;
  min-height: 120px;
  padding: 66px 16px 10px;
  position: relative;
  text-align: center;
  transition: transform .2s ease;
}

.presbyter-family-card:hover {
  transform: translateY(-4px);
}

.presbyter-portraits {
  align-items: center;
  display: flex;
  height: 112px;
  justify-content: center;
  left: 50%;
  position: absolute;
  top: -57px;
  transform: translateX(-50%);
}

.presbyter-portraits-single {
  width: 112px;
}

.presbyter-portrait {
  background-color: #dce6f2;
  background-position: center;
  background-size: cover;
  border: 5px solid #fff;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(20, 43, 74, .18);
  flex: 0 0 112px;
  height: 112px;
  overflow: hidden;
  position: relative;
  width: 112px;
}

.presbyter-portrait + .presbyter-portrait {
  margin-left: -28px;
}

.presbyter-portrait-placeholder::before,
.presbyter-portrait-placeholder::after {
  background: #142b4a;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}

.presbyter-portrait-placeholder::before {
  border-radius: 50%;
  height: 32px;
  top: 18px;
  width: 32px;
}

.presbyter-portrait-placeholder::after {
  border-radius: 50px 50px 0 0;
  bottom: -1px;
  height: 48px;
  width: 66px;
}

.presbyter-family-names {
  align-items: center;
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
  width: 100%;
}

.presbyter-couple-mark {
  color: #b08213;
  font-family: var(--serif);
  font-size: 18px;
  grid-column: 2;
  grid-row: 1;
  line-height: 1;
  text-align: center;
}

.presbyter-person-name {
  color: #142b4a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.presbyter-person-name-legacy {
  max-width: 100%;
}

.presbyter-first-name,
.presbyter-last-name {
  display: block;
}

.presbyter-last-name {
  color: #64738a;
  font-size: 12px;
  font-weight: 500;
  margin-top: 2px;
}

.event-form .presbyter-person-fields {
  border: 1px solid #d9e1eb;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 16px;
}

.event-form .presbyter-person-fields legend {
  color: #b08213;
  font-size: 12px;
  font-weight: 700;
  padding: 0 6px;
}

.event-form .presbyter-person-fields label:last-child {
  grid-column: 1 / -1;
}

.directory-empty {
  color: #64738a;
  grid-column: 1 / -1;
  margin: 0;
}

.leaders .leader-grid {
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.leaders .leader-card {
  aspect-ratio: 4 / 5;
  background: #142b4a;
  color: #fff;
  min-height: 320px;
  overflow: hidden;
  position: relative;
}

.leaders .leader-card::after {
  background: linear-gradient(180deg, rgba(10, 28, 51, .05) 20%, rgba(10, 28, 51, .92) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.leaders .leader-photo {
  height: 100%;
  inset: 0;
  position: absolute;
  transition: transform .45s ease;
}

.leaders .leader-card:hover .leader-photo {
  transform: scale(1.04);
}

.leaders .leader-info {
  align-items: end;
  bottom: 0;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  left: 0;
  padding: 20px;
  position: absolute;
  right: 0;
  z-index: 1;
}

.leaders .leader-info > div {
  min-width: 0;
}

.leaders .leader-info p {
  color: #f3c94f;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  margin: 0 0 7px;
  text-transform: uppercase;
}

.leaders .leader-info h3 {
  color: #fff;
  font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.2;
  margin: 0;
}

.leaders .leader-info small {
  color: rgba(255, 255, 255, .84);
  display: -webkit-box;
  font-size: 12px;
  grid-column: auto;
  line-height: 1.45;
  margin-top: 8px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.leaders .leader-info > span {
  color: #f3c94f;
  flex: 0 0 auto;
  font-size: 18px;
}

@media (max-width: 800px) {
  .leaders .leader-grid {
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leaders .leader-card {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }

  .leaders .leader-info {
    padding: 14px;
  }

  .leaders .leader-info small {
    font-size: 11px;
    -webkit-line-clamp: 2;
  }
}

@media (max-width: 360px) {
  .leaders .leader-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .leaders .leader-card {
    aspect-ratio: 4 / 3;
  }
}

.admin-directory {
  border-top: 1px solid #d9e1eb;
  padding-top: 20px;
}

@media (max-width: 800px) {
  .horizontal-people-list {
    gap: 14px;
    grid-auto-columns: minmax(230px, 78%);
  }

  #presbyters-list {
    grid-auto-columns: minmax(210px, 70%);
  }

  .event-form .presbyter-person-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .event-form .presbyter-person-fields label:last-child {
    grid-column: auto;
  }

  #home-groups .horizontal-people-list {
    gap: 16px;
    padding: 0 0 18px;
  }
}

.beliefs .beliefs-heading h2 {
  font-size: clamp(40px, 5vw, 64px);
  margin-bottom: 16px;
}

.beliefs .beliefs-heading h2 span {
  color: #b08213;
}

.beliefs .beliefs-heading > p:last-child {
  color: #64738a;
  font-size: 16px;
  margin-bottom: 0;
}

.beliefs-list {
  counter-reset: belief;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 0;
  padding: 0;
}

.beliefs-list > li {
  background: #fff;
  border-top: 3px solid #f3c94f;
  color: #52647a;
  counter-increment: belief;
  font-size: 14px;
  line-height: 1.8;
  min-width: 0;
  padding: 26px;
}

.beliefs-list > li::before {
  color: #b08213;
  content: counter(belief, decimal-leading-zero);
  display: block;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 16px;
}

.beliefs-list > li > p {
  margin: 0;
}

.belief-references {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.belief-references li {
  border-left: 2px solid #f3c94f;
  font-size: 13px;
  padding-left: 14px;
}

.belief-references strong {
  color: #142b4a;
  white-space: nowrap;
}

.visit-details > div:last-child {
  grid-column: 1 / -1;
}

.about-story {
  padding-top: 40px;
}

.about-story .story-image {
  background-image: url("about-church-family.jpg");
  background-position: center 45%;
}

@media (max-width: 800px) {
  .story {
    padding-bottom: 112px;
  }

  .beliefs-list {
    grid-template-columns: 1fr;
  }

  .about-story {
    padding-top: 24px;
  }

  .about-story .story-image {
    background-position: center 48%;
    min-height: 320px;
  }

}

@media (min-width: 801px) {
  .site-header .main-nav .active {
    opacity: 1;
    position: relative;
  }

  .site-header .main-nav .active::after {
    background: #f3c94f;
    bottom: -8px;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
  }
}

.event-card-cover {
  aspect-ratio: 4 / 5;
  background: #142b4a;
  color: #fff;
  display: block;
  min-height: 360px;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.event-card-cover::after {
  background: linear-gradient(180deg, rgba(10, 28, 51, .08) 15%, rgba(10, 28, 51, .92) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.event-card-cover .event-cover-image {
  background-position: center;
  background-size: cover;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  transition: transform .45s ease;
  width: 100%;
}

.event-card-cover:hover .event-cover-image {
  transform: scale(1.04);
}

.event-cover-date {
  background: #f3c94f;
  border-radius: 2px;
  color: #142b4a;
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  left: 20px;
  letter-spacing: .08em;
  padding: 8px 10px;
  position: absolute;
  top: 20px;
  z-index: 2;
}

.event-cover-content {
  bottom: 0;
  left: 0;
  padding: 24px;
  position: absolute;
  right: 0;
  z-index: 2;
}

.event-card-cover .tag {
  color: #f3c94f;
  font-size: 10px;
  margin-bottom: 9px;
}

.event-card-cover h3 {
  color: #fff;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.12;
  margin: 0 0 12px;
}

.event-card-cover .event-description {
  color: rgba(255, 255, 255, .86);
  display: -webkit-box;
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 14px;
  max-width: 38ch;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.event-card-cover .event-meta {
  color: #f3c94f;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
  margin: 0;
}

@media (max-width: 800px) {
  .event-card-cover {
    aspect-ratio: 4 / 3;
    min-height: 0;
    min-width: 0;
    width: 100%;
  }

  .event-cover-content {
    padding: 20px;
  }
}

@media (max-width: 600px) {
  .event-card-cover {
    aspect-ratio: auto;
    height: 320px;
  }
}

@media (max-width: 340px) {
  .site-header {
    column-gap: 8px;
    padding-left: 4%;
    padding-right: 4%;
  }

  .site-header > .language-switcher {
    margin-right: 0;
  }
}

/* ===== Карточки событий из админки: фото в своих пропорциях, без обрезки ===== */
.event-grid.event-grid-dynamic {
  align-items: start;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.custom-event.event-card-cover {
  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
}

.custom-event .event-cover-media {
  overflow: hidden;
  position: relative;
}

.custom-event .event-cover-image {
  display: block;
  height: auto;
  inset: auto;
  position: static;
  width: 100%;
}

.custom-event .event-cover-content {
  position: relative;
}

/* С затемнением: текст поверх фото. Фото и текст в одной ячейке сетки —
   если текста больше, чем помещается на фото, карточка вытягивается вниз, а фото не обрезается. */
.custom-event.event-card-overlay {
  display: grid;
}

.custom-event.event-card-overlay > .event-cover-media,
.custom-event.event-card-overlay > .event-cover-content {
  grid-area: 1 / 1;
}

.custom-event.event-card-overlay > .event-cover-content {
  align-self: end;
}

/* Без затемнения и без фото: текст под фотографией на тёмном фоне. */
.custom-event.event-card-plain::after,
.custom-event.event-card-text::after {
  display: none;
}

.custom-event.event-card-plain .event-cover-content,
.custom-event.event-card-text .event-cover-content {
  padding: 22px 24px 24px;
}

.custom-event.event-card-plain .event-cover-date,
.custom-event.event-card-text .event-cover-date {
  margin-bottom: 14px;
  position: static;
}

.custom-event.event-card-text {
  justify-content: flex-end;
  min-height: 260px;
}

@media (max-width: 800px) {
  .event-grid.event-grid-dynamic {
    grid-template-columns: 1fr;
  }

  .custom-event.event-card-cover {
    aspect-ratio: auto;
    height: auto;
  }
}

@media (max-width: 600px) {
  .custom-event.event-card-text {
    min-height: 220px;
  }
}
