@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/assets/fonts/source-sans-3-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/assets/fonts/source-sans-3-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* Desenterra: catálogo, comparação e leitura. */
:root {
  --font-body: 'Source Sans 3', 'Segoe UI', sans-serif;
  --header-height: 72px;
  --nav-bg: #292720;
  --nav-text: #faf5e8;
  --nav-muted: #d9cbb1;
  --image-bg: #fff;
  --selected-bg: #fbefd4;
  --selected-ink: #875014;
  --rank-s-bg: #e4eadc; --rank-s-ink: #435633;
  --rank-a-bg: #fbefcf; --rank-a-ink: #715314;
  --rank-b-bg: #f4e5d6; --rank-b-ink: #754b29;
  --rank-c-bg: #ebe7df; --rank-c-ink: #565045;
  --button-ink: #fff;
  --store-bg: #f2be4c; --store-hover: #e8ad32; --store-ink: #302510; --store-border: #92611d;
  --tier-card-line: #c8bda9;
  --focus-color: #a06016;
  --ease: cubic-bezier(.16, 1, .3, 1);
  color-scheme: light;
}
html[data-theme=dark] {
  color-scheme: dark;
  --selected-bg: #47391f; --selected-ink: #f2cb78;
  --button-ink: #302510; --focus-color: #efba56;
  --rank-s-bg: #30392a; --rank-s-ink: #d8e6c7;
  --rank-a-bg: #473b21; --rank-a-ink: #f2cb78;
  --rank-b-bg: #433025; --rank-b-ink: #efd0b6;
  --rank-c-bg: #39352c; --rank-c-ink: #ded6c7;
  --tier-card-line: #675c49;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 148px; scrollbar-color: var(--cor-muted) var(--cor-fundo); }
body { margin: 0; color: var(--cor-texto); background: var(--cor-fundo); font-family: var(--font-body); font-size: 16px; line-height: 1.55; }
[hidden] { display: none !important; }
::selection { color: var(--selected-ink); background: var(--selected-bg); }
input, textarea { caret-color: var(--cor-primaria); }
a { color: var(--cor-primaria); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a, button, input, select, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus-color); outline-offset: 3px; }
img { display: block; max-width: 100%; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; text-wrap: balance; font-weight: 700; letter-spacing: -.015em; overflow-wrap: anywhere; }
h1 { font-size: clamp(1.65rem, 2.5vw, 2.125rem); }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
p { margin: .7rem 0; text-wrap: pretty; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button, select, input[type=search], input[type=text], input[type=email], textarea { border-radius: 0; }
button { color: inherit; }
fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
input:not([type=radio]):not([type=checkbox]), select, textarea { min-width: 0; min-height: 44px; padding: .6rem .75rem; border: 1px solid var(--cor-line); color: var(--cor-texto); background: var(--cor-card); }
input::placeholder, textarea::placeholder { color: var(--cor-muted); opacity: 1; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .55rem 1rem; gap: .5rem; border: 1px solid var(--cor-line); background: var(--cor-card); color: var(--cor-texto); text-decoration: none; font-weight: 600; line-height: 1.25; transition: background-color .18s var(--ease), border-color .18s var(--ease); }
.button:hover { border-color: var(--cor-primaria); background: var(--selected-bg); text-decoration: none; }
.button-primary { background: var(--cor-botao); color: var(--button-ink); border-color: var(--cor-botao); }
.button-primary:hover { background: var(--cor-botao); color: var(--button-ink); filter: brightness(.94); }
button:disabled { opacity: .55; cursor: default; }
.eyebrow { display: none; }
.skip-link { position: fixed; top: -80px; left: 12px; padding: 12px; z-index: 50; background: var(--cor-card); color: var(--cor-texto); }
.skip-link:focus { top: 12px; }
.site-header { position: fixed; inset: 0 0 auto; height: var(--header-height); background: var(--nav-bg); color: var(--nav-text); z-index: 30; }
.topbar { display: flex; align-items: center; gap: 2rem; height: 100%; width: 100%; padding: 0 max(20px, calc((100vw - 1280px) / 2)); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #ad9773 var(--nav-bg); }
.brand { display: flex; align-items: center; gap: .65rem; color: var(--nav-text); text-decoration: none; flex: 0 0 auto; }
.brand img { width: 42px; height: 42px; object-fit: contain; }
.brand strong { font-size: 1.4rem; letter-spacing: -.03em; }
.main-nav, .header-tools { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
.main-nav a { display: flex; align-items: center; min-height: 44px; padding: .5rem .85rem; color: var(--nav-muted); text-decoration: none; font-weight: 600; }
.main-nav a:hover, .main-nav a[aria-current] { color: var(--nav-text); background: #494032; }
.header-tools { margin-left: auto; }
.cart-link { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem; color: var(--nav-text); text-decoration: none; }
.cart-link-count { display: inline-grid; place-items: center; min-width: 22px; padding-inline: 4px; background: #f2c565; color: #302510; }
.theme-toggle { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #8d7b5e; color: var(--nav-text); background: transparent; }
.theme-toggle:hover { background: #494032; }
.page-shell { width: min(1280px, calc(100% - 48px)); margin-inline: auto; padding-top: calc(var(--header-height) + 32px); padding-bottom: 64px; }
.breadcrumbs { margin-bottom: 20px; color: var(--cor-muted); font-size: .9375rem; }
.breadcrumbs ol { display: flex; list-style: none; padding: 0; margin: 0; gap: .6rem; }
.breadcrumbs li { display: flex; gap: .6rem; align-items: center; min-width: 0; }
.breadcrumbs li + li::before { content: '/'; color: var(--cor-muted); }
.breadcrumbs li:last-child { flex: 1; }
.breadcrumbs li:last-child span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.breadcrumbs a { color: var(--cor-muted); text-decoration: none; }
.home-hero { display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 40px; padding: 24px 0 28px; }
.home-hero h1 { font-size: clamp(1.65rem, 2.4vw, 2rem); }
.home-hero .hero-lead { color: var(--cor-muted); margin-bottom: 0; }
.home-search label { display: block; font-weight: 600; margin-bottom: 8px; }
.home-search > div { display: flex; background: var(--cor-card); border: 1px solid var(--cor-line); padding: 4px; }
.home-search input { flex: 1; width: 100%; border: 0 !important; min-height: 48px !important; background: transparent !important; }
.home-search .button { min-width: 96px; }
.home-topics { display: flex; gap: 8px; padding: 0 0 28px; overflow-x: auto; scrollbar-width: thin; }
.home-topics a { display: flex; align-items: center; flex: 0 0 auto; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--cor-line); background: var(--cor-card); color: var(--cor-texto); text-decoration: none; font-weight: 600; }
.home-topics a:hover { background: var(--selected-bg); border-color: var(--cor-primaria); }
.section-block { margin-top: 32px; }
.home-comparisons { margin-top: 0; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.section-head p { color: var(--cor-muted); margin-bottom: 0; }
.product-grid, .catalog-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--cor-line); background: var(--cor-card); transition: border-color .2s var(--ease), box-shadow .2s var(--ease); }
.product-card:hover, .product-card:focus-within { border-color: var(--cor-primaria); box-shadow: 0 6px 18px #3b281520; }
.product-thumb-link { display: block; text-decoration: none; background: var(--image-bg); }
.product-card-media { display: flex; align-items: center; justify-content: center; height: 170px; padding: 12px; }
.product-card-media img { width: 100%; height: 100%; object-fit: contain; }
.product-card-body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.product-card-meta { margin-top: 7px; font-size: .9375rem; color: var(--cor-muted); }
.product-card h3 { font-size: 1.25rem; line-height: 1.3; }
.product-card h3 a { color: var(--cor-texto); text-decoration: none; }
.product-card h3 a:hover { color: var(--cor-primaria); text-decoration: underline; }
.product-card-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; }
.product-card-open { display: flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: none; font-size: .9375rem; }
.product-card-actions .product-save-button { min-height: 44px; padding: .4rem .45rem; border: 0; background: transparent; color: var(--cor-muted); font-size: .9375rem; font-weight: 400; }
.product-save-button.is-active, .product-save-button[aria-pressed=true] { color: var(--cor-primaria); background: var(--selected-bg); }
.home-browse-all { display: flex; justify-content: center; align-items: center; min-height: 48px; margin-top: 24px; font-weight: 600; }
.catalog-heading { margin-bottom: 24px; }
.catalog-search { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; padding: 20px; background: var(--cor-card); border: 1px solid var(--cor-line); }
.comparison-control { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.comparison-control > span { font-weight: 600; font-size: .9375rem; }
.comparison-control select, .comparison-control input { width: 100%; }
.comparison-numeric-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.comparison-numeric-controls select, .comparison-numeric-controls input { min-width: 0; }
.comparison-numeric-filter { gap: 8px; }
.comparison-numeric-filter select:disabled, .comparison-numeric-filter input:disabled { opacity: .62; cursor: not-allowed; }
.comparison-numeric-filter .comparison-numeric-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.comparison-numeric-filter { gap: 8px; }
.comparison-numeric-filter select:disabled, .comparison-numeric-filter input:disabled { opacity: .62; cursor: not-allowed; }
.comparison-numeric-filter .comparison-numeric-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.catalog-domains { display: flex; flex-wrap: wrap; gap: 12px; grid-column: 1 / -1; }
.catalog-domains label { display: flex; gap: 6px; align-items: center; min-height: 44px; }
.catalog-result-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 0; }
.catalog-count { margin: 0; color: var(--cor-muted); }
.catalog-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.catalog-pagination a { min-height: 44px; display: inline-flex; align-items: center; }
.catalog-empty, .cart-empty-state { padding: 32px; background: var(--cor-card); border: 1px solid var(--cor-line); }
.article-list-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px 28px; margin-bottom: 24px; }
.article-list-hero-copy { min-width: 0; }
.article-list-hero h1 { line-height: 1.25; }
.article-list-context { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--cor-muted); margin-block: 12px; font-size: .9375rem; }
.article-list-context span + span::before { content: '·'; margin-right: 16px; }
.article-list-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.article-list-actions .button { background: transparent; }
.article-guide-details { min-width: 200px; }
.article-guide-details > summary { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border: 1px solid var(--cor-line); background: var(--cor-card); font-size: .9375rem; font-weight: 600; }
.article-guide-details > summary::after { content: '+'; margin-left: 12px; }
.article-guide-details[open] > summary::after { content: '−'; }
.article-list-brief { display: grid; gap: 8px; padding: 16px 0; font-size: .9375rem; }
.article-list-brief > div { display: flex; justify-content: space-between; gap: 20px; }
.article-list-brief span { color: var(--cor-muted); }
.article-editorial-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: .9375rem; color: var(--cor-muted); }
.comparison-switch { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; position: sticky; top: var(--header-height); z-index: 20; display: flex; gap: 0; border: 1px solid var(--cor-line); background: var(--cor-card); margin: 0 0 20px; box-shadow: 0 3px 8px #3b281510; }
.comparison-switch a { white-space: nowrap; display: flex; flex: 1 0 auto; align-items: center; justify-content: center; gap: 12px; min-height: 60px; padding: 10px 16px; color: var(--cor-muted); text-decoration: none; font-size: 1.125rem; font-weight: 600; border-bottom: 3px solid transparent; transition: background-color .2s var(--ease), border-color .2s var(--ease); }
.comparison-switch a span { font-weight: 400; font-size: .9375rem; }
.comparison-switch a:hover { background: var(--selected-bg); }
.comparison-switch a.is-active { color: var(--selected-ink); background: var(--selected-bg); border-bottom-color: var(--cor-primaria); }
.comparison-panel, .article-tierlist-panel { margin: 0; scroll-margin-top: 140px; }
.comparison-head h2 { font-size: 1.25rem; }
.comparison-head { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.comparison-workspace { display: grid; grid-template-columns: 248px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 12px 20px; align-items: start; }
.comparison-search { grid-column: 2; }
.comparison-results { min-width: 0; grid-column: 2; }
.comparison-search { padding: 0; background: transparent; }
.comparison-search-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.comparison-search-label strong { color: var(--cor-primaria); font-weight: 600; }
.comparison-filter-panel { grid-column: 1; grid-row: 1 / 3; position: sticky; top: calc(var(--header-height) + 82px); padding: 16px; border: 1px solid var(--cor-line); background: var(--cor-card); min-width: 0; max-height: calc(100dvh - var(--header-height) - 102px); overflow-y: auto; }
 .comparison-filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 16px; }
.comparison-filter-heading h3 { display: flex; align-items: baseline; gap: 10px; font-size: 1.125rem; }
.comparison-filter-heading small { font-size: .875rem; color: var(--cor-muted); font-weight: 400; }
.comparison-filter-strip { display: block; }
.comparison-controls { display: flex; flex-direction: column; gap: 14px; padding: 0; overflow: visible; }
.comparison-controls > label { flex: 0 0 auto; }
.comparison-clear { width: 100%; margin-top: 4px; }
.comparison-scroll-hint { font-size: .875rem; color: var(--cor-muted); margin: 0 0 8px; }
.comparison-table-shell { overflow-x: auto; max-height: 72vh; overflow-y: auto; border: 1px solid var(--cor-line); background: var(--cor-card); overscroll-behavior-x: contain; scrollbar-width: thin; }
.comparison-table { border-collapse: separate; border-spacing: 0; width: 100%; font-variant-numeric: tabular-nums; font-size: .9375rem; }
.comparison-table th, .comparison-table td { padding: 12px; min-width: 140px; border-right: 1px solid var(--cor-line); border-bottom: 1px solid var(--cor-line); vertical-align: middle; text-align: left; }
.comparison-table thead th { position: sticky; top: 0; z-index: 2; background: var(--selected-bg); color: var(--selected-ink); padding: 4px 12px; }
.comparison-table .comparison-image-heading, .comparison-table .comparison-image-cell { min-width: 76px; width: 76px; }
.comparison-product-image { display: grid; place-items: center; width: 52px; height: 64px; background: var(--image-bg); }
.comparison-product-image img { object-fit: contain; width: 52px; height: 52px; }
.comparison-table .comparison-product-heading, .comparison-table .comparison-product-cell { min-width: 290px; width: 290px; }
.comparison-product-link { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--cor-texto); font-weight: 600; line-height: 1.5; text-decoration: none; }
.comparison-product-link:hover, .comparison-product-link:focus-visible { color: var(--cor-primaria); display: block; }
.comparison-product-cell small { display: none; }
.comparison-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--cor-fundo) 60%, var(--cor-card)); }
.comparison-table tbody tr:hover, .comparison-table .is-jumped { background: var(--selected-bg); }
.comparison-store-links { display: flex; flex-direction: column; gap: 4px; }
.comparison-store-links a { min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.comparison-table .comparison-rank-cell, .comparison-table .comparison-rank-heading { min-width: 90px; }
.comparison-store-empty { color: var(--cor-muted); font-weight: 400; }
.comparison-sort-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; width: 100%; padding: 0; border: 0; background: transparent; font-size: .9375rem; font-weight: 600; text-align: left; }
.comparison-sort-indicator { flex: 0 0 18px; height: 18px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2019V5m-4%204%204-4%204%204m4-4v14m-4-4%204%204%204-4%22/%3E%3C/svg%3E") center / contain no-repeat; }
[aria-sort=ascending] .comparison-sort-indicator { mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2019V5m-6%206%206-6%206%206%22/%3E%3C/svg%3E"); }
[aria-sort=descending] .comparison-sort-indicator { mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14m-6-6%206%206%206-6%22/%3E%3C/svg%3E"); }
.comparison-price-level { white-space: nowrap; color: var(--cor-primaria); font-weight: 600; }
.comparison-empty { padding: 20px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.article-tierlist-head { margin-bottom: 16px; }
.article-tierlist-head p { font-size: .9375rem; }
.article-tier-criteria { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 8px; min-width: 0; scrollbar-width: thin; }
.article-tier-criterion { flex: 0 0 auto; min-height: 44px; padding: 10px 14px; border: 1px solid var(--cor-line); background: var(--cor-card); text-align: left; }
.article-tier-criterion strong { font-size: 1rem; font-weight: 600; }
.article-tier-criterion span { display: none; }
.article-tier-criterion.is-active { color: var(--selected-ink); background: var(--selected-bg); border-color: var(--cor-primaria); }
.article-tier-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 8px 0 16px; }
.article-tier-feedback { font-size: .9375rem; color: var(--cor-muted); margin: 0; }
.tier-names-toggle { flex: 0 0 auto; font-size: .9375rem; }
.article-tierlist-board { display: grid; gap: 12px; }
.article-tier-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); border: 1px solid var(--cor-line); background: var(--cor-card); }
.article-tier-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 8px 4px; text-align: center; }
.article-tier-badge strong { font-size: 1.75rem; line-height: 1; }
.article-tier-badge span { font-size: .75rem; line-height: 1.25; }
.article-tier-badge small { font-size: .75rem; }
.article-tier-row-s .article-tier-badge { background: var(--rank-s-bg); color: var(--rank-s-ink); }
.article-tier-row-a .article-tier-badge { background: var(--rank-a-bg); color: var(--rank-a-ink); }
.article-tier-row-b .article-tier-badge { background: var(--rank-b-bg); color: var(--rank-b-ink); }
.article-tier-row-c .article-tier-badge { background: var(--rank-c-bg); color: var(--rank-c-ink); }
.article-tier-content { padding: 12px; overflow-x: auto; min-width: 0; overscroll-behavior-x: contain; scrollbar-width: thin; }
.article-tier-items { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.article-tier-item { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 10px; border: 1px solid var(--tier-card-line); color: var(--cor-texto); text-decoration: none; background: var(--cor-card); transition: border-color .18s var(--ease), box-shadow .18s var(--ease); }
.article-tier-item:hover, .article-tier-item:focus-visible { border-color: var(--cor-primaria); box-shadow: 0 4px 12px #3b281520; text-decoration: none; }
.article-tier-content { background: var(--cor-fundo); }
.article-tier-item-media { height: 96px; padding: 8px; background: var(--image-bg); }
.article-tier-item-media img { width: 100%; height: 100%; object-fit: contain; }
.article-tier-item-rank { position: absolute; top: 6px; left: 6px; padding: 2px 5px; background: var(--nav-bg); color: var(--nav-text); font-size: .75rem; }
.article-tier-item-copy { display: flex; flex: 1; flex-direction: column; gap: 8px; padding-top: 10px; }
.article-tier-item-copy strong { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 1rem; line-height: 1.3; font-weight: 600; }
.article-tier-item-copy small { margin-top: auto; font-size: .875rem; font-weight: 600; }
.article-tier-item:hover .article-tier-item-copy strong { color: var(--cor-primaria); }
.has-full-names .article-tier-item-copy strong { display: block; overflow: visible; -webkit-line-clamp: unset; }

.comparison-store-links a, .article-tier-item-copy small, .article-quiz-product-links a[href^="/go/"] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--store-border); background: var(--store-bg); color: var(--store-ink); text-align: center; text-decoration: none; font-weight: 600; line-height: 1.25; }
.comparison-store-links a:hover, .article-tier-item:hover .article-tier-item-copy small, .article-quiz-product-links a[href^="/go/"]:hover { background: var(--store-hover); color: var(--store-ink); text-decoration: none; }
.comparison-store-links a::after, .article-tier-item[target="_blank"] small::after, .article-quiz-product-links a[href^="/go/"]::after { content: ''; width: 16px; height: 16px; flex: 0 0 16px; background: currentColor; mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%204h6v6m0-6-9%209M10%205H5v14h14v-5%22/%3E%3C/svg%3E") center / contain no-repeat; }
.article-quiz { padding: 24px; background: var(--cor-card); border: 1px solid var(--cor-line); }
.article-quiz-head p { color: var(--cor-muted); }
.article-quiz-progress { display: flex; align-items: center; gap: 16px; margin: 20px 0; font-size: .9375rem; color: var(--cor-muted); }
.article-quiz-progress-track { flex: 1; height: 5px; accent-color: var(--cor-primaria); }
.article-quiz-question legend { font-size: 1.25rem; font-weight: 600; margin-bottom: 16px; }
.article-quiz-options { display: flex; flex-wrap: wrap; gap: 10px; }
.article-quiz-options label { display: block; position: relative; }
.article-quiz-options input { position: absolute; top: 16px; left: 12px; accent-color: var(--cor-primaria); }
.article-quiz-options span { display: flex; align-items: center; min-height: 48px; padding: 10px 16px 10px 38px; border: 1px solid var(--cor-line); background: var(--cor-fundo); }
.article-quiz-options input:checked + span { color: var(--selected-ink); border-color: var(--cor-primaria); background: var(--selected-bg); }
.article-quiz-options input:focus-visible + span { outline: 3px solid var(--focus-color); }
.article-quiz-navigation { display: flex; justify-content: space-between; margin-top: 20px; }
.article-quiz-result-head { margin-bottom: 20px; }
.article-quiz-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.article-quiz-product { border: 1px solid var(--cor-line); }
.article-quiz-product-media { padding: 16px; background: var(--image-bg); color: #6c6255; }
.article-quiz-product-media img { width: 100%; height: 120px; object-fit: contain; }
.article-quiz-product-copy { padding: 16px; }
.article-quiz-product-copy h4 { font-size: 1.05rem; line-height: 1.4; }
.article-quiz-product-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.article-quiz-see-table { display: inline-flex; align-items: center; min-height: 44px; margin-top: 20px; }
.article-guide-block, .prose-block { padding: 28px; background: var(--cor-card); border: 1px solid var(--cor-line); }
.prose, .editorial-body { font-size: 1.0625rem; line-height: 1.75; }
.prose h2, .editorial-body h2 { margin: 32px 0 12px; }
.prose h3, .editorial-body h3 { margin: 28px 0 10px; font-size: 1.25rem; }
.prose p, .editorial-body p { margin: 16px 0; }
.prose li, .editorial-body li { margin-block: 10px; }
.prose img, .editorial-body img { height: auto; }
.prose table, .editorial-body table { display: block; overflow-x: auto; border-collapse: collapse; }
.prose td, .prose th, .editorial-body td, .editorial-body th { padding: 10px; border: 1px solid var(--cor-line); }
.prose a, .editorial-body a { overflow-wrap: anywhere; }
.article-related-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.article-related-head p { color: var(--cor-muted); }
.article-related-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 0; margin-top: 20px; list-style: none; }
.article-related-list li { display: flex; gap: 16px; padding: 16px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.article-related-media { flex: 0 0 72px; width: 72px; background: var(--image-bg); }
.article-related-media img { width: 72px; height: 80px; object-fit: contain; }
.article-related-copy h3 { font-size: 1.1rem; }
.article-related-copy h3 a { color: var(--cor-texto); text-decoration: none; }
.article-related-link { display: flex; align-items: center; min-height: 44px; font-size: .9375rem; }
.article-affiliate-notice { font-size: .9375rem; color: var(--cor-muted); border-top: 1px solid var(--cor-line); margin-top: 32px; padding-top: 16px; }
.editorial-heading { margin-bottom: 28px; }
.editorial-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 32px; padding: 24px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.editorial-card-media img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; }
.editorial-card-copy { align-self: center; }
.editorial-card-copy p { color: var(--cor-muted); }
.editorial-article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--cor-muted); margin: 16px 0; }
.editorial-body { padding: 28px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.editorial-cover img, .editorial-article-image img { width: 100%; height: auto; }
.author-hero { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 0; }
.author-hero .author-summary-card { margin-top: 0; }
.author-photo-frame img { width: 100%; height: auto; }
.author-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.author-tags span { padding: 6px 10px; background: var(--selected-bg); color: var(--selected-ink); }
.author-summary-card, .author-note-card { margin-top: 28px; padding: 24px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.cart-hero { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 0; }
.cart-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cart-saved-list { display: grid; gap: 16px; }
.cart-item { display: flex; align-items: center; gap: 20px; padding: 20px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.cart-item-thumb { width: 100px; height: 100px; flex: 0 0 100px; background: var(--image-bg); padding: 8px; }
.cart-item-thumb img { width: 100%; height: 100%; object-fit: contain; }
.cart-item-main { flex: 1; min-width: 0; }
.cart-item-domain { color: var(--cor-muted); font-size: .9375rem; }
.cart-item-main h3 a { color: var(--cor-texto); text-decoration: none; }
.cart-item-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.static-hero { margin-top: 0; }
.site-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.site-card-link { display: block; padding: 24px; border: 1px solid var(--cor-line); background: var(--cor-card); text-decoration: none; color: var(--cor-texto); }
.site-card-logo { width: 48px; height: 48px; }
 .site-footer { padding: 40px max(24px, calc((100vw - 1280px) / 2)) 24px; background: var(--nav-bg); color: var(--nav-muted); }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr)); gap: 32px; }
.footer-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; color: var(--nav-text); font-size: 1.4rem; text-decoration: none; }
.footer-brand img { width: 48px; height: 48px; object-fit: contain; }
.footer-intro p { margin-top: 12px; }
.footer-grid h3 { color: var(--nav-text); font-size: 1rem; margin-bottom: 8px; }
.footer-grid ul { padding: 0; margin: 0; list-style: none; }
.footer-grid nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--nav-muted); text-decoration: none; }
.footer-grid nav a:hover { color: var(--nav-text); text-decoration: underline; }
.footer-niches { grid-column: 1 / -1; }
.footer-niches ul { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.footer-note { border-top: 1px solid #65583f; margin: 24px 0 0; padding-top: 20px; font-size: .9375rem; }
@media (max-width: 1100px) {
  .product-grid, .catalog-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .topbar { gap: 20px; }
  .article-list-hero { grid-template-columns: minmax(0, 1fr); }
  .article-guide-details { width: 100%; }
  .article-guide-details > summary { justify-content: space-between; }
  
  .article-tier-items { grid-template-columns: repeat(5, minmax(145px, 1fr)); }
  .article-related-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  :root { --header-height: 64px; }
  .topbar { padding-inline: 12px; gap: 12px; }
  .brand { gap: 6px; }
  .brand img { width: 34px; height: 34px; }
  .brand strong { font-size: 1.25rem; }
  .main-nav { gap: 0; }
  .main-nav a { padding-inline: 12px; }
  .header-tools { margin-left: 0; }
  .cart-link span { display: none; }
  .page-shell { width: calc(100% - 32px); padding-top: calc(var(--header-height) + 20px); padding-bottom: 40px; }
  .home-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 8px 0 20px; }
  .home-hero h1 { font-size: 1.75rem; }
  .home-hero .hero-lead { margin-top: 8px; font-size: 1rem; }
  .home-topics { padding-bottom: 20px; }
  .home-topics a { padding-inline: 14px; }
  .section-head { gap: 8px; margin-bottom: 16px; }
  .section-head h2 { font-size: 1.25rem; }
  .section-head > .button { padding-inline: 10px; font-size: .9375rem; }
  .product-grid, .catalog-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-card-media { height: 126px; padding: 12px; }
  .product-card-body { padding: 12px; }
  .product-card-meta { font-size: .875rem; margin-top: 6px; }
  .product-card h3 { font-size: 1.0625rem; line-height: 1.3; }
  .product-card-actions { flex-wrap: wrap; gap: 0 8px; padding-top: 8px; }
  .product-card-open { font-size: .875rem; }
  .product-card-open > svg { display: none; }
  .product-card-actions .product-save-button { font-size: .875rem; padding-inline: 0; }
  .catalog-search { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 16px; gap: 12px; }
  .catalog-search > label:first-child, .catalog-search > .button { grid-column: 1 / -1; }
  .catalog-result-line { font-size: .9375rem; }
  .catalog-pagination { gap: 10px; }
  .article-list-hero { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-bottom: 12px; }
  .article-list-page .breadcrumbs { margin-bottom: 12px; }
  .article-list-actions { flex-wrap: nowrap; }
  .article-list-actions .button { flex: 1; }
  .article-guide-details > summary { min-height: 44px; padding-block: 0; }
  .article-tierlist-head h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .article-tierlist-head p { margin-top: 0; }
  .article-list-hero h1 { font-size: 1.65rem; }
  .article-list-context { gap: 4px 12px; margin-block: 8px; }
  .article-list-context span + span::before { margin-right: 12px; }
  .article-list-actions { gap: 8px; }
  .article-list-actions .button { font-size: .9375rem; padding-inline: 10px; }
  .comparison-switch a { flex-direction: column; gap: 2px; align-items: flex-start; min-height: 56px; padding: 6px 12px; font-size: 1.0625rem; }
  .comparison-switch a span { font-size: .875rem; }
  .comparison-search { padding: 0; }
  .comparison-controls { padding: 0; }
  .comparison-controls > label { flex-basis: auto; }
  .comparison-table-shell { max-height: 68vh; }
  .comparison-table .comparison-product-heading, .comparison-table .comparison-product-cell { min-width: 220px; width: 220px; }
  .comparison-table th, .comparison-table td { padding: 10px; }
  .comparison-table .comparison-image-heading, .comparison-table .comparison-image-cell { min-width: 66px; }
  .article-tier-toolbar { flex-wrap: nowrap; gap: 12px; }
  .article-tier-feedback { flex: 1; min-width: 0; }
  .article-tier-item-media { height: 80px; }
  .article-tier-item-copy small { padding-inline: 8px; gap: 6px; }
  .article-tier-row { grid-template-columns: 48px minmax(0, 1fr); }
  .article-tier-content { padding: 10px; }
  .article-tier-items { display: flex; gap: 12px; }
  .article-tier-item { flex: 0 0 160px; width: 160px; }
  .article-tier-badge span { display: none; }
  .article-tier-badge strong { font-size: 1.5rem; }
  .article-quiz, .article-guide-block, .prose-block, .editorial-body { padding: 20px; }
  .article-quiz-head h2 { font-size: 1.25rem; }
  .article-quiz-options { flex-direction: column; }
  .article-quiz-options label { width: 100%; }
  .article-quiz-product-grid { grid-template-columns: minmax(0, 1fr); }
  .article-related-head { display: block; }
  .article-related-list { grid-template-columns: minmax(0, 1fr); }
  .editorial-card { grid-template-columns: minmax(0, 1fr); padding: 16px; gap: 20px; }
  .editorial-card-copy h2 { font-size: 1.375rem; }
  .author-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .author-photo-frame img { width: 120px; margin-bottom: 20px; }
  .author-copy { min-width: 0; }
  .cart-hero { flex-direction: column; align-items: flex-start; }
  .cart-item { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 16px; }
  .cart-item-thumb { width: 80px; height: 80px; }
  .cart-item-side { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .footer-intro, .footer-legal { grid-column: 1 / -1; }
  .footer-legal ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .site-footer { padding: 32px 16px; }
  .site-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 360px) {
  .page-shell { width: calc(100% - 24px); }
  .product-grid, .catalog-list { gap: 10px; }
  .product-card-media { height: 112px; }
  .product-card-body { padding: 10px; }
  .product-card h3 { font-size: 1rem; }
  .home-search .button { min-width: 72px; }
  .article-list-hero h1 { font-size: 1.5rem; }
  .article-list-context { font-size: .875rem; gap: 4px 8px; }
  .article-list-context span + span::before { margin-right: 8px; }
  .article-list-actions .button { flex: 1; font-size: .875rem; padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .product-card, .article-tier-item, .comparison-switch a { transition: none; }
}

/* Comparação: apresentação aberta, filtros laterais e sorteio. */
.article-list-description { margin: 0; }
.article-list-actions { margin-top: 0; }
.comparison-filter-toggle { margin-bottom: 12px; }
.comparison-filter-toggle [data-active-filter-count], .comparison-filter-apply span { display: inline-grid; place-items: center; min-width: 24px; padding: 0 6px; background: var(--selected-bg); color: var(--selected-ink); }
.comparison-filter-dialog { padding: 0; border: 0; color: var(--cor-texto); background: var(--cor-card); width: min(360px, calc(100% - 40px)); height: 100dvh; max-height: 100dvh; margin: 0 auto 0 0; }
.comparison-filter-dialog::backdrop { background: #17150f80; }
.comparison-filter-dialog .comparison-filter-panel { position: static; max-height: none; min-height: 100%; border: 0; padding: 20px; overflow: visible; }
.comparison-filter-close { width: 44px; padding: 0; }
.comparison-filter-apply { width: 100%; margin-top: 20px; }
body.has-filter-dialog { overflow: hidden; }
.article-quiz[role=tabpanel], .product-roulette[role=tabpanel] { margin-top: 0; }
.product-roulette { padding: 24px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.roulette-heading p { color: var(--cor-muted); margin-bottom: 24px; }
.roulette-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 32px; align-items: start; }
.roulette-stage { display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 12px 0; text-align: center; }
.roulette-wheel-shell { position: relative; width: min(100%, 420px); aspect-ratio: 1; }
.roulette-wheel-clip { position: absolute; inset: 0; overflow: hidden; border-radius: 50%; }
.roulette-wheel { width: 100%; height: 100%; display: block; }
.roulette-pointer { position: absolute; left: 50%; top: -8px; transform: translateX(-50%); z-index: 1; width: 30px; height: 38px; clip-path: polygon(0 0, 100% 0, 50% 100%); background: var(--cor-texto); }
.roulette-hub { position: absolute; inset: 42%; display: grid; place-items: center; border: 3px solid var(--cor-line); border-radius: 50%; background: var(--cor-card); color: var(--cor-primaria); font-size: 2rem; font-weight: 700; }
.roulette-status { width: 100%; margin: 20px 0 12px; overflow-wrap: anywhere; }
.roulette-spin { min-height: 48px; padding-inline: 28px; }
.roulette-result { width: 100%; margin: 0 0 20px; padding: 16px; border: 1px solid var(--cor-line); background: var(--cor-card); text-align: left; }
.roulette-result > h3 { font-size: 1.125rem; margin: 0 0 16px; }
[data-roulette-winner] { display: grid; grid-template-columns: 80px minmax(0, 1fr); align-items: start; gap: 16px; }
[data-roulette-winner] > img { width: 80px; height: 96px; object-fit: contain; background: var(--image-bg); }
[data-roulette-winner] h4 { font-size: 1.05rem; line-height: 1.4; text-wrap: pretty; }
.roulette-winner-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.roulette-options-legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 900px) {
  .comparison-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 12px; }
  .comparison-search, .comparison-results { grid-column: 1; }
  .comparison-filter-panel { grid-row: auto; position: static; max-height: none; }
  .comparison-switch a { flex: 1 0 auto; min-height: 52px; font-size: 1rem; align-items: center; flex-direction: row; padding: 10px 16px; }
  .roulette-workspace { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .roulette-wheel-shell { width: min(100%, 340px); }
}
@media (max-width: 640px) {
  .article-list-hero { display: flex; flex-direction: column; gap: 12px; }
  .article-list-context { font-size: .875rem; }
  .article-editorial-meta { gap: 4px 12px; font-size: .875rem; }
  .article-list-actions .button { flex: 0 0 auto; }
  .product-roulette { padding: 16px; }
  .roulette-heading h2 { font-size: 1.25rem; }
}

/* Cada atividade tem seu espaço; a tabela aproveita a largura da janela. */
html.is-comparison { --header-height: 54px; scroll-padding-top: calc(var(--header-height) + 48px); }
.is-comparison body { min-height: 100dvh; display: flex; flex-direction: column; padding-top: var(--header-height); }
.is-comparison .topbar { padding-inline: 16px; gap: 24px; }
.is-comparison .brand img { width: 34px; height: 34px; }
.is-comparison .brand strong { font-size: 1.25rem; }
.is-comparison .main-nav a { padding-inline: 12px; }
.is-comparison .page-shell { width: 100%; flex: 1 0 auto; padding: 0; margin: 0; }
.is-comparison .article-list-hero { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 12px 18px; margin: 0; border-bottom: 1px solid var(--cor-line); background: var(--cor-card); }
.is-comparison .article-list-hero:not(:has(.article-list-cover)) { grid-template-columns: minmax(0, 1fr) auto; }
.article-list-cover { width: 64px; height: 80px; object-fit: contain; background: var(--image-bg); border: 1px solid var(--cor-line); }
.is-comparison .article-list-hero h1 { font-size: 1.55rem; line-height: 1.15; margin-bottom: 4px; }
.is-comparison .article-list-description { font-size: .9375rem; line-height: 1.35; margin: 0 0 5px; }
.is-comparison .article-list-context { font-size: .8125rem; gap: 4px 12px; margin: 0 0 4px; }
.is-comparison .article-list-context span + span::before { margin-right: 12px; }
.is-comparison .article-editorial-meta { font-size: .8125rem; line-height: 1.3; gap: 4px 12px; }
.is-comparison .article-list-actions { margin: 0; }
.comparison-navigation { position: sticky; top: var(--header-height); z-index: 20; display: flex; min-width: 0; background: var(--cor-card); border-bottom: 2px solid var(--cor-primaria); }
.is-comparison .comparison-switch { position: static; flex: 1 1 auto; min-width: 0; border: 0; box-shadow: none; margin: 0; background: transparent; }
.is-comparison .comparison-switch a { flex: 0 0 auto; min-height: 44px; padding: 8px 18px; font-size: 1rem; border-bottom-width: 2px; }
.is-comparison .comparison-switch a.is-active { background: var(--selected-bg); }
.comparison-compact { flex: 0 0 44px; padding: 0; min-height: 44px; border: 0; border-left: 1px solid var(--cor-line); color: var(--cor-primaria); }
.comparison-compact[aria-pressed=true] svg { transform: rotate(180deg); }
.is-comparison-compact { --header-height: 0px !important; }
.is-comparison-compact .site-header, .is-comparison-compact .article-list-hero { display: none; }
.comparison-content { min-width: 0; }
.comparison-content > section, #opcoes-da-roleta, #guia { scroll-margin-top: calc(var(--header-height) + 62px); }
.is-comparison .comparison-panel { margin: 0; }
.is-comparison .comparison-workspace { height: var(--table-workspace-height, 70dvh); grid-template-columns: 300px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 0; align-items: stretch; }
.activity-filter-panel { min-width: 0; padding: 18px; border: 1px solid var(--cor-line); background: var(--cor-card); }
.is-comparison .comparison-filter-panel { grid-column: 1; grid-row: 1; position: static; height: 100%; max-height: none; overflow-y: auto; padding: 16px 18px; border: 0; border-right: 1px solid var(--cor-line); }
.is-comparison .comparison-search { margin-bottom: 16px; }
.is-comparison .comparison-filter-heading { margin-bottom: 16px; }
.is-comparison .comparison-results { grid-column: 2; grid-row: 1; display: flex; flex-direction: column; min-height: 0; gap: 10px; padding: 14px 16px 16px; }
.comparison-result-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; font-size: .875rem; }
.comparison-result-toolbar strong { color: var(--cor-primaria); }
.is-comparison .comparison-scroll-hint { margin: 0; }
.is-comparison .comparison-table-shell { flex: 1 1 auto; min-height: 0; max-height: none; }
.is-comparison .comparison-empty { margin: 0; }
.activity-workspace { width: 100%; margin: 0; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 0; align-items: stretch; }
.activity-workspace > .activity-filter-panel { position: static; min-height: var(--table-workspace-height, 70dvh); padding: 0; border: 0; border-right: 1px solid var(--cor-line); }
.activity-filter-content { position: sticky; top: calc(var(--header-height) + 46px); max-height: var(--table-workspace-height, 70dvh); overflow-y: auto; padding: 16px 18px; }
.activity-main { min-width: 0; width: min(1120px, 100%); margin-inline: auto; padding: 24px; }
.activity-filter-toggle { margin-bottom: 16px; }
.is-comparison .article-tierlist-panel { margin: 0; padding: 0; }
.tier-criterion-description { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--cor-muted); }
.article-tier-items { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.is-comparison .article-quiz { width: min(900px, calc(100% - 48px)); margin: 24px auto 32px; padding: 24px; }
.comparison-support { width: min(1280px, calc(100% - 48px)); margin: 32px auto; }
.comparison-support .article-related-lists { margin-top: 0; }
.article-quiz .article-guide-block { margin: 32px 0 0; padding: 24px 0 0; border: 0; border-top: 1px solid var(--cor-line); background: transparent; }
.comparison-product-image { position: relative; cursor: zoom-in; text-decoration: none; }
.comparison-product-image::after { content: ''; position: absolute; right: 0; bottom: 0; width: 16px; height: 16px; background: var(--cor-primaria); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='6'/%3E%3Cpath d='m15 15 5 5M7 10h6m-3-3v6'/%3E%3C/svg%3E") center / contain no-repeat; }
body.has-product-image { overflow: hidden; }
.product-image-dialog { padding: 0; width: min(1000px, calc(100% - 32px)); height: min(820px, calc(100dvh - 32px)); max-height: calc(100dvh - 32px); border: 1px solid var(--cor-line); background: var(--cor-card); color: var(--cor-texto); }
.product-image-dialog[open] { display: grid; grid-template-rows: auto minmax(120px, 1fr) auto; }
.product-image-dialog::backdrop { background: #17150fcc; }
.product-image-heading { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: start; gap: 16px; padding: 16px; border-bottom: 1px solid var(--cor-line); }
.product-image-heading h2 { font-size: 1.125rem; line-height: 1.4; text-wrap: pretty; }
.product-image-heading .button { width: 44px; padding: 0; }
.product-image-frame { display: grid; min-height: 0; padding: 16px; background: var(--image-bg); color: #302b23; }
.product-image-frame > * { grid-area: 1 / 1; }
.product-image-frame img { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.product-image-frame p { align-self: center; text-align: center; }
.product-image-actions { display: flex; justify-content: center; padding: 12px 16px; border-top: 1px solid var(--cor-line); }
.product-image-buy { background: var(--store-bg); color: var(--store-ink); border-color: var(--store-border); }
.product-image-buy:hover { background: var(--store-hover); }
.is-comparison .product-roulette { border: 0; padding: 0; margin: 0; background: transparent; }
.roulette-filter-controls { display: flex; flex-direction: column; gap: 14px; }
.roulette-filter-summary { color: var(--cor-muted); font-size: .9375rem; margin-bottom: 0; }
.roulette-heading { padding: 0; text-align: center; }
.roulette-heading h2 { font-size: 1.4rem; }
.roulette-heading p { margin: 8px 0 20px; font-size: .9375rem; }
.roulette-stage { padding: 12px 0 24px; }
.roulette-wheel-shell { width: min(360px, 100%); }
.has-roulette-result .roulette-wheel-shell { width: min(300px, 100%); }
.roulette-disc, .roulette-faces, .roulette-face { position: absolute; inset: 0; }
.roulette-face img { position: absolute; left: 50%; top: 11%; transform: translate(-50%, -50%); width: var(--face-width); height: var(--face-height); object-fit: contain; background: #fff; border: 1px solid #ad9773; padding: 2px; }
.roulette-hub img { width: 100%; height: 100%; object-fit: contain; padding: 4px; border-radius: 50%; background: #fff; }
.roulette-main-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.comparison-filter-dialog .activity-filter-panel { position: static; min-height: 100%; max-height: none; border: 0; padding: 20px; overflow: visible; }
.comparison-filter-dialog .activity-filter-content { position: static; max-height: none; padding: 0; overflow: visible; }
/* No desktop, os filtros continuam fixos ao lado dos relacionados e do rodapé. */
@media (min-width: 901px) {
  .is-comparison.has-comparison-sidebar .comparison-workspace > .comparison-filter-panel,
  .is-comparison.has-comparison-sidebar .activity-workspace > .activity-filter-panel { position: fixed; top: var(--comparison-sidebar-top, calc(var(--header-height) + 46px)); bottom: 0; left: 0; z-index: 10; width: 300px; height: auto; min-height: 0; max-height: none; overflow-y: auto; overscroll-behavior-y: contain; padding: 16px 18px; border: 0; border-right: 1px solid var(--cor-line); }
  .is-comparison.has-comparison-sidebar .activity-filter-content { position: static; max-height: none; overflow: visible; padding: 0; }
  .is-comparison.has-comparison-sidebar .activity-main { grid-column: 2; grid-row: 1; }
  .is-comparison.has-comparison-sidebar .comparison-support { width: auto; margin-inline: 324px 24px; }
  .is-comparison.has-comparison-sidebar .site-footer { width: calc(100% - 300px); margin-left: 300px; padding-inline: 24px; }
}
@media (min-width: 901px) and (max-width: 1050px) {
  .is-comparison.has-comparison-sidebar .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .is-comparison.has-comparison-sidebar .footer-intro,
  .is-comparison.has-comparison-sidebar .footer-legal { grid-column: 1 / -1; }
  .is-comparison.has-comparison-sidebar .footer-legal ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
}
@media (min-width: 901px) and (max-width: 1050px) {
  .article-tier-items { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
}
@media (max-width: 900px) {
  .is-comparison .comparison-workspace { grid-template-columns: minmax(0, 1fr); }
  .is-comparison .comparison-results { grid-column: 1; padding: 12px; }
  .is-comparison .comparison-filter-toggle { align-self: start; margin: 0; }
  .is-comparison .comparison-workspace:has(> .comparison-filter-panel) { height: auto; grid-template-rows: auto auto; }
  .is-comparison .comparison-workspace > .comparison-filter-panel { grid-row: 1; height: auto; }
  .is-comparison .comparison-workspace:has(> .comparison-filter-panel) .comparison-results { grid-row: 2; }
  .activity-workspace { grid-template-columns: minmax(0, 1fr); }
  .activity-main { padding: 16px; }
  .activity-workspace > .activity-filter-panel { min-height: 0; }
  .activity-filter-content { position: static; max-height: none; overflow: visible; }
  .is-comparison .article-quiz, .comparison-support { width: calc(100% - 32px); margin-top: 16px; }
  .roulette-wheel-shell { width: min(300px, 100%); }
}
@media (max-width: 760px) {
  .article-tier-items { display: flex; }
}
@media (max-width: 640px) {
  .is-comparison .topbar { gap: 16px; }
  .is-comparison .article-list-hero { grid-template-columns: 48px minmax(0, 1fr) 44px; gap: 10px; padding: 10px 12px; }
  .is-comparison .article-list-hero:not(:has(.article-list-cover)) { grid-template-columns: minmax(0, 1fr) 44px; }
  .article-list-cover { width: 48px; height: 64px; align-self: start; }
  .is-comparison .article-list-hero h1 { font-size: 1.2rem; }
  .is-comparison .article-list-description { font-size: .875rem; line-height: 1.3; }
  .is-comparison .article-list-context { font-size: .75rem; gap: 2px 8px; }
  .is-comparison .article-list-context span + span::before { margin-right: 8px; }
  .is-comparison .article-editorial-meta { font-size: .75rem; gap: 3px 8px; }
  .is-comparison .article-list-actions { align-self: start; }
  .is-comparison .article-list-actions .button { width: 44px; padding: 0; }
  .is-comparison .article-list-actions [data-cart-button-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .is-comparison .comparison-switch a { padding-inline: 12px; font-size: .9375rem; }
  .is-comparison .article-quiz { padding: 20px 16px; }
  .product-image-dialog { width: calc(100% - 24px); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); }
  .product-image-heading { gap: 12px; padding: 12px; }
  .product-image-frame { padding: 12px; }
}
@media (scripting: none) {
  .is-comparison .comparison-workspace { height: auto; }
  .is-comparison .comparison-table-shell { max-height: 70vh; }
}

/* Produtos escolhidos na tabela acompanham as perguntas e a roleta. */
.comparison-check { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.comparison-check input, .comparison-product-pick input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: var(--rank-s-ink); }
.comparison-selected-toggle { gap: 8px; }
.comparison-selected-toggle [data-selection-count] { font-variant-numeric: tabular-nums; }
.comparison-table .comparison-selection-heading, .comparison-table .comparison-selection-cell { min-width: 72px; width: 72px; position: sticky; left: 0; }
.comparison-table .comparison-selection-heading { z-index: 3; }
.comparison-table .comparison-selection-cell { z-index: 1; background: var(--cor-card); }
.comparison-product-pick { display: grid; place-items: center; min-height: 44px; cursor: pointer; }
.comparison-table tbody tr { cursor: pointer; }
.comparison-table tbody tr:nth-child(even) .comparison-selection-cell { background: color-mix(in srgb, var(--cor-fundo) 60%, var(--cor-card)); }
.comparison-table tbody tr:hover .comparison-selection-cell { background: var(--selected-bg); }
.comparison-table tbody tr.is-selected > td, .comparison-table tbody tr.is-selected > th, .comparison-table tbody tr.is-selected .comparison-selection-cell { background: var(--rank-s-bg); }
.comparison-product-pick:focus-within { outline: 2px solid var(--focus-color); outline-offset: -2px; }
[data-selection-feedback] { color: var(--rank-s-ink); font-weight: 600; }
.comparison-result-toolbar > a { display: inline-flex; align-items: center; min-height: 44px; }
.choice-selected { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--cor-line); }
.choice-selected-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 16px; }
.choice-selected-heading h3 { font-size: 1.25rem; }
.choice-selected-heading a { display: inline-flex; align-items: center; min-height: 44px; }
.choice-selected-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.choice-selected-product { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 16px; background: var(--rank-s-bg); border: 1px solid var(--cor-line); }
.choice-selected-product > img { width: 80px; height: 96px; object-fit: contain; background: var(--image-bg); }
.choice-selected-copy { min-width: 0; }
.choice-selected-copy h4 { font-size: 1rem; line-height: 1.4; text-wrap: pretty; }
.choice-selected-label { display: block; color: var(--rank-s-ink); font-size: .875rem; font-weight: 600; margin-bottom: 8px; }
.choice-selected-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.choice-selected-links .button { font-size: .875rem; padding-inline: 10px; }
.choice-selected-links a[href^="/go/"] { background: var(--store-bg); color: var(--store-ink); border-color: var(--store-border); }
.choice-selected-links a[href^="/go/"]:hover { background: var(--store-hover); }
.choice-questionnaire > h3 { font-size: 1.25rem; margin-bottom: 16px; }
.choice-scope { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: end; }
.choice-pool-summary { color: var(--cor-muted); font-size: .9375rem; margin: 16px 0 24px; }
@media (max-width: 640px) {
  .is-comparison .comparison-selected-toggle [data-selection-toggle-label] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .is-comparison .comparison-selected-toggle { gap: 4px; }
  .comparison-selected-toggle [data-selection-count] { font-size: .75rem; }
  .choice-selected-grid, .choice-scope { grid-template-columns: minmax(0, 1fr); }
  .choice-selected-product { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .choice-selected-product > img { width: 64px; height: 80px; }
}

.roulette-winner-copy { min-width: 0; }
.roulette-winner-links a[href^="/go/"] { background: var(--store-bg); color: var(--store-ink); border-color: var(--store-border); }
.roulette-winner-links a[href^="/go/"]:hover { background: var(--store-hover); }
.roulette-stop { min-height: 48px; padding-inline: 28px; background: var(--cor-primaria); color: var(--button-ink); border-color: var(--cor-primaria); }
.roulette-sound { min-height: 48px; }
@media (max-width: 640px) {
  .roulette-result { padding: 12px; }
  [data-roulette-winner] { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  [data-roulette-winner] > img { width: 64px; height: 80px; }
  .has-roulette-result .roulette-wheel-shell { width: min(240px, 100%); }
  .roulette-main-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roulette-main-actions .button { min-width: 0; padding-inline: 8px; font-size: .9375rem; }
  .roulette-main-actions [data-choose-products] { grid-column: 1 / -1; }
  .roulette-winner-links .button { font-size: .9375rem; padding-inline: 10px; }
}
