/* === ISOLATED FOOTER 947 (replaces old 910) === */
#footer947.footer947 {
  --ft-bg947: radial-gradient(circle at 25% 15%, var(--z-surface-1) 0%, var(--z-bg) 55%, var(--z-bg-deep) 100%);
  --ft-border947: var(--z-border);
  --ft-soft947: var(--z-text-sec);
  --ft-text947: var(--z-text);
  --ft-accent947: var(--z-accent);
  --ft-accent-glow947: 0 0 0 3px var(--z-accent-glow);
  position: relative;
  background: var(--ft-bg947);
  color: var(--ft-text947);
  padding: 0;
  margin-top: auto;
  z-index: 5;
  isolation: isolate;
}
#footer947 * { box-sizing: border-box; }
.footer-container947 { width:100%; max-width:1320px; margin:0 auto; padding:3.5rem clamp(1.25rem,3vw,2.5rem) 2.2rem; }
.footer-content947 { position:relative; }
.footer-content947::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 80% 20%, var(--z-accent-glow), transparent 65%),
    radial-gradient(circle at 10% 85%, var(--z-accent-glow), transparent 60%);
  opacity:.9; pointer-events:none; mix-blend-mode:overlay;
}

.footer-grid947 {
  display:grid;
  gap:2.2rem clamp(1.25rem,2vw,2rem);
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  margin-bottom:2.8rem;
}
.footer-col947 { min-width:0; }
.footer-col-wide947 { grid-column:1/-1; }

.footer-logo947 {
  display:flex; align-items:center; gap:.85rem; margin-bottom:1rem;
}
.footer-logo947 img { border-radius:14px; box-shadow:0 4px 14px -4px rgba(0,0,0,.6); }
.footer-logo-text947 { font-weight:700; font-size:1.45rem; letter-spacing:.5px; }

.footer-description947 {
  font-size:.9rem; line-height:1.55; color:var(--ft-soft947); margin:0 0 1.35rem;
  max-width:340px;
}

.social-links947 { display:flex; gap:.75rem; flex-wrap:wrap; }
.social-link947 {
  width:42px; height:42px; display:grid; place-items:center;
  background:rgba(255,255,255,.07);
  color:var(--ft-text947); border-radius:14px;
  text-decoration:none; position:relative;
  transition:.4s cubic-bezier(.4,0,.2,1);
  border:1px solid rgba(255,255,255,.08);
}
.social-link947:hover {
  background: var(--z-accent-gradient);
  box-shadow:0 10px 28px -10px var(--z-accent-glow);
  transform:translateY(-4px);
}

.footer-heading947 {
  font-size:1rem; font-weight:600; margin:0 0 1.1rem; letter-spacing:.5px;
  position:relative;
}
.footer-heading947::after{
  content:""; display:block; width:38px; height:2px; margin-top:.55rem;
  background:linear-gradient(90deg,var(--ft-accent947),transparent);
  border-radius:2px;
}

.footer-links947 {
  list-style:none; margin:0; padding:0; display:grid; gap:.55rem;
}
.footer-link947 {
  font-size:.85rem; color:var(--ft-soft947); text-decoration:none;
  padding:.2rem 0; position:relative; transition:.4s;
}
.footer-link947::before{
  content:""; position:absolute; left:0; bottom:0;
  width:0; height:1px; background:var(--ft-accent947); transition:.4s;
}
.footer-link947:hover {
  color:#fff; padding-left:.4rem;
}
.footer-link947:hover::before { width:40%; }

.newsletter947 {
  background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,0));
  border:1px solid var(--ft-border947);
  border-radius:22px;
  padding:2.1rem clamp(1.2rem,2vw,2.2rem);
  display:grid; gap:1rem;
  box-shadow:0 8px 30px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04) inset;
  backdrop-filter:blur(14px) saturate(160%);
}
.newsletter-heading947 { margin:0; font-size:1rem; font-weight:600; letter-spacing:.5px; }
.newsletter-text947 { margin:0; font-size:.8rem; color:var(--ft-soft947); }
.newsletter-fieldwrap947 {
  display:flex; gap:.6rem; flex-wrap:wrap;
}
.newsletter-input947 {
  flex:1 1 220px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:var(--ft-text947);
  padding:.85rem 1rem;
  font-size:.85rem;
  border-radius:14px;
  outline:none;
  transition:.35s;
}
.newsletter-input947::placeholder { color:rgba(255,255,255,.45); }
.newsletter-input947:focus {
  border-color:var(--ft-accent947);
  box-shadow:var(--ft-accent-glow947);
  background:rgba(255,255,255,.12);
}

.newsletter-btn947 {
  background: var(--z-accent-gradient);
  border:none;
  color:#fff;
  font-size:.75rem;
  letter-spacing:.15em;
  font-weight:600;
  padding:.9rem 1.4rem;
  border-radius:14px;
  cursor:pointer;
  text-transform:uppercase;
  position:relative;
  overflow:hidden;
  transition:.45s cubic-bezier(.4,0,.2,1);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.newsletter-btn947::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(120deg,rgba(255,255,255,.25),rgba(255,255,255,0) 65%);
  opacity:0; transition:.5s;
}
.newsletter-btn947:hover {
  transform:translateY(-3px);
  box-shadow:0 14px 34px -12px var(--z-accent-glow);
}
.newsletter-btn947:hover::after { opacity:1; }

.footer-bottom947 {
  display:flex; flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:1.2rem;
  padding:1.6rem 0 .4rem;
  border-top:1px solid var(--ft-border947);
  font-size:.75rem;
}
.footer-bottom947 * { font-size:inherit; }
.footer-tools947 { display:flex; align-items:center; gap:1.1rem; }

.lang-switch947 {
  display:flex; align-items:center; gap:.55rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  padding:.55rem .85rem;
  border-radius:14px;
  font-size:.75rem;
  color:var(--ft-soft947);
}
.lang-switch947 i { font-size:.85rem; }
.lang-select947 {
  appearance:none;
  background:transparent;
  border:none;
  color:var(--ft-text947);
  font-size:.75rem;
  padding:.2rem 0;
  cursor:pointer;
}
.lang-select947:focus {
  outline:2px solid var(--ft-accent947);
  outline-offset:2px;
  border-radius:6px;
}

@media (max-width:960px){
  .footer-grid947 { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
  .newsletter947 { grid-column:1/-1; }
}
@media (max-width:640px){
  .footer-container947 { padding:2.8rem 1.2rem 1.8rem; }
  .footer-grid947 { gap:2rem 1.25rem; }
  .footer-bottom947 { flex-direction:column; align-items:flex-start; }
  .newsletter-fieldwrap947 { flex-direction:column; }
  .newsletter-btn947 { width:100%; }
}
@media (prefers-reduced-motion:reduce){
  #footer947 * { transition:none !important; animation:none !important; }
}