/*
Theme Name: Gansin Links
Theme URI: https://gansinmusic.com
Author: You
Author URI: https://gansinmusic.com
Description: Minimal one-page link hub with a built-in contact form (no plugin).
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gansin-links
*/

:root{
  --bg:#0b0b0b;--fg:#f5f5f5;--muted:#cfcfcf;--accent:#22c55e;--accent-2:#38bdf8;--card:#141414;--ring:#2a2a2a
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;
  background:radial-gradient(1000px 800px at 120% -10%, rgba(56,189,248,.12), transparent 60%),
             radial-gradient(800px 600px at -10% 110%, rgba(34,197,94,.12), transparent 60%),
             var(--bg);
  color:var(--fg);
  display:flex;align-items:center;justify-content:center;padding:24px
}
.container{
  width:100%;max-width:760px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.00));
  border:1px solid var(--ring);border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.45);
  padding:28px 24px 32px
}
header{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.avatar{
  width:64px;height:64px;border-radius:50%;border:2px solid var(--ring);
  background:#222 url('<?php echo esc_url( get_theme_file_uri("/assets/avatar.jpg") ); ?>') center/cover no-repeat
}
h1{font-size:1.75rem;margin:0}
.tagline{margin:.25rem 0 0 0;color:var(--muted)}
.hero{
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
  border:1px solid var(--ring);border-radius:18px;padding:18px;margin:10px 0 20px
}
.grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.grid{grid-template-columns:1fr 1fr}}
.btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 16px;border-radius:14px;border:1px solid var(--ring);
  background:var(--card);color:var(--fg);text-decoration:none;font-weight:600;
  transition:transform .08s ease, background .2s ease, border-color .2s ease
}
.btn:hover{transform:translateY(-2px);border-color:#3a3a3a}
.btn:active{transform:translateY(0)}
.btn.primary{background:linear-gradient(180deg, rgba(34,197,94,.22), rgba(34,197,94,.10));border-color:#2f4}
.btn.shop{background:linear-gradient(180deg, rgba(56,189,248,.22), rgba(56,189,248,.10));border-color:#5df}
.section{margin-top:22px}
.section h2{font-size:1.1rem;color:var(--muted);font-weight:600;margin:0 0 10px}
.list{display:grid;gap:10px}
.link-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid var(--ring);background:var(--card)}
.link-item span{font-weight:600}
footer{margin-top:26px;color:var(--muted);font-size:.9rem;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.small{font-size:.85rem;color:var(--muted)}

/* Contact form */
.form-card{margin-top:22px;border:1px solid var(--ring);border-radius:18px;background:var(--card);padding:18px}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.form-grid.two{grid-template-columns:1fr 1fr}}
input[type="text"], input[type="email"], textarea{
  width:100%;padding:12px;border-radius:12px;border:1px solid #2a2a2a;background:#111;color:var(--fg)
}
textarea{min-height:120px;resize:vertical}
.notice{margin-top:14px;padding:12px;border-radius:12px;font-weight:600}
.notice.ok{border:1px solid #2f4;background:rgba(34,197,94,.12)}
.notice.err{border:1px solid #f44;background:rgba(244,67,54,.12)}
.hidden{display:none !important}
