/* Updated Stylesheet for GHG Transparency Platform
  Theme: Clean, professional, modern. White/light backgrounds with a strong blue accent.
*/

/* General Body Styles */
body {
    font-family: 'Inter', sans-serif;
    background-color: #ffffff; /* Default background is now white */
    color: #374151; /* Neutral body text; brand blue is reserved for accents and actions. */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.bg-custom-blue {
    background-color: #004475;
}

.bg-custom-blue\/5 {
    background-color: rgb(0 68 117 / 0.05);
}

.bg-custom-blue\/10 {
    background-color: rgb(0 68 117 / 0.10);
}

.bg-custom-blue\/20 {
    background-color: rgb(0 68 117 / 0.20);
}

.hover\:bg-custom-blue\/90:hover {
    background-color: rgb(0 68 117 / 0.90);
}

.text-custom-blue {
    color: #004475;
}

.border-custom-blue {
    border-color: #004475;
}

.border-custom-blue\/20 {
    border-color: rgb(0 68 117 / 0.20);
}

.border-custom-blue\/30 {
    border-color: rgb(0 68 117 / 0.30);
}

.ring-custom-blue {
    --tw-ring-color: #004475;
}

.ring-custom-blue\/5 {
    --tw-ring-color: rgb(0 68 117 / 0.05);
}

.focus\:ring-custom-blue:focus {
    --tw-ring-color: #004475;
}

.focus\:border-custom-blue:focus {
    border-color: #004475;
}

.focus-visible\:outline-custom-blue:focus-visible {
    outline-color: #004475;
}

/* Reusable Component-like Classes */
.section-title {
    font-size: 2.25rem; /* 3xl */
    line-height: 2.5rem;
    font-weight: 800; /* extrabold for more impact */
    letter-spacing: -0.025em; /* tracking-tight */
    color: #111827; /* gray-900 for headings */
}

@media (min-width: 640px) {
    .section-title {
        font-size: 2.75rem; /* sm:text-4xl adjusted */
        line-height: 3.25rem;
    }
}

.section-subtitle {
    margin-top: 1rem; /* mt-4 */
    font-size: 1.125rem; /* lg */
    line-height: 1.75rem; /* leading-7 */
    color: #4b5563; /* gray-600 */
}

.feature-card {
    background-color: #ffffff;
    padding: 2rem; /* p-8 */
    border-radius: 0.75rem; /* rounded-lg/xl midpoint for a calmer product feel */
    border: 1px solid #e5e7eb; /* border-gray-200 */
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05); /* A very subtle shadow */
    transition-property: box-shadow, transform;
    transition-duration: 300ms;
    transition-timing-function: ease-in-out;
    height: 100%;
    color: #1f2937; /* Reset color inside cards for better readability */
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.styled-scrollbar {
  -webkit-overflow-scrolling: touch; /* iOS momentum scrolling */
  overscroll-behavior: contain;      /* prevents scroll chaining to the page */
}

.homepage-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

@media (min-width: 640px) {
    .homepage-section {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

