/**
 * FrontCat — identidade tipográfica sem interferir no conteúdo Elementor.
 *
 * 20.20.773:
 * - Poppins local continua disponível para a interface administrativa do FrontCat.
 * - O reset genérico NÃO alcança mais widgets/containers/templates renderizados pelo Elementor.
 * - Tipografia de widgets e de conteúdo aninhado passa a ser definida pelo próprio Elementor,
 *   incluindo Custom Fonts, Global Fonts e Group_Control_Typography.
 * - A sidebar de ferramentas FrontCat mantém a identidade Poppins, com exceção dos editores
 *   de código que continuam monoespaçados.
 */

@font-face {
    font-family: "Poppins";
    src: url("../fonts/poppins-400.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: "Poppins";
    src: url("../fonts/poppins-500.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 500;
}

@font-face {
    font-family: "Poppins";
    src: url("../fonts/poppins-600.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 600;
}

@font-face {
    font-family: "Poppins";
    src: url("../fonts/poppins-700.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 700;
}

/*
 * IMPORTANTE:
 * Nunca voltar a usar seletores genéricos como [class*="frontcat"] * no frontend.
 * Eles alcançam widgets Elementor aninhados em Grade/Carrossel/Bento e, com !important,
 * sobrescrevem a família gerada pelo Group_Control_Typography/Custom Fonts.
 *
 * A identidade Poppins fica limitada ao chrome administrativo do FrontCat e à sidebar
 * de ferramentas do editor, que não fazem parte do conteúdo publicado pelo Elementor.
 */
:where(
    body.frontcat-admin-theme #wpbody-content,
    .frontcat-tools-sidebar
):not(body):not(html),
:where(
    body.frontcat-admin-theme #wpbody-content,
    .frontcat-tools-sidebar
):not(body):not(html) :where(*) {
    font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

:where(
    body.frontcat-admin-theme #wpbody-content,
    .frontcat-tools-sidebar
):not(body):not(html):not(
    input,
    textarea,
    select,
    option,
    code,
    pre,
    kbd,
    samp,
    .CodeMirror,
    .cm-editor,
    .ace_editor,
    .frontcat-tools-code-input,
    .frontcat-tools-code-highlight,
    .frontcat-tools-code-line-numbers
),
:where(
    body.frontcat-admin-theme #wpbody-content,
    .frontcat-tools-sidebar
):not(body):not(html) :where(*):not(
    input,
    textarea,
    select,
    option,
    code,
    pre,
    kbd,
    samp,
    .CodeMirror,
    .CodeMirror *,
    .cm-editor,
    .cm-editor *,
    .ace_editor,
    .ace_editor *,
    .frontcat-tools-code-input,
    .frontcat-tools-code-highlight,
    .frontcat-tools-code-highlight *,
    .frontcat-tools-code-line-numbers,
    .frontcat-tools-code-line-numbers *
) {
    text-wrap: balance;
}

/* 20.20.733 — hierarquia visual do admin FrontCat em peso medium. */
body.frontcat-admin-theme #wpbody-content :is(
    h1, h2, h3, h4, h5, h6,
    strong, label, legend, th,
    .nav-tab, [role="tab"],
    [class*="-title"], [class*="__title"],
    [class*="-heading"], [class*="__heading"],
    [class*="-kicker"], [class*="__kicker"]
):not(.frontcat-editor-content *),
body.frontcat-admin-theme #wpbody-content [class*="frontcat-"][class*="-field"] > span:first-child {
    font-weight: 500 !important;
}

/* 20.20.758 — editores de código são uma ilha tipográfica. */
.frontcat-tools-sidebar .frontcat-tools-code-editor > textarea.frontcat-tools-code-input,
.frontcat-tools-sidebar .frontcat-tools-code-editor > .frontcat-tools-code-highlight,
.frontcat-tools-sidebar .frontcat-tools-code-editor > .frontcat-tools-code-line-numbers {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
    font-size: 12px !important;
    line-height: 18px !important;
    text-wrap: nowrap !important;
    font-variant-ligatures: none !important;
}
.frontcat-tools-sidebar .frontcat-tools-code-editor > .frontcat-tools-code-highlight *,
.frontcat-tools-sidebar .frontcat-tools-code-editor > .frontcat-tools-code-line-numbers * {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    text-wrap: nowrap !important;
    white-space: inherit !important;
    font-variant-ligatures: none !important;
}


/*
 * FrontCat 20.21.048 — contrato tipográfico global dos botões administrativos.
 * Todo controle acionável do FrontCat no wp-admin e no Painel de Conteúdo usa
 * peso Medium (500). Esta camada é propositalmente autoritativa para neutralizar
 * regras legadas 600/700/800 sem alterar botões renderizados no site público.
 */
html body.wp-admin.frontcat-admin-theme #wpbody-content,
html body.wp-admin.frontcat-plugins-theme #wpbody-content,
html body.wp-admin .frontcat-admin-hub,
html body.wp-admin :is([class*="frontcat-modal"],[class*="frontcat-dialog"],[class^="fc-"],[class*=" fc-"]) {
    --frontcat-button-font-weight: 500;
    --fc-dashboard-button-font-weight: 500;
}

html body.wp-admin.frontcat-admin-theme.frontcat-admin-theme #wpbody-content#wpbody-content :is(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    a.button,
    a.page-title-action,
    a.nav-tab,
    .subsubsub a,
    .filter-links a,
    [role="button"],
    [role="tab"]
),
html body.wp-admin.frontcat-plugins-theme.frontcat-plugins-theme #wpbody-content#wpbody-content :is(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    a.button,
    a.page-title-action,
    a.nav-tab,
    .subsubsub a,
    .filter-links a,
    [role="button"],
    [role="tab"]
),
html body.wp-admin .frontcat-admin-hub.frontcat-admin-hub :is(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    a.button,
    a.page-title-action,
    a[class*="primary"],
    a[class*="secondary"],
    a[class*="action"],
    a[class*="trigger"],
    a[class*="cta"],
    a[class*="tab"],
    a[class*="filter"],
    [role="button"],
    [role="tab"]
),
html body.wp-admin :is(
    [class*="frontcat-"],
    [id*="frontcat-"],
    [class^="fc-"],
    [class*=" fc-"],
    [id^="fc-"]
) :is(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    a.button,
    a.page-title-action,
    a[class*="button"],
    a[class*="btn"],
    a[class*="tab"],
    a[class*="filter"],
    [role="button"],
    [role="tab"]
),
html body.wp-admin :is(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    a.button,
    a.page-title-action,
    a[class*="button"],
    a[class*="btn"],
    a[class*="tab"],
    a[class*="filter"],
    [role="button"],
    [role="tab"]
):is(
    [class*="frontcat-"],
    [id*="frontcat-"],
    [class^="fc-"],
    [class*=" fc-"],
    [id^="fc-"]
) {
    font-weight: 500 !important;
}

/* Labels internos não podem reintroduzir bold por strong/span/kbd locais. */
html body.wp-admin.frontcat-admin-theme.frontcat-admin-theme #wpbody-content#wpbody-content :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.button,a.page-title-action,a.nav-tab,.subsubsub a,.filter-links a,[role="button"],[role="tab"]) :is(strong,b,span,small,kbd),
html body.wp-admin.frontcat-plugins-theme.frontcat-plugins-theme #wpbody-content#wpbody-content :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.button,a.page-title-action,a.nav-tab,.subsubsub a,.filter-links a,[role="button"],[role="tab"]) :is(strong,b,span,small,kbd),
html body.wp-admin .frontcat-admin-hub.frontcat-admin-hub :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.button,a.page-title-action,a[class*="primary"],a[class*="secondary"],a[class*="action"],a[class*="trigger"],a[class*="cta"],a[class*="tab"],a[class*="filter"],[role="button"],[role="tab"]) :is(strong,b,span,small,kbd),
html body.wp-admin :is([class*="frontcat-"],[id*="frontcat-"],[class^="fc-"],[class*=" fc-"],[id^="fc-"]) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.button,a.page-title-action,a[class*="button"],a[class*="btn"],a[class*="tab"],a[class*="filter"],[role="button"],[role="tab"]) :is(strong,b,span,small,kbd) {
    font-weight: inherit !important;
}

/*
 * FrontCat 20.21.147 — contrato global dos títulos de modais.
 * O peso do título principal é sempre Medium (500), inclusive quando estilos
 * legados do próprio FrontCat tentarem reintroduzir 600/700/bold. Os demais
 * atributos tipográficos continuam livres para cada componente/personalização.
 */
html body :is(
    [role="dialog"][class*="frontcat-"],
    [role="alertdialog"][class*="frontcat-"],
    [role="dialog"][class^="fc-"],
    [role="alertdialog"][class^="fc-"],
    [role="dialog"][class*=" fc-"],
    [role="alertdialog"][class*=" fc-"],
    .media-modal[class*="frontcat-"]
) :is(
    [class*="modal-title"],
    [class*="dialog-title"],
    [data-fc-dialog-title],
    [id$="-modal-title"],
    [id$="-dialog-title"],
    h1[id$="-title"],
    h2[id$="-title"],
    h3[id$="-title"]
),
html body :is(
    [role="dialog"][class*="frontcat-"],
    [role="alertdialog"][class*="frontcat-"],
    [role="dialog"][class^="fc-"],
    [role="alertdialog"][class^="fc-"],
    [role="dialog"][class*=" fc-"],
    [role="alertdialog"][class*=" fc-"]
) :is(
    header,
    [class*="modal-header"],
    [class*="modal__header"],
    [class$="-header"],
    [class*="__header"],
    [class*="dialog-head"],
    [class*="dialog__head"],
    [class$="-head"],
    [class*="__head"],
    [class*="-topbar"],
    [class*="__topbar"]
) :is(h1,h2,h3,[id$="-title"],[class*="modal-title"],[class*="dialog-title"]),
html body :is(
    .frontcat-schema-create-modal__heading > h2,
    .frontcat-builder-action-modal__header h2,
    .frontcat-admin-hub__confirm-title,
    .frontcat-schema-icon-modal__header h3,
    .frontcat-file-modal__header h2,
    .frontcat-buttons-modal__heading > h2,
    .frontcat-dashboard-reset-modal__header h2,
    .fc-commerce-modal__header h3,
    .fc-cpi-modal__header h3,
    .fc-appointments-detail__dialog > header h3,
    .frontcat-confirm-title,
    .frontcat-field-action-modal__header h3,
    #frontcat-modal-wrapper #frontcat-modal-content .frontcat-modal-title,
    .frontcat-array-modal-title,
    .frontcat-ai-media-title,
    .frontcat-tools-responsive-modal-title,
    .frontcat-visibility-debug-head > div > strong,
    .frontcat-floating-editor-header strong,
    .media-modal.frontcat-wp-media-floating-editor .media-frame-title h1,
    .media-modal.frontcat-wp-media-folders-has-sidebar .media-frame-title h1,
    .media-modal .media-frame.frontcat-wp-media-folders-has-sidebar .media-frame-title h1,
    .scwe-search-modal .scwe-search-title,
    .scwe-action-drawer .scwe-action-title
) {
    font-weight: 500 !important;
}
