/* Reset and base */
*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; margin: 0; padding: 0; }
:root {
  --cyan: #00f5ff;
  --cyan-glow: rgba(0, 245, 255, 0.9);
  --maroon: #7a001e;
  --maroon-dark: #4b0010;
  --glass: rgba(255,255,255,0.08);
  --glass-border: rgba(255,255,255,0.25);
  --text: #e8f6ff;
}
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Helvetica Neue";
  color: var(--text);
  background: #12060b;
  background-image:
    radial-gradient(circle at 15% 0, rgba(0,245,255,.25) 0 25%, transparent 25%),
    radial-gradient(circle at 85% 15%, rgba(0,245,255,.15) 0 25%, transparent 25%),
    linear-gradient(#12060b, #18050c 60%, #14040a);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Mobile-first layout */
main {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  flex: 1 0 auto;
}

/* Frosted glass image frame with neon glow */
.image-frame {
  width: min(860px, 92vw);
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: saturate(1.25) blur(6px);
  -webkit-backdrop-filter: saturate(1.25) blur(6px);
  box-shadow: 0 0 40px rgba(0, 255, 230, 0.45);
  position: relative;
}
.image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 40px rgba(0, 255, 230, 0.6);
  pointer-events: none;
}
.image-frame img {
  width: 100%;
  height: auto;
  display: block;
}

/* Footer with cyberpunk ad panel (glassy) */
footer {
  width: 100%;
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  color: #e9f6ff;
  background: linear-gradient(180deg, rgba(12, 0, 8, 0.95), rgba(12, 0, 8, 0.75) 70%, rgba(12, 0, 8, 0.95));
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.product-ad {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1rem;
  margin: 0.25rem 0;
  width: min(92vw, 520px);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  text-align: center;
}
.product-ad h3 { font-size: 1rem; margin: 0 0 0.25rem; }
.product-ad a { text-decoration: none; display: inline-block; }
.product-ad a p {
  margin: 0;
  padding: 0.8rem 1.2rem;
  border-radius: 8px;
  font-weight: 700;
  color: #f6fdff;
  background: linear-gradient(135deg, #680217, #4b0010);
  border: 1px solid rgba(0,0,0,.35);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4), 0 0 14px rgba(0, 255, 235, 0.7);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.product-ad a:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
  border-radius: 6px;
}
.product-ad a:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0, 255, 235, 0.8);
}
footer p { margin: 0; font-size: 0.9rem; opacity: 0.92; }

/* Focus for keyboard navigation on main interactive area */
a:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Responsive tweaks */
@media (min-width: 600px) {
  main { padding: 6rem 1.5rem; }
  .image-frame { width: min(900px, 70vw); }
  .product-ad { flex-direction: row; gap: 1rem; }
}
@media (min-width: 900px) {
  main { padding: 8rem 2rem; }
  .product-ad { justify-content: center; }
}