/* MineAddons Hub — shared theme layer (pass 4 polish).
   Identity preserved: blocky borders, hard shadows, pixel font, dirt/grass/gold palette. */

/* Focus visibility — was missing sitewide */
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Press states — blocky "button goes into the screen" */
.btn:active, .download-btn:active, .pbtns a:active, #submit-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 #000;
}

/* Card lift on hover (consistent with btn hover language) */
.card, .step, .pcard, details { transition: transform .15s ease, box-shadow .15s ease; }
.card:hover, .step:hover, .pcard:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 #000; }

/* Subtle entrance for hero text (skipped under reduced motion) */
@keyframes mah-fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.hero-txt { animation: mah-fade-up .5s ease-out both; }

/* Form state styling */
#cform input:user-invalid, #cform textarea:user-invalid { border-color: #e5484d; }
#cform input:valid, #cform textarea:valid:not(:placeholder-shown) { border-color: var(--grass-dark); }

/* Selection + smooth scroll — brand-colored */
::selection { background: var(--gold); color: #14161a; }
html { scroll-behavior: smooth; }

/* Reduced motion — respect the preference everywhere */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .btn:hover, .download-btn:hover, .card:hover, .step:hover, .pcard:hover { transform: none; }
}


/* Shared site nav (Task 37) */
nav { background:#4a3728; border-bottom:4px solid #000; position:sticky; top:0; z-index:50; }
nav .nav-in { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 20px; max-width:1000px; margin:0 auto; }
nav .logo { font-family:"Press Start 2P",monospace; font-size:.8rem; color:#c9a227; text-shadow:2px 2px 0 #000; white-space:nowrap; }
nav .nav-links a { color:#f5f0e6; margin-left:16px; font-size:.88rem; }
nav .nav-links a:hover { color:#7cb342; }
.nav-toggle { display:none; background:none; border:2px solid #000; border-radius:8px; padding:5px 9px; cursor:pointer; }
@media (max-width:900px) {
  .nav-toggle { display:inline-block; }
  nav .nav-links { display:none; position:absolute; top:100%; left:0; right:0; background:#4a3728; border-bottom:4px solid #000; flex-direction:column; padding:10px 20px; }
  nav .nav-links.open { display:flex; }
  nav .nav-links a { margin:4px 0; padding:6px 0; }
}

/* Footer sticks to viewport bottom on short pages */
body { min-height:100vh; display:flex; flex-direction:column; }
footer { margin-top:auto; padding-top:34px; }
