/* PointOne Footer — all rules scoped to .pointone-footer */
.pointone-footer {
  position: relative;
  overflow: hidden;
  color: var(--color-text-muted);
  background:
    radial-gradient(40% 50% at 0% 100%, rgba(8, 127, 255, 0.22), transparent 70%),
    radial-gradient(40% 50% at 100% 85%, rgba(134, 101, 255, 0.24), transparent 70%),
    var(--color-background);
  border-top: 1px solid rgba(8, 127, 255, 0.4);
}

.pointone-footer__glow { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(40% 30% at 50% 0%, rgba(50, 197, 255, 0.06), transparent 70%); }
.pointone-footer__arc { position: absolute; bottom: 52px; width: 50%; height: 150px; pointer-events: none; }
.pointone-footer__arc--left { left: 0; }
.pointone-footer__arc--right { right: 0; }

.pointone-footer__container { position: relative; max-width: var(--container-max-width); margin: 0 auto; padding: 0 20px; }
.pointone-footer__main { position: relative; padding: clamp(48px, 6vw, 80px) 0 clamp(90px, 10vw, 140px); }

.pointone-footer__grid {
  display: grid;
  grid-template-columns: 28fr 14fr 17fr 14fr 27fr;
  gap: clamp(24px, 3vw, 48px);
}

.pointone-footer__logo {
  display: inline-block;
  font-size: clamp(1.9rem, 1.5rem + 1.2vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-decoration: none;
  background: linear-gradient(90deg, var(--color-cyan), var(--color-primary) 50%, var(--color-violet));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.pointone-footer__logo:focus-visible,
.pointone-footer__link:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 3px; border-radius: 4px; }

.pointone-footer__tagline { margin: 6px 0 22px; font-size: 0.7rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--color-text-muted); }
.pointone-footer__description { max-width: 340px; margin: 0 0 24px; font-size: 0.98rem; line-height: 1.7; color: var(--color-text-muted); }

.pointone-footer__social { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pointone-footer__social-link {
  --c: 50, 197, 255;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  font-size: 20px;
  color: rgb(var(--c));
  background: rgba(7, 22, 41, 0.9);
  border: 1px solid rgba(var(--c), 0.6);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(var(--c), 0.2);
  opacity: 0.85;
}
.pointone-footer__social-link--violet { --c: 134, 101, 255; }
.pointone-footer__social-link--white { --c: 220, 230, 245; }
.pointone-footer__social-link--red { --c: 255, 70, 70; }

.pointone-footer__heading { position: relative; margin: 0 0 26px; font-size: 1.1rem; font-weight: 600; color: var(--color-text); }
.pointone-footer__heading-accent { display: block; width: 40px; height: 3px; margin-top: 10px; border-radius: 3px; background: linear-gradient(90deg, var(--color-cyan), var(--color-violet)); }

.pointone-footer__links { margin: 0; padding: 0; list-style: none; }
.pointone-footer__links li { margin-bottom: 12px; }
.pointone-footer__link { display: inline-block; font-size: 0.98rem; text-decoration: none; color: var(--color-text-muted); transition: color 0.2s ease, transform 0.2s ease; }
a.pointone-footer__link:hover { color: var(--color-cyan); transform: translateX(4px); }
.pointone-footer__link--static { cursor: default; }

.pointone-footer__newsletter-text { margin: 0 0 18px; font-size: 0.98rem; line-height: 1.6; }

.pointone-footer__newsletter-form {
  display: flex;
  overflow: hidden;
  background: rgba(10, 28, 56, 0.9);
  border: 1px solid rgba(50, 197, 255, 0.55);
  border-radius: 12px;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.pointone-footer__newsletter-form:focus-within { border-color: var(--color-cyan); box-shadow: 0 0 18px rgba(50, 197, 255, 0.4); }
.pointone-footer__newsletter-input { flex: 1; min-width: 0; padding: 14px 16px; font-size: 0.95rem; color: var(--color-text); background: transparent; border: 0; outline: 0; }
.pointone-footer__newsletter-input::placeholder { color: var(--color-text-muted); opacity: 1; }
.pointone-footer__newsletter-button { flex: 0 0 56px; display: grid; place-items: center; font-size: 22px; color: #fff; background: linear-gradient(135deg, var(--color-primary), var(--color-violet)); border: 0; cursor: pointer; transition: filter 0.2s ease; }
.pointone-footer__newsletter-button:hover:not(:disabled) { filter: brightness(1.15); }
.pointone-footer__newsletter-input:disabled,
.pointone-footer__newsletter-button:disabled { cursor: not-allowed; opacity: 0.65; }

.pointone-footer__status { margin: 10px 0 0; font-size: 0.85rem; color: var(--color-cyan); }
.pointone-footer__privacy-note { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 0.85rem; }
.pointone-footer__privacy-note i { font-size: 16px; color: var(--color-cyan); }

.pointone-footer__bottom { position: relative; border-top: 1px solid rgba(8, 127, 255, 0.4); background: rgba(7, 22, 41, 0.75); }
.pointone-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-top: 22px; padding-bottom: 22px; }
.pointone-footer__copyright { margin: 0; font-size: 0.9rem; }
.pointone-footer__legal-links { display: flex; flex-wrap: wrap; gap: 8px 0; margin: 0; padding: 0; list-style: none; }
.pointone-footer__legal-links li + li::before { content: "|"; margin: 0 16px; color: rgba(50, 197, 255, 0.5); }
.pointone-footer__legal-item { font-size: 0.9rem; cursor: default; }

@media (max-width: 1199px) {
  .pointone-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pointone-footer__brand { grid-column: 1 / -1; }
  .pointone-footer__description { max-width: 520px; }
  .pointone-footer__newsletter { grid-column: span 3; max-width: 520px; }
}

@media (max-width: 767px) {
  .pointone-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pointone-footer__newsletter { grid-column: 1 / -1; }
}

@media (max-width: 479px) {
  .pointone-footer__container { padding: 0 16px; }
  .pointone-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .pointone-footer__bottom-inner { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .pointone-footer__link,
  .pointone-footer__newsletter-form,
  .pointone-footer__newsletter-button { transition: none; }
  a.pointone-footer__link:hover { transform: none; }
}
