/* Custom CSS for HotspoTaregs */

/* General body styling for default text color and background */
body {
    color: #E5E7EB; /* Light gray text for readability on dark background */
    background-color: #111827; /* Dark gray/black background */
}

/* Custom scrollbar for a sleek look */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #1F2937; /* Darker gray track */
}

::-webkit-scrollbar-thumb {
    background: #DC2626; /* Red thumb */
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #B91C1C; /* Darker red on hover */
}

/* Smooth scrolling for anchor links */
html {
    scroll-behavior: smooth;
}

/* Remove text-decoration from buttons */
button {
    text-decoration: none !important;
}

/* Ensure offer card images maintain aspect ratio and fit */
.offer-card-image {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 192px; /* max-h-48 */
}

/* Footer image links styling */
.footer-img-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto; /* Allow height to adjust based on width and aspect ratio */
    flex-shrink: 0;
}

/* Ensure form inputs have consistent styling */
input[type="text"],
input[type="email"],
input[type="number"],
textarea {
    background-color: #374151; /* Darker gray for input background */
    border-color: #4B5563; /* Slightly lighter border */
    color: #F9FAFB; /* Light text color for input */
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="number"]::placeholder,
textarea::placeholder {
    color: #9CA3AF; /* Gray placeholder text */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
textarea:focus {
    border-color: #DC2626; /* Red border on focus */
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.5); /* Red ring on focus */
}

/* Animations for Hero Section - using keyframes as Tailwind JIT might not cover all custom animations */
@keyframes fadeInFromBottom {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInFromRight {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-fade-in-up {
    animation: fadeInFromBottom 0.8s ease-out forwards;
    opacity: 0; /* Hidden by default */
}

.animate-fade-in-up.delay-200 {
    animation-delay: 0.2s;
}

.animate-fade-in-up.delay-400 {
    animation-delay: 0.4s;
}

.animate-fade-in-up.delay-600 {
    animation-delay: 0.6s;
}

.animate-fade-in-right {
    animation: fadeInFromRight 0.8s ease-out forwards;
    animation-delay: 0.8s; /* Start after text */
    opacity: 0; /* Hidden by default */
}

/* Ensure modal content is scrollable if it overflows */
.modal-content {
    max-height: 80vh; /* Max height for modal content */
    overflow-y: auto; /* Enable vertical scrolling */
}

/* Custom styles for cookie consent checkboxes */
.form-checkbox:checked {
    background-color: #DC2626; /* Red background when checked */
    border-color: #DC2626; /* Red border when checked */
}

.form-checkbox:checked:focus {
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.5); /* Red focus ring */
}

.form-checkbox:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(107, 114, 128, 0.5); /* Gray focus ring for unchecked */
}

/* General link styling */
a {
    color: #EF4444; /* Red color for links */
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    color: #F87171; /* Lighter red on hover */
}
/* New styles for typography within the policyScopeWrap container */

/* Container for policy-related content, providing consistent padding and maximum width for readability */
.policyScopeWrap {
    padding-top: 4rem; /* Top padding for separation from content above */
    padding-left: 2rem; /* Left padding for content */
    padding-right: 2rem; /* Right padding for content */
    
    margin-left: auto; /* Centers the container horizontally */
    margin-right: auto; /* Centers the container horizontally */
    color: #E5E7EB; /* Inherits the light gray text color from the body */
}

/* Heading 1 styling for main sections within the policy content */
.policyScopeWrap h1 {
    font-size: 1.7rem; /* Approximately 40px, a prominent but not overwhelming size */
    font-weight: 700; /* Bold text for strong emphasis */
    margin-top: 2.5rem; /* Top margin for spacing before the heading */
    margin-bottom: 1.5rem; /* Bottom margin for spacing after the heading */
    line-height: 1.2; /* Tighter line height for headings */
}

/* Heading 2 styling for subsections */
.policyScopeWrap h2 {
    font-size: 1.4rem; /* Approximately 32px */
    font-weight: 600; /* Semi-bold text */
    margin-top: 2rem;
    margin-bottom: 1.25rem;
    line-height: 1.3;
}

/* Heading 3 styling for smaller sub-subsections */
.policyScopeWrap h3 {
    font-size: 1.35rem; /* Approximately 28px */
    font-weight: 600; /* Semi-bold text */
    margin-top: 1.75rem;
    margin-bottom: 1rem;
    line-height: 1.4;
}

/* Heading 4 styling for minor headings */
.policyScopeWrap h4 {
    font-size: 1.2rem; /* Approximately 24px */
    font-weight: 500; /* Medium weight text */
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    line-height: 1.5;
}

/* Heading 5 styling for very minor headings or distinct labels */
.policyScopeWrap h5 {
    font-size: 1.25rem; /* Approximately 20px */
    font-weight: 500; /* Medium weight text */
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

/* Paragraph styling for main body text */
.policyScopeWrap p {
    font-size: 1.125rem; /* Approximately 18px for improved readability */
    line-height: 1.7; /* Generous line height for comfortable reading */
    margin-bottom: 1.25rem; /* Space between paragraphs */
}

/* Unordered list styling */
.policyScopeWrap ul {
    list-style-type: disc; /* Standard disc bullets */
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-left: 1.5rem; /* Indentation for list items */
}

/* List item styling */
.policyScopeWrap li {
    font-size: 1.125rem; /* Matches paragraph font size for consistency */
    line-height: 1.7; /* Matches paragraph line height */
    margin-bottom: 0.5rem; /* Space between individual list items */
}

/* Adjust margin for the last list item to prevent excessive bottom spacing */
.policyScopeWrap li:last-child {
    margin-bottom: 0;
}

/* Adjust top margin for paragraphs immediately following headings for better flow */
.policyScopeWrap h1 + p,
.policyScopeWrap h2 + p,
.policyScopeWrap h3 + p,
.policyScopeWrap h4 + p,
.policyScopeWrap h5 + p {
    margin-top: 0.5rem; /* Reduces the default top margin if a paragraph directly follows a heading */
}

/* Adjust top margin for lists immediately following headings */
.policyScopeWrap h1 + ul,
.policyScopeWrap h2 + ul,
.policyScopeWrap h3 + ul,
.policyScopeWrap h4 + ul,
.policyScopeWrap h5 + ul {
    margin-top: 0.75rem; /* Reduces the default top margin if a list directly follows a heading */
}


#cookieBanner{
    position: fixed;
    z-index: 999999;
    left: 0;
    width: 100%;
    bottom: 0;
}