/* Monguin FAQ Block — Structural Stylesheet
   All typography and colour are set via the
   builder controls or the Settings screen.      */

.mfaqel-block { max-width: 100%; margin: 0 auto 2.5rem; }
.mfaqel-block-title { margin-bottom: 1.25rem; }

/* Filter bar */
.mfaqel-filter-bar { display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; flex-wrap:wrap; }
.mfaqel-filter-label { white-space:nowrap; }
.mfaqel-filter-select {
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23555' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right .85rem center; background-size:10px;
    border:1.5px solid #ddd; border-radius:4px;
    padding:.5rem 2.25rem .5rem .85rem; cursor:pointer; min-width:200px;
}
.mfaqel-filter-select:focus { outline:none; }

/* Accordion */
.mfaqel-accordion { border-top-style:solid; border-top-width:1px; border-top-color:#d8d8d8; }
.mfaqel-item { border-bottom-style:solid; border-bottom-width:1px; border-bottom-color:#d8d8d8; transition:background-color .25s ease, border-radius .25s ease; }
.mfaqel-item.mfaqel-hidden { display:none; }
.mfaqel-item.is-open-item { /* background set by settings/builder */ }

/* Row trigger — makes the full row clickable, not just the button */
.mfaqel-row-trigger {
    display:block; width:100%; cursor:pointer;
}

/* Question button — reset ALL Elementor/theme button styles */
.mfaqel-question {
    all: unset; /* reset Elementor button CSS */
    display:flex !important; align-items:center !important; gap:.85rem !important;
    width:100% !important; background:transparent !important; border:none !important;
    padding:.75rem 1rem !important; cursor:pointer !important; text-align:left !important;
    line-height:1.4 !important; box-sizing:border-box !important;
    font-family: inherit !important;
}
.mfaqel-question:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

/* Icon — two child spans toggled by .is-open class, no JS innerHTML swapping */
.mfaqel-icon {
    flex-shrink:0 !important; min-width:1rem; line-height:1; user-select:none;
    display:inline-flex; align-items:center; justify-content:center;
}
.mfaqel-icon-state { display:inline-flex; align-items:center; }
.mfaqel-icon-open  { display:none; }
.mfaqel-question.is-open .mfaqel-icon-closed { display:none; }
.mfaqel-question.is-open .mfaqel-icon-open   { display:inline-flex; }
.mfaqel-icon i,
.mfaqel-icon svg { color: inherit; fill: currentColor; }
/* Fallback text char icons */
.mfaqel-icon-char { display:inline-block; line-height:1; }

/* Question text */
.mfaqel-question-text { flex:1; }

/* Answer */
.mfaqel-answer { overflow:hidden; }
.mfaqel-answer[hidden] { display:none !important; max-height:0 !important; }
.mfaqel-answer-inner { padding-top:0; padding-bottom:1rem; padding-left:1rem; padding-right:1rem; box-sizing:border-box; }
.mfaqel-answer-inner p:last-child { margin-bottom:0; }
.mfaqel-answer-inner ul, .mfaqel-answer-inner ol { padding-left:1.5rem; }

/* Utility */
.mfaqel-no-results { padding:1.25rem 0; font-style:italic; }
.mfaqel-error { font-size:.9rem; padding:.5rem .75rem; background:#fdf3f2; border-left:3px solid #c0392b; border-radius:3px; color:#c0392b; }

@media (max-width:600px) {
    .mfaqel-filter-bar { flex-direction:column; align-items:flex-start; }
    .mfaqel-filter-select { width:100%; min-width:unset; }
}
