/* ===============================
   GLOBAL LAYOUT /css/style.css
=============================== */

body {
    position: relative;

    background-color: #f0f0f0;
    background-image: url('https://q-and-a.net/images/logo-white.png');
    background-repeat: repeat;
    background-size: 300px;
}

/* Overlay ABOVE background but BELOW content */
body::before {
    content: "";
    position: fixed;
    inset: 0;

    background: rgba(255,255,255,0.65); /* adjust later */

    z-index: 0;
}

/* Make sure content sits ABOVE overlay */
body > * {
    position: relative;
    z-index: 1;
}

/* ===============================
   CONTAINER (YOUR 90% WIDTH)
=============================== */

.custom-container {
    width: 90vw;
    max-width: 1600px;
    margin: 0 auto;
}

/* ===============================
   TYPOGRAPHY
=============================== */

.hero-title {
    font-size: clamp(1.8rem, 2.5vw, 2.6rem);
    line-height: 1.2;
    white-space: nowrap;
}

/* ===============================
   LINKS
=============================== */

a {
    color: #000;
    font-weight: bold;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* ===============================
   ICON COLORS (STATE-BASED)
=============================== */

.icon-primary   { color: var(--state-primary); }
.icon-secondary { color: var(--state-secondary); }
.icon-accent    { color: var(--state-accent); }

/* ===============================
   CARDS + IMAGES
=============================== */

.card img {
    filter: grayscale(100%);
    opacity: 0.9;
    transition: all 0.25s ease;
}

.card:hover img {
    opacity: 1;
}

.card:hover .state-icon {
    transform: scale(1.05);
}

/* ===============================
   FUN FACT
=============================== */

.fun-fact-line {
    margin: 10px 0;
    font-size: 24px;
    color: #555;
}

.fun-fact-line span {
    color: var(--state-primary);
    font-weight: 500;
}

