/* ===========================================================
   ARSENAL MET — app.css
   Доп. слой темы поверх вёрстки: модалка, FAQ-панель,
   состояния форм, служебное. style.css не трогаем.
   =========================================================== */

/* -------- FAQ answer panel -------- */
.faq__answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height .35s ease;
}
.faq__answer-inner {
    padding: 4px 0 22px;
    color: var(--color-text, #111);
    line-height: 1.6;
    max-width: 70ch;
}
.faq__answer-inner p { margin: 0 0 10px; }
.faq__answer-inner p:last-child { margin-bottom: 0; }
.faq__icon-v {
    transform-origin: center;
    transition: transform .3s ease;
}
.faq__item--open .faq__icon-v { transform: scaleX(0); }
.faq__toggle { cursor: pointer; }

/* -------- Form result -------- */
.am-form__result {
    margin: 14px 0 0;
    font-size: 14px;
    line-height: 1.5;
}
.am-form__result[data-state="success"] { color: #1a7f37; }
.am-form__result[data-state="error"] { color: var(--color-red, #d81f26); }

/* -------- Modal -------- */
.am-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.am-modal.is-open { display: flex; }
.am-modal__overlay {
    position: absolute;
    inset: 0;
    background: var(--color-overlay-dark, rgba(0, 0, 0, .55));
    backdrop-filter: blur(2px);
}
.am-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 560px;
    max-height: 90vh;
    overflow-y: auto;
    background: var(--color-white, #fff);
    border-radius: var(--radius-lg, 18px);
    box-shadow: var(--shadow-form, 0 10px 40px rgba(0, 0, 0, .25));
    padding: clamp(24px, 4vw, 44px);
    animation: am-modal-in .25s ease;
}
@keyframes am-modal-in {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}
.am-modal__close {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    font-size: 30px;
    line-height: 1;
    color: var(--color-black, #111);
    cursor: pointer;
    border-radius: var(--radius-sm, 4px);
    transition: color var(--transition, .3s ease);
}
.am-modal__close:hover { color: var(--color-red, #d81f26); }
.am-modal .callback-form { box-shadow: none; padding: 0; }
body.is-locked { overflow: hidden; }

/* -------- Admin notice (пустое меню и т.п.) -------- */
.am-admin-notice {
    padding: 8px 12px;
    background: #fff3cd;
    border: 1px solid #ffe69c;
    border-radius: 4px;
    color: #664d03;
    font-size: 13px;
}

/* -------- Page content (privacy и пр.) -------- */
.page-content { padding: var(--section-py, 60px) 0; }
.page-content .entry-content { max-width: 80ch; line-height: 1.7; }
.page-content .entry-content p { margin: 0 0 1em; }
