/*
Theme Name: Eliisabet A
Theme URI: https://eliisabet.ee/
Description: Pärnu Eliisabeti koguduse rahulik ja kompaktne kujundus. Rejoice'i alamteema.
Author: Pärnu Eliisabeti kogudus
Template: rejoice
Version: 0.1.14
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: eliisabet-a
*/

:root {
  --ea-navy: #193c60;
  --ea-blue: #245d91;
  --ea-ink: #253647;
  --ea-gold: #a77b4f;
  --ea-muted: #617181;
  --ea-pale: #f2f6f9;
  --ea-line: #dce3e8;
  --ea-wide: 1320px;
  --ea-gutter: clamp(20px, 4.5vw, 68px);
}

html { scroll-behavior: smooth; }
body { color: var(--ea-ink); }
body, button, input, select, textarea { font-family: Avenir, "Avenir Next", system-ui, sans-serif; }
.ea-contact-location { background: var(--ea-pale); border-left: 3px solid var(--ea-gold); color: var(--ea-ink); margin: 18px 0 28px; padding: 14px 18px; }
.ea-contact-location a { color: var(--ea-blue); font-weight: 700; }
a { text-underline-offset: .16em; }
button, a, input, select, textarea { outline-offset: 3px; }
:focus-visible { outline: 3px solid var(--ea-gold); }
.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > header { margin: 0; }
.wp-site-blocks > header > .wp-block-group { box-sizing: border-box; }
.wp-site-blocks > header > .wp-block-group > .alignwide,
.wp-site-blocks > main > .wp-block-group > .alignwide,
.eliisabet-home-faq-events > .alignwide,
.eliisabet-news-section > .alignwide {
  max-width: var(--ea-wide) !important;
  margin-inline: auto !important;
}

/* The live black social/language bar, with its original waving SVG flags. */
header.wp-block-template-part > .wp-block-group:first-of-type {
  background: #191919 !important;
  padding-inline: var(--ea-gutter) !important;
}
header.wp-block-template-part > .wp-block-group:first-of-type > .alignwide {
  max-width: 1600px !important;
}
header.wp-block-template-part .eliisabet-language-switcher a { color: #fff !important; }
header.wp-block-template-part .eliisabet-language-switcher a:focus-visible { outline-color: #fff; }

/* Identity and primary navigation. */
header.wp-block-template-part > .wp-block-group:nth-of-type(2) {
  padding: 12px var(--ea-gutter) !important;
  background: #fff !important;
}
header .wp-block-site-logo img { width: 56px !important; height: 56px !important; object-fit: contain; }
header .wp-block-site-title,
header .wp-block-site-title a {
  color: var(--ea-navy) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(24px, 2.3vw, 34px) !important;
  font-weight: 700 !important;
  letter-spacing: -.025em;
  text-decoration: none;
}
header .header-contact-info { gap: clamp(15px, 3vw, 42px) !important; }
header .header-contact-info .wp-block-heading { display: none; }
header .header-contact-info p { margin: 0 !important; }
header .header-contact-info a { color: var(--ea-ink) !important; font-size: 14px; text-decoration: none; }
header .header-contact-info a:hover { color: var(--ea-blue) !important; text-decoration: underline; }
header.wp-block-template-part > .wp-block-group:nth-of-type(3) {
  background: #fafbfc;
  border-block: 1px solid var(--ea-line) !important;
  padding: 0 var(--ea-gutter) !important;
}
header.wp-block-template-part > .wp-block-group:nth-of-type(3) > .alignwide { max-width: 1600px !important; }
header .wp-block-navigation { min-height: 56px; width: 100%; }
header .wp-block-navigation-item__content { color: var(--ea-ink) !important; font-size: clamp(15px, 1.05vw, 18px) !important; font-weight: 600; letter-spacing: .01em; line-height: 1.3; }
header .wp-block-navigation-item__content:hover,
header .wp-block-navigation-item__content:focus-visible { color: var(--ea-blue) !important; }
header .wp-block-navigation__submenu-container { background: #fff !important; border-color: var(--ea-line) !important; box-shadow: 0 12px 30px #193c601c; }
header .eliisabet-mobile-menu-extra { display: none !important; }
@media (max-width: 640px) {
  header .wp-block-navigation__responsive-container.is-menu-open .eliisabet-mobile-menu-extra { display: grid !important; }
}
@media (min-width: 701px) {
  header .wp-block-navigation__container { width: 100%; justify-content: space-between; gap: clamp(8px, 1.4vw, 22px) !important; }
  header .wp-block-navigation__container > .wp-block-navigation-item { flex: 1 1 0; min-width: 0; justify-content: center; }
  header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
}

/* Homepage: retain every existing block and link while changing its rhythm. */
.eliisabet-home-hero {
  min-height: clamp(380px, 35vw, 510px) !important;
  padding: 48px var(--ea-gutter) !important;
}
.eliisabet-home-hero .wp-block-cover__background { background: #0e2438 !important; opacity: .55 !important; }
.eliisabet-home-hero h1 {
  color: #fff !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(40px, 5vw, 68px) !important;
  font-weight: 700 !important;
  line-height: 1.06 !important;
  letter-spacing: -.025em !important;
  text-transform: none !important;
  max-width: 900px;
  margin-inline: auto;
}
.eliisabet-home-hero .ea-hero-practical { color: #fff; font-size: clamp(16px, 1.55vw, 20px); font-weight: 600; line-height: 1.45; margin: 18px auto 0; max-width: 780px; text-shadow: 0 1px 4px #001a32a6; }
.eliisabet-home-hero .wp-block-table { margin: 26px auto 0 !important; max-width: 720px; }
.ea-has-service-times .eliisabet-home-hero .wp-block-table { display: none; }
.eliisabet-home-hero .wp-block-table table { border: 0; }
.eliisabet-home-hero .wp-block-table td { border: 0; padding: 3px 10px; font-size: 15px; }
.eliisabet-home-hero .wp-block-buttons { margin-top: 32px !important; }
.eliisabet-home-hero .wp-block-button__link { min-height: 48px; border-radius: 4px !important; padding: 12px 24px !important; background: var(--ea-blue) !important; font: 600 14px Avenir, system-ui, sans-serif !important; letter-spacing: .02em !important; }
.eliisabet-home-hero .wp-block-button:nth-child(2) .wp-block-button__link { background: var(--ea-gold) !important; }
.eliisabet-home-hero .wp-block-button__link:hover { filter: brightness(.9); }

.ea-service-times {
  background: #eef3f7;
  padding: 22px var(--ea-gutter);
}
.ea-service-times__inner {
  max-width: var(--ea-wide);
  margin: auto;
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  align-items: center;
  gap: 0;
}
.ea-service-times__label { color: var(--ea-navy); font-size: 15px; font-weight: 700; text-transform: uppercase; }
.ea-service-times__item { border-left: 1px solid #c7d5df; padding: 0 24px; }
.ea-service-times__item small { display: block; color: var(--ea-blue); font-size: 11px; text-transform: uppercase; }
.ea-service-times__item strong { display: block; color: var(--ea-ink); font: 700 clamp(16px, 1.5vw, 21px) Georgia, serif; margin-top: 5px; }

.eliisabet-home-faq-events,
.eliisabet-news-section { padding: 40px var(--ea-gutter) !important; }
.eliisabet-home-faq-events .wp-block-columns { gap: clamp(32px, 4vw, 60px) !important; }
.eliisabet-home-faq-events .section_head,
.eliisabet-news-section .section_head { padding: 0 !important; margin: 0 0 18px !important; }
.eliisabet-home-faq-events .section_head h2,
.eliisabet-news-section .section_head h2 {
  color: var(--ea-ink) !important;
  font: 700 clamp(27px, 2.5vw, 36px)/1.2 Georgia, serif !important;
  text-align: left !important;
  letter-spacing: -.015em !important;
  margin: 0 0 12px !important;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--ea-line);
}
.eliisabet-home-faq-events details { border-bottom: 1px solid var(--ea-line); margin: 0 !important; padding: 0 !important; }
.eliisabet-home-faq-events summary { color: var(--ea-ink); cursor: pointer; list-style: none; padding: 17px 34px 17px 8px; position: relative; font-size: 16px; }
.eliisabet-home-faq-events summary::-webkit-details-marker { display: none; }
.eliisabet-home-faq-events summary::after { content: "+"; position: absolute; right: 8px; top: 15px; color: var(--ea-blue); font-size: 21px; }
.eliisabet-home-faq-events details[open] summary::after { content: "−"; }
.eliisabet-home-faq-events summary strong { font-weight: 500; }
.eliisabet-home-faq-events details > :not(summary) { margin: 0 8px 16px; }
.eliisabet-home-faq-events .tribe-events-widget-events-list__event-row { border: 1px solid var(--ea-line); border-radius: 5px; background: #fbfcfd; padding: 10px 12px !important; margin-bottom: 8px !important; }
.eliisabet-home-faq-events .tribe-events-widget-events-list__event-title a { color: var(--ea-ink) !important; text-decoration: none; }
.eliisabet-home-faq-events .tribe-events-widget-events-list__event-title a:hover { color: var(--ea-blue) !important; text-decoration: underline; }

.eliisabet-news-section .wp-block-post-template { gap: 18px !important; }
.eliisabet-news-section .wp-block-post {
  border: 1px solid var(--ea-line);
  border-radius: 5px;
  overflow: hidden;
  background: #fff;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.eliisabet-news-section .wp-block-post-featured-image,
.eliisabet-news-section .wp-block-post-featured-image img { margin: 0 !important; aspect-ratio: 16/9; object-fit: contain; width: 100%; background: #eef3f7; }
.eliisabet-news-section .ea-news-card-body { flex: 1; }
.eliisabet-news-section .ea-news-date {
  border-bottom: 1px solid #d8c9b8;
  margin: 0 30px !important;
  padding: 18px 0 11px !important;
}
.eliisabet-news-section .ea-news-date .wp-block-post-date {
  color: #795b3e;
  font: 700 12px/1.4 Avenir, "Avenir Next", system-ui, sans-serif;
  letter-spacing: .14em;
  margin: 0 !important;
  text-transform: uppercase;
}
.eliisabet-news-section .ea-news-card-body { padding-top: 18px !important; }
.eliisabet-news-section .ea-news-card-body .wp-block-post-title { margin: 0 0 14px !important; }
.eliisabet-news-section .wp-block-post-title { font: 700 21px/1.25 Georgia, serif !important; margin: 14px 16px !important; text-align: left !important; }
.eliisabet-news-section .wp-block-post-title a { color: var(--ea-ink) !important; text-decoration: none; }
.eliisabet-news-section .wp-block-post-title a:hover { color: var(--ea-blue) !important; text-decoration: underline; }
.eliisabet-news-section .wp-block-post-excerpt { padding: 0 16px 16px; }

/* All title/breadcrumb banners use a real photograph under a restrained blur. */
.ea-inner-banner,
body.page main > .wp-block-cover:first-child,
.sundmused-pealkiri {
  min-height: 165px !important;
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 22px var(--ea-gutter) !important;
  overflow: hidden;
  background: var(--ea-pale);
}
.ea-inner-banner::before,
.sundmused-pealkiri::before {
  content: "";
  position: absolute;
  inset: -8px;
  z-index: 0;
  background: var(--ea-banner-image) center / cover no-repeat;
  filter: blur(5px);
}
.ea-inner-banner::after,
.sundmused-pealkiri::after,
body.page main > .wp-block-cover:first-child::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgb(248 250 252 / 84%) 0%, rgb(248 250 252 / 63%) 42%, rgb(248 250 252 / 20%) 100%);
  pointer-events: none;
}
body.page main > .wp-block-cover:first-child .wp-block-cover__image-background { z-index: 0; filter: blur(5px); transform: scale(1.035); }
body.page main > .wp-block-cover:first-child .wp-block-cover__background { display: none; }
body.page main > .wp-block-cover:first-child .wp-block-cover__inner-container { width: 100%; max-width: var(--ea-wide); margin: auto; z-index: 2; }
body.page main > .wp-block-cover:first-child .wp-block-cover__inner-container > .wp-block-group { padding: 0 !important; }
.ea-inner-banner__inner { width: 100%; max-width: var(--ea-wide); margin: auto; }
.ea-inner-banner__inner, .sundmused-pealkiri > .kkk-pealkiri { position: relative; z-index: 2; }
.ea-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0 0 14px; color: var(--ea-blue); font-size: 11px; text-transform: uppercase; letter-spacing: .045em; }
.ea-breadcrumb a { color: var(--ea-blue); text-decoration: none; }
.ea-breadcrumb a:hover { text-decoration: underline; }
.ea-breadcrumb [aria-current] { color: var(--ea-blue); }
.ea-inner-banner h1,
body.page main > .wp-block-cover:first-child h1,
.sundmused-pealkiri h2 {
  color: var(--ea-navy) !important;
  font: 700 clamp(32px, 3.5vw, 46px)/1.12 Georgia, serif !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
  text-align: left !important;
  margin: 0 !important;
  max-width: 1000px;
}
.sundmused-pealkiri { --ea-banner-image: url("assets/images/avalehe-foto.webp"); max-width: none !important; text-align: left !important; }
.sundmused-pealkiri > .kkk-pealkiri { width: min(100%, var(--ea-wide)); margin: auto; }
.sundmused-pealkiri > div:first-child { display: none; }
.sundmused-pealkiri .ea-breadcrumb { text-align: left; }

/* Readable inner pages, with the original editable content. */
body.page main > .wp-block-group:nth-child(2),
body.single-post main > .wp-block-group { padding-inline: var(--ea-gutter) !important; }
body.page main > .wp-block-group:nth-child(2) { padding-top: 32px !important; }
.entry-content { color: var(--ea-ink); font-size: 17px; line-height: 1.68; }
.entry-content p { max-width: 72ch; }
.entry-content h2, .entry-content h3, .entry-content h4 { color: var(--ea-navy); font-family: Georgia, serif; line-height: 1.24; }
.entry-content a { color: var(--ea-blue); }
.entry-content img { border-radius: 3px; }
.eliisabet-pika-lehe-paigutus { gap: clamp(25px, 4vw, 48px) !important; align-items: flex-start !important; }
.eliisabet-sisukord { position: sticky; top: 20px; background: #f8f5ef !important; border: 1px solid #e5d8c7 !important; border-left: 4px solid var(--ea-gold) !important; border-radius: 5px; }
.eliisabet-sisukord h2 { color: var(--ea-gold); font: 600 12px Avenir, system-ui, sans-serif !important; text-transform: uppercase; letter-spacing: .04em; }
.eliisabet-sisukord ul { padding-left: 0; list-style: none; }
.eliisabet-sisukord li { border-bottom: 1px solid #e9dfd2; padding: 7px 0; font-size: 14px; line-height: 1.45; }
.eliisabet-sisukord li:last-child { border: 0; }
.eliisabet-sisukord a { color: var(--ea-ink); text-decoration: none; }
.eliisabet-sisukord a:hover, .eliisabet-sisukord a.is-active { color: var(--ea-blue); }
.ea-mobile-toc > summary { display: none; }
.ea-mobile-toc__body > :first-child { margin-top: 0; }

body.single-post main > .wp-block-group:first-child { max-width: var(--ea-wide); padding-top: 28px !important; }
body.single-post main > .wp-block-group:first-child .wp-block-post-featured-image { max-width: 800px; margin: 0; }
body.single-post main > .wp-block-group:first-child img { max-height: 370px; object-fit: cover; border-radius: 4px; }
body.single-post main > .wp-block-group:nth-child(2) { padding-top: 22px !important; }
body.single-post main .entry-content { max-width: 780px; }
body.single-post main .wp-block-post-date { color: var(--ea-gold); font-size: 12px; text-transform: uppercase; }
.ea-inner-banner .ea-single-date { color: #765333; font-size: 13px; font-weight: 700; letter-spacing: .07em; margin: 13px 0 0; }
body.single-post .ea-single-featured { margin: 0 0 24px !important; }
body.single-post .ea-single-featured img { display: block; max-height: 470px; object-fit: cover; width: 100%; }
.ea-back-to-news { margin: 28px 0 !important; }
.ea-back-to-news a { color: var(--ea-blue); font-weight: 700; }

/* Practical details available on every page. */
.ea-footer { background: #14273a; color: #e8eef2; padding: 42px var(--ea-gutter) 18px; }
.ea-footer__inner { display: grid; gap: 28px; grid-template-columns: 1.35fr 1fr 1.2fr 1fr; margin: auto; max-width: var(--ea-wide); }
.ea-footer__column { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ea-footer__column strong { color: #fff; font: 700 21px/1.28 Georgia, serif; }
.ea-footer__column h2 { color: #e1bc91; font: 700 13px/1.35 Avenir, system-ui, sans-serif; letter-spacing: .08em; margin: 0 0 4px; text-transform: uppercase; }
.ea-footer__column p { color: #c8d4db; margin: 0; }
.ea-footer__column address { font-style: normal; }
.ea-footer a { color: #f7f9fa; text-decoration: none; }
.ea-footer a:hover, .ea-footer a:focus-visible { text-decoration: underline; }
.ea-footer__bottom { border-top: 1px solid #ffffff2b; color: #afc0cc; font-size: 13px; margin: 34px auto 0; max-width: var(--ea-wide); padding-top: 16px; }

/* The Events Calendar keeps its own controls and event data. */
.tribe-events-view, .tribe-events-pg-template { max-width: var(--ea-wide) !important; margin-inline: auto !important; padding-inline: var(--ea-gutter) !important; box-sizing: border-box; }
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button,
.tribe-events .tribe-events-c-view-selector__button,
.tribe-events-single .tribe-events-c-subscribe-dropdown__button { border-radius: 4px !important; }
.tribe-events .tribe-events-c-search__button { background: var(--ea-blue) !important; }
.tribe-events .tribe-events-calendar-month__day { border-color: var(--ea-line) !important; }
.tribe-events-single { color: var(--ea-ink); font-size: 17px; }
.tribe-events-single .tribe-events-single-event-title { color: var(--ea-navy); font-family: Georgia, serif; }
.tribe-events-single .tribe-events-schedule { color: var(--ea-ink); font-size: 20px; }
.ea-inner-banner + .tribe-block { margin-top: 28px; }
.ea-inner-banner--event + .tribe-block .tribe-events-single-event-title { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

@media (max-width: 900px) {
  .ea-footer__inner { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ea-service-times__inner { grid-template-columns: repeat(3, 1fr); row-gap: 12px; }
  .ea-service-times__label { grid-column: 1 / -1; }
  .ea-service-times__item:first-of-type { border-left: 0; padding-left: 0; }
  header .header-contact-info { gap: 12px !important; }
  header .header-contact-info a { font-size: 12px; }
}
@media (max-width: 700px) {
  .ea-footer { padding: 34px 20px 18px; }
  .ea-footer__inner { grid-template-columns: 1fr; gap: 26px; }
  body.home .eliisabet-news-section .wp-block-post > .wp-block-group > .pos-relative {
    max-width: none !important;
    width: 100% !important;
  }
  body.home .eliisabet-news-section .wp-block-post-featured-image,
  body.home .eliisabet-news-section .wp-block-post-featured-image img {
    aspect-ratio: auto !important;
    max-width: none !important;
    width: 100% !important;
  }
  header.wp-block-template-part > .wp-block-group:first-of-type { padding-inline: 14px !important; }
  header.wp-block-template-part > .wp-block-group:first-of-type > .alignwide > .wp-block-group { gap: 8px; }
  header .eliisabet-language-switcher { gap: 4px !important; font-size: 12px !important; }
  header .eliisabet-language-switcher a { gap: 3px !important; }
  header.wp-block-template-part > .wp-block-group:nth-of-type(2) { padding: 10px 16px !important; }
  header.wp-block-template-part > .wp-block-group:nth-of-type(2) > .alignwide > .wp-block-group { align-items: center !important; display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; justify-content: space-between !important; }
  header.wp-block-template-part > .wp-block-group:nth-of-type(2) > .alignwide > .wp-block-group > .wp-block-group:first-child { align-items: center !important; display: flex !important; flex: 1 1 auto !important; flex-wrap: nowrap !important; gap: 8px !important; min-width: 0 !important; }
  header .wp-block-site-logo { flex: 0 0 auto; }
  header .wp-block-site-logo img { width: 40px !important; height: 40px !important; }
  header .wp-block-site-title, header .wp-block-site-title a { font-size: 16px !important; line-height: 1.1 !important; }
  header .wp-block-site-title { min-width: 0; }
  header .header-contact-info { display: block !important; flex: 0 0 auto !important; width: auto !important; }
  header .header-contact-info > .eliisabet-mobile-menu-proxy { display: inline-flex !important; min-height: 44px; }
  header .header-contact-info > .wp-block-group { display: none; }
  header.wp-block-template-part > .wp-block-group:nth-of-type(3) { padding-inline: 16px !important; }
  .eliisabet-home-hero { min-height: 390px !important; padding: 38px 18px !important; }
  .eliisabet-home-hero h1 { font-size: clamp(37px, 8vw, 53px) !important; }
  .eliisabet-home-hero .wp-block-table { display: none; }
  .ea-service-times { padding: 17px 18px; }
  .ea-service-times__inner { grid-template-columns: 1fr; }
  .ea-service-times__label { grid-column: auto; }
  .ea-service-times__item { border-left: 0; border-top: 1px solid #c7d5df; padding: 9px 0 0; }
  .eliisabet-home-faq-events, .eliisabet-news-section { padding: 32px 18px !important; }
  .eliisabet-home-faq-events .wp-block-columns { display: block !important; }
  .eliisabet-home-faq-events .wp-block-column + .wp-block-column { margin-top: 36px; }
  .eliisabet-news-section .wp-block-post-template { grid-template-columns: 1fr !important; }
  .eliisabet-news-section .ea-news-date { margin-inline: 18px !important; }
  .ea-inner-banner, body.page main > .wp-block-cover:first-child, .sundmused-pealkiri { min-height: 155px !important; padding: 22px 18px !important; }
  .ea-inner-banner::after, .sundmused-pealkiri::after, body.page main > .wp-block-cover:first-child::after { background: linear-gradient(90deg, rgb(248 250 252 / 88%), rgb(248 250 252 / 62%)); }
  .eliisabet-pika-lehe-paigutus { display: block !important; }
  .eliisabet-sisukord { position: static; margin-bottom: 28px; }
  .eliisabet-sisukord .ea-mobile-toc > summary { color: var(--ea-navy); display: block; font-size: 17px; font-weight: 700; list-style: none; min-height: 48px; padding: 13px 0; }
  .eliisabet-sisukord .ea-mobile-toc > summary::-webkit-details-marker { display: none; }
  .eliisabet-sisukord .ea-mobile-toc > summary::after { content: '⌄'; float: right; font-size: 24px; line-height: 20px; }
  .eliisabet-sisukord .ea-mobile-toc[open] > summary::after { transform: rotate(180deg); }
  .eliisabet-sisukord .ea-mobile-toc__body { padding: 8px 0 12px; }
  .eliisabet-sisukord .ea-mobile-toc__body > h2:first-child { display: none; }
  .tribe-events-view, .tribe-events-pg-template { padding-inline: 18px !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
