/* Diário FX Online — Feed | CSS isolado para WordPress + Elementor */
.dfx-feed {
  --dfx-bg: #111318;
  --dfx-panel: #171b21;
  --dfx-panel-2: #1c2128;
  --dfx-border: #303640;
  --dfx-orange: #ff6600;
  --dfx-white: #f5f6f8;
  --dfx-silver: #b8bec7;
  --dfx-muted: #989fa9;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0 0 76px;
  background: var(--dfx-bg);
  color: var(--dfx-white);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.65;
  text-align: left;
  color-scheme: dark;
}
.dfx-feed, .dfx-feed *, .dfx-feed *::before, .dfx-feed *::after { box-sizing: border-box; }
.dfx-feed a { color: inherit; text-decoration: none; transition: color .16s ease, background .16s ease, border-color .16s ease; }
.dfx-feed a:hover { color: var(--dfx-orange); }
.dfx-feed a:focus-visible, .dfx-feed summary:focus-visible { outline: 2px solid var(--dfx-orange); outline-offset: 4px; }
.dfx-feed__header { background: #14181e; border-bottom: 1px solid #262c33; }
.dfx-feed__header-inner { max-width: 1260px; margin: 0 auto; padding: 0 25px; min-height: 71px; display: flex; align-items: center; gap: 38px; }
.dfx-feed__brand { display: flex; flex: 0 0 auto; gap: 10px; align-items: center; color: var(--dfx-white); font-weight: 800; letter-spacing: -.35px; white-space: nowrap; font-size: 17px; }
.dfx-feed__brand strong { color: var(--dfx-orange); font-weight: 850; }
.dfx-feed__brand svg { width: 28px; height: 28px; flex: 0 0 28px; }
.dfx-feed__nav { min-width: 0; display: flex; align-self: stretch; align-items: stretch; gap: 3px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #343a43 transparent; }
.dfx-feed__nav a { display: flex; align-items: center; border-bottom: 2px solid transparent; padding: 0 17px; white-space: nowrap; color: #bdc2ca; font-size: 13px; font-weight: 550; }
.dfx-feed__nav a:hover, .dfx-feed__nav a.is-active { color: var(--dfx-orange); }
.dfx-feed__nav a.is-active { border-bottom-color: var(--dfx-orange); }
.dfx-feed__layout { width: min(100% - 50px, 1260px); margin: 0 auto; padding-top: 31px; display: grid; grid-template-columns: minmax(0, 1fr) 304px; gap: 26px; align-items: start; }
.dfx-feed__main { min-width: 0; }
.dfx-feed__intro { border-left: 3px solid var(--dfx-orange); padding-left: 17px; margin-bottom: 24px; }
.dfx-feed__intro h1 { font-size: clamp(25px, 2.3vw, 33px) !important; font-weight: 750 !important; line-height: 1.14 !important; letter-spacing: -.6px !important; color: var(--dfx-white) !important; margin: 0 0 5px !important; padding: 0 !important; }
.dfx-feed__intro p { margin: 0; color: var(--dfx-muted); font-size: 13px; line-height: 1.45; }
.dfx-feed__filters { margin: -2px 0 18px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; font-size: 12px; }
.dfx-feed__filters > span { color: var(--dfx-white); padding: 5px 10px; border: 1px solid #49413a; border-radius: 5px; background: rgba(255,102,0,.10); }
.dfx-feed__filters a { color: var(--dfx-silver); padding: 5px 7px; }
.dfx-feed__posts { display: grid; gap: 14px; }
.dfx-feed__post { min-width: 0; border: 1px solid var(--dfx-border); border-radius: 7px; background: linear-gradient(120deg, #171b21 0%, #15191f 100%); padding: 23px 28px 24px; box-shadow: 0 5px 22px rgba(0,0,0,.075); }
.dfx-feed__date { display: block; color: var(--dfx-muted); font-size: 12px; font-weight: 400; margin-bottom: 6px; line-height: 1.5; }
.dfx-feed__post-title { font-size: clamp(19px, 1.75vw, 24px) !important; font-weight: 730 !important; line-height: 1.32 !important; margin: 0 0 12px !important; padding: 0 !important; color: var(--dfx-white) !important; letter-spacing: -.3px !important; }
.dfx-feed__content { color: #cbd0d7; font-size: 15px; line-height: 1.75; overflow-wrap: anywhere; }
.dfx-feed__content > *:first-child { margin-top: 0 !important; }
.dfx-feed__content > *:last-child { margin-bottom: 0 !important; }
.dfx-feed__content p { color: inherit; font-size: inherit; line-height: inherit; margin: 0 0 15px; }
.dfx-feed__content h1, .dfx-feed__content h2, .dfx-feed__content h3, .dfx-feed__content h4 { color: var(--dfx-white); margin: 24px 0 10px; line-height: 1.3; font-weight: 700; }
.dfx-feed__content h2 { font-size: 20px; } .dfx-feed__content h3 { font-size: 18px; }
.dfx-feed__content ul, .dfx-feed__content ol { margin: 12px 0 18px; padding-left: 25px; }
.dfx-feed__content li { margin-bottom: 6px; }
.dfx-feed__content strong, .dfx-feed__content b { color: var(--dfx-white); }
.dfx-feed__content a { color: var(--dfx-orange); text-decoration: underline; text-underline-offset: 3px; }
.dfx-feed__content a:hover { color: #ff9b5a; }
.dfx-feed__content img, .dfx-feed__content video, .dfx-feed__content figure { max-width: 100%; height: auto; }
.dfx-feed__content figure { margin: 18px 0; }
.dfx-feed__content img { border-radius: 4px; }
.dfx-feed__content figcaption { color: var(--dfx-muted); font-size: 12px; margin-top: 7px; text-align: center; }
.dfx-feed__content iframe { max-width: 100%; border: 0; }
.dfx-feed__content iframe[src*="youtube.com"], .dfx-feed__content iframe[src*="youtube-nocookie.com"], .dfx-feed__content iframe[src*="youtu.be"], .dfx-feed__content iframe[src*="vimeo.com"] { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 1px solid #343a43; border-radius: 5px; }
.dfx-feed__content .wp-block-embed, .dfx-feed__content .wp-block-video { margin: 18px 0; }
.dfx-feed__content .wp-block-embed__wrapper { max-width: 100%; }
.dfx-feed__content blockquote { margin: 22px 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--dfx-orange); color: var(--dfx-white); }
.dfx-feed__content table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; margin: 16px 0; color: var(--dfx-silver); }
.dfx-feed__content th, .dfx-feed__content td { border: 1px solid #40464f; padding: 8px 12px; }
.dfx-feed__content pre { max-width: 100%; overflow-x: auto; background: #101216; border: 1px solid var(--dfx-border); color: var(--dfx-white); padding: 14px; border-radius: 4px; }
.dfx-feed__content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.dfx-feed__content .alignleft { float: left; margin: 0 16px 12px 0; }
.dfx-feed__content .alignright { float: right; margin: 0 0 12px 16px; }
.dfx-feed__content::after { content: ""; display: table; clear: both; }
.dfx-feed__aside { min-width: 0; position: sticky; top: 24px; }
.dfx-feed__archive { border: 1px solid var(--dfx-border); border-radius: 7px; background: linear-gradient(140deg, #191d23, #15191f); padding: 19px 17px 17px; max-height: calc(100vh - 50px); overflow-y: auto; }
.dfx-feed__archive h2 { margin: 0 0 10px !important; padding: 0 0 15px 10px !important; border-left: 3px solid var(--dfx-orange); border-bottom: 1px solid var(--dfx-border); display: flex; align-items: center; gap: 10px; color: var(--dfx-white) !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.35 !important; }
.dfx-feed__archive h2 svg { width: 20px; height: 20px; color: var(--dfx-orange); }
.dfx-feed__year { border-bottom: 1px solid var(--dfx-border); margin: 0; }
.dfx-feed__year:last-of-type { border-bottom: none; }
.dfx-feed__year summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 6px; padding: 11px 6px; font-size: 13px; color: var(--dfx-white); font-weight: 550; border-radius: 4px; }
.dfx-feed__year summary::-webkit-details-marker { display: none; }
.dfx-feed__year summary::marker { content: ''; }
.dfx-feed__year summary:hover { background: rgba(255,255,255,.045); }
.dfx-feed__year-label { display: flex; align-items: center; gap: 9px; }
.dfx-feed__year-label svg, .dfx-feed__month svg { width: 16px; height: 16px; color: #a9b1bb; flex: 0 0 16px; }
.dfx-feed__year .dfx-feed__count { color: var(--dfx-muted); font-weight: 400; font-size: 11px; }
.dfx-feed__chevron { width: 7px; height: 7px; border-right: 1.6px solid var(--dfx-silver); border-bottom: 1.6px solid var(--dfx-silver); transform: rotate(-45deg); transition: transform .16s ease; display: inline-block; margin: 0 3px 0 1px; }
.dfx-feed__year[open] .dfx-feed__chevron { transform: rotate(45deg); }
.dfx-feed__months { padding: 0 0 12px 26px; display: grid; gap: 3px; }
.dfx-feed__month { display: flex; align-items: center; gap: 8px; border-radius: 4px; padding: 8px 8px; color: #bac0c7 !important; font-size: 12px; line-height: 1.4; border-left: 3px solid transparent; }
.dfx-feed__month:hover { background: rgba(255,255,255,.05); color: var(--dfx-white) !important; }
.dfx-feed__month.is-selected { color: var(--dfx-white) !important; border-left-color: var(--dfx-orange); background: #30353d; }
.dfx-feed__month .dfx-feed__count { margin-left: auto; }
.dfx-feed__archive-empty { margin: 0; padding: 12px 4px; color: var(--dfx-muted); font-size: 13px; }
.dfx-feed__empty { padding: 36px 28px; border: 1px solid var(--dfx-border); border-radius: 7px; color: var(--dfx-silver); background: var(--dfx-panel); }
.dfx-feed__pagination { margin-top: 22px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; font-size: 13px; }
.dfx-feed__pagination a { display: inline-flex; justify-content: center; align-items: center; border: 1px solid #454b55; background: #20252d; border-radius: 5px; color: var(--dfx-white); padding: 10px 13px; width: fit-content; }
.dfx-feed__pagination a:last-child { justify-self: end; }
.dfx-feed__pagination a:hover { color: var(--dfx-orange); border-color: var(--dfx-orange); }
.dfx-feed__page-indicator { color: var(--dfx-muted); font-size: 12px; }
@media (max-width: 950px) {
  .dfx-feed__header-inner { flex-wrap: wrap; gap: 8px; padding: 14px 20px 0; }
  .dfx-feed__brand { width: 100%; }
  .dfx-feed__nav { width: 100%; min-height: 47px; }
  .dfx-feed__nav a { padding: 0 15px; }
  .dfx-feed__layout { width: min(100% - 40px, 850px); grid-template-columns: minmax(0, 1fr) 260px; gap: 15px; }
  .dfx-feed__post { padding: 21px; }
  .dfx-feed__archive { padding: 14px 10px; }
}
@media (max-width: 700px) {
  .dfx-feed { padding-bottom: 48px; }
  .dfx-feed__layout { display: flex; flex-direction: column; width: calc(100% - 30px); padding-top: 23px; gap: 23px; }
  .dfx-feed__main, .dfx-feed__aside { width: 100%; }
  .dfx-feed__aside { position: static; }
  .dfx-feed__archive { max-height: none; padding: 16px; }
  .dfx-feed__post { padding: 19px 17px 20px; }
  .dfx-feed__content { font-size: 14.5px; line-height: 1.7; }
  .dfx-feed__intro { margin-bottom: 20px; }
  .dfx-feed__post-title { font-size: 20px !important; }
  .dfx-feed__content .alignleft, .dfx-feed__content .alignright { float: none; display: block; margin: 12px 0; }
}
