/* GEO blocks: short answer, plain tables, FAQ, sources, roundup picks (v3/geo-helpers, v3/geo-page). */
.uj-v3 .lp-sec.ujgeo-sec-answer { padding-top: 40px !important; padding-bottom: 8px !important; }
.uj-v3 .lp-sec.ujgeo-sec-answer > .lp-in { padding-top: 0 !important; padding-bottom: 0 !important; }
.uj-v3 .ujgeo-answer { background: #fff; border: 1px solid var(--uj-line); border-left: 4px solid var(--uj-accent); border-radius: 14px; padding: 24px 28px; box-shadow: var(--uj-shadow-card); }
.uj-v3 .ujgeo-answer-head { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.uj-v3 .ujgeo-answer-k { font-family: var(--uj-mono); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--uj-accent); }
.uj-v3 .ujgeo-updated { font-family: var(--uj-mono); font-size: 12px; color: var(--uj-muted); }
.uj-v3 .ujgeo-answer-p { margin: 0; font-family: var(--uj-sans); font-size: 17px; line-height: 1.6; color: var(--uj-ink); }
.uj-v3 .ujgeo-choose { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--uj-line2); }
.uj-v3 .ujgeo-choose-h { font-family: var(--uj-sans); font-size: 14px; font-weight: 600; color: var(--uj-ink); margin-bottom: 8px; }
.uj-v3 .ujgeo-choose ul { margin: 0; padding-left: 18px; }
.uj-v3 .ujgeo-choose li { font-family: var(--uj-sans); font-size: 14px; line-height: 1.55; color: var(--uj-ink2); margin: 4px 0; }
.uj-v3 .ujgeo-table-wrap { overflow-x: auto; border: 1px solid var(--uj-line); border-radius: 14px; background: #fff; }
.uj-v3 .ujgeo-table { width: 100%; border-collapse: collapse; }
.uj-v3 .ujgeo-table caption { caption-side: top; text-align: left; padding: 14px 20px 0; font-family: var(--uj-sans); font-size: 13px; color: var(--uj-muted); }
.uj-v3 .ujgeo-table th, .uj-v3 .ujgeo-table td { padding: 13px 18px; text-align: left; vertical-align: top; font-family: var(--uj-sans); font-size: 14px; line-height: 1.5; color: var(--uj-ink2); }
.uj-v3 .ujgeo-table thead th { font-family: var(--uj-mono); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--uj-muted); border-bottom: 1px solid var(--uj-line); white-space: nowrap; }
.uj-v3 .ujgeo-table thead th.hi { color: var(--uj-accent); }
.uj-v3 .ujgeo-table tbody th { font-weight: 600; color: var(--uj-ink); }
.uj-v3 .ujgeo-table tbody tr + tr > * { border-top: 1px solid var(--uj-line2); }
.uj-v3 .ujgeo-table td.hi { background: var(--uj-accent-soft); }
.uj-v3 .ujgeo-note { margin-top: 12px; font-family: var(--uj-sans); font-size: 13px; line-height: 1.6; color: var(--uj-muted); }
.uj-v3 .ujgeo-faqs { display: grid; gap: 8px; }
.uj-v3 .ujgeo-faq { border: 1px solid var(--uj-line); border-radius: 12px; padding: 16px 20px; background: #fff; }
.uj-v3 .ujgeo-faq[open] { background: var(--uj-paper); }
.uj-v3 .ujgeo-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; }
.uj-v3 .ujgeo-faq summary::-webkit-details-marker { display: none; }
.uj-v3 h3.ujgeo-faq-q { margin: 0; font-family: var(--uj-sans); font-size: 15.5px; font-weight: 600; line-height: 1.45; color: var(--uj-ink); }
.uj-v3 .ujgeo-faq-chev { color: var(--uj-muted); font-size: 13px; transition: transform .15s; }
.uj-v3 .ujgeo-faq[open] .ujgeo-faq-chev { transform: rotate(180deg); }
.uj-v3 .ujgeo-faq-a { margin-top: 12px; font-family: var(--uj-sans); font-size: 14.5px; line-height: 1.65; color: var(--uj-ink2); }
.uj-v3 .ujgeo-sources { font-family: var(--uj-sans); }
.uj-v3 .ujgeo-sources-h { font-family: var(--uj-mono); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--uj-muted); }
.uj-v3 .ujgeo-sources-p { margin: 8px 0 10px; font-size: 13.5px; line-height: 1.6; color: var(--uj-muted); }
.uj-v3 .ujgeo-sources ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.uj-v3 .ujgeo-sources li { font-size: 13.5px; line-height: 1.6; break-inside: avoid; }
.uj-v3 .ujgeo-sources a { color: var(--uj-accent); text-decoration: underline; text-underline-offset: 2px; }
.uj-v3 .ujgeo-hero { background: var(--uj-surface); border-bottom: 1px solid var(--uj-line); }
.uj-v3 .ujgeo-hero-in { max-width: 1080px; margin: 0 auto; padding: 64px 28px 40px; }
.uj-v3 .ujgeo-hero h1 { margin-top: 18px; max-width: 860px; }
.uj-v3 .ujgeo-hero-sub { margin-top: 16px; font-family: var(--uj-sans); font-size: 17px; line-height: 1.55; color: var(--uj-muted); max-width: 760px; }
.uj-v3 .ujgeo-hero .ujgeo-answer { margin-top: 28px; }
.uj-v3 .ujgeo-disclosure { margin-top: 14px; font-family: var(--uj-sans); font-size: 13px; color: var(--uj-muted); max-width: 760px; line-height: 1.55; }
.uj-v3 .ujgeo-prose { font-family: var(--uj-sans); font-size: 15.5px; line-height: 1.7; color: var(--uj-ink2); }
.uj-v3 .ujgeo-prose p { margin: 0 0 14px; }
.uj-v3 .ujgeo-prose ul, .uj-v3 .ujgeo-prose ol { margin: 0 0 14px; padding-left: 22px; }
.uj-v3 .ujgeo-prose li { margin: 6px 0; }
.uj-v3 .ujgeo-prose strong { color: var(--uj-ink); }
.uj-v3 .ujgeo-prose a, .uj-v3 .ujgeo-pick a { color: var(--uj-accent); text-decoration: underline; text-underline-offset: 2px; }
.uj-v3 .ujgeo-picks { display: grid; gap: 16px; }
.uj-v3 .ujgeo-pick { background: #fff; border: 1px solid var(--uj-line); border-radius: 14px; padding: 24px 26px; box-shadow: var(--uj-shadow-card); }
.uj-v3 .ujgeo-pick-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 16px; }
.uj-v3 h3.ujgeo-pick-name { margin: 0; font-family: var(--uj-sans); font-size: 20px; font-weight: 600; color: var(--uj-ink); }
.uj-v3 .ujgeo-pick-best { font-family: var(--uj-mono); font-size: 12px; color: var(--uj-accent); }
.uj-v3 .ujgeo-pick-own { font-family: var(--uj-mono); font-size: 11px; color: var(--uj-muted); border: 1px solid var(--uj-line); border-radius: 999px; padding: 2px 8px; }
.uj-v3 .ujgeo-pick-sum { margin: 12px 0 0; font-family: var(--uj-sans); font-size: 15px; line-height: 1.6; color: var(--uj-ink2); }
.uj-v3 .ujgeo-pick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 16px; }
.uj-v3 .ujgeo-pick-h { font-family: var(--uj-mono); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 6px; }
.uj-v3 .ujgeo-pick-h--pro { color: var(--uj-green); }
.uj-v3 .ujgeo-pick-h--con { color: var(--uj-muted2); }
.uj-v3 .ujgeo-pick ul { margin: 0; padding-left: 18px; }
.uj-v3 .ujgeo-pick li { font-family: var(--uj-sans); font-size: 14px; line-height: 1.55; color: var(--uj-ink2); margin: 3px 0; }
.uj-v3 .ujgeo-pick-meta { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--uj-line2); font-family: var(--uj-sans); font-size: 13.5px; line-height: 1.6; color: var(--uj-muted); }
.uj-v3 .ujgeo-related { display: flex; flex-wrap: wrap; gap: 10px; }
.uj-v3 .ujgeo-related a { font-family: var(--uj-sans); font-size: 14px; border: 1px solid var(--uj-line); border-radius: 999px; padding: 8px 14px; background: #fff; color: var(--uj-ink); text-decoration: none; }
.uj-v3 .ujgeo-related a:hover { border-color: var(--uj-accent); color: var(--uj-accent); }
.uj-v3 .ujgeo-toc { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: var(--uj-sans); font-size: 14px; }
.uj-v3 .ujgeo-toc a { color: var(--uj-muted); text-decoration: none; }
.uj-v3 .ujgeo-toc a:hover { color: var(--uj-accent); }
@media (max-width: 760px) {
  .uj-v3 .ujgeo-choose, .uj-v3 .ujgeo-pick-grid { grid-template-columns: 1fr; }
  .uj-v3 .ujgeo-sources ol { columns: 1; }
  .uj-v3 .ujgeo-answer { padding: 20px; }
}
