:root{
  --acw-public-container:2400px;
  --acw-public-gutter:20px;
  --acw-public-gutter-mobile:20px;
  --acw-page-gutter:var(--acw-public-gutter);
  --acw-page-gutter-mobile:var(--acw-public-gutter-mobile);
  --shell-primary:#0B1F3A;
  --shell-gold:#D4A64A;
  --shell-ink:#10213A;
  --shell-muted:#667488;
  --shell-line:rgba(11,31,58,.1);
  --shell-soft:rgba(255,255,255,.95);
  --shell-footer:linear-gradient(145deg,rgba(11,31,58,.98),rgba(18,41,71,.94));
}

body .container{
  width:min(var(--acw-public-container,1360px), calc(100% - (var(--acw-page-gutter,32px) * 2))) !important;
  margin-inline:auto !important;
  padding-inline:0 !important;
}

@media (max-width:640px){
  :root{
    --acw-page-gutter:var(--acw-page-gutter-mobile,18px);
  }
}

.skip-link{
  position:fixed;
  inset-block-start:10px;
  inset-inline-start:16px;
  z-index:1700;
  padding:10px 16px;
  border-radius:999px;
  background:var(--shell-primary,#0B1F3A);
  color:#fff;
  font-weight:800;
  transform:translateY(-160%);
  transition:transform .18s ease;
}

.skip-link:focus{
  transform:translateY(0);
}

/* ========================================
   FOOTER — redesigned multilingual
   ======================================== */

:root{
  --footer-bg:#0B1F3A;
  --footer-bg-deeper:rgba(7,16,30,.96);
  --footer-bg-community:linear-gradient(175deg,rgba(11,31,58,.98) 0%,rgba(16,40,75,.92) 100%);
  --footer-bg-main:linear-gradient(180deg,rgba(8,18,34,.99) 0%,rgba(6,14,26,.99) 100%);
  --footer-gold:var(--shell-gold,#D4A64A);
  --footer-gold-soft:rgba(212,166,74,.18);
  --footer-text:rgba(255,255,255,.82);
  --footer-text-muted:rgba(255,255,255,.56);
  --footer-line:rgba(255,255,255,.08);
  --footer-line-strong:rgba(255,255,255,.13);
  --footer-radius:20px;
  --footer-radius-sm:14px;
  --footer-transition:.25s cubic-bezier(.22,1,.36,1);
}

/* ========================================
   WRAPPER
   ======================================== */

.footer:has(> .footer-community),
.footer:has(> .footer-main){
  display:block;
  margin-top:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#fff;
}

/* ========================================
   SECTION 1 — COMMUNITY / CTA
   ======================================== */

.footer .footer-community{
  background:var(--footer-bg-community);
  background-color:#0C1F3A;
  border-top:1px solid rgba(212,166,74,.12);
  padding:56px 0 48px;
  position:relative;
  overflow:hidden;
}

.footer .footer-community::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(212,166,74,.06), transparent 70%);
  pointer-events:none;
}

.footer .footer-community .container{
  position:relative;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:48px 64px;
  align-items:center;
}

.footer .footer-community__info{
  display:grid;
  gap:16px;
}

.footer .footer-community__name{
  margin:0;
  font-size:clamp(16.3px,2vw,22.8px);
  font-weight:800;
  line-height:1.2;
  color:var(--shell-ink,#10213A);
}

.footer .footer-community__mission{
  margin:0;
  color:var(--footer-text);
  font-size:clamp(12.2px,1.1vw,13.8px);
  line-height:1.75;
  max-width:65ch;
}

.footer .footer-community__actions{
  display:grid;
  gap:20px;
  align-content:start;
}

.footer .footer-community__cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.footer .footer-community__subscribe{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 28px;
  border-radius:var(--footer-radius-sm);
  background:linear-gradient(135deg,var(--footer-gold),#b88e32);
  color:var(--shell-ink,#10213A);
  font-size:12.2px;
  font-weight:800;
  border:0;
  cursor:pointer;
  transition:transform var(--footer-transition),box-shadow var(--footer-transition);
}

.footer .footer-community__subscribe:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(212,166,74,.24);
}

.footer .footer-community__btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 24px;
  border-radius:var(--footer-radius-sm);
  border:1px solid var(--footer-line-strong);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:11.4px;
  font-weight:700;
  text-decoration:none;
  transition:transform var(--footer-transition),background-color var(--footer-transition),border-color var(--footer-transition);
}

.footer .footer-community__btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.2);
}

.footer .footer-community__social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.footer .footer-community__social-link{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid var(--footer-line);
  background:rgba(255,255,255,.06);
  color:#fff;
  transition:transform var(--footer-transition),background-color var(--footer-transition),border-color var(--footer-transition);
}

.footer .footer-community__social-link:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.12);
  border-color:var(--footer-gold);
}

.footer .footer-community__social-link svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

/* ========================================
   SECTION 2 — MAIN NAVIGATION FOOTER
   ======================================== */

.footer .footer-main{
  background:var(--footer-bg-main);
  padding:44px 0 0;
  border-top:1px solid var(--footer-line);
}

.footer .footer-main .container{
  display:grid;
  gap:36px;
}

.footer .footer-main__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}

.footer .footer-main__group{
  display:grid;
  gap:12px;
  align-content:start;
}

.footer .footer-main__group h4,
.footer .footer-main__group .footer-main__heading{
  margin:0;
  font-size:12.2px;
  font-weight:800;
  line-height:1.2;
  color:#fff;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.footer .footer-main__group ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.footer .footer-main__group a{
  color:var(--footer-text);
  font-size:11.4px;
  line-height:1.55;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:color var(--footer-transition),transform var(--footer-transition);
}

.footer .footer-main__group a:hover{
  color:#fff;
}

html[lang='fa'] .footer .footer-main__group a:hover{
  transform:translateX(-3px);
}

html[lang='en'] .footer .footer-main__group a:hover{
  transform:translateX(3px);
}

.footer .footer-main__email{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:var(--footer-radius-sm);
  border:1px solid var(--footer-line);
  background:rgba(255,255,255,.05);
  color:var(--footer-text);
  font-size:10.6px;
  text-decoration:none;
  transition:border-color var(--footer-transition),background-color var(--footer-transition);
  width:fit-content;
}

.footer .footer-main__email:hover{
  border-color:var(--footer-gold);
  background:rgba(212,166,74,.08);
  color:#fff;
}

.footer .footer-main__domain{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid var(--footer-line);
  background:rgba(255,255,255,.05);
  color:var(--footer-text-muted);
  font-size:9.8px;
  width:fit-content;
}

.footer .footer-main__domain::before{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--footer-gold);
  box-shadow:0 0 0 3px rgba(212,166,74,.18);
}

/* Language Switcher */
.footer .footer-lang{
  display:grid;
  gap:10px;
}

.footer .footer-lang__label{
  font-size:10.6px;
  color:var(--footer-text-muted);
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.footer .footer-lang__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 18px;
  border-radius:var(--footer-radius-sm);
  border:1px solid var(--footer-line-strong);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:11.4px;
  font-weight:700;
  cursor:pointer;
  transition:background-color var(--footer-transition),border-color var(--footer-transition),transform var(--footer-transition);
  width:fit-content;
}

.footer .footer-lang__toggle:hover{
  background:rgba(255,255,255,.1);
  border-color:var(--footer-gold);
  transform:translateY(-2px);
}

.footer .footer-lang__toggle .footer-lang__icon{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid currentColor;
  display:grid;
  place-items:center;
  font-size:7.3px;
  font-weight:900;
  line-height:1;
}

/* Back to top */
.footer .footer-back-top{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 20px;
  border-radius:var(--footer-radius-sm);
  border:1px solid var(--footer-line);
  background:rgba(255,255,255,.05);
  color:var(--footer-text);
  font-size:10.6px;
  font-weight:600;
  cursor:pointer;
  transition:background-color var(--footer-transition),border-color var(--footer-transition),transform var(--footer-transition);
  width:fit-content;
}

.footer .footer-back-top:hover{
  background:rgba(255,255,255,.1);
  border-color:var(--footer-gold);
  transform:translateY(-2px);
  color:#fff;
}

.footer .footer-back-top svg{
  width:16px;
  height:16px;
  fill:currentColor;
}

.footer .footer-back-top span{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

.footer .footer-back-top{
  padding:10px 12px;
}

/* ========================================
   FOOTER BOTTOM
   ======================================== */

.footer .footer-bottom{
  margin-top:32px;
  padding:20px 0;
  border-top:1px solid var(--footer-line);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--footer-text-muted);
  font-size:10.6px;
  line-height:1.6;
}

.footer .footer-bottom__copy{
  margin:0;
}

.footer .footer-bottom__legal{
  display:flex;
  flex-wrap:wrap;
  gap:6px 18px;
}

.footer .footer-bottom__legal a{
  color:var(--footer-text-muted);
  font-size:10.6px;
  text-decoration:none;
  transition:color var(--footer-transition);
  position:relative;
}

.footer .footer-bottom__legal a:not(:last-of-type)::after{
  content:'\00B7';
  margin-inline-start:8px;
  color:var(--footer-line-strong);
}

.footer .footer-bottom__legal a:hover{
  color:#fff;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width:1024px){
.footer .footer-community .container{
    grid-template-columns:1fr;
    gap:36px;
  }

  .footer .footer-main__grid{
    grid-template-columns:repeat(2,1fr);
    gap:20px;
  }
}

@media (max-width:640px){
  .footer .footer-community{
    padding:40px 0 32px;
  }

  .footer .footer-community__cta-row{
    flex-direction:column;
  }

  .footer .footer-community__subscribe,
  .footer .footer-community__btn{
    width:100%;
    justify-content:center;
  }

  .footer .footer-main{
    padding:32px 0 0;
  }

  .footer .footer-main__grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .footer .footer-main .container{
    gap:24px;
  }

  .footer .footer-bottom{
    flex-direction:column;
    text-align:center;
    justify-content:center;
  }

  .footer .footer-bottom__legal{
    justify-content:center;
  }
}

/* ========================================
   RTL overrides
   ======================================== */

html[lang='fa'] .footer .footer-bottom__legal a:not(:last-of-type)::after{
  margin-inline-start:8px;
  margin-inline-end:0;
}

/* Global safety: news subscription modal must not appear outside news page */
body:not([data-page='news']) #news-subscription-modal,
body:not([data-page='news']) .subscription-modal,
body:not([data-page='news']) .acw-subscribe-modal{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Legacy pages already expose these destinations in their semantic footer nav. */
.footer-sitemap{
  display:none !important;
}

/* 2026 refresh: shared public surfaces */
:root{
  --acw-refresh-surface:#fffdfa;
  --acw-refresh-surface-soft:rgba(255,255,255,.9);
  --acw-refresh-surface-muted:#f7f2ea;
  --acw-refresh-line:rgba(11,31,58,.08);
  --acw-refresh-line-strong:rgba(11,31,58,.14);
  --acw-refresh-shadow-sm:0 14px 30px rgba(11,31,58,.06);
  --acw-refresh-shadow-md:0 22px 48px rgba(11,31,58,.10);
  --acw-refresh-shadow-lg:0 30px 68px rgba(11,31,58,.15);
  --acw-refresh-radius-card:28px;
  --acw-refresh-focus:0 0 0 4px rgba(212,166,74,.14);
}

body:not(.managed-page){
  background:
    radial-gradient(circle at top left, rgba(212,166,74,.12), transparent 24%),
    radial-gradient(circle at bottom right, rgba(11,31,58,.09), transparent 26%),
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(245,241,232,0) 28%),
    var(--acw-header-paper,#F5F1E8) !important;
  color:var(--shell-ink,#10213A);
}

main > .container{
  position:relative;
}

main .section-head{
  margin-bottom:18px;
}

main .section-head h2{
  letter-spacing:-.01em;
}

:where(
  main .section-head > p:not(.section-kicker),
  main .feature-copy p,
  main .page-card p,
  main .module-card p,
  main .footer-card p
){
  color:#5a677d;
}

main .feature-card,
main .page-card,
main .module-card{
  border-color:var(--acw-refresh-line) !important;
  border-radius:var(--acw-refresh-radius-card) !important;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,244,236,.95)) !important;
  box-shadow:var(--acw-refresh-shadow-md) !important;
}

main .page-card,
main .module-card{
  overflow:hidden;
}

main .page-card,
main .module-card{
  min-height:100%;
  gap:14px;
}

main .page-card:hover,
main .module-card:hover,
main .feature-card:hover{
  box-shadow:var(--acw-refresh-shadow-lg) !important;
  border-color:rgba(212,166,74,.22) !important;
}

main .page-card .icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:linear-gradient(145deg, rgba(11,31,58,.08), rgba(212,166,74,.12)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}

main .chip{
  background:rgba(255,255,255,.78) !important;
  border:1px solid var(--acw-refresh-line) !important;
  color:#32445d !important;
  box-shadow:0 8px 18px rgba(11,31,58,.04);
}

main .button,
main button.button,
main a.button{
  min-height:44px;
  padding-inline:20px;
  border-radius:999px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  box-shadow:0 12px 24px rgba(11,31,58,.08);
}

main .button.primary,
main .button.gold{
  box-shadow:0 16px 30px rgba(212,166,74,.24) !important;
}

main .button:active,
main button.button:active{
  transform:translateY(1px) scale(.985) !important;
}

main .button:focus-visible,
main button.button:focus-visible{
  outline:3px solid rgba(212,166,74,.6);
  outline-offset:3px;
}

main .button.outline{
  background:rgba(255,255,255,.92) !important;
  border-color:var(--acw-refresh-line-strong) !important;
}

main input:not([type='checkbox']):not([type='radio']):not([type='range']),
main textarea,
main select{
  width:100%;
  border-radius:18px;
  border:1px solid var(--acw-refresh-line-strong);
  background:rgba(255,255,255,.94);
  color:#10213A;
  caret-color:#b8860b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

main input:not([type='checkbox']):not([type='radio']):not([type='range']):focus,
main textarea:focus,
main select:focus{
  outline:0;
  border-color:rgba(212,166,74,.55);
  box-shadow:var(--acw-refresh-focus);
}

main select option,
main select optgroup{
  background:#ffffff;
  color:#10213a;
}

main input:not([type='checkbox']):not([type='radio']):not([type='range']):autofill,
main input:not([type='checkbox']):not([type='radio']):not([type='range']):-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #fdf6e3 inset;
  -webkit-text-fill-color:#10213a;
  caret-color:#b8860b;
}

@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto !important;
  }

  *,
  *::before,
  *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }

  .reveal,
  .reveal.is-visible{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    transition:none !important;
  }
}

/* Legacy public footer used by pages carrying a semantic .footer-grid with
   .footer-card panels (news story/live, about, donate thanks, privacy). */
body > .footer:has(.footer-card){
  margin-top:42px;
  padding:34px 0 20px;
  background:var(--shell-footer);
  color:#fff;
  border-top:1px solid rgba(212,166,74,.14);
}

body > .footer:has(.footer-card) .footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:18px;
}

body > .footer:has(.footer-card) .footer-card{
  min-width:0;
  padding:22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:rgba(255,255,255,.055);
}

body > .footer:has(.footer-card) .footer-card h4{
  margin:0 0 10px;
  color:#fff;
}

body > .footer:has(.footer-card) .footer-card p{
  margin:0;
  color:rgba(255,255,255,.72);
}

body > .footer:has(.footer-card) .footer-links{
  display:grid;
  gap:9px;
}

body > .footer:has(.footer-card) .footer-links a{
  color:rgba(255,255,255,.8);
}

body > .footer:has(.footer-card) .footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.64);
}

@media (max-width:760px){
  body > .footer:has(.footer-card) .footer-grid{
    grid-template-columns:1fr;
  }
  body > .footer:has(.footer-card) .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ========================================
   FLOATING THEME TOGGLE (site-wide)
   ======================================== */
.theme-toggle{
  position:fixed;
  inset-inline-start:18px;
  bottom:18px;
  z-index:1100;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(216,173,62,.5);
  border-radius:50%;
  background:linear-gradient(145deg,#10213a,#081b34);
  color:#fff;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(8,27,52,.28);
  transition:transform .18s ease,border-color .18s ease,background-color .18s ease;
}

.theme-toggle:hover{
  transform:translateY(-2px);
  border-color:var(--news-gold,#d8ad3e);
}

.theme-toggle svg{
  width:18px;
  height:18px;
}

.theme-toggle-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

.top-tools > .theme-toggle{
  position:static !important;
  inset:auto !important;
  flex:0 0 42px;
  width:42px;
  height:42px;
  margin:0;
  align-self:center;
  box-shadow:0 10px 22px rgba(8,27,52,.22);
}

@media (prefers-reduced-motion:reduce){
  .theme-toggle{
    transition:none !important;
  }
}
