/* General Styles */

.mod_jovisitorcounter {

    color: #fff; /* Default text color for light theme */

}



/* Light Theme */

.mod_jovisitorcounter.light-theme {

   

    color: #fff; /* Dark text */

}



.mod_jovisitorcounter.light-theme h4 {

    border-bottom: 1px solid #f3f3f3; /* Light gray border */

}



.mod_jovisitorcounter.light-theme .list-group-item {

    background-color: #f8f9fa; /* Light gray background */

    border: 1px solid #f3f3f3 !important; /* Light gray border */

}



.mod_jovisitorcounter.light-theme .badge {

    background-color: #fff !important; /* White badge */

    color: #333; /* Dark text */

}



.mod_jovisitorcounter.light-theme table th,

.mod_jovisitorcounter.light-theme table td {

    border: 1px solid #f3f3f3; /* Light gray table borders */

}



.mod_jovisitorcounter.light-theme table tr:nth-child(even) {

    background-color: #f8f9fa; /* Light gray alternate rows */

}



.mod_jovisitorcounter.light-theme table tr:hover {

    background-color: #e9ecef; /* Light gray hover effect */

}



.mod_jovisitorcounter.light-theme .visitor-counter p {

    color: #28a745; /* Green visitor counter */

}



.mod_jovisitorcounter.light-theme .odometer {

    color: #28a745; /* Green odometer */

}



/* Dark Theme */

.mod_jovisitorcounter.dark-theme {

    background-color: #121212; /* Dark background */

    color: #ffffff; /* White text */

}



.mod_jovisitorcounter.dark-theme h4 {

    border-bottom: 1px solid #333; /* Darker border */

}



.mod_jovisitorcounter.dark-theme .list-group-item {

    background-color: #444; /* Light gray in dark mode */

    border: 1px solid #333 !important; /* Darker border */

    color: #ffffff; /* White text */

}



.mod_jovisitorcounter.dark-theme .badge {

  background-color: #121212 !important;

  color: #ffffff;

  border: 1px solid #444;

  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);

}



.mod_jovisitorcounter.dark-theme table th,

.mod_jovisitorcounter.dark-theme table td {

    border: 1px solid #555; /* Slightly lighter border for visibility */

    color: #ffffff; /* White text for all table cells */

}



.mod_jovisitorcounter.dark-theme table tr:nth-child(odd) {

    background-color: #333; /* Darker background for odd rows */

    color: #ffffff; /* White text for odd rows */

}



.mod_jovisitorcounter.dark-theme table tr:nth-child(even) {

    background-color: #444; /* Slightly lighter dark gray for even rows */

    color: #ffffff; /* White text for even rows */

}



.mod_jovisitorcounter.dark-theme table tr:hover {

    background-color: #666; /* Dark gray hover effect */

    color: #ffffff; /* White text on hover */

}



.mod_jovisitorcounter.dark-theme .visitor-counter p {

    color: #38c172; /* Bright green visitor counter */

}



.mod_jovisitorcounter.dark-theme .odometer {

    color: #38c172; /* Bright green odometer */

}



/* Shared Styles (Apply to Both Themes) */

.mod_jovisitorcounter h4 {

    font-size: 1.5rem;

    margin-bottom: 1rem;

    padding-bottom: 0.5rem;

}



.mod_jovisitorcounter ul.list-group {

    list-style: none;

    padding: 0;

    margin: 0;

}



.mod_jovisitorcounter .list-group-item {

    display: flex;

    justify-content: space-between;

    align-items: left;

    padding: 0.2rem 1rem;

    margin-bottom: 0.5rem;

    border-radius: 0.25rem;

}



.mod_jovisitorcounter .badge {

    font-size: 0.875rem;

    padding: 0.1rem 0.5rem;

    border-radius: 0.25rem !important;

    min-width: 100px;

}



/* Focus styles for accessibility */

.mod_jovisitorcounter a:focus,

.mod_jovisitorcounter button:focus {

    outline: 2px solid #007bff;

    outline-offset: 2px;

}



/* Visitor Counter Section */

.mod_jovisitorcounter .visitor-counter {

    text-align: left;

    margin-bottom: 0px;

}



.mod_jovisitorcounter .visitor-counter h4 {

    margin-bottom: 1rem;

    text-align: left;

}



.mod_jovisitorcounter .visitor-counter p {

    font-size: 2.5rem;

    font-weight: bold;

}



/* Recent Visitors Table */

.mod_jovisitorcounter table {

    width: 100%;

    border-collapse: collapse;

    margin-bottom: 2rem;

}



.mod_jovisitorcounter table th,

.mod_jovisitorcounter table td {

    padding: 0.5rem;

    text-align: left;

}



.mod_jovisitorcounter table th {

    font-weight: bold;

}



.mod_jovisitorcounter table tr {

    transition: background-color 0.3s ease;

}



/* Visitor by Country Table */

.mod_jovisitorcounter .visitor-by-country table {

    margin-top: 1rem;

}



.mod_jovisitorcounter .visitor-by-country .fi {

    width: 24px;

    height: 24px;

    margin-right: 0.5rem;

}



/* Badge Style */

.mod_jovisitorcounter .badge.h1 {

    font-size: 2.5rem;

    padding: 0.75rem 1.5rem;

    border-radius: 0.5rem;

}



/* Odometer Style */

.mod_jovisitorcounter .odometer {

    font-weight: bold;

    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

    border-radius: 0.5rem;

    padding: 0.5rem;

}



/* Add borders to all flag icons */

.mod_jovisitorcounter .fi {

    border: 1px solid #f3f3f3;

    border-radius: 0.25rem;

    padding: 0.2rem;

}



/* Responsive styles for smaller screens */

@media (max-width: 768px) {

    .mod_jovisitorcounter h4 {

        font-size: 1.4rem;

    }



    .mod_jovisitorcounter .visitor-counter p {

        font-size: 2rem;

    }



    /* Make tables scrollable on small screens */

    .mod_jovisitorcounter table {

        display: block;

        overflow-x: auto;

        white-space: nowrap;

    }

}