/* ===== Container ===== */
.faq-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 0 20px;
}

/* ===== Title ===== */
.faq-title {
    text-align: center;
    margin-bottom: 30px;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 1.35rem;
    font-weight: 500;
    color: #D8CF82;
}

/* ===== FAQ Item (Inner Card) ===== */
.faq-details {
    background-color: rgba(100, 100, 100, 0.7);;
    -border: 1px solid rgba(216, 207, 130, 0.35);
	border: 1px solid rgba(216, 207, 130, 0.2);
    border-radius: 6px;
    margin-bottom: 14px;
    padding: 0 18px;
}

/* ===== Question (Summary) ===== */
.faq-question {
    padding: 16px 36px 16px 0;
    cursor: pointer;
    font-family: "Libre Baskerville", Georgia, serif;
    font-size: 0.98rem;
    font-weight: 400; /* not bold */
    color: #D8CF82;
    list-style: none;
    position: relative;
    line-height: 1.45;
}

/* Remove default disclosure triangle */
.faq-question::-webkit-details-marker {
    display: none;
}
.faq-question::marker {
    display: none;
}

/* ===== Custom Arrow ===== */
.faq-question::after {
    content: "▾";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.85rem;
    color: #D8CF82;
    transition: transform 0.25s ease;
}

/* Arrow when open */
.faq-item[open] .faq-question::after {
    transform: translateY(-50%) rotate(180deg);
}

/* ===== Answer ===== */
.faq-answer {
    padding: 0 0 18px 0;
    font-family: "Source Serif Pro", "Merriweather", Georgia, serif;
    font-size: 0.75rem;
    color: #E6E6E6;
    line-height: 1.65;
}

/* Code / formatting blocks inside answers */
.faq-answer pre {
    background: rgba(255, 255, 255, 0.05);
    border-left: 3px solid #D8CF82;
    padding: 14px;
    margin-top: 12px;
    font-size: 0.9rem;
    white-space: pre-wrap;
    color: #F0F0F0;
}

@media (max-width: 600px) {

    .faq-container {
        padding: 0 3px;
    }

    .faq-title {
        font-size: 1.2rem;
        margin-bottom: 12px;
    }

    .faq-item {
        padding: 0;
    }

    /* Question */
    .faq-question {
        font-size: 0.85rem;
        padding-right: 15px;
        line-height: 1.5;
        text-align: left; /* FIX: never justify questions */
    }

    /* Answer wrapper */
    .faq-answer {
        font-size: 0.74rem;
        padding-bottom: 0;
        text-align: left; /* FIX: default left */
    }

    /* Prose paragraphs (NOT code blocks) */
    .faq-answer p {
        text-align: justify;
        text-justify: inter-word;
        margin-bottom: 6px;
        word-spacing: normal; /* FIX: prevent word-per-line issue */
    }

    /* Strong text should NOT force new lines */
    .faq-answer p strong,
    .faq-answer p b {
        display: inline;
    }

    .faq-question::after {
        font-size: 0.74rem;
    }
	/* FIX preformatted FAQ examples */
    .faq-code {
        font-size: 0.74rem;        /* EXACT match with answers */
        line-height: 1.45;
        padding: 0;                /* remove inner padding */
        margin: 6px 0 6px 0;
        text-align: left;
        white-space: pre-wrap;     /* wrap long lines */
        font-family: inherit;      /* match FAQ text font */
        
        /* CRITICAL FIX: remove visual indentation */
        text-indent: -1.2em;
        padding-left: 1.2em;
    }
}
