/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;700&family=Open+Sans:wght@400;600&display=swap');

body {
    padding-top: 80px;
    padding-bottom: 20px;
}

/* set the background color */
.light-blue-background {
    background-color: #5ca7f2;
}

.light-purple-background {
    background-color: #f2e6ff; /* #eee6ff */
}

.light-green-background {
    background-color: #ecf9ec;
}

.soft-gray-background {
    background-color: #f2f2f2;
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* My custom stuff */

/* navbar stuff */
.navbar.bg-dark-blue {
    background-color: #003366; /* blue background #0057AD #5CA7F2 #0099ff*/
    color: white;
}

/* navbar stuff */
.navbar.bg-dark-purple {
    background-color: #4d0099;
    color: white;
}

/* navbar stuff */
.navbar.bg-dark-green {
    background-color: #184e18;
    color: white;
}

/* navbar font color */
.nav-link {
    color: goldenrod;
    font-size:larger;
}

.navbar {
    padding-top: .15rem; /* smaller than Bootstrap default */
    padding-bottom: .15rem;
}

.my-bluetext {
    color: #003666;
}

.my-darkblue {
    color: #0074D9
}

.my-headerblue {
    color: #005299;
}

.my-highlight {
    color: #FF851B;
}

.custom-dropdown {
    background-color: #003666;
}

    .custom-dropdown .dropdown-item {
        color: white; /* Ensure text is visible on darker background */
    }

        .custom-dropdown .dropdown-item:hover {
            background-color: #495057; /* Optional: change background on hover */
        }

/* Make the picture be square */
.square-background {
    background-size: cover;
    background-position: center;
    width: 100%; /* Makes it fill the full width of the column */
    padding-top: 100%; /* Sets the height equal to the width, making it a square */
    position: relative; /* Ensure absolute positioning inside this works */
}

    .square-background::after {
        content: '';
        display: block;
        padding-bottom: 100%; /* Ensures the height is always equal to the width */
    }

    .square-background > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    }

/* format the pictures to be circle shaped icons */
.picture-icon {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}

    .picture-icon img {
        margin-right: 1rem;
        max-width: 80px; /* Control the max width */
        max-height: 80px; /* Control the max height */
    }

    .picture-icon h3, .picture-icon h5 {
        margin: 0;
    }

.bordered-image {
    border: 2px solid black;
}

/* format the orthotics pictures*/
/* Circle container for the first logo */
.circle-img-container {
    width: 50%; /* relative to parent column */
    aspect-ratio: 1 / 1; /* keeps square shape */
    overflow: hidden;
    position: relative;
    border-radius: 50%; /* makes it circular */
}

    .circle-img-container img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* fills circle nicely */
        position: absolute;
        top: 0;
        left: 0;
    }

/* Rectangle container for all other product images */
.rect-img-container {
    width: 50%; /* same footprint as circle */
    aspect-ratio: 16 / 9; /* rectangle container */
    overflow: hidden;
    position: relative;
    border-radius: 0; /* keep rectangle */
    background-color: #f2f2f2; /* optional: neutral background fill */
}

    .rect-img-container img {
        width: 100%;
        height: 100%;
        object-fit: contain; /* ensures 100% of image is visible */
        position: absolute;
        top: 0;
        left: 0;
    }

/* format the contact modal */
.modal-header {
    background-color: #5ca7f2;
    color: #003366;
}

.contact-input {
    border: 2px solid #adebeb; /* Change the border color here */
    padding: 0.375rem 0.75rem; /* Add some padding to make it look nice */
    border-radius: 0.25rem; /* Optionally, add some border radius */
}

/* format the admin modal */
.modal-header-admin {
    background-color: #184e18;
    color: #003366;
}

/* user-table configuration */
.user-table {
    font-family: Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
    overflow-y: auto;
}

    .user-table thead th {
        position: sticky;
        top: 0;
        z-index: 1; /* Ensure the header stays above other elements */
        background-color: #003666;
        color: white;
        font-weight: bold;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 15px;
        border: 1px solid #ddd;
    }
    
    .user-table td, .user-table th {
        border: 1px solid #ddd;
        padding: 3px;
        font-size: 14px;
        vertical-align: middle; /* Center content vertically */
    }

    .user-table tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    .user-table tr:hover {
        background-color: #ddd;
    }

    .user-table th {
        padding-top: 3px;
        padding-bottom: 3px;
        text-align: left;
        background-color: #143d15;
        color: white;
        font-size: 15px;
    }

    .user-table td:nth-child(1),
    .user-table td:nth-child(2),
    .user-table td:nth-child(3),
    .user-table td:nth-child(5),
    .user-table td:nth-child(7) {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .user-table tfoot {
        background-color: cadetblue;
    }

/* Scroll container used by Bootstrap Table */
.fixed-table-body {
    overflow-y: auto !important;
    overflow-x: hidden;
}

/* admin-table configuration */
.admin-table {
    font-family: Arial, Helvetica, sans-serif;
    border-collapse: collapse;
    width: 100%;
    }

    .admin-table thead th {
        z-index: 10; /* Ensure the header stays above other elements */
        background-color:   #309c30;
        color: white;
        font-weight: bold;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 15px;
        border: 1px solid #ddd;
    }

    .admin-table td, .admin-table th {
        border: 1px solid #ddd;
        padding: 3px;
        font-size: 14px;
        vertical-align: middle; /* Center content vertically */
    }

    .admin-table tr:nth-child(even) {
        background-color: #f2f2f2;
    }

    .admin-table tr:hover {
        background-color: #ddd;
    }

    .admin-table th {
        padding-top: 3px;
        padding-bottom: 3px;
        text-align: left;
        background-color: #143d15;
        color: white;
        font-size: 15px;
    }

    .admin-table td:nth-child(1),
    .admin-table td:nth-child(2),
    .admin-table td:nth-child(3),
    .admin-table td:nth-child(5),
    .admin-table td:nth-child(7) {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .admin-table tfoot {
        background-color: cadetblue;
    }

/* Root Variables */
:root {
    --bs-primary: #0074D9; /* Trust Blue */
    --bs-secondary: #FF851B; /* Vital Orange */
    --bs-light: #F2F2F2;
    --font-heading: 'Montserrat', sans-serif;
    --font-body: 'Open Sans', sans-serif;
}

/* Typography Overrides */
body {
    font-family: var(--font-body);
    background-color: var(--bs-light);
    color: var(--my-bluetext);
}

h1, h2, h3, h4 {
    font-family: var(--font-heading);
    color: var(--my-bluetext);
}

a {
    color: var(--bs-primary);
    text-decoration: none;
}

    a:hover {
        color: var(--bs-secondary);
    }

/* Custom Buttons */
.btn-orange {
    background-color: var(--bs-secondary);
    color: #fff;
    border: none;
}

    .btn-orange:hover {
        background-color: #e67300;
        color: #fff;
    }

/* Hero Section */
.hero {
    background-color: #fff;
    padding: 4rem 2rem;
    text-align: center;
}

    .hero h2 {
        font-size: 2.5rem;
        font-weight: 700;
    }

    .hero p {
        font-size: 1.25rem;
        color: var(--my-bluetext);
    }

/* Footer */
footer {
    background-color: transparent;
    color: var(--my-bluetext);
    padding: 2rem 1rem;
    text-align: center;
    font-size: 0.9rem;
}

/* Custom form styles */
.form-floating {
    margin-bottom: 15px;
}

.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
}

    .btn-primary:hover {
        background-color: #0056b3;
        border-color: #0056b3;
    }

.form-check-label {
    margin-left: 5px;
}

.card img {
    aspect-ratio: 12 / 7; /* consistent ratio for all images */
    width: 100%; /* responsive scaling */
    object-fit: contain; /* show entire image, no cropping */
    background-color: white; /* fills empty space with neutral background */
    border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;
}

.card {
    height: 100%; /* ensures equal card height in grid */
    display: flex;
    flex-direction: column;
    background-color: white;
}

/* Honeypot field */
.hp-field {
    position: absolute !important;
    left: -9999px !important;
    height: 0;
    overflow: hidden;
}
