/* File: src/main/resources/static/css/index.css */
/* Custom styles for a cleaner look */
.navbar {
    background-color: #fff; /* White background */
    box-shadow: 0.1rem 0.2rem 0.4rem rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    min-height: 64px;               /* increased navbar height */
    padding-top: 0.45rem;
    padding-bottom: 0.45rem;
}

.navbar-brand {
    font-weight: bold;
    min-width: 0; /* allow shrinking */
    color: #007bff; /* Primary color for the brand */
    font-size: 1.12rem;             /* slightly larger brand text */
    display: flex;
    align-items: center;
}

/* Logo increased */
.navbar-brand img {
    width: auto; /* Adjust the width as needed */
    height: 48px; /* increased logo height */
    margin-right: 0.5rem; /* Add spacing between logo and text */
    object-fit: contain; /* Maintain aspect ratio and fit within the bounds */
}

.nav-link {
    color: #333 !important; /* Darker text for nav links */
    padding: 0.5rem 1rem;
    /* keep nav-link font-size unchanged per request */
}

.nav-link:hover {
    color: #007bff !important; /* Highlight color on hover */
}

/* Toggler larger and aligned, interior transparent with subtle border */
.custom-toggler {
    width: 56px;                   /* larger toggler */
    height: 56px;
    padding: 8px;
    border-radius: 10px;
    background-color: transparent; /* transparent inside */
    border: 2px solid rgba(0,0,0,0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Hover and focus for border highlight in green */
.custom-toggler:hover {
    border-color: rgba(40,167,69,0.55);
    cursor: pointer;
}

.custom-toggler:focus {
    outline: none;
    border-color: #28a745;
    box-shadow: 0 0 0 0.18rem rgba(40,167,69,0.18);
}

/* Ensure inline SVG hamburger is visible and slightly larger */
.custom-toggler .hamburger-icon {
    width: 26px;
    height: 26px;
    display: block;
}

.custom-toggler .hamburger-icon path {
    stroke: #000;
    stroke-width: 2;
}

/* Remove any previously applied filters or background-image rules for toggler */
.custom-toggler .navbar-toggler-icon,
.custom-toggler .navbar-toggler-icon::before,
.custom-toggler .navbar-toggler-icon::after {
    background-image: none !important;
    filter: none !important;
}

.btn-contact {
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 0.5rem;
    padding: 0.75rem 1.5rem;
}

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

.map-container {
    position: relative;
    overflow: hidden;
    max-width: 85rem; /* Increased width using rem */
    margin: 0 auto;
}

.map-container iframe {
    border: 0;
    width: 100%;
    height: 28.125rem; /* 450px converted to rem (450/16) */
}

/* Doctor Image Styles */
.doctor-img-container {
    width: 100%;
    height: 350px; /* Fixed height for the image box */
    overflow: hidden;
    border-radius: 0.5rem 0.5rem 0 0; /* Rounded top corners */
    background-color: #f8f9fa; /* Light background for loading/empty state */
    display: flex;
    justify-content: center;
    align-items: center;
}

.doctor-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image covers the box without distortion */
    object-position: top center; /* Focus on the top part (face) */
    transition: transform 0.3s ease;
}

.card:hover .doctor-img {
    transform: scale(1.05); /* Subtle zoom on hover */
}

/* Justify text for better readability */
.text-justify {
    text-align: justify;
}

/* Carousel Control Visibility */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
    border-radius: 50%; /* Circular background */
    padding: 20px; /* Increase size of the clickable area */
    background-size: 50%, 50%; /* Adjust icon size inside the circle */
}

.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.8); /* Darker on hover */
}

/* Add icon color classes */
.icon-white {
    color: white
}

.icon-silver {
    color: silver
}

.icon-green {
    color: green;
}

.icon-dark {
    color: gray;
}

/* Media queries for responsiveness */
@media screen and (max-width: 539px) {
    /* Small screen */
    .navbar-brand {
        max-width: calc(100% - 64px);
        font-size: 0.98rem;       /* slightly reduced on very small screens */
        line-height: 1.15;
        white-space: normal;
    }

    .navbar-brand img {
        height: 40px; /* reduce logo a bit on small screens */
    }

    .full-details {
        display: none !important; /* Hide full details on small screens */
    }

    .less-details {
        display: block !important; /* Show less details on small screens */
    }

    .map-container {
        max-width: 100% !important; /* Make map full-width on small screens */
    }

    .map-container iframe {
        height: 20rem !important; /* Adjust map height for small screens */
    }

    .less-details .container-fluid { /*Target container fluid in less details in small screen*/
        padding-left: 0.2rem;  /* Add left padding */
        padding-right: 0.2rem; /* Add right padding */
    }

    /* Make toggler a bit more compact so it doesn't push to new line */
    .custom-toggler {
        width: 48px;
        height: 48px;
        padding: 6px;
    }

    .doctor-img-container {
        height: 300px; /* Slightly smaller on mobile */
    }

    /* Ensure carousel controls are visible on mobile */
    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        padding: 15px; /* Slightly smaller padding on mobile */
        background-size: 60%, 60%; /* Slightly larger icon relative to circle */
    }
}

@media screen and (min-width: 540px) and (max-width: 1024px) {
    /* Medium screen */
    .full-details {
        display: block !important; /* Show full details on medium screens */
    }

    .less-details {
        display: none !important; /* Hide less details on medium screens */
    }

    .hideable-column {
        display: none;
    }

    .map-container {
        max-width: 100% !important; /* Make map full-width on medium screens */
    }

    .map-container iframe {
        height: 25rem !important; /* Adjust map height for medium screens */
    }
}

@media screen and (min-width: 1024px) {
    /* Large screen */
    .less-details {
        display: none !important; /* Hide less details on large screens */
    }

    .hideable-column {
        display: table-cell;
    }

    .map-container {
        max-width: 85rem !important; /* Reset map width for large screens */
    }

    .map-container iframe {
        height: 28.125rem !important; /* Reset map height for large screens */
    }
}