/* Staffordshire Rocks overrides — iPhone / mobile friendly */

html,body{
  margin:0;
  padding:0;
  height:100%;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:#fff;
  background:radial-gradient(circle at 20% 20%,#ff3b3b,#ff9f1a,#ffe600,#2bd24b,#1e90ff,#8b5cf6);
  background-size:400% 400%;
  animation:tiedye 30s ease infinite;
}
@keyframes tiedye{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

body{display:flex;flex-direction:row;min-height:100vh;overflow-x:hidden}

/* --- NAVIGATION --- */
nav{
  width:240px;
  background:rgba(0,0,0,.55);
  padding:20px;
  box-sizing:border-box;
}
nav h2{margin:0 0 8px;font-size:1.4rem;line-height:1.2}
nav p.muted{margin:0 0 14px;font-size:.9rem;color:#cfe2ffcc}
nav a{
  display:block;
  margin:6px 0;
  padding:9px 12px;
  border-radius:8px;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.08);
}
nav a:hover,nav a.active{background:rgba(255,255,255,.25)}

/* --- MAIN CONTENT --- */
main{
  flex:1;
  padding:20px;
  background:rgba(0,0,0,.35);
  box-sizing:border-box;
  overflow:auto;
}
.card,.panel{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:16px;
  margin:0 0 16px;
  box-sizing:border-box;
}
h1,h2{margin:0 0 12px;font-weight:600}

/* --- FORMS --- */
input,select,textarea{
  width:100%;
  background:rgba(0,0,0,.35);
  color:#fff;
  border:1px solid rgba(255,255,255,.2);
  border-radius:8px;
  padding:10px;
  margin:4px 0;
  font-size:1rem;
}
button,input[type=submit]{
  background:#22d3ee;
  border:none;
  color:#021018;
  font-weight:700;
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
  margin-top:6px;
}

/* --- GRID FORM LAYOUT --- */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:900px){
  form .row{grid-template-columns:1fr}
}

/* --- MOBILE FRIENDLY NAV (iPhone, iPad) --- */
@media (max-width:768px){
  body{flex-direction:column}
  nav{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    padding:10px;
  }
  nav h2,nav p.muted{display:none}
  nav a{
    flex:1 1 auto;
    margin:4px;
    text-align:center;
    font-size:.95rem;
    padding:8px;
  }
  main{
    padding:16px;
  }
}

/* --- SMOOTHER SCROLL --- */
*{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
