/*
Theme Name: Zamanpour Excoin — Premium Elementor Edition
Theme URI: https://pbdp.ir/portfolio/zamanpour-excoin
Description: Ultra-premium, lightweight, dark and immersive bilingual theme for Zamanpour Excoin. Built to support Elementor Free & Pro.
Version: 4.0.0
Author: PBDP
Text Domain: zamanpour-excoin
*/

:root {
  --obsidian: var(--zpex-primary, #0A0A0F);
  --charcoal: var(--zpex-surface, #131318);
  --champagne: var(--zpex-accent-2, #A68B5C);
  --gold: var(--zpex-accent, #C9A84C);
  --cream: var(--zpex-text, #EDEDEF);
  --zx-bg: var(--zpex-primary, #0A0A0F);
  --zx-surface: var(--zpex-surface, #131318);
  --zx-border: var(--zpex-border, rgba(201,168,76,0.12));
  --zx-text: var(--zpex-text, #EDEDEF);
  --zx-muted: var(--zpex-text-secondary, rgba(237,237,239,0.65));
  --zx-gold: var(--zpex-accent, #C9A84C);
  --zx-gold-2: var(--zpex-accent-2, #A68B5C);
  --zx-max: var(--zpex-max-width, 1200px);
}

[data-theme="light"] {
  --obsidian: var(--zpex-primary, #FAF9F6);
  --charcoal: var(--zpex-surface, #F0EDE8);
  --champagne: var(--zpex-accent-2, #7A6B3D);
  --gold: var(--zpex-accent, #9A7B2F);
  --cream: var(--zpex-text, #1A1A1E);
  --zx-bg: var(--zpex-primary, #FAF9F6);
  --zx-surface: var(--zpex-surface, #F0EDE8);
  --zx-border: var(--zpex-border, rgba(154,123,47,0.15));
  --zx-text: var(--zpex-text, #1A1A1E);
  --zx-muted: var(--zpex-text-secondary, rgba(26,26,30,0.65));
  --zx-gold: var(--zpex-accent, #9A7B2F);
  --zx-gold-2: var(--zpex-accent-2, #7A6B3D);
}

@media (prefers-color-scheme: light) {
  html[data-theme="system"] {
    --obsidian: var(--zpex-primary, #FAF9F6);
    --charcoal: var(--zpex-surface, #F0EDE8);
    --champagne: var(--zpex-accent-2, #7A6B3D);
    --gold: var(--zpex-accent, #9A7B2F);
    --cream: var(--zpex-text, #1A1A1E);
    --zx-bg: var(--zpex-primary, #FAF9F6);
    --zx-surface: var(--zpex-surface, #F0EDE8);
    --zx-border: var(--zpex-border, rgba(154,123,47,0.15));
    --zx-text: var(--zpex-text, #1A1A1E);
    --zx-muted: var(--zpex-text-secondary, rgba(26,26,30,0.65));
    --zx-gold: var(--zpex-accent, #9A7B2F);
    --zx-gold-2: var(--zpex-accent-2, #7A6B3D);
  }
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

body {
  background-color: var(--obsidian);
  color: var(--cream);
  overflow-x: hidden;
  margin: 0;
  font-family: 'Vazirmatn', 'IRANSans', Tahoma, Arial, sans-serif;
  line-height: 1.8;
}
@media (hover: hover) and (pointer: fine) {
  body { cursor: none; }
}

[dir="rtl"] body {
  font-family: 'Vazirmatn', sans-serif;
  letter-spacing: 0.01em;
}

[dir="ltr"] body {
  font-family: 'Inter', sans-serif;
}

.font-display {
  font-family: 'Playfair Display', 'Vazirmatn', serif;
}

[dir="rtl"] .font-display {
  font-family: 'Vazirmatn', serif;
  font-weight: 700;
}

.font-serif-en {
  font-family: 'Cormorant Garamond', serif;
}

/* hide native cursor only on fine pointers */
@media (hover: none) {
  body {
    cursor: auto;
  }
  #cursor-ring, #cursor-dot {
    display: none !important;
  }
}

::selection {
  background: var(--gold);
  color: var(--obsidian);
}

/* ══ Animated Grain Overlay ══ */
.zx-grain-overlay {
  opacity: 0.3;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.5'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  animation: grainShift 0.5s steps(4) infinite;
}
@keyframes grainShift {
  0% { transform: translate(0, 0); }
  25% { transform: translate(-2px, 3px); }
  50% { transform: translate(3px, -1px); }
  75% { transform: translate(-1px, -3px); }
  100% { transform: translate(2px, 1px); }
}
[data-theme="light"] .zx-grain-overlay {
  opacity: 0.15;
}

/* scrollbar */
::-webkit-scrollbar {
  width: 5px;
}
::-webkit-scrollbar-track {
  background: var(--obsidian);
}
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--champagne), var(--gold), var(--champagne));
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--gold);
}
[data-theme="light"] ::-webkit-scrollbar-track {
  background: var(--obsidian);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] ::-webkit-scrollbar-track {
    background: var(--obsidian);
  }
}

/* Custom cursor — Magnetic blur style */
#cursor-dot, #cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 99999;
  transform: translate3d(-100px, -100px, 0) translate(-50%, -50%);
  border-radius: 50%;
  opacity: 0;
  will-change: transform;
}
#cursor-dot.cursor-shown, #cursor-ring.cursor-shown { opacity: 1; }
#cursor-dot {
  width: 8px;
  height: 8px;
  background: var(--gold);
  box-shadow: 0 0 12px 2px rgba(201,168,76,0.4), 0 0 24px 4px rgba(201,168,76,0.15);
  transition: opacity .3s ease, width .35s cubic-bezier(.16,1,.3,1), height .35s cubic-bezier(.16,1,.3,1), background .3s ease, box-shadow .3s ease;
}
#cursor-ring {
  width: 44px;
  height: 44px;
  border: 1.5px solid rgba(201,168,76,0.25);
  background: rgba(201,168,76,0.03);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: opacity .3s ease, width .4s cubic-bezier(.16,1,.3,1), height .4s cubic-bezier(.16,1,.3,1), border-color .3s ease, background .3s ease, box-shadow .4s ease;
}
.cursor-hover #cursor-dot {
  width: 4px;
  height: 4px;
  background: #fff;
  box-shadow: 0 0 16px 4px rgba(201,168,76,0.6), 0 0 32px 8px rgba(201,168,76,0.2);
}
.cursor-hover #cursor-ring {
  width: 64px;
  height: 64px;
  border-color: rgba(201,168,76,0.5);
  background: rgba(201,168,76,0.06);
  box-shadow: 0 0 40px -8px rgba(201,168,76,0.2), inset 0 0 20px -4px rgba(201,168,76,0.08);
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  #cursor-dot, #cursor-ring { display: none !important; }
}

/* glass */
.glass {
  background: rgba(19,19,24,0.55);
  backdrop-filter: blur(16px) saturate(130%);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  border: 1px solid rgba(201,168,76,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
.glass-strong {
  background: rgba(10,10,15,0.72);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  border: 1px solid rgba(201,168,76,0.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

[data-theme="light"] .glass {
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(154,123,47,0.12);
}
[data-theme="light"] .glass-strong {
  background: rgba(250,249,246,0.85);
  border: 1px solid rgba(154,123,47,0.15);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .glass {
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(154,123,47,0.12);
  }
  html[data-theme="system"] .glass-strong {
    background: rgba(250,249,246,0.85);
    border: 1px solid rgba(154,123,47,0.15);
  }
}

.gold-text {
  background: linear-gradient(120deg, #A68B5C 10%, #C9A84C 45%, #E4D5A0 55%, #A68B5C 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 200% auto;
  animation: goldShimmer 4s ease-in-out infinite;
}
@keyframes goldShimmer {
  0%, 100% { background-position: 0% center; }
  50% { background-position: 100% center; }
}
[data-theme="light"] .gold-text {
  background: linear-gradient(120deg, #7A6B3D 10%, #9A7B2F 45%, #C4A84A 55%, #7A6B3D 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 200% auto;
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .gold-text {
    background: linear-gradient(120deg, #7A6B3D 10%, #9A7B2F 45%, #C4A84A 55%, #7A6B3D 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-size: 200% auto;
  }
}

.hairline {
  border-color: rgba(201,168,76,0.15);
}
[data-theme="light"] .hairline {
  border-color: rgba(154,123,47,0.18);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .hairline {
    border-color: rgba(154,123,47,0.18);
  }
}

.btn-gold {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--gold);
  color: var(--gold);
  transition: all 0.3s cubic-bezier(.16,1,.3,1);
  border-radius: var(--zpex-radius-sm);
}
.btn-gold::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(201,168,76,0.1) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform 0.5s ease;
}
.btn-gold:hover::before {
  transform: translateX(100%);
}
.btn-gold:hover {
  background: var(--gold);
  color: var(--obsidian);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(201,168,76,0.3);
}
.btn-gold span {
  position: relative;
  z-index: 1;
}

.tilt-card {
  transform-style: preserve-3d;
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
  will-change: transform;
}
.tilt-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(circle 200px at var(--glow-x, 50%) var(--glow-y, 50%), rgba(201,168,76,0.12), transparent 70%);
  transition: opacity .3s ease;
  pointer-events: none;
  z-index: 1;
}
.tilt-card:hover::after {
  opacity: 1;
}

.lens-card {
  overflow: hidden;
  position: relative;
}
.lens-card img {
  transition: transform .7s cubic-bezier(.16,1,.3,1), filter .7s ease;
}
.lens-card:hover img {
  transform: scale(1.08) rotate(0.5deg);
  filter: brightness(1.08) saturate(1.15);
}
.lens-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(201,168,76,0.08) 0%, transparent 50%);
  opacity: 0;
  transition: opacity .4s ease;
  pointer-events: none;
}
.lens-card:hover::after {
  opacity: 1;
}

.divider-gold {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.js-enabled .fade-up {
  opacity: 0;
  transform: translateY(36px);
}

/* language visibility */
[data-lang-el] {
  display: none;
}
html[data-lang="fa"] [data-lang-el="fa"] {
  display: revert;
}
html[data-lang="en"] [data-lang-el="en"] {
  display: revert;
}
html[data-lang="fa"] [data-lang-el="fa"].flex-revert,
html[data-lang="en"] [data-lang-el="en"].flex-revert {
  display: flex;
}
html[data-lang="fa"] [data-lang-el="fa"].inline-revert,
html[data-lang="en"] [data-lang-el="en"].inline-revert {
  display: inline-flex;
}
html[data-lang="fa"] [data-lang-el="fa"].grid-revert,
html[data-lang="en"] [data-lang-el="en"].grid-revert {
  display: grid;
}

.vignette {
  box-shadow: inset 0 0 200px 80px rgba(11,12,16,0.9);
}
[data-theme="light"] .vignette {
  box-shadow: inset 0 0 200px 80px rgba(248,247,244,0.65);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .vignette {
    box-shadow: inset 0 0 200px 80px rgba(248,247,244,0.65);
  }
}

.num-en {
  font-family: 'Inter', sans-serif;
  direction: ltr;
  unicode-bidi: isolate;
}

}

/* ══ Aurora Mesh Gradient Background ══ */
#aurora-bg {
  overflow: hidden;
  opacity: 0.7;
}
.aurora-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.35;
  will-change: transform;
}
.aurora-blob--1 {
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(201,168,76,0.4) 0%, rgba(166,139,92,0.15) 50%, transparent 70%);
  top: -10%;
  left: -5%;
  animation: auroraFloat1 18s ease-in-out infinite alternate;
}
.aurora-blob--2 {
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(197,168,128,0.3) 0%, rgba(201,168,76,0.1) 50%, transparent 70%);
  top: 30%;
  right: -10%;
  animation: auroraFloat2 22s ease-in-out infinite alternate;
}
.aurora-blob--3 {
  width: 450px;
  height: 450px;
  background: radial-gradient(circle, rgba(228,213,160,0.25) 0%, rgba(201,168,76,0.08) 50%, transparent 70%);
  bottom: -5%;
  left: 30%;
  animation: auroraFloat3 20s ease-in-out infinite alternate;
}
.aurora-mesh {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 20% 40%, rgba(201,168,76,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 80% 20%, rgba(166,139,92,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 70% 60% at 50% 80%, rgba(228,213,160,0.04) 0%, transparent 50%);
  animation: auroraMeshShift 15s ease-in-out infinite alternate;
}
@keyframes auroraFloat1 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(80px, 60px) scale(1.15); }
  100% { transform: translate(40px, 120px) scale(0.95); }
}
@keyframes auroraFloat2 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-100px, -40px) scale(1.1); }
  100% { transform: translate(-60px, 50px) scale(0.9); }
}
@keyframes auroraFloat3 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(60px, -80px) scale(1.2); }
  100% { transform: translate(-40px, -30px) scale(1.05); }
}
@keyframes auroraMeshShift {
  0% { opacity: 1; }
  50% { opacity: 0.6; }
  100% { opacity: 1; }
}
[data-theme="light"] #aurora-bg {
  opacity: 0.4;
}
[data-theme="light"] .aurora-blob--1 {
  background: radial-gradient(circle, rgba(154,123,47,0.25) 0%, rgba(122,107,61,0.1) 50%, transparent 70%);
}
[data-theme="light"] .aurora-blob--2 {
  background: radial-gradient(circle, rgba(196,168,74,0.2) 0%, rgba(154,123,47,0.08) 50%, transparent 70%);
}
[data-theme="light"] .aurora-blob--3 {
  background: radial-gradient(circle, rgba(154,123,47,0.15) 0%, rgba(122,107,61,0.06) 50%, transparent 70%);
}
@media (prefers-reduced-motion: reduce) {
  .aurora-blob, .aurora-mesh { animation: none !important; }
}

.marquee-track {
  animation: marquee 30s linear infinite;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
[dir="rtl"] .marquee-track {
  animation-direction: reverse;
}

/* Live rate ticker: always scrolls left-to-right, independent of page direction, never restarts */
#rate-ticker {
  direction: ltr;
}
.ticker-track {
  animation: ticker-scroll 35s linear infinite;
  animation-play-state: running;
}
@keyframes ticker-scroll {
  from { transform: translateX(-50%); }
  to { transform: translateX(0%); }
}
.ticker-up {
  color: var(--zpex-ticker-up, #7BA668);
}
.ticker-down {
  color: var(--zpex-ticker-down, #B87A68);
}

.pulse-dot {
  animation: pulseDot 2.4s ease-in-out infinite;
}
@keyframes pulseDot {
  0%,100% { opacity: .5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.4); }
}

.back-to-top {
  transition: opacity .4s ease, transform .4s ease;
}

/* Theme Toggle — Premium Glassmorphism */
.zx-theme-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(201,168,76,0.1);
  border-radius: 9999px;
  background: rgba(19,19,24,0.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  color: var(--gold, #C9A84C);
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.4,0,0.2,1);
  outline: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.03);
  flex-shrink: 0;
}
.zx-theme-toggle:hover {
  border-color: rgba(201,168,76,0.25);
  background: rgba(201,168,76,0.1);
  box-shadow: 0 4px 20px rgba(201,168,76,0.12), inset 0 1px 0 rgba(255,255,255,0.05);
  transform: scale(1.08) rotate(15deg);
}
.zx-theme-toggle:active {
  transform: scale(0.95);
}
.zx-theme-toggle:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 2px;
}
[data-theme="light"] .zx-theme-toggle {
  background: rgba(255,255,255,0.6);
  border-color: rgba(154,123,47,0.15);
  color: var(--zpex-accent, #9A7B2F);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5);
}
[data-theme="light"] .zx-theme-toggle:hover {
  border-color: rgba(154,123,47,0.3);
  background: rgba(154,123,47,0.08);
  box-shadow: 0 2px 16px rgba(154,123,47,0.12), inset 0 1px 0 rgba(255,255,255,0.6);
}
.zx-theme-toggle__track {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.zx-theme-toggle__icon {
  width: 16px;
  height: 16px;
  display: none;
  align-items: center;
  justify-content: center;
}

/* Visible-on mode — driven by data-mode attr set by theme.js (lucide-safe) */
.zx-theme-toggle[data-mode="dark"]   .zx-theme-toggle__icon--dark,
.zx-theme-toggle[data-mode="light"]  .zx-theme-toggle__icon--light,
.zx-theme-toggle[data-mode="system"] .zx-theme-toggle__icon--system {
  display: inline-flex;
}
/* No-JS fallback: dark is the default palette */
.zx-theme-toggle:not([data-mode]) .zx-theme-toggle__icon--dark {
  display: inline-flex;
}
.zx-theme-toggle__icon svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (prefers-reduced-motion: reduce) {
  .zx-theme-toggle { transition: none; }
  .zx-theme-toggle:hover { transform: none; }
  .zx-theme-toggle:active { transform: none; }
}

/* ── Header Language Switcher (compact pill, matches theme toggle) ── */
.zpex-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 9999px;
  background: rgba(19,19,24,0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.04);
  flex-shrink: 0;
}
.zpex-lang-switch__globe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold, #C9A84C);
  width: 15px;
  height: 15px;
}
.zpex-lang-switch__globe svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.zpex-lang-switch__list {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.zpex-lang-switch__lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 9999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  color: var(--zpex-text-secondary, rgba(237,237,239,0.65));
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
}
.zpex-lang-switch__lang:hover {
  color: var(--gold, #C9A84C);
  background: rgba(201,168,76,0.08);
}
.zpex-lang-switch__lang.is-current {
  color: var(--gold, #C9A84C);
  background: rgba(201,168,76,0.1);
  cursor: default;
}
.zpex-lang-switch__sep {
  color: rgba(201,168,76,0.25);
  font-size: 11px;
  user-select: none;
}
.zpex-lang-switch:focus-within {
  border-color: rgba(201,168,76,0.28);
}
[data-theme="light"] .zpex-lang-switch {
  background: rgba(255,255,255,0.6);
  border-color: rgba(154,123,47,0.15);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5);
}
[data-theme="light"] .zpex-lang-switch__globe {
  color: var(--zpex-accent, #9A7B2F);
}
[data-theme="light"] .zpex-lang-switch__lang {
  color: rgba(26,26,30,0.65);
}
[data-theme="light"] .zpex-lang-switch__lang:hover {
  color: var(--zpex-accent, #9A7B2F);
  background: rgba(154,123,47,0.08);
}
[data-theme="light"] .zpex-lang-switch__lang.is-current {
  color: var(--zpex-accent, #9A7B2F);
  background: rgba(154,123,47,0.1);
}
[data-theme="light"] .zpex-lang-switch__sep {
  color: rgba(154,123,47,0.25);
}
@media (max-width: 640px) {
  .zpex-lang-switch { padding: 0 8px; gap: 5px; }
  .zpex-lang-switch__globe { display: none; }
  .zpex-lang-switch__lang { padding: 3px 6px; font-size: 11px; }
}

/* ── Header Language Switcher (theme PHP helper — zx-lang-switch) ── */
.zx-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 9999px;
  background: rgba(19,19,24,0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.04);
  flex-shrink: 0;
}
.zx-lang-switch__globe {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gold, #C9A84C);
  width: 15px;
  height: 15px;
}
.zx-lang-switch__globe svg {
  width: 15px;
  height: 15px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.zx-lang-switch__list {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.zx-lang-switch__lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 9999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  color: var(--zpex-text-secondary, rgba(237,237,239,0.65));
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
}
.zx-lang-switch__lang:hover {
  color: var(--gold, #C9A84C);
  background: rgba(201,168,76,0.08);
}
.zx-lang-switch__lang.is-current {
  color: var(--gold, #C9A84C);
  background: rgba(201,168,76,0.1);
  cursor: default;
}
.zx-lang-switch__sep {
  color: rgba(201,168,76,0.25);
  font-size: 11px;
  user-select: none;
}
.zx-lang-switch__select {
  padding: 8px 36px 8px 14px;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 12px;
  background-color: rgba(19,19,24,0.55);
  color: var(--zpex-text, #EDEDEF);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.zx-lang-switch__select:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 2px;
}
[data-theme="light"] .zx-lang-switch {
  background: rgba(255,255,255,0.6);
  border-color: rgba(154,123,47,0.15);
  box-shadow: 0 2px 8px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5);
}
[data-theme="light"] .zx-lang-switch__globe {
  color: var(--zpex-accent, #9A7B2F);
}
[data-theme="light"] .zx-lang-switch__lang {
  color: rgba(26,26,30,0.65);
}
[data-theme="light"] .zx-lang-switch__lang:hover {
  color: var(--zpex-accent, #9A7B2F);
  background: rgba(154,123,47,0.08);
}
[data-theme="light"] .zx-lang-switch__lang.is-current {
  color: var(--zpex-accent, #9A7B2F);
  background: rgba(154,123,47,0.1);
}
[data-theme="light"] .zx-lang-switch__sep {
  color: rgba(154,123,47,0.25);
}
[data-theme="light"] .zx-lang-switch__select {
  background-color: rgba(255,255,255,0.6);
  border-color: rgba(154,123,47,0.15);
  color: #1A1A1E;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239A7B2F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .zx-lang-switch {
    background: rgba(255,255,255,0.6);
    border-color: rgba(154,123,47,0.15);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5);
  }
  html[data-theme="system"] .zx-lang-switch__globe {
    color: var(--zpex-accent, #9A7B2F);
  }
  html[data-theme="system"] .zx-lang-switch__lang {
    color: rgba(26,26,30,0.65);
  }
  html[data-theme="system"] .zx-lang-switch__lang:hover {
    color: var(--zpex-accent, #9A7B2F);
    background: rgba(154,123,47,0.08);
  }
  html[data-theme="system"] .zx-lang-switch__lang.is-current {
    color: var(--zpex-accent, #9A7B2F);
    background: rgba(154,123,47,0.1);
  }
  html[data-theme="system"] .zx-lang-switch__sep {
    color: rgba(154,123,47,0.25);
  }
}
@media (max-width: 640px) {
  .zx-lang-switch { padding: 0 8px; gap: 5px; }
  .zx-lang-switch__globe { display: none; }
  .zx-lang-switch__lang { padding: 3px 6px; font-size: 11px; }
}

/* ── Language Switcher Widget (standalone) ── */
.zpex-language-switcher--list .zpex-language-switcher__list {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.zpex-language-switcher__item {
  margin: 0;
}
.zpex-language-switcher__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 9999px;
  background: rgba(19,19,24,0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: var(--zpex-text-secondary, rgba(237,237,239,0.65));
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.zpex-language-switcher__link:hover {
  color: var(--gold, #C9A84C);
  border-color: rgba(201,168,76,0.28);
  background: rgba(201,168,76,0.08);
}
.zpex-language-switcher__item--active .zpex-language-switcher__link {
  color: var(--gold, #C9A84C);
  border-color: rgba(201,168,76,0.3);
  background: rgba(201,168,76,0.1);
}
.zpex-language-switcher__flag img {
  width: 18px;
  height: 12px;
  object-fit: cover;
  border-radius: 2px;
  display: block;
}
.zpex-language-switcher__flag {
  font-size: 0.95rem;
  line-height: 1;
}
.zpex-language-switcher__code {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.zpex-language-switcher__select {
  padding: 8px 36px 8px 14px;
  border: 1px solid rgba(201,168,76,0.12);
  border-radius: 12px;
  background-color: rgba(19,19,24,0.55);
  color: var(--zpex-text, #EDEDEF);
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.zpex-language-switcher__select:focus-visible {
  outline: 2px solid var(--gold, #C9A84C);
  outline-offset: 2px;
}
.zpex-language-switcher--rtl .zpex-language-switcher__select {
  padding: 8px 14px 8px 36px;
  background-position: left 12px center;
}
.zpex-language-switcher--disabled .zpex-language-switcher__notice {
  margin: 0;
  font-size: 0.8rem;
  color: var(--zpex-text-muted, rgba(237,237,239,0.48));
}

/* Light mode — standalone widget */
[data-theme="light"] .zpex-language-switcher__link {
  background: rgba(255,255,255,0.6);
  border-color: rgba(154,123,47,0.15);
  color: rgba(26,26,30,0.65);
}
[data-theme="light"] .zpex-language-switcher__link:hover {
  color: var(--zpex-accent, #9A7B2F);
  border-color: rgba(154,123,47,0.3);
  background: rgba(154,123,47,0.08);
}
[data-theme="light"] .zpex-language-switcher__item--active .zpex-language-switcher__link {
  color: var(--zpex-accent, #9A7B2F);
  border-color: rgba(154,123,47,0.3);
  background: rgba(154,123,47,0.1);
}
[data-theme="light"] .zpex-language-switcher__select {
  background-color: rgba(255,255,255,0.6);
  border-color: rgba(154,123,47,0.15);
  color: #1A1A1E;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239A7B2F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
[data-theme="light"] .zpex-language-switcher--rtl .zpex-language-switcher__select {
  background-position: left 12px center;
}
[data-theme="light"] .zpex-language-switcher--disabled .zpex-language-switcher__notice {
  color: rgba(26,26,30,0.48);
}

/* System preference — standalone widget */
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .zpex-language-switcher__link {
    background: rgba(255,255,255,0.6);
    border-color: rgba(154,123,47,0.15);
    color: rgba(26,26,30,0.65);
  }
  html[data-theme="system"] .zpex-language-switcher__link:hover {
    color: var(--zpex-accent, #9A7B2F);
    border-color: rgba(154,123,47,0.3);
    background: rgba(154,123,47,0.08);
  }
  html[data-theme="system"] .zpex-language-switcher__item--active .zpex-language-switcher__link {
    color: var(--zpex-accent, #9A7B2F);
    border-color: rgba(154,123,47,0.3);
    background: rgba(154,123,47,0.1);
  }
  html[data-theme="system"] .zpex-language-switcher__select {
    background-color: rgba(255,255,255,0.6);
    border-color: rgba(154,123,47,0.15);
    color: #1A1A1E;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239A7B2F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
  }
  html[data-theme="system"] .zpex-lang-switch {
    background: rgba(255,255,255,0.6);
    border-color: rgba(154,123,47,0.15);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.5);
  }
  html[data-theme="system"] .zpex-lang-switch__globe {
    color: var(--zpex-accent, #9A7B2F);
  }
  html[data-theme="system"] .zpex-lang-switch__lang {
    color: rgba(26,26,30,0.65);
  }
  html[data-theme="system"] .zpex-lang-switch__lang:hover {
    color: var(--zpex-accent, #9A7B2F);
    background: rgba(154,123,47,0.08);
  }
  html[data-theme="system"] .zpex-lang-switch__lang.is-current {
    color: var(--zpex-accent, #9A7B2F);
    background: rgba(154,123,47,0.1);
  }
  html[data-theme="system"] .zpex-lang-switch__sep {
    color: rgba(154,123,47,0.25);
  }
}

video::-webkit-media-controls {
  display: none !important;
}

/* Elementor editor overrides & quality of life fixes */
.elementor-editor-active body {
  cursor: auto !important;
}
.elementor-editor-active #cursor-dot, 
.elementor-editor-active #cursor-ring {
  display: none !important;
}
.zx-site-shell {
  min-height: 100vh;
  position: relative;
}
.zx-page-builder {
  width: 100%;
}
.zx-container {
  width: min(calc(100% - 48px), var(--zx-max));
  margin-inline: auto;
}

/* ──── Site Header (Fallback) ──── */
.zx-site-header {
  position: sticky;
  top: 0;
  z-index: 99;
  border-bottom: 1px solid var(--zpex-border);
  background: var(--zpex-glass-strong);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
}
[data-theme="light"] .zx-site-header {
  border-bottom-color: var(--zpex-border, rgba(154,123,47,0.12));
  background: color-mix(in srgb, var(--zpex-primary, #FAF9F6) 90%, transparent);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .zx-site-header {
    border-bottom-color: var(--zpex-border, rgba(154,123,47,0.12));
    background: color-mix(in srgb, var(--zpex-primary, #FAF9F6) 90%, transparent);
  }
}

.zx-site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  gap: 24px;
}

.zx-site-header__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  flex-shrink: 0;
}

.zx-site-header__logo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--zpex-border-strong);
}

.zx-site-header__name {
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--zpex-accent);
  font-size: 18px;
}

.zx-site-header__nav {
  display: none;
}
@media (min-width: 1024px) {
  .zx-site-header__nav {
    display: block;
  }
}

.zx-site-header__menu {
  display: flex;
  gap: 28px;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 14px;
  color: var(--zpex-text-secondary);
}

.zx-site-header__menu li a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
  padding: 4px 0;
  position: relative;
}
.zx-site-header__menu li a:hover {
  color: var(--zpex-accent);
}
.zx-site-header__menu li.current-menu-item a,
.zx-site-header__menu li.current_page_item a {
  color: var(--zpex-accent);
}
.zx-site-header__menu li.current-menu-item a::after,
.zx-site-header__menu li.current_page_item a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  inset-inline-start: 0;
  inset-inline-end: 0;
  height: 2px;
  background: var(--zpex-accent);
  border-radius: 1px;
}

.zx-site-header__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.zx-site-header__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  border: 1px solid var(--zpex-accent);
  color: var(--zpex-accent);
  padding: 8px 20px;
  border-radius: var(--zpex-radius-full);
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
  cursor: pointer;
  background: transparent;
}
.zx-site-header__cta:hover {
  background: var(--zpex-accent);
  color: var(--zpex-primary);
}
@media (max-width: 1023px) {
  .zx-site-header__actions > .zx-site-header__cta {
    display: none;
  }
}

.zx-site-header__mobile-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--zpex-border-strong);
  border-radius: var(--zpex-radius-sm);
  background: transparent;
  color: var(--zpex-text);
  cursor: pointer;
  transition: all 0.3s ease;
}
.zx-site-header__mobile-btn:hover {
  border-color: var(--zpex-accent);
  color: var(--zpex-accent);
}
@media (min-width: 1024px) {
  .zx-site-header__mobile-btn {
    display: none;
  }
}

/* Mobile Menu — Premium Glassmorphism Drawer */
body.zx-menu-open {
  overflow: hidden !important;
}

/* Overlay backdrop */
.zx-mobile-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(10,10,15,0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.zx-mobile-menu-overlay.zx-visible {
  opacity: 1;
  visibility: visible;
}
[data-theme="light"] .zx-mobile-menu-overlay {
  background: color-mix(in srgb, var(--zpex-primary, #FAF9F6) 60%, transparent);
}

/* Drawer panel */
.zx-mobile-menu {
  position: fixed;
  top: 0;
  z-index: 9999;
  width: min(85vw, 360px);
  height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: 80px 24px 32px;
  background: rgba(13,13,18,0.92);
  backdrop-filter: blur(32px) saturate(150%);
  -webkit-backdrop-filter: blur(32px) saturate(150%);
  border-inline-end: 1px solid var(--zpex-border);
  box-shadow: var(--zpex-shadow-lg);
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* RTL: slide from right */
[dir="rtl"] .zx-mobile-menu {
  right: 0;
  transform: translateX(100%);
}
[dir="rtl"] .zx-mobile-menu.zx-open {
  transform: translateX(0);
}

/* LTR: slide from left */
[dir="ltr"] .zx-mobile-menu {
  left: 0;
  transform: translateX(-100%);
}
[dir="ltr"] .zx-mobile-menu.zx-open {
  transform: translateX(0);
}

.zx-mobile-menu[hidden] {
  display: flex !important;
  pointer-events: none;
}
.zx-mobile-menu.zx-open {
  pointer-events: auto;
}

@keyframes zxMenuFadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

[data-theme="light"] .zx-mobile-menu {
  background: color-mix(in srgb, var(--zpex-primary, #FAF9F6) 92%, transparent);
  border-inline-end-color: var(--zpex-border, rgba(154,123,47,0.15));
}

/* Close button inside drawer */
.zx-mobile-menu__close {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--zpex-border);
  border-radius: var(--zpex-radius-sm);
  background: transparent;
  color: var(--zpex-text);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.zx-mobile-menu__close:hover {
  background: var(--zpex-surface-hover);
  color: var(--zpex-accent);
}

/* Brand in drawer */
.zx-mobile-menu__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--zpex-border-subtle);
}
.zx-mobile-menu__brand img {
  width: 36px;
  height: 36px;
  border-radius: var(--zpex-radius-sm);
}
.zx-mobile-menu__brand-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--zpex-text);
}

/* Navigation list */
.zx-mobile-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.zx-mobile-menu__list li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  color: var(--zpex-text-secondary);
  text-decoration: none;
  border-radius: var(--zpex-radius-md);
  font-size: 15px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.zx-mobile-menu__list li a:hover,
.zx-mobile-menu__list li.current-menu-item a {
  color: var(--zpex-accent);
  background: var(--zpex-surface-hover);
}

/* Bottom actions area (CTA + language switcher) */
.zx-mobile-menu__actions {
  padding-top: 20px;
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-top: 1px solid var(--zpex-border-subtle);
}
.zx-mobile-menu__actions .zx-site-header__cta {
  width: 100%;
  justify-content: center;
  padding: 14px 24px;
}

/* Hamburger → X animation */
.zx-hamburger {
  position: relative;
  width: 24px;
  height: 24px;
}
.zx-hamburger__line {
  position: absolute;
  inset-inline-start: 0;
  width: 100%;
  height: 2px;
  background: var(--zpex-text);
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.zx-hamburger__line:nth-child(1) { top: 5px; }
.zx-hamburger__line:nth-child(2) { top: 11px; }
.zx-hamburger__line:nth-child(3) { top: 17px; }

/* Hamburger open state → X */
.zx-hamburger.zx-active .zx-hamburger__line:nth-child(1) {
  top: 11px;
  transform: rotate(45deg);
}
.zx-hamburger.zx-active .zx-hamburger__line:nth-child(2) {
  opacity: 0;
}
.zx-hamburger.zx-active .zx-hamburger__line:nth-child(3) {
  top: 11px;
  transform: rotate(-45deg);
}

/* ──── Site Footer (Fallback) ──── */
.zx-site-footer {
  border-top: 1px solid var(--zpex-border);
  background: var(--zpex-surface);
  padding: 48px 0;
}
[data-theme="light"] .zx-site-footer {
  border-top-color: var(--zpex-border, rgba(154,123,47,0.12));
  background: var(--zpex-surface);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .zx-site-footer {
    border-top-color: var(--zpex-border, rgba(154,123,47,0.12));
    background: var(--zpex-surface);
  }
}

.zx-site-footer__inner {
  display: block;
}

/* Top row: menu (right in RTL) | logo (center) | language (left in RTL) */
.zx-site-footer__top {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
}
.zx-site-footer__nav {
  grid-column: 1;
  justify-self: start;
}
.zx-site-footer__brand {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  color: inherit;
  text-decoration: none;
}
.zx-site-footer__lang {
  grid-column: 3;
  justify-self: end;
}

/* Bottom row: social (right in RTL) | copyright (left in RTL) */
.zx-site-footer__bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--zpex-border, rgba(201, 168, 76, 0.12));
}
.zx-site-footer__social {
  grid-column: 1;
  justify-self: start;
  display: flex;
  gap: 16px;
  align-items: center;
}
.zx-site-footer__copy {
  grid-column: 2;
  justify-self: end;
  text-align: end;
}

@media (max-width: 767px) {
  .zx-site-footer__top {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  .zx-site-footer__nav,
  .zx-site-footer__brand,
  .zx-site-footer__lang {
    grid-column: 1;
    justify-self: center;
  }
  .zx-site-footer__brand { order: -1; }
  .zx-site-footer__bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .zx-site-footer__social,
  .zx-site-footer__copy {
    grid-column: 1;
    justify-self: center;
    text-align: center;
  }
}

.zx-site-footer__logo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--zpex-border-strong, rgba(201, 168, 76, 0.25));
}

.zx-site-footer__name {
  font-size: 18px;
  color: var(--zpex-accent);
  font-family: var(--zpex-font-display);
}
[dir="rtl"] .zx-site-footer__name {
  font-family: var(--zpex-font-body);
  font-weight: 700;
}

.zx-site-footer__subtitle {
  color: var(--zpex-text-muted);
  margin-top: 4px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.zx-site-footer__nav {
  display: none;
}
@media (min-width: 1024px) {
  .zx-site-footer__nav {
    display: block;
  }
}

.zx-site-footer__menu {
  display: flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
}

.zx-site-footer__menu li a {
  color: var(--zpex-text-muted);
  text-decoration: none;
  transition: color 0.3s ease;
}
.zx-site-footer__menu li a:hover {
  color: var(--zpex-accent);
}

.zx-site-footer__copy {
  color: var(--zpex-text-muted);
  font-size: var(--zpex-type-small);
}

.zx-site-footer__social a {
  display: inline-flex;
  color: var(--zpex-accent);
  text-decoration: none;
  transition: color 0.3s ease, transform 0.3s ease;
}
.zx-site-footer__social a:hover,
.zx-site-footer__social a:focus-visible {
  color: var(--zpex-accent-2);
  transform: translateY(-2px);
}

/* Footer language switcher: placement only — visuals come from .zx-lang-switch global styles */
.zx-site-footer__lang {
  display: flex;
  align-items: center;
}

/* ──── Legacy Fallback Header/Footer (kept for backward compat) ──── */
.zx-fallback-header {
  border-bottom: 1px solid var(--zpex-border);
  background: var(--zpex-glass-strong);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
}
.zx-fallback-footer {
  border-top: 1px solid var(--zpex-border);
  background: var(--zpex-surface);
  padding: 48px 0;
}
[data-theme="light"] .zx-fallback-header {
  border-bottom-color: rgba(154,123,47,0.12);
  background: rgba(250,249,246,0.9);
}
[data-theme="light"] .zx-fallback-footer {
  border-top-color: rgba(154,123,47,0.12);
  background: var(--zpex-surface);
}
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .zx-fallback-header {
    border-bottom-color: rgba(154,123,47,0.12);
    background: rgba(250,249,246,0.9);
  }
  html[data-theme="system"] .zx-fallback-footer {
    border-top-color: rgba(154,123,47,0.12);
    background: var(--zpex-surface);
  }
}

/* Blog grid styling */
.zx-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.zx-blog-card {
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.zx-blog-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
}
@media (max-width: 1024px) {
  .zx-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .zx-blog-grid {
    grid-template-columns: 1fr;
  }
}

/* Screen reader only — accessible hiding */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  clip: auto !important;
  display: block;
  height: auto;
  inset-inline-start: 5px;
  top: 10px;
  width: auto;
  z-index: 100000;
  background: #fff;
  color: #000;
  padding: 15px 23px 14px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  line-height: inherit;
  border-radius: 4px;
  box-shadow: 0 0 10px rgba(0,0,0,.3);
}

/* --- Lite mode (low-power clients) ---
   Added by JS (theme.js) when hardware looks weak, or manually via <html class="zpex-lite">.
   Removes every backdrop-filter (the per-frame re-blur behind the animated starfield
   is the main CPU/GPU cost) and swaps glass panels for solid, readable surfaces. */
.zpex-lite *,
.zpex-lite *::before,
.zpex-lite *::after {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.zpex-lite .glass { background: rgba(19,19,24,0.94); }
.zpex-lite .glass-strong { background: rgba(10,10,15,0.97); }
.zpex-lite .zpex-glass-card,
.zpex-lite .zpex-glass-card-strong { background: var(--zpex-surface); }
.zpex-lite .zpex-decorative-glow { display: none; }
