:root {
    --primary-color: #B21E4E;
    --navy-blue: #0d47a1;
    --navy-blue2: #1a237e;
    --grey: #757575;
    --white: #ffffff;
    --activity-background: #D1F6FF;
    color-scheme: light;
}

html, body {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* IE10+/Edge */
    user-select: none;         /* Standard */
    overscroll-behavior-y: contain; /* Or 'none' for a more drastic removal */

}

@media print {
    html, body {
        display: none;  /* hide whole page */
    }
}

img {
  /*  pointer-events: none;*/
    -webkit-user-drag: none;
    user-drag: none;
}
a {
    text-decoration: none;
}
a,
.contact-link, /* Target your specific contact links */
button,
input,
select { /* Include other interactive elements you might have */
    -webkit-tap-highlight-color: transparent; /* For WebKit browsers (Chrome, Safari, Android browsers) */
    -webkit-touch-callout: none; /* iOS specific, prevents callout menu */
    -webkit-user-select: none; /* Already in your code, but good to combine */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* IE10+/Edge */
    user-select: none;         /* Standard */
}
/*a {
    -webkit-user-drag: none; !* For Chrome, Safari *!
    -moz-user-drag: none;    !* For Firefox *!
    user-drag: none;         !* Standard property *!
}*/

/* Universal box-sizing for consistent layout */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body styling for font, background, and minimum height */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    background-color: var(--activity-background);
    line-height: 1.6;
    min-height: 100vh; /* Ensures body takes full viewport height */
}

/* Container for main content, responsive width */
.container {
    width: 100%;
    margin: 0 auto; /* Center the container */
    position: relative;
    padding-bottom: 60px; /* Space for the sticky contact bar at the bottom */
}

/* Header styling */
header {
    width: 100%;
    margin-bottom: 15px;
}

/* New element to hold the banner background image */
.banner-area {
    width: 100%;
    height: 150px; /* Default height for mobile banner, adjust as needed */
    background-image: url('../assets/home/banner.jpg'); /* Mobile banner image */
    background-size: cover; /* Cover the area */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    display: block;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.banner-area.loaded {
    opacity: 1;
}

/* Gradient line below the banner */
.gradient-line {
    height: 3px;
    background: linear-gradient(to right, #c6a700, #ffd700, #c6a700);
    width: 100%;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.gradient-line.loaded {
    opacity: 1;
}

/* Grid for home items */
.home-grid {
    display: grid;
    gap: 10px; /* Space between grid items */
    padding: 0 15px; /* Horizontal padding for mobile */
    margin: 0 auto;
    width: 100%;
}

/* Styling for individual home items */
.home-item {
    background-image: url('../assets/home/home_list_back.jpg'); /* Background image for each item */
    background-size: 100% 100%; /* Make background image fit exactly */
    background-repeat: no-repeat;
    border-radius: 8px; /* Rounded corners */
    padding: 22.5px;
    display: flex;
    justify-content: space-between; /* Space out content and image */
    align-items: center; /* Vertically center content */
    cursor: pointer; /* Indicate interactivity */
    opacity: 0;
    transition: opacity 0.8s ease;
}

.home-item.bg-loaded {
    opacity: 1;
}

/* Content within each home item */
.item-content {
    display: flex;
    flex-direction: column;
    gap: 0px; /* No gap between title and subtitle */
    margin-left: 10px;
}

/* Title of the home item */
.item-title {
    font-size: 18px;
    font-weight: bold;
    color: var(--navy-blue2);
}

/* Subtitle of the home item */
.item-subtitle {
    font-size: 16px;
    color: var(--navy-blue2);
}

/* Image within the home item */
.item-image {
    width: 50px;
    height: 50px;
    object-fit: contain; /* Contain image within its bounds */
    opacity: 0;
    transition: opacity 0.8s ease;
}

.item-image.loaded {
    opacity: 1;
}

/* Sticky contact bar at the bottom */
.contact-bar {
    position: fixed; /* Fixed position relative to viewport */
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--primary-color);
    padding: 10px;
    text-align: center;
    z-index: 100; /* Ensure it stays on top of other content */
}

/* Styling for the contact link */
.contact-link {
    color: var(--white);
    text-decoration: none;
    font-weight: bold;
}

/* Scroll indicator element */
.scroll-indicator {
    display: none; /* Hidden by default, shown via JS when scrollable */
    position: fixed;
    bottom: 45px; /* Position above the contact bar */
    left: 0;
    width: 100%;
    height: 150px; /* Height of the gradient area */
    pointer-events: none; /* Allow clicks to pass through */
    opacity: 1;
    transition: opacity 0.3s ease; /* Smooth fade effect */
}

/* Gradient overlay for the scroll indicator */
.scroll-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.9));
}

/* Scroll icon within the indicator */
.scroll-icon {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%); /* Center the icon horizontally */
    width: 35px;
    height: 35px;
    padding: 5px;
    /* Filter to change icon color to match primary color */
    filter: invert(15%) sepia(75%) saturate(3470%) hue-rotate(328deg) brightness(87%) contrast(101%);
}

/* Responsive Design for Tablets and Desktops */
@media (min-width: 768px) {
    .container {
        max-width: 1200px; /* Max width for larger screens */
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Change banner image and height for web UI */
    .banner-area {
        background-image: url('../assets/home/banner_web.jpg'); /* Web banner image */
        height: 300px; /* Adjust height for web banner */
    }

    .home-grid {
        grid-template-columns: repeat(2, 1fr); /* Two columns on tablets */
        gap: 20px; /* Larger gap */
        padding: 15px 0; /* Adjust padding */
    }
}

/* Responsive Design for Larger Desktops */
@media (min-width: 1024px) {
    .home-grid {
        grid-template-columns: repeat(3, 1fr); /* Three columns on larger desktops */
        gap: 20px;
        padding: 15px 0;
    }
}
