
/* --- LAYOUT & TOUCHSCREEN RULES --- */

body {
    font-size: 1.5rem;
    padding: 2rem;
    
    /* DYNAMIC BACKGROUND COLOR */
    background-color: #c0c0c0 !important;
    
    color: #333; 
    min-height: 100vh;
    padding-bottom: 500px !important; 
}

/* DYNAMIC TITLE & LABEL COLORS */
h1, h2, h3, h4, .site-title, .form-label, .form-check-label {
    color: #ffffff !important;
}

h1 {
    font-size: 3rem;
    margin-bottom: 2rem;
}

/* TOUCHSCREEN FRIENDLY ELEMENTS */
.form-control,
.form-select,
.btn {
    font-size: 1.5rem !important;
    padding: 1rem 1.5rem !important;
    margin-bottom: 1.5rem !important;
    display: block;
    width: 100%;
}

.btn {
    border-radius: 1rem;
    box-shadow: 0 0 10px #fff;
}

/* --- DYNAMIC BUTTON COLORS --- */

.btn-member {
    background-color: #008080 !important;
    border-color: #008080 !important;
    color: #fff !important; 
    font-weight: bold;
    font-size: 1.8rem !important; 
}

.btn-visitor {
    background-color: #202020 !important;
    border-color: #202020 !important;
    color: #fff !important; 
    font-weight: bold;
    font-size: 1.8rem !important; 
}

/* Specific fix for the search bar to prevent 100% width wrapping */
.search-container .form-control {
    width: auto !important;
    flex-grow: 1;
    margin-bottom: 0 !important;
}

.search-container .btn {
    margin-bottom: 0 !important;
    width: auto !important;
}