/* ─── Brand tokens & Bootstrap overrides ─────────────────────────────────── */
:root {
    --bs-font-sans-serif: 'Roboto', sans-serif;

    /* Primary = dark blue → used for text, headings, links */
    --bs-primary: #204e72;
    --bs-primary-rgb: 32, 78, 114;

    /* Secondary = bright blue → used for buttons, accents */
    --bs-secondary: #00a4ff;
    --bs-secondary-rgb: 0, 164, 255;

    /* Links */
    --bs-link-color: #204e72;
    --bs-link-color-rgb: 32, 78, 114;
    --bs-link-hover-color: #00a4ff;

    /* Header height */
    --header-height: 100px;
}

body {
    font-family: 'Roboto', sans-serif;
    color: #204e72;
}

/* ─── Header nav links: larger & bolder ──────────────────────────────────── */
.navbar-nav {
    gap: 1.5rem; /* space between nav items on desktop */
}

.navbar-nav .nav-link {
    font-size: 1.05rem;
    font-weight: 600;
    padding-inline: 1rem; /* slightly bigger hit area */
}

/* On small screens, keep size comfortable and avoid wrapping too early */
@media (max-width: 767.98px) {
    .navbar-nav {
        gap: 0.5rem; /* tighter on mobile so it doesn't feel oversized */
    }

    .navbar-nav .nav-link {
        font-size: 1rem;
        font-weight: 600;
        padding-inline: 0.75rem;
    }
}

/* Buttons use the bright blue (#00a4ff) */
.btn-primary {
    --bs-btn-bg: #00a4ff;
    --bs-btn-border-color: #00a4ff;
    --bs-btn-hover-bg: #0083cc;
    --bs-btn-hover-border-color: #0083cc;
    --bs-btn-active-bg: #0083cc;
    --bs-btn-active-border-color: #0083cc;
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
}

/* ─── Reset ───────────────────────────────────────────────────────────────── */
html,
body {
    height: 100%;
    margin: 0;
}

/* ─── Parallax background ─────────────────────────────────────────────────── */
.bg-parallax {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;

    background-image: url("../img/background.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 50%;
    opacity: 0.9;
}

/* Portrait: right-anchor so the important right-side element stays visible */
@media (orientation: portrait) {
    .bg-parallax {
        background-size: auto 130%;
        background-position: right 50%;
    }
}

/* ─── Layout ──────────────────────────────────────────────────────────────── */
.page-wrapper {
    position: relative;
    z-index: 1;
}

main {
    margin-top: var(--header-height);
}

/* ─── Sections ────────────────────────────────────────────────────────────── */
.screen-section {
    min-height: calc(100vh - var(--header-height));
    min-height: calc(100dvh - var(--header-height));
    padding-top: 3rem;
    padding-bottom: 3rem;
    color: #204e72;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

.screen-1,
.screen-2,
.screen-3 {
    background: rgba(255, 255, 255, 0);
}

/* White outline on all section text to improve contrast against the background */
.screen-section * {
    text-shadow:
        -0.6px -0.6px 0 #fff,
        0.6px -0.6px 0 #fff,
        -0.6px 0.6px 0 #fff,
        0.6px 0.6px 0 #fff;
}

/* ─── Problem section: scale stats ~45% larger ───────────────────────────── */
#problem .display-4 {
    font-size: 5rem;
    /* default display-4 = 3.5rem → ~43% bigger */
}

#problem h4 {
    font-size: 2.15rem;
    /* default h4 = 1.5rem → ~43% bigger */
}

/* On mobile, pull back slightly so the stats don't overflow narrow columns */
@media (max-width: 767.98px) {
    #problem .display-4 {
        font-size: 3.75rem;
        /* ~7% bigger than default, comfortable on small screens */
    }

    #problem h4 {
        font-size: 1.6rem;
    }
}

/* Suppress outline on buttons — solid background already ensures contrast */
.screen-section .btn {
    text-shadow: none;
}

@media (max-width: 767.98px) {
    .screen-section {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

/* ─── Performance ─────────────────────────────────────────────────────────── */
.screen-section>.container {
    will-change: transform;
}

/* --- Desktop typography scaling for large screens --- */
@media (min-width: 1200px) {
  /* Increase the root sizing everywhere on large desktop */
  html {
    font-size: 16px; /* was effectively 16px via browser default */
  }
}





/* ─── Product page hero layout (scoped to #product) ──────────────────────── */
#product .product-hero {
    /* Ensure text and image stay side-by-side on md+ and stack nicely on mobile */
}

#product .product-description {
    max-width: 34rem;
}

#product .product-image {
    max-height: 420px;
    object-fit: contain;
}

/* ─── Problems & solutions cards with progressive disclosure ─────────────── */
#problems .card {
    background-color: rgba(255, 255, 255, 0.96);
}

#problems .card-title {
    color: #204e72;
}

#problems .card-text {
    color: #4a6a88;
}

/* Subtle lift on hover for desktop */
#problems .problems-card {
    transition: box-shadow 0.2s ease-in-out, transform 0.2s ease-in-out;
    cursor: pointer; /* NEW: indicate card is clickable */
}

@media (hover: hover) and (pointer: fine) {
    #problems .problems-card:hover {
        box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12);
        transform: translateY(-2px);
    }
}

/* Remove global text-shadow inside cards for crisp small text */
#problems .card * {
    text-shadow: none;
}

/* Toggle button styling: make it look like a textual affordance */
#problems .problems-toggle {
    font-weight: 500;
    color: #204e72;
    text-decoration: none;
}

#problems .problems-toggle[aria-expanded="true"]::after,
#problems .problems-toggle[aria-expanded="false"]::after {
    content: " ▾";
    font-size: 0.85em;
}

#problems .problems-toggle[aria-expanded="true"]::after {
    content: " ▴";
}


/* Problem section blocks: semi-transparent white background behind text */
#problem .w-bg-block {
    background-color: rgba(255, 255, 255, 0.8); /* semi-transparent white */
    border-radius: 0.75rem;
    padding: 1.5rem 1rem;
}

/* Optional: remove heavy outline/text-shadow inside the blocks */
#problem .w-bg-block * {
    text-shadow: none;
}

/* cta section blocks: semi-transparent white background behind text */
#cta .w-bg-block {
    background-color: rgba(255, 255, 255, 0.8); /* semi-transparent white */
    border-radius: 0.75rem;
    padding: 1.5rem 1rem;
}

/* Optional: remove heavy outline/text-shadow inside the blocks */
#cta .w-bg-block * {
    text-shadow: none;
}


/* Problem section blocks: semi-transparent white background behind text */
#product .w-bg-block {
    background-color: rgba(255, 255, 255, 0.8); /* semi-transparent white */
    border-radius: 0.75rem;
    padding: 1.5rem 1rem;
}

/* Optional: remove heavy outline/text-shadow inside the blocks */
#product .w-bg-block * {
    text-shadow: none;
}