@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Playfair+Display:ital,wght@0,400;0,700;0,900&display=swap');

@font-face {
  font-family: 'Playfair Display Black Regular';
  src: url('https://assets.zyrosite.com/rg9rp8R7ztKdJrgU/Playfair%20Display%20Black%20Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Playfair Display Regular';
  src: url('https://assets.zyrosite.com/rg9rp8R7ztKdJrgU/Playfair%20Display%20Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root,
.page {
  --font-primary: 'Playfair Display', serif;
  --font-secondary: 'Montserrat', sans-serif;
  --nav-link-font-family: 'Playfair Display Regular', 'Playfair Display', serif;
}

body,
p,
.body,
li,
input,
textarea,
button,
label {
  font-family: 'Montserrat', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Playfair Display', serif;
}

[style*="Playfair Display Black Regular"] {
  font-family: 'Playfair Display Black Regular', 'Playfair Display', serif !important;
}

[style*="Playfair Display Regular"] {
  font-family: 'Playfair Display Regular', 'Playfair Display', serif !important;
}

[style*="Montserrat"] {
  font-family: 'Montserrat', sans-serif !important;
}

[style*="Amiri Quran"],
[style*="Roboto"] {
  font-family: 'Montserrat', sans-serif !important;
}

h1 [style*="Amiri Quran"],
h2 [style*="Amiri Quran"],
h3 [style*="Amiri Quran"],
h4 [style*="Amiri Quran"],
h5 [style*="Amiri Quran"],
h6 [style*="Amiri Quran"],
.text-box h1 [style*="Amiri Quran"],
.text-box h2 [style*="Amiri Quran"],
.text-box h3 [style*="Amiri Quran"],
.text-box h4 [style*="Amiri Quran"],
.text-box h5 [style*="Amiri Quran"],
.text-box h6 [style*="Amiri Quran"] {
  font-family: 'Playfair Display Regular', 'Playfair Display', serif !important;
}

.block-header__nav,
.block-header__nav a,
.block-header__nav .item-content,
.item-content,
a.item-content {
  font-family: 'Playfair Display Regular', 'Playfair Display', serif !important;
}

.text-box h6,
.text-box h6 span {
  font-family: 'Playfair Display Black Regular', 'Playfair Display', serif !important;
}

.text-box .body,
.text-box .body span,
.text-box p.body,
.text-box .body-large,
.text-box .body-large span,
.text-box .body-small,
.text-box .body-small span,
.text-box p,
.text-box p span {
  font-family: 'Montserrat', sans-serif !important;
}

/* Spacing tuned for Playfair Display + Montserrat (replaces Amiri Quran / Roboto metrics) */

.text-box h1,
.text-box h1 span,
h1 [style*="Amiri Quran"] {
  font-family: 'Playfair Display Regular', 'Playfair Display', serif !important;
  line-height: 1.35 !important;
  letter-spacing: 0.01em;
}

.text-box h2,
.text-box h2 span,
.text-box h3,
.text-box h3 span,
.text-box h4,
.text-box h4 span,
.text-box h5,
.text-box h5 span {
  font-family: 'Playfair Display Regular', 'Playfair Display', serif !important;
  line-height: 1.35 !important;
  letter-spacing: 0.01em;
}

.text-box h6,
.text-box h6 span {
  line-height: 1.4 !important;
  letter-spacing: 0.02em;
}

.text-box .body,
.text-box .body span,
.text-box p.body,
.text-box .body-large,
.text-box .body-large span,
.text-box .body-small,
.text-box .body-small span,
.text-box p,
.text-box p span {
  line-height: 1.55 !important;
}

/* Keep compact line-height for large single-line labels in fixed grid cells */
.text-box p.body[style*="--fontSizeDesktop: 32px"],
.text-box p.body[style*="--fontSizeDesktop: 24px"],
.text-box p.body[style*="--fontSizeMobile: 24px"],
#ai-2Xnvhf p.body {
  line-height: 1.25 !important;
}

.text-box h6 {
  margin-bottom: 0.45em;
}

.text-box h6:last-child {
  margin-bottom: 0;
}

/* Section headings sit in their own grid row — bump the gap to the body below */
.layout-element:has(.text-box > h3:only-child) {
  --m-element-margin: 0 0 20px 0 !important;
}

.block-header__nav,
.block-header__nav a,
.block-header__nav .item-content {
  line-height: 1.35;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 920px) {
  .text-box h1,
  .text-box h1 span {
    line-height: 1.3 !important;
  }

  .text-box h6 {
    margin-bottom: 0.35em;
  }

  .layout-element:has(.text-box > h3:only-child) {
    --m-element-margin: 0 0 18px 0 !important;
  }
}
