/* ===========================================
   Solid Community Server – Light Custom Theme
   ONLY overrides: color, background-color,
   border-color, font-family
   Does NOT touch layout, spacing, or display
   =========================================== */

/* Fonts */
body, input, button, select, textarea, label {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif !important;
}

/* Page background and default text */
body {
    background-color: #F0F0F5 !important;
    color: #666 !important;
    border-radius: 16px !important;
}

/* Header and footer */
header {
    background-color: #F0F0F5 !important;
    border-bottom-color: #D8D8E8 !important;
    border-radius: 16px 16px 0 0 !important;
}

footer {
    background-color: #F0F0F5 !important;
    border-top-color: #D8D8E8 !important;
    color: #AAA !important;
    border-radius: 0 0 16px 16px !important;
}

/* Main content area */
main {
    background-color: #F0F0F5 !important;
    border: 1px solid #D8D8E8 !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08) !important;
    border-radius: 16px !important;
    padding: 32px !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
header h1 {
    color: #1A1A2E !important;
}

/* Body text */
p, li, span, dd, label, legend {
    color: #666 !important;
}

strong, b, dt {
    color: #1A1A2E !important;
}

/* Links */
a, a.link {
    color: #534AB7 !important;
}

a:hover {
    color: #3C3489 !important;
}

/* Fieldsets */
fieldset {
    border-color: #D8D8E8 !important;
}

legend {
    color: #1A1A2E !important;
}

/* Primary buttons */
button, input[type="submit"], input[type="button"] {
    background-color: #534AB7 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
}

button:hover, input[type="submit"]:hover, input[type="button"]:hover {
    background-color: #3C3489 !important;
}

/* Alternate buttons */
button.alternate {
    background-color: rgba(83, 74, 183, 0.12) !important;
    color: #534AB7 !important;
    border: none !important;
}

button.alternate:hover {
    background-color: rgba(83, 74, 183, 0.22) !important;
    color: #3C3489 !important;
}

/* Disabled buttons */
button:disabled, input[type="submit"]:disabled {
    background-color: rgba(83, 74, 183, 0.3) !important;
    color: rgba(255, 255, 255, 0.6) !important;
    border: none !important;
}

/* Text inputs */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="number"],
textarea,
select {
    background-color: #FAFAFC !important;
    color: #1A1A2E !important;
    border-color: #D8D8E8 !important;
}

input::placeholder, textarea::placeholder {
    color: #AAA !important;
}

/* Focus states */
input:focus, textarea:focus, select:focus, button:focus {
    border-color: #534AB7 !important;
    outline-color: #534AB7 !important;
}

/* Checkbox and radio labels */
.checkbox label, .radio label {
    color: #666 !important;
}

/* Error messages */
.error {
    color: #D32F2F !important;
}

/* Tables */
table, th, td { border-color: #D8D8E8 !important; }
th { background-color: #FAFAFC !important; color: #1A1A2E !important; }

/* Horizontal rules */
hr { border-color: #D8D8E8 !important; }

/* Client info on consent page */
dl#client {
    padding-left: 0 !important;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    body { border-radius: 8px !important; }
    header { border-radius: 8px 8px 0 0 !important; }
    footer { border-radius: 0 0 8px 8px !important; }
    main {
        border-radius: 8px !important;
        padding: 16px !important;
    }
}
