
:root {
    --gap: 20px;
    --bg: #f4f4f9;
}
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 20px;
    background-color: var(--bg);
    color: #222;
}

/* page container */
.container {
    max-width: 1200px;
    margin: 0 auto;

}

/* 12-column row system */
.row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--gap);
    margin-bottom: var(--gap);
}

/* column helpers */
.col-1  { grid-column: span 1;  }
.col-2  { grid-column: span 2;  }
.col-3  { grid-column: span 3;  }
.col-4  { grid-column: span 4;  }
.col-6  { grid-column: span 6;  }
.col-8  { grid-column: span 8;  }
.col-9  { grid-column: span 9;  }
.col-12 { grid-column: span 12; }

/* responsive: stack columns under 860px */
@media (max-width: 860px) {
    .row { grid-template-columns: repeat(1, 1fr); }
}

/* panels / cards */
.panel, .card {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    transition: transform 0.25s ease;
}
.card:hover { transform: translateY(-4px); }
.card h3 { margin: 10px 0; }

/* Explanation block inside cards */
.card-explain {
    margin-top: 12px;
    width: 100%;
    background: #f7fbff;
    color: #2b3b4a;
    padding: 10px;
    border-radius: 8px;
    font-size: 0.92rem;
    line-height: 1.4;
    border: 1px solid rgba(43,59,74,0.06);
}
.card-explain strong { display:block; margin-bottom:6px; }

/* header & nav styles */
header.site-header {
    background: #d32f2f;
    color: #fff;
    padding: 24px;
    border-radius: 10px;
}
nav.site-nav {
    background: #333;
    padding: 16px;
    border-radius: 10px;
}

.footer {
    text-align: center;
    margin-top: 20px;
    font-size: 0.9em;
    color: #666;
}

/* FAQ styles */
.faq {
    margin-top: 0;
    display: grid;
    gap: 12px;
}
.faq-item {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
    overflow: hidden;
}
.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    background: #1c1c1c;
    border: 0;
    font-size: 1rem;
    text-align: left;
    cursor: pointer;
}
.faq-question:focus {
    outline: 3px solid rgba(21,156,228,0.25);
}
.chev { transition: transform 200ms ease; }
.faq-question[aria-expanded="true"] .chev { transform: rotate(90deg); }

.faq-answer {
    padding: 0 16px 16px 16px;
    color: #333;
    line-height: 1.5;
    max-height: 0;
    overflow: hidden;
    transition: max-height 260ms ease;
}
.faq-answer.open { max-height: 400px; }

@media (max-width: 420px) {
    .faq-question { padding: 12px; }
    .faq-answer { padding: 0 12px 12px 12px; }
}

/* Additional dark theme styles */
body {
    background-color: #1c1c1c;
    color: #e0e0e0;
}
    
.black {
    background-color: #2e2e2e;
    color: #e0e0e0;
}
.card, .panel {
    background-color: #2e2e2e;
    color: #e0e0e0;
    border: 1px solid #ff2e2e;
}
button, .button {
    background-color: #ff2e2e;
    color: #ffffff;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
}
a {
    color: #ff2e2e;}

    body.trench {
            margin: 0;
            font-family: Arial, sans-serif;
            background-color: #1b1b1b; /* dark background */
            color: #fefefe;
        }
        header.trench {
            background-color: #d4af37; /* yellow-gold */
            color: #000;
            padding: 1rem;
            text-align: center;
        }
        nav.trench {
            background-color: #2e2e2e;
            padding: 0.5rem;
            text-align: center;
        }
        nav a.trench {
            color: #d4af37;
            margin: 0 1rem;
            text-decoration: none;
            font-weight: bold;
        }
        .container.trench {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 1rem;
            padding: 2rem;
        }
        .col-12.trench {
            grid-column: span 12;
        }
        .about-section {
            background-color: #3a3a3a;
            padding: 2rem;
            border-radius: 8px;
            box-shadow: 0 0 10px #000;
        }
        footer.trench {
            background-color: #2e2e2e;
            color: #d4af37;
            text-align: center;
            padding: 1rem;
            margin-top: 2rem;
        }

        
         




/* this is for clancy */
         :root {
            --deep-black: #0d0d0d;
            --muted-red: #8b2e2e;
            --earthy-brown: #4b3b2f;
            --warm-gray: #a89f91;
            --accent-yellow: #e0c15a;
        }

        body.clancy {
            margin: 0;
            font-family: Arial, sans-serif;
            background-color: var(--deep-black);
            color: var(--warm-gray);
        } 

        header.clancy {
            background-color: var(--muted-red);
            color: white;
            padding: 1rem;
            text-align: center;
        }

        nav.clancy {
            background-color: var(--earthy-brown);
            display: flex;
            justify-content: center;
            gap: 2rem;
            padding: 1rem;
        }

        nav a.clancy {
            color: var(--accent-yellow);
            text-decoration: none;
            font-weight: bold;
        }

        .container.clancy {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 1rem;
            padding: 2rem;
        }

        .component-card {
            grid-column: span 4;
            background-color: var(--earthy-brown);
            padding: 1rem;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column;
            align-items: center;
            color: var(--warm-gray);
        }

        .component-card h3 {
            color: var(--accent-yellow);
        }

        .component-card button {
            background-color: var(--muted-red);
            color: white;
            border: none;
            padding: 0.5rem 1rem;
            margin-top: 1rem;
            cursor: pointer;
            border-radius: 4px;
        }

        @media (max-width: 768px) {
            .component-card {
                grid-column: span 12;
            }
        }