/* refresh.css — additive facelift + responsive/accessibility polish.
   Loaded AFTER hccstyle.css so these rules win. Non-destructive: enhances
   typography, tables, buttons, links, focus states and mobile behaviour
   without changing the page structure. Brand palette preserved. */

:root {
    --hac-green: #1a5400;
    --hac-green-dark: #123a00;
    --hac-red: #942d29;
    --hac-cream: #fcf3cd;
    --hac-ink: #2b2b2b;
    --hac-muted: #566;
    --hac-line: #e4e4e4;
}

/* ---------- Typography ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    color: var(--hac-ink);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
h1, h2, h3, h4 { line-height: 1.25; font-weight: 600; letter-spacing: -0.01em; }
.textblock p { margin: 0 0 1em; }
.normaltitle { letter-spacing: -0.015em; }

/* ---------- Links (keep brand green, add accessible focus) ---------- */
a.normal, .textblock a { transition: color .15s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 3px solid var(--hac-cream);
    outline-offset: 2px;
}

/* ---------- Content tables — gentle, structure-safe padding ---------- */
.textblock table[border] td,
.textblock table[border] th { padding: 8px 12px; }

/* ---------- Buttons / CTAs ---------- */
button, input[type="submit"], input[type="button"] {
    cursor: pointer;
    border-radius: 6px;
    transition: background-color .15s ease, box-shadow .15s ease, transform .05s ease;
}
button:hover, input[type="submit"]:hover { box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
button:active, input[type="submit"]:active { transform: translateY(1px); }

/* Form fields — friendlier, tap-safe */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="time"], select, textarea {
    border: 1px solid #cfcfcf;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 16px;              /* prevents iOS zoom-on-focus */
    max-width: 100%;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--hac-green);
    box-shadow: 0 0 0 3px rgba(26, 84, 0, .12);
    outline: none;
}

/* ---------- Responsive polish ---------- */
img { max-width: 100%; height: auto; }

@media screen and (max-width: 768px) {
    #wrapper { padding-left: 14px; padding-right: 14px; box-sizing: border-box; }
    .textblock { width: auto !important; max-width: 100%; }
    .textblock table, table.admincell { display: block; width: 100% !important; overflow-x: auto; }
    /* keep tap targets comfortable */
    .textblock a, button, input[type="submit"] { min-height: 40px; }
}
@media screen and (max-width: 480px) {
    .normaltitle { font-size: 1.35rem; }
    h1 { font-size: 1.5rem; }
    h2 { font-size: 1.25rem; }
}
