/* ====== Opera GX Cherry Neon + Glass Cards + Bubble Hover ====== */
.gx-footer {
  --ink:#ffe9f1; --dim:#e9cfd6;
  --bg1:#0b0a0c; --bg2:#12060b;
  --neon:#ff0f4d; --neon2:#ff3b7f; --line:rgba(255,0,90,.42);
  color:var(--ink);
  background:
    radial-gradient(1200px 70% at 100% 0%, rgba(255,0,112,.08), transparent 60%),
    radial-gradient(800px 50% at 0% 20%, rgba(255,0,72,.08), transparent 60%),
    linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);
  border-top:1px solid var(--line);
  box-shadow: 0 -14px 40px rgba(255,0,90,.18), inset 0 1px 0 rgba(255,255,255,.06);
  padding:60px 40px 22px;
  position:relative;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.gx-footer::before{
  content:""; position:absolute; left:0; right:0; top:-1px; height:2px;
  background:linear-gradient(90deg,transparent,var(--neon),var(--neon2),var(--neon),transparent);
  filter:drop-shadow(0 0 8px var(--neon)); opacity:.9;
}
.footer-inner{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:32px;
  max-width:1200px;
  margin:auto;
}

/* ==== Glass column cards ==== */
.footer-col{
  position:relative;
  border-radius:18px;
  border:1px solid rgba(255,0,90,.45);
  background:
    radial-gradient(120% 200% at 0% 0%, rgba(255,0,90,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    linear-gradient(180deg, #1a0810, #0e0609);
  box-shadow: inset 0 0 0 1px rgba(255,0,90,.16), 0 10px 24px rgba(255,0,96,.18);
  backdrop-filter: blur(4px) saturate(1.15);
  -webkit-backdrop-filter: blur(4px) saturate(1.15);
  padding:18px 18px 14px;
  transition:.2s;
}
.footer-col:hover{
  transform:translateY(-2px);
  border-color:rgba(255,0,90,.85);
  box-shadow: inset 0 0 0 1px rgba(255,0,90,.28), 0 16px 36px rgba(255,0,96,.28);
}
.footer-col h3, .footer-contact h3{
  margin:0 0 14px;
  font:800 18px/1.2 "Segoe UI",system-ui,Arial;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:#ff2558;
  text-shadow:0 0 8px rgba(255,0,90,.35),0 0 18px rgba(255,0,90,.18);
}
.footer-col.brand p{ color:var(--dim); margin:10px 0 16px; }
.footer-logo{ max-width:180px; margin-bottom:16px; filter:drop-shadow(0 6px 14px rgba(255,0,90,.25)); }

/* Social icons */
.social-icons a{
  width:42px; height:42px; display:inline-block; line-height:42px; text-align:center;
  margin:0 6px 6px 0; border-radius:12px; color:#fff;
  background:linear-gradient(145deg,var(--neon),var(--neon2));
  border:1px solid rgba(255,0,90,.4);
  box-shadow:0 10px 22px rgba(255,0,90,.32), inset 0 1px 0 rgba(255,255,255,.12);
  transition:.2s;
}
.social-icons a:hover{ transform:translateY(-2px); }

/* Store badges */
.store-links a img{ max-width:168px; margin:8px 8px 0 0; filter:drop-shadow(0 6px 14px rgba(255,0,90,.25)); transition:.15s; }
.store-links a img:hover{ transform:translateY(-2px); }

/* Links */
.footer-col ul{ list-style:none; margin:0; padding:0; }
.footer-col ul li{ margin:10px 0; }
.footer-col ul li a{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  color:#fff; text-decoration:none;
  opacity:.95; transition:.18s; border-bottom:1px dashed transparent; padding-right:46px;
}
.footer-col ul li a:hover{
  opacity:1;
  border-bottom-color:rgba(255,0,90,.45);
  text-shadow:0 0 10px rgba(255,0,90,.45);
}
/* Bubble icon mặc định và các biến thể */
.footer-col ul li a::after{
  content:"\f005"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; top:50%; right:-10px; transform:translateY(-50%) scale(.65);
  width:28px; height:28px; border-radius:50%; display:grid; place-items:center;
  color:#fff; background:linear-gradient(145deg,var(--neon),var(--neon2));
  border:1px solid rgba(255,0,90,.45);
  box-shadow:0 10px 18px rgba(255,0,96,.36), inset 0 1px 0 rgba(255,255,255,.16);
  opacity:0; transition:right .22s ease, transform .22s ease, opacity .18s ease;
}
.footer-col ul li a:hover::after{ right:-22px; transform:translateY(-50%) scale(1); opacity:1; }
.footer-col ul li a[data-ic="heart"]::after{ content:"\f004"; }
.footer-col ul li a[data-ic="bolt"]::after{ content:"\f0e7"; }
.footer-col ul li a[data-ic="arrow"]::after{ content:"\f061"; }
.footer-col ul li a[data-ic="crown"]::after{ content:"\f521"; }
.footer-col ul li a[data-ic="shield"]::after{ content:"\f3ed"; }
.footer-col ul li a[data-ic="users"]::after{ content:"\f0c0"; }
.footer-col ul li a[data-ic="id"]::after{ content:"\f2c2"; }
.footer-col ul li a[data-ic="gift"]::after{ content:"\f06b"; }
.footer-col ul li a[data-ic="ban"]::after{ content:"\f05e"; }
.footer-col ul li a[data-ic="scroll"]::after{ content:"\f70e"; }
.footer-col ul li a[data-ic="cookie"]::after{ content:"\f563"; }
.footer-col ul li a[data-ic="gavel"]::after{ content:"\f0e3"; }
.footer-col ul li a[data-ic="dice"]::after{ content:"\f522"; }
.footer-col ul li a[data-ic="question"]::after{ content:"\f059"; }
.footer-col ul li a[data-ic="map"]::after{ content:"\f279"; }

/* Contact + bottom */
.footer-contact{ margin-top:28px; text-align:center; }
.contact-row{ display:flex; justify-content:center; align-items:center; gap:10px; font-size:18px; }
.contact-row i{ color:var(--neon); }
.contact-row a{ color:var(--ink); text-decoration:none; border-bottom:1px dashed transparent; }
.contact-row a:hover{ border-bottom-color:rgba(255,0,90,.45); }

.footer-bottom{
  text-align:center; color:#cfc7cf; font-size:13.5px;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:16px; margin-top:18px;
  background: radial-gradient(800px 60% at 50% -40%, rgba(255,0,90,.12), transparent 70%);
}

/* Responsive */
@media (max-width:1024px){
  .gx-footer{
    position: fixed; left:0; right:0; bottom:0; z-index:9990;
    max-height:360px; overflow:auto;
    padding-bottom: calc(18px + env(safe-area-inset-bottom,0));
    backdrop-filter: blur(6px) saturate(1.08);
    -webkit-backdrop-filter: blur(6px) saturate(1.08);
  }
  body{ padding-bottom:360px !important; }
}
@media (max-width:768px){
  .gx-footer{ padding:40px 18px 18px; max-height:420px; }
  body{ padding-bottom:420px !important; }
  .footer-inner{ grid-template-columns:1fr; gap:20px; }
}