/* Locale controls and navigation. Desktop labels remain visible when they wrap. */
.site-language { position:relative; flex:0 0 auto; font-family:var(--font-body); font-size:.72rem; font-weight:500; letter-spacing:1px; color:var(--text-secondary); margin:0; }
.site-language summary { display:flex; align-items:center; justify-content:center; gap:.4rem; min-height:36px; min-width:42px; padding:.3rem .1rem; cursor:pointer; list-style:none; background:none; white-space:nowrap; }
.site-language summary::-webkit-details-marker { display:none; }
.site-language summary i { font-size:.48rem; color:var(--text-muted); }
.site-language summary:hover, .site-language[open] summary { color:var(--text-primary); }
.site-language summary:focus-visible, .site-language a:focus-visible { outline:1px solid var(--accent-red); outline-offset:5px; }
.site-language-options { position:absolute; inset-inline-end:0; top:calc(100% + .4rem); z-index:10000; display:flex; flex-direction:column; width:196px; max-height:65vh; overflow-y:auto; padding:.45rem 0; background:var(--bg-card,#101010); border:1px solid var(--border-color,#252525); border-top:2px solid var(--accent-red); box-shadow:0 12px 30px #0009; }
.site-language-options a { display:flex; align-items:center; justify-content:space-between; gap:.9rem; padding:.75rem 1rem; color:var(--text-secondary); font-family:var(--font-body); font-size:.83rem; letter-spacing:0; text-transform:none; }
.site-language-options a small { font-size:.62rem; color:var(--text-muted); letter-spacing:.08em; }
.site-language-options a:hover, .site-language-options a[aria-current=true] { background:rgba(139,26,26,.1); color:var(--text-primary); }
.nav--i18n .nav-logo { min-width:0; gap:.6rem; max-inline-size:270px; }
.nav--i18n .nav-logo-icon { flex:0 0 auto; }
.nav--i18n .nav-logo-text { display:block; min-width:0; font-size:.82rem; letter-spacing:.7px; line-height:1.35; text-align:start; white-space:normal; }
.nav-logo-title { display:block; overflow-wrap:break-word; }
.nav-logo-original { display:block; text-align:match-parent; margin-top:.15rem; font-family:var(--font-body); font-size:.57rem; font-weight:400; letter-spacing:.5px; line-height:1.35; text-transform:none; color:var(--text-muted); }
.nav--i18n .nav-hamburger { order:3; }
.nav--i18n .site-language { order:2; }
.nav--i18n .nav-user-badge { display:block; max-inline-size:10ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; letter-spacing:.02em; }
.nav--i18n .nav-user-badge bdi { unicode-bidi:isolate; }
.breadcrumbs { top:var(--site-nav-height,70px); }
.page-header { padding-top:calc(var(--site-nav-height,70px) + 90px); }
.members-area { padding-top:var(--site-nav-height,70px); min-height:calc(100vh - var(--site-nav-height,70px)); }
.members-sidebar { top:var(--site-nav-height,70px); height:calc(100dvh - var(--site-nav-height,70px)); }
html { scroll-padding-top:calc(var(--site-nav-height,70px) + 24px); }

@media (min-width:901px) {
    .nav--i18n .nav-inner { display:flex; flex-wrap:wrap; height:auto; min-height:70px; gap:.8rem; padding:.8rem 1.25rem; }
    .nav--i18n .nav-logo { flex:0 0 auto; }
    .nav--i18n .nav-links { display:flex; position:static; inset:auto; width:auto; max-inline-size:100%; max-height:none; overflow:visible; background:transparent; flex:0 0 auto; flex-direction:row; flex-wrap:wrap; align-items:center; gap:.6rem; padding:0; border:0; box-shadow:none; order:1; }
    .nav--i18n .nav-links li { width:auto; min-width:0; }
    .nav--i18n .nav-links a { display:inline-block; min-height:0; padding:.25rem 0; border:0; font-size:.72rem; letter-spacing:.04em; white-space:nowrap; }
    .nav--i18n .nav-hamburger { display:none; }
    .nav--i18n .nav-user-indicator { flex-direction:row; align-items:center; gap:.55rem; }
    .nav--i18n .nav-user-badge { padding:0; font-size:.72rem; }
    .nav--i18n.nav--two-row .nav-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; row-gap:.45rem; }
    .nav--i18n.nav--two-row .nav-logo { grid-row:1; grid-column:1; justify-self:start; }
    .nav--i18n.nav--two-row .site-language { grid-row:1; grid-column:2; }
    .nav--i18n.nav--two-row .nav-links { grid-row:2; grid-column:1 / -1; flex-wrap:wrap; justify-content:flex-start; gap:.35rem 1rem; padding-top:.4rem; border-top:1px solid var(--border-light); }
}
@media (max-width:900px) {
    .nav--i18n .nav-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:.7rem; height:70px; }
    .nav--i18n .nav-logo { min-width:0; max-width:none; width:auto; }
    .nav--i18n .nav-logo-text { flex:1; }
    .nav--i18n .nav-links { display:none; position:fixed; top:var(--site-nav-height,70px); inset-inline:0; width:auto; max-height:calc(100dvh - var(--site-nav-height,70px)); overflow-y:auto; overscroll-behavior:contain; background:rgba(5,5,5,.985); flex-direction:column; align-items:stretch; padding:1.15rem 2rem max(2rem,env(safe-area-inset-bottom)); gap:0; border-bottom:1px solid var(--border-color); }
    .nav--i18n .nav-links.open { display:flex; }
    .nav--i18n .nav-links li { width:100%; }
    .nav--i18n .nav-links a { display:flex; align-items:center; min-height:46px; padding:.75rem 0; border-bottom:1px solid var(--border-color); white-space:normal; overflow-wrap:anywhere; }
    .nav--i18n .nav-hamburger { display:flex; flex:0 0 auto; min-width:36px; min-height:40px; align-items:center; justify-content:center; }
    .nav--i18n .nav-user-indicator { align-items:stretch; flex-direction:column; gap:0; }
    .nav--i18n .nav-user-badge { max-inline-size:none; padding:.85rem 0 .35rem; white-space:normal; overflow-wrap:anywhere; }
    .nav-logo-original { font-size:.52rem; letter-spacing:.25px; }
    .members-sidebar { height:auto; top:auto; }
}
@media (max-width:480px) {
    .nav--i18n .nav-inner { padding-inline:1rem; gap:.4rem; }
    .nav--i18n .nav-logo { gap:.5rem; }
    .nav--i18n .nav-logo-text { font-size:.74rem; letter-spacing:.4px; }
    .nav--i18n .nav-logo-icon { width:28px; height:28px; }
    .site-language-options { inset-inline-end:-2.6rem; }
}

/* Reading direction is independent of alignment: centered headings stay centered. */
html[lang=ar] { --font-heading:"Noto Sans Arabic",Tahoma,Arial,sans-serif; --font-body:"Noto Sans Arabic",Tahoma,Arial,sans-serif; }
html[lang=he] { --font-heading:"Noto Sans Hebrew",Arial,sans-serif; --font-body:"Noto Sans Hebrew",Arial,sans-serif; }
html[dir=rtl] body, html[dir=rtl] .prose, html[dir=rtl] .plead { font-family:var(--font-body,Tahoma,Arial,sans-serif); }
html[dir=rtl] h1, html[dir=rtl] h2, html[dir=rtl] h3, html[dir=rtl] h4,
html[dir=rtl] .nav-links a, html[dir=rtl] .section-label, html[dir=rtl] .members-nav-link,
html[dir=rtl] .btn, html[dir=rtl] .shop-btn, html[dir=rtl] label, html[dir=rtl] .temple-stat-label {
    font-family:var(--font-body,Tahoma,Arial,sans-serif); letter-spacing:normal; text-transform:none;
}
html[dir=rtl] h1, html[dir=rtl] h2, html[dir=rtl] h3 { line-height:1.6; }
html[dir=rtl] .nav-logo-text { font-family:var(--font-heading); letter-spacing:0; line-height:1.45; }
html[dir=rtl] .nav-logo-original { font-family:Arial,sans-serif; letter-spacing:.3px; }
html[dir=rtl] .members-content, html[dir=rtl] .page-content, html[dir=rtl] .book-card-body,
html[dir=rtl] .product-purchase, html[dir=rtl] .shop-item-copy, html[dir=rtl] .prose, html[dir=rtl] .plead { text-align:start; }
html[dir=rtl] .fa-arrow-left, html[dir=rtl] .fa-arrow-right,
html[dir=rtl] .fa-chevron-left, html[dir=rtl] .fa-chevron-right { transform:scaleX(-1); }
html[dir=rtl] input[type=email], html[dir=rtl] input[type=url], html[dir=rtl] input[type=password],
html[dir=rtl] input[type=tel],
html[dir=rtl] pre, html[dir=rtl] code { direction:ltr; text-align:left; }
html[dir=rtl] .form-input { font-family:var(--font-body); }
.form-input[dir=auto], .form-input[dir=ltr] { text-align:start; }
.members-nav-link i { margin-inline-end:.65rem; }
.members-name, .members-content p, .page-content p { overflow-wrap:anywhere; }
@media (max-width:600px) {
    .member-message-row { flex-wrap:wrap; gap:.65rem; }
    .member-message-row .admin-post-actions { margin-inline-start:auto; }
    .journal-entry-header { flex-wrap:wrap; }
    .modal-overlay.active { padding:5rem 1rem 1rem; align-items:flex-start; overflow-y:auto; }
    .modal-content { padding:1.4rem; }
    .members-content>div:first-child { gap:.75rem; flex-wrap:wrap; }
    .temple-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print { .site-language { display:none!important; } }

/* Member content uses safe text nodes and isolated personal text. */
.edition-language-label,.edition-language-note{display:block;margin:.4rem 0;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);line-height:1.6;background:none;border:0;padding:0}
.shop-edition-picker{margin-block:1rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.shop-edition-picker a{border:1px solid var(--border-color);padding:.45rem .7rem;color:var(--text-secondary);text-decoration:none;font-size:.8rem}.shop-edition-picker a[aria-current=true]{border-color:var(--accent-red);color:var(--text-primary)}
.academy-mode-switch .academy-admin-link{display:inline-flex;align-items:center;gap:.45rem;padding:.8rem 1rem;border:1px solid var(--border-color);color:var(--text-secondary);text-decoration:none;font:inherit}
.member-message-row{display:flex;gap:1rem;align-items:flex-start;cursor:pointer}.member-message-row.is-unread{border-inline-start:3px solid var(--accent-red)}
.member-message-copy{display:block!important;flex:1;min-width:0!important}
.member-message-open{display:block;width:100%;text-align:start;background:none;border:0;padding:0;font:inherit;font-size:.9rem;font-weight:600;color:var(--text-primary);cursor:pointer;overflow-wrap:anywhere}
.member-message-meta{display:block;font-size:.75rem;line-height:1.7;color:var(--text-muted);overflow-wrap:anywhere}
.member-message-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.65;font-size:.84rem;color:var(--text-secondary);margin-top:.4rem;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start}
.member-empty{color:var(--text-muted);text-align:center;padding:2rem}.member-feedback-error{color:#e07a7a;padding:1rem}
.journal-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.journal-entry-title{font-family:var(--font-heading);font-size:1rem;color:var(--text-primary);overflow-wrap:anywhere}
.journal-entry-meta{font-size:.75rem;color:var(--text-muted);overflow-wrap:anywhere}.journal-entry-tags{color:var(--accent-gold)}
.journal-entry-actions{display:flex;gap:.4rem;flex-shrink:0}.journal-entry-actions button{font-family:var(--font-body);font-size:.7rem;padding:3px 8px;border:1px solid var(--border-color);background:none;color:var(--text-muted);cursor:pointer}
.journal-entry-content{color:var(--text-secondary);font-size:.9rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start}#view-body,#view-subject{text-align:start;overflow-wrap:anywhere}
.shop-edition-picker small{font-size:.65rem;color:var(--text-muted);margin-inline-start:.35rem}.edition-availability-note{font-family:var(--font-body);font-size:.78rem;color:var(--text-secondary);line-height:1.6;margin-block:.5rem}
.temple-stat-value{line-height:1.35;overflow-wrap:anywhere}.temple-stat-status{font-size:1.15rem}
html[dir=rtl] .certificate .name,html[dir=rtl] .certificate .details strong{font-family:var(--font-body,Tahoma);letter-spacing:normal;line-height:1.7}
html[dir=rtl] .certificate .eyebrow,html[dir=rtl] .certificate .details span,html[dir=rtl] .certificate .code{letter-spacing:normal;text-transform:none}
.certificate .code bdi{display:inline-block;font-weight:normal}.certificate .copy{overflow-wrap:anywhere}

/* Keep signup connectors inside a right-to-left step row. */
html[dir=rtl] .signup-step::before { left:auto; right:-50%; }
