/* MALHUT: readable functional text. Decorative titles and brand fonts are preserved.
 * Selectors name our own components: do not change Elementor or third-party widgets.
 * Specificity also covers legacy styles printed inside Elementor HTML widgets.
 */
html body[class] :is(.mma-auth, .mma-dashboard) {
  font-size: 16px;
  font-weight: 400;
  --mma-gold-dk: #765b3b;
}

html body[class] :is(.mabout__text, .mjp__intro, .mlp__p, .mlg-ecard__desc, .mlg-egrid-empty__copy) {
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}
html body.home #events .mlg-ecard__desc { font-size: 17px !important; }
html body[class] :is(.malhut-registration-card__price, .malhut-event-card__meta) { color: #765b3b !important; }
html body[class] :is(.malhut-registration-form, .mma-form) [data-mrv] { opacity: 1 !important; transform: none !important; }
html body[class] #mlgMatchForm :is(input,textarea,select) { font-size: 16px !important; font-weight: 400 !important; }
html body[class] #mlgMatchForm .mlg-pill { font-size: 15px; font-weight: 400; min-height: 44px; }
html body[class] #mlgMatchForm .mlg-pill:focus-visible { outline: 2px solid #765b3b; outline-offset: 3px; }
html body[class] .mabh__tagline { font-size: 18px !important; font-weight: 400 !important; line-height: 1.5 !important; }
html body[class] .mabh__link { font-size: 14px !important; font-weight: 400 !important; letter-spacing: .06em !important; line-height: 1.5 !important; }

html body[class] :is(.mhero__eyebrow, .mahero__eyebrow, .mabout__label, .mabh__eyebrow, .mjp__eyebrow, .mlp__eyebrow, .mlg-eyebrow, .mlg-eh-eye, .malhut-single-gallery__eyebrow, .mlg-egrid-empty__eyebrow, .mma-page-head small) {
  color: #765b3b !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  line-height: 1.5 !important;
}
html body[class] :is(.mabout__stat-label, .mabout__caption-text, .mlg-ecard__meta, .mlg-ecard__date-mo, .malhut-event-facts dt, .malhut-event-host span, .mma-list-row time, .mma-stats span) {
  color: #765b3b !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
  line-height: 1.5 !important;
}
html body[class] :is(.mlg-ecard__meta, .malhut-event-card__meta) { flex-wrap: wrap; }

/* Form labels, values and consent must remain readable on a phone, including iOS. */
html body[class] :is(.mma-form label > span:first-child, .mma-choice-group legend, .mlg-flabel, .mjr-label, .mjp-field > span, .mcrown__field > span, .malhut-registration-form label) {
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .025em !important;
  line-height: 1.5 !important;
}
html body[class] :is(.mma-form, .malhut-registration-form, .mjp-form, .mjr-form, .mcrown__form) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea),
html body[class] :is(.mlg-field, .mjr-input, .mjr-select, .mjp-field input, .mcrown__field input, .ded-field, .own-inp, .custom-input) {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  min-height: 48px;
  max-width: 100%;
}
html body[class] :is(.mma-consent, .mma-consent span, .mma-form-note, .mma-form label small, .mma-remove-photo span, .mma-choice span, .malhut-registration-form small, .malhut-consent, .mlg-agree-label, .mcrown__privacy) {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
}
html body[class] :is(.mma-consent, .malhut-consent, .mlg-agree-label) a {
  text-decoration: underline;
  text-underline-offset: .16em;
}
html body[class] :is(.mlg-ferr, .mlg-err-bar, .mlg-d-error, .mjr-error, .mma-message, .malhut-form-message) {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
html body[class] :is(.mma-auth, .mma-dashboard) :is(.mma-primary, .mma-secondary, .mma-resume, .mma-tab, .mma-nav button, .mma-card-head button, .mma-menu-toggle) {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  line-height: 1.4 !important;
  min-height: 44px !important;
  white-space: normal;
}
html body[class] :is(.mma-status, .mma-sidebar__bottom, .mma-member small) {
  font-size: 13px !important;
  letter-spacing: .025em;
  line-height: 1.5;
}
html body[class] .mma-sidebar :is(.mma-member small, .mma-sidebar__bottom, .mma-nav button) { color: #ded2c1; }
html body[class] .mma-sidebar .mma-nav button.is-active { color: #f9f7f1; }

/* Navigation and small calls to action use a darker gold on the cream surface. */
html body[class] :is(.mlh-nav a, .mlh-cta, .mlh-menu-cta, .mlg-ecard__btn, .mlg-egrid-all, .malhut-albums__all, .malhut-single-gallery__back, .malhut-single-gallery__pager-link) {
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  line-height: 1.5 !important;
  min-height: 44px;
}
html body[class] :is(.mlh-nav a, .mlg-ecard__btn, .malhut-single-gallery__back) { display: inline-flex; align-items: center; }
html body[class] .mlh-nav { padding-inline: 18px; gap: 20px; }
html body[class] .mlh-menu nav a { font-weight: 400; }
html body[class] .mlh-burger { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
html body[class] .mlh-menu.open {
  max-height: calc(100dvh - var(--malhut-header-height, 76px) - var(--malhut-admin-offset, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* Six links plus the CTA do not fit in the legacy 768px desktop header. */
@media (min-width: 768px) and (max-width: 1099px) {
  html body[class] .mlh .mlh-nav, html body[class] .mlh .mlh-cta { display: none !important; }
  html body[class] .mlh .mlh-burger { display: flex !important; }
  html body[class] .mlh .mlh-menu { display: block !important; }
}

html body.home #jp-panel :is(.malhut-join-action, .malhut-account-login, .malhut-social-heading) {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.5;
}
html body.home #jp-panel .malhut-social-heading { color: #765b3b; }
html body.home #jp-panel .jp-ch-name { font-size: 16px; font-weight: 400; line-height: 1.4; }
html body.home #jp-panel .jp-ch-desc { font-size: 16px; font-weight: 400; line-height: 1.4; }
html body.home #jp-panel .jp-close { width: 44px; height: 44px; }
html body.home #jp-panel .malhut-join-actions p { font-size: 20px; }

/* The footer has a dark background, so its text needs its own light palette. */
html body[class] .site-footer :is(.ft-col-label, .ft-subscribe-eyebrow) {
  color: #d4b98b !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .1em !important;
  line-height: 1.5;
}
html body[class] .site-footer :is(.ft-legal-links a, .ft-legal-amuta) {
  color: #ded2c1 !important;
  font-size: 14px !important;
  letter-spacing: .025em;
  line-height: 1.6;
}
html body[class] .site-footer .ft-col-links li a { color: #eee5d8 !important; line-height: 1.4; min-height: 32px; }
html body[class] .site-footer .ft-social a { color: #ded2c1; min-width: 44px; min-height: 44px; }
html body[class] .site-footer .ft-subscribe-form input { font-size: 16px !important; font-weight: 400 !important; letter-spacing: .025em; min-height: 44px; }
html body[class] .site-footer .ft-subscribe-form input::placeholder { color: #d0c4b4 !important; opacity: 1; }
html body[class] .site-footer .ft-subscribe-btn { min-width: 44px; min-height: 44px; color: #d4b98b; }
html body[class] .site-footer .malhut-footer-news { display: flex; flex-wrap: wrap; gap: 12px; }
html body[class] .site-footer .malhut-footer-news a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid #a68a62;
  border-radius: 3px;
  color: #f9f7f1;
  font: 400 16px/1.5 Jost, sans-serif;
  text-decoration: none;
}
html body[class] .site-footer .malhut-footer-news a:hover { color: #e8c77e; border-color: #e8c77e; }

/* Visible keyboard focus, including controls whose legacy CSS removes outlines. */
/* Legacy HTML widgets use ID-scoped !important rules; match their scope. */
html body[class] #mlg-love :is(.mlg-flabel, .mlg-sublabel, .mlg-agree-text, .mlg-submit-note, .mlg-up-s, .mlg-privacy-title, .mlg-privacy-text, .mlg-hdr-eyebrow) {
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .025em !important;
  line-height: 1.55 !important;
}
html body[class] #mlg-love :is(.mlg-pill, .mlg-lt-btn, .mlg-submit) {
  font-size: 15px !important;
  font-weight: 400 !important;
  min-height: 44px !important;
  letter-spacing: .025em !important;
  line-height: 1.5 !important;
}
html body[class] #mlg-love :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  min-height: 48px;
}
html body[class] #mlg-book :is(.hero-eyebrow, .bk-ey, .bf-eyebrow, .bf-label, .bf-note, .geo-title, .sber-title, .sber-sub, .pill, .tl-name, .tl-sub, .rabbi-title, .rabbi-seal, .v-ey) {
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .025em !important;
  line-height: 1.55 !important;
}
html body[class] #mlg-book :is(.bf-label, .bf-note, .geo-title, .sber-title, .sber-sub, .tl-sub.muted, .rabbi-title) { color: #705744 !important; }
html body[class] #mlg-book :is(.tl-sub.green, .rabbi-seal) { color: #52603a !important; }
html body[class] #mlg-book :is(.bf-btn, .mlg-sber-copy, .rabbi-seal.has-letter) {
  font-size: 15px !important;
  min-height: 44px;
  line-height: 1.5 !important;
  white-space: normal;
}
html body[class] :is(#mlg-tz, #mlg-tzc) :is(.tog-btn, .btn, .own-lbl, .ded-lbl, .mlg-rub-note, .foot-l) {
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: .025em !important;
  line-height: 1.55 !important;
}
html body[class] :is(#mlg-tz, #mlg-tzc) :is(.own-lbl, .mlg-rub-note, .foot-l) { color: #765b3b !important; }
html body[class] :is(#mlg-tz, #mlg-tzc) :is(.tog-btn, .btn) { min-height: 48px; white-space: normal; }
html body[class] #mlg-tzc > * { min-width: 0; }
html body[class] #mlg-tz .tog { display: flex; width: 100%; }
html body[class] #mlg-tz .tog-btn { min-width: 0; flex: 1 1 0; padding-inline: 10px; overflow-wrap: anywhere; }
html body[class] #mlg-tz .foot { flex-wrap: wrap; gap: 12px; }
@media (max-width: 600px) {
  html body[class] #mlg-tzc { grid-template-columns: minmax(0, 1fr); }
  html body[class] #mlg-tzc .tzc-hero { padding: 40px 24px; }
  html body[class] #mlg-tz .tog { flex-direction: column; }
}
html body[class] :is(.tz-esod__btn, .tz-hesed__btn, .mcrown__button) { font-size: 15px !important; font-weight: 400 !important; line-height: 1.5 !important; min-height: 48px; }
html body[class] :is(.mcrown__lede, .mcrown__intro) { font-size: 17px !important; font-weight: 400 !important; line-height: 1.7 !important; }
html body[class] :is(.mcrown__eyebrow, .mcrown__card-label, .mcrown__privacy, .mcrown__field > span) { font-size: 14px !important; color: #765b3b !important; letter-spacing: .025em !important; }
html body[class] .mcrown__field input::placeholder { color: #765b3b !important; opacity: 1; }
html body[class] :is(#mlg-mission, #mlg-projects, #mlg-team, #mlg-transparency) :is(.mlg-ey, .mlg-label, .mlg-mission-label, .mlg-role, .mlg-step-n) {
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: .025em !important;
}
html body[class] :is(#mlg-mission, #mlg-projects, #mlg-team, #mlg-transparency) :is(.mlg-ey, .mlg-label, .mlg-mission-label) { color: #765b3b !important; }

html body[class] :is(.mlh, #jp-panel, .mhero, .mabout, .mjp, .mlp, .mcrown, .malhut-events-archive, .malhut-event-single, .mma-auth, .mma-dashboard, .malhut-albums, .malhut-single-gallery, .site-footer) :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #765b3b !important;
  outline-offset: 3px !important;
}
html body[class] :is(.site-footer, .mma-sidebar) :is(a, button, input):focus-visible { outline-color: #e8c77e !important; }
html body[class] .mma-choice input:focus-visible + span { outline: 2px solid #765b3b !important; outline-offset: 3px; }
html body[class] .mlg-ecard__btn:focus-visible { outline: 2px solid #765b3b; outline-offset: 4px; }

@media (max-width: 600px) {
  html body[class] .mlg-ecard__footer { flex-wrap: wrap; gap: 12px; }
  html body[class] .malhut-single-gallery__nav { flex-wrap: wrap; gap: 16px; }
  html body[class] .malhut-single-gallery__pager { flex-wrap: wrap; }
  html body[class] .malhut-single-gallery__pager-link { padding-inline: 12px; }
  html body[class] .site-footer .ft-legal-links a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* QA 2026-10-02: shared support components and a finite layer scale. */
:root {
  --malhut-layer-header: 1000;
  --malhut-layer-backdrop: 1100;
  --malhut-layer-dialog: 1200;
  --malhut-layer-toast: 1300;
  --malhut-primary: #a65b42;
  --malhut-primary-hover: #8e4739;
  --malhut-on-primary: #fff9f2;
  --malhut-button-radius: 999px;
  --malhut-field-radius: 10px;
}
html body[class] :is(#mlg-book, #mlg-tz, #mlg-tzc) :is(#bf-btn, #mlg-btn) {
  font-family: Jost, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .04em !important;
  min-height: 56px !important;
  padding: 15px 24px !important;
  border: 1px solid var(--malhut-primary) !important;
  border-radius: var(--malhut-button-radius) !important;
  background: var(--malhut-primary) !important;
  color: var(--malhut-on-primary) !important;
  white-space: normal;
}
html body[class] :is(#mlg-book, #mlg-tz, #mlg-tzc) :is(#bf-btn, #mlg-btn):is(:hover,:focus-visible) {
  background: var(--malhut-primary-hover) !important;
  border-color: var(--malhut-primary-hover) !important;
  color: var(--malhut-on-primary) !important;
}
html body[class] :is(#mlg-book, #mlg-tz, #mlg-tzc) :is(#bf-btn, #mlg-btn):disabled { cursor: wait; }
html body[class] :is(#bf-own-inp, #bf-ded, #mlg-own, #mlg-ded-inp),
html body[class] :is(.malhut-registration-form, .mjp-form, .mjr-form, .mma-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea) {
  border-radius: var(--malhut-field-radius) !important;
  min-height: 48px !important;
  font-family: Jost, sans-serif !important;
}
html body[class] #mlg-book-modal { z-index: var(--malhut-layer-dialog) !important; }
html body[class] #mlg-book-modal > div { max-height: calc(100dvh - var(--malhut-admin-offset,0px) - 32px) !important; }
html body[class] #mlg-book-modal button { min-width: 44px; min-height: 44px; }
html body[class] :is(.elementor-lightbox, .tz-popup) { z-index: var(--malhut-layer-dialog) !important; }
html body[class] #mlg-book-modal :is(button,a):focus-visible { outline: 2px solid #765b3b !important; outline-offset: 3px; }
html body[class] .malhut-photo-viewer button:focus-visible { outline: 2px solid #fff9f2 !important; outline-offset: 3px; }
html body[class] .malhut-events-reset { display: inline-flex; align-items: center; min-height: 48px; padding: 8px 12px; color: #765b3b; text-underline-offset: .2em; }
html body[class] #mlg-love :is(.mlg-hdr-title,.mlg-card-title) { margin-block-start: 0; }
html body[class] .mlg-header h1.mlg-eyebrow { margin: 0; }
html body.page-id-575 #mlg-tzc .tzc-hero h1 { color: var(--malhut-warm-ivory, #fff9f2); }
html body.page-id-575 #mlg-tzc .tzc-hero h1 em { color: #f2ccb1; }

/* Keep the home hero steady while mobile browser chrome and web fonts load. */
@media screen and (max-width: 767px) {
  html body[class] .mhero { min-height: 100svh !important; }
  .mhero__content > * {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  .mhero__h1,
  .mhero__subtitle-line { transition: none !important; }
}
