/* Combined footer styles (moved from template parts) */

/* Scope footer-specific CSS variables to the footer wrapper to avoid
   being overridden by header :root variables loaded later. */
.quantum-footer-2025 {
    --footer-bg: #071026;
    --footer-card: rgba(8, 14, 30, 0.92);
    --footer-glass: rgba(255, 255, 255, 0.03);
    --footer-border: 1px solid rgba(255, 255, 255, 0.06);
    --footer-glow: 0 10px 40px rgba(25, 201, 161, 0.10);
    --quantum-primary: #19C9A1;
    --quantum-accent: #FFCF6C;
    --discord-accent: #3b82f6;
    --quantum-text: #EAF6F5;
    --quantum-text-secondary: #9AAAB0;
    --quantum-card: rgba(7, 14, 28, 0.95);
}

/* Quantum footer layout */
.quantum-footer-2025 { background: var(--footer-bg); border-top: var(--footer-border); position: relative; overflow: hidden; }
.quantum-footer-2025::before { content:''; position:absolute; top:0; left:0; width:100%; height:1px; background: linear-gradient(90deg, transparent, var(--quantum-primary), transparent); }
.quantum-footer-container { display:flex; flex-direction:column; }

/* Discord hero */
.ftr-discord-hero { background: linear-gradient(135deg, var(--quantum-card), rgba(8, 14, 30, 0.92)); border-bottom: var(--footer-border); position: relative; overflow: hidden; padding: 3rem 0; }
.ftr-discord-hero::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background: radial-gradient(circle at 50% 20%, rgba(25, 201, 161, 0.06) 0%, transparent 45%), radial-gradient(circle at 80% 80%, rgba(255, 207, 108, 0.04) 0%, transparent 45%); background-repeat:no-repeat; background-position:center; background-size:cover; filter: blur(6px); transform: scale(1.03); opacity:0.72; pointer-events:none; z-index:0; }
.ftr-discord-overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(2,6,23,0.28), rgba(2,6,23,0.38)); z-index:1; pointer-events:none; }
.ftr-discord-content { position:relative; z-index:3; opacity:0; transform:translateY(10px) scale(0.995); transition: opacity 320ms cubic-bezier(.2,.9,.3,1), transform 320ms cubic-bezier(.2,.9,.3,1); }
.ftr-discord-content.is-visible { opacity:1; transform:translateY(0) scale(1); }
.ftr-discord-bg { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; }
.ftr-orb { position:absolute; border-radius:50%; background: radial-gradient(circle, var(--quantum-primary), transparent); opacity:0.1; animation: float 6s ease-in-out infinite; }
.ftr-orb-1 { width:120px; height:120px; top:10%; left:20%; animation-delay:0s; }
.ftr-orb-2 { width:80px; height:80px; top:70%; left:70%; animation-delay:3s; }
.ftr-pulse { position:absolute; top:50%; left:50%; width:300px; height:300px; border:2px solid var(--quantum-primary); border-radius:50%; opacity:0; animation:pulse 4s ease-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-15px) scale(1.05);} }
@keyframes pulse { 0%{transform:translate(-50%,-50%) scale(0.8); opacity:0.5;}100%{transform:translate(-50%,-50%) scale(1.2); opacity:0;} }
.ftr-discord-header { text-align:center; margin-bottom:2.5rem; color:var(--quantum-text); }
.ftr-discord-icon { display:inline-block; text-align:center; margin-bottom:1.5rem; }
.ftr-icon-orb { width:80px; height:80px; background: linear-gradient(135deg, var(--quantum-primary), var(--quantum-accent)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; position:relative; box-shadow:var(--footer-glow); animation:iconFloat 3s ease-in-out infinite; }
@keyframes iconFloat { 0%,100%{transform:translateY(0) rotate(0);}33%{transform:translateY(-5px) rotate(2deg);}66%{transform:translateY(5px) rotate(-2deg);} }
.ftr-emoji { font-size:2rem; filter: drop-shadow(0 6px 12px rgba(0,0,0,0.45)); color:var(--quantum-accent); }
.ftr-icon-sparkle { position:absolute; top:-3px; right:-3px; width:16px; height:16px; background:#fff; border-radius:50%; opacity:0; animation:sparkle 2s ease-in-out infinite; }
@keyframes sparkle { 0%,100%{opacity:0; transform:scale(0);}50%{opacity:1; transform:scale(1);} }
.ftr-online-indicator { display:inline-flex; align-items:center; gap:0.6rem; background:linear-gradient(180deg, rgba(59,130,246,0.10), rgba(25,201,161,0.04)); border:1px solid rgba(59,130,246,0.22); border-radius:1rem; padding:0.45rem 1rem; backdrop-filter:blur(6px); box-shadow:0 6px 18px rgba(25,201,161,0.04); }
.ftr-online-dot { width:10px; height:10px; background:var(--discord-accent); border-radius:50%; animation:pulseDot 2s ease-in-out infinite; box-shadow:0 0 14px rgba(59,130,246,0.35); border:2px solid rgba(255,255,255,0.06); }
@keyframes pulseDot { 0%,100%{opacity:1; transform:scale(1);}50%{opacity:0.7; transform:scale(1.2);} }
.ftr-online-text { font-size:0.9rem; font-weight:800; color:var(--quantum-text); text-shadow:0 1px 0 rgba(0,0,0,0.35); }
.ftr-discord-title { font-size:2.6rem; font-weight:900; margin:0 0 0.6rem 0; line-height:1.05; color:var(--quantum-text); letter-spacing:-0.02em; }
.ftr-title-gradient { background: linear-gradient(135deg, var(--quantum-text), var(--quantum-primary)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.ftr-discord-desc { font-size:1.05rem; line-height:1.6; color:var(--quantum-text-secondary); margin:0; max-width:720px; margin-left:auto; margin-right:auto; opacity:0.95; }
.ftr-actions { display:flex; align-items:center; justify-content:space-between; gap:3rem; max-width:700px; margin:0 auto; }
.ftr-stats { display:flex; gap:1.25rem; flex:1; }
.ftr-stat-item { display:flex; align-items:center; gap:0.75rem; padding:1rem; background:rgba(255,255,255,0.02); border-radius:1rem; border:1px solid rgba(59,130,246,0.08); transition:all 0.28s ease; flex:1; box-shadow:0 8px 24px rgba(6,18,40,0.25); }
.ftr-stat-item:hover { background:rgba(255,255,255,0.03); transform:translateY(-3px); box-shadow:0 16px 40px rgba(6,18,40,0.32); }
.ftr-stat-icon { font-size:1.3rem; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); }
.ftr-stat-content { display:flex; flex-direction:column; }
.ftr-stat-number { font-size:1.3rem; font-weight:800; color:var(--discord-accent); line-height:1; }
.ftr-stat-label { font-size:0.75rem; color:var(--quantum-text-secondary); font-weight:500; }
.ftr-cta { flex-shrink:0; }
.ftr-cta-card { text-align:center; }
.ftr-invite { color:var(--quantum-text); font-size:1.05rem; max-width:720px; text-align:center; margin:0; line-height:1.6; opacity:0.98; font-weight:600; }
.ftr-cta-btn { display:flex; align-items:center; gap:1rem; background: linear-gradient(135deg, var(--discord-accent), var(--quantum-primary)); color:white; text-decoration:none; padding:0.95rem 1.4rem; border-radius:1rem; font-weight:800; transition: all 0.28s ease; margin-bottom:0.5rem; position:relative; overflow:hidden; box-shadow:0 6px 20px rgba(59,130,246,0.12); }
.ftr-cta-btn::before { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition:left 0.6s ease; }
.ftr-cta-btn:hover::before { left:100%; }
.ftr-cta-btn:hover { transform:translateY(-3px); box-shadow:0 14px 40px rgba(25,201,161,0.12), 0 8px 30px rgba(59,130,246,0.12); }
.ftr-btn-icon { width:28px; height:28px; flex:0 0 28px; background-color: rgba(59,130,246,0.12); background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 127.14 96.36"><path fill="white" d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,46,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,46,96.12,53,91.08,65.69,84.69,65.69Z"/></svg>'); background-repeat:no-repeat; background-position:center; background-size:60%; border-radius:8px; box-shadow:0 6px 18px rgba(25,201,161,0.06); }
.ftr-btn-text { display:flex; flex-direction:column; flex:1; text-align:left; }
.ftr-btn-main { font-size:1rem; line-height:1.2; font-weight:800; }
.ftr-btn-sub { font-size:0.75rem; opacity:0.95; font-weight:600; }
.ftr-btn-arrow { font-size:0.9rem; transition: transform 0.3s ease; }
.ftr-cta-btn:hover .ftr-btn-arrow { transform: translateX(4px); }
.cta-note { font-size:0.75rem; color:var(--quantum-text-secondary); }

/* Footer links */
.ftr-footer-links-compact { background: var(--footer-card); border-bottom: var(--footer-border); padding: 2rem 0; color: var(--quantum-text); }
.ftr-footer-links-grid-compact { display:grid; grid-template-columns: repeat(4,1fr); gap:1.5rem; max-width:1000px; margin:0 auto; }
.ftr-footer-group-compact { background: rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.08); border-radius:0.75rem; padding:1.25rem; transition:all 0.3s ease; }
.ftr-footer-group-compact:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(25,201,161,0.06); }
.ftr-group-header-compact { margin-bottom:1rem; padding-bottom:0.75rem; border-bottom:1px solid rgba(255,255,255,0.1); }
.ftr-group-title-compact { font-size:0.95rem; font-weight:800; color:var(--quantum-text); margin:0; text-transform:uppercase; letter-spacing:0.06em; }
.ftr-footer-links-list-compact { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.35rem; }
.ftr-footer-link-compact { display:block; padding:0.5rem 0; text-decoration:none; color:var(--quantum-text-secondary); font-size:0.85rem; font-weight:500; transition:all 0.3s ease; position:relative; padding-left:0.75rem; }
.ftr-footer-link-compact::before { content:''; position:absolute; left:0; top:50%; width:3px; height:0; background:var(--quantum-primary); border-radius:2px; transition:all 0.3s ease; transform:translateY(-50%); }
.ftr-footer-link-compact:hover { color:var(--quantum-primary); padding-left:1rem; text-decoration:underline; }
.ftr-footer-link-compact:hover::before { height:12px; }

/* Copyright */
.ftr-copyright-compact { background: var(--footer-bg); border-top: var(--footer-border); padding:0.9rem 0; position:relative; }
.ftr-copyright-compact::before { content:''; position:absolute; top:0; left:0; width:100%; height:1px; background: linear-gradient(90deg, transparent, var(--quantum-primary), transparent); opacity:0.12; }
.ftr-copyright-content { max-width:1000px; margin:0 auto; display:flex; flex-direction:column; gap:0.5rem; text-align:center; }
.ftr-copyright-main { display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; }
.ftr-copyright-logo { display:flex; align-items:center; gap:0.5rem; padding:0.5rem 1rem; background: linear-gradient(135deg, rgba(25,201,161,0.04), rgba(255,207,108,0.02)); border-radius:0.75rem; border:1px solid rgba(255,255,255,0.04); }
.ftr-logo-emoji { font-size:1rem; }
.ftr-logo-text { font-weight:700; background: linear-gradient(135deg, var(--quantum-text), var(--quantum-primary)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-size:0.95rem; }
.ftr-copyright-text { margin:0; color:var(--quantum-text); font-weight:600; font-size:0.9rem; }
.ftr-copyright-info { display:flex; flex-direction:column; gap:0.75rem; align-items:center; }
.ftr-disclaimer { margin:0; font-size:0.78rem; color:var(--quantum-text); opacity:0.92; max-width:600px; line-height:1.45; font-weight:500; }
.ftr-copyright-links { display:flex; align-items:center; gap:0.5rem; flex-wrap:wrap; justify-content:center; }
.ftr-copyright-link { font-size:0.75rem; color:var(--quantum-text); text-decoration:none; transition:color 0.3s ease; font-weight:600; }
.ftr-copyright-link:hover { color:var(--quantum-primary); }
.ftr-copyright-link:focus { outline:2px solid rgba(25,201,161,0.18); outline-offset:3px; border-radius:4px; }
.ftr-link-sep { color:var(--quantum-text); opacity:0.65; font-size:0.7rem; }

/* Responsive tweaks */
@media (max-width:968px) { .ftr-footer-links-grid-compact { grid-template-columns: repeat(2,1fr); gap:1rem; } .ftr-footer-group-compact { padding:1rem; } .ftr-copyright-main { gap:0.9rem; } }
@media (max-width:768px) { .ftr-footer-links-grid-compact { grid-template-columns:1fr; max-width:400px; } .ftr-discord-hero { padding:2rem 0; } .ftr-discord-title { font-size:1.5rem; } .ftr-discord-desc { font-size:1rem; } .ftr-disclaimer { font-size:0.7rem; } .ftr-copyright-compact { padding:0.8rem 0; } }
@media (max-width:480px) { .ftr-icon-orb { width:60px; height:60px; } .ftr-emoji { font-size:1.5rem; } .ftr-discord-title { font-size:1.3rem; } .ftr-copyright-logo { padding:0.3rem 0.6rem; } .ftr-logo-text { font-size:0.8rem; } }

/* small utility */
.ftr-discord-content.is-visible { opacity:1; transform:none; }
