:root {
  --cj-accent: #ff6b00;
  --cj-accent-dark: #c84f00;
  --cj-ink: #111827;
  --cj-ink-soft: #1f2937;
  --cj-text: #263244;
  --cj-muted: #64748b;
  --cj-line: #e2e8f0;
  --cj-surface: #f4f7fb;
  --cj-surface-2: #eef2f7;
  --cj-white: #fff;
  --cj-success: #15803d;
  --cj-danger: #b91c1c;
  --cj-radius: 16px;
  --cj-radius-sm: 10px;
  --cj-shadow: 0 18px 45px rgba(15, 23, 42, .09);
  --cj-shadow-sm: 0 8px 24px rgba(15, 23, 42, .07);
  --cj-container: 1180px;
  --cj-reading: 760px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cj-white);
  color: var(--cj-text);
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: var(--cj-accent-dark); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--cj-accent); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4, h5, h6 { color: var(--cj-ink); font-family: "Segoe UI Variable Display", "Segoe UI", Inter, ui-sans-serif, system-ui, sans-serif; line-height: 1.18; margin: 0 0 .7em; letter-spacing: -.025em; }
h1 { font-size: clamp(2.15rem, 5vw, 4.45rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
p { margin: 0 0 1.2em; }
ul, ol { padding-left: 1.35rem; }
::selection { background: color-mix(in srgb, var(--cj-accent) 28%, white); color: var(--cj-ink); }

.container { width: min(calc(100% - 36px), var(--cj-container)); margin-inline: auto; }
.container--reading { width: min(calc(100% - 36px), var(--cj-reading)); }
.container--article-head { width: min(calc(100% - 36px), 980px); }
.site-main { min-height: 55vh; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto !important; width: auto; height: auto; top: 8px; left: 8px; padding: 12px 16px; z-index: 100000; background: #fff; color: #111; border-radius: 8px; box-shadow: var(--cj-shadow); }
.skip-link { font-weight: 800; }
.eyebrow { margin: 0 0 .5rem; color: var(--cj-accent-dark); font-size: .76rem; font-weight: 850; letter-spacing: .11em; line-height: 1.3; text-transform: uppercase; }

.button, .wp-element-button, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .72rem 1.05rem;
  border: 1px solid transparent;
  border-radius: var(--cj-radius-sm);
  background: var(--cj-ink);
  color: #fff;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover, .wp-element-button:hover, input[type="submit"]:hover { color: #fff; transform: translateY(-1px); box-shadow: var(--cj-shadow-sm); }
.button--primary { background: var(--cj-accent); }
.button--primary:hover { background: var(--cj-accent-dark); }
.button--light { background: #fff; color: var(--cj-ink); }
.button--light:hover { color: var(--cj-ink); }

.reading-progress { position: fixed; inset: 0 0 auto; z-index: 9999; height: 4px; background: transparent; pointer-events: none; }
.reading-progress span { display: block; width: 0; height: 100%; background: var(--cj-accent); }

.site-header { position: sticky; top: 0; z-index: 1000; background: var(--cj-ink); box-shadow: 0 6px 18px rgba(0,0,0,.16); }
.admin-bar .site-header { top: 32px; }
.site-header__bar { min-height: 72px; }
.site-header__inner { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(190px, 270px); align-items: center; gap: 24px; min-height: 72px; }
.site-branding { display: flex; align-items: center; min-width: 160px; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 46px; width: auto; }
.site-title { display: inline-flex; align-items: baseline; color: #fff; font-size: 1.65rem; font-weight: 800; letter-spacing: -.06em; line-height: 1; text-decoration: none; }
.site-title span { color: #fff; }
.site-title strong { color: var(--cj-accent); font-weight: 900; }
.site-title:hover { color: #fff; }

.primary-navigation { min-width: 0; }
.primary-menu { display: flex; align-items: center; justify-content: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.primary-menu li { position: relative; margin: 0; }
.primary-menu > li > a { display: flex; align-items: center; min-height: 72px; padding: 0 .7rem; color: #d7dee9; font-size: .91rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.primary-menu > li > a:hover, .primary-menu > li.current-menu-item > a, .primary-menu > li.current-menu-ancestor > a { color: #fff; }
.primary-menu > li.current-menu-item > a::after, .primary-menu > li.current-menu-ancestor > a::after { content: ""; position: absolute; inset: auto .7rem 0; height: 3px; background: var(--cj-accent); border-radius: 3px 3px 0 0; }
.primary-menu .menu-item-has-children > a::after { content: ""; width: 6px; height: 6px; margin-left: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.primary-menu .sub-menu { position: absolute; top: calc(100% - 8px); left: 0; min-width: 220px; margin: 0; padding: 8px; list-style: none; background: #fff; border: 1px solid var(--cj-line); border-radius: 12px; box-shadow: var(--cj-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .16s ease, visibility .16s ease, transform .16s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-menu .sub-menu a { display: block; padding: .65rem .75rem; border-radius: 8px; color: var(--cj-text); font-size: .91rem; font-weight: 700; text-decoration: none; }
.primary-menu .sub-menu a:hover { background: var(--cj-surface); color: var(--cj-accent-dark); }
.menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: transparent; color: #fff; }
.menu-toggle__lines { display: grid; gap: 4px; }
.menu-toggle__lines span { display: block; width: 20px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.search-form { position: relative; display: flex; min-width: 0; }
.search-form label { display: block; flex: 1; min-width: 0; }
.search-field { width: 100%; min-height: 44px; padding: .65rem 3rem .65rem .9rem; border: 1px solid #d7dee8; border-radius: 11px; background: #fff; color: var(--cj-ink); outline: none; }
.search-field:focus { border-color: var(--cj-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cj-accent) 20%, transparent); }
.search-submit { position: absolute; top: 4px; right: 4px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 8px; background: var(--cj-accent); color: #fff; }
.header-search .search-field { min-height: 40px; border: 0; background: rgba(255,255,255,.1); color: #fff; }
.header-search .search-field::placeholder { color: #b8c1cf; }
.header-search .search-submit { top: 2px; right: 2px; }

.ad-slot { width: min(calc(100% - 36px), var(--cj-container)); margin: 18px auto; text-align: center; overflow: hidden; }
.site-header > .ad-slot { margin-block: 0; padding: 12px 0; }
.ad-slot__label { display: block; margin-bottom: 5px; color: var(--cj-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.ad-slot .widget { margin: 0; }

.home-hero { padding: 70px 0 54px; background: radial-gradient(circle at 82% 6%, rgba(255,107,0,.25), transparent 30%), linear-gradient(135deg, #111827 0%, #1c293b 55%, #111827 100%); color: #fff; }
.home-hero__intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: end; gap: 54px; margin-bottom: 42px; }
.home-hero__intro h1 { max-width: 780px; margin-bottom: .35em; color: #fff; }
.home-hero__intro > div > p:not(.eyebrow) { max-width: 700px; margin: 0; color: #ced6e2; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.home-hero__search { padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: var(--cj-radius); background: rgba(255,255,255,.07); backdrop-filter: blur(8px); }
.home-hero__search .search-field { min-height: 52px; padding-right: 3.6rem; }
.home-hero__search .search-submit { top: 4px; right: 4px; width: 44px; height: 44px; }
.home-hero__search small { display: block; margin-top: 10px; color: #bfc9d7; line-height: 1.4; }
.featured-story { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); min-height: 430px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: #fff; box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.featured-story__media { min-height: 380px; overflow: hidden; background: var(--cj-surface-2); }
.featured-story__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.featured-story:hover .featured-story__media img { transform: scale(1.025); }
.featured-story__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 5vw, 56px); color: var(--cj-text); }
.featured-story__content h2 { font-size: clamp(1.7rem, 3.2vw, 2.8rem); }
.featured-story__content h2 a { color: var(--cj-ink); text-decoration: none; }
.featured-story__content p { color: var(--cj-muted); }
.featured-story__content .button { align-self: flex-start; }
.entry-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 12px; color: var(--cj-muted); font-size: .82rem; font-weight: 650; }
.entry-meta > span { position: relative; }
.entry-meta > span::before { content: "•"; margin-right: 14px; color: #c0c7d1; }
.entry-meta__category { color: var(--cj-accent-dark); font-weight: 850; text-decoration: none; text-transform: uppercase; letter-spacing: .06em; }

.category-shortcuts { border-bottom: 1px solid var(--cj-line); background: #fff; }
.category-pills { display: flex; gap: 10px; padding: 18px 0; overflow-x: auto; scrollbar-width: thin; }
.category-pills a, .subcategory-nav a { flex: none; padding: .55rem .8rem; border: 1px solid var(--cj-line); border-radius: 999px; background: #fff; color: var(--cj-text); font-size: .88rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.category-pills a:hover, .subcategory-nav a:hover { border-color: var(--cj-accent); color: var(--cj-accent-dark); background: #fff8f2; }

.home-content { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 46px; padding: 58px 0 70px; }
.home-content__main { min-width: 0; }
.home-content__sidebar { min-width: 0; }
.home-section + .home-section { margin-top: 64px; padding-top: 58px; border-top: 1px solid var(--cj-line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.section-heading h2 { margin: 0; }
.section-heading p { margin-bottom: .35rem; }
.section-heading > a { flex: none; font-size: .9rem; font-weight: 800; text-decoration: none; }
.post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.post-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-list { display: grid; gap: 20px; }

.post-card { min-width: 0; overflow: hidden; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); background: #fff; box-shadow: 0 2px 0 rgba(15,23,42,.02); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.post-card:hover { transform: translateY(-3px); border-color: #d1d8e2; box-shadow: var(--cj-shadow-sm); }
.post-card__media { display: block; aspect-ratio: 16 / 9.6; overflow: hidden; background: var(--cj-surface); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-card__media img { transform: scale(1.025); }
.post-card__body { padding: 18px; }
.post-card__category { display: inline-block; margin-bottom: 8px; color: var(--cj-accent-dark); font-size: .72rem; font-weight: 850; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.post-card__title { margin-bottom: .55rem; font-size: clamp(1.12rem, 2vw, 1.38rem); }
.post-card__title a { color: var(--cj-ink); text-decoration: none; }
.post-card__excerpt { margin-bottom: 1rem; color: var(--cj-muted); font-size: .93rem; line-height: 1.6; }
.post-card__meta { display: flex; flex-wrap: wrap; gap: 8px 12px; color: var(--cj-muted); font-size: .76rem; font-weight: 650; }
.post-card__meta span + span::before { content: "•"; margin-right: 12px; }
.post-card--horizontal { display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.post-card--horizontal .post-card__media { aspect-ratio: auto; min-height: 178px; }
.post-card--horizontal .post-card__body { display: flex; flex-direction: column; justify-content: center; padding: 22px; }
.post-card--compact .post-card__body { padding: 14px; }
.post-card--compact .post-card__title { font-size: 1.05rem; }

.trust-card { position: sticky; top: 95px; padding: 25px; border: 1px solid #ffd7b8; border-radius: var(--cj-radius); background: linear-gradient(145deg, #fff8f2, #fff); box-shadow: var(--cj-shadow-sm); }
.trust-card h2 { font-size: 1.45rem; }
.trust-card p { color: var(--cj-muted); font-size: .94rem; }
.trust-card a { font-size: .9rem; font-weight: 800; text-decoration: none; }
.home-content__sidebar .widget { margin-top: 24px; padding: 22px; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); }
.widget-title { font-size: 1.1rem; }
.widget ul { padding-left: 1.1rem; }

.method-strip { padding: 64px 0; background: var(--cj-surface); border-top: 1px solid var(--cj-line); }
.method-strip__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.method-strip__grid > div { padding: 28px; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); background: #fff; }
.method-strip__grid > div > strong { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 18px; border-radius: 50%; background: var(--cj-ink); color: #fff; font-size: 1.1rem; }
.method-strip__grid h2 { font-size: 1.2rem; }
.method-strip__grid p { margin: 0; color: var(--cj-muted); font-size: .92rem; }

.breadcrumbs { margin: 28px 0 24px; color: var(--cj-muted); font-size: .8rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px 9px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: flex; align-items: center; min-width: 0; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 9px; color: #b1bac6; }
.breadcrumbs a { color: var(--cj-muted); text-decoration: none; }
.breadcrumbs span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.archive-main { padding: 0 0 70px; }
.archive-header { max-width: 850px; padding: 35px 0 34px; }
.archive-header h1 { margin-bottom: .25em; font-size: clamp(2rem, 5vw, 3.8rem); }
.archive-header > p, .archive-description { max-width: 760px; color: var(--cj-muted); font-size: 1.08rem; }
.archive-description p:last-child { margin-bottom: 0; }
.archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.subcategory-nav { display: flex; gap: 9px; margin: -8px 0 34px; overflow-x: auto; }
.archive-search { max-width: 560px; margin-top: 22px; }
.navigation.pagination { margin-top: 38px; }
.nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }
.page-numbers { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: 6px 10px; border: 1px solid var(--cj-line); border-radius: 9px; color: var(--cj-text); font-weight: 750; text-decoration: none; }
.page-numbers.current { border-color: var(--cj-accent); background: var(--cj-accent); color: #fff; }
.empty-state { max-width: 620px; margin: 40px auto; padding: 40px; text-align: center; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); background: var(--cj-surface); }
.empty-state .search-form { max-width: 450px; margin: 20px auto 0; }
.error-404 { padding: 85px 0; text-align: center; }
.error-404__code { margin: 0; color: var(--cj-accent); font-size: clamp(5rem, 17vw, 11rem); font-weight: 950; letter-spacing: -.08em; line-height: .85; }
.error-404 .search-form { max-width: 470px; margin: 24px auto; }

.article-header { max-width: 900px; padding: 18px 0 30px; }
.article-header h1 { margin-bottom: .3em; font-size: clamp(2.25rem, 5.5vw, 4.6rem); }
.article-deck { max-width: 840px; color: var(--cj-muted); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.15rem, 2.2vw, 1.42rem); line-height: 1.55; }
.article-byline { display: flex; align-items: center; gap: 12px; margin-top: 24px; }
.article-byline img { border-radius: 50%; }
.article-byline div { display: grid; gap: 1px; }
.article-byline span { color: var(--cj-ink); font-size: .92rem; }
.article-byline small { color: var(--cj-muted); font-size: .78rem; }
.article-featured-image { overflow: hidden; border-radius: 20px; background: var(--cj-surface); box-shadow: var(--cj-shadow-sm); }
.article-featured-image img { display: block; width: 100%; max-height: 620px; object-fit: cover; }
.article-featured-image figcaption { padding: 9px 14px; color: var(--cj-muted); font-size: .76rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, var(--cj-reading)) 275px; justify-content: center; gap: 55px; padding-top: 44px; padding-bottom: 78px; }
.article-layout__main { min-width: 0; }
.article-layout__aside { min-width: 0; }
.affiliate-notice { padding: 14px 16px; border: 1px solid #ffd7b8; border-radius: 10px; background: #fff8f2; color: #6b4225; font-size: .82rem; line-height: 1.55; }
.entry-content { color: #243043; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.05rem, 1.4vw, 1.14rem); line-height: 1.82; }
.entry-content > * { max-width: 100%; }
.entry-content h2, .entry-content h3, .entry-content h4 { scroll-margin-top: 100px; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.entry-content h2 { margin-top: 2.15em; padding-top: .25em; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.entry-content h3 { margin-top: 1.8em; font-size: clamp(1.25rem, 2vw, 1.55rem); }
.entry-content p { margin-bottom: 1.35em; }
.entry-content a { word-break: break-word; }
.entry-content img { border-radius: 12px; }
.entry-content blockquote { margin: 1.8em 0; padding: 1.1em 1.3em; border-left: 5px solid var(--cj-accent); background: var(--cj-surface); font-style: italic; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content table { width: 100%; border-collapse: collapse; font-family: Inter, sans-serif; font-size: .88rem; }
.entry-content th, .entry-content td { padding: 12px; border: 1px solid var(--cj-line); text-align: left; vertical-align: top; }
.entry-content th { background: var(--cj-surface); color: var(--cj-ink); }
.entry-content pre { overflow-x: auto; padding: 18px; border-radius: 10px; background: #111827; color: #f8fafc; font-size: .88rem; }
.entry-content .wp-block-image figcaption { color: var(--cj-muted); font-family: Inter, sans-serif; font-size: .78rem; }
.entry-content .wp-block-separator { margin: 2.4rem 0; border-color: var(--cj-line); }
.toc-card { position: sticky; top: 98px; padding: 20px; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); background: var(--cj-surface); }
.toc-card > strong { display: block; margin-bottom: 10px; color: var(--cj-ink); font-size: .9rem; }
.toc-card ol { display: grid; gap: 7px; margin: 0; padding-left: 1.2rem; }
.toc-card li { color: var(--cj-muted); font-size: .78rem; line-height: 1.4; }
.toc-card li.is-h3 { margin-left: 8px; }
.toc-card a { color: var(--cj-muted); text-decoration: none; }
.toc-card a:hover, .toc-card a.is-active { color: var(--cj-accent-dark); }
.toc-card.is-empty { display: none; }
.article-layout__aside .ad-slot { width: 100%; margin: 24px 0; }
.article-layout__aside .widget { margin-top: 24px; padding: 18px; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); }
.article-footer { margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--cj-line); }
.article-updated { color: var(--cj-muted); font-size: .82rem; }
.tag-list { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin: 18px 0; }
.tag-list > span { margin-right: 4px; color: var(--cj-muted); font-size: .82rem; font-weight: 700; }
.tag-list a { padding: 5px 9px; border: 1px solid var(--cj-line); border-radius: 999px; color: var(--cj-text); font-size: .75rem; text-decoration: none; }
.share-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.share-tools strong { margin-right: 6px; color: var(--cj-ink); font-size: .86rem; }
.share-tools a, .share-tools button { padding: 7px 10px; border: 1px solid var(--cj-line); border-radius: 8px; background: #fff; color: var(--cj-text); font-size: .76rem; font-weight: 700; text-decoration: none; }
.author-box { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 20px; margin-top: 40px; padding: 24px; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); background: var(--cj-surface); }
.author-box__avatar { border-radius: 50%; }
.author-box__eyebrow { margin-bottom: 3px; color: var(--cj-muted); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.author-box h2 { margin-bottom: .3rem; font-size: 1.2rem; }
.author-box p:last-child { margin: 0; color: var(--cj-muted); font-size: .88rem; }
.related-posts { margin-top: 52px; padding-top: 36px; border-top: 1px solid var(--cj-line); }
.related-posts > h2 { font-size: 1.55rem; }

.comparison-panel { margin: 28px 0 42px; overflow: hidden; border: 1px solid #d8dee8; border-radius: 20px; background: #fff; box-shadow: var(--cj-shadow); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.comparison-panel__header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 28px; background: linear-gradient(135deg, var(--cj-ink), #25344a); color: #fff; }
.comparison-panel__header h2 { margin: 0; color: #fff; font-size: clamp(1.5rem, 3vw, 2.15rem); }
.comparison-panel__eyebrow { margin: 0 0 5px; color: #ffb173; font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.comparison-winner { flex: none; max-width: 220px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(255,255,255,.08); }
.comparison-winner span, .comparison-winner strong { display: block; }
.comparison-winner span { color: #cbd5e1; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.comparison-winner strong { margin-top: 2px; color: #fff; font-size: .86rem; line-height: 1.3; }
.method-note { padding: 12px 28px; border-bottom: 1px solid var(--cj-line); background: #fff8f2; color: #6d4426; font-size: .79rem; }
.comparison-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 24px 28px; }
.comparison-product { position: relative; padding: 22px; border: 1px solid var(--cj-line); border-radius: 14px; background: #fff; }
.comparison-product.is-winner { border-color: var(--cj-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--cj-accent) 12%, transparent); }
.comparison-product__badge { position: absolute; top: -11px; right: 14px; padding: 4px 9px; border-radius: 999px; background: var(--cj-accent); color: #fff; font-size: .65rem; font-weight: 850; text-transform: uppercase; }
.comparison-product__label { margin: 0 0 4px; color: var(--cj-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.comparison-product h3 { margin-bottom: .4rem; font-size: 1.25rem; }
.comparison-product__price { margin-bottom: .8rem; color: var(--cj-accent-dark); font-weight: 850; }
.comparison-product__score { display: flex; align-items: baseline; gap: 2px; margin-bottom: 14px; }
.comparison-product__score strong { color: var(--cj-ink); font-size: 2rem; line-height: 1; }
.comparison-product__score span { color: var(--cj-muted); }
.comparison-product__score small { margin-left: 7px; color: var(--cj-muted); font-size: .65rem; }
.comparison-product__links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.comparison-product__links > a:not(.button) { font-size: .78rem; font-weight: 750; }
.comparison-product__links .button { min-height: 38px; padding: .55rem .8rem; font-size: .78rem; }
.comparison-section { padding: 4px 28px 28px; }
.comparison-section > h3 { margin: 20px 0 14px; font-size: 1.25rem; }
.score-table { overflow: hidden; border: 1px solid var(--cj-line); border-radius: 12px; }
.score-row { display: grid; grid-template-columns: minmax(130px, .8fr) repeat(2, minmax(150px, 1fr)); align-items: center; border-top: 1px solid var(--cj-line); }
.score-row:first-child { border-top: 0; }
.score-row > * { min-width: 0; padding: 11px 13px; }
.score-row--head { background: var(--cj-surface); color: var(--cj-ink); font-size: .75rem; font-weight: 800; }
.score-row > strong { color: var(--cj-text); font-size: .78rem; }
.score-cell { display: grid; grid-template-columns: 32px minmax(70px, 1fr); align-items: center; gap: 8px; border-left: 1px solid var(--cj-line); }
.score-cell.is-best { background: #effaf2; }
.score-cell__number { color: var(--cj-ink); font-size: .78rem; font-weight: 850; }
.score-bar { height: 6px; overflow: hidden; border-radius: 999px; background: var(--cj-surface-2); }
.score-bar i { display: block; height: 100%; border-radius: inherit; background: var(--cj-accent); }
.score-cell.is-best .score-bar i { background: var(--cj-success); }
.comparison-table-wrap { overflow-x: auto; border: 1px solid var(--cj-line); border-radius: 12px; }
.comparison-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .78rem; line-height: 1.5; }
.comparison-table th, .comparison-table td { padding: 11px 12px; border-top: 1px solid var(--cj-line); border-left: 1px solid var(--cj-line); text-align: left; vertical-align: top; }
.comparison-table tr:first-child th { border-top: 0; }
.comparison-table th:first-child, .comparison-table td:first-child { border-left: 0; }
.comparison-table thead th { background: var(--cj-surface); color: var(--cj-ink); font-weight: 800; }
.comparison-table tbody th { width: 25%; background: #fbfcfe; color: var(--cj-text); }
.comparison-table td.is-best { background: #effaf2; color: #14532d; font-weight: 700; }
.pros-cons-grid, .audience-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pros-cons-card, .audience-grid > div { padding: 19px; border: 1px solid var(--cj-line); border-radius: 12px; }
.pros-cons-card h4 { font-size: 1.02rem; }
.pros-title, .cons-title { display: block; margin: 12px 0 6px; font-size: .75rem; text-transform: uppercase; }
.pros-title { color: var(--cj-success); }
.cons-title { color: var(--cj-danger); }
.pros-list, .cons-list { display: grid; gap: 5px; margin: 0; padding-left: 1.15rem; font-size: .8rem; }
.audience-grid > div { background: var(--cj-surface); }
.audience-grid strong { color: var(--cj-ink); font-size: .9rem; }
.audience-grid p { margin: 5px 0 0; color: var(--cj-muted); font-size: .82rem; }
.comparison-verdict { margin: 0 28px 26px; padding: 20px; border-left: 5px solid var(--cj-accent); border-radius: 8px; background: #fff8f2; }
.comparison-verdict strong { color: var(--cj-ink); }
.comparison-verdict p { margin: 5px 0 0; color: #5b4636; font-size: .88rem; }
.specific-disclosure { margin: 0 28px 20px; color: var(--cj-muted); font-size: .75rem; }
.comparison-sources { margin: 0 28px 28px; border-top: 1px solid var(--cj-line); padding-top: 14px; }
.comparison-sources summary { color: var(--cj-text); font-size: .8rem; font-weight: 800; cursor: pointer; }
.comparison-sources ul { columns: 2; margin-bottom: 0; font-size: .75rem; }
.comparison-sources a { word-break: break-all; }

.page-article { padding-bottom: 75px; }
.page-header { padding: 24px 0 12px; }
.page-header h1 { font-size: clamp(2.1rem, 5vw, 3.7rem); }
.page-header p { color: var(--cj-muted); font-size: 1.1rem; }
.contact-form-wrap { margin-top: 28px; font-family: Inter, sans-serif; }
.contact-form { padding: 26px; border: 1px solid var(--cj-line); border-radius: var(--cj-radius); background: var(--cj-surface); }
.contact-form label { display: grid; gap: 5px; color: var(--cj-ink); font-size: .84rem; font-weight: 750; }
.contact-form input, .contact-form textarea { width: 100%; padding: .72rem .8rem; border: 1px solid #ccd5e0; border-radius: 9px; background: #fff; color: var(--cj-text); }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--cj-accent); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--cj-accent) 16%, transparent); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-form__trap { position: absolute; left: -9999px; }
.notice { margin-bottom: 18px; padding: 12px 15px; border-radius: 9px; font-family: Inter, sans-serif; font-size: .86rem; }
.notice--success { background: #effaf2; color: #14532d; }
.notice--error { background: #fff1f2; color: #881337; }

.comments-area { margin-top: 52px; padding-top: 36px; border-top: 1px solid var(--cj-line); }
.comments-title, .comment-reply-title { font-size: 1.45rem; }
.comment-list { margin: 0; padding: 0; list-style: none; }
.comment-list .children { list-style: none; }
.comment-body { margin-bottom: 20px; padding: 18px; border: 1px solid var(--cj-line); border-radius: 12px; }
.comment-meta { font-size: .8rem; }
.comment-author img { border-radius: 50%; vertical-align: middle; }
.comment-content { margin-top: 12px; }
.comment-form label { display: block; margin-bottom: 4px; color: var(--cj-ink); font-weight: 700; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: .7rem; border: 1px solid var(--cj-line); border-radius: 9px; }

.site-footer { background: var(--cj-ink); color: #c8d1de; }
.site-footer__grid { display: grid; grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(150px, .7fr)); gap: 42px; padding: 58px 0 45px; }
.site-title--footer { margin-bottom: 18px; }
.site-footer h2, .site-footer .widget-title { color: #fff; font-size: .95rem; letter-spacing: 0; }
.site-footer p { color: #aeb9c8; font-size: .86rem; }
.affiliate-disclosure { max-width: 450px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.1); font-size: .74rem !important; }
.footer-menu, .site-footer .widget ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.footer-menu a, .site-footer .widget a { color: #c8d1de; font-size: .83rem; text-decoration: none; }
.footer-menu a:hover, .site-footer .widget a:hover { color: #fff; }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__bottom p { margin: 0; padding: 17px 0; font-size: .73rem; }

@media (max-width: 1120px) {
  .home-content { grid-template-columns: minmax(0, 1fr) 255px; gap: 30px; }
  .article-layout { grid-template-columns: minmax(0, 720px) 240px; gap: 34px; }
  .archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 920px) {
  .admin-bar .site-header { top: 46px; }
  .site-header__inner { grid-template-columns: auto 1fr auto; min-height: 64px; }
  .site-header__bar { min-height: 64px; }
  .menu-toggle { display: inline-flex; grid-column: 3; justify-self: end; }
  .header-search { grid-column: 2; grid-row: 1; width: min(100%, 310px); justify-self: end; margin-right: 8px; }
  .primary-navigation { position: fixed; inset: 64px 0 0; display: none; overflow-y: auto; padding: 20px; background: var(--cj-ink); }
  .admin-bar .primary-navigation { top: 110px; }
  .primary-navigation.is-open { display: block; }
  .primary-menu { display: block; max-width: 700px; margin-inline: auto; }
  .primary-menu > li { border-bottom: 1px solid rgba(255,255,255,.09); }
  .primary-menu > li > a { min-height: 50px; padding: 0; font-size: 1rem; }
  .primary-menu > li.current-menu-item > a::after, .primary-menu > li.current-menu-ancestor > a::after { display: none; }
  .primary-menu .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 10px 14px; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .primary-menu .sub-menu a { color: #bfc9d7; }
  .primary-menu .sub-menu a:hover { background: rgba(255,255,255,.08); color: #fff; }
  .home-hero__intro { grid-template-columns: 1fr; gap: 28px; }
  .featured-story { grid-template-columns: 1fr; }
  .featured-story__media { min-height: 320px; max-height: 460px; }
  .home-content { grid-template-columns: 1fr; }
  .home-content__sidebar { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: start; gap: 20px; }
  .trust-card { position: static; }
  .article-layout { grid-template-columns: minmax(0, var(--cj-reading)); }
  .article-layout__aside { display: none; }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .container { width: min(calc(100% - 26px), var(--cj-container)); }
  .header-search { display: none; }
  .site-header__inner { grid-template-columns: auto 1fr auto; }
  .site-branding { min-width: 0; }
  .site-title { font-size: 1.45rem; }
  .home-hero { padding: 48px 0 34px; }
  .home-hero__intro { margin-bottom: 28px; }
  .home-hero__search { padding: 14px; }
  .featured-story { border-radius: 16px; }
  .featured-story__media { min-height: 220px; }
  .featured-story__content { padding: 24px; }
  .post-grid, .archive-grid, .post-grid--3 { grid-template-columns: 1fr; }
  .post-card--horizontal { grid-template-columns: 115px minmax(0, 1fr); }
  .post-card--horizontal .post-card__media { min-height: 138px; }
  .post-card--horizontal .post-card__body { padding: 14px; }
  .post-card--horizontal .post-card__excerpt { display: none; }
  .post-card--horizontal .post-card__title { font-size: 1rem; }
  .home-content { padding-top: 40px; }
  .home-section + .home-section { margin-top: 44px; padding-top: 40px; }
  .section-heading { align-items: start; }
  .section-heading > a { margin-top: 8px; }
  .home-content__sidebar { grid-template-columns: 1fr; }
  .method-strip__grid { grid-template-columns: 1fr; }
  .article-header h1 { font-size: clamp(2rem, 10vw, 3.1rem); }
  .article-deck { font-size: 1.08rem; }
  .article-byline small { line-height: 1.35; }
  .article-featured-image { border-radius: 12px; }
  .article-layout { padding-top: 30px; padding-bottom: 55px; }
  .entry-content { font-size: 1.03rem; }
  .comparison-panel { margin-inline: -5px; border-radius: 14px; }
  .comparison-panel__header { display: block; padding: 22px 18px; }
  .comparison-winner { margin-top: 14px; max-width: none; }
  .method-note { padding: 11px 18px; }
  .comparison-products { grid-template-columns: 1fr; padding: 20px 18px; }
  .comparison-section { padding: 2px 18px 22px; }
  .score-row { grid-template-columns: minmax(100px, .8fr) repeat(2, minmax(90px, 1fr)); }
  .score-row > * { padding: 9px 8px; }
  .score-row--head { font-size: .65rem; }
  .score-cell { grid-template-columns: 1fr; gap: 3px; }
  .pros-cons-grid, .audience-grid { grid-template-columns: 1fr; }
  .comparison-verdict { margin: 0 18px 22px; }
  .specific-disclosure, .comparison-sources { margin-inline: 18px; }
  .comparison-sources ul { columns: 1; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .author-box { grid-template-columns: 58px minmax(0,1fr); padding: 18px; }
  .author-box__avatar { width: 58px; height: 58px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 420px) {
  .post-card--horizontal { grid-template-columns: 100px minmax(0,1fr); }
  .post-card--horizontal .post-card__meta { display: none; }
  .comparison-product__links { align-items: stretch; }
  .comparison-product__links .button { width: 100%; }
}

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

@media print {
  .site-header, .site-footer, .ad-slot, .article-layout__aside, .share-tools, .comments-area, .related-posts, .reading-progress { display: none !important; }
  .article-layout { display: block; padding: 0; }
  .article-featured-image, .comparison-panel { box-shadow: none; }
  a { color: #000; text-decoration: none; }
}

/* Conteúdo editorial importado */
.post-card__media { position: relative; }
.post-card__score {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  padding: 7px 10px;
  border: 2px solid rgba(255,255,255,.85);
  border-radius: 999px;
  background: var(--cj-accent);
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.post-card__score small { font-size: .62rem; }
.article-score {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  margin: 8px 0 16px;
  padding: 8px 12px;
  border: 1px solid #fed7aa;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412;
}
.article-score span { margin-right: 5px; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.article-score strong { font-size: 1.35rem; line-height: 1; }
.article-score small { font-size: .72rem; }
.cj-editor-note {
  margin: 0 0 28px;
  padding: 16px 18px;
  border-left: 5px solid var(--cj-accent);
  border-radius: 10px;
  background: #fff8f2;
  color: #633b20;
  font-size: .9rem;
}
.cj-table-scroll { margin: 24px 0 34px; overflow-x: auto; border: 1px solid var(--cj-line); border-radius: 14px; }
.cj-rating-table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: .88rem; line-height: 1.45; }
.cj-rating-table th, .cj-rating-table td { padding: 13px 14px; border-bottom: 1px solid var(--cj-line); text-align: left; vertical-align: top; }
.cj-rating-table thead th { background: var(--cj-ink); color: #fff; }
.cj-rating-table tbody th { color: var(--cj-ink); }
.cj-rating-table tbody tr:last-child th, .cj-rating-table tbody tr:last-child td { border-bottom: 0; }
.cj-rating-table td:nth-child(2) strong { color: var(--cj-accent-dark); white-space: nowrap; }
.post-grid--popular { grid-template-columns: repeat(3, minmax(0,1fr)); }
.home-section--popular { margin-bottom: 54px; }

.phone-ranking { margin: 30px 0 50px; }
.phone-ranking__notice { margin-bottom: 20px; padding: 18px 20px; border: 1px solid #fed7aa; border-radius: 14px; background: #fff7ed; }
.phone-ranking__notice strong { color: #9a3412; }
.phone-ranking__notice p { margin: 4px 0 0; color: #7c2d12; font-size: .86rem; }
.phone-ranking__filters { display: grid; grid-template-columns: 1.4fr repeat(2, minmax(170px,.8fr)); gap: 14px; margin-bottom: 16px; padding: 18px; border: 1px solid var(--cj-line); border-radius: 16px; background: var(--cj-surface); }
.phone-ranking__filters label { display: grid; gap: 5px; color: var(--cj-ink); font-size: .76rem; font-weight: 800; }
.phone-ranking__filters input, .phone-ranking__filters select { width: 100%; min-height: 44px; padding: .65rem .75rem; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; color: var(--cj-ink); }
.phone-ranking__count { margin: 0 0 14px; color: var(--cj-muted); font-size: .83rem; }
.phone-ranking__grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.phone-card { position: relative; display: grid; grid-template-columns: 104px minmax(0,1fr); min-width: 0; overflow: hidden; border: 1px solid var(--cj-line); border-radius: 16px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.phone-card[hidden] { display: none !important; }
.phone-card__rank { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 4px 7px; border-radius: 999px; background: rgba(17,24,39,.88); color: #fff; font-size: .66rem; font-weight: 850; }
.phone-card__visual { display: grid; place-items: center; min-height: 190px; background: linear-gradient(145deg,#152033,#26364e); }
.phone-card__visual span { position: relative; width: 54px; height: 108px; border: 3px solid rgba(255,255,255,.72); border-radius: 12px; background: linear-gradient(160deg,rgba(255,107,0,.9),rgba(255,255,255,.08)); box-shadow: 0 15px 30px rgba(0,0,0,.28); transform: rotate(-7deg); }
.phone-card__visual span::before { content:""; position:absolute; top:6px; left:50%; width:16px; height:3px; margin-left:-8px; border-radius:3px; background:rgba(255,255,255,.7); }
.phone-card__body { min-width: 0; padding: 18px 18px 16px; }
.phone-card__brand { margin: 0 0 2px; color: var(--cj-accent-dark); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.phone-card h3 { margin: 0 0 8px; font-size: 1.08rem; overflow-wrap: anywhere; }
.phone-card__score { display: inline-flex; align-items: baseline; gap: 2px; margin-bottom: 8px; color: var(--cj-ink); }
.phone-card__score strong { font-size: 1.55rem; line-height: 1; }
.phone-card__score span { color: var(--cj-muted); font-size: .72rem; }
.phone-card__body p { margin: 0 0 5px; font-size: .76rem; line-height: 1.45; }
.phone-card__summary { margin-top: 8px !important; color: var(--cj-muted); }
.phone-ranking__empty { padding: 26px; border: 1px dashed var(--cj-line); border-radius: 14px; text-align: center; color: var(--cj-muted); }

/* O menu muda para o modo compacto antes de faltar espaço. */
@media (max-width: 1380px) {
  .site-header__inner { grid-template-columns: auto minmax(180px, 1fr) auto; min-height: 64px; gap: 16px; }
  .site-header__bar { min-height: 64px; }
  .menu-toggle { display: inline-flex; grid-column: 3; justify-self: end; }
  .header-search { grid-column: 2; grid-row: 1; width: min(100%, 390px); justify-self: end; margin-right: 8px; }
  .primary-navigation { position: fixed; inset: 64px 0 0; display: none; overflow-y: auto; padding: 20px; background: var(--cj-ink); }
  .admin-bar .primary-navigation { top: 96px; }
  .primary-navigation.is-open { display: block; }
  .primary-menu { display: block; max-width: 760px; margin-inline: auto; }
  .primary-menu > li { border-bottom: 1px solid rgba(255,255,255,.09); }
  .primary-menu > li > a { min-height: 50px; padding: 0; font-size: 1rem; }
  .primary-menu > li.current-menu-item > a::after, .primary-menu > li.current-menu-ancestor > a::after { display: none; }
  .primary-menu .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 10px 14px; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .primary-menu .sub-menu a { color: #bfc9d7; }
  .primary-menu .sub-menu a:hover { background: rgba(255,255,255,.08); color: #fff; }
}

@media (max-width: 920px) {
  .post-grid--popular { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .phone-ranking__filters { grid-template-columns: 1fr; }
  .phone-ranking__grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .post-grid--popular { grid-template-columns: 1fr; }
  .phone-card { grid-template-columns: 86px minmax(0,1fr); }
  .phone-card__visual { min-height: 170px; }
  .phone-card__body { padding: 15px; }
  .phone-card__summary { display: none; }
}
@media (max-width: 920px) {
  .admin-bar .primary-navigation { top: 110px; }
}
.site-header .container { width: min(calc(100% - 36px), 1500px); }
@media (max-width: 700px) {
  .site-header .container { width: min(calc(100% - 26px), 1500px); }
}

/* =========================================================
   ComparaJá Portal 3.2 — interface clara aprovada
   ========================================================= */
:root {
  --cj-accent: #0866e8;
  --cj-accent-dark: #064db5;
  --cj-ink: #0d1728;
  --cj-ink-soft: #1e293b;
  --cj-text: #334155;
  --cj-muted: #6b778c;
  --cj-line: #dfe6ef;
  --cj-surface: #f7f9fc;
  --cj-surface-2: #edf3fb;
  --cj-success: #159447;
  --cj-radius: 12px;
  --cj-shadow: 0 12px 32px rgba(18, 44, 82, .09);
  --cj-shadow-sm: 0 5px 16px rgba(18, 44, 82, .06);
  --cj-container: 1480px;
}
body { background: #fff; color: var(--cj-text); line-height: 1.58; }
h1 { font-size: clamp(2rem, 4vw, 3.75rem); }
a { color: var(--cj-accent); }
.button, .wp-element-button, input[type="submit"] { background: var(--cj-accent); border-radius: 7px; }
.button:hover, .wp-element-button:hover, input[type="submit"]:hover { background: var(--cj-accent-dark); }
.button--outline { border-color: #c9d5e5; background: #fff; color: var(--cj-accent); }
.button--outline:hover { background: #f3f7fd; color: var(--cj-accent-dark); }
.eyebrow { color: var(--cj-accent); }

/* Cabeçalho claro em duas linhas */
.site-header.site-header--light { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.97); color: var(--cj-ink); box-shadow: 0 2px 14px rgba(20,44,80,.08); backdrop-filter: blur(12px); }
.site-header--light .site-header__bar { min-height: 76px; border-bottom: 1px solid var(--cj-line); }
.site-header__top { display: grid; grid-template-columns: minmax(210px, .75fr) minmax(330px, 1.5fr) minmax(220px, .65fr); align-items: center; gap: 28px; min-height: 76px; }
.site-header--light .site-branding { min-width: 0; }
.site-header--light .site-title { position: relative; display: inline-flex; flex-wrap: wrap; width: 190px; color: var(--cj-ink); font-size: 1.65rem; letter-spacing: -.055em; }
.site-header--light .site-title span { color: var(--cj-ink); }
.site-header--light .site-title strong { color: var(--cj-accent); }
.site-header--light .site-title small { flex-basis: 100%; margin-top: 3px; color: #778399; font-size: .62rem; font-weight: 500; letter-spacing: 0; }
.site-header--light .header-search .search-field { min-height: 46px; border: 1px solid #cdd7e4; border-radius: 7px; background: #fff; color: var(--cj-ink); }
.site-header--light .header-search .search-field::placeholder { color: #7c8799; }
.site-header--light .header-search .search-submit { top: 0; right: 0; width: 58px; height: 46px; border-radius: 0 7px 7px 0; background: var(--cj-accent); }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 22px; }
.header-action { position: relative; display: grid; place-items: center; gap: 2px; min-width: 48px; padding: 4px; border: 0; background: transparent; color: var(--cj-ink); text-decoration: none; }
.header-action:hover { color: var(--cj-accent); }
.header-action > span:first-child { font-size: 1.65rem; line-height: 1; }
.header-action small { color: inherit; font-size: .68rem; font-weight: 750; white-space: nowrap; }
.header-action b { position: absolute; top: -3px; right: 0; display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; background: var(--cj-accent); color: #fff; font-size: .65rem; }
.site-header--light .menu-toggle { display: grid; width: auto; height: auto; border: 0; color: var(--cj-ink); }
.site-header--light .menu-toggle__lines { gap: 4px; }
.site-header--light .menu-toggle__lines span { background: currentColor; }
.site-header__nav-wrap { border-bottom: 1px solid var(--cj-line); background: #fff; }
.site-header__nav-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; min-height: 46px; }
.all-categories-link { display: inline-flex; align-items: center; align-self: stretch; gap: 9px; min-width: 205px; padding: 0 18px; border-radius: 6px; background: #f1f5fb; color: var(--cj-ink); font-size: .82rem; font-weight: 800; text-decoration: none; }
.all-categories-link span { color: var(--cj-accent); font-size: 1.2rem; }
.site-header--light .primary-navigation { min-width: 0; overflow: hidden; }
.site-header--light .primary-menu { justify-content: flex-start; gap: 0; overflow-x: auto; scrollbar-width: none; }
.site-header--light .primary-menu::-webkit-scrollbar { display: none; }
.site-header--light .primary-menu > li > a { min-height: 46px; padding: 0 .85rem; color: var(--cj-ink); font-size: .79rem; }
.site-header--light .primary-menu > li > a:hover, .site-header--light .primary-menu > li.current-menu-item > a, .site-header--light .primary-menu > li.current-menu-ancestor > a { color: var(--cj-accent); }
.site-header--light .primary-menu > li.current-menu-item > a::after, .site-header--light .primary-menu > li.current-menu-ancestor > a::after { background: var(--cj-accent); }
.site-header--light .primary-menu .sub-menu { top: 100%; }
.admin-bar .site-header.site-header--light { top: 32px; }

/* Página inicial */
.portal-home { padding: 20px 0 0; background: #fff; }
.portal-home__top { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(430px,1.75fr) minmax(235px,.85fr) minmax(230px,.8fr); gap: 14px; align-items: stretch; }
.portal-intro-card, .featured-compare-card, .daily-deal-card, .quick-guide-card, .home-catalog-section, .home-articles-section, .catalog-install-notice { border: 1px solid var(--cj-line); border-radius: 10px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.portal-intro-card { padding: 24px 22px; background: linear-gradient(145deg,#fff,#f7faff); }
.portal-intro-card h1 { margin-bottom: 10px; font-size: clamp(1.45rem,2vw,2rem); }
.portal-intro-card p { color: var(--cj-muted); font-size: .84rem; }
.portal-intro-card ul { display: grid; gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; color: var(--cj-ink); font-size: .78rem; }
.portal-intro-card li::before { content: "◉"; margin-right: 8px; color: var(--cj-accent); }
.portal-intro-card .button { min-height: 38px; font-size: .78rem; }
.featured-compare-card { position: relative; display: grid; grid-template-columns: minmax(0,.95fr) minmax(260px,1.05fr); overflow: hidden; padding: 24px; background: linear-gradient(110deg,#f3f8ff,#eef4ff 48%,#fff1f4); }
.featured-compare-card__copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.featured-compare-card__copy > p { margin: 0 0 12px; color: var(--cj-ink); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.featured-compare-card__copy h2 { margin-bottom: 12px; font-size: clamp(1.45rem,2.2vw,2.1rem); }
.featured-compare-card__copy span { margin-bottom: 20px; color: var(--cj-text); font-size: .9rem; }
.featured-compare-card__copy .button { min-height: 39px; font-size: .78rem; }
.featured-compare-card__phones { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 9px; min-width: 0; }
.featured-compare-card__phones > div { display: grid; place-items: center; min-width: 0; }
.featured-compare-card__phones > b { display: grid; place-items: center; width: 48px; height: 48px; border: 3px solid #fff; border-radius: 50%; background: #fff; color: var(--cj-ink); box-shadow: 0 6px 20px rgba(21,55,99,.14); font-size: 1rem; }
.daily-deal-card, .quick-guide-card { padding: 18px; }
.daily-deal-card header, .portal-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.daily-deal-card header h2, .quick-guide-card h2 { margin: 0; font-size: 1rem; }
.daily-deal-card header a, .portal-section-heading a { font-size: .72rem; font-weight: 750; text-decoration: none; }
.daily-deal-card__product { display: grid; grid-template-columns: 88px 1fr; align-items: center; gap: 12px; min-height: 170px; padding: 15px 0; }
.daily-deal-card__product .catalog-phone-art { transform: scale(.72); }
.daily-deal-card__product h3 { margin: 0 0 7px; font-size: .88rem; }
.daily-deal-card__product p { margin: 0 0 4px; color: #ffad00; font-size: .78rem; }
.daily-deal-card__product p small { color: var(--cj-muted); }
.daily-deal-card__product strong { color: var(--cj-accent); font-size: 1rem; }
.daily-deal-card > .button { width: 100%; min-height: 38px; font-size: .75rem; }
.quick-guide-card ul { display: grid; gap: 2px; margin: 13px 0 0; padding: 0; list-style: none; }
.quick-guide-card a { display: flex; align-items: center; gap: 10px; padding: 7px 3px; color: var(--cj-ink); font-size: .75rem; text-decoration: none; }
.quick-guide-card a:hover { color: var(--cj-accent); }
.quick-guide-card a span { width: 18px; color: var(--cj-accent); text-align: center; }
.catalog-install-notice { margin-top: 16px; padding: 28px; text-align: center; }
.catalog-install-notice h2 { font-size: 1.35rem; }

.home-catalog-section, .home-articles-section { margin-top: 16px; padding: 14px; }
.portal-section-heading { margin-bottom: 10px; padding: 0 3px; }
.portal-section-heading h2 { margin: 0; font-size: 1.05rem; }
.price-band-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.price-band { min-width: 0; padding: 13px; border-radius: 9px; }
.price-band--green { background: linear-gradient(145deg,#f5fff8,#eef9f2); }
.price-band--gold { background: linear-gradient(145deg,#fffaf0,#fbf3df); }
.price-band--blue { background: linear-gradient(145deg,#f3f8ff,#eaf3ff); }
.price-band--purple { background: linear-gradient(145deg,#faf5ff,#f3ecff); }
.price-band > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.price-band > header h3 { margin: 0; font-size: .86rem; }
.price-band > header a { font-size: .65rem; text-decoration: none; }
.price-band__products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.catalog-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--cj-line); border-radius: 9px; background: #fff; box-shadow: none; transition: transform .18s ease, box-shadow .18s ease; }
.catalog-card:hover { transform: translateY(-2px); box-shadow: var(--cj-shadow-sm); }
.catalog-card__media { display: grid; place-items: center; height: 145px; padding: 12px 8px 2px; background: linear-gradient(180deg,#fff,#fafcff); text-decoration: none; }
.catalog-card__favorite { position: absolute; top: 7px; right: 7px; z-index: 2; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #66758b; font-size: 1.15rem; }
.catalog-card__favorite.is-active { color: #e54867; }
.catalog-card__body { padding: 10px 11px 12px; }
.catalog-card__brand { margin: 0 0 2px; color: var(--cj-muted); font-size: .57rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.catalog-card h3 { min-height: 2.25em; margin: 0 0 6px; font-size: .8rem; line-height: 1.18; }
.catalog-card h3 a { color: var(--cj-ink); text-decoration: none; }
.catalog-card__rating { display: flex; align-items: center; gap: 3px; margin-bottom: 7px; color: #ffb000; font-size: .7rem; }
.catalog-card__rating strong { color: var(--cj-ink); }
.catalog-card__rating small { min-width: 0; overflow: hidden; color: var(--cj-muted); text-overflow: ellipsis; white-space: nowrap; }
.catalog-card__price { display: grid; gap: 1px; margin: 0; }
.catalog-card__price small { color: var(--cj-muted); font-size: .57rem; }
.catalog-card__price strong { color: var(--cj-accent); font-size: .85rem; white-space: nowrap; }
.catalog-card__actions { display: flex; gap: 5px; margin-top: 9px; }
.catalog-card__actions a, .catalog-card__actions button { flex: 1; padding: 5px; border: 1px solid #d7e0ec; border-radius: 5px; background: #fff; color: var(--cj-accent); font-size: .59rem; font-weight: 800; text-align: center; text-decoration: none; }
.catalog-card__actions button { background: var(--cj-accent); color: #fff; }
.catalog-card--compact { border: 0; background: transparent; }
.catalog-card--compact:hover { box-shadow: none; }
.catalog-card--compact .catalog-card__media { height: 100px; padding: 2px; background: transparent; }
.catalog-card--compact .catalog-card__body { padding: 4px 2px; }
.catalog-card--compact .catalog-card__brand, .catalog-card--compact .catalog-card__actions, .catalog-card--compact .catalog-card__favorite { display: none; }
.catalog-card--compact h3 { min-height: 2.3em; font-size: .69rem; text-align: center; }
.catalog-card--compact .catalog-card__rating { justify-content: center; margin-bottom: 2px; }
.catalog-card--compact .catalog-card__price { text-align: center; }
.catalog-card--compact .catalog-card__price small { display: none; }
.catalog-card--compact .catalog-card__price strong { color: var(--cj-ink); font-size: .68rem; }

.catalog-phone-art { position: relative; width: 70px; height: 132px; border: 3px solid #172033; border-radius: 15px; background: linear-gradient(145deg,#24374f,#080f1c 55%,#0d72ef); box-shadow: 0 14px 22px rgba(15,32,55,.2); transform: rotate(-2deg); }
.catalog-phone-art::before { content: ""; position: absolute; inset: 5px; border-radius: 10px; background: radial-gradient(circle at 70% 35%,rgba(255,255,255,.35),transparent 22%), linear-gradient(150deg,#1a2a42,#0866e8 55%,#8ac5ff); }
.catalog-phone-art__camera { position: absolute; top: 10px; left: 9px; z-index: 2; display: grid; gap: 4px; }
.catalog-phone-art__camera i { display: block; width: 13px; height: 13px; border: 2px solid #8897aa; border-radius: 50%; background: #07101e; box-shadow: inset 0 0 0 2px #162d4d; }
.catalog-phone-art__brand { position: absolute; right: 7px; bottom: 7px; z-index: 2; color: rgba(255,255,255,.8); font-size: .62rem; font-weight: 900; }
.catalog-phone-art--large { width: 112px; height: 210px; border-width: 4px; border-radius: 22px; }
.catalog-phone-art--large .catalog-phone-art__camera i { width: 19px; height: 19px; }
.catalog-phone-image { max-width: 100%; max-height: 100%; object-fit: contain; }

.use-ranking-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.use-ranking-card { padding: 14px; border: 1px solid var(--cj-line); border-radius: 9px; background: #fbfdff; }
.use-ranking-card header { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; }
.use-ranking-card header span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #a9c8f6; border-radius: 8px; color: var(--cj-accent); font-weight: 900; }
.use-ranking-card h3 { margin: 0; color: var(--cj-accent-dark); font-size: .79rem; }
.use-ranking-card ol { display: grid; gap: 6px; margin: 0 0 10px; padding: 0; list-style: none; }
.use-ranking-card li { display: grid; grid-template-columns: 26px minmax(0,1fr) auto; gap: 4px; align-items: center; font-size: .68rem; }
.use-ranking-card li b { color: var(--cj-ink); }
.use-ranking-card li a { min-width: 0; overflow: hidden; color: var(--cj-ink); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.use-ranking-card li strong { color: var(--cj-ink); }
.use-ranking-card > a { display: block; padding: 6px; border: 1px solid var(--cj-line); border-radius: 5px; font-size: .64rem; font-weight: 750; text-align: center; text-decoration: none; }
.ranking-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.ranking-tabs button { min-height: 30px; padding: 4px 14px; border: 1px solid var(--cj-line); border-radius: 5px; background: #fff; color: var(--cj-ink); font-size: .67rem; }
.ranking-tabs button.is-active { border-color: var(--cj-accent); background: var(--cj-accent); color: #fff; }
.home-ranking-grid { display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 10px; }
.home-ranking-grid > div[hidden] { display: none; }
.home-articles-section .post-grid--popular { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; }
.home-articles-section .post-card__body { padding: 12px; }
.home-articles-section .post-card__title { font-size: .86rem; }
.portal-trust-strip { margin-top: 16px; padding: 17px 0; border-top: 1px solid var(--cj-line); border-bottom: 1px solid var(--cj-line); }
.portal-trust-strip .container { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.portal-trust-strip .container > div { display: grid; grid-template-columns: 42px 1fr; grid-template-rows: auto auto; align-items: center; padding: 0 26px; border-right: 1px solid var(--cj-line); }
.portal-trust-strip .container > div:last-child { border-right: 0; }
.portal-trust-strip span { grid-row: 1 / 3; color: var(--cj-accent); font-size: 1.7rem; }
.portal-trust-strip strong { color: var(--cj-ink); font-size: .76rem; }
.portal-trust-strip small { color: var(--cj-muted); font-size: .65rem; }

/* Bandeja de comparação */
.compare-tray { position: fixed; right: 22px; bottom: 22px; z-index: 1100; display: grid; grid-template-columns: minmax(190px,1fr) auto auto; align-items: center; gap: 14px; max-width: min(620px,calc(100% - 30px)); padding: 13px 14px; border: 1px solid #c9d9ee; border-radius: 12px; background: #fff; box-shadow: 0 18px 45px rgba(7,42,91,.2); }
.compare-tray[hidden] { display: none; }
.compare-tray > div { display: grid; }
.compare-tray strong { color: var(--cj-ink); font-size: .76rem; }
.compare-tray span { color: var(--cj-muted); font-size: .68rem; }
.compare-tray .button { min-height: 36px; padding: 8px 12px; font-size: .68rem; }
.compare-tray > button { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: #eef3f9; color: var(--cj-ink); }

/* Página individual de produto */
.product-page, .catalog-archive { padding: 22px 0 70px; background: #f8fafc; }
.product-hero-card { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); gap: 42px; align-items: center; margin-top: 12px; padding: 34px; border: 1px solid var(--cj-line); border-radius: 13px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.product-hero-card__art { display: grid; place-items: center; min-height: 310px; border-radius: 12px; background: linear-gradient(145deg,#f4f8fd,#fff); }
.product-hero-card__art .catalog-phone-art { transform: scale(1.25); }
.product-hero-card h1 { margin-bottom: 9px; font-size: clamp(2rem,4vw,3.3rem); }
.product-best-for { color: var(--cj-muted); }
.product-score-price { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 520px; margin: 24px 0; }
.product-score-price > div { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--cj-line); border-radius: 9px; background: #fbfdff; }
.product-score-price small { color: var(--cj-muted); font-size: .67rem; font-weight: 750; text-transform: uppercase; }
.product-score-price strong { color: var(--cj-accent); font-size: 1.55rem; }
.product-score-price strong span { color: var(--cj-muted); font-size: .75rem; }
.product-hero-card__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.product-review-notice { max-width: 670px; margin: 18px 0 0; padding: 10px 12px; border-left: 4px solid #f59e0b; background: #fff8e8; color: #7a4b00; font-size: .75rem; }
.product-layout { display: grid; grid-template-columns: minmax(0,1.75fr) minmax(310px,.75fr); gap: 20px; margin-top: 20px; }
.product-section, .product-compare-box, .product-offers { margin-bottom: 18px; padding: 24px; border: 1px solid var(--cj-line); border-radius: 12px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.product-section h2, .product-compare-box h2, .product-offers h2 { font-size: 1.2rem; }
.product-score-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.product-score-grid > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px; border: 1px solid var(--cj-line); border-radius: 8px; }
.product-score-grid span { color: var(--cj-ink); font-size: .76rem; font-weight: 700; }
.product-score-grid strong { color: var(--cj-success); }
.product-score-grid i, .visual-score-row i { grid-column: 1 / -1; display: block; height: 5px; overflow: hidden; border-radius: 999px; background: linear-gradient(90deg,var(--cj-success) var(--score),#e9eef5 var(--score)); }
.product-spec-list { border: 1px solid var(--cj-line); border-radius: 9px; overflow: hidden; }
.product-spec-list > div { display: grid; grid-template-columns: minmax(130px,.45fr) minmax(0,1fr); border-bottom: 1px solid var(--cj-line); }
.product-spec-list > div:last-child { border-bottom: 0; }
.product-spec-list strong, .product-spec-list span { padding: 12px 14px; font-size: .78rem; }
.product-spec-list strong { background: #f7f9fc; color: var(--cj-ink); }
.product-compare-box form { display: grid; gap: 10px; }
.product-compare-box select, .phone-compare-picker select, .catalog-filter-bar input, .catalog-filter-bar select { width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid #cdd8e5; border-radius: 7px; background: #fff; }
.product-offers__head { margin-bottom: 12px; }
.product-offers__head h2 { margin-bottom: 2px; }
.product-offers__head small { color: var(--cj-muted); }
.product-offers ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.product-offers li { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--cj-line); border-radius: 8px; }
.product-offers li div { display: grid; }
.product-offers li strong { color: var(--cj-ink); font-size: .74rem; }
.product-offers li span { color: var(--cj-accent); font-size: .78rem; font-weight: 850; }
.product-offers li small { color: var(--cj-success); }
.product-offers li a { padding: 6px 8px; border-radius: 5px; background: var(--cj-accent); color: #fff; font-size: .62rem; font-weight: 800; text-decoration: none; }
.product-offers__empty { margin: 0; padding: 14px; border: 1px dashed #cbd5e1; border-radius: 8px; color: var(--cj-muted); font-size: .76rem; }

/* Comparador lado a lado */
.phone-compare-picker { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto; align-items: end; gap: 12px; margin: 22px 0; padding: 18px; border: 1px solid var(--cj-line); border-radius: 11px; background: #fff; }
.phone-compare-picker > div { display: grid; gap: 5px; }
.phone-compare-picker label { color: var(--cj-ink); font-size: .7rem; font-weight: 800; }
.phone-compare-picker > span { align-self: center; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #eef3fa; color: var(--cj-ink); font-weight: 900; }
.visual-comparison { margin: 24px 0; overflow: hidden; border: 1px solid var(--cj-line); border-radius: 13px; background: #fff; box-shadow: var(--cj-shadow); }
.visual-comparison__title { padding: 24px; text-align: center; }
.visual-comparison__title p { margin: 0 0 4px; color: var(--cj-accent); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.visual-comparison__title h2 { margin-bottom: 5px; font-size: clamp(1.6rem,3vw,2.35rem); }
.visual-comparison__title small { color: var(--cj-muted); }
.visual-comparison__products { display: grid; grid-template-columns: minmax(0,1fr) 70px minmax(0,1fr); align-items: center; border-top: 1px solid var(--cj-line); border-bottom: 1px solid var(--cj-line); }
.visual-product { position: relative; display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; gap: 18px; min-height: 285px; padding: 24px; }
.visual-product.is-winner { background: linear-gradient(145deg,#fff,#f2fff6); }
.visual-product__winner { position: absolute; top: 12px; left: 14px; padding: 5px 8px; border-radius: 999px; background: #e8faee; color: var(--cj-success); font-size: .62rem; font-weight: 850; }
.visual-product__art { display: grid; place-items: center; }
.visual-product h3 { margin-bottom: 9px; font-size: 1.25rem; }
.visual-product__score { display: inline-flex; align-items: baseline; gap: 3px; margin: 0 0 5px; color: var(--cj-success); }
.visual-product__score strong { font-size: 1.65rem; }
.visual-product__score span { color: var(--cj-muted); font-size: .7rem; }
.visual-product__price { color: var(--cj-accent); font-size: 1.05rem; font-weight: 900; }
.visual-product .button { min-height: 38px; font-size: .7rem; }
.visual-comparison__vs { display: grid; place-items: center; width: 56px; height: 56px; justify-self: center; border: 5px solid #f1f4f8; border-radius: 50%; color: var(--cj-ink); font-weight: 900; }
.visual-score-table { margin: 18px; border: 1px solid var(--cj-line); border-radius: 9px; overflow: hidden; }
.visual-score-row { display: grid; grid-template-columns: minmax(150px,.7fr) repeat(2,minmax(0,1fr)); border-bottom: 1px solid var(--cj-line); }
.visual-score-row:last-child { border-bottom: 0; }
.visual-score-row > * { padding: 11px 14px; border-right: 1px solid var(--cj-line); }
.visual-score-row > *:last-child { border-right: 0; }
.visual-score-row--head { background: #f6f8fb; color: var(--cj-ink); font-size: .72rem; }
.visual-score-row > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; color: var(--cj-ink); font-size: .74rem; }
.visual-score-row > div.is-best span { color: var(--cj-success); font-weight: 900; }
.visual-score-row--text > div { display: block; }
.visual-comparison__verdict { margin: 0 18px 18px; padding: 18px; border: 1px solid #f5ddb0; border-radius: 9px; background: #fffaf0; }
.visual-comparison__verdict strong { color: var(--cj-ink); }
.visual-comparison__verdict p { margin: 5px 0 0; font-size: .78rem; }

/* Arquivo do catálogo */
.catalog-archive .archive-header { margin: 15px 0 18px; }
.catalog-filter-bar { display: grid; grid-template-columns: minmax(0,1fr) 230px; gap: 10px; margin-bottom: 14px; padding: 12px; border: 1px solid var(--cj-line); border-radius: 10px; background: #fff; }
.catalog-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 13px; }
.catalog-grid .catalog-card[hidden] { display: none; }

/* Admin */
.cj-phone-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }

/* Responsividade */
@media (max-width: 1320px) {
  .portal-home__top { grid-template-columns: minmax(220px,.8fr) minmax(430px,1.7fr) minmax(235px,.8fr); }
  .quick-guide-card { grid-column: 1 / -1; }
  .quick-guide-card ul { grid-template-columns: repeat(7,minmax(0,1fr)); }
  .home-ranking-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .home-articles-section .post-grid--popular { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .catalog-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}

@media (max-width: 1080px) {
  .site-header__top { grid-template-columns: auto minmax(250px,1fr) auto; }
  .header-actions { gap: 10px; }
  .site-header__nav-inner { grid-template-columns: 1fr; }
  .all-categories-link { display: none; }
  .site-header--light .primary-navigation { position: static; display: block; padding: 0; background: #fff; }
  .site-header--light .primary-menu { display: flex; max-width: none; }
  .site-header--light .primary-menu > li { border: 0; }
  .site-header--light .primary-menu .sub-menu { position: absolute; display: block; padding: 8px; background: #fff; }
  .portal-home__top { grid-template-columns: minmax(220px,.75fr) minmax(0,1.5fr); }
  .daily-deal-card, .quick-guide-card { grid-column: auto; }
  .quick-guide-card ul { grid-template-columns: 1fr; }
  .price-band-grid, .use-ranking-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-ranking-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .home-articles-section .post-grid--popular { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .product-layout { grid-template-columns: minmax(0,1.35fr) minmax(290px,.65fr); }
  .visual-product { grid-template-columns: 130px minmax(0,1fr); }
  .catalog-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .admin-bar .site-header.site-header--light { top: 46px; }
  .site-header__top { grid-template-columns: 1fr auto; gap: 12px; min-height: 66px; }
  .site-header__top .header-search { grid-column: 1 / -1; grid-row: 2; width: 100%; margin: 0 0 10px; }
  .site-header--light .site-header__bar { min-height: 118px; }
  .header-action[data-show-favorites] { display: none; }
  .site-header--light .menu-toggle { display: grid; }
  .site-header__nav-wrap { position: fixed; inset: 118px 0 0; display: none; overflow-y: auto; background: #fff; }
  .admin-bar .site-header__nav-wrap { top: 164px; }
  .site-header:has(.primary-navigation.is-open) .site-header__nav-wrap { display: block; }
  .site-header--light .primary-navigation { display: none; }
  .site-header--light .primary-navigation.is-open { display: block; }
  .site-header--light .primary-menu { display: block; padding: 12px 18px 30px; overflow: visible; }
  .site-header--light .primary-menu > li { border-bottom: 1px solid var(--cj-line); }
  .site-header--light .primary-menu > li > a { min-height: 48px; padding: 0; }
  .site-header--light .primary-menu .sub-menu { position: static; display: block; padding: 0 0 8px 14px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .portal-home__top { grid-template-columns: 1fr; }
  .featured-compare-card { grid-template-columns: minmax(0,1fr) minmax(220px,.9fr); }
  .quick-guide-card ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .price-band__products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-ranking-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-articles-section .post-grid--popular { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .portal-trust-strip .container { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 0; }
  .portal-trust-strip .container > div:nth-child(2) { border-right: 0; }
  .product-hero-card, .product-layout { grid-template-columns: 1fr; }
  .product-layout__aside { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .product-compare-box, .product-offers { margin: 0; }
  .phone-compare-picker { grid-template-columns: 1fr; }
  .phone-compare-picker > span { justify-self: center; }
  .visual-comparison__products { grid-template-columns: 1fr; }
  .visual-comparison__vs { margin: -18px auto; z-index: 2; background: #fff; }
  .visual-product { grid-template-columns: 170px minmax(0,1fr); width: 100%; }
  .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 560px) {
  .container, .site-header .container { width: min(calc(100% - 22px), var(--cj-container)); }
  .site-header--light .site-title { width: 150px; font-size: 1.35rem; }
  .site-header--light .site-title small { font-size: .53rem; }
  .header-action small { display: none; }
  .portal-home { padding-top: 10px; }
  .portal-intro-card, .featured-compare-card, .daily-deal-card, .quick-guide-card { padding: 17px; }
  .featured-compare-card { grid-template-columns: 1fr; }
  .featured-compare-card__phones { margin-top: 20px; }
  .catalog-phone-art--large { transform: scale(.82); }
  .quick-guide-card ul, .price-band-grid, .use-ranking-grid { grid-template-columns: 1fr; }
  .price-band__products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-ranking-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-articles-section .post-grid--popular { grid-template-columns: 1fr; }
  .portal-trust-strip .container { grid-template-columns: 1fr; }
  .portal-trust-strip .container > div { border-right: 0; }
  .compare-tray { right: 10px; bottom: 10px; grid-template-columns: 1fr auto; }
  .compare-tray .button { grid-column: 1 / -1; grid-row: 2; }
  .product-hero-card { gap: 22px; padding: 20px; }
  .product-hero-card__art { min-height: 230px; }
  .product-score-price, .product-score-grid, .product-layout__aside { grid-template-columns: 1fr; }
  .product-spec-list > div { grid-template-columns: 1fr; }
  .product-spec-list strong { padding-bottom: 3px; }
  .visual-product { grid-template-columns: 105px minmax(0,1fr); padding: 18px 13px; }
  .visual-product .catalog-phone-art--large { transform: scale(.65); }
  .visual-score-table { margin: 10px; overflow-x: auto; }
  .visual-score-row { min-width: 660px; }
  .catalog-filter-bar { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .cj-phone-admin-grid { grid-template-columns: 1fr; }
}

@media (min-width: 821px) {
  .site-header--light .primary-navigation { position: static !important; inset: auto !important; display: block !important; overflow: hidden !important; padding: 0 !important; background: transparent !important; }
  .site-header--light .primary-navigation .primary-menu { display: flex !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .site-header--light .primary-navigation .primary-menu > li { border: 0 !important; }
}
@media (max-width: 820px) {
  body.menu-open .site-header__nav-wrap { display: block; }
}

/* =========================================================
   ComparaJá 3.3 — home editorial e catálogo multcategoria
   ========================================================= */
.editorial-home { padding: 22px 0 0; background: #f7f9fc; }
.editorial-hero { display: grid; grid-template-columns: minmax(0,2.05fr) minmax(300px,.95fr); gap: 18px; }
.editorial-hero__main { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(320px,.92fr); min-height: 430px; overflow: hidden; border: 1px solid var(--cj-line); border-radius: 16px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.editorial-hero__image { min-height: 100%; overflow: hidden; background: linear-gradient(145deg,#eaf3ff,#f8fbff); }
.editorial-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.editorial-placeholder { display: grid; place-items: center; width: 100%; height: 100%; min-height: 420px; color: #0b2344; font-size: clamp(2rem,5vw,4.8rem); font-weight: 950; letter-spacing: -.06em; }
.editorial-placeholder span { color: var(--cj-accent); }
.editorial-hero__content { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(28px,4vw,54px); }
.editorial-hero__content h1 { margin: 10px 0 14px; font-size: clamp(2rem,3.5vw,3.5rem); line-height: 1.02; letter-spacing: -.045em; }
.editorial-hero__content h1 a { color: var(--cj-ink); text-decoration: none; }
.editorial-hero__content p { max-width: 48ch; margin-bottom: 22px; color: var(--cj-muted); font-size: 1rem; line-height: 1.7; }
.editorial-hero__empty { grid-template-columns: 1fr; background: linear-gradient(130deg,#eaf3ff,#fff 58%,#f2f7ff); }
.eyebrow { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--cj-accent); font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.editorial-hero__side { display: grid; grid-template-rows: 1fr 1fr; gap: 18px; }
.home-compare-callout, .home-promo-callout { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 205px; padding: 28px; overflow: hidden; border: 1px solid var(--cj-line); border-radius: 16px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.home-compare-callout { position: relative; background: linear-gradient(145deg,#edf5ff,#fff); }
.home-compare-callout::after { content: "VS"; position: absolute; right: -10px; bottom: -30px; color: rgba(8,102,232,.08); font-size: 8rem; font-weight: 950; }
.home-compare-callout h2, .home-promo-callout h2 { position: relative; z-index: 1; margin: 8px 0; font-size: 1.45rem; line-height: 1.15; }
.home-compare-callout p, .home-promo-callout p { position: relative; z-index: 1; margin: 0 0 16px; color: var(--cj-muted); font-size: .82rem; line-height: 1.55; }
.home-compare-callout .button { position: relative; z-index: 1; }
.home-promo-callout { background: linear-gradient(145deg,#fffaf0,#fff); }
.home-promo-callout > a { font-size: .78rem; font-weight: 850; }
.home-category-shortcuts, .editorial-section, .home-two-columns { margin-top: 20px; padding: 22px; border: 1px solid var(--cj-line); border-radius: 14px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.portal-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.portal-section-heading h2 { margin: 4px 0 0; font-size: clamp(1.35rem,2vw,1.85rem); }
.portal-section-heading > a { flex: 0 0 auto; font-size: .75rem; font-weight: 850; text-decoration: none; }
.home-category-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.home-category-card { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 92px; padding: 16px; border: 1px solid #dfe7f1; border-radius: 11px; background: #fbfdff; color: var(--cj-ink); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.home-category-card:hover { transform: translateY(-2px); border-color: #b9d3f6; box-shadow: 0 10px 25px rgba(14,51,91,.08); }
.home-category-card > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 11px; background: #eaf3ff; color: var(--cj-accent); font-size: 1.25rem; font-weight: 900; }
.home-category-card div { display: grid; gap: 4px; min-width: 0; }
.home-category-card strong { font-size: .9rem; }
.home-category-card small { color: var(--cj-muted); font-size: .67rem; line-height: 1.35; }
.home-category-card b { color: var(--cj-accent); font-size: 1.4rem; }
.post-grid--editorial { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.post-grid--editorial .post-card__body { padding: 14px; }
.post-grid--editorial .post-card__title { font-size: 1rem; }
.post-grid--editorial .post-card__excerpt { font-size: .77rem; line-height: 1.48; }
.home-two-columns { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(320px,.7fr); gap: 28px; }
.editorial-section--nested { margin: 0; padding: 0; border: 0; box-shadow: none; }
.home-story-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.home-story { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 13px; min-height: 105px; padding: 10px; border: 1px solid var(--cj-line); border-radius: 10px; }
.home-story--lead { grid-column: 1 / -1; grid-template-columns: minmax(260px,.9fr) minmax(0,1.1fr); min-height: 230px; padding: 0; overflow: hidden; }
.home-story__media { overflow: hidden; border-radius: 7px; background: #eef3f9; }
.home-story--lead .home-story__media { border-radius: 0; }
.home-story__media img { width: 100%; height: 100%; object-fit: cover; }
.home-story > div { align-self: center; }
.home-story > div > span { color: var(--cj-accent); font-size: .6rem; font-weight: 850; text-transform: uppercase; }
.home-story h3 { margin: 4px 0; font-size: .82rem; line-height: 1.25; }
.home-story--lead h3 { font-size: 1.3rem; }
.home-story h3 a { color: var(--cj-ink); text-decoration: none; }
.home-story p { margin: 0; color: var(--cj-muted); font-size: .67rem; line-height: 1.45; }
.home-story--lead > div { padding: 22px; }
.home-story--lead p { font-size: .8rem; }
.home-guides-panel { padding-left: 26px; border-left: 1px solid var(--cj-line); }
.home-numbered-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.home-numbered-list li { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; padding: 13px 0; border-bottom: 1px solid var(--cj-line); }
.home-numbered-list li:last-child { border-bottom: 0; }
.home-numbered-list > li > span { color: #b8c8dc; font-size: 1.25rem; font-weight: 950; }
.home-numbered-list div { display: grid; gap: 4px; }
.home-numbered-list a { color: var(--cj-ink); font-size: .82rem; font-weight: 780; line-height: 1.35; text-decoration: none; }
.home-numbered-list small { color: var(--cj-muted); font-size: .63rem; }

/* Imagens e cartões de produtos gerais */
.catalog-product-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.catalog-product-image--hero { max-width: 480px; max-height: 420px; }
.catalog-product-fallback { display: grid; place-items: center; width: 100%; height: 100%; min-height: 180px; border-radius: 12px; background: linear-gradient(145deg,#e8f2ff,#fff); color: var(--cj-accent); font-size: 4rem; font-weight: 950; }
.catalog-card--product .catalog-card__media { height: 185px; padding: 12px; }
.catalog-card__compare-link { background: #eff6ff !important; }
.catalog-filter-bar--three { grid-template-columns: minmax(0,1fr) 200px 230px; }
.catalog-hub__hero { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(300px,.5fr); gap: 24px; align-items: center; margin: 14px 0 22px; padding: 30px; border: 1px solid var(--cj-line); border-radius: 14px; background: linear-gradient(135deg,#edf5ff,#fff 65%); }
.catalog-hub__hero h1 { margin: 8px 0; font-size: clamp(2.2rem,4vw,3.6rem); }
.catalog-hub__hero p { max-width: 70ch; color: var(--cj-muted); }
.catalog-hub__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.catalog-hub__stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.catalog-hub__stats > div { display: grid; gap: 3px; padding: 14px 8px; border: 1px solid #d9e5f5; border-radius: 9px; background: rgba(255,255,255,.78); text-align: center; }
.catalog-hub__stats strong { color: var(--cj-accent); font-size: 1.45rem; }
.catalog-hub__stats span { color: var(--cj-muted); font-size: .62rem; }
.catalog-grid--featured { grid-template-columns: repeat(4,minmax(0,1fr)); }
.category-portal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding-bottom: 60px; }
.category-portal-card { padding: 22px; border: 1px solid var(--cj-line); border-radius: 13px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.category-portal-card > header { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 12px; align-items: start; }
.category-portal-card > header > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 11px; background: #eaf3ff; color: var(--cj-accent); font-size: 1.25rem; }
.category-portal-card h2 { margin: 0 0 5px; }
.category-portal-card h2 a { color: var(--cj-ink); text-decoration: none; }
.category-portal-card header p { margin: 0; color: var(--cj-muted); font-size: .76rem; }
.category-portal-card__items { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 18px 0; }
.category-portal-card__items a { display: grid; grid-template-rows: 100px auto; gap: 6px; min-width: 0; color: var(--cj-ink); font-size: .66rem; font-weight: 750; text-align: center; text-decoration: none; }
.category-portal-card__items img { width: 100%; height: 100%; object-fit: contain; }

/* Promoções */
.promotions-page { padding: 25px 0 70px; background: #f8fafc; }
.promotion-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.promotion-card { position: relative; display: grid; grid-template-rows: 180px 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--cj-line); border-radius: 12px; background: #fff; box-shadow: var(--cj-shadow-sm); }
.promotion-card__media { display: grid; place-items: center; padding: 12px; background: #f7faff; }
.promotion-card__media img { width: 100%; height: 100%; object-fit: contain; }
.promotion-card__body { display: flex; flex-direction: column; align-items: flex-start; padding: 15px; }
.promotion-card__discount { position: absolute; top: 10px; right: 10px; padding: 5px 8px; border-radius: 999px; background: #e8f8ee; color: #16863b; font-size: .63rem; font-weight: 900; }
.promotion-card__store { margin: 0 0 4px; color: var(--cj-muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.promotion-card h3 { margin: 0 0 9px; font-size: .9rem; }
.promotion-card h3 a { color: var(--cj-ink); text-decoration: none; }
.promotion-card__price { margin: auto 0 10px; color: var(--cj-accent); font-size: 1.1rem; }
.promotion-card .button { width: 100%; min-height: 36px; font-size: .7rem; }
.empty-state { padding: 50px; border: 1px dashed #b9c9dd; border-radius: 14px; background: #fff; text-align: center; }

/* Ajuste do menu longo sem sobreposição */
.site-header--light .primary-menu { gap: 0; overflow-x: auto; scrollbar-width: none; }
.site-header--light .primary-menu::-webkit-scrollbar { display: none; }
.site-header--light .primary-menu > li > a { padding-right: 14px; padding-left: 14px; white-space: nowrap; font-size: .73rem; }

/* Painel */
.cj-admin-wrap { max-width: 1150px; }
.cj-admin-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 22px 0; }
.cj-admin-stats > div { display: grid; padding: 18px; border: 1px solid #dcdcde; border-radius: 8px; background: #fff; }
.cj-admin-stats strong { color: #0866e8; font-size: 2rem; }
.cj-admin-stats span { color: #50575e; }
.cj-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.cj-admin-grid .card { max-width: none; margin: 0; }
.cj-admin-grid form { margin: 10px 0; }
.cj-admin-warning { max-width: none; margin-top: 18px; border-left: 4px solid #dba617; }
.cj-promotion-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; }
.cj-promotion-admin-grid__wide { grid-column: 1 / -1; }

@media (max-width: 1180px) {
  .editorial-hero { grid-template-columns: 1fr; }
  .editorial-hero__side { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto; }
  .post-grid--editorial { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .promotion-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .catalog-grid--featured { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .editorial-hero__main { grid-template-columns: 1fr; }
  .editorial-hero__image { min-height: 300px; }
  .editorial-hero__content { padding: 28px; }
  .home-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .post-grid--editorial { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-two-columns { grid-template-columns: 1fr; }
  .home-guides-panel { padding: 20px 0 0; border-top: 1px solid var(--cj-line); border-left: 0; }
  .catalog-filter-bar--three { grid-template-columns: 1fr 1fr; }
  .catalog-filter-bar--three input { grid-column: 1 / -1; }
  .catalog-hub__hero { grid-template-columns: 1fr; }
  .category-portal-grid { grid-template-columns: 1fr; }
  .promotion-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cj-admin-stats, .cj-admin-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .editorial-home { padding-top: 12px; }
  .editorial-hero__side { grid-template-columns: 1fr; }
  .editorial-hero__image { min-height: 220px; }
  .editorial-hero__content h1 { font-size: 2rem; }
  .home-category-shortcuts, .editorial-section, .home-two-columns { padding: 15px; border-radius: 11px; }
  .home-category-grid, .post-grid--editorial, .home-story-list { grid-template-columns: 1fr; }
  .home-story--lead { grid-template-columns: 1fr; min-height: 0; }
  .home-story--lead .home-story__media { min-height: 180px; }
  .home-story { grid-template-columns: 92px minmax(0,1fr); }
  .promotion-grid, .catalog-grid--featured { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-filter-bar--three { grid-template-columns: 1fr; }
  .catalog-filter-bar--three input { grid-column: auto; }
  .catalog-hub__hero { padding: 20px; }
  .catalog-hub__stats { grid-template-columns: 1fr; }
  .category-portal-card__items { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cj-admin-stats, .cj-admin-grid { grid-template-columns: 1fr; }
  .cj-promotion-admin-grid { grid-template-columns: 1fr; }
  .cj-promotion-admin-grid__wide { grid-column: auto; }
}


/* 3.3.2 — imagens editoriais de produto maiores, transparentes e com cache renovado. */
.catalog-phone-image,
.catalog-product-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 10px 12px rgba(28, 43, 65, .16));
	transform: translateZ(0);
}
.catalog-card--compact .catalog-phone-image,
.catalog-card--compact .catalog-product-image {
	transform: scale(1.08);
}
.catalog-card__media {
	overflow: hidden;
}
.product-hero__visual .catalog-phone-image,
.product-hero__visual .catalog-product-image,
.phone-hero__visual .catalog-phone-image {
	max-height: 470px;
}

.product-image-credit {
	display: block;
	margin-top: .55rem;
	font-size: .72rem;
	line-height: 1.35;
	color: var(--cj-muted, #637083);
	text-align: center;
}
.product-image-credit a { color: inherit; text-decoration: underline; }


/* 3.3.4 — nenhum produto fica visualmente em branco quando um anexo desaparece. */
.catalog-card__media { background: linear-gradient(180deg,#f4f8fe 0%,#ffffff 100%); }
.catalog-card__media img { min-width: 1px; min-height: 1px; }
.catalog-product-fallback { color: #0866e8; background: linear-gradient(145deg,#e7f1ff,#fafdff); }

/* 3.3.6 — capas editoriais mais vibrantes sem afetar as fotos do catálogo. */
.post-card__media img,
.editorial-hero__image img {
  filter: saturate(1.08) contrast(1.025);
}


/* 3.3.7 — corrige imagens desproporcionais e separa promoção de ficha técnica. */
.promotion-card {
  grid-template-rows: 190px minmax(0, 1fr);
}
.promotion-card__media {
  position: relative;
  display: block;
  width: 100%;
  height: 190px;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  background: linear-gradient(180deg, #f4f8fe 0%, #fff 100%);
}
.promotion-card__image-frame {
  position: absolute;
  inset: 12px;
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.promotion-card__image-frame img,
.promotion-card__image-frame .catalog-phone-image,
.promotion-card__image-frame .catalog-product-image {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
.promotion-card__image-frame .catalog-product-fallback {
  width: 100%;
  height: 100%;
  min-height: 0;
}
.promotion-card__body { min-height: 205px; }
.promotion-card__technical {
  display: block;
  width: 100%;
  margin-top: 9px;
  color: var(--cj-muted);
  font-size: .67rem;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.promotion-card__technical:hover { color: var(--cj-accent); text-decoration: underline; }


/* 3.3.8 — identidade editorial sem exposição de dados pessoais. */
.cj-editorial-avatar {
  --cj-editorial-avatar-size: 44px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 var(--cj-editorial-avatar-size);
  width: var(--cj-editorial-avatar-size);
  height: var(--cj-editorial-avatar-size);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cj-accent), #7c3aed);
  color: #fff;
  box-shadow: 0 8px 22px rgba(8, 102, 232, .24);
  font-size: calc(var(--cj-editorial-avatar-size) * .34);
  font-weight: 900;
  letter-spacing: -.05em;
  line-height: 1;
}
.author-box__contact { margin: .5rem 0 0; font-weight: 750; }
.contact-form__direct { margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid var(--cj-line); border-radius: 12px; background: var(--cj-surface); }
.site-footer__contact { margin: .8rem 0 0; }
.site-footer__contact a { color: inherit; font-weight: 800; }
