/* Small usability adjustments within the existing Armaghan Mehr theme. */
.armaghan-public-site { --header-height: 82px; font-size: 16px; line-height: 1.8; }
.site-brand-text { display: inline-block; color: #145b53; font-size: 1rem; font-weight: 700; line-height: 1.5; max-width: 200px; overflow-wrap: anywhere; }
.armaghan-public-site .footer-logo .site-brand-text { padding: 12px; border-radius: 12px; background: #fff; }
.site-address { white-space: pre-line; }
.armaghan-public-site [dir="ltr"] { direction: ltr; unicode-bidi: isolate; }
.armaghan-public-site .footer-contact { display: grid; gap: 14px; padding: 24px 0; border-top: 1px solid #ffffff26; margin-top: 20px; }
.armaghan-public-site .footer-contact p { color: #e2ebee; margin: 0; line-height: 1.9; }
.armaghan-public-site .footer-contact-links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.armaghan-public-site .footer-contact-links a { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; color: #fff; overflow-wrap: anywhere; }
.armaghan-public-site .social-links .social-link { color: var(--social-color,#fff); }
.armaghan-public-site .social-icons .social-icon { background: var(--social-color,#087265); color: #fff; }
.armaghan-public-site .modern-header { position: sticky; top: 0; height: var(--header-height); box-shadow: 0 2px 15px rgba(26,70,62,.08); }
.armaghan-public-site .modern-header.is-scrolled { box-shadow: 0 3px 18px rgba(26,70,62,.12); }
.armaghan-public-site .nav-link.active { color: #087265; background: #eef8f5; font-weight: 700; }
.armaghan-public-site .nav-link, .armaghan-public-site .submenu-item, .armaghan-public-site .mobile-nav-link, .armaghan-public-site .mobile-submenu-item { min-height: 44px; }
.armaghan-public-site :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #176d88; outline-offset: 4px; }
.armaghan-public-site :is(.banner-cta,.modern-footer a):focus-visible { outline-color: #fff; box-shadow: 0 0 0 6px #176d88; }
.armaghan-public-site #body { scroll-margin-top: calc(var(--header-height) + 12px); }
.armaghan-public-site #body:focus { outline: none; }
.site-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; }
.site-skip-link { position: fixed; top: 8px; right: 16px; z-index: 3000; transform: translateY(-180%); background: #fff; color: #145b53; padding: 10px 18px; border-radius: 8px; box-shadow: 0 3px 12px #0002; }
.site-skip-link:focus { transform: none; }
.armaghan-public-site .user-trigger { border: 0; background: transparent; color: inherit; }
.armaghan-public-site .user-account:not(.is-open) .user-dropdown { opacity: 0; visibility: hidden; transform: translateY(15px); }
.armaghan-public-site .user-account.is-open .user-dropdown { opacity: 1; visibility: visible; transform: none; }
.armaghan-public-site .mobile-menu { width: min(340px, calc(100vw - 32px)); height: 100dvh; visibility: hidden; overscroll-behavior: contain; transition: right .2s ease, visibility .2s; }
.armaghan-public-site .mobile-menu.active { visibility: visible; }
.armaghan-public-site .mobile-menu [hidden], .site-menu-backdrop[hidden] { display: none !important; }
.armaghan-public-site .mobile-nav-link.active { color: #087265; background: #eef8f5; }
.armaghan-public-site .mobile-toggle, .armaghan-public-site .close-menu { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.armaghan-public-site .mobile-toggle { display: none; }
.site-menu-backdrop { position: fixed; inset: 0; z-index: 1800; width: 100%; height: 100%; border: 0; background: rgba(23,42,47,.4); cursor: pointer; }
.armaghan-public-site .hero-banner { min-height: 560px; height: auto; padding: 56px 0 44px; }
.armaghan-public-site .banner-title { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.55; }
.armaghan-public-site :is(.banner-title,.banner-tagline,.banner-subtitle) { text-align: center; }
.armaghan-public-site .banner-subtitle { font-size: 1.13rem; line-height: 1.95; max-width: 680px; margin-bottom: 28px; }
.armaghan-public-site .banner-title, .armaghan-public-site .banner-subtitle, .armaghan-public-site .banner-tagline, .armaghan-public-site .banner-cta { animation: none; opacity: 1; transform: none; }
.armaghan-public-site .banner-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.armaghan-public-site .banner-cta { min-height: 48px; padding: 12px 26px; font-size: 1.05rem; gap: 8px; }
.armaghan-public-site .banner-cta i { margin: 0; }
.armaghan-public-site .banner-cta-secondary { background: transparent; border: 1px solid rgba(255,255,255,.85); color: #fff; box-shadow: none; }
.armaghan-public-site .banner-cta:hover { transform: translateY(-2px); }
.armaghan-public-site .banner-cta-secondary:hover { background: rgba(255,255,255,.16); color: #fff; }
.armaghan-public-site .banner-stats { margin-top: 34px; opacity: 1; transform: none; animation: none; }
.armaghan-public-site .banner-stats .stat-item { flex: 1 1 0; min-width: 0; }
.armaghan-public-site .banner-stats .stat-value { color: #fff; -webkit-text-fill-color: #fff; background: none; text-align: center; }
.armaghan-public-site .banner-stats .stat-label { color: rgba(255,255,255,.95); text-align: center; font-weight: 500; }
.armaghan-public-site .campaign-card.floating { animation: none; }
.armaghan-public-site :is(.site-button,.donate-btn,.donate-btn-camp,.category-btn,.view-all-btn) { background: #087265; color: #fff; }
.armaghan-public-site .read-more { color: #087265; }
.armaghan-public-site :is(.news-card,.donation-card,.campaign-card,.category-card,.site-card):hover { transform: translateY(-3px); }
.armaghan-public-site :is(.card-excerpt,.card-description,.campaign-description,.site-rich-text) { line-height: 1.95; }
.armaghan-public-site .news-card .card-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3em; line-height: 1.6; }
.armaghan-public-site .news-card .card-excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.armaghan-public-site .owl-nav { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.armaghan-public-site .owl-carousel .owl-nav { position: static; width: auto; transform: none; }
.armaghan-public-site .owl-carousel .owl-nav :is(.owl-prev,.owl-next) { position: static !important; inset: auto !important; transform: none; }
.armaghan-public-site .owl-carousel .owl-nav button { width: 44px; height: 44px; margin: 0; border: 1px solid #d5e9e3; border-radius: 50%; background: #fff; color: #087265; }
.armaghan-public-site .owl-carousel .owl-nav button.disabled { opacity: .4; }
.armaghan-public-site .owl-dot { min-width: 32px; min-height: 32px; }
.armaghan-public-site .site-page-heading { margin-bottom: 28px; text-align: center; box-shadow: none; }
.armaghan-public-site .site-page-heading :is(h1,p) { text-align: center; }
.armaghan-public-site .site-page-heading h1 { font-size: clamp(1.65rem, 3vw, 2.3rem); line-height: 1.6; color: #254c43; }
.armaghan-public-site .site-page-heading p { color: #526875; }
.armaghan-public-site .campaign-scope { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.armaghan-public-site .campaign-scope a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 1px solid #d9e7e2; border-radius: 24px; color: #28534b; }
.armaghan-public-site .campaign-scope a[aria-current] { background: #e6f5ef; border-color: #087265; font-weight: 700; }
.armaghan-public-site .search-box { display: flex; align-items: center; padding-left: 8px; }
.armaghan-public-site .search-box #searchInput { min-width: 0; flex: 1; padding-left: 8px; }
.armaghan-public-site .site-search-submit { flex-shrink: 0; min-height: 44px; padding: 8px 16px; border: 0; border-radius: 12px; background: #087265; color: #fff; font-weight: 600; }
.armaghan-public-site .campaigns-container > .stats-overview .stat-value { font-size: clamp(1.05rem, 2.5vw, 1.8rem); overflow-wrap: anywhere; }
.armaghan-public-site :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { font-size: 16px; min-height: 44px; }
.armaghan-public-site .form-hint { color: #526875; line-height: 1.9; margin-bottom: 24px; }
.armaghan-public-site .contact-form label small { font-size: .85em; font-weight: 400; color: #526875; }
.armaghan-public-site .sheba-box span { direction: ltr; unicode-bidi: isolate; display: inline-block; text-align: center; overflow-wrap: anywhere; }
.armaghan-public-site .copy-btn { min-height: 44px; min-width: 70px; }
.site-copy-fallback { margin-top: 12px; padding: 12px; border-radius: 10px; background: #f1f8f5; font-size: .9rem; }
.site-copy-fallback label { display: block; margin-bottom: 8px; color: #34534c; }
.site-copy-fallback input { width: 100%; direction: ltr; padding: 8px; border: 1px solid #bfd9d1; border-radius: 8px; text-align: left; }
@media(max-width:992px) { .armaghan-public-site .mobile-toggle { display: inline-flex; } }
@media(max-width:640px) {
    .armaghan-public-site { --header-height: 72px; }
    .armaghan-public-site .header-container { width: 100%; padding: 0 16px; }
    .armaghan-public-site .hero-banner { min-height: 0; padding: 36px 0; }
    .armaghan-public-site .banner-content { width: 100%; padding: 0 20px; }
    .armaghan-public-site .banner-tagline { font-size: 1rem; margin-bottom: 16px; }
    .armaghan-public-site .banner-title { font-size: 1.9rem; }
    .armaghan-public-site .banner-subtitle { font-size: 1rem; }
    .armaghan-public-site .banner-actions { flex-direction: column; align-items: stretch; max-width: 300px; margin: 0 auto; }
    .armaghan-public-site .banner-cta { justify-content: center; }
    .armaghan-public-site .banner-stats { flex-direction: row; gap: 16px; margin-top: 28px; }
    .armaghan-public-site .banner-stats .stat-value { font-size: 1.45rem; }
    .armaghan-public-site .banner-stats .stat-label { font-size: .8rem; }
    .armaghan-public-site :is(.section-donations,.section-news,.campaign-section,.contact-section) { padding-top: 40px; padding-bottom: 40px; }
    .armaghan-public-site .contact-form-section { padding: 24px 18px; }
    .armaghan-public-site .contact-form { grid-template-columns: minmax(0,1fr); }
    .armaghan-public-site .site-page-heading { margin-bottom: 20px; }
    .armaghan-public-site .campaign-scope { margin: 12px 0; }
    .armaghan-public-site .campaign-scope a { padding: 8px 12px; font-size: .9rem; }
    .armaghan-public-site .campaigns-container { padding-top: 28px; }
    .armaghan-public-site .campaigns-container > .stats-overview { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
    .armaghan-public-site .campaigns-container > .stats-overview .stat-card { padding: 16px 10px; }
    .armaghan-public-site .campaigns-container > .stats-overview .stat-icon { width: 36px; height: 36px; font-size: 1.15rem; margin-bottom: 8px; }
    .armaghan-public-site .campaigns-container > .stats-overview .stat-value { text-align: center; margin-bottom: 4px; font-size: 1.25rem; }
    .armaghan-public-site .campaigns-container > .stats-overview .stat-label { text-align: center; font-size: .82rem; }
}
@media(prefers-reduced-motion:reduce) { .armaghan-public-site *, .armaghan-public-site *::before, .armaghan-public-site *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print { .site-skip-link,.site-menu-backdrop { display: none !important; } }
