/*
Theme Name: Filme na Lista
Theme URI: https://filmenalista.com.br/
Author: Filme na Lista
Author URI: https://filmenalista.com.br/
Description: Tema editorial escuro para portal de filmes e séries, com autenticação real, perfil, avatar e desafio semanal por usuário e catálogo de filmes e séries.
Version: 1.9.49
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: filme-na-lista
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Versão 1.1 — acabamento visual alinhado às prévias aprovadas.
   Bloco único de variáveis de cor (substitui os dois :root que existiam
   antes; estes são os valores finais realmente usados no site). */
:root {
  --fnl-bg: #0b1016;
  --fnl-bg-soft: #10171e;
  --fnl-panel: #141c24;
  --fnl-panel-2: #17202a;
  --fnl-border: #323e4b;
  --fnl-text: #f2f4f5;
  --fnl-muted: #adb5bf;
  --fnl-yellow: #f09d00;
  --fnl-yellow-2: #ffb328;
  --fnl-green: #77b354;
  --fnl-danger: #de6264;
  --fnl-radius: 3px;
  --fnl-shadow: 0 12px 28px rgba(0,0,0,.22);
  --fnl-max: 1540px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(circle at top, #171e28 0, var(--fnl-bg) 38%, #0c1015 100%);
  color: var(--fnl-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--fnl-yellow-2); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }

.fnl-shell { width: min(var(--fnl-max), calc(100% - 28px)); margin: 0 auto; }
.fnl-topbar {
  position: sticky; top: 0; z-index: 50;
  background: rgba(15, 20, 24, .96);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--fnl-border);
}
.fnl-header-main { display: grid; grid-template-columns: 280px minmax(260px, 1fr) auto; gap: 22px; align-items: center; min-height: 76px; }
.fnl-brand { display: flex; align-items: center; gap: 12px; font-weight: 800; font-size: 25px; }
.fnl-brand-mark { width: 42px; height: 42px; border: 2px solid var(--fnl-yellow); color: var(--fnl-yellow); display: grid; place-items: center; border-radius: 50%; font-size: 22px; }
.fnl-brand strong { color: var(--fnl-yellow); }
.fnl-brand small { display: block; color: var(--fnl-muted); font-size: 10px; letter-spacing: .08em; font-weight: 600; text-transform: uppercase; }
.fnl-search { display: flex; border: 1px solid var(--fnl-border); background: #10161c; min-height: 42px; }
.fnl-search input { flex: 1; border: 0; background: transparent; color: var(--fnl-text); padding: 0 14px; outline: 0; }
.fnl-search button { width: 48px; border: 0; border-left:1px solid var(--fnl-border); background: transparent; color: var(--fnl-yellow); cursor: pointer; }
.fnl-profile-mini { display: flex; align-items: center; gap: 10px; color: var(--fnl-muted); }
.fnl-avatar-mini, .fnl-avatar-large { border-radius: 50%; background: linear-gradient(145deg, #2c3642, #12171d); border: 2px solid var(--fnl-yellow); display: grid; place-items: center; font-weight: 800; }
.fnl-avatar-mini { width: 38px; height: 38px; }
.fnl-avatar-large { width: 98px; height: 98px; font-size: 28px; }

.fnl-nav { border-top:1px solid #212932; background: #10161c; }
.fnl-nav ul { display: flex; justify-content: center; align-items: stretch; list-style: none; padding: 0; margin: 0; overflow-x: auto; }
.fnl-nav li { min-width: max-content; }
.fnl-nav a { display: flex; gap: 8px; align-items: center; padding: 14px 22px; color: #dce0e5; border-bottom:3px solid transparent; font-size: 14px; }
.fnl-nav a:hover, .fnl-nav .current-menu-item > a, .fnl-nav a[aria-current="page"] { color: var(--fnl-yellow); border-bottom-color: var(--fnl-yellow); }

.fnl-page { padding: 18px 0 30px; }
.fnl-grid-3 { display: grid; grid-template-columns: 270px minmax(0, 1fr) 270px; gap: 16px; align-items: start; }
.fnl-main-stack { display: grid; gap: 14px; }
.fnl-sidebar { display: grid; gap: 12px; }
.fnl-panel { background: linear-gradient(180deg, rgba(31,39,46,.98), rgba(23,29,34,.98)); border: 1px solid var(--fnl-border); border-radius: var(--fnl-radius); box-shadow: var(--fnl-shadow); }
.fnl-panel-pad { padding: 16px; }
.fnl-panel-title { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: var(--fnl-yellow-2); text-transform: uppercase; letter-spacing: .03em; font-size: 14px; }
.fnl-panel-title span:first-child { color: var(--fnl-yellow); }

.fnl-filter-panel { border: none; }
.fnl-filter-toggle { display: flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; list-style: none; color: var(--fnl-yellow-2); text-transform: uppercase; letter-spacing: .03em; font-size: 14px; font-weight: 800; padding: 4px 0; }
.fnl-filter-toggle::-webkit-details-marker { display: none; }
.fnl-filter-toggle::marker { content: ""; }
.fnl-filter-toggle-icon { color: var(--fnl-yellow); }
.fnl-filter-toggle-label { flex: 1; }
.fnl-filter-toggle-caret { transition: transform .15s ease; color: var(--fnl-muted); }
.fnl-filter-panel[open] .fnl-filter-toggle-caret { transform: rotate(180deg); }
.fnl-filter-toggle:hover { color: white; }
.fnl-filter-toggle:hover .fnl-filter-toggle-caret { color: white; }
.fnl-filter-toggle:focus-visible { outline: 2px solid var(--fnl-yellow); outline-offset: 4px; }
.fnl-filter-panel-body { margin-top: 14px; }
.fnl-muted { color: var(--fnl-muted); }
.fnl-kicker { color: var(--fnl-yellow); text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 800; }
.fnl-divider { border: 0; border-top:1px solid var(--fnl-border); margin: 14px 0; }
.fnl-row { display: flex; gap: 12px; align-items: center; }
.fnl-row-between { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.fnl-stack { display: grid; gap: 10px; }
.fnl-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fnl-btn { border: 1px solid var(--fnl-yellow); background: transparent; color: var(--fnl-yellow-2); min-height: 40px; padding: 9px 16px; cursor: pointer; font-weight: 800; text-transform: uppercase; font-size: 12px; letter-spacing: .03em; }
.fnl-btn:hover { background: rgba(244,180,0,.12); color: white; }
.fnl-btn-primary { background: var(--fnl-yellow); color: #171717; }
.fnl-btn-primary:hover { background: var(--fnl-yellow-2); color: #111111; }
.fnl-chip { display: inline-flex; padding: 5px 9px; background: #242c36; border: 1px solid #384451; color: #d6dce2; font-size: 12px; border-radius: 999px; }
.fnl-score { color: var(--fnl-yellow-2); font-weight: 800; white-space: nowrap; }

.fnl-ad-slot { min-height: 170px; padding: 20px; display: grid; place-items: center; text-align: center; color: var(--fnl-muted); background:
  linear-gradient(rgba(19,24,28,.90), rgba(19,24,28,.95)),
  repeating-linear-gradient(45deg, transparent, transparent 12px, rgba(244,180,0,.05) 12px, rgba(244,180,0,.05) 13px);
  border: 1px dashed #515e6c;
}
.fnl-ad-slot strong { color: var(--fnl-text); display: block; margin: 8px 0; font-size: 18px; }
.fnl-ad-label { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #88929c; }
.fnl-ad-slot .fnl-ad-icon { color: var(--fnl-yellow); font-size: 32px; }

.fnl-hero { min-height: 245px; padding: 28px; position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 22px; align-items: center; }
.fnl-hero:after { content: ""; position: absolute; width: 340px; height: 340px; border: 1px solid rgba(244,180,0,.14); border-radius: 50%; right: 18%; top: -150px; box-shadow: 0 0 90px rgba(244,180,0,.08); }
.fnl-hero h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4vw, 58px); line-height: 1.05; margin: 4px 0 14px; }
.fnl-hero h1 strong { color: var(--fnl-yellow); }
.fnl-hero-copy { position: relative; z-index: 2; }
.fnl-hero-copy p { max-width: 620px; color: #d0d6dc; font-size: 16px; }
.fnl-reco-box { position: relative; z-index: 2; background: rgba(14,19,22,.82); border: 1px solid var(--fnl-border); padding: 16px; }
.fnl-reco-item { display: grid; grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; padding: 9px 0; border-bottom:1px solid #2f3842; text-decoration: none; color: inherit; }
.fnl-reco-item:last-child { border-bottom:0; }
.fnl-reco-item:hover strong,
.fnl-reco-item:focus-visible strong { text-decoration: underline; }
.fnl-dot-icon { width: 28px; height: 28px; border: 1px solid var(--fnl-yellow); color: var(--fnl-yellow); display: grid; place-items: center; border-radius: 50%; }

.fnl-section-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin: 2px 0 10px; }
.fnl-section-head h2 { margin: 0; font-size: 22px; }
.fnl-section-head h2:after { content: ""; display: block; width: 50px; border-bottom:3px solid var(--fnl-yellow); margin-top: 7px; }
.fnl-link { color: var(--fnl-yellow-2); font-size: 12px; font-weight: 800; text-transform: uppercase; }

.fnl-post-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.fnl-post-card { overflow: hidden; min-height: 315px; display: flex; flex-direction: column; }
.fnl-post-art { min-height: 108px; display: grid; place-items: center; background: radial-gradient(circle, rgba(244,180,0,.12), rgba(10,13,15,.1)); border-bottom:1px solid var(--fnl-border); color: var(--fnl-yellow); font-size: 38px; }
.fnl-post-body { padding: 14px; display: flex; flex: 1; flex-direction: column; }
.fnl-post-body h3 { font-size: 17px; line-height: 1.25; margin: 8px 0; }
.fnl-post-body p { color: var(--fnl-muted); font-size: 13px; }
.fnl-post-body .fnl-link { margin-top: auto; }
.fnl-meta { color: #c2cad1; font-size: 11px; }

.fnl-feature-strip { display: grid; grid-template-columns: repeat(4, 1fr); }
.fnl-feature { padding: 18px; border-right:1px solid var(--fnl-border); }
.fnl-feature-link { display: block; text-decoration: none; color: inherit; }
.fnl-feature-link:hover .fnl-link,
.fnl-feature-link:focus-visible .fnl-link { text-decoration: underline; }
.fnl-feature:last-child { border-right:0; }
.fnl-feature h3 { margin: 0 0 6px; color: var(--fnl-yellow-2); }
.fnl-feature p { color: var(--fnl-muted); font-size: 13px; }

.fnl-ranked-list { list-style: none; padding: 0; margin: 0; counter-reset: ranking; }
.fnl-ranked-list li { counter-increment: ranking; display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; padding: 9px 0; border-bottom:1px solid #2f3741; align-items: center; }
.fnl-ranked-list li:before { content: counter(ranking); color: var(--fnl-yellow); font-weight: 900; text-align: center; }
.fnl-ranked-list li:last-child { border-bottom:0; }

.fnl-ranking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fnl-ranking-card { overflow: hidden; }
.fnl-ranking-head { padding: 14px 16px; border-bottom:1px solid var(--fnl-border); display: flex; justify-content: space-between; align-items: center; }
.fnl-ranking-head h2 { margin: 0; color: var(--fnl-yellow-2); font-size: 18px; }
.fnl-ranking-row { display: grid; grid-template-columns: 38px minmax(0,1fr) auto auto; gap: 10px; align-items: center; padding: 10px 12px; border-bottom:1px solid #2e3741; }
.fnl-ranking-row:last-child { border-bottom:0; }
.fnl-position { width: 30px; height: 30px; display: grid; place-items: center; background: #10161c; border: 1px solid #3f4b56; color: var(--fnl-yellow); font-weight: 900; }
.fnl-type-badge { padding: 3px 7px; font-size: 10px; text-transform: uppercase; border: 1px solid #495664; color: #c1cad2; }

.fnl-form-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.fnl-field label { display: block; color: #d8dde2; font-size: 11px; text-transform: uppercase; font-weight: 800; margin-bottom: 5px; }
.fnl-field select, .fnl-field input { width: 100%; min-height: 42px; background: #10161c; color: white; border: 1px solid #46525f; padding: 0 10px; }
.fnl-toggle-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.fnl-toggle { min-height: 48px; background: #10161c; color: white; border: 1px solid #46525f; cursor: pointer; }
.fnl-toggle.is-active { background: var(--fnl-yellow); color: #171717; border-color: var(--fnl-yellow); font-weight: 900; }
.fnl-result { display: grid; grid-template-columns: 150px 1fr; gap: 20px; }
.fnl-result-icon { min-height: 210px; display: grid; place-items: center; background: radial-gradient(circle, rgba(244,180,0,.18), #10161c 70%); color: var(--fnl-yellow); font-size: 58px; border: 1px solid var(--fnl-border); }

.fnl-card-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.fnl-card { padding: 14px; min-height: 210px; }
.fnl-card h3 { margin: 8px 0; font-size: 16px; }
.fnl-card p { color: var(--fnl-muted); font-size: 13px; }
.fnl-card .fnl-btn { width: 100%; margin-top: 8px; }
.fnl-abstract-thumb { min-height: 76px; background: linear-gradient(135deg, rgba(244,180,0,.16), rgba(244,180,0,.01)); border: 1px solid #3b4550; display: grid; place-items: center; color: var(--fnl-yellow); font-size: 26px; }

.fnl-challenge-hero { display: grid; grid-template-columns: 1fr 280px; gap: 16px; }
.fnl-progress-ring { width: 110px; height: 110px; border-radius: 50%; border: 10px solid #39434e; border-top-color: var(--fnl-yellow); border-right-color: var(--fnl-yellow); display: grid; place-items: center; margin: 0 auto; font-size: 24px; color: var(--fnl-yellow-2); font-weight: 900; transform: rotate(35deg); }
.fnl-progress-ring span { transform: rotate(-35deg); }
.fnl-mission-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.fnl-mission { min-height: 235px; padding: 16px; display: flex; flex-direction: column; }
.fnl-mission.is-complete { border-color: rgba(104,184,79,.75); }
.fnl-progress { height: 8px; background: #303842; overflow: hidden; margin-top: auto; }
.fnl-progress span { display: block; height: 100%; background: var(--fnl-yellow); }
.fnl-progress.is-green span { background: var(--fnl-green); }

.fnl-profile-head { display: grid; grid-template-columns: auto 1fr repeat(4, 120px); gap: 14px; align-items: center; }
.fnl-stat { text-align: center; padding: 14px; background: #141a21; border: 1px solid var(--fnl-border); }
.fnl-stat strong { display: block; color: var(--fnl-yellow-2); font-size: 24px; }
.fnl-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fnl-title-list { list-style: none; padding: 0; margin: 0; }
.fnl-title-list li { display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom:1px solid #2f3741; }
.fnl-title-list li:last-child { border-bottom:0; }
.fnl-title-icon { width: 42px; height: 42px; background: #10161c; border: 1px solid #404c59; display: grid; place-items: center; color: var(--fnl-yellow); }
.fnl-title-list li a { display: contents; color: inherit; text-decoration: none; }
.fnl-title-list li a:hover .fnl-title-icon { border-color: var(--fnl-yellow); color: var(--fnl-yellow-2); }
.fnl-title-list li a:hover span:not(.fnl-title-icon) { color: var(--fnl-yellow-2); }

.fnl-article { padding: 22px; }
.fnl-article h1 { font-family: Georgia, serif; font-size: clamp(34px, 4vw, 56px); line-height: 1.08; }
.fnl-article-content { color: #d5dbe1; font-size: 17px; }
.fnl-article-content h2, .fnl-article-content h3 { color: white; }
.fnl-article-content blockquote { border-left:4px solid var(--fnl-yellow); margin-left: 0; padding: 10px 18px; background: #141a21; }

.fnl-footer { border-top:1px solid var(--fnl-border); background: #0d1217; padding: 30px 0 18px; }
.fnl-footer-grid { display: grid; grid-template-columns: 1.25fr repeat(4, minmax(0, 1fr)); gap: 26px; }
.fnl-footer h2,
.fnl-footer h3 { color: var(--fnl-yellow-2); margin-top: 0; font-size: 14px; text-transform: uppercase; }
.fnl-footer ul { list-style: none; padding: 0; margin: 0; color: var(--fnl-muted); font-size: 13px; }
.fnl-footer-bottom { display: flex; justify-content: space-between; gap: 12px; color: #909aa4; font-size: 12px; margin-top: 22px; padding-top: 14px; border-top:1px solid #272f39; }
.fnl-footer-social a { color: #909aa4; text-decoration: none; }
.fnl-footer-social a:hover, .fnl-footer-social a:focus-visible { color: var(--fnl-yellow); text-decoration: underline; }

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

@media (max-width: 1240px) {
  .fnl-grid-3 { grid-template-columns: 230px minmax(0, 1fr); }
  .fnl-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fnl-grid-3 > .fnl-sidebar:last-child { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .fnl-post-grid { grid-template-columns: repeat(3, 1fr); }
  .fnl-card-grid { grid-template-columns: repeat(3, 1fr); }
  .fnl-profile-head { grid-template-columns: auto 1fr repeat(2, 120px); }
}
@media (max-width: 900px) {
  .fnl-header-main { grid-template-columns: 1fr auto; }
  .fnl-search { grid-column: 1 / -1; grid-row: 2; margin-bottom: 12px; }
  .fnl-grid-3 { grid-template-columns: 1fr; }
  .fnl-grid-3 > .fnl-sidebar:last-child { grid-template-columns: 1fr 1fr; }
  .fnl-hero { grid-template-columns: 1fr; }
  .fnl-post-grid, .fnl-card-grid { grid-template-columns: repeat(2, 1fr); }
  .fnl-feature-strip { grid-template-columns: 1fr 1fr; }
  .fnl-ranking-grid, .fnl-dashboard-grid, .fnl-challenge-hero { grid-template-columns: 1fr; }
  .fnl-form-grid { grid-template-columns: 1fr 1fr; }
  .fnl-mission-grid { grid-template-columns: 1fr 1fr; }
  .fnl-profile-head { grid-template-columns: auto 1fr; }
  .fnl-stat { min-width: 0; }
  .fnl-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .fnl-shell { width: min(100% - 18px, var(--fnl-max)); }
  .fnl-brand { font-size: 20px; }
  .fnl-profile-mini span { display: none; }
  .fnl-grid-3 > .fnl-sidebar:last-child { grid-template-columns: 1fr; }
  .fnl-hero { padding: 20px; }
  .fnl-post-grid, .fnl-card-grid, .fnl-feature-strip, .fnl-form-grid, .fnl-toggle-row, .fnl-mission-grid, .fnl-footer-grid { grid-template-columns: 1fr; }
  .fnl-feature { border-right:0; border-bottom:1px solid var(--fnl-border); }
  .fnl-ranking-row { grid-template-columns: 34px 1fr auto; }
  .fnl-ranking-row .fnl-type-badge { display: none; }
  .fnl-result { grid-template-columns: 1fr; }
  .fnl-profile-head { grid-template-columns: 1fr; text-align: center; }
  .fnl-avatar-large { margin: 0 auto; }
  .fnl-footer-bottom { flex-direction: column; }
}

/* ==========================================================
   Versão 1.1 — acabamento visual alinhado às prévias aprovadas
   (variáveis de cor unificadas no :root do topo do arquivo)
   ========================================================== */
body { background: linear-gradient(180deg,#10171e 0,#0b1016 34%,#080c11 100%); }
.fnl-topbar { background: rgba(10,15,18,.98); }
.fnl-header-main { min-height: 74px; }
.fnl-brand-mark { border: 0; border-radius: 0; width: 48px; height: 48px; }
.fnl-brand-mark img { width: 48px; height: 48px; display:block; }
.fnl-avatar-photo { display:block; object-fit:cover; background:#1d262f; }
.fnl-avatar-mini { width:40px; height:40px; border:2px solid #6c7681; }
.fnl-avatar-large { width:104px; height:104px; border:3px solid var(--fnl-yellow); }
.fnl-panel { box-shadow: 0 9px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(21,29,35,.015); }
.fnl-panel-pad { padding: 14px; }
.fnl-grid-3 { grid-template-columns: 285px minmax(0,1fr) 285px; gap: 14px; }
.fnl-page { padding-top: 14px; }
.fnl-nav a { padding: 13px 20px; font-weight: 600; }

/* publicidade visual */
.fnl-ad-panel { overflow:hidden; }
.fnl-ad-slot {
  position:relative; min-height:174px; padding:0; border:0;
  background-image: linear-gradient(rgba(5,8,10,.18),rgba(5,8,10,.74)), var(--fnl-ad-image);
  background-size:cover; background-position:center;
}
.fnl-ad-slot:before { content:""; position:absolute; inset:10px; border:1px solid rgba(21,29,35,.12); }
.fnl-ad-overlay { position:relative; z-index:1; min-height:174px; padding:14px 16px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; text-shadow:0 2px 8px #000000; }
.fnl-ad-overlay strong { font-size:19px; }
.fnl-ad-overlay span { max-width:210px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#d8dde2; }
.fnl-ad-demo-button { min-height:32px; margin-top:10px; padding:5px 18px; font-size:10px; background:rgba(4,7,9,.65); }

/* pôsteres e listas */
.fnl-poster-thumb { width:48px; height:66px; object-fit:cover; border:1px solid #434f5c; border-radius:2px; }
.fnl-poster-mini { width:50px; height:68px; object-fit:cover; border:1px solid #45515e; border-radius:2px; box-shadow:0 4px 10px rgba(0,0,0,.32); }
.fnl-poster-ranked-list li { grid-template-columns: 24px 52px minmax(0,1fr) auto; gap:8px; padding:8px 0; }
.fnl-poster-ranked-list li:before { align-self:center; }
.fnl-rank-poster { display:block; }
.fnl-media-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 0; border-bottom:1px solid #2c3640; }
.fnl-media-row:last-child { border-bottom:0; }
.fnl-media-row .fnl-poster-mini { width:44px; height:60px; }

/* home */
.fnl-hero { min-height:248px; background:
 linear-gradient(90deg,rgba(14,19,22,.98) 0%,rgba(14,19,22,.92) 55%,rgba(14,19,22,.6) 100%),
 radial-gradient(circle at 70% 52%,rgba(240,181,0,.18),transparent 32%); }
.fnl-hero-visual { position:absolute; right:34%; bottom:12px; width:190px; height:150px; pointer-events:none; opacity:.94; }
.fnl-popcorn { position:absolute; width:92px; height:90px; bottom:0; left:8px; background:repeating-linear-gradient(90deg,#222222 0 15px,#3b4046 15px 29px); clip-path:polygon(12% 0,88% 0,76% 100%,24% 100%); }
.fnl-popcorn:before { content:""; position:absolute; width:100px; height:48px; left:-4px; top:-30px; background:radial-gradient(circle at 12px 20px,#ffc65b 0 12px,transparent 13px),radial-gradient(circle at 35px 12px,#fab73f 0 14px,transparent 15px),radial-gradient(circle at 62px 19px,#ffc65b 0 13px,transparent 14px),radial-gradient(circle at 85px 11px,#eea328 0 14px,transparent 15px),radial-gradient(circle at 48px 32px,#f7b038 0 15px,transparent 16px); }
.fnl-drink { position:absolute; width:48px; height:90px; right:12px; bottom:0; border:2px solid #7a8289; background:linear-gradient(180deg,#2c3238,#161a1f); clip-path:polygon(8% 0,92% 0,82% 100%,18% 100%); }
.fnl-drink:before { content:""; position:absolute; width:50px; height:4px; left:-3px; top:0; background:#dc9820; }
.fnl-drink:after { content:""; position:absolute; width:4px; height:64px; right:7px; top:-44px; background:#e5b35f; transform:rotate(13deg); transform-origin:bottom; }
.fnl-post-art { position:relative; overflow:hidden; }
.fnl-post-art:after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,var(--fnl-yellow),transparent); opacity:.55; }

/* ranking */
.fnl-ranking-row { grid-template-columns:34px 45px minmax(0,1fr) auto auto; padding:8px 10px; }
.fnl-ranking-row .fnl-poster-thumb { width:40px; height:55px; }
.fnl-ranking-row strong { font-size:13px; }
.fnl-ranking-row small { font-size:10px; }
.fnl-ranking-card { background:linear-gradient(180deg,#17202a,#11181f); }

/* cards de recomendação */
.fnl-card-with-poster { padding:0; overflow:hidden; min-height:260px; display:flex; flex-direction:column; }
.fnl-card-with-poster .fnl-card-cover { display:grid; grid-template-columns:74px 1fr; gap:11px; padding:12px; min-height:124px; background:linear-gradient(135deg,rgba(240,181,0,.07),transparent); }
.fnl-card-with-poster .fnl-card-cover img { width:74px; height:108px; object-fit:cover; }
.fnl-card-with-poster .fnl-card-copy { padding:0 12px 12px; flex:1; display:flex; flex-direction:column; }
.fnl-card-with-poster h3 { margin:2px 0 5px; }
.fnl-card-with-poster .fnl-btn { margin-top:auto; }

/* desafio */
.fnl-challenge-hero-premium { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:14px; }
.fnl-challenge-main { min-height:202px; display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; background:radial-gradient(circle at 16% 48%,rgba(240,181,0,.14),transparent 30%),linear-gradient(180deg,#141c25,#10171e); }
.fnl-challenge-trophy { width:150px; height:150px; object-fit:contain; margin:auto; filter:drop-shadow(0 14px 18px rgba(0,0,0,.35)); }
.fnl-challenge-copy h1 { font-family:Georgia,serif; font-size:45px; margin:2px 0 8px; line-height:1.05; }
.fnl-countdown { display:flex; gap:7px; align-items:center; margin-top:18px; }
.fnl-countdown-label { color:var(--fnl-yellow); font-weight:900; text-transform:uppercase; margin-right:6px; font-size:12px; }
.fnl-countdown-item { width:58px; padding:7px 5px; text-align:center; border:1px solid #424f5c; background:#0f151b; }
.fnl-countdown-item strong { display:block; font-size:21px; line-height:1; }
.fnl-countdown-item span { font-size:9px; color:#a9b2ba; text-transform:uppercase; }
.fnl-progress-box { text-align:center; display:flex; flex-direction:column; justify-content:center; }
.fnl-progress-ring-premium { --p:0; position:relative; width:112px; height:112px; margin:0 auto 8px; border-radius:50%; background:conic-gradient(var(--fnl-yellow) calc(var(--p)*1%),#36404a 0); display:grid; place-items:center; }
.fnl-progress-ring-premium:after { content:""; width:82px; height:82px; border-radius:50%; background:#18202a; position:absolute; }
.fnl-progress-ring-premium span { position:relative; z-index:1; font-size:25px; color:var(--fnl-yellow-2); font-weight:900; }
.fnl-segment-progress { display:grid; grid-template-columns:repeat(5,1fr); gap:4px; margin:8px 0; }
.fnl-segment-progress i { height:6px; background:#38424c; }
.fnl-segment-progress i.is-on { background:var(--fnl-yellow); }
.fnl-mission-premium { padding:14px; min-height:278px; text-align:center; }
.fnl-mission-premium .fnl-mission-icon { height:82px; margin:9px auto; display:grid; place-items:center; }
.fnl-mission-premium .fnl-mission-icon img { width:78px; height:78px; object-fit:contain; }
.fnl-mission-premium h3 { font-size:18px; line-height:1.2; margin:8px 0; }
.fnl-mission-status { display:flex; align-items:center; gap:7px; color:var(--fnl-yellow); font-size:11px; text-transform:uppercase; font-weight:900; }
.fnl-mission-premium.is-complete .fnl-mission-status { color:#88cc53; }
.fnl-reward-row { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; align-items:center; }
.fnl-reward { display:grid; grid-template-columns:58px 1fr; align-items:center; gap:7px; }
.fnl-reward img { width:58px; height:58px; }
.fnl-reward strong { display:block; font-size:12px; }
.fnl-reward small { color:#adb5bf; }
.fnl-participant-list { list-style:none; margin:0; padding:0; }
.fnl-participant-list li { display:grid; grid-template-columns:28px 42px minmax(0,1fr) 28px; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid #2f3842; }
.fnl-participant-list li:last-child { border-bottom:0; }
.fnl-participant-list .fnl-place { width:26px; height:26px; border:1px solid #54606d; color:var(--fnl-yellow); display:grid; place-items:center; font-weight:900; }
.fnl-participant-list .fnl-avatar-photo { width:40px; height:40px; border-radius:50%; border:1px solid #576471; }
.fnl-rank-medal { width:25px; height:25px; display:grid; place-items:center; border:1px solid var(--fnl-yellow); color:var(--fnl-yellow); font-weight:900; transform:rotate(45deg); }
.fnl-crown { color:var(--fnl-yellow); margin-left:4px; }
.fnl-participant-list.fnl-ranking-points li { grid-template-columns:28px 42px minmax(0,1fr) auto; }
.fnl-highlight-poster { width:100%; max-width:220px; height:auto; aspect-ratio:2/3; display:block; margin:0 auto; object-fit:cover; border-radius:2px; box-shadow:0 8px 18px rgba(0,0,0,.32); }
.fnl-rank-medal span { transform:rotate(-45deg); }

/* perfil */
.fnl-profile-head-premium { display:grid; grid-template-columns:104px minmax(230px,1fr) repeat(4,115px); gap:12px; align-items:center; }
.fnl-profile-stats { display:contents; }
.fnl-profile-poster-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; }
.fnl-profile-poster-card img { width:100%; aspect-ratio:2/3; object-fit:cover; border:1px solid #434f5c; }
.fnl-profile-poster-card strong { display:block; font-size:11px; margin-top:5px; }
.fnl-achievement { display:grid; grid-template-columns:48px 1fr; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid #2f3842; }
.fnl-achievement:last-child { border-bottom:0; }
.fnl-achievement img { width:46px; height:46px; }

/* melhor distribuição do rodapé */
.fnl-footer { padding-top:22px; }

@media(max-width:1240px){
 .fnl-grid-3{grid-template-columns:230px minmax(0,1fr)}
 .fnl-challenge-hero-premium{grid-template-columns:1fr 250px}
 .fnl-profile-head-premium{grid-template-columns:90px 1fr repeat(2,110px)}
}
@media(max-width:900px){
 .fnl-challenge-hero-premium,.fnl-challenge-main{grid-template-columns:1fr}
 .fnl-challenge-trophy{width:110px;height:110px}
 .fnl-profile-head-premium{grid-template-columns:100px 1fr}
 .fnl-profile-stats{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:8px}
}
@media(max-width:620px){
 .fnl-countdown{flex-wrap:wrap}
 .fnl-profile-stats{grid-template-columns:1fr 1fr}
 .fnl-reward-row{grid-template-columns:1fr 1fr}
 .fnl-profile-poster-strip{grid-template-columns:repeat(2,1fr)}
}
.fnl-result-poster { width:150px; height:218px; object-fit:cover; border:1px solid #495663; box-shadow:0 10px 24px rgba(0,0,0,.32); }
.fnl-reco-item { grid-template-columns:48px 1fr auto; }

/* ===== 1.3.1 ajustes finos: centralização e ícones do desafio ===== */
.fnl-mission-grid{align-items:stretch}
.fnl-mission-premium{
  text-align:center;
  justify-content:flex-start;
}
.fnl-mission-premium .fnl-mission-status{
  justify-content:flex-start;
  min-height:18px;
}
.fnl-mission-premium .fnl-mission-icon{
  width:100%;
  min-height:96px;
  margin:10px auto 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.fnl-mission-premium .fnl-mission-icon img{
  width:76px;
  height:76px;
  display:block;
  margin:0 auto;
  object-fit:contain;
  object-position:center center;
  filter: drop-shadow(0 10px 16px rgba(0,0,0,.28));
}
.fnl-mission-premium h3{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.fnl-mission-premium p.fnl-muted{
  min-height:66px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
}
.fnl-reward-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
  justify-items:center;
}
.fnl-reward{
  width:100%;
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  padding:6px 4px;
}
.fnl-reward img{
  width:58px;
  height:58px;
  display:block;
  margin:0 auto;
  object-fit:contain;
  object-position:center center;
}
.fnl-reward span{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:2px;
}
.fnl-reward strong{
  display:block;
  font-size:12px;
  line-height:1.15;
  text-align:center;
}
.fnl-reward small{
  display:block;
  text-align:center;
  line-height:1.1;
}
.fnl-participant-list li{
  grid-template-columns:28px 44px minmax(0,1fr) 28px;
  align-items:center;
}
.fnl-participant-list .fnl-avatar-photo{
  width:40px;
  height:40px;
  display:block;
  justify-self:center;
  align-self:center;
  object-fit:cover;
  object-position:center center;
}
.fnl-rank-medal{
  justify-self:center;
  align-self:center;
}
.fnl-rank-poster,
.fnl-poster-ranked-list .fnl-rank-poster{
  display:grid;
  place-items:center;
}
.fnl-poster-ranked-list .fnl-poster-mini{
  display:block;
  margin:0 auto;
}
@media (max-width: 980px){
  .fnl-reward-row{grid-template-columns:1fr 1fr}
}


/* ===== 1.3.2 busca de semelhantes, ícones vetoriais e cache seguro ===== */
.fnl-svg-icon {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: currentColor;
}
.fnl-svg-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.fnl-nav a:before { content: none !important; }
.fnl-nav a .fnl-nav-icon { width: 16px; height: 16px; color: #adb5bf; }
.fnl-nav a:hover .fnl-nav-icon,
.fnl-nav .current-menu-item > a .fnl-nav-icon,
.fnl-nav a[aria-current="page"] .fnl-nav-icon { color: var(--fnl-yellow); }
.fnl-search button { display: grid; place-items: center; }
.fnl-header-search-icon { width: 19px; height: 19px; }
.fnl-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.fnl-btn-icon { width: 16px; height: 16px; }

.fnl-title-search-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .92fr);
  gap: 20px;
  align-items: end;
  border-color: #424f5c;
  background:
    radial-gradient(circle at 12% 25%, rgba(240,181,0,.10), transparent 32%),
    linear-gradient(180deg, rgba(27,36,43,.98), rgba(19,27,32,.98));
}
.fnl-title-search-copy h1 {
  margin: 4px 0 7px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 2.4vw, 38px);
  line-height: 1.08;
}
.fnl-title-search-copy p { margin: 0; max-width: 620px; }
.fnl-title-search { display: grid; gap: 7px; }
.fnl-title-search > label {
  color: #e6e9ec;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.fnl-title-search-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.fnl-title-search-control input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 13px;
  color: var(--fnl-text);
  background: #0e141a;
  border: 1px solid #515f6d;
  outline: 0;
}
.fnl-title-search-control input:focus {
  border-color: var(--fnl-yellow);
  box-shadow: 0 0 0 3px rgba(240,181,0,.12);
}
.fnl-title-search-control .fnl-btn { min-width: 126px; }
.fnl-search-feedback {
  min-height: 18px;
  margin: 0;
  color: var(--fnl-muted);
  font-size: 11px;
}
.fnl-search-feedback.is-error { color: #fcb3b4; }

.fnl-selected-title { overflow: hidden; }
.fnl-selected-title-row { align-items: center; }
.fnl-selected-poster {
  width: 72px;
  height: 104px;
  flex: 0 0 auto;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(0,0,0,.32);
}
.fnl-selected-title-copy { min-width: 0; flex: 1; }
.fnl-selected-title-copy h2 { margin: 3px 0 4px; font-size: 27px; }
.fnl-selected-title-copy p { margin: 0; }

.fnl-similar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fnl-similar-grid .fnl-card-with-poster { min-height: 270px; }
.fnl-similar-grid .fnl-card-cover { grid-template-columns: 82px minmax(0,1fr); }
.fnl-similar-grid .fnl-card-cover img { width: 82px; height: 120px; }
.fnl-similar-grid .fnl-card-copy p { margin-top: 6px; }
.fnl-similar-grid .fnl-card-copy .fnl-btn { text-align: center; }

@media (max-width: 1180px) {
  .fnl-title-search-panel { grid-template-columns: 1fr; align-items: stretch; }
}
@media (max-width: 900px) {
  .fnl-similar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .fnl-title-search-control { grid-template-columns: 1fr; }
  .fnl-title-search-control .fnl-btn { width: 100%; }
  .fnl-selected-title-row { align-items: flex-start; flex-wrap: wrap; }
  .fnl-selected-title-row > .fnl-btn { width: 100%; }
  .fnl-similar-grid { grid-template-columns: 1fr; }
}

/* Formulários de troca de título usam POST para não depender de URLs em cache. */
.fnl-inline-title-form { margin: 0; }
.fnl-inline-title-form .fnl-btn { width: 100%; }

/* ===== 1.3.4 estabilidade, busca geral e mensagens de interface ===== */
:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--fnl-yellow);
  outline-offset: 2px;
}
.fnl-search-feedback.is-warning { color: var(--fnl-yellow-2); }
.fnl-search-results-head h1 { margin: 4px 0 7px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 42px); }
.fnl-search-results-head p { margin: 0; }
.fnl-search-post-result { padding: 14px 0; border-bottom:1px solid #2f3741; }
.fnl-search-post-result:first-child { padding-top: 0; }
.fnl-search-post-result:last-child { padding-bottom: 0; border-bottom:0; }
.fnl-search-post-result h3 { margin: 4px 0; font-size: 20px; }
.fnl-search-post-result p { margin: 4px 0 0; }
.fnl-empty-state { padding: 18px; text-align: center; border: 1px dashed #485562; background: #10161c; }
.fnl-empty-state h3 { margin: 0 0 6px; }
.fnl-toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  max-width: min(390px, calc(100% - 36px));
  padding: 12px 15px;
  color: #0f141a;
  background: var(--fnl-yellow-2);
  border: 1px solid var(--fnl-yellow);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
  font-size: 13px;
  font-weight: 800;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.fnl-toast.is-visible { opacity: 1; transform: translateY(0); }
.fnl-btn:disabled { opacity: .65; cursor: not-allowed; }

@media (max-width: 620px) {
  .fnl-toast { right: 9px; bottom: 9px; max-width: calc(100% - 18px); }
}

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

/* ===== 1.3.7 autenticação real e separação do ranking demonstrativo ===== */
.fnl-ranking-demo-profile{opacity:.72;border-style:dashed!important}
.fnl-avatar-guest{display:inline-grid;place-items:center;background:radial-gradient(circle at 35% 25%,#505e6d,#171e28 62%);color:var(--fnl-yellow);overflow:hidden}
.fnl-avatar-guest .fnl-svg-icon,.fnl-avatar-guest-icon{width:55%;height:55%}
.fnl-auth-shell{min-height:62vh;display:grid;place-items:center;padding:34px 0}
.fnl-auth-card{width:min(520px,100%);padding:28px;text-align:center}
.fnl-auth-card h1{margin:4px 0 8px}
.fnl-auth-avatar{display:flex;justify-content:center;margin-bottom:12px}
.fnl-auth-card form{display:grid;gap:12px;text-align:left;margin-top:22px}
.fnl-auth-card form p{margin:0}
.fnl-auth-card label{display:block;color:#dee4e9;font-weight:700;font-size:13px;margin-bottom:6px}
.fnl-auth-card input[type="text"],.fnl-auth-card input[type="password"]{width:100%;min-height:44px;border:1px solid var(--fnl-border);background:#0f151b;color:var(--fnl-text);padding:10px 12px;outline:0}
.fnl-auth-card input[type="text"]:focus,.fnl-auth-card input[type="password"]:focus{border-color:var(--fnl-yellow)}
.fnl-auth-card .login-remember label{display:flex;align-items:center;gap:8px;font-weight:500}
.fnl-auth-card .login-submit input{width:100%;min-height:44px;border:1px solid var(--fnl-yellow);background:var(--fnl-yellow);color:#171717;font-weight:900;text-transform:uppercase;cursor:pointer}
.fnl-auth-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--fnl-border)}
.fnl-profile-real{grid-template-columns:104px minmax(260px,1fr) repeat(4,115px)}
.fnl-profile-real h1{margin:2px 0 4px}
.fnl-empty-profile{text-align:center;padding:34px}
.fnl-empty-profile .fnl-panel-title,.fnl-empty-profile .fnl-actions{justify-content:center}
.fnl-participant-list .fnl-avatar-photo,.fnl-ranking-points .fnl-avatar-photo{border:2px solid #758494;box-shadow:0 0 0 2px #171e28,0 0 14px rgba(244,180,0,.18)}
.fnl-ranking-points li:nth-child(1) .fnl-avatar-photo{border-color:#f49c00;box-shadow:0 0 0 2px #171e28,0 0 18px rgba(244,180,0,.42)}
@media(max-width:1240px){.fnl-profile-real{grid-template-columns:90px 1fr repeat(2,110px)}}
@media(max-width:900px){.fnl-profile-real{grid-template-columns:100px 1fr}}
@media(max-width:620px){.fnl-auth-card{padding:20px}.fnl-auth-links{align-items:stretch;flex-direction:column}.fnl-auth-links .fnl-btn{width:100%}.fnl-profile-real{grid-template-columns:1fr;text-align:center}.fnl-profile-real>.fnl-avatar-photo{margin:auto}.fnl-profile-real .fnl-row-between{display:grid;justify-content:center}.fnl-profile-real .fnl-profile-stats{grid-column:auto}}
/* 1.4.0 — autenticação e perfil real */
.fnl-profile-menu{position:relative}.fnl-profile-dropdown{display:none;position:absolute;right:0;top:100%;min-width:170px;background:#10161c;border:1px solid var(--fnl-border);box-shadow:var(--fnl-shadow);z-index:80}.fnl-profile-menu:hover .fnl-profile-dropdown,.fnl-profile-menu:focus-within .fnl-profile-dropdown{display:grid}.fnl-profile-dropdown a{padding:11px 14px;border-bottom:1px solid #262e39}.fnl-auth-wide{max-width:720px}.fnl-auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:18px 0;border:1px solid var(--fnl-border)}.fnl-auth-tabs a{text-align:center;padding:12px}.fnl-auth-tabs a.is-active{background:var(--fnl-yellow);color:#151515;font-weight:800}.fnl-form{display:grid;gap:16px}.fnl-form label,.fnl-form fieldset{display:grid;gap:7px;font-weight:700}.fnl-form input,.fnl-form select,.fnl-form textarea{width:100%;border:1px solid var(--fnl-border);background:#0f151b;color:var(--fnl-text);padding:12px;outline:none}.fnl-form input:focus,.fnl-form select:focus,.fnl-form textarea:focus{border-color:var(--fnl-yellow)}.fnl-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fnl-check{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important}.fnl-check input{width:auto;margin-top:4px}.fnl-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fnl-avatar-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.fnl-avatar-picker label{cursor:pointer;text-align:center}.fnl-avatar-picker input{position:absolute;opacity:0}.fnl-avatar-picker img{width:82px;height:82px;object-fit:cover;border-radius:50%;border:3px solid transparent}.fnl-avatar-picker input:checked+img{border-color:var(--fnl-yellow);box-shadow:0 0 0 3px rgba(244,180,0,.2)}.fnl-avatar-picker span{font-size:12px}.fnl-notice{padding:12px 14px;border:1px solid var(--fnl-border);background:#141b22}.fnl-notice-success{border-color:var(--fnl-green)}.fnl-notice-error{border-color:var(--fnl-danger)}.fnl-notice ul{margin:0;padding-left:20px}@media(max-width:700px){.fnl-form-grid{grid-template-columns:1fr}.fnl-choice-grid{grid-template-columns:1fr 1fr}.fnl-avatar-picker{grid-template-columns:repeat(3,1fr)}}

/* ===== 1.5.0 — Desafio da Semana real por usuário ===== */
.fnl-challenge-layout{
  display:grid;
  grid-template-columns:270px minmax(0,1fr) 270px;
  grid-template-areas:"left main right";
  gap:16px;
  align-items:start;
}
.fnl-challenge-content{grid-area:main;min-width:0}
.fnl-challenge-left-sidebar{grid-area:left}
.fnl-challenge-right-sidebar{grid-area:right}
.fnl-challenge-prize{margin:10px 0 0;color:#e5eaef}
.fnl-challenge-period{font-size:12px;color:var(--fnl-muted);margin:10px 0 0}
.fnl-challenge-primary-action{margin-top:16px;align-items:center}
.fnl-progress-box .fnl-panel-title{justify-content:center}
.fnl-challenge-content .fnl-segment-progress{grid-template-columns:repeat(4,1fr);width:100%}
.fnl-challenge-content .fnl-mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.fnl-challenge-missions-section{scroll-margin-top:150px}
.fnl-challenge-missions-section .fnl-section-head{align-items:end}
.fnl-mission-premium{min-height:360px}
.fnl-mission-premium.is-blocked{opacity:.86}
.fnl-mission-premium.is-completed{border-color:rgba(104,184,79,.75)}
.fnl-mission-premium.is-completed .fnl-mission-status{color:#88cc53}
.fnl-mission-premium.is-in_progress .fnl-mission-status{color:var(--fnl-yellow-2)}
.fnl-mission-premium.is-available .fnl-mission-status{color:#dbe2e8}
.fnl-selected-mission-title{margin:5px 0 10px;padding:8px;border:1px solid #3d4954;background:#10161c;font-size:12px}
.fnl-mission-score{margin-top:8px}
.fnl-mission-actions{margin-top:14px;border-top:1px solid #323e4a;padding-top:14px;text-align:left}
.fnl-challenge-action-form{display:grid;gap:9px}
.fnl-challenge-action-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#dee4e9}
.fnl-challenge-action-form select,.fnl-challenge-action-form input{width:100%;min-height:42px;border:1px solid #46525f;background:#0f151b;color:var(--fnl-text);padding:9px 10px}
.fnl-challenge-action-form .fnl-btn{width:100%}
.fnl-fallback-note{display:block;color:#9ea8b2;font-size:10px;line-height:1.4}
.fnl-mission-completed-date{display:block;margin-top:14px;color:#93d36b}
.fnl-challenge-dashboard{align-items:stretch}
.fnl-challenge-dashboard>section{height:100%}
.fnl-challenge-summary .fnl-panel-title{justify-content:flex-start}
.fnl-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.fnl-reward.is-earned{outline:2px solid var(--fnl-green);background:rgba(104,184,79,.08)}
.fnl-challenge-real-ranking{margin:0}
.fnl-challenge-real-ranking li{grid-template-columns:32px 42px minmax(0,1fr) auto}
.fnl-challenge-real-ranking li.is-current-user{background:rgba(244,180,0,.08);box-shadow:inset 3px 0 0 var(--fnl-yellow)}
.fnl-challenge-real-ranking .fnl-avatar-photo{width:42px;height:42px;object-fit:cover;border-radius:50%}
.fnl-challenge-real-ranking small{display:block}
.fnl-chip-list{display:flex;flex-wrap:wrap;gap:8px}
.fnl-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-bottom:14px}
.fnl-rules-grid p{margin:0;padding:10px;border:1px solid #323e4a;background:#11181f;color:var(--fnl-text)}
.fnl-history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fnl-history-grid article{display:grid;gap:5px;padding:12px;border:1px solid #38434e;background:#11181f;color:var(--fnl-text)}
.fnl-history-grid article>span{color:var(--fnl-yellow-2)}
.fnl-history-grid small{color:var(--fnl-muted)}
.fnl-modal{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:18px}
.fnl-modal[aria-hidden="false"]{display:grid}
.fnl-modal-backdrop{position:absolute;inset:0;background:rgba(3,6,8,.78);backdrop-filter:blur(4px)}
.fnl-modal-dialog{position:relative;z-index:1;width:min(640px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;background:#161e28;border:1px solid var(--fnl-border);box-shadow:0 24px 70px rgba(0,0,0,.55);padding:24px}
.fnl-modal-dialog h2{margin:4px 0 12px}
.fnl-modal-dialog ol{padding-left:22px;display:grid;gap:9px}
.fnl-modal-close{position:absolute;right:10px;top:8px;width:38px;height:38px;border:0;background:transparent;color:var(--fnl-text);font-size:30px;cursor:pointer}
body.fnl-modal-open{overflow:hidden}
.is-challenge-ended .fnl-challenge-action-form{pointer-events:none;opacity:.55}

@media(max-width:1240px){
  .fnl-challenge-layout{grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"main right" "left right"}
  .fnl-challenge-left-sidebar{grid-template-columns:1fr 1fr;display:grid}
}
@media(max-width:980px){
  .fnl-challenge-layout{grid-template-columns:1fr;grid-template-areas:"main" "left" "right"}
  .fnl-challenge-left-sidebar,.fnl-challenge-right-sidebar{grid-template-columns:1fr 1fr;display:grid}
  .fnl-challenge-content .fnl-mission-grid{grid-template-columns:1fr 1fr}
  .fnl-history-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .fnl-challenge-content .fnl-mission-grid{grid-template-columns:1fr}
  .fnl-mission-premium{min-height:0}
  .fnl-challenge-left-sidebar,.fnl-challenge-right-sidebar{grid-template-columns:1fr}
  .fnl-challenge-main{padding:18px}
  .fnl-challenge-copy h1{font-size:34px}
  .fnl-challenge-primary-action,.fnl-challenge-primary-action form{width:100%}
  .fnl-challenge-primary-action .fnl-btn{width:100%}
  .fnl-countdown-item{width:calc(25% - 6px);min-width:54px}
  .fnl-countdown-label{width:100%;margin-right:0}
  .fnl-dashboard-grid,.fnl-stat-grid,.fnl-rules-grid,.fnl-history-grid{grid-template-columns:1fr}
  .fnl-reward-row{grid-template-columns:1fr 1fr}
  .fnl-challenge-real-ranking li{grid-template-columns:28px 38px minmax(0,1fr) auto}
  .fnl-challenge-real-ranking .fnl-avatar-photo{width:38px;height:38px}
  .fnl-modal-dialog{padding:20px 16px}
}
.fnl-profile-challenge-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.fnl-profile-challenge-summary h2{margin:3px 0 0}
@media(max-width:800px){.fnl-profile-challenge-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fnl-profile-challenge-stats{grid-template-columns:1fr}.fnl-profile-challenge-summary>.fnl-row-between{display:grid}.fnl-profile-challenge-summary>.fnl-row-between .fnl-btn{width:100%}}

/* Etapa 3 — catálogo, listas e avaliações */
.fnl-catalog-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.fnl-catalog-card{overflow:hidden;display:flex;flex-direction:column}.fnl-catalog-card-poster{display:block;position:relative;aspect-ratio:2/3;background:#0d1319;overflow:hidden}.fnl-catalog-poster,.fnl-title-poster{width:100%;height:100%;object-fit:cover;display:block}.fnl-catalog-card-poster .fnl-type-badge{position:absolute;top:8px;left:8px;background:#111111bb}.fnl-catalog-card-copy{padding:13px;display:flex;flex-direction:column;gap:7px;flex:1}.fnl-catalog-card h3{margin:0;font-size:17px}.fnl-catalog-meta,.fnl-catalog-excerpt{margin:0}.fnl-title-actions,.fnl-inline-action{display:flex;gap:6px;flex-wrap:wrap}.fnl-inline-action{display:inline-flex}.fnl-btn-small{font-size:11px;padding:7px 8px}.fnl-btn.is-active{border-color:var(--fnl-yellow);color:var(--fnl-yellow)}.fnl-catalog-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.fnl-catalog-filters>label:first-child{grid-column:span 2}.fnl-catalog-filter-actions{grid-column:span 2}.fnl-catalog-filters label span{display:block;font-size:11px;text-transform:uppercase;font-weight:800;margin-bottom:5px}.fnl-catalog-filters input,.fnl-catalog-filters select,.fnl-rating-form select{width:100%;min-height:42px;background:#10161c;color:#ffffff;border:1px solid #46525f;padding:0 10px}.fnl-catalog-filter-actions{display:flex;gap:8px}.fnl-catalog-hero{display:grid;grid-template-columns:1fr 420px;padding:32px;gap:30px;background:linear-gradient(135deg,#17202a,#0c1116)}.fnl-catalog-hero h1{font-size:clamp(38px,5vw,68px);margin:6px 0}.fnl-catalog-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fnl-catalog-hero-stats div{padding:18px;background:#10181f;border:1px solid var(--fnl-border);text-align:center}.fnl-catalog-hero-stats strong{display:block;color:var(--fnl-yellow);font-size:28px}.fnl-catalog-shortcuts{display:grid;grid-template-columns:repeat(4,1fr)}.fnl-catalog-shortcuts a{padding:18px;border-right:1px solid var(--fnl-border)}.fnl-catalog-shortcuts strong,.fnl-catalog-shortcuts span{display:block}.fnl-catalog-shortcuts span{color:var(--fnl-muted);font-size:12px;margin-top:5px}.fnl-taxonomy-cloud{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.fnl-taxonomy-cloud a{padding:14px;background:#10171e;border:1px solid var(--fnl-border)}.fnl-taxonomy-cloud strong,.fnl-taxonomy-cloud span{display:block}.fnl-taxonomy-cloud span{font-size:11px;color:var(--fnl-muted)}.fnl-pagination ul{display:flex;list-style:none;gap:6px;padding:0}.fnl-pagination a,.fnl-pagination span{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--fnl-border)}.fnl-pagination .current{background:var(--fnl-yellow);color:#111111}.fnl-title-backdrop{height:280px;margin-bottom:-210px;background:linear-gradient(#00000044,#0b1016),var(--fnl-title-backdrop) center/cover;filter:saturate(.75)}.fnl-title-hero{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:24px;position:relative}.fnl-title-poster-wrap{aspect-ratio:2/3}.fnl-title-hero h1{font-size:clamp(36px,5vw,64px);margin:5px 0}.fnl-title-rating-summary{display:flex;gap:12px;margin:18px 0}.fnl-title-rating-summary div{padding:12px 16px;background:#0f161c;border:1px solid var(--fnl-border)}.fnl-title-rating-summary span,.fnl-title-rating-summary small{display:block;color:var(--fnl-muted)}.fnl-title-rating-summary strong{font-size:28px;color:var(--fnl-yellow)}.fnl-title-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.fnl-title-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.fnl-title-facts div{padding:12px;background:#10171e}.fnl-title-facts dt{color:var(--fnl-muted);font-size:11px;text-transform:uppercase}.fnl-title-facts dd{margin:4px 0 0}.fnl-responsive-embed{position:relative;padding-top:56.25%}.fnl-responsive-embed iframe{position:absolute;inset:0;width:100%;height:100%}.fnl-platform-list,.fnl-profile-rating-list,.fnl-activity-list{list-style:none;padding:0;margin:0}.fnl-platform-list li,.fnl-profile-rating-list li,.fnl-activity-list li{padding:9px 0;border-bottom:1px solid #2f3741}.fnl-rating-form{display:flex;gap:10px;align-items:end}.fnl-profile-catalog-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:15px}.fnl-profile-lists-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fnl-profile-list-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fnl-profile-list-grid a{font-size:11px}.fnl-profile-list-poster{width:100%;aspect-ratio:2/3;object-fit:cover}.fnl-profile-rating-list li,.fnl-activity-list li{display:grid;grid-template-columns:1fr auto auto;gap:10px}.fnl-comment-list{list-style:none;padding:0}.fnl-comment-list li{padding:14px 0;border-bottom:1px solid var(--fnl-border)}
@media(max-width:1200px){.fnl-catalog-grid{grid-template-columns:repeat(4,1fr)}.fnl-catalog-filters{grid-template-columns:repeat(3,1fr)}.fnl-catalog-filter-actions{grid-column:auto}.fnl-taxonomy-cloud{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.fnl-catalog-grid{grid-template-columns:repeat(3,1fr)}.fnl-catalog-hero,.fnl-title-hero,.fnl-title-content-grid{grid-template-columns:1fr}.fnl-title-poster-wrap{max-width:280px}.fnl-catalog-shortcuts,.fnl-taxonomy-cloud{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.fnl-catalog-grid{grid-template-columns:repeat(2,1fr);gap:9px}.fnl-catalog-filters>label:first-child,.fnl-catalog-filter-actions{grid-column:auto}.fnl-catalog-filters,.fnl-catalog-hero-stats,.fnl-profile-catalog-stats,.fnl-profile-lists-layout,.fnl-title-facts{grid-template-columns:1fr}.fnl-catalog-shortcuts,.fnl-taxonomy-cloud{grid-template-columns:1fr}.fnl-catalog-hero{padding:20px}.fnl-rating-form{align-items:stretch;flex-direction:column}.fnl-profile-list-grid{grid-template-columns:repeat(3,1fr)}}


/* Etapa 3: submenu Descobrir acessível sem alterar a identidade visual. */
.fnl-nav > .fnl-shell > ul { overflow: visible; }
.fnl-nav .menu-item-has-children { position: relative; }
.fnl-nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 80;
	min-width: 240px;
	transform: translateX(-50%);
	flex-direction: column;
	align-items: stretch;
	padding: 8px;
	border: 1px solid #2f3741;
	border-radius: 0 0 12px 12px;
	background: #10161c;
	box-shadow: 0 16px 34px rgba(0,0,0,.42);
	overflow: visible;
}
.fnl-nav .menu-item-has-children:hover > .sub-menu,
.fnl-nav .menu-item-has-children:focus-within > .sub-menu { display: flex; }
.fnl-nav .sub-menu li { width: 100%; }
.fnl-nav .sub-menu a { width: 100%; padding: 11px 14px; border-bottom:0; border-radius: 8px; white-space: nowrap; }
.fnl-nav .sub-menu a:hover,
.fnl-nav .sub-menu .current-menu-item > a { background: #1a2229; color: var(--fnl-yellow); }
@media (max-width: 900px) {
	.fnl-nav > .fnl-shell > ul { justify-content: flex-start; overflow-x: auto; overflow-y: hidden; }
	.fnl-nav .menu-item-has-children { display: flex; align-items: stretch; }
	.fnl-nav .menu-item-has-children > a::after { content: '▾'; font-size: 11px; }
	.fnl-nav .sub-menu {
		display: flex;
		position: static;
		min-width: max-content;
		transform: none;
		flex-direction: row;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}
	.fnl-nav .sub-menu li { width: auto; }
	.fnl-nav .sub-menu a { width: auto; padding: 13px 16px; border-radius: 0; }
}
@media(max-width:480px){
	.fnl-catalog-grid{grid-template-columns:1fr}
	.fnl-catalog-card .fnl-title-actions{display:grid;grid-template-columns:1fr}
	.fnl-catalog-card .fnl-inline-action,.fnl-catalog-card .fnl-inline-action .fnl-btn{width:100%}
	.fnl-catalog-filter-actions{display:grid;grid-template-columns:1fr}
	.fnl-catalog-filter-actions .fnl-btn{width:100%}
}

.fnl-profile-list-item{display:grid;gap:6px;align-content:start}.fnl-profile-list-item>a{display:grid;gap:5px}.fnl-profile-list-item .fnl-inline-action,.fnl-profile-list-item .fnl-btn{width:100%}

/* Etapa 4 — ranking real */
.fnl-ranking-person{display:flex;flex-direction:column;min-width:0}.fnl-ranking-person small{color:var(--fnl-muted);font-weight:400}.fnl-ranking-medal{width:28px;height:28px;object-fit:contain}.fnl-ranking-tabs{display:flex;gap:8px;flex-wrap:wrap}.fnl-ranking-tabs a[aria-current="page"]{background:var(--fnl-yellow);color:#141414;border-color:var(--fnl-yellow)}.fnl-ranking-card .fnl-participant-list{padding:6px 16px}.fnl-ranking-card .fnl-empty-state{margin:16px}

/* Etapa 4 revisada — ranking escalável e integrado */
.fnl-ranking-current-user{outline:2px solid var(--wp--preset--color--accent,#fbb112);outline-offset:-2px;background:rgba(245,197,24,.08)}
.fnl-my-ranking{text-align:center}.fnl-my-ranking h2{font-size:clamp(2rem,6vw,4rem);margin:.2rem 0}.fnl-pagination{display:flex;justify-content:center;gap:.4rem;flex-wrap:wrap;padding:1rem}.fnl-pagination .page-numbers{padding:.55rem .8rem;border:1px solid #46525f;border-radius:8px}.fnl-pagination .current{font-weight:700;background:#fbb112;color:#111111}.fnl-profile-ranking-summary small{display:block;margin-top:.25rem}

/* Versão 1.9.0 — histórico permanente e conquistas do ranking */
.fnl-ranking-achievements{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.25rem}
.fnl-ranking-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.fnl-ranking-history-item{display:grid;gap:7px;padding:16px;border:1px solid var(--fnl-border);background:#10171e}
.fnl-ranking-history-item strong{font-size:1.4rem;color:var(--fnl-yellow)}
.fnl-ranking-history-item span,.fnl-ranking-history-item small{display:block}
.fnl-ranking-history-item small{color:var(--fnl-muted)}
.fnl-ranking-history-item .fnl-row-between{align-items:center}
.fnl-profile-ranking-summary>.fnl-profile-challenge-stats{margin-bottom:1.2rem}
.fnl-profile-ranking-summary .fnl-stat small{overflow-wrap:anywhere}
@media(max-width:720px){.fnl-ranking-history-grid{grid-template-columns:1fr}}

/* Privacidade, páginas institucionais e consentimento opcional */
.fnl-institutional-page{line-height:1.75}.fnl-institutional-page h2{margin-top:1.7rem}.fnl-institutional-intro{font-size:1.12rem;color:#eef1f4}.fnl-institutional-section-body p:last-child{margin-bottom:0}.fnl-policy-updated{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--fnl-border)}
.fnl-institutional-details dl{display:grid;gap:.65rem;margin:0}.fnl-institutional-details dl>div{display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr);gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--fnl-border)}.fnl-institutional-details dt{font-weight:800;color:var(--fnl-yellow-2)}.fnl-institutional-details dd{margin:0;overflow-wrap:anywhere}.fnl-institutional-authors ul{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.fnl-institutional-authors li{padding:1rem;border:1px solid var(--fnl-border);background:rgba(12,17,21,.35)}.fnl-institutional-authors li p{margin:.4rem 0 0;color:var(--fnl-muted)}
.fnl-footer li+li{margin-top:.42rem}.fnl-footer a,.fnl-footer-link-button{overflow-wrap:anywhere}.fnl-footer-link-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.fnl-footer-link-button:hover,.fnl-footer-link-button:focus-visible{color:var(--fnl-yellow);text-decoration:underline}
@media(max-width:620px){.fnl-institutional-details dl>div{grid-template-columns:1fr;gap:.2rem}}
.fnl-cookie-banner[hidden]{display:none!important}.fnl-cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1180px;margin:auto;padding:18px 20px;border:1px solid #54616e;border-radius:12px;background:#10171ef5;box-shadow:0 18px 55px rgba(0,0,0,.55);color:#ffffff;transition:opacity .18s ease,transform .18s ease}.fnl-cookie-banner.is-closing{opacity:0;transform:translateY(12px);pointer-events:none}.fnl-cookie-banner strong{display:block;font-size:1.05rem}.fnl-cookie-banner p{margin:.35rem 0}.fnl-cookie-banner a{color:var(--fnl-yellow);text-decoration:underline}.fnl-cookie-actions{display:flex;gap:9px;flex:0 0 auto}.fnl-ad-consent-pending{min-height:180px;background:#10171e}
@media(max-width:760px){.fnl-cookie-banner{align-items:stretch;flex-direction:column;left:10px;right:10px;bottom:10px}.fnl-cookie-actions{display:grid;grid-template-columns:1fr}.fnl-cookie-actions .fnl-btn{width:100%}}

/* Desafio Filme + Quiz — 1.9.2 */
.fnl-challenge-content .fnl-segment-progress.fnl-challenge-three-steps{grid-template-columns:repeat(3,1fr)}
.fnl-weekly-movie-stage{scroll-margin-top:145px;overflow:hidden}
.fnl-challenge-start-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fnl-challenge-start-preview>div{min-height:112px;padding:16px;border:1px solid var(--fnl-border);background:#11181f;display:grid;align-content:center;text-align:center;color:var(--fnl-text)}
.fnl-challenge-start-preview strong{display:block;color:var(--fnl-yellow-2);font-size:28px;line-height:1}
.fnl-challenge-start-preview span{display:block;color:var(--fnl-muted);font-size:12px;margin-top:8px}
.fnl-challenge-movie-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;padding:18px;border:1px solid #394552;background:radial-gradient(circle at 10% 20%,rgba(244,180,0,.1),transparent 34%),#11181f}
.fnl-challenge-movie-art{min-height:270px;background:#0c1116;border:1px solid #394452;overflow:hidden}
.fnl-challenge-movie-poster{width:100%;height:100%;min-height:270px;object-fit:cover;display:block}
.fnl-challenge-movie-info{align-self:center}
.fnl-challenge-movie-info h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,4vw,44px);line-height:1.05;margin:5px 0 12px}
.fnl-challenge-movie-info .fnl-chip-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.fnl-inline-form{display:inline-flex;width:auto}
.fnl-inline-form .fnl-btn{width:auto}
.fnl-quiz-ready{margin-top:16px;padding:18px;border:1px solid rgba(244,180,0,.55);background:rgba(244,180,0,.06);display:flex;justify-content:space-between;align-items:center;gap:20px}
.fnl-quiz-ready h3{margin:3px 0 6px}
.fnl-quiz-ready p{margin:0;max-width:680px}
.fnl-quiz-card{--fnl-quiz-time:1;scroll-margin-top:145px;margin-top:16px;padding:20px;border:1px solid var(--fnl-yellow);background:linear-gradient(180deg,#171f29,#10171e);box-shadow:0 16px 38px rgba(0,0,0,.3)}
.fnl-quiz-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:18px}
.fnl-quiz-progress{height:6px;margin-top:8px;background:#343f4a;overflow:hidden}
.fnl-quiz-progress span{height:100%;display:block;background:var(--fnl-yellow)}
.fnl-quiz-timer{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:conic-gradient(var(--fnl-yellow) calc(var(--fnl-quiz-time)*360deg),#3a444f 0);position:relative;color:#111111}
.fnl-quiz-timer:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#161e28}
.fnl-quiz-timer strong,.fnl-quiz-timer span{position:relative;z-index:1;color:var(--fnl-text)}
.fnl-quiz-timer strong{font-size:27px;line-height:1}
.fnl-quiz-timer span{font-size:9px;text-transform:uppercase;color:var(--fnl-muted);margin-top:3px}
.fnl-quiz-card>h3{font-size:clamp(21px,3vw,30px);line-height:1.25;margin:0 0 18px}
.fnl-quiz-options{display:grid;gap:9px}
.fnl-quiz-options label{display:block;cursor:pointer}
.fnl-quiz-options input{position:absolute;opacity:0;pointer-events:none}
.fnl-quiz-options span{display:block;padding:13px 14px;border:1px solid #424f5c;background:#0f151b;color:#e7ebf0;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.fnl-quiz-options label:hover span{border-color:var(--fnl-yellow);transform:translateX(2px)}
.fnl-quiz-options input:focus-visible+span{outline:2px solid var(--fnl-yellow-2);outline-offset:2px}
.fnl-quiz-options input:checked+span{border-color:var(--fnl-yellow);background:rgba(244,180,0,.13);box-shadow:inset 4px 0 0 var(--fnl-yellow)}
.fnl-quiz-actions{margin-top:16px}
.fnl-quiz-hint{padding:11px 12px;margin:12px 0 0;border-left:3px solid var(--fnl-yellow);background:#0f151b;color:#dbe1e6}
.fnl-quiz-result{margin-top:16px;padding:20px;display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;align-items:center;border:1px solid var(--fnl-border);background:#11181f;color:var(--fnl-text)}
.fnl-quiz-result.is-valid{border-color:rgba(104,184,79,.8);background:rgba(104,184,79,.08)}
.fnl-quiz-result.is-invalid{border-color:rgba(227,93,106,.8);background:rgba(227,93,106,.08)}
.fnl-quiz-result-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:900;border:2px solid currentColor}
.fnl-quiz-result.is-valid .fnl-quiz-result-mark{color:#88cc53}
.fnl-quiz-result.is-invalid .fnl-quiz-result-mark{color:#ea7f81}
.fnl-quiz-result h3{font-size:27px;margin:2px 0 6px}
.fnl-quiz-result p{margin:4px 0}
.fnl-weekly-movie-stage .fnl-notice{margin-top:14px}

@media (max-width:800px){
  .fnl-challenge-start-preview{grid-template-columns:1fr 1fr}
  .fnl-challenge-movie-card{grid-template-columns:140px minmax(0,1fr);gap:15px;padding:14px}
  .fnl-challenge-movie-art,.fnl-challenge-movie-poster{min-height:205px}
  .fnl-quiz-ready{align-items:stretch;flex-direction:column}
  .fnl-quiz-ready .fnl-inline-form,.fnl-quiz-ready .fnl-btn{width:100%}
}
@media (max-width:560px){
  .fnl-challenge-start-preview{grid-template-columns:1fr}
  .fnl-challenge-movie-card{grid-template-columns:1fr}
  .fnl-challenge-movie-art{max-width:230px;margin:0 auto;width:100%}
  .fnl-challenge-movie-info{text-align:center}
  .fnl-challenge-movie-info .fnl-chip-list,.fnl-challenge-movie-info .fnl-actions{justify-content:center}
  .fnl-challenge-movie-info .fnl-actions,.fnl-challenge-movie-info .fnl-inline-form,.fnl-challenge-movie-info .fnl-btn{width:100%}
  .fnl-quiz-card{padding:15px}
  .fnl-quiz-head{grid-template-columns:minmax(0,1fr) 68px;gap:10px}
  .fnl-quiz-timer{width:66px;height:66px}
  .fnl-quiz-timer strong{font-size:22px}
  .fnl-quiz-actions{align-items:stretch;flex-direction:column-reverse}
  .fnl-quiz-actions .fnl-btn{width:100%}
  .fnl-quiz-result{grid-template-columns:1fr;text-align:center}
  .fnl-quiz-result-mark{margin:0 auto}
}

/* ==========================================================
   Versão 1.9.16 — PARTE 1/3: base visual clara
   Escopo estritamente visual. Nenhuma regra funcional alterada.
   ========================================================== */
:root {
  --fnl-radius: 10px;
  --fnl-shadow: 0 10px 28px rgba(8, 11, 14, .38);
}

html { background:var(--fnl-bg); }
body {
  background:radial-gradient(circle at 50% -120px, rgba(21,29,35,.96) 0, rgba(244,247,249,.94) 34%, transparent 58%),
    linear-gradient(180deg, var(--fnl-panel) 0, var(--fnl-panel) 42%, var(--fnl-panel) 100%);
  color:var(--fnl-text);
}
body::selection { background:rgba(215,164,0,.28); color:var(--fnl-text); }
a:hover { color:var(--fnl-yellow-2); }

.fnl-topbar {
  background:rgba(24,34,41,.96);
  border-bottom-color:var(--fnl-border);
  box-shadow: 0 4px 18px rgba(38,51,60,.08);
}
.fnl-brand { color:var(--fnl-text); }
.fnl-brand small,
.fnl-profile-mini { color:var(--fnl-text); }
.fnl-brand-mark { color:var(--fnl-yellow); }
.fnl-search {
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  border-radius: 8px;
  box-shadow: inset 0 1px 2px rgba(31,45,53,.04);
  overflow: hidden;
}
.fnl-search input { color:var(--fnl-text); }
.fnl-search input::placeholder { color:var(--fnl-text); }
.fnl-search button { border-left-color:var(--fnl-border); background:var(--fnl-panel); }
.fnl-avatar-mini, .fnl-avatar-large { background:linear-gradient(145deg,var(--fnl-panel),var(--fnl-panel)); color:var(--fnl-text); }
.fnl-avatar-mini { border-color:#adb6c0; }

.fnl-nav { border-top-color:var(--fnl-border); background:var(--fnl-panel); }
.fnl-nav a { color:var(--fnl-text); }
.fnl-nav a:hover,
.fnl-nav .current-menu-item > a,
.fnl-nav a[aria-current="page"] { color:var(--fnl-yellow-2); }

.fnl-panel,
.fnl-ranking-card {
  background:linear-gradient(180deg, rgba(21,29,35,.99), rgba(24,34,41,.99));
  border-color:var(--fnl-border);
  box-shadow: var(--fnl-shadow), inset 0 1px 0 rgba(21,29,35,.8);
}
.fnl-panel-title,
.fnl-filter-toggle,
.fnl-ranking-head h2,
.fnl-feature h3,
.fnl-footer h3 { color:var(--fnl-yellow-2); }
.fnl-filter-toggle:hover,
.fnl-filter-toggle:hover .fnl-filter-toggle-caret { color:var(--fnl-text); }
.fnl-chip { background:var(--fnl-panel); border-color:var(--fnl-border); color:var(--fnl-text); }
.fnl-divider,
.fnl-ranking-head,
.fnl-feature,
.fnl-ranked-list li,
.fnl-media-row,
.fnl-ranking-row,
.fnl-title-list li,
.fnl-achievement,
.fnl-participant-list li { border-color:var(--fnl-border); }

.fnl-btn { border-radius:7px; color:var(--fnl-yellow-2); background:rgba(21,29,35,.72); }
.fnl-btn:hover { background:rgba(215,164,0,.13); color:var(--fnl-yellow-2); box-shadow:0 5px 14px rgba(139,103,0,.10); }
.fnl-btn-primary { background:linear-gradient(180deg,#e7a11e,#cf8400); color:#171717; border-color:#c88100; }
.fnl-btn-primary:hover { background:linear-gradient(180deg,#ffbd47,#db9000); color:#171717; }

.fnl-ad-slot {
  color:var(--fnl-text);
  background:linear-gradient(rgba(24,34,41,.88),rgba(240,244,246,.94)),
    repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(215,164,0,.07) 12px,rgba(215,164,0,.07) 13px);
  border-color:var(--fnl-border);
}
.fnl-ad-slot strong { color:var(--fnl-text); }
.fnl-ad-label { color:var(--fnl-text); }
.fnl-ad-slot:before { border-color:rgba(114,128,137,.22); }
.fnl-ad-overlay { text-shadow:none; }
.fnl-ad-overlay span { color:var(--fnl-text); }
.fnl-ad-demo-button { background:rgba(21,29,35,.8); }

.fnl-hero {
  background:radial-gradient(circle at 76% 45%,rgba(215,164,0,.13),transparent 32%),
    linear-gradient(135deg,var(--fnl-panel) 0%,var(--fnl-panel) 62%,var(--fnl-panel) 100%);
}
.fnl-hero h1,
.fnl-challenge-copy h1,
.fnl-article h1 { color:var(--fnl-text); }
.fnl-hero-copy p,
.fnl-article-content { color:var(--fnl-text); }
.fnl-reco-box,
.fnl-countdown-item,
.fnl-toggle,
.fnl-position,
.fnl-title-icon,
.fnl-stat,
.fnl-article-content blockquote {
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  color:var(--fnl-text);
}
.fnl-reco-item { border-color:var(--fnl-border); }
.fnl-post-art {
  background:radial-gradient(circle,rgba(215,164,0,.16),rgba(239,243,245,.9));
  border-color:var(--fnl-border);
}
.fnl-post-body p,
.fnl-card p,
.fnl-feature p,
.fnl-muted { color:var(--fnl-text); }
.fnl-meta { color:var(--fnl-text); }
.fnl-post-card,
.fnl-card,
.fnl-mission { transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.fnl-post-card:hover,
.fnl-card:hover,
.fnl-mission:hover { transform:translateY(-3px); box-shadow:0 15px 34px rgba(38,52,61,.14); border-color:#c5994b; }

.fnl-form-grid input,
.fnl-form-grid select,
.fnl-field input,
.fnl-field select,
.fnl-field textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="number"],
textarea,
select {
  background:var(--fnl-panel);
  color:var(--fnl-text);
  border-color:var(--fnl-border);
  border-radius:7px;
}
.fnl-field label { color:var(--fnl-text); }
.fnl-toggle { background:var(--fnl-panel); color:var(--fnl-text); }
.fnl-toggle.is-active { background:var(--fnl-yellow); color:#171717; }
.fnl-result-icon,
.fnl-abstract-thumb { background:radial-gradient(circle,rgba(215,164,0,.16),var(--fnl-panel) 72%); border-color:var(--fnl-border); }
.fnl-progress { background:var(--fnl-panel); }
.fnl-progress-ring { border-color:var(--fnl-border); border-top-color:var(--fnl-yellow); border-right-color:var(--fnl-yellow); }

.fnl-challenge-main {
  background:radial-gradient(circle at 16% 48%,rgba(215,164,0,.15),transparent 31%),linear-gradient(180deg,var(--fnl-panel),var(--fnl-panel));
}
.fnl-countdown-item strong { color:var(--fnl-text); }
.fnl-countdown-item span,
.fnl-reward small { color:var(--fnl-text); }
.fnl-progress-ring-premium { background:conic-gradient(var(--fnl-yellow) calc(var(--p)*1%),var(--fnl-panel) 0); }
.fnl-progress-ring-premium:after { background:var(--fnl-panel); }
.fnl-segment-progress i { background:var(--fnl-panel); }
.fnl-participant-list .fnl-place,
.fnl-rank-medal { border-color:#ba8f42; }

.fnl-card-with-poster .fnl-card-cover { background:linear-gradient(135deg,rgba(215,164,0,.09),rgba(239,243,245,.72)); }
.fnl-poster-thumb,
.fnl-poster-mini,
.fnl-profile-poster-card img,
.fnl-result-poster { border-color:var(--fnl-border); box-shadow:0 6px 16px rgba(35,50,59,.16); }
.fnl-highlight-poster { box-shadow:0 10px 22px rgba(35,50,59,.18); }

.fnl-article-content h2,
.fnl-article-content h3 { color:var(--fnl-text); }
.fnl-article-content a { color:var(--fnl-yellow-2); text-decoration:underline; text-decoration-color:rgba(141,104,0,.35); }
.fnl-article-content blockquote { color:var(--fnl-text); }

.fnl-footer { background:var(--fnl-panel); border-top-color:var(--fnl-border); }
.fnl-footer ul { color:var(--fnl-text); }
.fnl-footer-bottom { color:var(--fnl-text); border-top-color:var(--fnl-border); }
.fnl-footer-social a { color:var(--fnl-text); }

/* Compatibilidade com tabelas, comentários, mensagens e conteúdos do WordPress. */
.fnl-panel table,
.fnl-article table,
.entry-content table { background:var(--fnl-panel); color:var(--fnl-text); border-collapse:collapse; }
.fnl-panel th,
.fnl-panel td,
.fnl-article th,
.fnl-article td,
.entry-content th,
.entry-content td { border:1px solid var(--fnl-border); }
.fnl-panel th,
.fnl-article th,
.entry-content th { background:var(--fnl-panel); }
.comment-body,
.fnl-notice,
.fnl-message { background:var(--fnl-panel); color:var(--fnl-text); border-color:var(--fnl-border); }

:focus-visible { outline:3px solid rgba(215,164,0,.58); outline-offset:3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* ===== Parte 2 — imagens dos artigos e galeria automática (1.9.17) ===== */
.fnl-post-card{min-height:365px}
.fnl-post-art{display:block;min-height:0;aspect-ratio:16/9;background:var(--fnl-panel);border-bottom:1px solid var(--fnl-border);overflow:hidden}
.fnl-post-image-link{position:relative}
.fnl-article-card-image{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .32s ease,filter .32s ease}
.fnl-post-card:hover .fnl-article-card-image,.fnl-post-card:focus-within .fnl-article-card-image{transform:scale(1.045);filter:saturate(1.06) contrast(1.03)}
.fnl-post-image-link:focus-visible{outline:3px solid var(--fnl-yellow);outline-offset:-3px}
.fnl-post-art:after{z-index:2;height:3px;background:linear-gradient(90deg,transparent,var(--fnl-yellow),transparent);opacity:.78}
.fnl-post-body{background:rgba(21,29,35,.78)}
.fnl-post-body h3 a{color:var(--fnl-text)}
.fnl-search-post-grid .fnl-post-card{min-height:340px}
@media(max-width:620px){.fnl-post-card{min-height:0}.fnl-post-art,.fnl-article-card-image{aspect-ratio:16/10}}


/* ===== Parte 3 — anúncios configuráveis e acabamento final (1.9.18) ===== */
.fnl-ad-top-wrap{margin:22px auto 16px}
.fnl-ad-panel{overflow:hidden;padding:0;background:transparent;box-shadow:var(--fnl-shadow);contain:layout paint}
.fnl-ad-panel-top{min-height:118px}
.fnl-ad-panel-inline,.fnl-ad-panel-footer{min-height:130px}
.fnl-ad-slot{position:relative;display:flex;align-items:stretch;width:100%;min-height:inherit;text-decoration:none;overflow:hidden;border:1px solid var(--fnl-border);border-radius:var(--fnl-radius);isolation:isolate}
.fnl-ad-slot:before{content:"";position:absolute;inset:0;background-image:var(--fnl-ad-image);background-position:center;background-size:cover;opacity:.92;transform:scale(1.01);z-index:-2}
.fnl-ad-slot:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(21,29,35,.97) 0%,rgba(24,34,41,.92) 48%,rgba(238,243,246,.72) 100%);z-index:-1}
.fnl-ad-slot.has-image:after{background:linear-gradient(90deg,rgba(20,28,34,.91) 0%,rgba(20,28,34,.72) 46%,rgba(20,28,34,.22) 100%)}
.fnl-ad-overlay{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;width:100%;padding:22px 24px;text-align:left}
.fnl-ad-overlay strong{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.08;color:var(--fnl-text)}
.fnl-ad-overlay>span:not(.fnl-ad-demo-button){max-width:620px;color:var(--fnl-text)}
.fnl-ad-slot.has-image .fnl-ad-overlay strong,.fnl-ad-slot.has-image .fnl-ad-overlay>span:not(.fnl-ad-demo-button){color:#ffffff;text-shadow:0 2px 12px rgba(0,0,0,.42)}
.fnl-ad-label{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fnl-yellow-2)}
.fnl-ad-demo-button{display:inline-flex;align-items:center;margin-top:4px;padding:8px 13px;border:1px solid rgba(154,112,0,.38);border-radius:999px;background:rgba(21,29,35,.9);color:var(--fnl-yellow-2);font-weight:800;font-size:.78rem;letter-spacing:.03em}
.fnl-ad-slot.has-image .fnl-ad-demo-button{background:var(--fnl-yellow);border-color:var(--fnl-yellow);color:#171717;text-shadow:none}
.fnl-ad-visual:hover:before{transform:scale(1.045);transition:transform .35s ease}
.fnl-ad-visual:hover .fnl-ad-demo-button{box-shadow:0 8px 18px rgba(101,76,0,.2);transform:translateY(-1px)}
.fnl-ad-panel-footer{margin-top:28px;margin-bottom:28px}
.fnl-ad-code{display:flex;align-items:center;justify-content:center;background:var(--fnl-panel)}

/* Acabamento: ritmo visual, bordas e responsividade. */
.fnl-shell{padding-left:20px;padding-right:20px}
.fnl-grid-3{gap:22px}
.fnl-main-stack{gap:22px}
.fnl-sidebar{gap:18px}
.fnl-panel{border-radius:12px}
.fnl-section-head{margin-bottom:14px}
.fnl-section-head h2{letter-spacing:-.02em}
.fnl-post-grid{gap:18px}
.fnl-post-card{overflow:hidden}
.fnl-footer{margin-top:36px}
@media(max-width:980px){
  .fnl-ad-panel-top{min-height:105px}
  .fnl-ad-overlay{padding:18px 20px}
  .fnl-grid-3{gap:18px}
}
@media(max-width:720px){
  .fnl-ad-top-wrap{margin:14px auto 12px}
  .fnl-ad-panel-top,.fnl-ad-panel-inline,.fnl-ad-panel-footer{min-height:150px}
  .fnl-ad-slot:after,.fnl-ad-slot.has-image:after{background:linear-gradient(180deg,rgba(20,28,34,.25),rgba(20,28,34,.92) 72%)}
  .fnl-ad-slot:not(.has-image):after{background:linear-gradient(180deg,rgba(21,29,35,.62),rgba(24,34,41,.98) 70%)}
  .fnl-ad-overlay{justify-content:flex-end;padding:18px}
  .fnl-ad-overlay strong{font-size:1.2rem}
  .fnl-shell{padding-left:14px;padding-right:14px}
}


/* ========================================================================
   PLANO VISUAL EM 8 ETAPAS — PARTE 1/8: BASE VISUAL GLOBAL (1.9.19)
   Somente apresentação: tokens, tipografia, superfícies, ritmo, foco e estados.
   ======================================================================== */
:root {
  --fnl-border-strong: #465260;
  --fnl-info: #4c95d6;
  --fnl-radius: 14px;
  --fnl-radius-sm: 10px;
  --fnl-shadow-sm: 0 3px 12px rgba(0,0,0,.28);
  --fnl-shadow: 0 10px 30px rgba(0,0,0,.34);
  --fnl-shadow-lg: 0 18px 50px rgba(0,0,0,.42);
  --fnl-max: 1540px;
  --fnl-space-1: 4px;
  --fnl-space-2: 8px;
  --fnl-space-3: 12px;
  --fnl-space-4: 16px;
  --fnl-space-5: 20px;
  --fnl-space-6: 24px;
  --fnl-space-7: 32px;
  --fnl-space-8: 40px;
}

html { color-scheme: dark; }
body {
  min-height: 100vh;
  background:radial-gradient(circle at 50% -160px, rgba(24,32,39,.98) 0, rgba(13,17,20,.96) 32%, transparent 58%),
    linear-gradient(180deg, var(--fnl-panel) 0%, var(--fnl-bg) 44%, var(--fnl-panel) 100%);
  color:var(--fnl-text);
  font-size: 16px;
  line-height: 1.62;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}


h1,h2,h3,h4,h5,h6 { color:var(--fnl-text); text-wrap: balance; }
p,li { text-wrap: pretty; }
a { transition: color .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
img { display: block; }

.fnl-page { padding-block: var(--fnl-space-6) var(--fnl-space-8); }
.fnl-main-stack { gap: var(--fnl-space-6); }
.fnl-sidebar { gap: var(--fnl-space-5); }
.fnl-grid-3 { gap: var(--fnl-space-6); }

.fnl-panel,
.fnl-ranking-card,
.comment-body,
.fnl-notice,
.fnl-message {
  background:linear-gradient(180deg, rgba(21,29,35,.995), rgba(24,34,41,.995));
  border:1px solid var(--fnl-border);
  border-radius: var(--fnl-radius);
  box-shadow: var(--fnl-shadow-sm);
}
.fnl-panel:hover { border-color:var(--fnl-border); }
.fnl-panel-pad { padding: clamp(16px, 1.7vw, 24px); }
.fnl-panel-title { margin-bottom: var(--fnl-space-4); color:var(--fnl-yellow-2); }

.fnl-btn,
button,
input[type="submit"],
input[type="button"] {
  border-radius: var(--fnl-radius-sm);
}
.fnl-btn {
  min-height: 44px;
  padding: 10px 17px;
  border-color:#c48000;
  background:var(--fnl-panel);
  color:var(--fnl-yellow-2);
  box-shadow: 0 1px 0 rgba(21,29,35,.8), 0 2px 8px rgba(31,45,54,.05);
}
.fnl-btn:hover {
  transform: translateY(-1px);
  background:var(--fnl-panel);
  border-color:#ae6e00;
  color:var(--fnl-yellow-2);
  box-shadow: 0 7px 18px rgba(116,85,0,.13);
}
.fnl-btn:active { transform: translateY(0); box-shadow: none; }
.fnl-btn-primary {
  background:linear-gradient(180deg,var(--fnl-yellow-2) 0%,var(--fnl-yellow) 100%);
  border-color:#c27e00;
  color:#171717;
  box-shadow: 0 6px 14px rgba(140,101,0,.28);
}
.fnl-btn-primary:hover { background:linear-gradient(180deg,#ffbd47,var(--fnl-yellow-2)); color:#171717; box-shadow: 0 8px 20px rgba(240,157,0,.34); }
.fnl-btn[disabled], button[disabled] { opacity:.58; cursor:not-allowed; transform:none; box-shadow:none; }

input[type="text"], input[type="email"], input[type="password"], input[type="search"],
input[type="url"], input[type="number"], textarea, select,
.fnl-field input, .fnl-field select, .fnl-field textarea {
  min-height: 44px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
  border:1px solid var(--fnl-border-strong);
  border-radius: var(--fnl-radius-sm);
  box-shadow: inset 0 1px 2px rgba(31,45,54,.035);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
textarea { min-height: 130px; padding: 12px; }
input:hover, textarea:hover, select:hover { border-color:#9ca9b5; }
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color:#b17200;
  box-shadow: 0 0 0 3px rgba(214,163,0,.18);
}
input::placeholder, textarea::placeholder { color:var(--fnl-text); opacity:1; }

.fnl-chip,
.fnl-type-badge {
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  color:var(--fnl-text);
}
.fnl-kicker,.fnl-link,.fnl-score { color:var(--fnl-yellow-2); }
.fnl-muted,.fnl-post-body p,.fnl-card p,.fnl-feature p { color:var(--fnl-muted); }

.fnl-section-head { margin-block: 0 var(--fnl-space-4); }
.fnl-section-head h2 { font-size: clamp(1.3rem,2vw,1.65rem); line-height:1.2; letter-spacing:-.025em; }
.fnl-section-head h2::after { width: 46px; border-bottom-color:var(--fnl-yellow); }

.fnl-post-card,.fnl-card,.fnl-mission,.fnl-ranking-card {
  border-radius: var(--fnl-radius);
  overflow: hidden;
}
.fnl-post-card:hover,.fnl-card:hover,.fnl-mission:hover {
  transform: translateY(-3px);
  border-color:#ca9d4c;
  box-shadow: var(--fnl-shadow);
}

.fnl-divider { border-top-color:var(--fnl-border); }
.fnl-progress { border-radius:999px; }
.fnl-progress span { border-radius:inherit; }

.fnl-notice,.fnl-message { padding:14px 16px; }
.fnl-notice-success,.fnl-message-success { border-left:4px solid var(--fnl-green); }
.fnl-notice-error,.fnl-message-error { border-left:4px solid var(--fnl-danger); }

.fnl-article { padding: clamp(20px,3vw,38px); }
.fnl-article h1 { letter-spacing:-.035em; }
.fnl-article-content { max-width: 78ch; color:var(--fnl-text); }
.fnl-article-content p { margin-block: 0 1.15em; }
.fnl-article-content h2 { margin-top:1.7em; }
.fnl-article-content h3 { margin-top:1.4em; }
.fnl-article-content blockquote {
  border-left-color:var(--fnl-yellow);
  background:var(--fnl-panel);
  border-radius:0 var(--fnl-radius-sm) var(--fnl-radius-sm) 0;
}

.fnl-footer { background:var(--fnl-panel); border-top-color:var(--fnl-border); }

:focus-visible {
  outline: 3px solid rgba(214,163,0,.72);
  outline-offset: 3px;
}

@media (max-width: 980px) {
  .fnl-page { padding-top: var(--fnl-space-5); }
  .fnl-grid-3,.fnl-main-stack { gap: var(--fnl-space-5); }
}
@media (max-width: 620px) {
  body { font-size:15.5px; }
  .fnl-shell { width:min(100% - 20px,var(--fnl-max)); padding-inline:0; }
  .fnl-panel-pad { padding:16px; }
  .fnl-page { padding-block:16px 28px; }
  .fnl-actions .fnl-btn { width:100%; justify-content:center; }
}


/* ==========================================================
   PLANO VISUAL EM 8 ETAPAS — PARTE 2/8: CABEÇALHO E NAVEGAÇÃO (1.9.20)
   Ajustes de apresentação, acessibilidade e responsividade do topo.
   Nenhuma regra de negócio alterada.
   ========================================================== */
.fnl-topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
}
.admin-bar .fnl-topbar { top: 32px; }
.fnl-header-main {
  min-height: 82px;
  gap: clamp(14px, 2vw, 28px);
}
.fnl-brand {
  min-width: 0;
  line-height: 1.05;
  letter-spacing: -.025em;
  transition: opacity .18s ease, transform .18s ease;
}
.fnl-brand:hover { opacity: .92; transform: translateY(-1px); }
.fnl-brand-mark {
  flex: 0 0 auto;
  filter: drop-shadow(0 5px 10px rgba(153,112,0,.12));
}
.fnl-brand small { margin-top: 5px; letter-spacing: .11em; }

.fnl-search {
  min-height: 46px;
  border-radius: 12px;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.fnl-search:focus-within {
  border-color:#b17200;
  box-shadow: 0 0 0 3px rgba(214,163,0,.16), 0 8px 20px rgba(31,45,54,.08);
}
.fnl-search input { min-width: 0; padding-inline: 16px; }
.fnl-search button {
  width: 52px;
  transition: background-color .18s ease, color .18s ease;
}
.fnl-search button:hover { background:rgba(240,181,0,.14); color:var(--fnl-yellow-2); }

.fnl-profile-menu { z-index: 105; }
.fnl-profile-mini {
  min-height: 48px;
  padding: 4px 7px 4px 12px;
  border:1px solid transparent;
  border-radius: 999px;
  gap: 10px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.fnl-profile-mini:hover,
.fnl-profile-menu:focus-within .fnl-profile-mini {
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  box-shadow: 0 6px 18px rgba(31,45,54,.09);
}
.fnl-profile-mini > span:first-child {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  color:#f4f6f7;
}
.fnl-profile-dropdown {
  top: calc(100% + 9px);
  padding: 7px;
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  border-radius: 12px;
  box-shadow: 0 18px 38px rgba(31,45,54,.16);
}
.fnl-profile-dropdown::before {
  content: '';
  position: absolute;
  right: 22px;
  top: -6px;
  width: 11px;
  height: 11px;
  background:var(--fnl-panel);
  border-left:1px solid var(--fnl-border);
  border-top:1px solid var(--fnl-border);
  transform: rotate(45deg);
}
.fnl-profile-dropdown a {
  position: relative;
  z-index: 1;
  padding: 10px 12px;
  border:0;
  border-radius: 8px;
  color:var(--fnl-text);
}
.fnl-profile-dropdown a:hover,
.fnl-profile-dropdown a:focus-visible { background:rgba(240,181,0,.14); color:var(--fnl-yellow-2); }

.fnl-nav {
  border-bottom:1px solid var(--fnl-border);
  box-shadow: 0 3px 9px rgba(31,45,54,.035);
}
.fnl-nav > .fnl-shell > ul {
  gap: 4px;
  min-height: 50px;
  scrollbar-width: thin;
  scrollbar-color:var(--fnl-yellow-2) transparent;
}
.fnl-nav a {
  position: relative;
  min-height: 50px;
  padding: 13px 17px;
  border-bottom:0;
  border-radius: 9px 9px 0 0;
  font-weight: 650;
  transition: color .18s ease, background-color .18s ease;
}
.fnl-nav a::after {
  content: '';
  position: absolute;
  left: 17px;
  right: 17px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background:transparent;
  transform: scaleX(.35);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease, background-color .18s ease;
}
.fnl-nav a:hover { background:var(--fnl-panel); }
.fnl-nav a:hover::after,
.fnl-nav .current-menu-item > a::after,
.fnl-nav .current-menu-ancestor > a::after,
.fnl-nav a[aria-current="page"]::after {
  background:var(--fnl-yellow);
  transform: scaleX(1);
  opacity: 1;
}
.fnl-nav .current-menu-item > a,
.fnl-nav .current-menu-ancestor > a,
.fnl-nav a[aria-current="page"] {
  background:linear-gradient(180deg, rgba(240,181,0,.35), rgba(255,246,210,.82));
}
.fnl-nav .sub-menu {
  margin-top: 0;
  padding: 8px;
  min-width: 235px;
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 18px 38px rgba(31,45,54,.16);
}
.fnl-nav .sub-menu a {
  min-height: 42px;
  border-radius: 8px;
  color:var(--fnl-text);
}
.fnl-nav .sub-menu a::after { display: none; }
.fnl-nav .sub-menu a:hover,
.fnl-nav .sub-menu .current-menu-item > a { background:rgba(240,181,0,.14); color:var(--fnl-yellow-2); }

.fnl-menu-toggle { display: none; }

@media (max-width: 980px) {
  .fnl-header-main { grid-template-columns: minmax(0,1fr) auto; padding-block: 12px; }
  .fnl-brand { font-size: 22px; }
  .fnl-search { grid-column: 1 / -1; grid-row: 2; margin: 0; }
  .fnl-profile-mini > span:first-child { max-width: 110px; }
}

@media (max-width: 760px) {
  .admin-bar .fnl-topbar { top: 46px; }
  .fnl-topbar { position: sticky; }
  .fnl-header-main {
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 10px;
    min-height: 70px;
  }
  .fnl-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 46px;
    min-height: 46px;
    padding: 8px 10px;
    border:1px solid var(--fnl-border);
    border-radius: 10px;
    background:var(--fnl-panel);
    color:var(--fnl-text);
    cursor: pointer;
  }
  .fnl-menu-toggle-label { font-weight: 750; font-size: 13px; }
  .fnl-menu-toggle-icon { display: grid; gap: 4px; width: 19px; }
  .fnl-menu-toggle-icon span {
    display: block;
    height: 2px;
    border-radius: 2px;
    background:currentColor;
    transition: transform .18s ease, opacity .18s ease;
  }
  .fnl-menu-toggle[aria-expanded="true"] .fnl-menu-toggle-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .fnl-menu-toggle[aria-expanded="true"] .fnl-menu-toggle-icon span:nth-child(2) { opacity: 0; }
  .fnl-menu-toggle[aria-expanded="true"] .fnl-menu-toggle-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .fnl-brand { justify-self: center; font-size: 19px; }
  .fnl-brand-mark, .fnl-brand-mark img { width: 40px; height: 40px; }
  .fnl-brand small { display: none; }
  .fnl-profile-mini { min-height: 46px; padding: 3px; }
  .fnl-profile-mini > span:first-child { display: none; }
  .fnl-search { grid-column: 1 / -1; grid-row: 2; }

  .fnl-nav { display: none; border-top:1px solid var(--fnl-border); }
  .fnl-nav.is-open { display: block; }
  .fnl-nav > .fnl-shell { padding: 8px 16px 14px; }
  .fnl-nav > .fnl-shell > ul {
    display: grid;
    gap: 4px;
    min-height: 0;
    overflow: visible;
  }
  .fnl-nav li { width: 100%; }
  .fnl-nav a {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border-radius: 9px;
  }
  .fnl-nav a::after { left: 0; right: auto; top: 9px; bottom: 9px; width: 3px; height: auto; transform: scaleY(.35); }
  .fnl-nav a:hover::after,
  .fnl-nav .current-menu-item > a::after,
  .fnl-nav .current-menu-ancestor > a::after,
  .fnl-nav a[aria-current="page"]::after { transform: scaleY(1); }
  .fnl-nav .menu-item-has-children { display: block; }
  .fnl-nav .menu-item-has-children > a::after { content: ''; }
  .fnl-nav .sub-menu {
    position: static;
    display: grid;
    min-width: 0;
    margin: 3px 0 7px 15px;
    padding: 5px;
    border:0;
    border-left:2px solid var(--fnl-border);
    border-radius: 0 9px 9px 0;
    box-shadow: none;
    background:var(--fnl-panel);
  }
  .fnl-nav .sub-menu li { width: 100%; }
  .fnl-nav .sub-menu a { min-height: 42px; padding: 9px 12px; }
}

@media (max-width: 430px) {
  .fnl-shell.fnl-header-main { padding-inline: 12px; }
  .fnl-menu-toggle { min-width: 44px; padding-inline: 8px; }
  .fnl-menu-toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .fnl-brand { gap: 7px; font-size: 17px; }
  .fnl-brand-mark, .fnl-brand-mark img { width: 36px; height: 36px; }
  .fnl-avatar-mini, .fnl-avatar-photo { width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .fnl-brand, .fnl-search, .fnl-search button, .fnl-profile-mini,
  .fnl-nav a, .fnl-nav a::after, .fnl-menu-toggle-icon span { transition: none !important; }
}

/* ==========================================================
   PLANO VISUAL EM 8 ETAPAS — PARTE 3/8: PÁGINA INICIAL (1.9.21)
   Ajustes exclusivamente visuais da home. Nenhuma regra funcional alterada.
   ========================================================== */
.home .fnl-ad-top-wrap { margin-top: 18px; margin-bottom: 20px; }
.home .fnl-grid-3 {
  grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) minmax(220px, 250px);
  gap: clamp(18px, 1.8vw, 28px);
}
.home .fnl-main-stack { gap: clamp(22px, 2.2vw, 34px); }
.home .fnl-sidebar { gap: 20px; }
.home .fnl-sidebar > .fnl-panel,
.home .fnl-sidebar > .fnl-ad-panel { position: relative; }

.home .fnl-hero {
  min-height: 330px;
  padding: clamp(24px, 3vw, 42px);
  grid-template-columns: minmax(0, 1.22fr) minmax(275px, .78fr);
  gap: clamp(24px, 3vw, 44px);
  border-color:var(--fnl-border);
  background:radial-gradient(circle at 72% 28%, rgba(224,176,24,.16), transparent 32%),
    radial-gradient(circle at 18% 100%, rgba(161,180,193,.16), transparent 36%),
    linear-gradient(135deg,var(--fnl-panel) 0%,var(--fnl-panel) 58%,var(--fnl-panel) 100%);
  box-shadow: 0 20px 52px rgba(31,45,54,.12);
}
.home .fnl-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:linear-gradient(115deg, rgba(21,29,35,.62), transparent 48%);
}
.home .fnl-hero::after {
  width: 420px;
  height: 420px;
  right: 15%;
  top: -210px;
  border-color:rgba(191,145,0,.18);
  box-shadow: 0 0 120px rgba(208,157,0,.11);
}
.home .fnl-hero-copy { max-width: 720px; }
.home .fnl-hero .fnl-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
  padding: 6px 10px;
  border:1px solid rgba(174,127,0,.28);
  border-radius: 999px;
  background:rgba(240,181,0,.78);
  color:var(--fnl-yellow-2);
}
.home .fnl-hero h1 {
  max-width: 720px;
  margin: 4px 0 16px;
  font-size: clamp(2.35rem, 4.2vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.home .fnl-hero-copy p {
  max-width: 670px;
  margin: 0 0 24px;
  font-size: clamp(1rem, 1.2vw, 1.1rem);
  line-height: 1.7;
  color:var(--fnl-text);
}
.home .fnl-hero .fnl-actions { gap: 12px; }
.home .fnl-hero .fnl-btn { min-height: 47px; padding-inline: 19px; }
.home .fnl-hero-visual { opacity: .62; filter: saturate(.82) brightness(1.08); }

.home .fnl-reco-box {
  padding: clamp(17px, 1.8vw, 23px);
  border-radius: 14px;
  background:rgba(21,29,35,.88);
  border:1px solid rgba(192,203,210,.92);
  box-shadow: 0 16px 34px rgba(35,49,57,.12);
  backdrop-filter: blur(8px);
}
.home .fnl-reco-box .fnl-panel-title { margin-bottom: 10px; }
.home .fnl-reco-item {
  grid-template-columns: 48px minmax(0,1fr) auto;
  min-height: 67px;
  gap: 11px;
  padding: 10px 0;
}
.home .fnl-reco-item strong { display:block; line-height:1.2; color:var(--fnl-text); }
.home .fnl-reco-item .fnl-score {
  padding: 5px 8px;
  border-radius: 999px;
  background:rgba(240,181,0,.14);
  border:1px solid var(--fnl-yellow);
  font-size: .78rem;
  font-weight: 850;
}
.home .fnl-reco-box > .fnl-link { display:inline-flex; margin-top:12px; font-weight:800; }

.home .fnl-section-head {
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom:1px solid var(--fnl-border);
}
.home .fnl-section-head h2 { display:flex; align-items:center; gap:10px; }
.home .fnl-section-head h2::after { display:none; }
.home .fnl-section-head h2::before {
  content:'';
  width:5px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(240,181,0,.14),#be7800);
  box-shadow:0 3px 9px rgba(145,106,0,.18);
}
.home .fnl-section-head .fnl-link { font-weight:800; white-space:nowrap; }

.home .fnl-post-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 22px);
}
.home .fnl-post-card {
  min-width:0;
  background:var(--fnl-panel);
  border-color:var(--fnl-border);
  box-shadow:0 9px 24px rgba(31,45,54,.08);
}
.home .fnl-post-card:hover {
  transform: translateY(-5px);
  border-color:#c89747;
  box-shadow:0 18px 38px rgba(31,45,54,.15);
}
.home .fnl-post-art {
  aspect-ratio: 16 / 9;
  min-height: 0;
  overflow:hidden;
  background:var(--fnl-panel);
  border:0;
  border-bottom:1px solid var(--fnl-border);
}
.home .fnl-post-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.home .fnl-post-card:hover .fnl-post-art img { transform:scale(1.045); filter:saturate(1.05); }
.home .fnl-post-body { padding: 16px 17px 18px; }
.home .fnl-post-body .fnl-meta {
  margin-bottom:8px;
  font-size:.72rem;
  font-weight:750;
  letter-spacing:.02em;
  color:var(--fnl-text);
}
.home .fnl-post-body h3 {
  margin:0 0 9px;
  font-size:clamp(1rem,1.15vw,1.15rem);
  line-height:1.28;
  letter-spacing:-.018em;
}
.home .fnl-post-body p {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:4.65em;
  margin:0 0 14px;
  font-size:.9rem;
  line-height:1.55;
}
.home .fnl-post-body .fnl-link { font-size:.87rem; font-weight:850; }

.home .fnl-feature-strip {
  overflow:hidden;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-color:var(--fnl-border);
  background:linear-gradient(180deg,var(--fnl-panel),var(--fnl-panel));
}
.home .fnl-feature {
  position:relative;
  min-height:190px;
  padding:clamp(20px,2vw,28px);
  border-color:var(--fnl-border);
  transition:background-color .18s ease, transform .18s ease;
}
.home .fnl-feature:hover { background:var(--fnl-panel); }
.home .fnl-feature .fnl-score {
  display:inline-grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:13px;
  border:1px solid var(--fnl-yellow);
  border-radius:12px;
  background:rgba(240,181,0,.14);
  color:var(--fnl-yellow-2);
  font-size:1.45rem !important;
}
.home .fnl-feature h3 { margin:0 0 8px; font-size:1.08rem; }
.home .fnl-feature p { margin:0 0 15px; font-size:.91rem; line-height:1.58; }
.home .fnl-feature .fnl-link { font-size:.84rem; font-weight:850; }

.home .fnl-sidebar .fnl-panel-pad { padding:20px; }
.home .fnl-sidebar .fnl-panel-title { font-size:.8rem; letter-spacing:.07em; }
.home .fnl-sidebar .fnl-title-list li { gap:11px; padding:11px 0; line-height:1.45; }
.home .fnl-sidebar .fnl-title-icon {
  width:40px;
  height:40px;
  border-radius:10px;
  border-color:var(--fnl-yellow);
  background:rgba(240,181,0,.14);
  color:var(--fnl-yellow-2);
}
.home .fnl-poster-ranked-list li {
  grid-template-columns:44px minmax(0,1fr) auto;
  gap:10px;
  padding:10px 0;
}
.home .fnl-poster-ranked-list strong { display:block; font-size:.9rem; line-height:1.25; }
.home .fnl-poster-ranked-list .fnl-score { font-size:.76rem; white-space:nowrap; }
.home .fnl-newsletter-panel,
.home .fnl-sidebar section:last-child { overflow:hidden; }
.home .fnl-sidebar .fnl-chip { width:max-content; }

@media (max-width: 1320px) {
  .home .fnl-grid-3 { grid-template-columns:230px minmax(0,1fr); }
  .home .fnl-grid-3 > .fnl-sidebar:last-child {
    grid-column:1 / -1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .home .fnl-post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .home .fnl-grid-3 { grid-template-columns:1fr; }
  .home .fnl-grid-3 > .fnl-sidebar:first-child,
  .home .fnl-grid-3 > .fnl-sidebar:last-child {
    grid-column:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home .fnl-main-stack { order:-1; }
  .home .fnl-hero { grid-template-columns:1fr; min-height:0; }
  .home .fnl-hero-visual { display:none; }
  .home .fnl-reco-box { max-width:none; }
  .home .fnl-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home .fnl-feature-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .home .fnl-ad-top-wrap { margin-top:10px; margin-bottom:14px; }
  .home .fnl-grid-3,
  .home .fnl-main-stack { gap:18px; }
  .home .fnl-grid-3 > .fnl-sidebar:first-child,
  .home .fnl-grid-3 > .fnl-sidebar:last-child { grid-template-columns:1fr; }
  .home .fnl-hero { padding:22px 18px; border-radius:14px; }
  .home .fnl-hero h1 { font-size:clamp(2.15rem,12vw,3.15rem); }
  .home .fnl-hero-copy p { font-size:.96rem; }
  .home .fnl-reco-box { padding:15px; border-radius:12px; }
  .home .fnl-reco-item { grid-template-columns:44px minmax(0,1fr) auto; }
  .home .fnl-post-grid,
  .home .fnl-feature-strip { grid-template-columns:1fr; }
  .home .fnl-post-card { display:grid; grid-template-columns:118px minmax(0,1fr); }
  .home .fnl-post-art { height:100%; min-height:170px; aspect-ratio:auto; border-bottom:0; border-right:1px solid var(--fnl-border); }
  .home .fnl-post-body { padding:14px; }
  .home .fnl-post-body p { min-height:0; -webkit-line-clamp:2; }
  .home .fnl-feature { min-height:0; }
}
@media (max-width: 420px) {
  .home .fnl-post-card { grid-template-columns:1fr; }
  .home .fnl-post-art { aspect-ratio:16/9; min-height:0; border-right:0; border-bottom:1px solid var(--fnl-border); }
  .home .fnl-section-head { align-items:flex-start; }
  .home .fnl-section-head .fnl-link { font-size:.82rem; }
}
@media (prefers-reduced-motion: reduce) {
  .home .fnl-post-art img,
  .home .fnl-post-card,
  .home .fnl-feature { transition:none !important; }
}


/* ================================================================
   Parte 4/8 — Artigos e imagens (v1.9.22)
   ================================================================ */
.fnl-article-cover {
  margin: clamp(18px, 3vw, 30px) 0 4px;
  overflow: hidden;
  border:1px solid var(--fnl-border);
  border-radius: 18px;
  background:var(--fnl-panel);
  box-shadow: 0 16px 36px rgba(33,45,53,.10);
  aspect-ratio: 16 / 9;
}
.fnl-article-cover-image {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.fnl-article > .fnl-kicker { margin-bottom:10px; }
.fnl-article > .fnl-meta { margin-top:12px; }
.fnl-article-content img {
  max-width:100%;
  height:auto;
  border-radius:14px;
  box-shadow:0 10px 26px rgba(33,45,53,.10);
}
.fnl-article-content figure { margin:1.7em 0; }
.fnl-article-content figcaption {
  margin-top:.65rem;
  color:var(--fnl-text);
  font-size:.82rem;
  line-height:1.5;
  text-align:center;
}
.fnl-article-content ul,
.fnl-article-content ol { padding-left:1.35em; }
.fnl-article-content li + li { margin-top:.42em; }
.fnl-article-content hr { border:0; border-top:1px solid var(--fnl-border); margin:2em 0; }

.fnl-archive-post-card {
  display:grid;
  grid-template-columns:minmax(180px, 31%) minmax(0, 1fr);
  overflow:hidden;
  border:1px solid var(--fnl-border);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.fnl-archive-post-card:hover,
.fnl-archive-post-card:focus-within {
  transform:translateY(-2px);
  border-color:rgba(181,133,0,.38);
  box-shadow:0 15px 34px rgba(33,45,53,.10);
}
.fnl-archive-post-image {
  display:block;
  min-height:190px;
  overflow:hidden;
  background:var(--fnl-panel);
  border-right:1px solid var(--fnl-border);
}
.fnl-archive-post-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.fnl-archive-post-card:hover .fnl-archive-post-image img { transform:scale(1.035); }
.fnl-archive-post-copy {
  padding:clamp(18px,2.5vw,26px);
  display:flex;
  flex-direction:column;
  min-width:0;
}
.fnl-archive-post-copy h2 { margin:.38em 0 .48em; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.2; }
.fnl-archive-post-copy h2 a { color:var(--fnl-text); }
.fnl-archive-post-copy .fnl-link { margin-top:auto; align-self:flex-start; }

@media (max-width:720px) {
  .fnl-archive-post-card { grid-template-columns:1fr; }
  .fnl-archive-post-image { aspect-ratio:16/9; min-height:0; border-right:0; border-bottom:1px solid var(--fnl-border); }
  .fnl-article-cover { border-radius:14px; }
}
@media (prefers-reduced-motion: reduce) {
  .fnl-archive-post-card,
  .fnl-archive-post-image img { transition:none; }
  .fnl-archive-post-card:hover { transform:none; }
}

/* ================================================================
   Parte 5/8 — Catálogo e páginas dos filmes (v1.9.23)
   Refinamento exclusivamente visual; nenhuma regra funcional alterada.
   ================================================================ */
.fnl-catalog-home,
.fnl-catalog-archive-page,
.fnl-title-page {
  gap: clamp(18px, 2.2vw, 28px);
}

/* Hero e cabeçalhos do catálogo */
.fnl-catalog-hero {
  position: relative;
  overflow: hidden;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(28px, 4vw, 52px);
  border:1px solid var(--fnl-border);
  border-radius: 20px;
  background:radial-gradient(circle at 88% 14%, rgba(224,174,24,.16), transparent 30%),
    linear-gradient(135deg, var(--fnl-panel) 0%, var(--fnl-panel) 58%, var(--fnl-panel) 100%);
  box-shadow: 0 18px 42px rgba(31,45,54,.10);
}
.fnl-catalog-hero::after {
  content: '';
  position: absolute;
  width: 210px;
  height: 210px;
  right: -78px;
  bottom: -96px;
  border:34px solid rgba(181,133,0,.08);
  border-radius: 50%;
  pointer-events: none;
}
.fnl-catalog-hero-copy { position: relative; z-index: 1; max-width: 760px; }
.fnl-catalog-hero h1 {
  margin: .08em 0 .22em;
  color:var(--fnl-text);
  font-size: clamp(2.5rem, 5vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.fnl-catalog-hero-copy > p:not(.fnl-kicker) {
  max-width: 64ch;
  margin: 0 0 22px;
  color:var(--fnl-text);
  font-size: clamp(.98rem, 1.4vw, 1.12rem);
  line-height: 1.7;
}
.fnl-catalog-hero-stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.fnl-catalog-hero-stats div {
  min-width: 0;
  padding: 20px 12px;
  border:1px solid var(--fnl-border);
  border-radius: 14px;
  background:rgba(21,29,35,.9);
  box-shadow: 0 9px 24px rgba(31,45,54,.07);
  text-align: center;
}
.fnl-catalog-hero-stats strong {
  display: block;
  color:var(--fnl-yellow-2);
  font-size: clamp(1.7rem, 3vw, 2.25rem);
  line-height: 1;
}
.fnl-catalog-hero-stats span {
  display: block;
  margin-top: 7px;
  color:var(--fnl-text);
  font-size: .78rem;
  line-height: 1.35;
}
.fnl-catalog-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 22px;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 18px;
  background:linear-gradient(135deg, var(--fnl-panel) 0%, var(--fnl-panel) 100%);
}
.fnl-catalog-page-head h1 { margin: .15em 0 .25em; font-size: clamp(2rem, 4vw, 3.45rem); letter-spacing: -.035em; }
.fnl-catalog-page-head .fnl-muted { max-width: 70ch; margin: 0; }

/* Filtros */
.fnl-catalog-filters {
  grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(145px, 1fr));
  gap: 14px;
}
.fnl-catalog-filters label span {
  margin-bottom: 7px;
  color:var(--fnl-text);
  font-size: .72rem;
  letter-spacing: .055em;
}
.fnl-catalog-filters input,
.fnl-catalog-filters select,
.fnl-rating-form select {
  min-height: 46px;
  border:1px solid var(--fnl-border);
  border-radius: 10px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
  padding: 0 13px;
  box-shadow: inset 0 1px 2px rgba(31,45,54,.04);
}
.fnl-catalog-filters input:focus,
.fnl-catalog-filters select:focus,
.fnl-rating-form select:focus {
  border-color:#b97b0d;
  outline: 3px solid rgba(181,138,17,.15);
  outline-offset: 1px;
}
.fnl-catalog-filter-actions { align-items: center; }

/* Atalhos e nuvens de taxonomia */
.fnl-catalog-shortcuts {
  overflow: hidden;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-radius: 16px;
  border-color:var(--fnl-border);
  background:var(--fnl-panel);
}
.fnl-catalog-shortcuts a {
  position: relative;
  min-height: 112px;
  padding: 22px;
  border-right:1px solid var(--fnl-border);
  transition: background-color .18s ease, transform .18s ease;
}
.fnl-catalog-shortcuts a:last-child { border-right:0; }
.fnl-catalog-shortcuts a:hover,
.fnl-catalog-shortcuts a:focus-visible { background:rgba(240,181,0,.14); color:var(--fnl-yellow-2); }
.fnl-catalog-shortcuts strong { color:var(--fnl-text); font-size: 1rem; }
.fnl-catalog-shortcuts span { margin-top: 7px; color:var(--fnl-text); font-size: .82rem; line-height: 1.45; }
.fnl-taxonomy-cloud { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.fnl-taxonomy-cloud a {
  min-width: 0;
  padding: 16px;
  border:1px solid var(--fnl-border);
  border-radius: 12px;
  background:linear-gradient(180deg, var(--fnl-panel), var(--fnl-panel));
  box-shadow: 0 7px 18px rgba(31,45,54,.045);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.fnl-taxonomy-cloud a:hover,
.fnl-taxonomy-cloud a:focus-visible {
  transform: translateY(-2px);
  border-color:#d2a64c;
  box-shadow: 0 12px 25px rgba(31,45,54,.09);
}
.fnl-taxonomy-cloud strong { overflow-wrap: anywhere; color:var(--fnl-text); }
.fnl-taxonomy-cloud span { margin-top: 5px; color:var(--fnl-text); font-size: .74rem; }

/* Grade e cartões */
.fnl-catalog-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(14px, 1.55vw, 22px);
  align-items: stretch;
}
.fnl-catalog-card {
  min-width: 0;
  overflow: hidden;
  border:1px solid var(--fnl-border);
  border-radius: 15px;
  background:var(--fnl-panel);
  box-shadow: 0 10px 25px rgba(31,45,54,.075);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.fnl-catalog-card:hover,
.fnl-catalog-card:focus-within {
  transform: translateY(-4px);
  border-color:rgba(181,133,0,.45);
  box-shadow: 0 18px 38px rgba(31,45,54,.14);
}
.fnl-catalog-card-poster {
  aspect-ratio: 2 / 3;
  background:linear-gradient(145deg, var(--fnl-panel), var(--fnl-panel));
  border-bottom:1px solid var(--fnl-border);
}
.fnl-catalog-card-poster::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 26%;
  background:linear-gradient(transparent, rgba(16,24,29,.34));
  pointer-events: none;
}
.fnl-catalog-poster {
  transition: transform .35s ease, filter .35s ease;
}
.fnl-catalog-card:hover .fnl-catalog-poster { transform: scale(1.035); filter: saturate(1.04) contrast(1.02); }
.fnl-catalog-card-poster .fnl-type-badge {
  z-index: 1;
  top: 10px;
  left: 10px;
  padding: 6px 9px;
  border:1px solid rgba(21,29,35,.32);
  border-radius: 999px;
  background:rgba(25,34,40,.82);
  color:#ffffff;
  box-shadow: 0 5px 14px rgba(0,0,0,.2);
  backdrop-filter: blur(7px);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.fnl-catalog-card-copy {
  gap: 8px;
  padding: 15px;
}
.fnl-catalog-card h3 {
  margin: 0;
  font-size: clamp(.98rem, 1.15vw, 1.1rem);
  line-height: 1.28;
  letter-spacing: -.015em;
}
.fnl-catalog-card h3 a { color:var(--fnl-text); }
.fnl-catalog-meta { color:var(--fnl-text); font-size: .78rem; font-weight: 700; }
.fnl-catalog-card-copy > .fnl-muted {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 2.8em;
  margin: 0;
  color:var(--fnl-text);
  font-size: .78rem;
  line-height: 1.4;
}
.fnl-catalog-card .fnl-row-between {
  gap: 8px;
  padding-top: 3px;
  border-top:1px solid var(--fnl-border);
}
.fnl-catalog-card .fnl-score { color:var(--fnl-yellow-2); font-weight: 850; }
.fnl-catalog-card .fnl-row-between small { color:var(--fnl-text); font-size: .68rem; text-align: right; }
.fnl-catalog-excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color:var(--fnl-text);
  font-size: .8rem;
  line-height: 1.5;
}
.fnl-catalog-card-copy > .fnl-link { margin-top: auto; font-size: .8rem; font-weight: 850; }
.fnl-catalog-card .fnl-title-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding-top: 4px;
}
.fnl-catalog-card .fnl-inline-action,
.fnl-catalog-card .fnl-inline-action .fnl-btn { width: 100%; }
.fnl-catalog-card .fnl-btn-small {
  min-height: 34px;
  justify-content: center;
  border-radius: 8px;
  font-size: .68rem;
  line-height: 1.15;
}

/* Página individual */
.fnl-title-backdrop {
  height: clamp(250px, 34vw, 410px);
  margin-bottom: clamp(-285px, -22vw, -190px);
  background:linear-gradient(180deg, rgba(240,244,246,.12) 0%, rgba(241,245,247,.55) 58%, var(--fnl-panel) 100%),
    var(--fnl-title-backdrop) center 28% / cover no-repeat;
  filter: saturate(.82) contrast(.92);
}
.fnl-title-hero {
  grid-template-columns: minmax(210px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 46px);
  align-items: center;
  padding: clamp(22px, 3.2vw, 38px);
  border-color:var(--fnl-border);
  border-radius: 20px;
  background:rgba(21,29,35,.94);
  box-shadow: 0 24px 50px rgba(31,45,54,.14);
  backdrop-filter: blur(14px);
}
.fnl-title-poster-wrap {
  overflow: hidden;
  border:1px solid var(--fnl-border);
  border-radius: 14px;
  background:var(--fnl-panel);
  box-shadow: 0 18px 36px rgba(31,45,54,.18);
}
.fnl-title-poster { transition: transform .35s ease; }
.fnl-title-poster-wrap:hover .fnl-title-poster { transform: scale(1.025); }
.fnl-title-hero h1 {
  margin: .08em 0 .2em;
  color:var(--fnl-text);
  font-size: clamp(2.35rem, 5vw, 4.65rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.fnl-title-meta-line { margin: 0 0 14px; color:var(--fnl-text); font-weight: 700; }
.fnl-title-rating-summary { flex-wrap: wrap; gap: 12px; margin: 22px 0; }
.fnl-title-rating-summary div {
  min-width: 155px;
  padding: 14px 17px;
  border:1px solid var(--fnl-border);
  border-radius: 12px;
  background:linear-gradient(180deg, var(--fnl-panel), var(--fnl-panel));
  box-shadow: 0 7px 18px rgba(31,45,54,.05);
}
.fnl-title-rating-summary span,
.fnl-title-rating-summary small { color:var(--fnl-text); font-size: .72rem; }
.fnl-title-rating-summary strong { color:var(--fnl-yellow-2); font-size: 1.8rem; }
.fnl-title-content-grid {
  grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
  gap: clamp(16px, 2vw, 24px);
  align-items: start;
}
.fnl-title-content-grid .fnl-panel { border-radius: 16px; }
.fnl-title-content-grid h2 { margin-top: 0; }
.fnl-title-synopsis .fnl-article-content { color:var(--fnl-text); font-size: 1rem; line-height: 1.75; }
.fnl-title-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fnl-title-facts div {
  padding: 13px 14px;
  border:1px solid var(--fnl-border);
  border-radius: 10px;
  background:var(--fnl-panel);
}
.fnl-title-facts dt { color:var(--fnl-text); font-size: .69rem; letter-spacing: .045em; }
.fnl-title-facts dd { color:var(--fnl-text); font-weight: 700; overflow-wrap: anywhere; }
.fnl-responsive-embed { overflow: hidden; border-radius: 14px; background:#11181e; box-shadow: 0 12px 30px rgba(31,45,54,.15); }
.fnl-platform-list li { border-bottom-color:var(--fnl-border); }
.fnl-platform-list a {
  display: flex;
  align-items: center;
  min-height: 38px;
  color:var(--fnl-text);
  font-weight: 750;
}
.fnl-platform-list a::before {
  content: '▶';
  margin-right: 9px;
  color:var(--fnl-yellow-2);
  font-size: .67rem;
}
.fnl-rating-form { flex-wrap: wrap; gap: 12px; }
.fnl-rating-form label { min-width: 180px; }

/* Paginação e estado vazio */
.fnl-pagination ul { flex-wrap: wrap; justify-content: center; gap: 8px; }
.fnl-pagination a,
.fnl-pagination span {
  min-width: 42px;
  height: 42px;
  border-color:var(--fnl-border);
  border-radius: 9px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
  font-weight: 750;
}
.fnl-pagination a:hover,
.fnl-pagination a:focus-visible { border-color:#c68c22; background:rgba(240,181,0,.14); color:var(--fnl-yellow-2); }
.fnl-pagination .current { border-color:#b47400; background:#d79200; color:var(--fnl-green); }
.fnl-empty-state {
  padding: clamp(34px, 6vw, 64px);
  border:1px dashed var(--fnl-border);
  border-radius: 16px;
  background:linear-gradient(180deg, var(--fnl-panel), var(--fnl-panel));
  text-align: center;
  box-shadow: none;
}
.fnl-empty-state h3 { margin-top: 0; color:var(--fnl-text); }

@media (max-width: 1320px) {
  .fnl-catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .fnl-taxonomy-cloud { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1040px) {
  .fnl-catalog-hero { grid-template-columns: 1fr; }
  .fnl-catalog-hero-stats { max-width: 720px; }
  .fnl-catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fnl-catalog-filters > label:first-child { grid-column: span 2; }
  .fnl-catalog-filter-actions { grid-column: span 2; }
  .fnl-title-content-grid { grid-template-columns: 1fr; }
  .fnl-title-content-grid > aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .fnl-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fnl-catalog-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fnl-catalog-shortcuts a:nth-child(2) { border-right:0; }
  .fnl-catalog-shortcuts a { border-bottom:1px solid var(--fnl-border); }
  .fnl-catalog-shortcuts a:nth-last-child(-n+2) { border-bottom:0; }
  .fnl-title-hero { grid-template-columns: minmax(170px, 220px) minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .fnl-catalog-home,
  .fnl-catalog-archive-page,
  .fnl-title-page { gap: 18px; }
  .fnl-catalog-hero { padding: 24px 20px; border-radius: 15px; }
  .fnl-catalog-hero-stats { grid-template-columns: 1fr; }
  .fnl-catalog-hero-stats div { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; text-align: left; }
  .fnl-catalog-hero-stats span { margin-top: 0; text-align: right; }
  .fnl-catalog-page-head { align-items: stretch; flex-direction: column; padding: 22px 18px; }
  .fnl-catalog-page-head .fnl-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .fnl-catalog-page-head .fnl-btn { justify-content: center; }
  .fnl-catalog-filters,
  .fnl-catalog-filters > label:first-child,
  .fnl-catalog-filter-actions { grid-template-columns: 1fr; grid-column: auto; }
  .fnl-catalog-filter-actions { display: grid; }
  .fnl-catalog-filter-actions .fnl-btn { width: 100%; justify-content: center; }
  .fnl-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .fnl-catalog-card { border-radius: 11px; }
  .fnl-catalog-card-copy { padding: 11px; gap: 6px; }
  .fnl-catalog-card-copy > .fnl-muted,
  .fnl-catalog-excerpt { display: none; }
  .fnl-catalog-card h3 { font-size: .9rem; }
  .fnl-catalog-card .fnl-row-between small { display: none; }
  .fnl-catalog-card .fnl-title-actions { display: none; }
  .fnl-taxonomy-cloud { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fnl-title-backdrop { height: 220px; margin-bottom: -145px; }
  .fnl-title-hero { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 17px; border-radius: 15px; align-items: start; }
  .fnl-title-hero h1 { font-size: clamp(1.7rem, 9vw, 2.55rem); }
  .fnl-title-meta-line { font-size: .78rem; }
  .fnl-title-hero-copy .fnl-actions { gap: 5px; }
  .fnl-title-hero-copy .fnl-chip { padding: 5px 7px; font-size: .65rem; }
  .fnl-title-rating-summary { display: grid; grid-template-columns: 1fr 1fr; margin: 14px 0; }
  .fnl-title-rating-summary div { min-width: 0; padding: 10px; }
  .fnl-title-rating-summary strong { font-size: 1.35rem; }
  .fnl-title-hero-copy > .fnl-title-actions { grid-column: 1 / -1; }
  .fnl-title-content-grid > aside { grid-template-columns: 1fr; }
  .fnl-title-facts { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  .fnl-catalog-grid { grid-template-columns: 1fr 1fr; }
  .fnl-catalog-shortcuts,
  .fnl-taxonomy-cloud { grid-template-columns: 1fr; }
  .fnl-catalog-shortcuts a { border-right:0; border-bottom:1px solid var(--fnl-border) !important; }
  .fnl-catalog-shortcuts a:last-child { border-bottom:0 !important; }
  .fnl-title-hero { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; }
  .fnl-title-rating-summary { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .fnl-catalog-card,
  .fnl-catalog-poster,
  .fnl-taxonomy-cloud a,
  .fnl-title-poster { transition: none !important; }
  .fnl-catalog-card:hover,
  .fnl-taxonomy-cloud a:hover { transform: none; }
}

/* ==========================================================
   PARTE 6 DE 8 — DESAFIO, QUIZ, RANKING E PERFIL (VISUAL)
   Somente apresentação. Nenhuma regra de negócio é alterada.
   ========================================================== */

/* Áreas principais e painéis */
.fnl-challenge-layout,
.fnl-profile-real,
.fnl-ranking-card,
.fnl-auth-card,
.fnl-quiz-card,
.fnl-quiz-result,
.fnl-challenge-movie-card,
.fnl-ranking-history-item {
  color:var(--fnl-text);
}

.fnl-challenge-content .fnl-panel,
.fnl-challenge-left-sidebar .fnl-panel,
.fnl-challenge-right-sidebar .fnl-panel,
.fnl-profile-real,
.fnl-profile-ranking-summary,
.fnl-profile-list-section,
.fnl-ranking-card,
.fnl-my-ranking,
.fnl-auth-card {
  border:1px solid var(--fnl-border);
  border-radius: 16px;
  background:var(--fnl-panel);
  box-shadow: 0 10px 28px rgba(29, 45, 54, .07);
}

.fnl-panel-title,
.fnl-ranking-head {
  border-color:var(--fnl-border);
}

.fnl-panel-title h2,
.fnl-ranking-head h2,
.fnl-auth-card h1,
.fnl-profile-real h1 {
  color:var(--fnl-text);
}

/* Desafio */
.fnl-challenge-main {
  overflow: hidden;
  border:1px solid var(--fnl-yellow);
  border-radius: 18px;
  background:radial-gradient(circle at 14% 45%, rgba(215, 168, 0, .15), transparent 30%),
    linear-gradient(135deg, var(--fnl-panel) 0%, var(--fnl-panel) 70%, var(--fnl-panel) 100%);
  box-shadow: 0 16px 40px rgba(39, 52, 60, .09);
}

.fnl-challenge-copy h1,
.fnl-challenge-movie-info h2 {
  color:var(--fnl-text);
  text-wrap: balance;
}

.fnl-challenge-prize { color:var(--fnl-text); }
.fnl-challenge-period,
.fnl-challenge-copy .fnl-muted { color:var(--fnl-text); }
.fnl-challenge-trophy { filter: drop-shadow(0 14px 18px rgba(117, 86, 0, .18)); }

.fnl-challenge-start-preview > div,
.fnl-progress-box,
.fnl-challenge-summary,
.fnl-challenge-ranking-summary {
  border:1px solid var(--fnl-border);
  border-radius: 13px;
  background:linear-gradient(180deg, var(--fnl-panel), var(--fnl-panel));
}

.fnl-challenge-start-preview strong { color:var(--fnl-yellow-2); }
.fnl-challenge-start-preview span { color:var(--fnl-text); }

.fnl-challenge-movie-card {
  border-color:var(--fnl-yellow);
  border-radius: 16px;
  background:radial-gradient(circle at 8% 16%, rgba(215, 168, 0, .12), transparent 31%),
    var(--fnl-panel);
  box-shadow: 0 14px 34px rgba(33, 48, 57, .08);
}

.fnl-challenge-movie-art {
  border-color:var(--fnl-border);
  border-radius: 12px;
  background:var(--fnl-panel);
  box-shadow: 0 8px 24px rgba(37, 50, 57, .12);
}

.fnl-challenge-action-form label { color:var(--fnl-text); }
.fnl-challenge-action-form select,
.fnl-challenge-action-form input {
  border-color:var(--fnl-border);
  border-radius: 10px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
}
.fnl-challenge-action-form select:focus,
.fnl-challenge-action-form input:focus {
  border-color:#b47400;
  box-shadow: 0 0 0 3px rgba(215, 168, 0, .18);
  outline: 0;
}

.fnl-challenge-real-ranking li.is-current-user {
  background:rgba(240,181,0,.14);
  box-shadow: inset 4px 0 0 #c78100;
}

/* Quiz */
.fnl-quiz-ready {
  border-color:var(--fnl-yellow);
  border-radius: 14px;
  background:var(--fnl-panel);
}

.fnl-quiz-card {
  border-color:#d79a1e;
  border-radius: 17px;
  background:linear-gradient(180deg, var(--fnl-panel) 0%, var(--fnl-panel) 100%);
  box-shadow: 0 18px 42px rgba(45, 59, 67, .12);
}

.fnl-quiz-card > h3 { color:var(--fnl-text); text-wrap: balance; }
.fnl-quiz-progress { border-radius: 999px; background:var(--fnl-panel); }
.fnl-quiz-progress span { border-radius: inherit; background:linear-gradient(90deg, #d79200, rgba(240,181,0,.14)); }

.fnl-quiz-timer {
  background:conic-gradient(#d79200 calc(var(--fnl-quiz-time)*360deg), var(--fnl-panel) 0);
  box-shadow: 0 7px 18px rgba(76, 65, 25, .13);
}
.fnl-quiz-timer::after { background:var(--fnl-panel); }
.fnl-quiz-timer strong { color:var(--fnl-text); }
.fnl-quiz-timer span { color:var(--fnl-text); }

.fnl-quiz-options span {
  border-color:var(--fnl-border);
  border-radius: 11px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
  box-shadow: 0 3px 10px rgba(42, 55, 62, .035);
}
.fnl-quiz-options label:hover span {
  border-color:#c78a12;
  background:var(--fnl-panel);
}
.fnl-quiz-options input:checked + span {
  border-color:#bd7d00;
  background:rgba(240,181,0,.14);
  box-shadow: inset 4px 0 0 #c78100;
}
.fnl-quiz-hint {
  border-left-color:#c78100;
  border-radius: 0 10px 10px 0;
  background:var(--fnl-panel);
  color:var(--fnl-text);
}

.fnl-quiz-result {
  border-radius: 15px;
  background:var(--fnl-panel);
}
.fnl-quiz-result.is-valid { border-color:#8db273; background:var(--fnl-panel); }
.fnl-quiz-result.is-invalid { border-color:#d68e90; background:var(--fnl-panel); }
.fnl-quiz-result.is-valid .fnl-quiz-result-mark { color:var(--fnl-green); }
.fnl-quiz-result.is-invalid .fnl-quiz-result-mark { color:var(--fnl-danger); }

/* Ranking */
.fnl-ranking-card { overflow: clip; background:var(--fnl-panel); }
.fnl-ranking-head { padding: 17px 18px; background:linear-gradient(180deg, var(--fnl-panel), var(--fnl-panel)); }
.fnl-ranking-head h2 { color:var(--fnl-yellow-2); }

.fnl-ranking-row,
.fnl-participant-list li {
  border-color:var(--fnl-border);
  background:transparent;
}
.fnl-ranking-row:hover,
.fnl-participant-list li:hover { background:var(--fnl-panel); }
.fnl-ranking-current-user {
  outline-color:var(--fnl-yellow-2);
  background:rgba(240,181,0,.14);
}
.fnl-ranking-tabs a {
  border-radius: 999px;
  border-color:var(--fnl-border);
  background:var(--fnl-panel);
  color:var(--fnl-text);
}
.fnl-ranking-tabs a:hover,
.fnl-ranking-tabs a:focus-visible { border-color:#c68c22; background:rgba(240,181,0,.14); color:var(--fnl-yellow-2); }
.fnl-ranking-tabs a[aria-current="page"] { border-color:#c78100; background:#d79200; color:var(--fnl-green); }

.fnl-ranking-history-item {
  border-color:var(--fnl-border);
  border-radius: 13px;
  background:linear-gradient(180deg, var(--fnl-panel), var(--fnl-panel));
}
.fnl-ranking-history-item strong { color:var(--fnl-yellow-2); }
.fnl-my-ranking h2 { color:var(--fnl-yellow-2); }

/* Perfil */
.fnl-profile-head-premium,
.fnl-profile-real {
  padding: clamp(18px, 3vw, 28px);
}
.fnl-profile-real > .fnl-avatar-photo,
.fnl-profile-head-premium > .fnl-avatar-photo {
  border:4px solid var(--fnl-border);
  box-shadow: 0 0 0 2px #cc890d, 0 10px 24px rgba(36, 49, 57, .16);
}
.fnl-profile-stats .fnl-stat,
.fnl-profile-catalog-stats .fnl-stat,
.fnl-profile-challenge-stats .fnl-stat {
  border:1px solid var(--fnl-border);
  border-radius: 12px;
  background:var(--fnl-panel);
}
.fnl-profile-stats .fnl-stat strong,
.fnl-profile-catalog-stats .fnl-stat strong,
.fnl-profile-challenge-stats .fnl-stat strong { color:var(--fnl-yellow-2); }

.fnl-profile-list-item {
  padding: 10px;
  border:1px solid var(--fnl-border);
  border-radius: 12px;
  background:var(--fnl-panel);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.fnl-profile-list-item:hover {
  transform: translateY(-2px);
  border-color:var(--fnl-yellow);
  box-shadow: 0 10px 24px rgba(35, 49, 57, .09);
}
.fnl-profile-list-poster,
.fnl-profile-poster-card img {
  border:0;
  border-radius: 9px;
  background:var(--fnl-panel);
}
.fnl-profile-rating-list li,
.fnl-activity-list li,
.fnl-comment-list li { border-color:var(--fnl-border); }

/* Login e cadastro */
.fnl-auth-shell { padding-block: clamp(28px, 6vw, 70px); }
.fnl-auth-card { padding: clamp(22px, 4vw, 38px); text-align: center; }
.fnl-auth-card label,
.fnl-form label,
.fnl-form fieldset { color:var(--fnl-text); }
.fnl-auth-card input[type="text"],
.fnl-auth-card input[type="password"],
.fnl-auth-card input[type="email"],
.fnl-form input,
.fnl-form select,
.fnl-form textarea {
  border-color:var(--fnl-border);
  border-radius: 10px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
}
.fnl-auth-card input:focus,
.fnl-form input:focus,
.fnl-form select:focus,
.fnl-form textarea:focus {
  border-color:#b47400;
  box-shadow: 0 0 0 3px rgba(215, 168, 0, .17);
}
.fnl-auth-links { border-color:var(--fnl-border); }
.fnl-auth-tabs { overflow: hidden; border-color:var(--fnl-border); border-radius: 11px; background:var(--fnl-panel); }
.fnl-auth-tabs a { color:var(--fnl-text); }
.fnl-auth-tabs a.is-active { background:#d79200; color:var(--fnl-green); }
.fnl-avatar-picker img { box-shadow: 0 5px 15px rgba(41, 54, 61, .12); }
.fnl-avatar-picker input:checked + img { border-color:#c78100; box-shadow: 0 0 0 4px rgba(215, 168, 0, .22); }

.fnl-notice { border-radius: 10px; border-color:var(--fnl-border); background:var(--fnl-panel); color:var(--fnl-text); }
.fnl-notice-success { border-color:#86ab6c; background:var(--fnl-panel); }
.fnl-notice-error { border-color:#cf8083; background:var(--fnl-panel); }

/* Responsividade e acessibilidade */
@media (max-width: 760px) {
  .fnl-challenge-content .fnl-segment-progress { gap: 5px; }
  .fnl-challenge-content .fnl-segment-progress > * { min-width: 0; font-size: .72rem; }
  .fnl-ranking-head { align-items: flex-start; gap: 8px; flex-direction: column; }
  .fnl-ranking-row { grid-template-columns: 30px 38px minmax(0,1fr) auto; }
  .fnl-ranking-row > :last-child:not(.fnl-ranking-person) { font-size: .75rem; }
  .fnl-profile-list-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .fnl-challenge-main,
  .fnl-challenge-movie-card,
  .fnl-quiz-card,
  .fnl-auth-card,
  .fnl-profile-real { border-radius: 13px; }
  .fnl-challenge-copy h1 { font-size: clamp(2rem, 12vw, 3rem); }
  .fnl-ranking-row { grid-template-columns: 28px 34px minmax(0,1fr); }
  .fnl-ranking-row > :last-child { grid-column: 3; }
  .fnl-profile-list-grid { gap: 8px; }
  .fnl-avatar-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .fnl-profile-list-item,
  .fnl-quiz-options span { transition: none !important; }
  .fnl-profile-list-item:hover,
  .fnl-quiz-options label:hover span { transform: none; }
}

/* =========================================================
   Parte 7 de 8 — Anúncios e monetização visual (v1.9.25)
   Apenas aparência, espaçamento, acessibilidade e responsividade.
   ========================================================= */
:root {
  --fnl-ad-border:var(--fnl-yellow);
  --fnl-ad-soft: #1c1610;
  --fnl-ad-text: var(--fnl-text);
  --fnl-ad-muted: var(--fnl-muted);
  --fnl-ad-shadow: 0 12px 30px rgba(0,0,0,.38);
}

.fnl-ad-top-wrap,
.fnl-ad-panel-footer {
  width: min(100%, 1280px);
}

.fnl-ad-panel {
  position: relative;
  border:1px solid rgba(172, 139, 38, .28);
  border-radius: 18px;
  background:var(--fnl-panel);
  box-shadow: var(--fnl-ad-shadow);
}

.fnl-ad-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(21,29,35,.72);
  z-index: 3;
}

.fnl-ad-panel-top {
  min-height: clamp(96px, 9vw, 132px);
}

.fnl-ad-panel-inline,
.fnl-ad-panel-footer {
  min-height: clamp(118px, 12vw, 156px);
}


.fnl-ad-slot {
  min-height: inherit;
  border:0;
  border-radius: inherit;
  background-color:var(--fnl-ad-soft);
  color:var(--fnl-ad-text);
}

.fnl-ad-slot:not(.has-image) {
  background:radial-gradient(circle at 90% 15%, rgba(218,173,42,.13), transparent 30%),
    linear-gradient(135deg, var(--fnl-panel) 0%, var(--fnl-panel) 100%);
}

.fnl-ad-slot:not(.has-image)::after {
  background:linear-gradient(110deg, rgba(21,29,35,.98), rgba(251,247,235,.92));
}

.fnl-ad-slot.has-image::before {
  filter: saturate(.9) contrast(1.03);
}

.fnl-ad-slot.has-image::after {
  background:linear-gradient(90deg, rgba(20,27,32,.90) 0%, rgba(20,27,32,.68) 52%, rgba(20,27,32,.18) 100%);
}

.fnl-ad-overlay {
  gap: 8px;
  max-width: 760px;
  padding: clamp(18px, 2.4vw, 30px);
}

.fnl-ad-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  padding: 4px 8px;
  border:1px solid rgba(166,123,0,.28);
  border-radius: 999px;
  background:rgba(21,29,35,.68);
  color:var(--fnl-yellow-2);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1;
}

.fnl-ad-slot.has-image .fnl-ad-label {
  border-color:rgba(21,29,35,.28);
  background:rgba(11,16,20,.42);
  color:#ffd58a;
}

.fnl-ad-overlay strong {
  max-width: 24ch;
  color:var(--fnl-ad-text);
  font-size: clamp(1.1rem, 1.8vw, 1.55rem);
  line-height: 1.15;
  text-wrap: balance;
}

.fnl-ad-overlay > span:not(.fnl-ad-demo-button) {
  max-width: 58ch;
  color:var(--fnl-ad-muted);
  font-size: .94rem;
  line-height: 1.55;
}

.fnl-ad-demo-button {
  min-height: 38px;
  padding: 8px 15px;
  border-color:rgba(166,123,0,.38);
  background:var(--fnl-panel);
  color:var(--fnl-yellow-2);
  box-shadow: 0 4px 12px rgba(112,82,0,.08);
}

.fnl-ad-visual:focus-visible {
  outline: 3px solid rgba(205,151,0,.45);
  outline-offset: 4px;
}

.fnl-ad-visual:hover .fnl-ad-demo-button,
.fnl-ad-visual:focus-visible .fnl-ad-demo-button {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(112,82,0,.16);
}


.fnl-ad-code {
  width: 100%;
  min-height: inherit;
  padding: 10px;
  background:var(--fnl-panel);
  overflow: hidden;
}

.fnl-ad-code > * {
  max-width: 100% !important;
}

.fnl-ad-code iframe,
.fnl-ad-code ins,
.fnl-ad-code img {
  max-width: 100% !important;
}

.fnl-ad-consent-pending {
  min-height: inherit;
  background:linear-gradient(135deg, var(--fnl-panel), var(--fnl-panel));
}

.fnl-ad-consent-pending .fnl-ad-overlay {
  align-items: center;
  justify-content: center;
  max-width: none;
  text-align: center;
}

.fnl-ad-consent-pending strong {
  color:var(--fnl-text);
}

.fnl-ad-consent-pending span {
  max-width: 52ch !important;
  color:var(--fnl-text) !important;
}

/* Evita que anúncios encostem no conteúdo editorial. */
.fnl-ad-panel + .fnl-panel,
.fnl-panel + .fnl-ad-panel {
  margin-top: 18px;
}

.entry-content > .fnl-ad-panel,
.fnl-main > .fnl-ad-panel {
  margin-block: clamp(24px, 4vw, 42px);
}

@media (max-width: 980px) {
  .fnl-ad-slot.has-image::after {
    background:linear-gradient(90deg, rgba(20,27,32,.90), rgba(20,27,32,.54));
  }
}

@media (max-width: 640px) {
  .fnl-ad-top-wrap {
    margin-block: 12px 16px;
  }

  .fnl-ad-panel,
  .fnl-ad-slot {
    border-radius: 14px;
  }

  .fnl-ad-panel-top,
  .fnl-ad-panel-inline,
  .fnl-ad-panel-footer {
    min-height: 170px;
  }

  .fnl-ad-overlay {
    min-height: 170px;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 18px;
    text-align: left;
  }

  .fnl-ad-slot:not(.has-image)::after {
    background:linear-gradient(180deg, rgba(21,29,35,.66), rgba(250,246,234,.98));
  }

  .fnl-ad-slot.has-image::after {
    background:linear-gradient(180deg, rgba(20,27,32,.18), rgba(20,27,32,.92) 72%);
  }

  .fnl-ad-overlay strong {
    font-size: 1.18rem;
  }

  .fnl-ad-overlay > span:not(.fnl-ad-demo-button) {
    font-size: .88rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fnl-ad-slot::before,
  .fnl-ad-demo-button {
    transition: none !important;
    transform: none !important;
  }
}

/* ================================================================
   Parte 8 de 8 — Acessibilidade e auditoria visual final (v1.9.26)
   Camada final de consistência, foco, contraste e responsividade.
   ================================================================ */

:root {
  --fnl-focus-ring: var(--fnl-yellow-2);
  --fnl-focus-halo: rgba(255, 196, 0, .28);
  --fnl-readable-width: 72ch;
  --fnl-touch-target: 44px;
}

html {
  scroll-padding-top: 132px;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-wrap: break-word;
  word-break: normal;
}

/* Link para pular conteúdo: invisível até receber foco. */
body > .screen-reader-text:first-child {
  position: fixed !important;
  top: 10px;
  left: 10px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip: auto;
  clip-path: none;
  border:2px solid var(--fnl-focus-ring);
  border-radius: 10px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
  font-weight: 800;
  box-shadow: 0 8px 28px rgba(18, 29, 36, .18);
  transform: translateY(-160%);
  transition: transform .16s ease;
}

body > .screen-reader-text:first-child:focus {
  transform: translateY(0);
}

/* Foco consistente em todos os controles interativos. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--fnl-focus-ring);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--fnl-focus-halo);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible) {
  outline: none;
}

/* Alvos de toque seguros sem alterar a estrutura das telas. */
:where(.fnl-btn, .fnl-nav a, .fnl-menu-toggle, .fnl-search button, .fnl-pagination a, .fnl-pagination span, input[type="submit"], button) {
  min-height: var(--fnl-touch-target);
}

.fnl-nav a,
.fnl-profile-mini,
.fnl-profile-dropdown a {
  display: inline-flex;
  align-items: center;
}

/* Conteúdo editorial mais legível. */
.entry-content,
.fnl-article-content,
.fnl-prose {
  line-height: 1.75;
}

.entry-content > :where(p, ul, ol, blockquote),
.fnl-article-content > :where(p, ul, ol, blockquote),
.fnl-prose > :where(p, ul, ol, blockquote) {
  max-width: var(--fnl-readable-width);
}

.entry-content :where(h2, h3, h4),
.fnl-article-content :where(h2, h3, h4),
.fnl-prose :where(h2, h3, h4) {
  scroll-margin-top: 142px;
  text-wrap: balance;
}

:where(.fnl-card-title, .fnl-section-title, .fnl-page-title, .entry-title, h1, h2, h3) {
  text-wrap: balance;
}

:where(p, li, .fnl-muted, .fnl-card-excerpt) {
  text-wrap: pretty;
}

/* Imagens, vídeos e embeds nunca ultrapassam a tela. */
:where(img, video, iframe, embed, object, svg) {
  max-width: 100%;
}

iframe {
  border:0;
}

.entry-content iframe,
.fnl-article-content iframe,
.fnl-trailer iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border-radius: 14px;
}

/* Tabelas continuam utilizáveis em telas estreitas. */
.entry-content table,
.fnl-article-content table,
.fnl-table {
  width: 100%;
  border-collapse: collapse;
}

.entry-content :where(th, td),
.fnl-article-content :where(th, td),
.fnl-table :where(th, td) {
  padding: 12px 14px;
  border:1px solid rgba(49, 64, 73, .18);
  text-align: left;
  vertical-align: top;
}

.entry-content th,
.fnl-article-content th,
.fnl-table th {
  background:var(--fnl-panel);
  color:var(--fnl-text);
}

/* Evita estouro horizontal em áreas complexas. */
:where(.fnl-page, .fnl-shell, .fnl-grid, .fnl-panel, .fnl-card, .fnl-article, .fnl-profile, .fnl-ranking, .fnl-challenge) {
  min-width: 0;
}

:where(.fnl-card, .fnl-panel, .fnl-article) :where(a, p, span, strong) {
  overflow-wrap: anywhere;
}

/* Estados desabilitados claros e previsíveis. */
:where(button, input, select, textarea):disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
  filter: grayscale(.12);
}

/* Mensagens mantêm contraste suficiente. */
:where(.fnl-notice, .fnl-alert, .fnl-message, .fnl-error, .fnl-success) {
  border-width: 1px;
  border-style: solid;
}

.fnl-error,
.fnl-notice-error {
  color:var(--fnl-danger);
  background:var(--fnl-panel);
  border-color:#d69c9d;
}

.fnl-success,
.fnl-notice-success {
  color:var(--fnl-green);
  background:var(--fnl-panel);
  border-color:#8ac598;
}

/* Placeholder legível sem competir com o conteúdo preenchido. */
::placeholder {
  color:var(--fnl-text);
  opacity: 1;
}

/* Seleção de texto alinhada à identidade dourada. */
::selection {
  background:rgba(240,181,0,.14);
  color:var(--fnl-text);
}

/* Auditoria responsiva final. */
@media (max-width: 980px) {
  html { scroll-padding-top: 92px; }

  .entry-content :where(h2, h3, h4),
  .fnl-article-content :where(h2, h3, h4),
  .fnl-prose :where(h2, h3, h4) {
    scroll-margin-top: 102px;
  }

  .fnl-quiz-card {
    scroll-margin-top: 102px;
  }

  .fnl-shell {
    width: min(100% - 32px, var(--fnl-shell, 1180px));
  }
}

@media (max-width: 640px) {
  .fnl-shell {
    width: min(100% - 24px, var(--fnl-shell, 1180px));
  }

  :where(h1, .fnl-page-title) {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }

  :where(h2, .fnl-section-title) {
    font-size: clamp(1.35rem, 6vw, 1.8rem);
  }

  .entry-content table,
  .fnl-article-content table,
  .fnl-table {
    display: block;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    font-size: 16px; /* Evita zoom automático no iOS. */
  }
}

/* Preferências do sistema operacional. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }

  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --fnl-focus-ring: #ffd166;
    --fnl-focus-halo: rgba(255, 224, 102, .5);
  }

  :where(.fnl-card, .fnl-panel, input, select, textarea, .fnl-btn) {
    border-color:#7a8794;
  }

  .fnl-muted {
    color:var(--fnl-text);
  }
}

/* Impressão limpa para artigos e páginas institucionais. */
@media print {
  .fnl-topbar,
  .fnl-nav,
  .fnl-ad-panel,
  .fnl-ad-slot,
  .fnl-newsletter,
  .fnl-comments,
  footer,
  .fnl-btn {
    display: none !important;
  }

  body,
  .fnl-page,
  .fnl-panel,
  .fnl-article {
    background:var(--fnl-panel) !important;
    color:var(--fnl-text) !important;
    box-shadow: none !important;
    border:0 !important;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: .85em;
    word-break: break-all;
  }
}


/* 1.9.27 — Correções do sorteador e contraste do modal do desafio. */
.fnl-modal-dialog {
  background:var(--fnl-panel);
  color:var(--fnl-text);
  border-color:var(--fnl-border);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
  border-radius: 12px;
}
.fnl-modal-dialog h2,
.fnl-modal-dialog li,
.fnl-modal-dialog p:not(.fnl-kicker) { color:var(--fnl-text); }
.fnl-modal-dialog .fnl-kicker { color:var(--fnl-yellow-2); }
.fnl-modal-dialog ol { color:var(--fnl-text); }
.fnl-modal-dialog li::marker { color:var(--fnl-yellow-2); font-weight: 700; }
.fnl-modal-close { color:var(--fnl-text); border-radius: 8px; }
.fnl-modal-close:hover,
.fnl-modal-close:focus-visible { background:var(--fnl-panel); color:var(--fnl-text); }
.fnl-modal-backdrop { background:rgba(15, 23, 42, .58); }
.fnl-search-feedback:not(:empty) {
  margin-top: 12px;
  padding: 10px 12px;
  border:1px solid var(--fnl-border);
  border-radius: 8px;
  background:var(--fnl-panel);
  color:var(--fnl-text);
}
.fnl-search-feedback.is-warning {
  border-color:#e4a844;
  background:rgba(240,181,0,.14);
  color:var(--fnl-yellow-2);
}


/* 1.9.28/1.9.29 — headers/nav/busca: sem redefinir a paleta, já herda o :root escuro do topo do arquivo. */
.fnl-topbar { background:linear-gradient(135deg, #0b1016, #141c24); border-bottom-color:var(--fnl-border); box-shadow: 0 5px 18px rgba(0,0,0,.38); }
.fnl-brand, .fnl-brand a, .fnl-profile-mini { color:var(--fnl-text); }
.fnl-brand small { color:var(--fnl-muted); }
.fnl-search { background:var(--fnl-bg-soft); border-color:var(--fnl-border); border-radius:10px; overflow:hidden; }
.fnl-search input { color:var(--fnl-text); }
.fnl-nav { background:rgba(12,17,21,.97); border-color:var(--fnl-border); box-shadow: 0 3px 12px rgba(0,0,0,.32); }
.fnl-nav a { color:var(--fnl-text); }
.fnl-dashboard-grid { gap:16px; }
.fnl-sidebar .fnl-panel { background:rgba(21,29,35,.94); }
@media (max-width: 760px) { .fnl-topbar { background:#0b1016; } }

/* Os 4 pontos abaixo já herdam a cor correta agora que a paleta voltou a ser
   escura no :root — não precisam mais de uma cor própria "de leitura em fundo
   claro" como antes; var(--fnl-yellow-2) já é clara o bastante sobre o fundo
   escuro real do tema. */
.fnl-filter-toggle { color:var(--fnl-yellow-2); }
.fnl-filter-toggle-icon { color:var(--fnl-yellow); }
.fnl-search button { color:var(--fnl-yellow); }
.fnl-footer h3 { color:var(--fnl-yellow-2); }

/*
 * Lei de Fitts: o alvo (botão) mais importante da tela deve ser o maior e
 * mais fácil de acertar. Hoje o CTA principal ("Deixe a Sorte Escolher") e o
 * secundário ("Ver sugestões") têm exatamente o mesmo tamanho — isso reduz
 * a hierarquia visual e obriga o olho a ler o texto para saber qual ação é
 * a prioritária. Aumentamos só o primário, mantendo o secundário como está.
 */
.fnl-hero .fnl-actions .fnl-btn-primary {
  padding: 15px 28px;
  font-size: 13px;
  min-height: 52px;

}


/* 1.9.31 - Parte 2/14: limpeza e organização sem alteração visual. */
.fnl-block { display: block; }
.fnl-error-page,
.fnl-ranking-hero { text-align: center; }
.fnl-error-code { font-size: 70px; }
.fnl-feature-icon { font-size: 28px; }
.fnl-randomizer-title { margin: 4px 0 0; }
.fnl-randomizer-controls { margin-top: 15px; }
.fnl-randomizer-result { margin-top: 10px; }
.fnl-randomizer-result-title { margin: 0; font-size: 32px; }
.fnl-randomizer-actions { margin-top: 16px; }


/* ===== Parte 3 de 14 - publicidade editorial segura (1.9.32) ===== */
.fnl-ad-panel{
  margin-block:clamp(18px,3vw,34px);
  padding:12px;
  background:var(--fnl-panel);
  border:1px solid var(--fnl-border);
  box-shadow:none;
}
.fnl-ad-disclosure{
  margin:0 0 8px;
  color:var(--fnl-text);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.09em;
  line-height:1.2;
  text-transform:uppercase;
}
.fnl-ad-code{
  min-height:0;
  overflow:hidden;
  text-align:center;
}
.fnl-ad-code iframe,
.fnl-ad-code ins,
.fnl-ad-code img{
  max-width:100%;
}
.fnl-ad-slot.fnl-ad-custom{
  min-height:150px;
  cursor:default;
}
.fnl-ad-custom .fnl-ad-overlay{
  align-items:flex-start;
  justify-content:center;
  pointer-events:none;
}
.fnl-ad-custom .fnl-ad-demo-button{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
  text-decoration:none;
}
.fnl-ad-custom:hover .fnl-ad-demo-button{
  transform:none;
  box-shadow:0 4px 12px rgba(112,82,0,.08);
}
.fnl-ad-custom .fnl-ad-demo-button:hover,
.fnl-ad-custom .fnl-ad-demo-button:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(112,82,0,.16);
}
.fnl-ad-panel-inline{
  margin-inline:0;
}
.fnl-ad-panel-footer{
  margin-bottom:clamp(24px,4vw,48px);
}
@media(max-width:760px){
  .fnl-ad-panel{padding:9px}
  .fnl-ad-slot.fnl-ad-custom{min-height:130px}
}

/* 1.9.33 - painel granular de consentimento */
.fnl-cookie-banner[hidden],
.fnl-cookie-preferences[hidden],
.fnl-cookie-actions[hidden]{display:none!important}
.fnl-cookie-banner{align-items:flex-start;max-height:min(86vh,760px);overflow:auto;overscroll-behavior:contain}
.fnl-cookie-copy{min-width:0;flex:1 1 420px}
.fnl-cookie-form{display:flex;flex:1 1 620px;min-width:0;flex-direction:column;align-items:stretch;gap:10px}
.fnl-cookie-preferences{display:grid;gap:8px;padding:4px;border-radius:10px;background:rgba(21,29,35,.04)}
.fnl-cookie-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid rgba(21,29,35,.15);border-radius:8px;background:#161f28}
.fnl-cookie-option.is-required{background:#121a21}
.fnl-cookie-option strong{font-size:.98rem}
.fnl-cookie-option small{display:block;margin-top:2px;color:#c5cdd4;line-height:1.4}
.fnl-cookie-option label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:700}
.fnl-cookie-option input{width:20px;height:20px;accent-color:var(--fnl-yellow)}
.fnl-cookie-option input:focus-visible{outline:3px solid var(--fnl-yellow);outline-offset:3px}
.fnl-cookie-feedback{min-height:1.2em;margin:0;color:#dee6ec;font-size:.92rem}
.fnl-cookie-save-actions{justify-content:flex-end}
.fnl-cookie-actions button{min-height:44px}
@media(max-width:980px){.fnl-cookie-banner{flex-direction:column}.fnl-cookie-form{width:100%}}
@media(max-width:760px){.fnl-cookie-banner{max-height:calc(100vh - 20px);padding:15px}.fnl-cookie-option{grid-template-columns:1fr}.fnl-cookie-option label{justify-content:flex-start}.fnl-cookie-actions{grid-template-columns:1fr}.fnl-cookie-save-actions{display:grid}}
@media(prefers-reduced-motion:reduce){.fnl-cookie-banner{transition:none}.fnl-cookie-banner.is-closing{transform:none}}

/* 1.9.35 - Parte 5: SEO técnico, breadcrumbs, autores e 404 útil. */
.fnl-breadcrumbs { padding-top: 12px; padding-bottom: 2px; }
.fnl-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 0; padding: 0; list-style: none; color:var(--fnl-muted); font-size: 13px; }
.fnl-breadcrumbs li { display: inline-flex; align-items: center; min-width: 0; }
.fnl-breadcrumbs li + li::before { content: "/"; margin-right: 7px; color:var(--fnl-text); }
.fnl-breadcrumbs a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fnl-breadcrumbs span[aria-current="page"] { overflow: hidden; max-width: min(62vw, 620px); text-overflow: ellipsis; white-space: nowrap; color:var(--fnl-text); }
.fnl-article-dates { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.fnl-article-dates a, .fnl-archive-post-copy .fnl-meta a { text-decoration: underline; text-underline-offset: 3px; }
.fnl-article-footer-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 18px; border-top:1px solid var(--fnl-border); }
.fnl-author-header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; }
.fnl-author-avatar { width: 112px; height: 112px; border:3px solid var(--fnl-yellow); border-radius: 50%; object-fit: cover; }
.fnl-author-header h1, .fnl-archive-header h1 { margin-top: 4px; margin-bottom: 8px; }
.fnl-author-description p, .fnl-archive-description p { margin-top: 0; }
.fnl-error-page-wrap { max-width: 1120px; }
.fnl-error-page { text-align: center; }
.fnl-error-page .fnl-kicker { justify-content: center; }
.fnl-404-search { width: min(680px, 100%); margin: 22px auto 0; }
.fnl-404-actions { justify-content: center; margin-top: 18px; }
.fnl-error-code { margin-inline: auto; }
.navigation.pagination { margin-top: 8px; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.navigation.pagination .page-numbers { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 7px 11px; border:1px solid var(--fnl-border); background:var(--fnl-panel); }
.navigation.pagination .page-numbers.current { border-color:var(--fnl-yellow); color:var(--fnl-yellow); font-weight: 800; }
@media (max-width: 680px) {
  .fnl-author-header { grid-template-columns: 1fr; text-align: center; }
  .fnl-author-avatar { margin-inline: auto; }
  .fnl-article-footer-links { flex-direction: column; }
  .fnl-breadcrumbs span[aria-current="page"] { max-width: 72vw; }
}

/* 1.9.39 - Parte 10/14: autoria e credibilidade editorial. */
.fnl-content-nature {
  display: grid;
  gap: 8px;
  margin: 10px 0 14px;
  padding: 11px 13px;
  border:1px solid var(--fnl-border);
  border-left-width: 4px;
  border-radius: 9px;
  background:rgba(21, 29, 35, .38);
}
.fnl-content-nature > a {
  width: max-content;
  max-width: 100%;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .07em;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-transform: uppercase;
}
.fnl-content-nature p { margin: 0; color:var(--fnl-muted); }
.fnl-content-nature.is-editorial { border-left-color:#537082; }
.fnl-content-nature.is-sponsored { border-color:#cd8912; border-left-color:#9a6100; background:rgba(240,181,0,.14); }
.fnl-content-nature.is-sponsored > a { color:var(--fnl-yellow-2); }

.fnl-author-box {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 30px;
  padding: 20px;
  border:1px solid var(--fnl-border);
  border-radius: 12px;
  background:rgba(21, 29, 35, .34);
}
.fnl-author-box .fnl-author-avatar { width: 96px; height: 96px; }
.fnl-author-box h2 { margin: 2px 0 4px; font-size: clamp(1.25rem, 2vw, 1.55rem); }
.fnl-author-box h2 a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.fnl-author-role { margin: 0 0 9px; color:var(--fnl-yellow-2); font-weight: 800; }
.fnl-author-bio p { margin: 0 0 10px; }
.fnl-author-bio p:last-child { margin-bottom: 0; }
.fnl-author-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
  padding: 0;
  list-style: none;
}
.fnl-author-socials li { margin: 0; padding: 0; border:0; background:transparent; }
.fnl-author-socials a {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 38px;
  padding: 7px 10px;
  border:1px solid var(--fnl-border);
  border-radius: 8px;
  background:var(--fnl-panel);
  font-size: .88rem;
  font-weight: 750;
}
.fnl-author-socials a:hover,
.fnl-author-socials a:focus-visible { border-color:#a66a00; background:rgba(240,181,0,.14); }

.fnl-article-trust {
  margin-top: 20px;
  padding: 18px 20px;
  border:1px solid var(--fnl-border);
  border-radius: 12px;
  background:rgba(21, 29, 35, .24);
}
.fnl-article-trust h2 { margin: 0 0 6px; font-size: 1.16rem; }
.fnl-article-trust p { margin: 0; color:var(--fnl-muted); }
.fnl-article-trust-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; }
.fnl-article-trust-links a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 12px;
  border:1px solid var(--fnl-border);
  border-radius: 8px;
  background:var(--fnl-panel);
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.fnl-article-trust-links .fnl-report-error { border-color:#aa6d00; color:var(--fnl-yellow-2); }

.fnl-public-people-grid { display: grid; gap: 14px; }
.fnl-public-person-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px;
  border:1px solid var(--fnl-border);
  border-radius: 11px;
  background:rgba(21, 29, 35, .31);
}
.fnl-public-person-card .fnl-author-avatar { width: 88px; height: 88px; }
.fnl-public-person-card h3 { margin: 0 0 4px; }
.fnl-public-person-card h3 a { text-decoration: underline; text-underline-offset: 3px; }
.fnl-institutional-authors .fnl-author-socials { display: flex; margin: 10px 0; padding: 0; }
.fnl-institutional-authors .fnl-author-socials li { padding: 0; border:0; background:transparent; }
.fnl-author-header-socials { justify-content: flex-start; }

@media (max-width: 680px) {
  .fnl-author-box,
  .fnl-public-person-card { grid-template-columns: 1fr; }
  .fnl-author-box-avatar,
  .fnl-public-person-avatar { justify-self: start; }
  .fnl-author-header-socials { justify-content: center; }
  .fnl-article-trust-links { display: grid; }
  .fnl-article-trust-links a { justify-content: center; }
}

/* 1.9.40 - Parte 11/14: experiência do usuário e navegação. */


/* 1.9.41 - Parte 12/14: acessibilidade. */
.fnl-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100000;
  max-width: calc(100vw - 20px);
  padding: 11px 16px;
  border:3px solid #0f1529;
  border-radius: 8px;
  background:rgba(240,181,0,.14);
  color:var(--fnl-text);
  font-weight: 900;
  text-decoration: underline;
  transform: translateY(-160%);
  transition: transform .12s ease;
}
.fnl-skip-link:focus { transform: translateY(0); }
#conteudo:focus { outline: none; }

/* Foco não depende apenas de cor e permanece visível sobre fundos claros ou escuros. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #0f1529;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #ffc34a;
}
.fnl-topbar :where(a, button, input):focus-visible,
.fnl-modal-backdrop + .fnl-modal-dialog:focus-visible {
  outline-color:#ffffff;
  box-shadow: 0 0 0 6px #b56d00;
}

/* Alvos de toque e texto que não devem ficar menores que o recomendado. */
.fnl-btn,
.fnl-menu-toggle,
.fnl-search button,
.fnl-footer-link-button,
.fnl-toggle,
.fnl-modal-close { min-width: 44px; min-height: 44px; }
.fnl-footer-link-button { padding-block: 7px; }

.fnl-footer h2 { color:var(--fnl-yellow-2); margin-top: 0; font-size: 14px; text-transform: uppercase; }
.fnl-footer nav { min-width: 0; }

/* Conteúdo editorial em zoom alto. */
.fnl-table-scroll {
  max-width: 100%;
  margin-block: 1.25rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border:1px solid var(--fnl-border);
  border-radius: 8px;
}
.fnl-table-scroll table { min-width: 38rem; margin: 0; }
.fnl-table-scroll:focus-visible { outline-offset: 2px; }
.fnl-article-content img,
.entry-content img,
.fnl-article-content iframe,
.entry-content iframe,
.fnl-article-content video,
.entry-content video { max-width: 100%; height: auto; }
.fnl-article-content iframe,
.entry-content iframe { width: 100%; }

/* Estados ativos possuem forma e texto/ícone, não apenas mudança de cor. */
.fnl-toggle[aria-pressed="true"] {
  border-width: 2px;
  box-shadow: inset 0 -4px 0 #8b5700;
}
.fnl-toggle[aria-pressed="true"]::after {
  content: "Selecionado";
  margin-left: 7px;
  font-size: .65rem;
  font-weight: 900;
  text-transform: uppercase;
}

/* Quiz e cronômetros. */
.fnl-countdown-visual { display: contents; }
.fnl-quiz-timer-visual { position: relative; z-index: 1; display: grid; place-items: center; }
.fnl-quiz-fieldset { min-width: 0; margin: 0; padding: 0; border:0; }
.fnl-quiz-question {
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  color:inherit;
  font-size: clamp(21px,3vw,30px);
  font-weight: 800;
  line-height: 1.25;
}
.fnl-quiz-options label { min-height: 48px; }
.fnl-quiz-options span { min-height: 48px; }
.fnl-quiz-options input:checked + span::before {
  content: "✓ ";
  font-weight: 900;
}
.fnl-quiz-result-mark + div { min-width: 0; }

/* Diálogo: removido de leitura e foco quando fechado, rolável em zoom alto. */
.fnl-modal[hidden] { display: none !important; }
.fnl-modal-dialog { max-height: min(720px, calc(100dvh - 36px)); overscroll-behavior: contain; }
.fnl-modal-dialog:focus { outline: none; }

.fnl-toast.is-error {
  background:var(--fnl-panel);
  color:var(--fnl-danger);
  border-color:#9a292c;
}

@media (max-width: 760px) {
  .fnl-toggle-row { align-items: stretch; }
  .fnl-toggle { flex: 1 1 100%; justify-content: center; }
  .fnl-footer-grid { grid-template-columns: 1fr; }
}

/* Reflow em 200%/400%: não força colunas estreitas e evita corte horizontal. */
@media (max-width: 480px), (max-height: 500px) {
  .fnl-shell { width: min(100% - 16px, var(--fnl-max)); }
  .fnl-panel-pad,
  .fnl-article,
  .fnl-modal-dialog { padding: 16px; }
  .fnl-row-between,
  .fnl-actions { align-items: stretch; }
  .fnl-actions .fnl-btn { white-space: normal; }
}

@media (prefers-contrast: more) {
  :root {
    --fnl-border:#5c6671;
    --fnl-border-strong: #49535e;
    --fnl-muted: #3c4854;
  }
  a { text-decoration-thickness: 2px; text-underline-offset: 3px; }
  .fnl-panel,
  .fnl-card,
  input,
  select,
  textarea,
  .fnl-btn { border-width: 2px; }
  .fnl-muted { color:var(--fnl-text); }
}

@media (forced-colors: active) {
  .fnl-btn,
  .fnl-toggle,
  .fnl-chip,
  .fnl-panel,
  .fnl-modal-dialog,
  .fnl-cookie-banner { border:1px solid CanvasText; }
  .fnl-toggle[aria-pressed="true"],
  .fnl-quiz-options input:checked + span { outline: 3px solid Highlight; }
  .fnl-progress-ring-premium,
  .fnl-quiz-timer { forced-color-adjust: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .fnl-skip-link,
  .fnl-post-card,
  .fnl-card,
  .fnl-mission,
  .fnl-catalog-card,
  .fnl-archive-post-card,
  .fnl-quiz-options span { transform: none !important; }
}


/* Mantém textos exclusivos de leitores de tela ocultos mesmo dentro de componentes com seletores mais específicos. */
.screen-reader-text,
.fnl-countdown .screen-reader-text,
.fnl-quiz-timer .screen-reader-text,
.fnl-progress-ring-premium .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border:0 !important;
}
.screen-reader-text:focus {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
}
.fnl-cookie-preferences {
  min-width: 0;
  margin: 0;
  padding: 0;
  border:0;
}


/* Ordem lógica: o conteúdo principal vem antes das barras laterais no DOM. */
@media (min-width: 1241px) {
  .fnl-grid-3 > .fnl-grid-main { grid-column: 2; grid-row: 1; }
  .fnl-grid-3 > .fnl-grid-sidebar-left { grid-column: 1; grid-row: 1; }
  .fnl-grid-3 > .fnl-grid-sidebar-right { grid-column: 3; grid-row: 1; }
}
@media (min-width: 901px) and (max-width: 1240px) {
  .fnl-grid-3 > .fnl-grid-main { grid-column: 2; grid-row: 1; }
  .fnl-grid-3 > .fnl-grid-sidebar-left { grid-column: 1; grid-row: 1; }
  .fnl-grid-3 > .fnl-grid-sidebar-right { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 900px) {
  .fnl-grid-3 > .fnl-grid-main { grid-column: 1; grid-row: 1; }
  .fnl-grid-3 > .fnl-grid-sidebar-left { grid-column: 1; grid-row: 2; }
  .fnl-grid-3 > .fnl-grid-sidebar-right { grid-column: 1; grid-row: 3; }
}


/* 1.9.42 - Parte 13/14: desempenho e estabilidade. */
.fnl-ad-panel-top .fnl-ad-code{min-height:118px}
.fnl-ad-panel-inline .fnl-ad-code,.fnl-ad-panel-footer .fnl-ad-code{min-height:130px}
.fnl-ad-code>ins,.fnl-ad-code>iframe,.fnl-ad-code .adsbygoogle{display:block;max-width:100%;width:100%}
@media(max-width:720px){
  .fnl-ad-panel-top .fnl-ad-code,.fnl-ad-panel-inline .fnl-ad-code,.fnl-ad-panel-footer .fnl-ad-code{min-height:150px}
}

/* 1.9.43 - Parte 14/14: auditoria final pre-AdSense. */
