/* AI Expert — a tool page inside glob.ge. The frame is glob.ge's own (white
   header with the GLOBAL logo and menu, grey share bar, black footer, square
   cards with the site's soft shadow, Noto Sans Georgian, #222, #ca3438).
   The hero is AI Expert's own: a graphite inspection panel with a fine grid,
   the lot form, and a sample of the report drawn from the report's own car
   drawing. Brand red is the only accent. */
@font-face {
  font-family: "Noto Sans Georgian";
  src: url("/assets/fonts/NotoSansGeorgian-Var.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --ink: #222222;
  --ink-2: #4a4e57;
  --ink-3: #767a82;
  --line: #e3e4e6;
  --field: #dbdbdb;
  --soft: #f4f4f4;
  --red: #ca3438;
  --red-dark: #a9292d;
  --red-bg: #fbeaea;
  --ok: #238a44;
  --warn: #d9730d;
  --shadow: 5px 5px 10px 5px #f2f2f2;
  --wrap: 1220px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--ink); font-family: "Noto Sans Georgian", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
.wrap { width: min(var(--wrap), 100% - 40px); margin-inline: auto; }
.skip-link { position: absolute; left: -999px; top: 8px; background: var(--ink); color: #fff; padding: 8px 12px; z-index: 100; }
.skip-link:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.ui-icon { width: 18px; height: 18px; flex: none; }

/* ── Header (glob.ge) ─────────────────────────────────────────────── */
.site-header { background: #fff; border-bottom: 1px solid #efefef; position: relative; z-index: 40; }
.site-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 110px; gap: 24px; }
.site-logo { flex: none; }
.site-logo img { display: block; width: 233px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 26px; }
.site-nav a, .site-nav button.nav-link { font-size: 18px; font-weight: 500; color: var(--ink); text-decoration: none; background: none; border: 0; padding: 0 5px; cursor: pointer; white-space: nowrap; }
.site-nav a:hover, .site-nav button.nav-link:hover, .site-nav .site-nav-current { color: var(--red); }
.nav-toggle { display: none; background: none; border: 0; padding: 10px; cursor: pointer; }
.nav-toggle span { display: block; width: 28px; height: 3px; background: #4a4e57; margin: 5px 0; border-radius: 2px; }

/* Language switch: KA ▾ */
.lang-dropdown-wrap { position: relative; }
.btn-lang { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; font-size: 18px; font-weight: 500; cursor: pointer; padding: 0 5px; }
.btn-lang #lang-flag { display: none; }
.lang-menu { display: none; position: absolute; right: 0; top: calc(100% + 10px); background: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.12); min-width: 150px; padding: 6px 0; z-index: 60; }
.lang-option { display: flex; gap: 8px; padding: 8px 16px; font-size: 15px; cursor: pointer; }
.lang-option:hover { background: var(--soft); }
.lang-option span:first-child { display: none; }

/* ── Hero: graphite inspection panel ──────────────────────────────── */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ai-hero, .ai-band {
  --g-bg: #16181b;
  background-color: var(--g-bg);
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    radial-gradient(1200px 500px at 85% 20%, rgba(202,52,56,.16), transparent 60%);
  background-size: 32px 32px, 32px 32px, auto;
  color: #fff;
}
.ai-hero-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; padding: 64px 0 72px; }
.ai-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 14px; letter-spacing: .04em; color: #b9bdc4; }
.ai-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px rgba(202,52,56,.22); }
.ai-hero h1 { margin: 0 0 16px; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.25; font-weight: 700; text-wrap: balance; }
.ai-lead { margin: 0 0 28px; max-width: 56ch; font-size: 17px; line-height: 1.65; color: #d3d6db; }
.ai-hero .ai-form { color: var(--ink); padding: 20px; box-shadow: 0 18px 48px rgba(0,0,0,.35); }
.ai-form .source-tabs { display: inline-grid; grid-template-columns: auto auto; gap: 0; margin-bottom: 12px; border: 1px solid var(--field); border-radius: 5px; overflow: hidden; }
.ai-form .tab-btn { height: 38px; padding: 0 18px; border: 0; border-radius: 0; font-size: 15px; letter-spacing: 0; }
.ai-form .tab-btn + .tab-btn { border-left: 1px solid var(--field); }
.ai-form .tab-btn.active { background: var(--ink); color: #fff; box-shadow: none; }
.lot-row { display: flex; gap: 10px; }
.lot-row .lot-wrap { flex: 1; min-width: 0; height: 48px; }
.lot-row .btn-analyze { width: auto; height: 48px; margin: 0; padding: 0 28px; flex: none; }
.ai-form .input-helper { font-size: 14px; }
.input-helper.is-ok { color: #1f7a3f; }
.input-helper.is-bad { color: var(--red-dark); }
.ai-form .quota-line { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.quota-line[hidden] { display: none !important; }

/* Sample of the report, drawn with the report's own car drawing */

/* Share page and PDF band: the same graphite, without the form */
.ai-band .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 26px 0; }
.ai-band h1 { margin: 0; font-size: 24px; font-weight: 600; }
.ai-band p { margin: 0; color: #c3c7cd; font-size: 15px; }
.ai-band a.ai-band-cta { color: #fff; text-decoration: none; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; padding: 9px 16px; font-size: 15px; font-weight: 600; white-space: nowrap; }
.ai-band a.ai-band-cta:hover { border-color: #fff; }

/* How it works · what the report contains · questions */
.ai-faq > * { max-width: 860px; }
.ai-faq details { border-bottom: 1px solid var(--line); }
.ai-faq details:first-of-type { border-top: 1px solid var(--line); }
.ai-faq summary { list-style: none; cursor: pointer; padding: 16px 32px 16px 0; font-size: 17px; font-weight: 600; position: relative; }
.ai-faq summary::-webkit-details-marker { display: none; }
.ai-faq summary::after { content: ''; position: absolute; right: 6px; top: 24px; width: 9px; height: 9px; border-right: 2px solid var(--ink-3); border-bottom: 2px solid var(--ink-3); transform: rotate(45deg); transition: transform .15s; }
.ai-faq details[open] summary::after { transform: rotate(-135deg); top: 28px; }
.ai-faq details p { margin: 0 0 18px; color: var(--ink-2); max-width: 70ch; }

/* ── Main ─────────────────────────────────────────────────────────── */
.page-main { padding: 56px 0 64px; display: grid; gap: 64px; }
#jobs-wrap:has(#jobs-container:empty):has(#idle-recent:empty) { display: none; }
#jobs-wrap { display: grid; gap: 28px; }
.page-main > *, .tool-grid > *, #jobs-container > *, .job-body, .report-body, .v2-report > * { min-width: 0; }
.panel { background: #fff; box-shadow: var(--shadow); padding: 24px; }
.panel h2 { margin: 0 0 18px; font-size: 20px; font-weight: 600; }
.tool-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }

/* Form */
.field-label { display: block; font-size: 16px; font-weight: 700; margin: 0 0 8px; }
.field + .field { margin-top: 18px; }
.source-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tab-btn { height: 48px; background: #fff; border: 1px solid var(--field); border-radius: 5px; font-size: 16px; font-weight: 600; letter-spacing: .02em; cursor: pointer; }
.tab-btn.active { border-color: var(--red); color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
.lot-wrap { display: flex; align-items: center; height: 48px; border: 1px solid var(--field); border-radius: 5px; background: #fff; overflow: hidden; }
.lot-wrap:focus-within { border-color: var(--ink-2); }
.lot-prefix { padding: 0 0 0 14px; color: var(--ink-3); font-size: 14px; white-space: nowrap; }
.lot-input { flex: 1; min-width: 0; height: 100%; border: 0; outline: none; padding: 0 12px; font-size: 17px; letter-spacing: .03em; background: transparent; }
.lot-input.lot-invalid { color: var(--red); }
.input-helper { margin-top: 8px; font-size: 14px; color: var(--ink-3); }
.input-helper-label { display: none; }
.btn-analyze { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 52px; margin-top: 22px; background: var(--red); color: #fff; border: 0; border-radius: 5px; font-size: 17px; font-weight: 600; cursor: pointer; transition: background .15s; }
.btn-analyze:hover { background: var(--red-dark); }
.btn-analyze:disabled, .btn-analyze.loading { opacity: .6; cursor: progress; }
.quota-line { margin: 12px 0 0; font-size: 14px; color: var(--ink-3); display: flex; justify-content: space-between; gap: 8px; }
.rate-limit-badge { font-weight: 600; color: var(--ink); }
.rate-limit-badge-label { display: none; }
.rate-limit-mobile { display: none; }
.offline-strip { display: none; margin-bottom: 16px; padding: 10px 14px; background: var(--red-bg); color: var(--red-dark); font-size: 14px; }
.offline-strip.show { display: block; }

/* What the report contains (right card, like the calculator's result card) */
.contains { list-style: none; margin: 0; padding: 0; }
.contains li { padding: 10px 0; border-bottom: 1px solid var(--line); }
.contains li:first-child { border-top: 1px solid var(--line); }
.contains b { display: block; font-weight: 600; }
.contains span { color: var(--ink-2); font-size: 15px; }
.aside-note { margin: 14px 0 0; font-size: 14px; color: var(--ink-3); }
.aside-note a { color: var(--red); }

/* Recent analyses */
.idle { display: block; }
.idle-icon, .idle > p { display: none; }
.idle-recent-wrap { background: #fff; box-shadow: var(--shadow); padding: 24px; }
.idle-recent-label { font-size: 20px; font-weight: 600; margin-bottom: 14px; }
.idle-recent-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; }
.idle-recent-item { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.idle-recent-item:hover .idle-recent-name { color: var(--red); }
.idle-recent-name { font-weight: 600; font-size: 15px; text-transform: capitalize; }
.idle-recent-lot { font-size: 13px; color: var(--ink-3); white-space: nowrap; }

/* ── Analysis job ─────────────────────────────────────────────────── */
#jobs-container { display: grid; gap: 28px; }
#jobs-container:empty { display: none; }
.job-card { background: #fff; }
.job-card-header { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 16px 24px; box-shadow: var(--shadow); background: #fff; }
.job-card-title { display: flex; align-items: baseline; gap: 10px; font-weight: 600; }
.job-source-tag { font-size: 13px; color: var(--red); letter-spacing: .04em; }
.job-lot-num { font-size: 16px; }
.job-card-summary { flex: 1; display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; min-width: 0; color: var(--ink-2); font-size: 15px; }
.job-summary-chips { display: flex; gap: 6px; }
.job-summary-chip { font-size: 13px; padding: 1px 8px; background: var(--soft); }
.job-summary-chip.red { color: var(--red); background: var(--red-bg); }
.job-card-actions { display: flex; gap: 6px; margin-left: auto; }
.job-card-actions button { width: 36px; height: 36px; display: grid; place-items: center; background: #fff; border: 1px solid var(--field); border-radius: 5px; cursor: pointer; }
.job-card-actions button:hover { border-color: var(--ink-3); }
.job-card.minimized .job-progress, .job-card.minimized .job-body { display: none !important; }
.job-card:has(.job-body:not([hidden])) .job-card-header { box-shadow: none; padding-left: 0; padding-right: 0; background: none; }
.job-progress { box-shadow: var(--shadow); padding: 22px 24px 26px; margin-top: 2px; background: #fff; }
.job-status-note { font-size: 15px; color: var(--ink-2); margin-bottom: 16px; }
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: step; }
.step { position: relative; display: flex; gap: 10px; align-items: flex-start; padding-top: 14px; border-top: 3px solid var(--line); color: var(--ink-3); }
.step + .step { margin-left: 4px; }
.step.active { border-top-color: var(--red); color: var(--ink); }
.step.done { border-top-color: var(--ink); color: var(--ink); }
.step-icon { display: grid; place-items: center; width: 28px; height: 28px; flex: none; }
.step-icon .ui-icon { width: 18px; height: 18px; }
.step.done .step-icon { color: var(--ok); }
.step-info { display: grid; line-height: 1.35; }
.step-info strong { font-size: 15px; font-weight: 600; }
.step-info span { font-size: 13px; }
.step-spinner { position: absolute; right: 6px; top: 16px; width: 14px; height: 14px; border: 2px solid var(--line); border-top-color: var(--red); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.job-partial { margin-top: 22px; }
.job-body { margin-top: 0; }
.job-cached-badge { margin: 0 0 12px; font-size: 14px; color: var(--ink-3); display: flex; gap: 6px; align-items: center; }
.job-error-msg { padding: 18px 24px; box-shadow: var(--shadow); color: var(--red-dark); }
.job-error-hint { color: var(--ink-3); font-size: 14px; margin-top: 6px; }
.btn-new, .history-action-btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; background: #fff; border: 1px solid var(--field); border-radius: 5px; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; }
.btn-new:hover, .history-action-btn:hover { border-color: var(--ink-2); }
.btn-new .ui-icon, .history-action-btn .ui-icon { width: 16px; height: 16px; }
.btn-icon-only { width: 38px; padding: 0; justify-content: center; }
.history-action-primary { background: var(--red); border-color: var(--red); color: #fff; }
.btn-analyze-compact { width: auto; height: 42px; padding: 0 20px; margin: 12px 0 0; display: inline-flex; }
.btn-cancel { background: none; border: 0; color: var(--ink-3); cursor: pointer; }

/* Result toolbar + search */
.report-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; }
.report-toolbar-label { font-size: 14px; color: var(--ink-3); }
.report-lang-switcher { display: inline-flex; border: 1px solid var(--field); border-radius: 5px; overflow: hidden; }
.report-lang-switcher button { height: 34px; min-width: 44px; background: #fff; border: 0; border-right: 1px solid var(--field); font-size: 13px; font-weight: 600; cursor: pointer; }
.report-lang-switcher button:last-child { border-right: 0; }
.report-lang-switcher button.active { background: var(--ink); color: #fff; }
.report-search-bar { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; border: 1px solid var(--field); border-radius: 5px; margin-bottom: 14px; }
.report-search-input { flex: 1; border: 0; outline: none; }
.report-search-count { font-size: 13px; color: var(--ink-3); }
.report-search-clear { background: none; border: 0; cursor: pointer; }
mark.q { background: #ffe58f; }

/* Plain-text report (translations, older reports) */
.report-body { font-size: 15.5px; line-height: 1.7; }
.report-body > .md-report, .report-body > h2:first-child { margin-top: 0; }
.report-body h2 { font-size: 19px; font-weight: 700; margin: 26px 0 10px; padding-top: 14px; border-top: 1px solid var(--line); }
.report-body h3 { font-size: 16px; margin: 18px 0 8px; }
.report-body ul { list-style: none; padding: 0; margin: 8px 0; }
.report-body li { padding: 10px 0 10px 16px; border-bottom: 1px solid var(--line); position: relative; }
.report-body li::before { content: ''; position: absolute; left: 0; top: 19px; width: 7px; height: 7px; background: var(--ink-3); }
.report-body li.sev-red::before { background: var(--red); }
.report-body li.sev-orange::before, .report-body li.sev-warn::before { background: var(--warn); }
.report-body li.sev-yellow::before { background: #b58a00; }
.report-body p { margin: 8px 0; }
.job-body > .report-body:not(:has(.gr-report)), .history-report-text:not(:has(.gr-report)) { background: #fff; box-shadow: var(--shadow); padding: 24px 28px; }
.partial-stream { white-space: pre-wrap; }
.tw-cursor { display: inline-block; width: 2px; height: 1em; background: var(--red); vertical-align: -2px; animation: blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.car-banner { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.car-info { display: flex; align-items: center; gap: 12px; }
.car-icon { display: none; }
.car-name { font-size: 20px; font-weight: 700; }
.car-meta { font-size: 14px; color: var(--ink-3); }
.car-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.img-strip { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 14px; }
.img-thumb { flex: none; width: 104px; height: 74px; cursor: zoom-in; background: var(--soft); }
.img-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Company memory + ask this car */
.v2-report { display: grid; gap: 24px; }
.v2-related { background: #fff; box-shadow: var(--shadow); padding: 24px; }
.v2-h { margin: 0 0 12px; font-size: 20px; font-weight: 600; }
.v2-muted { color: var(--ink-3); font-size: 15px; }
.v2-kicker { font-size: 13px; color: var(--ink-3); }
.v2-rel-list { display: grid; gap: 0; }
.v2-rel { display: flex; gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.v2-rel-img { width: 96px; height: 68px; object-fit: cover; background: var(--soft); flex: none; }
.v2-rel-body { display: grid; min-width: 0; }
.v2-rel-score { font-size: 13px; color: var(--ink-3); }
.v2-rel-panels { font-size: 14px; color: var(--ink-2); }
.v2-shimmer { min-height: 1em; background: linear-gradient(90deg, #f1f1f1, #e4e4e4, #f1f1f1); background-size: 200% 100%; animation: sh 1.2s linear infinite; }
@keyframes sh { to { background-position: -200% 0; } }


/* Limits */
.lot-limit-inline, .lot-limit-card, .budget-stop-card { display: grid; gap: 6px; padding: 18px 22px; background: #fff; box-shadow: var(--shadow); border-left: 3px solid var(--red); margin-bottom: 16px; }
.lot-limit-copy, .lot-limit-secondary { color: var(--ink-2); font-size: 15px; }
.lot-limit-primary, .lot-limit-top { font-weight: 600; }
.lot-limit-actions, .budget-stop-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }

/* ── Modals (history, sign-in) ────────────────────────────────────── */
.modal-overlay { position: fixed; inset: 0; z-index: 200; background: rgba(34,34,34,.6); overflow-y: auto; padding: 40px 16px; }
.modal-overlay.closing { opacity: 0; transition: opacity .2s; }
.modal-box { background: #fff; width: min(1100px, 100%); margin: 0 auto; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.modal-header { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.modal-title { font-size: 20px; font-weight: 600; }
.modal-close { width: 38px; height: 38px; display: grid; place-items: center; background: none; border: 1px solid var(--field); border-radius: 5px; cursor: pointer; }
.modal-search-bar { display: flex; gap: 10px; flex-wrap: wrap; padding: 16px 24px; border-bottom: 1px solid var(--line); }
.modal-search-input { flex: 1; min-width: 200px; height: 44px; padding: 0 12px; border: 1px solid var(--field); border-radius: 5px; }
.modal-star-btn, .modal-sort-select { height: 44px; padding: 0 14px; background: #fff; border: 1px solid var(--field); border-radius: 5px; font-size: 14px; cursor: pointer; }
.modal-star-btn.active { border-color: var(--red); color: var(--red); }
.modal-body { padding: 8px 24px 24px; }
.modal-empty { padding: 30px 0; text-align: center; color: var(--ink-3); }
.modal-empty-error { color: var(--red-dark); }
.history-date-group { margin-top: 16px; }
.history-date-label { font-size: 13px; font-weight: 600; color: var(--ink-3); padding: 6px 0; border-bottom: 1px solid var(--line-2, #dbdbdb); }
.history-item { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); }
.history-item-star, .history-item-link { width: 34px; height: 34px; display: grid; place-items: center; background: none; border: 0; color: var(--ink-3); cursor: pointer; }
.history-item.starred .history-item-star { color: #e0a100; }
.history-item-main { flex: 1; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; cursor: pointer; min-width: 0; }
.history-item-main:hover .history-item-name { color: var(--red); }
.history-item-name { font-weight: 600; text-transform: capitalize; }
.history-item-lot { font-size: 13px; color: var(--ink-3); display: flex; gap: 8px; }
.history-age-badge { color: var(--ink-3); }
.history-note-dot { color: var(--red); font-size: 10px; }
.history-item-open { font-size: 14px; color: var(--ink-3); white-space: nowrap; }
.history-report-actions { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 16px 0; }
.history-report-action-left { display: flex; gap: 8px; flex-wrap: wrap; }
.history-header-text { font-size: 14px; color: var(--ink-3); margin-bottom: 12px; }
.history-report-text { margin-top: 8px; }
.lot-note-wrap { margin-top: 18px; }
.lot-note-input { width: 100%; border: 1px solid var(--field); border-radius: 5px; padding: 10px 12px; }
.skeleton-row { padding: 14px 0; border-bottom: 1px solid var(--line); display: grid; gap: 8px; }
.skel { height: 12px; background: linear-gradient(90deg, #f1f1f1, #e4e4e4, #f1f1f1); background-size: 200% 100%; animation: sh 1.2s linear infinite; }
.skel-title { width: 50%; }
.skel-meta { width: 25%; }

/* Sign-in */
.auth-box { width: min(520px, 100%); }
.auth-body { padding: 22px 24px 26px; }
.auth-info-row { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--ink-3); margin-bottom: 14px; }
.auth-info-pill { display: inline-flex; align-items: center; gap: 6px; }
.auth-copy { margin: 0 0 16px; color: var(--ink-2); }
.auth-name-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.auth-label { display: block; font-size: 15px; font-weight: 700; margin: 12px 0 6px; }
.auth-input { width: 100%; height: 48px; padding: 0 12px; border: 1px solid var(--field); border-radius: 5px; }
.auth-code-input { font-size: 22px; letter-spacing: .3em; text-align: center; }
.auth-consent { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0 0; font-size: 14px; color: var(--ink-2); }
.auth-consent input { margin-top: 4px; }
.auth-back-btn { margin-top: 12px; background: none; border: 0; color: var(--ink-3); cursor: pointer; }
.auth-status { margin-top: 12px; font-size: 14px; }
.auth-status.error, .auth-status.err { color: var(--red-dark); }

/* Lightbox (photo strip) */
.lb-overlay, #lightbox { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,.92); display: none; align-items: center; justify-content: center; }
#lightbox.active { display: flex; }
.lb-img { max-width: 92vw; max-height: 86vh; }
.lb-close, .lb-prev, .lb-next { position: absolute; background: rgba(255,255,255,.1); border: 0; color: #fff; cursor: pointer; font-size: 26px; }
.lb-close { top: 14px; right: 18px; width: 44px; height: 44px; }
.lb-prev, .lb-next { top: 50%; transform: translateY(-50%); width: 48px; height: 64px; }
.lb-prev { left: 12px; } .lb-next { right: 12px; }
.lb-counter { position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.7); font-size: 14px; }
.lb-box { position: absolute; border: 2px solid #ff4d4f; pointer-events: none; }

/* ── Share bar + footer (glob.ge) ─────────────────────────────────── */
.share-bar { display: flex; justify-content: flex-end; align-items: center; gap: 18px; background: var(--soft); padding: 20px 24px; margin-bottom: 44px; }
.share-bar span { margin-right: auto; font-size: 15px; color: var(--ink-2); }
.share-bar a { color: var(--ink); display: grid; place-items: center; }
.share-bar a:hover { color: var(--red); }
.site-footer { background: #111; color: #fff; }
.site-footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 86px; font-size: 14px; flex-wrap: wrap; }
.site-footer a { color: var(--red); text-decoration: none; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .site-nav { gap: 18px; }
  .site-nav a, .site-nav button.nav-link, .btn-lang { font-size: 16px; }
}
@media (max-width: 960px) {
  .site-header-inner { min-height: 88px; }
  .site-logo img { width: 180px; }
  .nav-toggle { display: block; }
  .site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: #fff; box-shadow: 0 12px 24px rgba(0,0,0,.08); padding: 8px 20px 16px; }
  .site-nav.open { display: flex; }
  .site-nav a, .site-nav button.nav-link, .btn-lang { padding: 12px 0; border-bottom: 1px solid var(--line); text-align: left; }
  .lang-menu { position: static; box-shadow: none; }
  .tool-grid { grid-template-columns: 1fr; }
  .ai-hero-inner { grid-template-columns: 1fr; gap: 36px; padding: 40px 0 48px; }
  .idle-recent-grid { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: 1fr 1fr; row-gap: 14px; }
  .step + .step { margin-left: 0; }
}
@media (max-width: 600px) {
  .wrap { width: calc(100% - 32px); }
  .ai-hero-inner { padding: 28px 0 36px; gap: 28px; }
  .ai-lead { font-size: 16px; margin-bottom: 20px; }
  .ai-form { padding: 16px; }
  .lot-row { flex-direction: column; }
  .lot-row .lot-wrap { flex: none; }
  .lot-row .btn-analyze { width: 100%; }
  .page-main { padding: 36px 0 40px; gap: 44px; }
  .page-main > .wrap, .job-body, .job-partial { width: 100%; }
  .panel, .idle-recent-wrap, .v2-related, .job-progress { padding: 18px 16px; }
  .idle-recent-grid { grid-template-columns: 1fr; }
  .modal-overlay { padding: 0; }
  .modal-header, .modal-search-bar, .modal-body { padding-left: 16px; padding-right: 16px; }
  .auth-name-row { grid-template-columns: 1fr; }
  .share-bar { padding: 16px; }
  .job-card-header { padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* While the report streams in, show it exactly as it will look: no extra frame. */
.job-progress:has(.job-partial:not([hidden])) { box-shadow: none; padding: 0; background: none; }
.job-progress:has(.job-partial:not([hidden])) .job-status-note { margin: 14px 0; }
.job-partial { margin-top: 0; }

/* Finished job: the report header names the car, so the job row stays short. */
.job-card:has(.job-body:not([hidden])) .job-card-summary { display: none; }
@media (max-width: 600px) { .job-card-summary { flex-basis: 100%; order: 3; } }

/* Recent analyses, error actions, message pages, sign-in extras */
.idle-recent-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.idle-recent-head .idle-recent-label { margin: 0; }
button.idle-recent-item { display: grid; gap: 2px; justify-items: start; width: 100%; background: none; border: 0; border-bottom: 1px solid var(--line); padding: 12px 0; text-align: left; cursor: pointer; font: inherit; }
button.idle-recent-item .idle-recent-name { text-transform: none; }
.job-error-msg p { margin: 8px 0 0; color: var(--ink-2); }
.job-error-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.job-error-actions .btn-analyze-compact { margin: 0; }
.page-message { max-width: 640px; margin: 0 auto; text-align: center; padding: 40px 24px; }
.page-message h2 { margin: 0 0 10px; font-size: 22px; }
.page-message p { margin: 0 0 8px; color: var(--ink-2); }
.page-message-actions { margin-top: 20px !important; }
.page-message .btn-analyze-compact { text-decoration: none; }
.auth-code-actions { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.auth-back-btn:disabled { opacity: .55; cursor: default; }
.modal-empty .btn-analyze-compact { margin: 14px auto 0; }
/* Signed-in customer: person icon + first name; phone and sign-out in a menu. */
.account-wrap { position: relative; }
.site-nav .nav-account { display: inline-flex; align-items: center; gap: 7px; }
.site-nav .nav-account svg { flex: none; color: var(--ink-3); }
.account-menu { position: absolute; right: 0; top: calc(100% + 10px); background: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.12); min-width: 210px; padding: 12px 0 6px; z-index: 60; display: grid; }
.account-phone { padding: 0 16px 10px; font-size: 14px; color: var(--ink-3); border-bottom: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.site-nav .account-menu .account-signout { background: none; border: 0; text-align: left; padding: 10px 16px; font-size: 15px; cursor: pointer; color: var(--ink); }
.account-menu .account-signout:hover { background: var(--soft); }
@media (max-width: 960px) {
  .site-nav .nav-account, .site-nav .btn-lang { width: 100%; }
  .account-menu { position: static; box-shadow: none; padding: 0; }
  .account-phone { padding: 12px 0; }
  .site-nav .account-menu .account-signout { padding: 12px 0; border-bottom: 1px solid var(--line); }
}
.lot-limit-card .btn-analyze-compact { margin: 0; text-decoration: none; }

.already-checked { margin-top: 12px; padding: 12px 14px; background: var(--soft); display: grid; gap: 8px; }
.already-checked p { margin: 0; font-size: 15px; }
.already-checked div { display: flex; gap: 8px; flex-wrap: wrap; }
.already-checked .btn-analyze-compact { margin: 0; }


/* Hero with the studio photo: the car sits on the right, text and the form
   on the dark left; on phones the car is on top and the text below. */
.ai-hero-photo { position: relative; overflow: hidden; background: #0c0d0f; isolation: isolate; }
.ai-hero-media { position: absolute; inset: 0; z-index: -2; }
.ai-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; display: block; animation: ai-drift 24s ease-in-out infinite alternate; }
@keyframes ai-drift { from { transform: scale(1.02); } to { transform: scale(1.07) translateX(-1%); } }
.ai-hero-photo::before { content: ''; position: absolute; inset: 0; z-index: -1; background:
  linear-gradient(90deg, rgba(10,11,13,.97) 0%, rgba(10,11,13,.9) 30%, rgba(10,11,13,.55) 48%, rgba(10,11,13,0) 66%),
  linear-gradient(0deg, rgba(10,11,13,.75) 0%, rgba(10,11,13,0) 30%); }
.ai-hero-photo .ai-hero-inner { grid-template-columns: minmax(0, 592px) 1fr; min-height: 560px; padding: 64px 0; }
.ai-hero-photo .ai-hero-copy { grid-column: 1; }
.ai-facts { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 14px; color: #c3c7cd; }
.ai-facts li { display: inline-flex; align-items: center; gap: 8px; }
.ai-facts li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }

/* Sample report on its own dark band below the steps */
@media (max-width: 900px) {
  .ai-hero-media { position: relative; inset: auto; aspect-ratio: 1000 / 603; }
  .ai-hero-media img { animation: none; object-position: 50% 50%; }
  .ai-hero-photo::before { display: none; }
  .ai-hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,13,15,0) 45%, #0c0d0f 100%); }
  .ai-hero-photo .ai-hero-inner { grid-template-columns: 1fr; min-height: 0; padding: 0 0 40px; margin-top: -48px; }
}

/* ── Landing, professional pass ──────────────────────────────────────
   One dark block (the hero), then white and soft-grey sections on one
   rhythm: eyebrow + title, 96px vertical padding, the same container. */
.lp-main { display: block; }
.lp-main #jobs-wrap { display: grid; gap: 28px; }
.lp-main #jobs-wrap:not(:has(#jobs-container:empty)), .lp-main #jobs-wrap:has(#idle-recent > *) { padding: 48px 0 8px; }
.lp-sec { padding: 64px 0; }
.lp-soft { background: #f5f5f6; border-top: 1px solid #ececee; border-bottom: 1px solid #ececee; }
.lp-head { max-width: 720px; margin-bottom: 32px; }
.lp-eyebrow { margin: 0 0 10px; font-size: 14px; font-weight: 600; letter-spacing: .02em; color: var(--red); }
.lp-sec h2 { margin: 0; font-size: 24px; line-height: 36px; font-weight: 600; text-wrap: balance; }

/* Hero form as a product panel */
.ai-hero .ai-form { border-radius: 0; padding: 24px; }
.ai-form-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ai-form-head h2 { margin: 0; font-size: 17px; font-weight: 700; }
.ai-form .source-tabs { margin: 0; border-radius: 5px; background: #f2f2f3; border: 0; padding: 3px; gap: 3px; }
.ai-form .tab-btn { height: 34px; padding: 0 16px; border: 0 !important; border-radius: 4px; background: transparent; color: var(--ink-2); font-weight: 600; }
.ai-form .tab-btn.active { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.ai-form .lot-wrap { border-radius: 5px; border-color: var(--field); }
.ai-form .lot-wrap:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(34,34,34,.08); }
.ai-form .lot-prefix { font-size: 13px; font-weight: 600; letter-spacing: .06em; color: #9a9ea5; }
.ai-form .btn-analyze { border-radius: 5px; }
.ai-hero-photo h1 { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.4; font-weight: 600; letter-spacing: 0; margin-bottom: 12px; }
.ai-hero-photo .ai-lead { font-size: 16px; line-height: 24px; margin-bottom: 24px; }
.ai-hero-photo .ai-form { max-width: 592px; }
.ai-facts { gap: 10px 28px; }

/* Steps: number, icon, title, text — aligned to the top */
.lp-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.lp-steps li { position: relative; display: grid; align-content: start; gap: 8px; padding: 24px; background: #fff; box-shadow: var(--shadow); }
.lp-step-no { position: absolute; top: 24px; right: 24px; font-size: 13px; font-weight: 700; color: #b8bbc1; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.lp-ico { width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: #fbeaea; fill: none; stroke: var(--red); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 6px; }
.lp-steps b { font-size: 18px; line-height: 27px; font-weight: 600; }
.lp-steps li > span:not(.lp-step-no) { color: var(--ink-2); font-size: 16px; line-height: 24px; }

/* Report preview: list on the left, a miniature of the real report on the right */
.lp-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; align-items: start; }
.lp-split-copy { padding: 24px 0; }
.lp-split-copy h2 { margin-bottom: 24px; }
.lp-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.lp-checks li { position: relative; padding-left: 36px; display: grid; gap: 2px; }
.lp-checks li::before { content: ''; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.lp-checks b { font-size: 16px; line-height: 24px; font-weight: 600; }
.lp-checks span { color: var(--ink-2); font-size: 16px; line-height: 24px; }
.lp-mock { margin: 0; background: #fff; border: 1px solid #e6e7ea; border-radius: 4px; box-shadow: 0 24px 48px -24px rgba(20,22,26,.22); overflow: hidden; }
.lp-mock-bar { display: flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; background: #f3f3f4; border-bottom: 1px solid #e6e6e8; }
.lp-mock-bar i { width: 10px; height: 10px; border-radius: 50%; background: #dcdde0; }
.lp-mock-bar span { margin-left: 12px; font-size: 12px; color: #8b8f96; letter-spacing: .02em; }
.lp-mock-body { padding: 24px; }
.lp-mini-doc { margin: 0; font-size: 12px; color: #8b8f96; }
.lp-mini-car { margin: 2px 0 14px; font-size: 22px; font-weight: 700; }
.lp-mini-verdict { display: grid; gap: 2px; padding: 12px 14px; background: #f6f6f7; margin-bottom: 8px; }
.lp-mini-verdict b { font-size: 16px; }
.lp-mini-verdict span { font-size: 13px; color: var(--ink-2); }
.lp-mini-draw .cv { width: 100%; height: auto; }
.lp-mini-rows { list-style: none; margin: 4px 0 0; padding: 0; }
.lp-mini-rows li { display: grid; grid-template-columns: 26px 1fr auto; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid #eeeef0; font-size: 14px; }
.lp-mini-rows em { font-style: normal; font-size: 13px; color: var(--ink-3); }
.lp-n { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 12px; font-weight: 700; }
.lp-n-heavy { background: var(--red); }
.lp-mini-foot { display: flex; justify-content: space-between; padding-top: 10px; border-top: 1px solid #eeeef0; font-size: 14px; color: var(--ink-3); }
.lp-mini-foot b { color: var(--ink); font-variant-numeric: tabular-nums; }
.lp-mock figcaption { padding: 10px 24px 14px; font-size: 12px; color: #9a9ea5; border-top: 1px solid #f0f0f1; }

/* Questions: a side column with the phone, the answers on the right */
.lp-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 36px; align-items: start; }
.lp-faq-side h2 { margin-bottom: 12px; }
.lp-faq-side p:not(.lp-eyebrow) { margin: 0 0 14px; color: var(--ink-2); }
.lp-phone { font-size: 22px; font-weight: 700; color: var(--ink); text-decoration: none; font-variant-numeric: tabular-nums; }
.lp-phone:hover { color: var(--red); }
.lp-faq .ai-faq > * { max-width: none; }
.lp-faq .ai-faq summary { font-size: 16px; line-height: 24px; font-weight: 600; }
.lp-faq .ai-faq details p { font-size: 16px; line-height: 24px; }

/* Closing call to action */
.lp-cta { padding: 0 0 64px; }
.lp-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 32px 36px; background: #16181b; color: #fff; border-radius: 0; background-image: radial-gradient(600px 200px at 100% 0%, rgba(202,52,56,.25), transparent 70%); }
.lp-cta h2 { margin: 0; font-size: 24px; line-height: 36px; font-weight: 600; }
.lp-cta .lp-cta-btn { width: auto; height: 48px; margin: 0; padding: 0 28px; border-radius: 5px; }
.lp-main + .share-bar { margin-top: 0; }

@media (max-width: 960px) {
  .lp-sec { padding: 48px 0; }
  .lp-steps { grid-template-columns: 1fr; gap: 16px; }
  .lp-split, .lp-faq { grid-template-columns: 1fr; gap: 24px; }
  .lp-head { margin-bottom: 24px; }
  .lp-split-copy { padding: 0; }
}
@media (max-width: 600px) {
  .lp-sec { padding: 40px 0; }
  .lp-steps li { grid-template-columns: 44px 1fr; column-gap: 16px; row-gap: 4px; padding: 20px 18px; }
  .lp-steps li .lp-ico { grid-row: 1 / span 2; margin: 0; }
  .lp-steps li > b, .lp-steps li > span:not(.lp-step-no) { grid-column: 2; }
  .lp-step-no { top: 18px; right: 18px; }
  .lp-cta-inner { padding: 28px 22px; }
  .lp-mock-body { padding: 18px 16px 16px; }
  .ai-form-head { flex-wrap: wrap; }
}

/* Hero form as part of the scene: a dark translucent panel over the photo,
   one input group (field + button) with the auction switch above it. */
.ai-hero .ai-form { background: rgba(18,20,23,.72); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 24px 60px rgba(0,0,0,.45); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); color: #fff; padding: 24px; }
.ai-form-head { margin-bottom: 12px; }
.ai-form-head label { font-size: 15px; font-weight: 600; color: #fff; }
.ai-form .source-tabs { background: rgba(255,255,255,.08); padding: 3px; }
.ai-form .tab-btn { color: #c9ccd1; height: 32px; }
.ai-form .tab-btn:hover { color: #fff; }
.ai-form .tab-btn.active { background: #fff; color: var(--ink); box-shadow: none; }
.ai-form .lot-row { gap: 0; background: #fff; border-radius: 5px; padding: 4px; }
.ai-form .lot-row .lot-wrap { border: 0; height: 48px; background: transparent; }
.ai-form .lot-wrap:focus-within { box-shadow: none; }
.ai-form .lot-row:focus-within { box-shadow: 0 0 0 3px rgba(202,52,56,.45); }
.ai-form .lot-input { color: var(--ink); }
.ai-form .lot-row .btn-analyze { height: 48px; border-radius: 4px; padding: 0 24px; }
.ai-form .input-helper { color: #aeb3ba; margin-top: 10px; }
.ai-form .input-helper.is-ok { color: #7fd49a; }
.ai-form .input-helper.is-bad { color: #ff8a8d; }
.ai-form .quota-line { color: #aeb3ba; border-top-color: rgba(255,255,255,.12); }
.ai-form .quota-line .rate-limit-badge { color: #fff; }
.ai-form .offline-strip { background: rgba(202,52,56,.2); color: #ffb3b5; }
.ai-form .already-checked { background: rgba(255,255,255,.08); color: #fff; }
.ai-form .already-checked .btn-new { background: transparent; color: #fff; border-color: rgba(255,255,255,.3); }

/* Full-width bands, like the hero and the footer: nothing boxed at the sides */
.lp-cta { padding: 0; background: #16181b; background-image: radial-gradient(700px 240px at 85% 0%, rgba(202,52,56,.22), transparent 70%); }
.lp-cta-inner { padding: 40px 0; background: none; border-radius: 0; }
.share-band { background: var(--soft); }
.share-band .share-bar { margin: 0 auto; background: none; padding: 20px 0; }
@media (max-width: 600px) {
  .ai-form .lot-row { flex-direction: column; gap: 4px; }
  .ai-form .lot-row .btn-analyze { width: 100%; }
  .lp-cta-inner { padding: 32px 0; }
}

/* Hero form without a box: it sits on the photo like the headline does.
   Soft rounded controls, one input group with the button inside. */
.ai-hero .ai-form { background: none; border: 0; box-shadow: none; padding: 0; -webkit-backdrop-filter: none; backdrop-filter: none; max-width: 560px; }
.ai-form-head { margin-bottom: 12px; }
.ai-form-head label { font-size: 14px; font-weight: 500; color: #c9ccd1; }
.ai-form .source-tabs { background: rgba(255,255,255,.1); border-radius: 999px; padding: 3px; }
.ai-form .tab-btn { border-radius: 999px; height: 30px; padding: 0 16px; font-size: 14px; }
.ai-form .lot-row { border-radius: 12px; padding: 6px; box-shadow: 0 16px 40px rgba(0,0,0,.35); }
.ai-form .lot-row .lot-wrap { height: 48px; }
.ai-form .lot-prefix { padding-left: 12px; }
.ai-form .lot-row .btn-analyze { height: 48px; border-radius: 8px; padding: 0 26px; }
.ai-form .lot-row:focus-within { box-shadow: 0 16px 40px rgba(0,0,0,.35), 0 0 0 3px rgba(202,52,56,.5); }
.ai-form .input-helper { margin-top: 12px; font-size: 13px; }
.ai-form .quota-line { border-top: 0; padding-top: 0; margin-top: 6px; font-size: 13px; }
.ai-facts { margin-top: 22px; }
@media (max-width: 600px) {
  .ai-form .lot-row { border-radius: 12px; }
  .ai-form .lot-row .btn-analyze { border-radius: 8px; }
}

/* Hero form, final: a clear white card on the photo (one obvious action),
   soft corners and shadow, the auction switch on top, field + button. */
.ai-hero .ai-form { background: #fff; color: var(--ink); border: 0; border-radius: 10px; padding: 18px; max-width: 560px; box-shadow: 0 24px 60px rgba(0,0,0,.45); -webkit-backdrop-filter: none; backdrop-filter: none; }
.ai-form-head { margin-bottom: 12px; }
.ai-form .source-tabs { background: #f1f1f2; border-radius: 8px; padding: 3px; }
.ai-form .tab-btn { border-radius: 6px; height: 32px; padding: 0 18px; color: var(--ink-2); font-size: 14px; }
.ai-form .tab-btn:hover { color: var(--ink); }
.ai-form .tab-btn.active { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.14); }
.ai-form .lot-row { gap: 8px; background: none; border-radius: 0; padding: 0; box-shadow: none; }
.ai-form .lot-row .lot-wrap { height: 52px; border: 1px solid #d6d7da; border-radius: 8px; background: #fff; }
.ai-form .lot-row .lot-wrap:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(34,34,34,.08); }
.ai-form .lot-row:focus-within { box-shadow: none; }
.ai-form .lot-row .btn-analyze { height: 52px; border-radius: 8px; padding: 0 30px; font-size: 16px; }
.ai-form .input-helper { color: var(--ink-3); margin-top: 8px; font-size: 13px; }
.ai-form .input-helper:has(#helper-format:empty) { display: none; }
.ai-form .input-helper.is-ok { color: #1f7a3f; }
.ai-form .input-helper.is-bad { color: var(--red-dark); }
.ai-form .quota-line { color: var(--ink-3); margin-top: 10px; font-size: 13px; }
.ai-form .quota-line .rate-limit-badge { color: var(--ink); }
.ai-form .offline-strip { background: var(--red-bg); color: var(--red-dark); }
.ai-form .already-checked { background: var(--soft); color: var(--ink); }
.ai-form .already-checked .btn-new { background: #fff; color: var(--ink); border-color: var(--field); }
.ai-hero-photo .ai-lead { margin-bottom: 28px; max-width: 46ch; }
@media (max-width: 600px) {
  .ai-form .lot-row { flex-direction: column; gap: 8px; }
  .ai-hero .ai-form { padding: 14px; }
}

/* Hero card: title + auction switch, field with a search icon and the
   button, then one quiet line with an example and the free quota. */
.ai-hero .ai-form { padding: 20px 20px 16px; }
.ai-form-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.ai-form-head label { font-size: 16px; font-weight: 600; color: var(--ink); }
.ai-form .lot-row .lot-wrap { padding-left: 14px; }
.lot-icon { width: 18px; height: 18px; flex: none; fill: none; stroke: #9a9ea5; stroke-width: 2; stroke-linecap: round; }
.ai-form .lot-row .lot-wrap:focus-within .lot-icon { stroke: var(--ink); }
.ai-form .lot-input { padding-left: 10px; }
.ai-form-foot { display: flex; justify-content: space-between; align-items: baseline; gap: 6px 16px; flex-wrap: wrap; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eeeef0; }
.ai-form-foot .input-helper { margin: 0; font-size: 13px; }
.ai-form-foot .input-helper:has(#helper-format:empty) { display: block; }
.ai-form-foot .quota-line { margin: 0; padding: 0; border: 0; font-size: 13px; color: var(--ink-3); }
.ai-form-foot .quota-line .rate-limit-badge:empty { display: none; }

/* One dark footer on the landing: the closing action, a divider, and a
   single bottom row with the copyright, sharing and the privacy link. */
.lp-footer { background: #111214; }
.lp-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 44px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.lp-footer-cta h2 { margin: 0; font-size: 24px; line-height: 36px; font-weight: 600; color: #fff; }
.lp-footer .lp-cta-btn { width: auto; height: 48px; margin: 0; padding: 0 28px; border-radius: 8px; }
.lp-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; min-height: 76px; font-size: 14px; color: #c3c7cd; }
.lp-share { display: flex; align-items: center; gap: 18px; }
.lp-share a { color: #c3c7cd; display: grid; place-items: center; }
.lp-share a:hover { color: #fff; }
.lp-footer-bottom > a { color: var(--red); text-decoration: none; }
@media (max-width: 600px) {
  .lp-footer-cta { padding: 32px 0; }
  .lp-footer-bottom { justify-content: center; text-align: center; padding: 20px 0; }
}

/* ── The free-analysis quota, always in sight ─────────────────────────── */
.ai-form > .input-helper { margin-top: 10px; font-size: 13px; }
.ai-form-foot { align-items: center; }
.ai-form-foot .quota-line { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-2, #4a4e57); font-size: 14px; }
.ai-form-foot .quota-line .rate-limit-badge { font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.quota-meter { display: inline-flex; gap: 4px; }
.quota-meter:empty { display: none; }
.quota-meter i { width: 18px; height: 6px; border-radius: 3px; background: #e3e4e8; }
.quota-meter i.on { background: #1f7a3f; }
.quota-line.is-empty .quota-meter i { background: #f0c9ca; }
.quota-line.is-empty #quota-text { color: var(--red-dark, #a3282c); font-weight: 600; }
.quota-line.is-unlimited::before { content: "∞"; font-size: 18px; line-height: 1; color: #1f7a3f; font-weight: 700; }

/* A report is open: landing sections hidden, hero reduced to the form. */
body.has-job .lp-sec, body.has-job .lp-footer-cta, body.has-job #idle-hint { display: none; }
body.has-job .ai-hero-photo .ai-hero-inner { min-height: 0; padding: 28px 0; }
body.has-job .ai-hero-photo .ai-lead { display: none; }
body.has-job .ai-hero-photo h1 { font-size: 24px; margin-bottom: 14px; }
@media (max-width: 900px) { body.has-job .ai-hero-photo .ai-hero-inner { margin-top: 0; padding: 20px 0; } }

/* Report pages use the full width: wider frame, soft ground around the report. */
@media (min-width: 1400px) {
  body.has-report, body.has-job { --wrap: min(1480px, calc(100vw - 120px)); }
}
body.has-report .page-main, body.has-job .lp-main { background: #f4f5f7; }
body.has-report .page-main { width: 100%; padding-inline: max(20px, calc((100% - var(--wrap)) / 2)); }
body.has-job #jobs-wrap { padding-block: 32px 48px; }

/* "My analyses" with a report open: the report gets the screen's width. */
#history-modal:has(.gr-report) { padding: 24px 16px; }
#history-modal .modal-box:has(.gr-report) { width: min(1560px, 100%); background: #f4f5f7; }
#history-modal .modal-box:has(.gr-report) .modal-header { background: #fff; }

/* "My analyses": one entry point, in the lot card next to the quota. */
.form-history { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; margin-left: auto; background: #f5f5f7; border: 1px solid #e6e6ea; border-radius: 8px; font: inherit; font-size: 14px; font-weight: 600; color: var(--ink); cursor: pointer; }
.form-history:hover { border-color: var(--red); color: var(--red); }
.form-history:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }
.form-history svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; flex: none; }
.form-history-count { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--red); color: #fff; font-size: 12px; line-height: 20px; text-align: center; font-variant-numeric: tabular-nums; }
.form-history-count[hidden] { display: none; }

/* Launch review fixes */
/* Sign-in: the box is as tall as its content, centred; neutral focus ring. */
#auth-modal { align-items: center; justify-content: center; }
#auth-modal .auth-box { height: auto; max-height: calc(100dvh - 32px); overflow-y: auto; margin: auto; }
.auth-input:focus { outline: none; border-color: var(--ink); box-shadow: 0 0 0 3px rgba(34, 34, 34, .08); }
.auth-consent a { color: var(--ink); text-decoration: underline; white-space: nowrap; }
/* FAQ side: the phone gets its label. */
.lp-phone-label { margin: 16px 0 4px; font-size: 14px; color: var(--ink-3); }
/* Phone menu: the burger turns into a cross while open. */
.nav-toggle span { transition: transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
@media (prefers-reduced-motion: reduce) { .nav-toggle span { transition: none; } }
#history-modal .modal-search-bar[hidden] { display: none; }

/* The header keeps glob.ge's frame on every page, also when a report widens the content. */
.site-header .wrap, .site-footer .wrap, .ai-band .wrap, .ai-hero .wrap { width: min(1220px, 100% - 40px); }

/* Analysis in progress: the page fills the window (no white band under the
   footer) and the job card gets room to breathe. */
body.has-job { min-height: 100dvh; display: flex; flex-direction: column; }
body.has-job > .lp-main { flex: 1 0 auto; }
body.has-job #jobs-wrap { padding-block: 40px 72px; }
body.has-job .ai-hero-photo .ai-hero-inner { padding: 36px 0 40px; }
body.has-job .job-card-header { padding: 20px 32px; }
body.has-job .job-progress { padding: 32px 32px 36px; }
body.has-job .job-status-note { font-size: 16px; margin-bottom: 20px; }
body.has-job .job-progress .img-strip { gap: 10px; margin-top: 16px; }
@media (max-width: 600px) {
  body.has-job .job-card-header, body.has-job .job-progress { padding-left: 16px; padding-right: 16px; }
}
