/* =========================================================
   Elvan Zengin – final production polish (Go-live Endabnahme)
   One local/system font family, fluid spacing, responsive UI.
   ========================================================= */

:root {
  --ez-font: system-ui, sans-serif;
  --ez-font-sans: var(--ez-font); /* legacy template alias */

  --ez-text-xs: 0.64rem;
  --ez-text-sm: clamp(0.78rem, 0.755rem + 0.08vw, 0.84rem);
  --ez-text-body: clamp(0.90rem, 0.875rem + 0.08vw, 0.96rem);
  --ez-text-body-detail: clamp(0.82rem, 0.795rem + 0.10vw, 0.88rem);
  --ez-text-subheading-detail: clamp(0.90rem, 0.865rem + 0.13vw, 0.98rem);
  --ez-text-lead: clamp(0.80rem, 0.765rem + 0.12vw, 0.88rem);
  --ez-text-h3: clamp(0.92rem, 0.89rem + 0.10vw, 0.98rem);
  --ez-text-h2: clamp(1.08rem, 1.00rem + 0.25vw, 1.26rem);
  --ez-text-h1: clamp(1.22rem, 1.08rem + 0.42vw, 1.52rem);

  --ez-weight-regular: 400;
  --ez-weight-medium: 500;
  --ez-weight-semibold: 600;
  --ez-line-body: 1.66;
  --ez-line-lead: 1.55;
  --ez-line-heading: 1.34;
  --ez-letter-heading: 0.045em;
  --ez-letter-ui: 0.075em;

  --ez-space-1: clamp(0.38rem, 0.3rem + 0.18vw, 0.5rem);
  --ez-space-2: clamp(0.65rem, 0.55rem + 0.22vw, 0.8rem);
  --ez-space-3: clamp(0.9rem, 0.75rem + 0.35vw, 1.15rem);
  --ez-space-4: clamp(1.2rem, 1rem + 0.5vw, 1.55rem);
  --ez-space-5: clamp(1.55rem, 1.25rem + 0.75vw, 2.05rem);
  --ez-space-6: clamp(1.85rem, 1.4rem + 1.2vw, 2.65rem);

  --ez-ink: #3c3b3b;
  --ez-muted: #686868;
  --ez-line: rgba(160, 160, 160, 0.34);
  --ez-accent: #2b9f95;
  --ez-bg: #ffffff;
  --ez-control: 44px;
}

/* ---------- Base / typography ---------- */
html {
  font-family: var(--ez-font);
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
body,
input,
select,
textarea,
button,
a,
p,
li,
h1,
h2,
h3,
h4,
h5,
h6,
#header,
#menu,
#footer,
.post,
.mini-post,
.blurb {
  font-family: var(--ez-font) !important;
}
body,
input,
select,
textarea {
  font-size: var(--ez-text-body);
  font-weight: var(--ez-weight-regular);
  line-height: var(--ez-line-body);
}
body { overflow-wrap: break-word; }
img { max-width: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--ez-weight-semibold);
  letter-spacing: var(--ez-letter-heading);
  line-height: var(--ez-line-heading);
}
h1 { font-size: var(--ez-text-h1); }
h2 { font-size: var(--ez-text-h2); }
h3 { font-size: var(--ez-text-h3); }

.post,
.post p,
.post li,
.blurb p {
  font-size: var(--ez-text-body);
  font-weight: var(--ez-weight-regular);
  line-height: var(--ez-line-body);
}

/* Quiet reference style: subtitles, introductory lines, dates and supporting text. */
.post > header .title p,
#intro header p,
.intro-highlight {
  color: var(--ez-muted);
  font-size: var(--ez-text-lead);
  font-weight: var(--ez-weight-regular);
  letter-spacing: 0.008em;
  line-height: var(--ez-line-lead);
}
.post > header .title p {
  text-transform: none;
  max-width: 58rem;
  margin-top: 0.45rem;
}
.post > header .meta .published,
.mini-post header .published,
ul.posts article header .published {
  color: #777;
  font-size: var(--ez-text-xs);
  font-weight: var(--ez-weight-regular);
  letter-spacing: 0.055em;
  line-height: 1.35;
}

.post > header .title h2 {
  font-size: var(--ez-text-h1);
  font-weight: var(--ez-weight-semibold);
  letter-spacing: var(--ez-letter-heading);
  line-height: var(--ez-line-heading);
}

/* ---------- Accessibility ---------- */
.skip-link {
  position: fixed;
  left: 0.75rem;
  top: 0.5rem;
  z-index: 20000;
  padding: 0.62rem 0.82rem;
  border: 2px solid var(--ez-ink);
  border-radius: 4px;
  background: #fff;
  color: var(--ez-ink) !important;
  font-size: 0.76rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.04em;
  text-decoration: none;
  transform: translateY(-150%);
  transition: transform 0.16s ease;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible {
  outline: 2px solid var(--ez-accent) !important;
  outline-offset: 3px;
}
.post, #sidebar, #footer, #menu, #header,
.post > header .title, .post > header .meta { min-width: 0; }
.post p, .post li, .post h1, .post h2, .post h3,
#footer, #menu a { overflow-wrap: anywhere; }

/* ---------- Images ---------- */
.img-featured-cover {
  display: block;
  width: 100%;
  height: 250px;
  object-fit: cover;
  object-position: center;
}
.img-mini-responsive {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.img-seal {
  display: block;
  width: 20%;
  max-width: 20%;
  height: auto;
  margin-bottom: var(--ez-space-4);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.10);
}
.image {
  position: relative;
  display: block;
  overflow: hidden;
}
.image img {
  transition: transform 0.22s ease;
  backface-visibility: hidden;
}
.image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(0,0,0,0);
  transition: background-color 0.22s ease;
}
@media (hover: hover) and (pointer: fine) {
  .image:hover img { transform: scale(1.025); }
  .image:hover::after { background: rgba(0,0,0,0.08); }
}


.single-featured-image {
  display: block;
  width: min(60%, 760px);
  height: auto;
  margin: 0 auto;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
}
.book-order {
  margin: var(--ez-space-6) 0;
  text-align: center;
}
.book-order__cover { margin: var(--ez-space-4) 0; }
.book-order__link { display: inline-block; }
.book-order__image {
  display: block;
  width: min(100%, 240px);
  height: auto;
  box-shadow: 0 4px 18px rgba(0,0,0,.15);
  transition: transform .20s ease, box-shadow .20s ease;
}
@media (hover: hover) and (pointer: fine) {
  .book-order__link:hover .book-order__image,
  .book-order__link:focus-visible .book-order__image {
    transform: scale(1.025);
    box-shadow: 0 7px 24px rgba(0,0,0,.20);
  }
}


/* Inline SVG icon system: no icon-font request. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.ez-icon {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
  max-width: 18px;
  max-height: 18px;
  flex: 0 0 auto;
  overflow: hidden;
}
.icon.ez-icon-link::before,
.header-icon-link::before { content: none !important; display: none !important; }
#header .main ul li > a.header-icon-link {
  display: grid;
  place-items: center;
  float: left;
  width: 4em;
  height: inherit;
  color: #777;
  text-indent: 0;
  overflow: visible;
}
#header .main ul li > a.header-icon-link .ez-icon { width: 1rem; height: 1rem; max-width: 16px; max-height: 16px; }
#header .main ul li > a.header-icon-link:hover,
#header .main ul li > a.header-icon-link:focus-visible { color: var(--ez-ink); }
#footer .icons .ez-icon { width: 1.08rem; height: 1.08rem; max-width: 18px; max-height: 18px; }
.mobile-contact-bar .ez-icon { width: 1rem; height: 1rem; max-width: 16px; max-height: 16px; }
.quick-access__link .ez-icon { width: 1.05rem; height: 1.05rem; max-width: 18px; max-height: 18px; }

/* ---------- Header / wordmark ---------- */
#header h1 {
  display: flex;
  align-items: center;
  line-height: 1;
}
#header h1 a {
  display: inline-flex;
  align-items: center;
  height: 100%;
  font-size: 0.82rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.055em;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
}
#header .links ul li a {
  font-size: 0.68rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.105em;
}
#header .main > ul { display: flex; align-items: stretch; }
#header .main ul li > a { color: #666; }

/* Language switcher – retain the approved understated line treatment. */
#header .main ul li.language-switcher-item {
  display: flex;
  align-items: center;
  height: inherit;
  padding: 0 0.78rem;
}
#header .main ul li.language-switcher-item > .language-switcher {
  display: flex;
  float: none;
  align-items: center;
  justify-content: center;
}
.language-switcher {
  gap: 0.7rem;
  padding: 0;
  line-height: 1;
}
.language-switcher button {
  appearance: none;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.15rem;
  min-height: 2.2rem;
  height: 2.2rem;
  padding: 0 0.18rem;
  margin: 0;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: #777 !important;
  box-shadow: none !important;
  font-size: 0.66rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.09em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transform: none !important;
  filter: none !important;
  transition: color 0.16s ease;
}
.language-switcher button::after {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  bottom: 0.2rem;
  height: 1px;
  background: transparent;
  transition: background-color 0.16s ease, left 0.16s ease, right 0.16s ease;
}
.language-switcher button:hover,
.language-switcher button:focus-visible,
.language-switcher button[aria-pressed="true"],
.language-switcher button[aria-pressed="true"]:hover,
.language-switcher button[aria-pressed="true"]:focus-visible {
  color: var(--ez-ink) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.language-switcher button[aria-pressed="true"]::after {
  left: 10%;
  right: 10%;
  background: var(--ez-accent);
}

/* ---------- Buttons ---------- */
a.button,
button.button,
button:not(.back-to-top):not([data-lang]),
.mobile-contact-bar__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.1rem;
  height: auto !important;
  max-width: 100%;
  padding: 0.72rem 1.55rem !important;
  font-size: 0.72rem !important;
  font-weight: var(--ez-weight-semibold) !important;
  letter-spacing: var(--ez-letter-ui) !important;
  line-height: 1.25 !important;
  text-align: center !important;
  white-space: normal;
  transition: transform 0.15s ease, border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
a.button.large,
button.button.large {
  min-height: 3.25rem;
  padding: 0.76rem 1.75rem !important;
  font-size: 0.73rem !important;
}
input[type="submit"],
input[type="reset"],
input[type="button"] {
  height: 3.1rem !important;
  min-height: 3.1rem;
  padding: 0 1.55rem !important;
  font-size: 0.72rem !important;
  font-weight: var(--ez-weight-semibold) !important;
  letter-spacing: var(--ez-letter-ui) !important;
  line-height: 1 !important;
  text-align: center !important;
}
@media (hover: hover) and (pointer: fine) {
  a.button:hover,
  button.button:hover,
  input[type="submit"]:hover,
  input[type="reset"]:hover,
  input[type="button"]:hover { transform: translateY(-1px); }
}

/* ---------- Global layout / fluid spacing ---------- */
#wrapper { padding: var(--ez-space-6); }
.post { margin-bottom: var(--ez-space-5); }
.post > header { margin-bottom: var(--ez-space-5); }
.post > header .title {
  padding: clamp(1.75rem, 2.6vw, 2.55rem) clamp(1.5rem, 2.8vw, 2.4rem);
}
.post > header .meta {
  min-width: clamp(13rem, 15vw, 15rem);
  width: clamp(13rem, 15vw, 15rem);
  padding: clamp(1.75rem, 2.6vw, 2.55rem) clamp(1.35rem, 2.4vw, 2.15rem) clamp(1.2rem, 2vw, 1.7rem);
}
.post section + footer,
.post p + footer,
.post ul + footer { margin-top: var(--ez-space-4); }
.post > footer .actions,
ul.actions { margin-bottom: var(--ez-space-3); }
#sidebar { margin-right: var(--ez-space-6); }
#sidebar > * {
  margin-top: var(--ez-space-5);
  padding-top: var(--ez-space-5);
}
#intro { margin-bottom: var(--ez-space-5); }
#intro header p { margin-bottom: 0; }
.blurb p:last-child { margin-bottom: 0; }

/* ---------- Menu / quick access ---------- */
#menu > * {
  padding-top: 2.35rem;
  padding-bottom: 2.35rem;
}
#menu .links > li {
  margin-top: 1.1rem;
  padding-top: 1.1rem;
}
#menu .links > li a .menu-link-title {
  display: block;
  margin: 0;
  color: var(--ez-ink);
  font-size: 0.72rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
  transition: color 0.16s ease;
}
#menu .links > li a:hover .menu-link-title,
#menu .links > li a:focus-visible .menu-link-title { color: #2ebaae; }
#menu .quick-access {
  padding-top: 1.5rem;
  padding-bottom: 1.65rem;
}
#menu .quick-access h2 {
  margin: 0 0 0.8rem;
  color: #777;
  font-size: 0.67rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.quick-access__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
}
.quick-access__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  border: 1px solid rgba(60,59,59,.27) !important;
  border-radius: 50%;
  background: #fff;
  color: var(--ez-ink) !important;
  box-shadow: none !important;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transform: none;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.quick-access__link .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1rem;
  height: 1.1rem;
  font-size: 1.02rem;
  line-height: 1;
}
.quick-access__link:hover,
.quick-access__link:focus-visible {
  color: var(--ez-accent) !important;
  background: rgba(43,159,149,.055);
  border-color: rgba(43,159,149,.55) !important;
  transform: translateY(-1px);
}
.quick-access__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.quick-access__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.9rem;
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(160,160,160,.25);
}
.quick-access__legal a {
  color: #777 !important;
  border-bottom: 1px dotted rgba(100,100,100,.55);
  font-size: 0.67rem;
  font-weight: var(--ez-weight-regular);
  letter-spacing: 0.035em;
  line-height: 1.45;
  text-decoration: none;
  text-transform: none;
}
.quick-access__legal a:hover,
.quick-access__legal a:focus-visible {
  color: var(--ez-ink) !important;
  border-bottom-color: var(--ez-ink);
}

/* ---------- Reading cards ---------- */
.mini-posts { align-items: stretch; }
.mini-post {
  height: 100%;
  min-width: 0;
}
.mini-post .image {
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
}
.mini-post .image img,
.mini-post .img-mini-responsive {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.mini-post header {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 9rem;
  min-height: 9rem;
  padding: 1.25rem 4.6rem 1.25rem 1.25rem;
}
.mini-post header h3 {
  margin: 0 0 0.65rem;
  font-size: 0.77rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: 0.055em;
  line-height: 1.42;
  hyphens: auto;
}
.mini-post header .published { margin: auto 0 0; }
.mini-post header .author {
  position: absolute;
  top: auto;
  right: 1.2rem;
  bottom: 1.2rem;
  display: grid;
  place-items: center;
  width: var(--ez-control);
  height: var(--ez-control);
  min-width: var(--ez-control);
  min-height: var(--ez-control);
  border-radius: 50%;
}
.mini-post header .author img {
  width: var(--ez-control);
  height: var(--ez-control);
  object-fit: cover;
  border-radius: 50%;
}

/* ---------- Footer ---------- */
#footer { margin-top: var(--ez-space-5); }
#footer .icons {
  margin: 0 0 0.55rem;
  color: #595959;
}
#footer .icons li { padding: 0 0.18rem; }
#footer .icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  border: 0;
  border-radius: 50%;
  color: #555;
  font-size: 1.08rem;
  text-decoration: none;
  transition: color .16s ease, background-color .16s ease;
}
#footer .icons a:hover,
#footer .icons a:focus-visible {
  color: #2f2f2f;
  background: rgba(60,59,59,.07);
}
#footer .copyright {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.22rem 0.5rem;
  margin: 0;
  color: #777;
  font-size: var(--ez-text-xs);
  font-weight: var(--ez-weight-regular);
  letter-spacing: 0.025em;
  line-height: 1.55;
  text-transform: none;
}
body.single #footer .copyright { justify-content: center; }
#footer .copyright .footer-item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
#footer .copyright .footer-item + .footer-item::before {
  content: "|";
  color: #aaa;
  margin-right: 0.5rem;
}
#footer .copyright a {
  color: #6d6d6d;
  border-bottom: 1px dotted #aaa;
  text-decoration: none;
}
#footer .copyright a:hover,
#footer .copyright a:focus-visible {
  color: #2f2f2f;
  border-bottom-style: solid;
  border-bottom-color: #2f2f2f;
}

/* ---------- Back to top ---------- */
.back-to-top {
  position: fixed;
  right: calc(1.25rem + env(safe-area-inset-right));
  bottom: calc(1.25rem + env(safe-area-inset-bottom));
  z-index: 9997;
  display: grid;
  place-items: center;
  width: var(--ez-control);
  height: var(--ez-control);
  min-width: var(--ez-control);
  min-height: var(--ez-control);
  padding: 0;
  border: 1px solid rgba(60,59,59,.48);
  border-radius: 50%;
  background: rgba(255,255,255,.97);
  color: var(--ez-ink);
  box-shadow: 0 5px 18px rgba(0,0,0,.10);
  line-height: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .20s ease, transform .20s ease, background-color .16s ease, border-color .16s ease;
}
.back-to-top__icon {
  display: block;
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
  margin: 0;
  overflow: visible;
  pointer-events: none;
}
.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible {
  background: #fff;
  border-color: rgba(43,159,149,.65);
  transform: translateY(-1px) !important;
}

/* ---------- Mobile direct-contact bar ---------- */
.mobile-contact-bar { display: none; }

/* ---------- Responsive ---------- */
@media screen and (max-width: 1280px) {
  #wrapper { padding: clamp(1.7rem, 2.4vw, 2.25rem); }
  #sidebar {
    margin-right: 0;
    overflow-x: hidden;
  }
}

/* Critical compact-header breakpoint: eliminate the former title/date dead space. */
@media screen and (max-width: 980px) {
  .post > header {
    display: flex;
    flex-direction: column;
    gap: clamp(0.45rem, 1.2vw, 0.75rem);
    padding: clamp(1.35rem, 2.7vw, 1.95rem) clamp(1.3rem, 3vw, 2rem) clamp(0.9rem, 1.8vw, 1.2rem);
  }
  .post > header .title {
    flex: 0 1 auto;
    margin: 0;
    padding: 0;
    text-align: center;
  }
  .post > header .title p {
    margin: 0.38rem auto 0;
  }
  .post > header .meta {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border-left: 0;
    text-align: center;
  }
  .post > header .meta > * {
    margin: 0;
    padding: 0;
    border-left: 0;
  }
  .post > header .meta .published { margin: 0; }
}

@media screen and (min-width: 737px) and (max-width: 980px) {
  .post {
    left: calc(-1 * clamp(1.7rem, 2.4vw, 2.25rem));
    width: calc(100% + (2 * clamp(1.7rem, 2.4vw, 2.25rem)));
  }
}

@media screen and (max-width: 736px) {
  body {
    padding-top: 2.75em;
    padding-bottom: calc(72px + env(safe-area-inset-bottom));
  }
  #wrapper { padding: 1.15rem; }
  .post {
    left: -1.15rem;
    width: calc(100% + 2.3rem);
    margin-bottom: 1.35rem;
    padding: 1.15rem 1.15rem 0.2rem;
  }
  .post > header {
    left: -1.15rem;
    width: calc(100% + 2.3rem);
    margin: -1.15rem 0 1.15rem;
    padding: clamp(1.25rem, 5vw, 1.65rem) 1.15rem clamp(0.78rem, 3vw, 1rem);
    gap: clamp(0.38rem, 2vw, 0.58rem);
  }
  .post > .image.featured {
    margin-left: -1.15rem;
    margin-top: calc(-1.15rem - 1px);
    width: calc(100% + 2.3rem);
  }
  .post > header .title h2 { font-size: clamp(1.08rem, 4.5vw, 1.24rem); }
  .post > header .title p { font-size: clamp(0.78rem, 3.2vw, 0.84rem); }

  #header h1 { padding-left: 0.85rem; }
  #header h1 a {
    font-size: 0.74rem;
    letter-spacing: 0.04em;
  }
  #header .main ul li.language-switcher-item { padding: 0 0.4rem; }
  .language-switcher { gap: 0.48rem; }
  .language-switcher button {
    min-width: 1.9rem;
    min-height: 2rem;
    height: 2rem;
    padding: 0 0.05rem;
    font-size: 0.61rem;
  }
  #menu > * { padding: 1.35rem 1.5rem; }
  #menu .links > li {
    margin-top: 0.9rem;
    padding-top: 0.9rem;
  }

  .mini-posts { width: 100%; }
  .mini-posts > * {
    width: 100%;
    margin: 0 0 1.35rem;
  }
  .mini-post header {
    height: 8.6rem;
    min-height: 8.6rem;
    padding: 1.1rem 4.4rem 1.1rem 1.1rem;
  }
  .mini-post header .author {
    right: 1.05rem;
    bottom: 1.05rem;
  }

  .single-featured-image { width: min(78%, 620px); }

  .img-seal {
    width: min(38%, 9rem);
    max-width: 9rem;
  }

  #footer .copyright {
    justify-content: center;
    gap: 0.28rem 0.75rem;
    font-size: 0.63rem;
    line-height: 1.55;
    text-align: center;
  }
  #footer .copyright .footer-item + .footer-item::before { display: none; }

  .mobile-contact-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    gap: 0.5rem;
    padding: 0.5rem calc(0.75rem + env(safe-area-inset-right)) calc(0.5rem + env(safe-area-inset-bottom)) calc(0.75rem + env(safe-area-inset-left));
    background: #f4f4f4;
    border-top: 1px solid rgba(160,160,160,.45);
    box-shadow: 0 -4px 14px rgba(0,0,0,.06);
  }
  .mobile-contact-bar__link {
    flex: 1 1 0;
    gap: 0.45rem;
    min-height: 46px;
    padding: 0.52rem 0.62rem !important;
    border-radius: 6px;
    font-size: 0.71rem !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap;
  }
  .mobile-contact-bar__link--primary {
    border: 1px solid var(--ez-ink);
    background: var(--ez-ink);
    color: #fff !important;
  }
  .mobile-contact-bar__link--secondary {
    border: 1px solid #5d5d5d;
    background: #fff;
    color: var(--ez-ink) !important;
  }
  .back-to-top {
    right: calc(0.9rem + env(safe-area-inset-right));
    bottom: calc(86px + env(safe-area-inset-bottom));
  }
}

@media screen and (min-width: 481px) and (max-width: 1280px) {
  .mini-posts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    width: 100%;
  }
  .mini-posts > * {
    width: auto;
    margin: 0;
  }
}

@media screen and (min-width: 1281px) {
  .mini-posts > .mini-post { width: 100%; }
}

@media screen and (max-width: 390px) {
  #header h1 a { font-size: 0.69rem; }
  #header .main ul li.language-switcher-item {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  .language-switcher { gap: 0.34rem; }
  .language-switcher button {
    min-width: 1.75rem;
    font-size: 0.58rem;
  }
  .mobile-contact-bar__link {
    font-size: 0.68rem !important;
    padding-left: 0.42rem !important;
    padding-right: 0.42rem !important;
  }
}

@media screen and (min-width: 1681px) {
  #wrapper {
    width: min(94vw, 110rem);
    max-width: 110rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   Arbeitsauftrag 5 – final go-live cleanup
   ========================================================= */

/* Headers without the former generic date stay balanced and keep one continuous divider. */
.post > header .title:only-child {
  flex: 1 1 100%;
  width: 100%;
}

/* Compact, consistent title-image treatment on all detail pages. */
.post > .image.featured {
  margin-bottom: clamp(1.2rem, 1.8vw, 1.75rem);
}
.post > .image.featured .single-featured-image {
  display: block;
  width: min(48%, 620px);
  max-height: min(46vh, 500px);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}

/* Homepage featured imagery remains calm and consistent without hiding content below the fold. */
#main > .post > a.image.featured .img-featured-cover {
  height: clamp(190px, 19vw, 225px);
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 980px) {
  .post > header .title:only-child {
    padding: 0;
    text-align: center;
  }
  .post > .image.featured .single-featured-image {
    width: min(62%, 500px);
    max-height: min(42vh, 420px);
  }
}

@media screen and (max-width: 736px) {
  .post > .image.featured {
    margin-bottom: 1.05rem;
  }
  .post > .image.featured .single-featured-image {
    width: min(70%, 360px);
    max-height: min(38vh, 340px);
  }
  #main > .post > a.image.featured .img-featured-cover {
    height: clamp(170px, 52vw, 205px);
  }
}

@media screen and (max-width: 420px) {
  .post > .image.featured .single-featured-image {
    width: min(74%, 300px);
    max-height: 300px;
  }
}

/* Date-free reading cards use the recovered vertical space instead of leaving a visual gap. */
.mini-post header {
  height: 7.4rem;
  min-height: 7.4rem;
}
@media screen and (max-width: 736px) {
  .mini-post header {
    height: 7.1rem;
    min-height: 7.1rem;
  }
}


/* =========================================================
   Arbeitsauftrag 6 – final content scale, cover crops & nav position
   ========================================================= */

/* Detail-page reading scale: intentionally matched to the approved quiet subtitle tone. */
body.page-detail .post p,
body.page-detail .post li,
body.page-detail .post blockquote,
body.page-detail .post dd,
body.page-detail .post dt {
  font-size: var(--ez-text-body-detail);
  line-height: 1.68;
}
body.page-detail .post p { max-width: 78ch; }
body.page-detail .post section > h2,
body.page-detail .post section > h3 {
  font-size: var(--ez-text-subheading-detail);
  line-height: 1.42;
  letter-spacing: 0.045em;
}
body.page-detail .post section > h2 { font-weight: var(--ez-weight-semibold); }
body.page-detail .post section > h3 { font-weight: var(--ez-weight-medium); }
body.page-detail .post section + section { margin-top: clamp(1.3rem, 1.05rem + 0.55vw, 1.85rem); }

/* Primary detail hero images fill the frame edge-to-edge with deliberate, page-specific crops. */
body.page-primary .post > .image.featured {
  width: 100%;
  aspect-ratio: 16 / 7;
  max-height: 390px;
  overflow: hidden;
  background: transparent;
}
body.page-primary .post > .image.featured .single-featured-image {
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: cover;
  box-shadow: none;
}
body.page-about .post > .image.featured .single-featured-image { object-position: 50% 48%; }
body.page-counselling .post > .image.featured .single-featured-image { object-position: 58% 60%; }
body.page-couples .post > .image.featured .single-featured-image { object-position: 50% 50%; }
body.page-work .post > .image.featured .single-featured-image { object-position: 50% 16%; }

/* Center the complete book-order unit in every language. */
.book-order {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.book-order > h2,
.book-order > h3,
.book-order > p,
.book-order__cover {
  width: 100%;
  text-align: center;
}
.book-order__cover {
  display: flex;
  justify-content: center;
  align-items: center;
}
.book-order__link {
  display: block;
  width: fit-content;
  margin-inline: auto;
}
.book-order__image { margin-inline: auto; }
.book-order > p {
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

/* Scroll-position indicator: same restrained accent line language as the DE/EN/TR switcher. */
#header .links ul li a {
  position: relative;
  display: inline-flex;
  align-items: center;
}
#header .links ul li a::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: -0.48rem;
  height: 1px;
  background: transparent;
  transition: background-color .16s ease, left .16s ease, right .16s ease;
}
#header .links ul li a.ez-nav-active::after,
#header .links ul li a[aria-current]::after {
  left: 7%;
  right: 7%;
  background: var(--ez-accent);
}
#menu .links > li a .menu-link-title {
  position: relative;
  display: inline-block;
}
#menu .links > li a .menu-link-title::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: -0.28rem;
  height: 1px;
  background: transparent;
  transition: background-color .16s ease, left .16s ease, right .16s ease;
}
#menu .links > li a.ez-nav-active .menu-link-title::after,
#menu .links > li a[aria-current] .menu-link-title::after {
  left: 0;
  right: 0;
  background: var(--ez-accent);
}
.scrollspy-sentinel {
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
#zur-person,
#psychologische-beratung,
#paartherapie,
#mein-werk,
#start-inhalt {
  scroll-margin-top: 4.5rem;
}

@media screen and (max-width: 736px) {
  body.page-primary .post > .image.featured {
    aspect-ratio: 16 / 9;
    max-height: 300px;
  }
  body.page-about .post > .image.featured .single-featured-image { object-position: 50% 47%; }
  body.page-counselling .post > .image.featured .single-featured-image { object-position: 58% 58%; }
  body.page-couples .post > .image.featured .single-featured-image { object-position: 50% 50%; }
  body.page-work .post > .image.featured .single-featured-image { object-position: 50% 15%; }
  body.page-detail .post p,
  body.page-detail .post li,
  body.page-detail .post blockquote,
  body.page-detail .post dd,
  body.page-detail .post dt {
    line-height: 1.64;
  }
  #zur-person,
  #psychologische-beratung,
  #paartherapie,
  #mein-werk,
  #start-inhalt {
    scroll-margin-top: 3.55rem;
  }
}

/* Final mobile hero edge-to-edge correction: fill the complete post frame, never leave side gutters. */
@media screen and (max-width: 736px) {
  body.page-primary .post > .image.featured {
    width: calc(100% + 2.3rem);
    margin-left: -1.15rem;
  }
}

/* =========================================================
   Arbeitsauftrag 7 – unified content grid & final layout harmony
   ========================================================= */

:root {
  --ez-detail-shell: 86rem;
  --ez-detail-content: 72rem;
  --ez-copy-measure: 92ch;
  --ez-reading-measure: 78ch;
  --ez-layout-gap: clamp(1rem, 0.8rem + 0.7vw, 1.75rem);
  --ez-section-gap: clamp(1.45rem, 1.05rem + 0.9vw, 2.35rem);
}

/* A single centered axis for every editorial/detail page. */
body.page-detail #main {
  width: 100%;
  max-width: var(--ez-detail-shell);
  margin-inline: auto;
}
body.page-detail .post {
  width: 100%;
  margin-inline: auto;
}
body.page-detail .post > header,
body.page-detail .post > .image.featured {
  box-sizing: border-box;
}
body.page-detail .post > section:not(.book-order) {
  box-sizing: border-box;
  width: min(100%, var(--ez-detail-content));
  margin-inline: auto;
}

/* Keep readable lines while centering the text block instead of leaving all spare space on the right. */
body.page-detail .post > section:not(.book-order) > h2,
body.page-detail .post > section:not(.book-order) > h3,
body.page-detail .post > section:not(.book-order) > h4,
body.page-detail .post > section:not(.book-order) > p,
body.page-detail .post > section:not(.book-order) > ul,
body.page-detail .post > section:not(.book-order) > ol,
body.page-detail .post > section:not(.book-order) > blockquote,
body.page-detail .content-section > h2,
body.page-detail .content-section > h3,
body.page-detail .content-section > h4,
body.page-detail .content-section > p,
body.page-detail .content-section > ul,
body.page-detail .content-section > ol,
body.page-detail .content-section > blockquote {
  width: min(100%, var(--ez-copy-measure));
  max-width: var(--ez-copy-measure);
  margin-left: auto;
  margin-right: auto;
}

/* The long-form essays intentionally use a slightly tighter reading measure. */
body.page-reading .post > section:not(.book-order) {
  width: min(100%, var(--ez-reading-measure));
  max-width: var(--ez-reading-measure);
}
body.page-reading .post > section:not(.book-order) > h2,
body.page-reading .post > section:not(.book-order) > h3,
body.page-reading .post > section:not(.book-order) > p,
body.page-reading .post > section:not(.book-order) > ul,
body.page-reading .post > section:not(.book-order) > ol,
body.page-reading .post > section:not(.book-order) > blockquote {
  width: 100%;
  max-width: none;
}

/* Counselling/couples components: centralized here instead of duplicated inline CSS. */
body.page-counselling .cta-container,
body.page-couples .cta-container {
  width: min(100%, var(--ez-detail-content));
  margin: var(--ez-section-gap) auto;
  text-align: center;
}
body.page-counselling .cta-button,
body.page-couples .cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.1rem;
  max-width: 100%;
  padding: 0.72rem 1.55rem;
  border-radius: 6px;
  background-color: #3b6f6b;
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: var(--ez-weight-semibold);
  letter-spacing: var(--ez-letter-ui);
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s ease, transform .16s ease;
}
@media (hover: hover) and (pointer: fine) {
  body.page-counselling .cta-button:hover,
  body.page-couples .cta-button:hover {
    background-color: #2f5a56;
    transform: translateY(-1px);
  }
}
body.page-counselling .content-section,
body.page-couples .content-section {
  box-sizing: border-box;
  width: min(100%, var(--ez-detail-content));
  margin: var(--ez-section-gap) auto;
}
body.page-counselling .content-section h3,
body.page-couples .content-section h3 {
  margin-bottom: clamp(.7rem, .55rem + .25vw, .95rem);
}
body.page-counselling .content-section p,
body.page-counselling .content-section ul,
body.page-couples .content-section p,
body.page-couples .content-section ul {
  margin-bottom: clamp(.85rem, .72rem + .25vw, 1.1rem);
}
body.page-counselling .intro-highlight,
body.page-couples .intro-highlight {
  font-size: var(--ez-text-body-detail);
  line-height: 1.68;
}
body.page-counselling .address-box,
body.page-couples .address-box {
  box-sizing: border-box;
  width: min(100%, var(--ez-copy-measure));
  max-width: var(--ez-copy-measure);
  margin: clamp(1rem, .8rem + .35vw, 1.35rem) auto;
  padding: clamp(1rem, .82rem + .4vw, 1.35rem) clamp(1.15rem, .9rem + .6vw, 1.65rem);
  border-left: 4px solid #3b6f6b;
  border-radius: 6px;
  background: rgba(59, 111, 107, .08);
}
body.page-counselling .address-box p,
body.page-couples .address-box p {
  width: 100%;
  max-width: none;
  margin: 0;
}
body.page-counselling .address-box { text-align: center; }

/* Pair-therapy practice section uses the available desktop width deliberately instead of leaving a dead right side. */
@media screen and (min-width: 901px) {
  body.page-couples .practice-section {
    display: grid;
    grid-template-columns: minmax(15rem, .78fr) minmax(0, 1.22fr);
    column-gap: clamp(1.8rem, 1.2rem + 1.7vw, 3.4rem);
    row-gap: .8rem;
    align-items: stretch;
  }
  body.page-couples .practice-section > h3 {
    grid-column: 1 / -1;
    width: min(100%, var(--ez-copy-measure));
    max-width: var(--ez-copy-measure);
    margin-left: auto;
    margin-right: auto;
  }
  body.page-couples .practice-section > .address-box {
    grid-column: 1;
    grid-row: 2 / span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    min-height: 100%;
    margin: 0;
    text-align: center;
  }
  body.page-couples .practice-section > p {
    grid-column: 2;
    width: 100%;
    max-width: none;
    margin: 0;
    align-self: center;
  }
}

/* About/work pages share the same centered text axis. */
body.page-about .post > section > ul,
body.page-work .post > section:not(.book-order) > p,
body.page-work .post > section:not(.book-order) > h2,
body.page-work .post > section:not(.book-order) > h3 {
  width: min(100%, var(--ez-copy-measure));
  max-width: var(--ez-copy-measure);
  margin-left: auto;
  margin-right: auto;
}

/* Keep the visual frame calm on very large displays; no endlessly stretched article surfaces. */
@media screen and (min-width: 1600px) {
  body.page-detail #wrapper {
    width: min(94vw, 96rem);
  }
}

/* Tablet: retain generous but even gutters and collapse the practice composition early enough. */
@media screen and (max-width: 980px) {
  :root {
    --ez-detail-content: 100%;
    --ez-copy-measure: 88ch;
  }
  body.page-detail .post > section:not(.book-order),
  body.page-counselling .content-section,
  body.page-couples .content-section,
  body.page-counselling .cta-container,
  body.page-couples .cta-container {
    width: 100%;
    max-width: none;
  }
}

/* Mobile: use the complete safe content width; no artificial narrow columns. */
@media screen and (max-width: 736px) {
  :root {
    --ez-copy-measure: 100%;
    --ez-reading-measure: 100%;
  }
  body.page-detail .post > section:not(.book-order),
  body.page-detail .content-section,
  body.page-reading .post > section:not(.book-order) {
    width: 100%;
    max-width: none;
  }
  body.page-detail .post > section:not(.book-order) > h2,
  body.page-detail .post > section:not(.book-order) > h3,
  body.page-detail .post > section:not(.book-order) > p,
  body.page-detail .post > section:not(.book-order) > ul,
  body.page-detail .post > section:not(.book-order) > ol,
  body.page-detail .content-section > h2,
  body.page-detail .content-section > h3,
  body.page-detail .content-section > p,
  body.page-detail .content-section > ul,
  body.page-detail .content-section > ol {
    width: 100%;
    max-width: none;
  }
  body.page-counselling .cta-button,
  body.page-couples .cta-button {
    width: 100%;
    max-width: 100%;
    min-height: 3rem;
    padding: .7rem 1rem;
  }
  body.page-counselling .address-box,
  body.page-couples .address-box {
    width: 100%;
    max-width: none;
    padding: 1rem;
  }
}


/* Detail pages are single-column documents; prevent the legacy homepage flex shell
   from treating the footer as a desktop sidebar. */
body.page-detail #wrapper {
  display: block;
}
/* =========================================================
   Arbeitsauftrag 8 – final alignment, reading heroes & footer parity
   ========================================================= */

/* One visual footer rule everywhere: quiet, left-aligned and allowed to wrap. */
#footer,
body.single #footer,
body.page-detail #footer,
body.page-legal #footer,
body.page-error #footer {
  width: 100%;
  text-align: left !important;
}
#footer .icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
#footer .copyright,
body.single #footer .copyright,
body.page-detail #footer .copyright {
  justify-content: flex-start !important;
  text-align: left;
}

/* The four Lesenswert detail pages now use the same full-width hero frame as
   the primary detail pages instead of the legacy small centered image. */
body.page-reading .post > .image.featured {
  width: 100%;
  aspect-ratio: 16 / 7;
  max-height: 390px;
  overflow: hidden;
  background: #f4f4f2;
}
body.page-reading .post > .image.featured .single-featured-image {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: cover;
  box-shadow: none;
}
/* Per-image focal points preserve the intended motif under the shared crop. */
body.page-reading .post > .image.featured img[src$="/1.jpg"],
body.page-reading .post > .image.featured img[src="images/1.jpg"] { object-position: 50% 52%; }
body.page-reading .post > .image.featured img[src$="/2.jpg"],
body.page-reading .post > .image.featured img[src="images/2.jpg"] { object-position: 50% 51%; }
body.page-reading .post > .image.featured img[src$="/3.jpg"],
body.page-reading .post > .image.featured img[src="images/3.jpg"] { object-position: 50% 50%; }
body.page-reading .post > .image.featured img[src$="/4.jpg"],
body.page-reading .post > .image.featured img[src="images/4.jpg"] { object-position: 50% 46%; }

/* Keep article copy on the same centered axis while preserving left-aligned type. */
body.page-detail .post > section:not(.book-order),
body.page-reading .post > section:not(.book-order) {
  text-align: left;
}
body.page-detail .post > section:not(.book-order) > h2,
body.page-detail .post > section:not(.book-order) > h3,
body.page-detail .post > section:not(.book-order) > h4,
body.page-detail .post > section:not(.book-order) > p,
body.page-detail .post > section:not(.book-order) > ul,
body.page-detail .post > section:not(.book-order) > ol,
body.page-detail .post > section:not(.book-order) > blockquote {
  text-align: left;
}

@media screen and (max-width: 736px) {
  /* Match the already approved primary-page mobile image frame. */
  body.page-reading .post > .image.featured {
    width: calc(100% + 2.3rem);
    margin-left: -1.15rem;
    aspect-ratio: 16 / 9;
    max-height: 330px;
  }
  #footer .copyright {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.18rem;
  }
  #footer .copyright .footer-item + .footer-item::before {
    display: none;
  }
}
