/* Basic Styling for IFSC Search Tool - Direct Colors */

/* Light Mode Styles */
.ifsc-search-container {
    border: 1px solid #dddddd; /* Direct border color */
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 5px;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
    background-color: #ffffff; /* Direct background */
    color: #FF0000; /* DIRECT Brighter Red */
}

.ifsc-search-container h2,
.ifsc-search-container h3,
.ifsc-search-container h4,
.ifsc-search-container p,
.ifsc-search-container li {
    color: #FF0000; /* DIRECT Brighter Red */
}

.ifsc-form-group { margin-bottom: 15px; }
.ifsc-form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
    color: #FF0000; /* DIRECT Brighter Red */
}

.ifsc-form-group input[type=text],
.ifsc-form-group input[type=search],
.ifsc-form-group select {
    width: 100%; padding: 8px 10px; border: 1px solid #cccccc; /* Direct input border */
    background-color: #ffffff; /* Direct input background */
    color: #333333; /* Direct input text color (black) */
    box-sizing: border-box; border-radius: 3px; transition: border-color .3s;
}
.ifsc-form-group input[type=text]:focus,
.ifsc-form-group input[type=search]:focus,
.ifsc-form-group select:focus {
    border-color: #0073aa; /* Direct link color for focus */
    outline: 0;
}

.ifsc-button,
.ifsc-theme-toggle button {
    background-color: #0073aa; /* Direct button background */
    color: #ffffff; /* Direct button text color */
    border: none; padding: 10px 15px; cursor: pointer; border-radius: 3px;
    font-size: 1em; transition: opacity .2s;
}
.ifsc-button:hover,
.ifsc-theme-toggle button:hover { opacity: .85; }

.required { color: red; margin-left: 2px; } /* Direct required color */

.ifsc-results { margin-top: 20px; padding-top: 15px; border-top: 1px dashed #dddddd; min-height: 50px; position: relative; } /* Direct border */
.ifsc-results h4 { margin-top: 0; margin-bottom: 15px; } /* Inherits red */
.ifsc-table-wrapper { overflow-x: auto; }
.ifsc-results table { width: 100%; border-collapse: collapse; margin-top: 10px; border: 1px solid #dddddd; } /* Direct border */
.ifsc-results td,
.ifsc-results th {
    border: 1px solid #dddddd; padding: 10px 12px; /* Direct border */
    text-align: left; vertical-align: top;
    color: #FF0000; /* DIRECT Brighter Red */
}
.ifsc-results th { background-color: #f1f1f1; font-weight: 700; } /* Direct header background */
.ifsc-results tbody tr:nth-child(odd) { background-color: #f9f9f9; } /* Direct stripe background */

#ifsc-code-results table th { background-color: transparent; width: 130px; font-weight: 700; border-right: none; border-top: none; border-bottom: 1px solid #dddddd; } /* Direct border */
#ifsc-code-results table td { border-left: none; border-top: none; border-bottom: 1px solid #dddddd; } /* Direct border */
#ifsc-code-results table tr:last-child td,
#ifsc-code-results table tr:last-child th { border-bottom: none; }
#ifsc-code-results table tr:nth-child(odd) { background-color: transparent; }

.ifsc-error-message { background-color: #fff0f0; border: 1px solid #cc0000; color: #cc0000; padding: 12px 15px; margin-bottom: 15px; border-radius: 3px; } /* Direct error colors */

.ifsc-tabs { margin-bottom: 0; border-bottom: 1px solid #dddddd; padding-bottom: 0; display: flex; } /* Direct border */
.ifsc-tab-button {
    padding: 10px 15px; cursor: pointer; border: 1px solid transparent; border-bottom: none;
    background-color: #ffffff; /* Direct inactive tab background */
    color: #FF0000; /* DIRECT Brighter Red */
    margin-right: 5px; border-radius: 4px 4px 0 0; position: relative; bottom: -1px;
    transition: background-color .3s, border-color .3s;
}
.ifsc-tab-button.active { background-color: #f0f0f0; border-color: #dddddd; border-bottom-color: #f0f0f0; font-weight: 700; } /* Direct active tab colors */
.ifsc-tab-content-area { border: 1px solid #dddddd; border-top: none; padding: 20px; background-color: #f0f0f0; border-radius: 0 0 4px 4px; } /* Direct active tab colors */
.ifsc-tab-content { display: none; }
.ifsc-tab-content.active { display: block; }

.ifsc-writeups { margin-top: 25px; padding-top: 15px; border-top: 1px dashed #dddddd; } /* Direct border */
.ifsc-writeups h4 { margin-top: 0; margin-bottom: 10px; } /* Inherits red */
.ifsc-writeups ul { margin-left: 0; margin-bottom: 0; padding-left: 1.5em; list-style: disc; }
.ifsc-writeups ul li { margin-bottom: .5em; } /* Inherits red */

.ifsc-theme-toggle { margin-top: 20px; text-align: right; }

.ifsc-branch-loading,.ifsc-district-loading,.ifsc-loading,.ifsc-state-loading { text-align: center; padding: 10px; font-style: italic; color: #0073aa; display: none; } /* Direct loading color */
.ifsc-branch-loading,.ifsc-district-loading,.ifsc-state-loading { text-align: left; padding: 0; display: inline-block; margin-left: 5px; }

select:disabled { background-color: #e9ecef; opacity: .7; cursor: not-allowed; }

.ifsc-form-buttons { display: flex; gap: 10px; }
.ifsc-reset-button { background-color: #6c757d; color: #ffffff; } /* Direct reset button colors */
.ifsc-reset-button:hover { background-color: #5a6268; opacity: 1; }

/* Ensure dropdown text color is readable */
.ifsc-form-group select {
    color: #333333; /* Direct input text color */
}

/* --- Dark Mode Styles --- */
.ifsc-search-container.dark-mode {
    background-color: #2a2a2a; /* Direct dark background */
    color: #FFCCCC; /* DIRECT Lighter Red for dark mode text */
    border-color: #555555; /* Direct dark border */
}

.ifsc-search-container.dark-mode h2,
.ifsc-search-container.dark-mode h3,
.ifsc-search-container.dark-mode h4,
.ifsc-search-container.dark-mode p,
.ifsc-search-container.dark-mode li {
    color: #FFCCCC; /* DIRECT Lighter Red */
}

.ifsc-search-container.dark-mode .ifsc-form-group label {
    color: #FFCCCC; /* DIRECT Lighter Red */
}

.ifsc-search-container.dark-mode .ifsc-form-group input[type=text],
.ifsc-search-container.dark-mode .ifsc-form-group input[type=search],
.ifsc-search-container.dark-mode .ifsc-form-group select {
    border-color: #666666; /* Direct dark input border */
    background-color: #3a3a3a; /* Direct dark input background */
    color: #e0e0e0; /* Direct dark input text */
}
.ifsc-search-container.dark-mode .ifsc-form-group input[type=text]:focus,
.ifsc-search-container.dark-mode .ifsc-form-group input[type=search]:focus,
.ifsc-search-container.dark-mode .ifsc-form-group select:focus {
    border-color: #6ab1e6; /* Direct dark link color */
}

.ifsc-search-container.dark-mode .ifsc-button,
.ifsc-search-container.dark-mode .ifsc-theme-toggle button {
    background-color: #555555; /* Direct dark button background */
    color: #e0e0e0; /* Direct dark button text */
}

.ifsc-search-container.dark-mode .required { color: #ff8a8a; } /* Direct dark required color */

.ifsc-search-container.dark-mode .ifsc-results { border-top-color: #555555; } /* Direct dark border */
.ifsc-search-container.dark-mode .ifsc-results table { border-color: #555555; } /* Direct dark border */
.ifsc-search-container.dark-mode .ifsc-results td,
.ifsc-search-container.dark-mode .ifsc-results th {
    border-color: #555555; /* Direct dark border */
    color: #FFCCCC; /* DIRECT Lighter Red */
}
.ifsc-search-container.dark-mode .ifsc-results th { background-color: #4a4a4a; } /* Direct dark header background */
.ifsc-search-container.dark-mode .ifsc-results tbody tr:nth-child(odd) { background-color: #333333; } /* Direct dark stripe background */

.ifsc-search-container.dark-mode #ifsc-code-results table th { border-bottom-color: #555555; } /* Direct dark border */
.ifsc-search-container.dark-mode #ifsc-code-results table td { border-bottom-color: #555555; } /* Direct dark border */
.ifsc-search-container.dark-mode #ifsc-code-results table tr:nth-child(odd) { background-color: transparent; }

.ifsc-search-container.dark-mode .ifsc-error-message { background-color: #5c1f1a; border-color: #a00; color: #ffdddd; } /* Direct dark error colors */

.ifsc-search-container.dark-mode .ifsc-tabs { border-bottom-color: #555555; } /* Direct dark border */
.ifsc-search-container.dark-mode .ifsc-tab-button {
    background-color: #2a2a2a; /* Direct dark inactive tab background */
    color: #FFCCCC; /* DIRECT Lighter Red */
}
.ifsc-search-container.dark-mode .ifsc-tab-button.active { background-color: #444444; border-color: #555555; border-bottom-color: #444444; } /* Direct dark active tab colors */
.ifsc-search-container.dark-mode .ifsc-tab-content-area { border-color: #555555; background-color: #444444; } /* Direct dark active tab colors */

.ifsc-search-container.dark-mode .ifsc-writeups { border-top-color: #555555; } /* Direct dark border */

.ifsc-search-container.dark-mode .ifsc-branch-loading,
.ifsc-search-container.dark-mode .ifsc-district-loading,
.ifsc-search-container.dark-mode .ifsc-loading,
.ifsc-search-container.dark-mode .ifsc-state-loading { color: #6ab1e6; } /* Direct dark loading color */

.ifsc-search-container.dark-mode select:disabled { background-color: #495057; } /* Dark mode disabled select */

.ifsc-search-container.dark-mode .ifsc-reset-button { background-color: #5a6268; color: #e0e0e0; } /* Direct dark reset button colors */
.ifsc-search-container.dark-mode .ifsc-reset-button:hover { background-color: #495057; }

.ifsc-search-container.dark-mode .ifsc-form-group select {
    color: #e0e0e0; /* Direct dark input text color */
}
