/**
 * PROENÇA & FERRAZ Industrial — shell independente.
 * Design original para manutenção mecânica industrial, PCM, SST e rede profissional.
 */

:root {
    color-scheme: dark;
    --pfi-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pfi-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --pfi-bg: #03080d;
    --pfi-bg-elevated: #071119;
    --pfi-surface: #0b1720;
    --pfi-surface-alt: #102630;
    --pfi-surface-high: #16333f;
    --pfi-text: #f2f7fa;
    --pfi-text-soft: #c6d3dc;
    --pfi-muted: #8fa5b3;
    --pfi-border: rgba(180, 222, 243, .13);
    --pfi-border-strong: rgba(180, 222, 243, .24);
    --pfi-blue: #0b5a7a;
    --pfi-blue-light: #24b7e8;
    --pfi-red: #e21b23;
    --pfi-gold: #f2b84b;
    --pfi-success: #27c88b;
    --pfi-warning: #f0a635;
    --pfi-danger: #f04b55;
    --pfi-info: #55c8ee;
    --pfi-radius: 18px;
    --pfi-radius-sm: 12px;
    --pfi-radius-xs: 8px;
    --pfi-radius-lg: 26px;
    --pfi-shadow: 0 24px 80px rgba(0, 0, 0, .35);
    --pfi-shadow-soft: 0 12px 38px rgba(0, 0, 0, .22);
    --pfi-glow-blue: 0 0 0 1px rgba(36, 183, 232, .15), 0 18px 65px rgba(1, 35, 52, .35);
    --pfi-glow-red: 0 0 0 1px rgba(226, 27, 35, .16), 0 18px 58px rgba(100, 3, 8, .20);
    --pfi-transition: 180ms cubic-bezier(.2, .7, .2, 1);
    --pfi-header-height: 76px;
    --pfi-ops-height: 36px;
    --pfi-left-width: 276px;
    --pfi-right-width: 320px;
    --pfi-gap: clamp(16px, 1.8vw, 28px);
    --pfi-max-width: 1580px;
    --pfi-content-width: 900px;
    --proenca-blue: var(--pfi-blue);
    --proenca-blue-light: var(--pfi-blue-light);
    --proenca-red: var(--pfi-red);
    --proenca-gold: var(--pfi-gold);
    --proenca-green: var(--pfi-success);
    --proenca-orange: var(--pfi-warning);
    --proenca-bg: var(--pfi-bg-elevated);
    --proenca-bg-deep: var(--pfi-bg);
    --proenca-panel: var(--pfi-surface);
    --proenca-panel-2: var(--pfi-surface-alt);
    --proenca-panel-3: var(--pfi-surface-high);
    --proenca-border: var(--pfi-border);
    --proenca-border-strong: var(--pfi-border-strong);
    --proenca-text: var(--pfi-text);
    --proenca-text-soft: var(--pfi-text-soft);
    --proenca-muted: var(--pfi-muted);
    --proenca-input: #07121a;
    --proenca-shadow: var(--pfi-shadow);
    --proenca-shadow-soft: var(--pfi-shadow-soft);
    --proenca-radius-xs: var(--pfi-radius-xs);
    --proenca-radius-sm: var(--pfi-radius-sm);
    --proenca-radius-md: var(--pfi-radius);
    --proenca-radius-lg: var(--pfi-radius-lg);
    --proenca-radius-xl: 34px;
    --proenca-font: var(--pfi-font);
}

html[data-pfi-theme="light"] {
    color-scheme: light;
    --pfi-bg: #e8f0f5;
    --pfi-bg-elevated: #f4f8fa;
    --pfi-surface: #ffffff;
    --pfi-surface-alt: #f0f5f8;
    --pfi-surface-high: #e4eef3;
    --pfi-text: #102631;
    --pfi-text-soft: #344e5c;
    --pfi-muted: #6d8491;
    --pfi-border: rgba(11, 73, 99, .12);
    --pfi-border-strong: rgba(11, 73, 99, .22);
    --pfi-shadow: 0 24px 68px rgba(18, 53, 70, .15);
    --pfi-shadow-soft: 0 10px 32px rgba(18, 53, 70, .10);
    --pfi-glow-blue: 0 0 0 1px rgba(11, 90, 122, .10), 0 18px 50px rgba(18, 53, 70, .10);
    --proenca-input: #fff;
}

html {
    box-sizing: border-box;
    min-height: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--pfi-header-height) + var(--pfi-ops-height) + 18px);
    background: var(--pfi-bg);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    color: var(--pfi-text-soft);
    font-family: var(--pfi-font);
    font-size: 15px;
    line-height: 1.6;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 7% -8%, rgba(36, 183, 232, .18), transparent 34rem),
        radial-gradient(circle at 98% 3%, rgba(226, 27, 35, .13), transparent 30rem),
        linear-gradient(180deg, var(--pfi-bg), var(--pfi-bg-elevated) 38rem, var(--pfi-bg));
    background-attachment: fixed;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    opacity: .28;
    background-image:
        linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, #000, transparent 70%);
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(115deg, transparent 0 48%, rgba(36, 183, 232, .025) 48% 48.5%, transparent 48.5% 100%),
        linear-gradient(65deg, transparent 0 72%, rgba(226, 27, 35, .022) 72% 72.5%, transparent 72.5% 100%);
}

html[data-pfi-theme="light"] body {
    background:
        radial-gradient(circle at 7% -8%, rgba(36, 183, 232, .18), transparent 34rem),
        radial-gradient(circle at 98% 3%, rgba(226, 27, 35, .09), transparent 30rem),
        linear-gradient(180deg, #fbfdfe, var(--pfi-bg) 38rem, #eef4f7);
}

body.admin-bar .pfi-header {
    top: 32px;
}

body.admin-bar .pfi-operations-bar {
    top: 32px;
}

body.admin-bar.pfi-sticky-header .pfi-header {
    top: calc(32px + var(--pfi-ops-height));
}

body.admin-bar .pfi-rail-sticky {
    top: calc(var(--pfi-header-height) + var(--pfi-ops-height) + 32px + 18px);
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    max-width: 100%;
}

img {
    height: auto;
}

svg {
    display: block;
}

a {
    color: var(--pfi-blue-light);
    text-decoration-thickness: .08em;
    text-underline-offset: .16em;
    transition: color var(--pfi-transition), background-color var(--pfi-transition), border-color var(--pfi-transition), box-shadow var(--pfi-transition), transform var(--pfi-transition), opacity var(--pfi-transition);
}

a:hover {
    color: #88ddf8;
}

button,
input,
select,
textarea {
    font: inherit;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
    cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
    cursor: not-allowed;
    opacity: .58;
}

:focus-visible {
    outline: 3px solid rgba(36, 183, 232, .58);
    outline-offset: 3px;
}

::selection {
    color: #fff;
    background: var(--pfi-blue);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 .65em;
    color: var(--pfi-text);
    font-weight: 780;
    line-height: 1.14;
    letter-spacing: -.035em;
}

h1 { font-size: clamp(2rem, 3.6vw, 4.2rem); }
h2 { font-size: clamp(1.45rem, 2.1vw, 2.4rem); }
h3 { font-size: clamp(1.16rem, 1.55vw, 1.55rem); }
h4 { font-size: 1.08rem; }

p {
    margin: 0 0 1.1em;
}

ul,
ol {
    margin: 0 0 1.2em;
    padding-left: 1.35em;
}

hr {
    height: 1px;
    margin: 2rem 0;
    border: 0;
    background: var(--pfi-border);
}

blockquote {
    position: relative;
    margin: 1.7rem 0;
    padding: 1.3rem 1.5rem 1.3rem 1.75rem;
    color: var(--pfi-text);
    border: 1px solid var(--pfi-border);
    border-left: 4px solid var(--pfi-blue-light);
    border-radius: var(--pfi-radius-sm);
    background: linear-gradient(125deg, rgba(36, 183, 232, .08), transparent 50%), var(--pfi-surface-alt);
}

code,
kbd,
samp,
pre {
    font-family: var(--pfi-font-mono);
}

code,
kbd {
    padding: .16em .42em;
    border: 1px solid var(--pfi-border);
    border-radius: 6px;
    color: #b5ebfb;
    background: rgba(0, 0, 0, .24);
}

pre {
    max-width: 100%;
    padding: 1.2rem;
    overflow: auto;
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius-sm);
    color: #d8edf5;
    background: #02070b;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: .78rem .9rem;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--pfi-border);
}

th {
    color: var(--pfi-text);
    font-size: .78rem;
    font-weight: 780;
    letter-spacing: .05em;
    text-transform: uppercase;
}

caption {
    margin-bottom: .7rem;
    color: var(--pfi-muted);
    text-align: left;
}

/* Acessibilidade */
.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
    border: 0;
}

.screen-reader-text:focus,
.pfi-skip-link:focus {
    top: 10px;
    left: 10px;
    z-index: 100000;
    width: auto;
    height: auto;
    padding: 12px 18px;
    clip: auto;
    color: #fff;
    border-radius: 8px;
    background: var(--pfi-blue);
}

/* Shell */
.pfi-app-shell {
    min-height: 100vh;
}

.pfi-site-stage {
    width: 100%;
    min-height: 62vh;
}

.pfi-site-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--pfi-gap);
    width: min(calc(100% - 32px), var(--pfi-max-width));
    margin: 0 auto;
    padding: var(--pfi-gap) 0 clamp(52px, 6vw, 92px);
}

.pfi-site-layout.pfi-layout--portal,
.pfi-site-layout.pfi-layout--feed {
    grid-template-columns: var(--pfi-left-width) minmax(0, 1fr) var(--pfi-right-width);
}

.pfi-site-layout.pfi-layout--auth {
    grid-template-columns: minmax(0, 1fr);
    width: min(calc(100% - 32px), 1200px);
    min-height: clamp(620px, calc(100vh - var(--pfi-header-height) - var(--pfi-ops-height)), 980px);
    padding-top: clamp(26px, 4.5vw, 64px);
}

.pfi-layout--auth .pfi-main {
    width: 100%;
    max-width: 1160px;
    margin-inline: auto;
}

/* Segurança adicional: visitantes não podem ocupar uma coluna reservada a rails ocultos. */
.pfi-guest .pfi-site-layout.pfi-layout--portal,
.pfi-guest .pfi-site-layout.pfi-layout--feed {
    grid-template-columns: minmax(0, 1fr);
}

.pfi-site-layout.pfi-layout--content-sidebar {
    grid-template-columns: minmax(0, 1fr) 320px;
    max-width: 1240px;
}

.pfi-main {
    min-width: 0;
}

.pfi-main--full {
    width: min(calc(100% - 32px), var(--pfi-max-width));
    margin: 0 auto;
    padding: var(--pfi-gap) 0 clamp(54px, 6vw, 92px);
}

.pfi-main--centered {
    display: grid;
    min-height: 70vh;
    padding: 50px 20px;
    place-items: center;
}

.pfi-main--portal {
    min-width: 0;
}

.pfi-rail-sticky {
    position: sticky;
    top: calc(var(--pfi-header-height) + var(--pfi-ops-height) + 18px);
    display: grid;
    gap: 16px;
    max-height: calc(100vh - var(--pfi-header-height) - var(--pfi-ops-height) - 36px);
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(143, 165, 179, .34) transparent;
}

/* Barra operacional */
.pfi-operations-bar {
    position: relative;
    z-index: 1002;
    height: var(--pfi-ops-height);
    color: #c7d8e1;
    border-bottom: 1px solid rgba(180, 222, 243, .09);
    background:
        linear-gradient(90deg, rgba(36, 183, 232, .08), transparent 34%, rgba(226, 27, 35, .08)),
        #02070b;
}

.pfi-sticky-header .pfi-operations-bar {
    position: sticky;
    top: 0;
}

.pfi-operations-bar__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    width: min(calc(100% - 32px), var(--pfi-max-width));
    height: 100%;
    margin: 0 auto;
    font-size: .72rem;
    letter-spacing: .02em;
}

.pfi-operations-bar__status,
.pfi-operations-bar__meta,
.pfi-operations-bar__message {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.pfi-operations-bar__status strong {
    color: #fff;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.pfi-operations-bar__message {
    justify-content: center;
    overflow: hidden;
    color: #aebfca;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-operations-bar__tag {
    flex: 0 0 auto;
    padding: 2px 7px;
    color: #fff;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .08em;
    border: 1px solid rgba(226, 27, 35, .45);
    border-radius: 99px;
    background: rgba(226, 27, 35, .18);
}

.pfi-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pfi-success);
    box-shadow: 0 0 0 5px rgba(39, 200, 139, .10), 0 0 16px rgba(39, 200, 139, .8);
    animation: pfi-live-pulse 2.1s infinite;
}

@keyframes pfi-live-pulse {
    50% { box-shadow: 0 0 0 8px rgba(39, 200, 139, 0), 0 0 22px rgba(39, 200, 139, .9); }
}

/* Cabeçalho */
.pfi-header {
    position: relative;
    z-index: 1000;
    height: var(--pfi-header-height);
    border-bottom: 1px solid var(--pfi-border);
    background: rgba(3, 8, 13, .84);
    box-shadow: 0 14px 44px rgba(0, 0, 0, .15);
    backdrop-filter: blur(22px) saturate(145%);
    -webkit-backdrop-filter: blur(22px) saturate(145%);
}

html[data-pfi-theme="light"] .pfi-header {
    background: rgba(248, 251, 252, .88);
}

.pfi-sticky-header .pfi-header {
    position: sticky;
    top: var(--pfi-ops-height);
}

.pfi-header__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(16px, 2vw, 32px);
    width: min(calc(100% - 32px), var(--pfi-max-width));
    height: 100%;
    margin: 0 auto;
}

.pfi-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.pfi-brand__mark {
    display: grid;
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    overflow: hidden;
    border: 1px solid var(--pfi-border-strong);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
    place-items: center;
}

.pfi-brand__mark img {
    width: 100%;
    height: 100%;
    padding: 2px;
    object-fit: contain;
}

.pfi-brand__text {
    display: grid;
    min-width: 0;
    color: inherit;
    line-height: 1.15;
    text-decoration: none;
}

.pfi-brand__text strong {
    max-width: 290px;
    overflow: hidden;
    color: var(--pfi-text);
    font-size: .95rem;
    font-weight: 800;
    letter-spacing: -.02em;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-brand__text span {
    max-width: 300px;
    margin-top: 4px;
    overflow: hidden;
    color: var(--pfi-muted);
    font-size: .68rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-header__nav {
    min-width: 0;
}

.pfi-menu {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pfi-menu li {
    position: relative;
    margin: 0;
}

.pfi-menu a {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 0 13px;
    color: var(--pfi-text-soft);
    font-size: .82rem;
    font-weight: 680;
    border-radius: 10px;
    text-decoration: none;
    white-space: nowrap;
}

.pfi-menu a:hover,
.pfi-menu .current-menu-item > a,
.pfi-menu .current-menu-ancestor > a {
    color: var(--pfi-text);
    background: rgba(36, 183, 232, .10);
}

.pfi-menu .current-menu-item > a::after,
.pfi-menu .current-menu-ancestor > a::after {
    content: "";
    position: absolute;
    right: 13px;
    bottom: 2px;
    left: 13px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, var(--pfi-blue-light), var(--pfi-red));
}

.pfi-menu .sub-menu {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 40;
    display: none;
    min-width: 220px;
    margin: 0;
    padding: 8px;
    list-style: none;
    border: 1px solid var(--pfi-border);
    border-radius: 14px;
    background: rgba(8, 20, 29, .98);
    box-shadow: var(--pfi-shadow);
}

.pfi-menu li:hover > .sub-menu,
.pfi-menu li:focus-within > .sub-menu {
    display: block;
}

.pfi-menu .sub-menu a {
    min-height: 38px;
    font-size: .78rem;
}

.pfi-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.pfi-icon-button {
    display: inline-grid;
    width: 42px;
    height: 42px;
    padding: 0;
    color: var(--pfi-text-soft);
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, .025);
    place-items: center;
}

.pfi-icon-button:hover {
    color: #fff;
    border-color: rgba(36, 183, 232, .34);
    background: rgba(36, 183, 232, .10);
    transform: translateY(-1px);
}

.pfi-icon-button svg {
    width: 19px;
    height: 19px;
}

.pfi-header__menu-toggle {
    display: none;
}

.pfi-header__notification {
    position: relative;
}

.pfi-header__notification::after {
    content: "";
    position: absolute;
    top: 8px;
    right: 8px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--pfi-bg);
    border-radius: 50%;
    background: var(--pfi-red);
    box-shadow: 0 0 11px rgba(226, 27, 35, .75);
}

/* Conta */
.pfi-account {
    position: relative;
}

.pfi-account__trigger {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 9px;
    min-width: 190px;
    height: 48px;
    padding: 4px 9px 4px 5px;
    color: var(--pfi-text-soft);
    border: 1px solid var(--pfi-border);
    border-radius: 14px;
    background: rgba(255, 255, 255, .025);
}

.pfi-account__trigger:hover,
.pfi-account.is-open .pfi-account__trigger {
    border-color: rgba(36, 183, 232, .32);
    background: rgba(36, 183, 232, .08);
}

.pfi-account__trigger img {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    object-fit: cover;
}

.pfi-account__trigger > span {
    display: grid;
    min-width: 0;
    text-align: left;
    line-height: 1.18;
}

.pfi-account__trigger strong,
.pfi-account__trigger small {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-account__trigger strong {
    color: var(--pfi-text);
    font-size: .77rem;
}

.pfi-account__trigger small {
    margin-top: 3px;
    color: var(--pfi-muted);
    font-size: .64rem;
}

.pfi-account__trigger > svg {
    width: 15px;
}

.pfi-account__menu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 80;
    width: 310px;
    padding: 9px;
    border: 1px solid var(--pfi-border-strong);
    border-radius: var(--pfi-radius);
    background: rgba(8, 20, 29, .98);
    box-shadow: var(--pfi-shadow);
    backdrop-filter: blur(18px);
}

html[data-pfi-theme="light"] .pfi-account__menu,
html[data-pfi-theme="light"] .pfi-menu .sub-menu {
    background: rgba(255, 255, 255, .98);
}

.pfi-account__menu[hidden] {
    display: none;
}

.pfi-account__identity {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-bottom: 8px;
    padding: 10px;
    border-bottom: 1px solid var(--pfi-border);
}

.pfi-account__identity img {
    width: 54px;
    height: 54px;
    border-radius: 15px;
    object-fit: cover;
}

.pfi-account__identity div {
    display: grid;
    min-width: 0;
}

.pfi-account__identity strong {
    color: var(--pfi-text);
    font-size: .9rem;
}

.pfi-account__identity span {
    margin-top: 3px;
    overflow: hidden;
    color: var(--pfi-muted);
    font-size: .72rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-account__menu > a {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--pfi-text-soft);
    font-size: .78rem;
    font-weight: 650;
    border-radius: 10px;
    text-decoration: none;
}

.pfi-account__menu > a:hover {
    color: var(--pfi-text);
    background: rgba(36, 183, 232, .09);
}

.pfi-account__menu > a svg {
    width: 18px;
}

.pfi-account__menu .pfi-account__logout {
    margin-top: 5px;
    color: #ff9ba1;
    border-top: 1px solid var(--pfi-border);
    border-radius: 0 0 10px 10px;
}

/* Pesquisa */
.pfi-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 9995;
}

.pfi-search-overlay[hidden] {
    display: none;
}

.pfi-search-overlay__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 4, 7, .78);
    backdrop-filter: blur(10px);
}

.pfi-search-overlay__panel {
    position: relative;
    width: min(calc(100% - 32px), 820px);
    margin: min(12vh, 120px) auto 0;
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid var(--pfi-border-strong);
    border-radius: 26px;
    background:
        linear-gradient(130deg, rgba(36, 183, 232, .10), transparent 42%, rgba(226, 27, 35, .06)),
        var(--pfi-surface);
    box-shadow: 0 38px 110px rgba(0, 0, 0, .58);
}

.pfi-search-overlay__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.pfi-search-overlay__header h2 {
    max-width: 620px;
    margin: 4px 0 0;
    font-size: clamp(1.55rem, 3vw, 2.5rem);
}

.pfi-search-overlay__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 18px;
    color: var(--pfi-muted);
    font-size: .72rem;
}

.pfi-search-overlay__quick a {
    padding: 5px 9px;
    color: var(--pfi-text-soft);
    border: 1px solid var(--pfi-border);
    border-radius: 99px;
    text-decoration: none;
}

.pfi-search-form {
    display: flex;
    gap: 10px;
}

.pfi-search-form label {
    position: relative;
    flex: 1;
}

.pfi-search-form label svg {
    position: absolute;
    top: 50%;
    left: 15px;
    width: 20px;
    color: var(--pfi-muted);
    transform: translateY(-50%);
}

.pfi-search-form__field {
    width: 100%;
    min-height: 52px;
    padding: 0 16px 0 47px;
    color: var(--pfi-text);
    border: 1px solid var(--pfi-border-strong);
    border-radius: 14px;
    outline: none;
    background: rgba(0, 0, 0, .22);
}

html[data-pfi-theme="light"] .pfi-search-form__field {
    background: #fff;
}

.pfi-search-form__field:focus {
    border-color: rgba(36, 183, 232, .58);
    box-shadow: 0 0 0 4px rgba(36, 183, 232, .10);
}

/* Botões */
.pfi-button,
.wp-block-button__link,
button.pfi-button,
a.pfi-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    color: var(--pfi-text);
    font-size: .78rem;
    font-weight: 750;
    line-height: 1;
    border: 1px solid var(--pfi-border-strong);
    border-radius: 12px;
    text-decoration: none;
    background: var(--pfi-surface-alt);
    box-shadow: none;
}

.pfi-button:hover,
.wp-block-button__link:hover {
    color: #fff;
    transform: translateY(-1px);
}

.pfi-button svg {
    width: 18px;
    height: 18px;
}

.pfi-button--primary,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    color: #fff;
    border-color: rgba(36, 183, 232, .44);
    background: linear-gradient(135deg, var(--pfi-blue-light), var(--pfi-blue));
    box-shadow: 0 10px 28px rgba(11, 90, 122, .24);
}

.pfi-button--primary:hover {
    border-color: rgba(110, 219, 250, .7);
    box-shadow: 0 15px 34px rgba(11, 90, 122, .36);
}

.pfi-button--danger {
    color: #fff;
    border-color: rgba(226, 27, 35, .45);
    background: linear-gradient(135deg, #f04b55, #aa1118);
}

.pfi-button--ghost {
    background: transparent;
}

.pfi-button--small {
    min-height: 38px;
    padding: 0 14px;
    font-size: .73rem;
}

.pfi-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

/* Rails */
.pfi-left-rail,
.pfi-right-rail,
.pfi-sidebar {
    min-width: 0;
}

.pfi-user-card,
.pfi-command-card,
.pfi-field-card,
.pfi-widget {
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .026), transparent 45%),
        var(--pfi-surface);
    box-shadow: var(--pfi-shadow-soft);
}

.pfi-user-card {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 11px;
    padding: 12px;
    overflow: hidden;
}

.pfi-user-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--pfi-blue-light), var(--pfi-red));
}

.pfi-user-card__avatar {
    position: relative;
    display: block;
}

.pfi-user-card__avatar img {
    display: block;
    width: 56px;
    height: 56px;
    border: 2px solid rgba(36, 183, 232, .28);
    border-radius: 16px;
    object-fit: cover;
}

.pfi-user-card__online {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 13px;
    height: 13px;
    border: 3px solid var(--pfi-surface);
    border-radius: 50%;
    background: var(--pfi-success);
}

.pfi-user-card__identity {
    display: grid;
    min-width: 0;
    line-height: 1.18;
}

.pfi-user-card__identity strong,
.pfi-user-card__identity span,
.pfi-user-card__identity small {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-user-card__identity strong {
    color: var(--pfi-text);
    font-size: .86rem;
}

.pfi-user-card__identity span {
    margin-top: 4px;
    color: var(--pfi-blue-light);
    font-size: .7rem;
    font-weight: 650;
}

.pfi-user-card__identity small {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    color: var(--pfi-muted);
    font-size: .64rem;
}

.pfi-user-card__identity small svg {
    width: 12px;
}

.pfi-user-card__profile-link {
    display: grid;
    width: 28px;
    height: 36px;
    color: var(--pfi-muted);
    border-radius: 8px;
    place-items: center;
}

.pfi-user-card__profile-link:hover {
    color: var(--pfi-blue-light);
    background: rgba(36, 183, 232, .08);
}

.pfi-rail-nav {
    display: grid;
    gap: 3px;
    padding: 7px;
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius);
    background: rgba(11, 23, 32, .78);
    box-shadow: var(--pfi-shadow-soft);
}

html[data-pfi-theme="light"] .pfi-rail-nav {
    background: rgba(255, 255, 255, .78);
}

.pfi-rail-nav__section {
    padding: 14px 11px 5px;
    color: var(--pfi-muted);
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.pfi-rail-nav__item {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 10px;
    color: var(--pfi-text-soft);
    font-size: .75rem;
    font-weight: 650;
    border: 1px solid transparent;
    border-radius: 11px;
    text-decoration: none;
}

.pfi-rail-nav__item > svg {
    width: 18px;
    color: var(--pfi-muted);
}

.pfi-rail-nav__arrow {
    width: 13px !important;
    opacity: .48;
}

.pfi-rail-nav__item:hover {
    color: var(--pfi-text);
    border-color: rgba(36, 183, 232, .12);
    background: rgba(36, 183, 232, .07);
    transform: translateX(2px);
}

.pfi-rail-nav__item.is-active {
    color: #fff;
    border-color: rgba(36, 183, 232, .24);
    background: linear-gradient(90deg, rgba(36, 183, 232, .18), rgba(11, 90, 122, .07));
    box-shadow: inset 3px 0 var(--pfi-blue-light);
}

.pfi-rail-nav__item.is-active > svg {
    color: var(--pfi-blue-light);
}

.pfi-field-card {
    position: relative;
    padding: 18px;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(36, 183, 232, .18), transparent 52%),
        linear-gradient(325deg, rgba(226, 27, 35, .12), transparent 50%),
        var(--pfi-surface);
}

.pfi-field-card::after {
    content: "";
    position: absolute;
    right: -36px;
    bottom: -44px;
    width: 130px;
    height: 130px;
    opacity: .25;
    border: 20px solid var(--pfi-blue-light);
    border-radius: 50%;
}

.pfi-field-card__label,
.pfi-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--pfi-blue-light);
    font-size: .64rem;
    font-weight: 820;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.pfi-field-card h2 {
    max-width: 200px;
    margin: 8px 0 7px;
    font-size: 1.08rem;
}

.pfi-field-card p {
    position: relative;
    z-index: 1;
    margin: 0 0 13px;
    color: var(--pfi-muted);
    font-size: .72rem;
}

.pfi-field-card a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .7rem;
    font-weight: 750;
    text-decoration: none;
}

.pfi-field-card a svg {
    width: 15px;
}

.pfi-command-card {
    padding: 17px;
}

.pfi-command-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.pfi-command-card > header h2 {
    margin: 4px 0 0;
    font-size: 1rem;
}

.pfi-command-card__metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.pfi-command-card__metrics > div {
    display: grid;
    padding: 12px;
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, .018);
}

.pfi-command-card__metrics strong {
    color: var(--pfi-text);
    font-size: 1.35rem;
    line-height: 1;
}

.pfi-command-card__metrics span {
    margin-top: 5px;
    color: var(--pfi-muted);
    font-size: .63rem;
}

.pfi-command-card__actions {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.pfi-command-card__actions a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 10px;
    color: var(--pfi-text-soft);
    font-size: .69rem;
    font-weight: 700;
    border: 1px solid var(--pfi-border);
    border-radius: 10px;
    text-decoration: none;
}

.pfi-command-card__actions a:hover {
    color: #fff;
    border-color: rgba(36, 183, 232, .28);
    background: rgba(36, 183, 232, .08);
}

.pfi-command-card__actions svg {
    width: 16px;
}

.pfi-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 8px;
    color: var(--pfi-muted);
    font-size: .59rem;
    font-weight: 750;
    border: 1px solid var(--pfi-border);
    border-radius: 99px;
}

.pfi-status-pill i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.pfi-status-pill--ok {
    color: #82e5bf;
    border-color: rgba(39, 200, 139, .22);
    background: rgba(39, 200, 139, .08);
}

.pfi-status-pill--ok i {
    background: var(--pfi-success);
    box-shadow: 0 0 9px rgba(39, 200, 139, .7);
}

.pfi-integration-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pfi-integration-list li {
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 34px;
    border-bottom: 1px solid var(--pfi-border);
    font-size: .68rem;
}

.pfi-integration-list li:last-child {
    border-bottom: 0;
}

.pfi-integration-list small {
    color: var(--pfi-muted);
    font-size: .58rem;
}

.pfi-integration-list__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #556771;
}

.pfi-integration-list__dot.is-active {
    background: var(--pfi-success);
    box-shadow: 0 0 9px rgba(39, 200, 139, .65);
}

.pfi-command-card--safety {
    position: relative;
    overflow: hidden;
    border-color: rgba(242, 184, 75, .22);
    background:
        linear-gradient(135deg, rgba(242, 184, 75, .12), transparent 62%),
        var(--pfi-surface);
}

.pfi-command-card__safety-icon {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 13px;
    color: var(--pfi-gold);
    border: 1px solid rgba(242, 184, 75, .25);
    border-radius: 13px;
    background: rgba(242, 184, 75, .08);
    place-items: center;
}

.pfi-command-card__safety-icon svg {
    width: 22px;
}

.pfi-command-card--safety h2 {
    margin: 7px 0 6px;
    font-size: 1.05rem;
}

.pfi-command-card--safety p {
    margin: 0;
    color: var(--pfi-muted);
    font-size: .68rem;
}

/* Dashboard */
.pfi-portal-dashboard {
    display: grid;
    gap: var(--pfi-gap);
}

.pfi-dashboard-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
    min-height: 330px;
    overflow: hidden;
    border: 1px solid var(--pfi-border-strong);
    border-radius: clamp(22px, 3vw, 34px);
    background:
        linear-gradient(115deg, rgba(4, 12, 18, .97), rgba(6, 39, 55, .86) 55%, rgba(96, 4, 10, .62)),
        var(--pfi-surface);
    box-shadow: var(--pfi-shadow);
}

.pfi-dashboard-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .45;
    background:
        linear-gradient(115deg, transparent 0 57%, rgba(255, 255, 255, .06) 57% 57.4%, transparent 57.4%),
        repeating-linear-gradient(90deg, transparent 0 50px, rgba(255, 255, 255, .012) 50px 51px);
}

.pfi-dashboard-hero::after {
    content: "";
    position: absolute;
    top: -150px;
    right: -90px;
    width: 460px;
    height: 460px;
    border: 70px solid rgba(36, 183, 232, .08);
    border-radius: 50%;
    box-shadow: inset 0 0 0 42px rgba(226, 27, 35, .05);
}

.pfi-dashboard-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 5vw, 62px);
}

.pfi-dashboard-hero__content h1 {
    max-width: 760px;
    margin: 12px 0 14px;
    font-size: clamp(2.15rem, 4.3vw, 4.7rem);
    line-height: 1.01;
}

.pfi-dashboard-hero__content h1 em {
    color: var(--pfi-blue-light);
    font-style: normal;
}

.pfi-dashboard-hero__content p {
    max-width: 660px;
    margin: 0;
    color: #a9bdc9;
    font-size: clamp(.89rem, 1.2vw, 1.04rem);
}

.pfi-dashboard-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.pfi-dashboard-hero__visual {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 30px;
}

.pfi-dashboard-hero__visual img {
    width: min(100%, 300px);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .38);
    transform: rotate(2.5deg);
}

.pfi-dashboard-hero__badge {
    position: absolute;
    right: 12%;
    bottom: 14%;
    display: flex;
    align-items: center;
    gap: 9px;
    max-width: 220px;
    padding: 10px 13px;
    color: #fff;
    font-size: .68rem;
    font-weight: 750;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    background: rgba(3, 11, 17, .78);
    box-shadow: var(--pfi-shadow-soft);
    backdrop-filter: blur(12px);
}

.pfi-dashboard-hero__badge svg {
    width: 20px;
    color: var(--pfi-success);
}

.pfi-dashboard-section {
    display: grid;
    gap: 15px;
}

.pfi-dashboard-section__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.pfi-dashboard-section__header h2 {
    margin: 5px 0 0;
    font-size: clamp(1.35rem, 2vw, 2rem);
}

.pfi-dashboard-section__header > a {
    font-size: .72rem;
    font-weight: 720;
    text-decoration: none;
}

.pfi-module-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.pfi-module-card {
    position: relative;
    display: grid;
    min-height: 190px;
    padding: 20px;
    overflow: hidden;
    color: inherit;
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .025), transparent 50%),
        var(--pfi-surface);
    box-shadow: var(--pfi-shadow-soft);
    text-decoration: none;
}

.pfi-module-card::before {
    content: "";
    position: absolute;
    top: -58px;
    right: -58px;
    width: 150px;
    height: 150px;
    border: 22px solid rgba(36, 183, 232, .045);
    border-radius: 50%;
    transition: transform var(--pfi-transition), border-color var(--pfi-transition);
}

.pfi-module-card:hover {
    color: inherit;
    border-color: rgba(36, 183, 232, .31);
    box-shadow: var(--pfi-glow-blue);
    transform: translateY(-4px);
}

.pfi-module-card:hover::before {
    border-color: rgba(36, 183, 232, .10);
    transform: scale(1.16);
}

.pfi-module-card__icon {
    display: grid;
    width: 46px;
    height: 46px;
    color: var(--pfi-blue-light);
    border: 1px solid rgba(36, 183, 232, .22);
    border-radius: 14px;
    background: rgba(36, 183, 232, .08);
    place-items: center;
}

.pfi-module-card__icon svg {
    width: 23px;
}

.pfi-module-card h3 {
    align-self: end;
    margin: 22px 0 6px;
    font-size: 1.08rem;
}

.pfi-module-card p {
    margin: 0;
    color: var(--pfi-muted);
    font-size: .73rem;
}

.pfi-module-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 14px;
    color: var(--pfi-blue-light);
    font-size: .67rem;
    font-weight: 750;
}

.pfi-module-card__footer svg {
    width: 16px;
}

.pfi-module-card--red .pfi-module-card__icon {
    color: #ff8c93;
    border-color: rgba(226, 27, 35, .24);
    background: rgba(226, 27, 35, .09);
}

.pfi-module-card--gold .pfi-module-card__icon {
    color: var(--pfi-gold);
    border-color: rgba(242, 184, 75, .24);
    background: rgba(242, 184, 75, .08);
}

.pfi-dashboard-split {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 15px;
}

.pfi-dashboard-panel {
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius);
    background: var(--pfi-surface);
    box-shadow: var(--pfi-shadow-soft);
}

.pfi-dashboard-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 17px;
}

.pfi-dashboard-panel__header h2 {
    margin: 4px 0 0;
    font-size: 1.25rem;
}

.pfi-news-list {
    display: grid;
    gap: 9px;
}

.pfi-news-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 10px;
    color: inherit;
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    text-decoration: none;
}

.pfi-news-item:hover {
    color: inherit;
    border-color: rgba(36, 183, 232, .28);
    background: rgba(36, 183, 232, .05);
}

.pfi-news-item__date {
    display: grid;
    width: 44px;
    height: 44px;
    color: var(--pfi-text);
    font-size: 1rem;
    font-weight: 820;
    line-height: 1;
    border: 1px solid var(--pfi-border);
    border-radius: 11px;
    background: var(--pfi-surface-alt);
    place-items: center;
}

.pfi-news-item__date small {
    color: var(--pfi-muted);
    font-size: .51rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.pfi-news-item__content {
    display: grid;
    min-width: 0;
}

.pfi-news-item__content strong {
    overflow: hidden;
    color: var(--pfi-text);
    font-size: .78rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-news-item__content span {
    margin-top: 3px;
    color: var(--pfi-muted);
    font-size: .65rem;
}

.pfi-news-item > svg {
    width: 16px;
    color: var(--pfi-muted);
}

.pfi-principles {
    display: grid;
    gap: 10px;
}

.pfi-principle {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
}

.pfi-principle__number {
    display: grid;
    width: 38px;
    height: 38px;
    color: var(--pfi-blue-light);
    font-size: .78rem;
    font-weight: 820;
    border: 1px solid rgba(36, 183, 232, .20);
    border-radius: 11px;
    background: rgba(36, 183, 232, .07);
    place-items: center;
}

.pfi-principle h3 {
    margin: 1px 0 3px;
    font-size: .82rem;
}

.pfi-principle p {
    margin: 0;
    color: var(--pfi-muted);
    font-size: .67rem;
}

/* Conteúdo WordPress */
.pfi-page-heading {
    margin-bottom: 20px;
    padding: clamp(18px, 3vw, 30px);
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius);
    background:
        linear-gradient(125deg, rgba(36, 183, 232, .09), transparent 56%, rgba(226, 27, 35, .05)),
        var(--pfi-surface);
    box-shadow: var(--pfi-shadow-soft);
}

.pfi-page-heading h1 {
    margin: 7px 0 0;
    font-size: clamp(1.75rem, 3vw, 3rem);
}

.pfi-page-heading__description {
    max-width: 760px;
    margin-top: 10px;
    color: var(--pfi-muted);
}

.pfi-post-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pfi-content-card,
.pfi-entry,
.pfi-comments,
.pfi-error-card {
    overflow: hidden;
    border: 1px solid var(--pfi-border);
    border-radius: var(--pfi-radius);
    background: var(--pfi-surface);
    box-shadow: var(--pfi-shadow-soft);
}

.pfi-content-card {
    display: flex;
    flex-direction: column;
}

.pfi-content-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--pfi-surface-alt);
}

.pfi-content-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms cubic-bezier(.2, .7, .2, 1);
}

.pfi-content-card:hover .pfi-content-card__media img {
    transform: scale(1.035);
}

.pfi-content-card__body,
.pfi-entry__header,
.pfi-entry__content,
.pfi-entry__footer {
    padding: clamp(17px, 2.5vw, 28px);
}

.pfi-content-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.pfi-entry__header + .pfi-entry__content {
    padding-top: 0;
}

.pfi-content-card__meta,
.pfi-entry__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 13px;
    margin-bottom: 10px;
    color: var(--pfi-muted);
    font-size: .67rem;
}

.pfi-content-card h2,
.pfi-entry__title {
    margin: 0 0 10px;
}

.pfi-content-card h2 {
    font-size: 1.18rem;
}

.pfi-content-card h2 a {
    color: var(--pfi-text);
    text-decoration: none;
}

.pfi-content-card__excerpt {
    color: var(--pfi-muted);
    font-size: .78rem;
}

.pfi-content-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 15px;
    font-size: .7rem;
    font-weight: 750;
    text-decoration: none;
}

.pfi-entry {
    max-width: 100%;
}

.pfi-entry__featured {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
}

.pfi-entry-content,
.pfi-entry__content {
    color: var(--pfi-text-soft);
}

.pfi-entry-content > :first-child,
.pfi-entry__content > :first-child {
    margin-top: 0;
}

.pfi-entry-content > :last-child,
.pfi-entry__content > :last-child {
    margin-bottom: 0;
}

.pfi-entry-content img.alignleft { float: left; margin: .4rem 1.5rem 1rem 0; }
.pfi-entry-content img.alignright { float: right; margin: .4rem 0 1rem 1.5rem; }
.pfi-entry-content .aligncenter { display: block; margin-right: auto; margin-left: auto; }
.pfi-entry-content .alignwide { width: min(1100px, calc(100vw - 32px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.pfi-entry-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }

.pfi-entry-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pfi-entry-content select,
.pfi-entry-content textarea,
.pfi-comments input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.pfi-comments textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--pfi-text);
    border: 1px solid var(--pfi-border-strong);
    border-radius: 10px;
    background: rgba(0, 0, 0, .18);
}

.pfi-entry-content textarea,
.pfi-comments textarea {
    min-height: 120px;
    resize: vertical;
}

.pfi-entry-content input:focus,
.pfi-entry-content select:focus,
.pfi-entry-content textarea:focus,
.pfi-comments input:focus,
.pfi-comments textarea:focus {
    outline: none;
    border-color: rgba(36, 183, 232, .52);
    box-shadow: 0 0 0 4px rgba(36, 183, 232, .09);
}

.pfi-entry-content input[type="submit"],
.pfi-comments input[type="submit"] {
    min-height: 43px;
    padding: 0 17px;
    color: #fff;
    font-weight: 750;
    border: 1px solid rgba(36, 183, 232, .42);
    border-radius: 11px;
    background: linear-gradient(135deg, var(--pfi-blue-light), var(--pfi-blue));
}

.pfi-sidebar {
    display: grid;
    align-content: start;
    gap: 16px;
}

.pfi-widget {
    padding: 18px;
}

.pfi-widget__title {
    margin: 0 0 13px;
    font-size: 1rem;
}

.pfi-widget ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pfi-widget li {
    padding: 7px 0;
    border-bottom: 1px solid var(--pfi-border);
    font-size: .75rem;
}

.pfi-widget li:last-child {
    border-bottom: 0;
}

.pfi-comments {
    margin-top: 22px;
    padding: clamp(18px, 3vw, 30px);
}

.comment-list {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.comment-list .comment-body {
    margin: 10px 0;
    padding: 15px;
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    background: rgba(255, 255, 255, .018);
}

.navigation.pagination,
.post-navigation,
.posts-navigation {
    margin-top: 22px;
}

.nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: stretch;
    justify-content: center;
}

.nav-links .page-numbers,
.post-navigation a {
    display: inline-flex;
    min-height: 40px;
    padding: 8px 13px;
    color: var(--pfi-text-soft);
    border: 1px solid var(--pfi-border);
    border-radius: 10px;
    background: var(--pfi-surface);
    text-decoration: none;
}

.nav-links .current,
.nav-links a:hover,
.post-navigation a:hover {
    color: #fff;
    border-color: rgba(36, 183, 232, .34);
    background: rgba(36, 183, 232, .12);
}

.post-navigation .nav-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.post-navigation a {
    display: grid;
}

.post-navigation a span {
    color: var(--pfi-muted);
    font-size: .62rem;
    text-transform: uppercase;
}

.post-navigation a strong {
    margin-top: 3px;
    color: var(--pfi-text);
    font-size: .78rem;
}

.pfi-error-card {
    width: min(100%, 720px);
    padding: clamp(28px, 6vw, 66px);
    text-align: center;
    background:
        radial-gradient(circle at 50% 0, rgba(36, 183, 232, .14), transparent 55%),
        var(--pfi-surface);
}

.pfi-error-card__code {
    color: transparent;
    font-size: clamp(5rem, 18vw, 11rem);
    font-weight: 900;
    line-height: .85;
    letter-spacing: -.09em;
    -webkit-text-stroke: 2px rgba(36, 183, 232, .42);
}

.pfi-error-card h1 {
    margin-top: 12px;
}

.pfi-error-card p {
    max-width: 520px;
    margin-right: auto;
    margin-left: auto;
    color: var(--pfi-muted);
}

.pfi-error-card .pfi-button-row {
    justify-content: center;
}

/* Rodapé */
.pfi-footer {
    position: relative;
    padding: 42px max(16px, calc((100% - var(--pfi-max-width)) / 2));
    color: #a9bbc5;
    border-top: 1px solid var(--pfi-border);
    background:
        linear-gradient(135deg, rgba(36, 183, 232, .07), transparent 35%, rgba(226, 27, 35, .05)),
        #02070b;
}

.pfi-footer__grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) repeat(2, minmax(180px, .7fr)) minmax(180px, .7fr);
    gap: 26px;
}

.pfi-footer__brand {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.pfi-footer__brand img {
    width: 58px;
    height: 58px;
    padding: 2px;
    border-radius: 15px;
    background: #fff;
    object-fit: contain;
}

.pfi-footer__brand div {
    display: grid;
}

.pfi-footer__brand strong {
    color: #fff;
    font-size: .9rem;
}

.pfi-footer__brand span {
    margin-top: 5px;
    color: #8299a6;
    font-size: .68rem;
}

.pfi-footer__widgets,
.pfi-footer__nav {
    font-size: .72rem;
}

.pfi-footer__widgets .pfi-widget {
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.pfi-footer__nav ul {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pfi-footer__nav a {
    color: #9cb0bb;
    text-decoration: none;
}

.pfi-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    margin-top: 32px;
    padding-top: 18px;
    color: #718793;
    font-size: .64rem;
    border-top: 1px solid rgba(180, 222, 243, .08);
}

/* Gaveta mobile */
.pfi-mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 9990;
}

.pfi-mobile-drawer[hidden] {
    display: none;
}

.pfi-mobile-drawer__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(0, 4, 7, .72);
    backdrop-filter: blur(7px);
}

.pfi-mobile-drawer__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(88vw, 390px);
    height: 100%;
    padding: 14px;
    overflow: auto;
    border-right: 1px solid var(--pfi-border-strong);
    background: var(--pfi-bg-elevated);
    box-shadow: 30px 0 90px rgba(0, 0, 0, .45);
    animation: pfi-drawer-in 220ms cubic-bezier(.2, .7, .2, 1);
}

@keyframes pfi-drawer-in {
    from { transform: translateX(-102%); }
    to { transform: translateX(0); }
}

.pfi-mobile-drawer__panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
}

.pfi-mobile-drawer__user {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-bottom: 12px;
    padding: 11px;
    border: 1px solid var(--pfi-border);
    border-radius: 14px;
    background: var(--pfi-surface);
}

.pfi-mobile-drawer__user img {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    object-fit: cover;
}

.pfi-mobile-drawer__user div {
    display: grid;
    min-width: 0;
}

.pfi-mobile-drawer__user strong,
.pfi-mobile-drawer__user span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-mobile-drawer__user strong { color: var(--pfi-text); font-size: .82rem; }
.pfi-mobile-drawer__user span { margin-top: 4px; color: var(--pfi-muted); font-size: .67rem; }

.pfi-mobile-drawer__panel .pfi-rail-nav {
    flex: 1;
    box-shadow: none;
}

.pfi-mobile-drawer__panel > footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    margin-top: 12px;
}

.pfi-mobile-drawer__guest {
    padding: 24px 10px;
    text-align: center;
}

.pfi-mobile-bottom {
    display: none;
}

/* Ferramentas */
.pfi-theme-tools {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 980;
    display: grid;
    gap: 8px;
}

.pfi-theme-tools__button {
    display: grid;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--pfi-text-soft);
    border: 1px solid var(--pfi-border-strong);
    border-radius: 13px;
    background: rgba(8, 20, 29, .88);
    box-shadow: var(--pfi-shadow-soft);
    backdrop-filter: blur(12px);
    place-items: center;
}

html[data-pfi-theme="light"] .pfi-theme-tools__button {
    background: rgba(255, 255, 255, .92);
}

.pfi-theme-tools__button:hover {
    color: #fff;
    border-color: rgba(36, 183, 232, .34);
    background: var(--pfi-blue);
    transform: translateY(-2px);
}

.pfi-theme-tools__button svg {
    width: 19px;
}

html[data-pfi-theme="dark"] [data-pfi-theme-icon-light],
html[data-pfi-theme="light"] [data-pfi-theme-icon-dark] {
    display: none;
}

.pfi-toast-region {
    position: fixed;
    right: 18px;
    bottom: 76px;
    z-index: 10000;
    display: grid;
    gap: 8px;
    width: min(calc(100% - 36px), 340px);
    pointer-events: none;
}

.pfi-toast {
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px 14px;
    color: var(--pfi-text);
    font-size: .73rem;
    border: 1px solid var(--pfi-border-strong);
    border-radius: 12px;
    background: rgba(8, 20, 29, .96);
    box-shadow: var(--pfi-shadow);
    animation: pfi-toast-in 180ms ease-out;
}

.pfi-toast::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pfi-success);
    box-shadow: 0 0 11px rgba(39, 200, 139, .65);
}

@keyframes pfi-toast-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Blocos */
.wp-block-image img,
.wp-block-cover,
.wp-block-media-text,
.wp-block-group.has-background {
    border-radius: var(--pfi-radius-sm);
}

.wp-block-table {
    overflow-x: auto;
}

.wp-block-table table {
    border: 1px solid var(--pfi-border);
}

.wp-block-separator {
    border-color: var(--pfi-border);
}

.wp-block-pullquote {
    color: var(--pfi-text);
    border-color: var(--pfi-blue-light);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    color: var(--pfi-blue-light);
    border-color: var(--pfi-blue-light);
    background: transparent;
}

/* Utilitários */
.pfi-empty-state {
    padding: clamp(24px, 5vw, 54px);
    text-align: center;
    border: 1px dashed var(--pfi-border-strong);
    border-radius: var(--pfi-radius);
    background: rgba(255, 255, 255, .015);
}

.pfi-empty-state svg {
    width: 42px;
    margin: 0 auto 13px;
    color: var(--pfi-muted);
}

.pfi-empty-state h2 {
    font-size: 1.2rem;
}

.pfi-empty-state p {
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
    color: var(--pfi-muted);
}

.pfi-lock-scroll {
    overflow: hidden !important;
}

[hidden] {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,
*::before,
*::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* Central operacional renderizada pelo tema */
.pfi-portal-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr);
    min-height: 350px;
    overflow: hidden;
    border: 1px solid var(--pfi-border-strong);
    border-radius: clamp(22px, 3vw, 34px);
    background:
        linear-gradient(115deg, rgba(3, 8, 13, .98), rgba(6, 42, 58, .86) 57%, rgba(100, 4, 10, .58)),
        var(--pfi-surface);
    box-shadow: var(--pfi-shadow);
}

.pfi-portal-hero__grid {
    position: absolute;
    inset: 0;
    opacity: .28;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.pfi-portal-hero::after {
    content: "";
    position: absolute;
    top: -160px;
    right: -120px;
    width: 520px;
    height: 520px;
    border: 76px solid rgba(36,183,232,.07);
    border-radius: 50%;
    box-shadow: inset 0 0 0 46px rgba(226,27,35,.04);
}

.pfi-portal-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(28px, 5vw, 62px);
}

.pfi-portal-hero__copy h1 {
    margin: 10px 0 13px;
    font-size: clamp(2.25rem, 4.5vw, 4.8rem);
    line-height: .98;
}

.pfi-portal-hero__copy > p {
    max-width: 650px;
    margin: 0;
    color: #a9bec9;
    font-size: clamp(.88rem, 1.15vw, 1.02rem);
}

.pfi-portal-hero__identity {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.pfi-portal-hero__identity span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 5px 10px;
    color: #d2e0e7;
    font-size: .66rem;
    font-weight: 680;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 99px;
    background: rgba(0,0,0,.16);
    backdrop-filter: blur(8px);
}

.pfi-portal-hero__identity svg {
    width: 14px;
    color: var(--pfi-blue-light);
}

.pfi-portal-hero__machine {
    position: relative;
    z-index: 2;
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: 320px;
    color: #fff;
}

.pfi-machine-ring {
    position: absolute;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 50%;
}

.pfi-machine-ring--one {
    width: 240px;
    height: 240px;
    border-width: 20px;
    border-color: rgba(36,183,232,.15);
    box-shadow: inset 0 0 30px rgba(36,183,232,.12), 0 0 55px rgba(36,183,232,.10);
    animation: pfi-machine-spin 24s linear infinite;
}

.pfi-machine-ring--one::before,
.pfi-machine-ring--one::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--pfi-blue-light);
    box-shadow: 0 0 18px rgba(36,183,232,.7);
}

.pfi-machine-ring--one::before { top: -21px; left: 88px; }
.pfi-machine-ring--one::after { right: -21px; bottom: 88px; background: var(--pfi-red); box-shadow: 0 0 18px rgba(226,27,35,.65); }

.pfi-machine-ring--two {
    width: 164px;
    height: 164px;
    border-width: 8px;
    border-color: rgba(226,27,35,.18);
    border-style: dashed;
    animation: pfi-machine-spin-reverse 18s linear infinite;
}

.pfi-machine-core {
    position: relative;
    z-index: 3;
    display: grid;
    width: 92px;
    height: 92px;
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(36,183,232,.30), rgba(11,90,122,.18));
    box-shadow: 0 20px 60px rgba(0,0,0,.38), inset 0 0 22px rgba(36,183,232,.18);
    place-items: center;
}

.pfi-machine-core svg {
    width: 44px;
    animation: pfi-machine-spin 12s linear infinite;
}

.pfi-portal-hero__machine > span,
.pfi-portal-hero__machine > strong {
    position: absolute;
    z-index: 4;
    bottom: 37px;
    letter-spacing: .16em;
}

.pfi-portal-hero__machine > span {
    bottom: 56px;
    color: #84cde9;
    font-size: .58rem;
    font-weight: 820;
}

.pfi-portal-hero__machine > strong {
    color: #fff;
    font-size: .78rem;
}

@keyframes pfi-machine-spin { to { transform: rotate(360deg); } }
@keyframes pfi-machine-spin-reverse { to { transform: rotate(-360deg); } }

.pfi-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.pfi-section-heading h2 {
    margin: 5px 0 3px;
    font-size: clamp(1.35rem, 2.1vw, 2rem);
}

.pfi-section-heading p {
    margin: 0;
    color: var(--pfi-muted);
    font-size: .76rem;
}

.pfi-section-heading > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    font-size: .7rem;
    font-weight: 750;
    text-decoration: none;
}

.pfi-section-heading > a svg {
    width: 16px;
}

.pfi-section-heading--compact {
    align-items: flex-start;
    margin-bottom: 17px;
}

.pfi-module-card > div {
    position: relative;
    z-index: 1;
    align-self: end;
}

.pfi-module-card__eyebrow {
    color: var(--pfi-muted);
    font-size: .58rem;
    font-weight: 820;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.pfi-module-card__arrow {
    position: absolute;
    right: 17px;
    bottom: 17px;
    display: grid;
    width: 30px;
    height: 30px;
    color: var(--pfi-muted);
    border: 1px solid var(--pfi-border);
    border-radius: 9px;
    place-items: center;
}

.pfi-module-card__arrow svg {
    width: 15px;
}

.pfi-module-card:hover .pfi-module-card__arrow {
    color: #fff;
    border-color: rgba(36,183,232,.30);
    background: rgba(36,183,232,.11);
    transform: translateX(2px);
}

.pfi-module-card--green .pfi-module-card__icon { color: #74e3ba; border-color: rgba(39,200,139,.24); background: rgba(39,200,139,.08); }
.pfi-module-card--violet .pfi-module-card__icon { color: #b7a0ff; border-color: rgba(154,125,255,.24); background: rgba(154,125,255,.08); }
.pfi-module-card--cyan .pfi-module-card__icon { color: #6be4e9; border-color: rgba(57,209,216,.24); background: rgba(57,209,216,.08); }

.pfi-dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 15px;
}

.pfi-communication-list {
    display: grid;
    gap: 9px;
}

.pfi-communication-list > a {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr) 18px;
    align-items: center;
    gap: 11px;
    min-height: 70px;
    padding: 11px;
    color: inherit;
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    text-decoration: none;
}

.pfi-communication-list > a:hover {
    color: inherit;
    border-color: rgba(36,183,232,.27);
    background: rgba(36,183,232,.05);
}

.pfi-communication-list > a > span {
    display: grid;
    width: 40px;
    height: 40px;
    color: var(--pfi-blue-light);
    border: 1px solid rgba(36,183,232,.20);
    border-radius: 11px;
    background: rgba(36,183,232,.07);
    place-items: center;
}

.pfi-communication-list > a > span svg,
.pfi-communication-list > a > svg {
    width: 17px;
}

.pfi-communication-list > a > div {
    min-width: 0;
}

.pfi-communication-list small {
    color: var(--pfi-muted);
    font-size: .59rem;
}

.pfi-communication-list h3 {
    margin: 2px 0 2px;
    overflow: hidden;
    font-size: .78rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-communication-list p {
    margin: 0;
    overflow: hidden;
    color: var(--pfi-muted);
    font-size: .64rem;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pfi-communication-list > a > svg {
    color: var(--pfi-muted);
}

.pfi-training-feature {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    gap: 14px;
    align-items: start;
    padding: 16px;
    border: 1px solid var(--pfi-border);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(36,183,232,.08), transparent 60%), var(--pfi-surface-alt);
}

.pfi-training-feature__icon {
    display: grid;
    width: 58px;
    height: 58px;
    color: var(--pfi-blue-light);
    border: 1px solid rgba(36,183,232,.22);
    border-radius: 16px;
    background: rgba(36,183,232,.08);
    place-items: center;
}

.pfi-training-feature__icon svg {
    width: 29px;
}

.pfi-training-feature h3 {
    margin: 1px 0 5px;
    font-size: .92rem;
}

.pfi-training-feature p {
    margin: 0 0 9px;
    color: var(--pfi-muted);
    font-size: .68rem;
}

.pfi-training-feature a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: .65rem;
    font-weight: 750;
    text-decoration: none;
}

.pfi-training-feature a svg {
    width: 15px;
}

.pfi-operational-principles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 8px;
    margin-top: 11px;
}

.pfi-operational-principles > div {
    display: grid;
    min-height: 92px;
    padding: 11px;
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    background: rgba(255,255,255,.015);
}

.pfi-operational-principles span {
    color: var(--pfi-blue-light);
    font-size: .58rem;
    font-weight: 850;
}

.pfi-operational-principles strong {
    align-self: end;
    color: var(--pfi-text);
    font-size: .72rem;
}

.pfi-operational-principles small {
    color: var(--pfi-muted);
    font-size: .57rem;
}

.pfi-empty-inline {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    padding: 18px;
    border: 1px dashed var(--pfi-border-strong);
    border-radius: 13px;
}

.pfi-empty-inline > span {
    display: grid;
    width: 42px;
    height: 42px;
    color: var(--pfi-muted);
    border: 1px solid var(--pfi-border);
    border-radius: 12px;
    place-items: center;
}

.pfi-empty-inline svg { width: 20px; }
.pfi-empty-inline strong { color: var(--pfi-text); font-size: .76rem; }
.pfi-empty-inline p { margin: 3px 0 0; color: var(--pfi-muted); font-size: .65rem; }

/* Cartões de publicações e páginas conforme os templates do tema */
.pfi-post-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.pfi-post-card__image {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--pfi-surface-alt);
}

.pfi-post-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 420ms cubic-bezier(.2,.7,.2,1);
}

.pfi-post-card:hover .pfi-post-card__image img {
    transform: scale(1.04);
}

.pfi-post-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(17px, 2.4vw, 26px);
}

.pfi-post-card__meta,
.pfi-single__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 13px;
    margin-bottom: 9px;
    color: var(--pfi-muted);
    font-size: .65rem;
}

.pfi-post-card__meta span + span::before,
.pfi-single__meta span + span::before {
    content: "•";
    margin-right: 13px;
    color: var(--pfi-border-strong);
}

.pfi-post-card__title {
    margin: 0 0 9px;
    font-size: 1.16rem;
}

.pfi-post-card__title a {
    color: var(--pfi-text);
    text-decoration: none;
}

.pfi-post-card__title a:hover {
    color: var(--pfi-blue-light);
}

.pfi-post-card__excerpt {
    color: var(--pfi-muted);
    font-size: .76rem;
}

.pfi-post-card__excerpt p {
    margin: 0;
}

.pfi-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    align-self: flex-start;
    margin-top: auto;
    padding-top: 15px;
    font-size: .69rem;
    font-weight: 750;
    text-decoration: none;
}

.pfi-text-link svg {
    width: 15px;
}

.pfi-page.pfi-content-card > .pfi-page-heading {
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--pfi-border);
    border-radius: 0;
    box-shadow: none;
}

.pfi-page.pfi-content-card > .pfi-entry-content {
    padding: clamp(20px, 3.5vw, 38px);
}

.pfi-module-host,
.pfi-page--module {
    min-width: 0;
}

.pfi-module-host > .pfi-entry-content,
.pfi-page--module > .pfi-entry-content {
    min-width: 0;
}

.pfi-single {
    display: block;
}

.pfi-single__header {
    padding: clamp(22px, 4vw, 44px);
    border-bottom: 1px solid var(--pfi-border);
    background:
        linear-gradient(125deg, rgba(36,183,232,.08), transparent 55%, rgba(226,27,35,.05)),
        var(--pfi-surface);
}

.pfi-single__header h1 {
    max-width: 900px;
    margin: 8px 0 13px;
    font-size: clamp(2rem, 4vw, 4rem);
}

.pfi-single__image {
    margin: 0;
    max-height: 600px;
    overflow: hidden;
}

.pfi-single__image img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 600px;
    object-fit: cover;
}

.pfi-single > .pfi-entry-content {
    padding: clamp(22px, 4vw, 48px);
}

.pfi-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    padding: 0 clamp(22px, 4vw, 48px) clamp(22px, 4vw, 42px);
    color: var(--pfi-muted);
    font-size: .69rem;
}

.pfi-tags a {
    padding: 4px 8px;
    border: 1px solid var(--pfi-border);
    border-radius: 99px;
    text-decoration: none;
}
