/* KiG – Giełda i Wymiana Gier. Zmienne korzystają z tokenów motywu Konsole i Gry, z wartościami zapasowymi
   dla innych motywów. Wszystkie reguły są zawężone do klasy .kgg (izolacja od motywu). */
.kgg {
	--kgg-accent: var(--accent, #ef420c);
	--kgg-accent-text: var(--accent-text, #c2360a);
	/* Tło pod białym tekstem: ciemniejszy odcień motywu (kontrast ≥ 4,5:1); jasny --accent tylko do ramek i akcentów. */
	--kgg-accent-fill: var(--accent-fill, #c2360a);
	--kgg-accent-fill-hover: var(--accent-fill-hover, #a82e08);
	--kgg-on-accent: var(--on-accent, #fff);
	--kgg-bg: var(--bg, #f6f6f7);
	--kgg-surface: var(--surface, #fff);
	--kgg-text: var(--text, #1d1d1f);
	--kgg-muted: var(--muted, #5f6368);
	--kgg-line: var(--line, #d9dadd);
	--kgg-good: var(--good, #1a7f37);
	--kgg-bad: var(--bad, #b32d2e);
	--kgg-warn: var(--warn, #9a6700);
	--kgg-radius: var(--radius-sm, 8px);
	--kgg-radius-lg: var(--radius, 12px);
	--kgg-gap: 16px;
	--kgg-focus: 0 0 0 3px color-mix(in srgb, var(--kgg-accent) 45%, transparent);
	color: var(--kgg-text);
	font-size: 16px;
	line-height: 1.55;
	margin: 0 0 32px;
}
.kgg *, .kgg *::before, .kgg *::after { box-sizing: border-box; }
.kgg-container { max-width: 1200px; }
.kgg .screen-reader-text, .kgg-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Pole-pułapka nie może dziedziczyć szerokości pól formularza (inaczej wystaje poza ekran telefonu). */
.kgg input.kgg-hp { width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; margin: 0 !important; }
.kgg a { color: var(--kgg-accent-text); }
/* Pola wyboru wygodne do stuknięcia na telefonie (domyślne 13 px to za mało). */
.kgg input[type="checkbox"]:not(.kgg-hp), .kgg input[type="radio"] { width: 20px; height: 20px; margin: 0 6px 0 0; vertical-align: middle; accent-color: var(--kgg-accent-fill); flex: none; }
.kgg a:focus-visible, .kgg button:focus-visible, .kgg input:focus-visible, .kgg select:focus-visible, .kgg textarea:focus-visible, .kgg summary:focus-visible, .kgg legend:focus-visible { outline: none; box-shadow: var(--kgg-focus); border-radius: 4px; }

.kgg-title { font-size: clamp(24px, 4vw, 34px); line-height: 1.15; margin: 8px 0 12px; }
.kgg-subtitle { font-size: 20px; margin: 18px 0 10px; }
.kgg-lead { color: var(--kgg-muted); margin: 0; max-width: 60ch; }
.kgg-hint { color: var(--kgg-muted); font-size: 14px; overflow-wrap: anywhere; }
.kgg-head { display: flex; flex-wrap: wrap; gap: var(--kgg-gap); align-items: flex-end; justify-content: space-between; margin-bottom: var(--kgg-gap); }
.kgg-head__actions, .kgg-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 12px 0; }
.kgg-crumbs { font-size: 14px; color: var(--kgg-muted); margin: 8px 0; }

/* Przyciski */
.kgg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 8px 16px; border-radius: var(--kgg-radius); border: 1px solid var(--kgg-line); background: var(--kgg-surface); color: var(--kgg-text) !important; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.kgg-btn:hover { border-color: var(--kgg-accent); }
.kgg-btn--primary { background: var(--kgg-accent-fill); border-color: var(--kgg-accent-fill); color: var(--kgg-on-accent) !important; }
.kgg-btn--danger { color: var(--kgg-bad) !important; border-color: color-mix(in srgb, var(--kgg-bad) 50%, var(--kgg-line)); }
.kgg-btn--small { min-height: 36px; padding: 4px 10px; font-size: 14px; }
.kgg-btn[disabled], .kgg form[aria-busy="true"] .kgg-btn { opacity: .65; cursor: progress; }
.kgg-inline { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; }

/* Komunikaty i stany */
.kgg-notice { padding: 12px 14px; border-radius: var(--kgg-radius); border: 1px solid var(--kgg-line); border-left: 4px solid var(--kgg-accent); background: var(--kgg-surface); margin: 0 0 12px; }
.kgg-notice--error { border-left-color: var(--kgg-bad); }
.kgg-notice--success { border-left-color: var(--kgg-good); }
.kgg-notice--info { border-left-color: var(--kgg-warn); }
.kgg-notice--warn { border-left-color: var(--kgg-bad); }
.kgg-notice > p { margin: 0 0 8px; }
.kgg-notice > p:last-child, .kgg-notice > form:last-child { margin-bottom: 0; }

/* Moje ogłoszenia: zakładki, ważność, szybka zmiana ceny */
.kgg-tabs ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 12px; }
.kgg-tabs a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 12px; border: 1px solid var(--kgg-line); border-radius: 999px; text-decoration: none; color: var(--kgg-text); background: var(--kgg-surface); }
.kgg-tabs a[aria-current="page"] { border-color: var(--kgg-accent); box-shadow: inset 0 0 0 1px var(--kgg-accent); font-weight: 600; }
.kgg-warn { color: var(--kgg-bad); font-weight: 600; }
.kgg-mylisting--wygasle td:nth-child(2) a { opacity: .75; }
.kgg-quick { margin-top: 6px; }
.kgg-quick > summary { cursor: pointer; color: var(--kgg-accent-text); font-size: 14px; display: inline-flex; align-items: center; min-height: 32px; }
.kgg-quick .kgg-form--inline { margin-top: 6px; }
.kgg-quick .kgg-field input { max-width: 140px; }
.kgg-row-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
/* Odnośniki obok przycisków („Zobacz”, „Popraw”) wyglądają i dają się stuknąć jak małe przyciski. */
.kgg-row-actions > a { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 10px; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); font-size: 14px; font-weight: 600; text-decoration: none; }
/* 1.2.0: podpowiedź ceny, zdjęcia, zapisane wyszukiwania, wystawianie kilku gier */
.kgg-price-hint { margin: 6px 0 0; padding: 8px 12px; border-radius: var(--kgg-radius); background: color-mix(in srgb, var(--kgg-accent) 8%, var(--kgg-surface)); font-size: 14px; }
.kgg-price-hint:empty { display: none; }
.kgg-photo-list { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 6px 0 0; }
.kgg-photo { display: grid; gap: 4px; justify-items: start; padding: 6px; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); background: var(--kgg-surface); font-size: 14px; }
.kgg-photo:first-child { border-color: var(--kgg-accent); }
.kgg-photo img { width: 96px; height: 96px; object-fit: cover; border-radius: 4px; }
.kgg-photo__tools { display: inline-flex; gap: 4px; }
.kgg-photo label { display: inline-flex; gap: 6px; align-items: center; }
.kgg-saved-search { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin: 0 0 12px; padding: 8px 12px; border: 1px dashed var(--kgg-line); border-radius: var(--kgg-radius); }
.kgg-saved-search label { display: inline-flex; gap: 6px; align-items: center; }
.kgg-saved-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.kgg-saved-list li { display: grid; gap: 6px; justify-items: start; padding-bottom: 10px; border-bottom: 1px solid var(--kgg-line); }
.kgg-bulk-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.kgg-bulk-list .kgg-field input { max-width: 160px; }
/* Lista ogłoszeń jako karty – „Moje konto” w motywie jest wąskie, 6 kolumn by się nie zmieściło. */
.kgg-mylistings, .kgg-mylistings tbody { display: block; width: 100%; }
.kgg-mylistings thead { display: none; }
.kgg-mylistings tr { display: grid; grid-template-columns: 28px minmax(0, 1fr) minmax(0, 1fr); gap: 6px 14px; padding: 14px 0; border-bottom: 1px solid var(--kgg-line); }
.kgg-mylistings td { display: block; border: 0; padding: 0; min-width: 0; }
.kgg-mylistings td:nth-child(1) { grid-row: 1 / span 4; padding-top: 2px; }
.kgg-mylistings td:nth-child(2) { grid-column: 2 / -1; font-weight: 600; }
.kgg-mylistings td:nth-child(6) { grid-column: 2 / -1; }
@media (max-width: 600px) {
	.kgg-mylistings tr { grid-template-columns: 28px minmax(0, 1fr); }
	.kgg-mylistings td { grid-column: 2; }
	.kgg-mylistings td:nth-child(1) { grid-column: 1; }
}
.kgg-empty { text-align: center; padding: 32px 16px; border: 1px dashed var(--kgg-line); border-radius: var(--kgg-radius-lg); background: var(--kgg-surface); }
.kgg-empty__title { font-weight: 700; font-size: 18px; }
.kgg [aria-busy="true"] { cursor: progress; }

/* Formularze */
.kgg-form { display: grid; gap: 12px; }
.kgg [hidden] { display: none !important; }

/* Potwierdzenie nad stroną: jednoznaczne przyciski i pełny tekst także na telefonie. */
dialog.kgg-confirm { position: fixed; inset: 0; margin: auto; width: min(480px, calc(100% - 32px)); max-width: none; max-height: calc(100% - 32px); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius-lg); background: var(--kgg-surface); color: var(--kgg-text); box-shadow: 0 16px 60px #0005; overflow-y: auto; overflow-wrap: anywhere; }
dialog.kgg-confirm { box-sizing: border-box; }
dialog.kgg-confirm:not([open]) { display: none; }
dialog.kgg-confirm::backdrop { background: #0009; }
.kgg-confirm h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.25; }
.kgg-confirm p { margin: 0 0 24px; }
.kgg-confirm__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.kgg-confirm__actions .kgg-btn { max-width: 100%; white-space: normal; }
.kgg-confirm__actions .kgg-btn--danger { color: #fff !important; background: #a61b1b; border-color: #a61b1b; }
.kgg-confirm__actions .kgg-btn--danger:hover { background: #881616; border-color: #881616; }
@media (max-width: 480px) { dialog.kgg-confirm { padding: 20px; } .kgg-confirm__actions .kgg-btn { flex: 1 1 100%; width: 100%; } }
.kgg-form__grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.kgg-field { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 4px; }
.kgg-field label, .kgg-field__label { font-weight: 600; font-size: 14px; }
.kgg input[type="text"], .kgg input[type="search"], .kgg input[type="number"], .kgg input[type="tel"], .kgg input[type="datetime-local"], .kgg select, .kgg textarea {
	width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); background: var(--kgg-surface); color: var(--kgg-text); font: inherit;
}
.kgg input:invalid:not(:placeholder-shown) { border-color: var(--kgg-bad); }
.kgg-checks, .kgg-radios { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.kgg-checks label, .kgg-radios label { display: inline-flex; gap: 8px; align-items: center; font-weight: 400; min-height: 36px; }
.kgg fieldset { border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius-lg); padding: 12px 16px; margin: 0; min-width: 0; }
.kgg legend { font-weight: 700; padding: 0 6px; }
.kgg-form--inline { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.kgg-form--inline .kgg-field { min-width: 160px; flex: 1; }

/* Filtry */
.kgg-filters { background: var(--kgg-surface); border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius-lg); padding: 12px; margin-bottom: var(--kgg-gap); }
.kgg-filters__main { display: grid; gap: 10px; grid-template-columns: minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1.1fr) auto; align-items: end; }
.kgg-filters__more summary { cursor: pointer; font-weight: 600; margin-top: 8px; min-height: 36px; }
.kgg-filters__grid { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); margin-top: 8px; }
.kgg-field--submit { align-self: end; }

/* Karty ofert */
.kgg-grid { display: grid; gap: var(--kgg-gap); grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.kgg-card { display: flex; flex-direction: column; background: var(--kgg-surface); border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius-lg); overflow: hidden; }
.kgg-card--featured { border-color: var(--kgg-warn); }
.kgg-card__media { display: block; aspect-ratio: 4 / 3; background: var(--kgg-bg); }
.kgg-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kgg-img--empty { display: grid; place-items: center; width: 100%; height: 100%; font-size: 42px; font-weight: 800; color: var(--kgg-muted); background: var(--kgg-bg); }
.kgg-card__body { padding: 10px 12px 14px; display: grid; gap: 4px; }
.kgg-card__title { font-size: 16px; margin: 0; line-height: 1.3; }
.kgg-card__title a { color: var(--kgg-text); text-decoration: none; }
.kgg-card__meta, .kgg-card__seller { font-size: 13px; color: var(--kgg-muted); margin: 0; }
.kgg-card__price, .kgg-price { font-weight: 800; font-size: 18px; margin: 0; }
.kgg-mode { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; border: 1px solid var(--kgg-line); }
.kgg-mode--wymiana { border-color: var(--kgg-good); color: var(--kgg-good); }
.kgg-mode--sprzedaz { border-color: var(--kgg-accent); color: var(--kgg-accent-text); }
.kgg-flag { display: inline-block; font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: color-mix(in srgb, var(--kgg-accent) 14%, transparent); color: var(--kgg-accent-text); }
.kgg-flag--featured { background: color-mix(in srgb, var(--kgg-warn) 18%, transparent); color: var(--kgg-warn); }
.kgg-flag--match { background: color-mix(in srgb, var(--kgg-good) 16%, transparent); color: var(--kgg-good); }
.kgg-flag--bundle, .kgg-tag--bundle { background: color-mix(in srgb, var(--kgg-accent) 22%, transparent); color: var(--kgg-text); }
.kgg-tag--drop, .kgg-price-drop { color: var(--kgg-good); }
.kgg-tag--drop { background: color-mix(in srgb, var(--kgg-good) 14%, transparent); }
.kgg-price-drop { margin: 4px 0 0; font-size: 14px; font-weight: 600; }
.kgg-actions__note { flex-basis: 100%; margin: 0; }
/* Udostępnianie oferty */
.kgg-share { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0 16px; }
.kgg-share__label { font-weight: 600; font-size: 14px; }
.kgg-share [data-kgg-share-msg]:empty { display: none; }
/* Skład paczki */
.kgg-bundle-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.kgg-bundle-item { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: start; padding-top: 12px; border-top: 1px solid var(--kgg-line); }
.kgg-bundle-item:first-child { border-top: 0; padding-top: 0; }
.kgg-bundle-item > div:only-child { grid-column: 1 / -1; }
.kgg-bundle-item h3 { margin: 0 0 6px; font-size: 16px; }
.kgg-bundle-item .kgg-img { width: 96px; height: auto; border-radius: var(--kgg-radius); }
@media (max-width: 480px) { .kgg-bundle-item { grid-template-columns: 64px 1fr; } .kgg-bundle-item .kgg-img { width: 64px; } }
.kgg-label-box { margin: 8px 0; padding: 10px 12px; border: 1px dashed var(--kgg-line); border-radius: var(--kgg-radius); }
.kgg-status { display: inline-block; font-size: 13px; font-weight: 700; padding: 2px 10px; border-radius: 999px; border: 1px solid var(--kgg-line); }
.kgg-count { display: inline-block; min-width: 20px; padding: 0 6px; border-radius: 999px; background: var(--kgg-accent-fill); color: var(--kgg-on-accent); font-size: 12px; text-align: center; }
.kgg-pages { display: flex; gap: 6px; flex-wrap: wrap; margin: 16px 0; }
.kgg-pages a, .kgg-pages span { min-width: 40px; min-height: 40px; display: grid; place-items: center; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); }
.kgg-pages [aria-current] { background: var(--kgg-accent-fill); color: var(--kgg-on-accent); border-color: var(--kgg-accent-fill); }

/* Odznaki i reputacja – weryfikacja, aktywność i PRO wyglądają inaczej */
.kgg-badges { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.kgg-badge { display: inline-block; font-size: 12px; padding: 2px 8px; border-radius: 6px; border: 1px solid var(--kgg-line); }
.kgg-badge--weryfikacja { border-color: var(--kgg-good); color: var(--kgg-good); }
.kgg-badge--aktywnosc { border-style: dashed; }
.kgg-badge--pro { background: var(--kgg-text); color: var(--kgg-surface); border-color: var(--kgg-text); }
.kgg-rating { font-size: 14px; }
.kgg-seller { display: inline-flex; align-items: center; gap: 6px; }
.kgg-avatar { border-radius: 50%; width: 32px; height: 32px; object-fit: cover; }
.kgg-profile__head .kgg-avatar { width: 96px; height: 96px; }

/* Karta oferty i gry */
.kgg-box { background: var(--kgg-surface); border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius-lg); padding: 14px 16px; margin: 12px 0; }
.kgg-listing__grid, .kgg-game__head { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.kgg-game__head { grid-template-columns: 200px minmax(0, 1fr); }
.kgg-cover { width: 100%; border-radius: var(--kgg-radius-lg); aspect-ratio: 3 / 4; object-fit: cover; }
.kgg-gallery { display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr); }
.kgg-gallery > :not(.kgg-gallery__item), .kgg-gallery__item--main { grid-column: 1 / -1; }
.kgg-box .kgg-dl + h3, .kgg-box .kgg-dl + .kgg-subtitle { margin-top: 16px; }
.kgg-attachments { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; align-items: flex-start; }
.kgg-attachments > p { flex-basis: 100%; margin: 0; }
.kgg-attachments img { display: block; width: 96px; height: auto; border-radius: var(--kgg-radius); border: 1px solid var(--kgg-line); }
.kgg-gallery__item { display: block; border-radius: var(--kgg-radius); overflow: hidden; border: 1px solid var(--kgg-line); }
.kgg-side { background: var(--kgg-bg); border-radius: var(--kgg-radius); padding: 8px 12px; font-size: 14px; }
.kgg-shop-offer { border-color: var(--kgg-accent); }
.kgg-dl { display: grid; grid-template-columns: minmax(120px, max-content) 1fr; gap: 6px 14px; margin: 0; }
.kgg-dl dt { color: var(--kgg-muted); }
.kgg-dl dd { margin: 0; white-space: pre-line; }
.kgg-list { margin: 0; padding-left: 20px; }
.kgg-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
.kgg-chips > li, .kgg-chips > label { border: 1px solid var(--kgg-line); border-radius: 999px; padding: 4px 12px; background: var(--kgg-surface); }

/* Propozycja: dwie strony umowy */
.kgg-two { display: grid; gap: var(--kgg-gap); grid-template-columns: 1fr 1fr; }
.kgg-pick { display: flex; gap: 8px; align-items: flex-start; padding: 6px 0; border-bottom: 1px solid var(--kgg-line); min-height: 44px; }
.kgg-pick > input { flex: none; margin-top: 4px; }
.kgg-pick__text { flex: 1; min-width: 0; }
.kgg-tag { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.6; }
.kgg-tag--want { background: color-mix(in srgb, var(--kgg-accent) 18%, var(--kgg-surface)); color: var(--kgg-text); }
.kgg-add-own { margin-top: 10px; }
.kgg-add-own summary { cursor: pointer; font-weight: 600; padding: 8px 0; min-height: 44px; }
.kgg-cash { font-size: 17px; }
.kgg-timeline { margin: 0; padding-left: 20px; display: grid; gap: 6px; }
.kgg-private { border-color: var(--kgg-warn); }
.kgg-next { border-left: 4px solid var(--kgg-accent); }
.kgg-shipment { border-top: 1px solid var(--kgg-line); padding: 8px 0; }
.kgg-shipment:first-of-type { border-top: 0; }

/* Kreator */
.kgg-steps { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0 0 12px; counter-reset: kgg; }
.kgg-steps li { counter-increment: kgg; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--kgg-line); font-size: 14px; }
.kgg-steps li::before { content: counter(kgg) ". "; }
.kgg-steps li[aria-current="step"] { background: var(--kgg-accent-fill); color: var(--kgg-on-accent); border-color: var(--kgg-accent-fill); }
.kgg-steps li.is-done { border-color: var(--kgg-good); }
.kgg-ship__row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; min-height: 44px; }
.kgg-ship__cost input { width: 110px; display: inline-block; }
.kgg-photo-list { display: flex; flex-wrap: wrap; gap: 8px; }
.kgg-photo { display: grid; gap: 4px; font-size: 13px; }
.kgg-photo img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--kgg-radius); }

/* Autouzupełnianie */
.kgg-ac { position: relative; }
.kgg-ac__list { position: absolute; z-index: 50; left: 0; right: 0; top: 100%; margin: 4px 0 0; padding: 4px; list-style: none; background: var(--kgg-surface); border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); box-shadow: 0 8px 24px rgb(0 0 0 / .15); max-height: 320px; overflow: auto; }
.kgg-ac__list li { padding: 8px 10px; border-radius: 6px; cursor: pointer; min-height: 40px; }
.kgg-ac__list li[aria-selected="true"], .kgg-ac__list li:hover { background: color-mix(in srgb, var(--kgg-accent) 14%, transparent); }
.kgg-ac__empty { color: var(--kgg-muted); cursor: default !important; }

/* Konto */
.kgg-subnav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 16px; }
.kgg-subnav a { display: inline-block; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--kgg-line); text-decoration: none; min-height: 36px; }
.kgg-subnav a[aria-current="page"] { background: var(--kgg-accent-fill); color: var(--kgg-on-accent); border-color: var(--kgg-accent-fill); }
.kgg-subnav a { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
/* Telefon: zakładki giełdy w jednym przewijanym pasku (zamiast kilku wierszy przycisków nad treścią). */
@media (max-width: 640px) {
	.kgg-subnav { position: relative; margin: 0 0 16px; contain: inline-size; }
	/* width: 0 + min-width: 100% – pasek nie rozpycha kontenera motywu (siatka „Moje konto” liczy szerokość z treści). */
	.kgg-subnav ul { width: 0; min-width: 100%; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding: 2px 0 8px; margin: 0; scrollbar-width: thin; }
	.kgg-subnav li { flex: none; scroll-snap-align: start; }
}
.kgg-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.kgg-table th, .kgg-table td { text-align: left; padding: 8px; border-bottom: 1px solid var(--kgg-line); vertical-align: top; }
.kgg-table tr.is-unread td { font-weight: 600; }
.kgg-row-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.kgg-stats { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.kgg-stats a { padding: 10px 14px; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); text-decoration: none; background: var(--kgg-surface); }
.kgg-onboarding ol { padding-left: 20px; }
.kgg-onboarding li.is-done a { text-decoration: line-through; color: var(--kgg-muted); }
.kgg-notes { list-style: none; padding: 0; margin: 0; }
.kgg-notes li { padding: 8px 0; border-bottom: 1px solid var(--kgg-line); }
.kgg-notes li.is-unread { font-weight: 600; }
.kgg-filter-links a[aria-current] { font-weight: 700; text-decoration: none; }
.kgg-match { background: var(--kgg-surface); border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius-lg); padding: 12px 16px; margin: 12px 0; }
.kgg-match--mutual { border-color: var(--kgg-good); border-width: 2px; }
.kgg-match header h3 { margin: 0 0 4px; font-size: 17px; }
.kgg-match__why { font-weight: 600; }

/* Wiadomości */
.kgg-threads { list-style: none; padding: 0; margin: 0; }
.kgg-threads li { padding: 10px 0; border-bottom: 1px solid var(--kgg-line); }
.kgg-threads li.is-unread a { font-weight: 700; }
.kgg-messages { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; max-height: 60vh; overflow-y: auto; }
.kgg-msg { max-width: 85%; padding: 8px 12px; border-radius: 12px; background: var(--kgg-bg); border: 1px solid var(--kgg-line); }
.kgg-msg--mine { justify-self: end; background: color-mix(in srgb, var(--kgg-accent) 12%, var(--kgg-surface)); }
.kgg-msg--system { justify-self: center; max-width: 100%; font-size: 14px; color: var(--kgg-muted); background: transparent; border-style: dashed; }
.kgg-msg__meta { font-size: 12px; color: var(--kgg-muted); margin: 0 0 2px; }
.kgg-msg__body { margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
.kgg-msgform__row { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; }
.kgg-attach { display: inline-block; font-size: 14px; margin-top: 4px; }
.kgg-report summary, .kgg-ask summary { cursor: pointer; font-size: 14px; color: var(--kgg-muted); list-style: none; }
.kgg-ask summary.kgg-btn { color: var(--kgg-text); }
.kgg-review { border-bottom: 1px solid var(--kgg-line); padding: 8px 0; }
.kgg-reply { margin: 6px 0 0 12px; padding-left: 10px; border-left: 3px solid var(--kgg-line); }
.kgg-forum-sections, .kgg-topics, .kgg-catalog-list, .kgg-replies { list-style: none; padding: 0; margin: 0; }
.kgg-forum-sections > li, .kgg-topics li, .kgg-catalog-list li, .kgg-replies li { padding: 10px 0; border-bottom: 1px solid var(--kgg-line); }

/* Telefony i tablety (od ok. 360 px) */
@media (max-width: 900px) {
	.kgg-filters__main { grid-template-columns: 1fr 1fr; }
	.kgg-listing__grid, .kgg-two { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.kgg { font-size: 15px; }
	.kgg-filters__main { grid-template-columns: 1fr; }
	.kgg-game__head { grid-template-columns: 1fr; }
	.kgg-game__head .kgg-cover { max-width: 200px; }
	.kgg-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
	.kgg-dl { grid-template-columns: 1fr; }
	.kgg-dl dd { margin-bottom: 6px; }
	.kgg-table thead { display: none; }
	.kgg-table, .kgg-table tbody, .kgg-table tr, .kgg-table td { display: block; width: 100%; }
	.kgg-table tr { border-bottom: 1px solid var(--kgg-line); padding: 6px 0; }
	.kgg-table td { border: 0; padding: 4px 0; }
	.kgg-msg { max-width: 100%; }
	.kgg-btn { width: auto; }
	.kgg-head__actions .kgg-btn, .kgg-actions > .kgg-btn--primary { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .kgg * { scroll-behavior: auto !important; transition: none !important; } }

/* Krótki formularz: pola dodatkowe pozostają dostępne także bez JavaScriptu. */
.kgg-optional { margin: 12px 0 20px; padding: 12px 16px; border: 1px solid var(--kgg-line); border-radius: 12px; }
.kgg-optional summary { cursor: pointer; font-weight: 600; }
.kgg-optional[open] summary { margin-bottom: 12px; }
.kgg-total { font-weight: 700; padding: 12px; border: 1px solid var(--kgg-line); border-radius: 8px; }
.kgg-upload-preview { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.kgg-upload-preview img { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; }

/* Gallery editing: the same controls for saved and newly selected photos. */
.kgg .kgg-photo { flex: 0 1 150px; min-width: 132px; max-width: 100%; box-sizing: border-box; }
.kgg .kgg-photo img { width: 100%; height: 120px; object-fit: contain; }
.kgg .kgg-photo label { min-height: 44px; cursor: pointer; }
.kgg .kgg-photo__tools button, .kgg .kgg-photo > button { min-width: 44px; min-height: 44px; }
.kgg .kgg-photo.is-removed { border-style: dashed; }
.kgg .kgg-photo.is-removed img { opacity: .35; }
.kgg .kgg-upload-preview figure { margin: 0; max-width: 132px; }
.kgg .kgg-upload-preview figcaption { font-size: 13px; }

/* Audit 2026-10-15: compact basic filters and explicit active criteria. */
.kgg-filters__main{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));align-items:end}.kgg-active-filters{overflow-wrap:anywhere}.kgg-market-links{flex-wrap:wrap}

/* Zgłoszenia: prywatne odpowiedzi i pełna obsługa bez JavaScript. */
.kgg-reports{max-width:100%;overflow-wrap:anywhere}.kgg-report-form{max-width:850px}.kgg-report-form input,.kgg-report-form textarea{max-width:100%;box-sizing:border-box}.kgg-report-form .kgg-check{display:flex;align-items:flex-start;gap:.7rem;margin:1rem 0;line-height:1.6}.kgg-report-form .kgg-check input{flex:0 0 20px;width:20px;min-height:24px;margin-top:3px}.kgg-report-code{display:block;white-space:normal;overflow-wrap:anywhere;user-select:all;padding:1rem}.kgg-report-text{overflow-wrap:anywhere;white-space:normal}.kgg-report-event{border-top:1px solid var(--kgg-border,#777);margin-top:1.2rem;padding-top:1rem}.kgg-report-link{display:inline-flex;align-items:center;min-height:44px;padding:.35rem .6rem}.kgg-report-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.kgg-report-form button{min-height:44px}.kgg-reports input:focus,.kgg-reports textarea:focus,.kgg-reports button:focus{outline:2px solid currentColor;outline-offset:3px}

.kgg-report-page .kig-guide{display:none}
.kgg .kgg-report-form input[type="url"],.kgg .kgg-report-form input[type="email"],.kgg .kgg-report-form input[type="password"]{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--kgg-line);border-radius:var(--kgg-radius);background:var(--kgg-surface);color:var(--kgg-text);font:inherit}
.kgg .kgg-report-form input:invalid{border-color:var(--kgg-line)}
.kgg .kgg-report-form input:user-invalid{border-color:var(--kgg-bad)}
.kgg-report-form .kgg-field{margin-bottom:16px}

/* 1.4.23: katalog – litery A–Z i licznik wyników. */
.kgg-letters ul { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; padding: 0; margin: 0 0 var(--kgg-gap); }
.kgg-letters a, .kgg-letters span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 0 8px; border: 1px solid var(--kgg-line); border-radius: var(--kgg-radius); text-decoration: none; }
.kgg-letters span[aria-current] { background: var(--kgg-accent-fill, var(--kgg-accent)); border-color: transparent; color: #fff; font-weight: 700; }

/* 1.4.23: filtry ofert – przycisk „Filtry i sortowanie” tylko na telefonie i tylko z JavaScriptem. */
.kgg-filters__toggle { display: none; }
@media (max-width: 600px) {
	.kgg-filters.kgg-js .kgg-filters__toggle { display: inline-flex; width: 100%; justify-content: center; margin-top: 10px; }
	.kgg-filters.kgg-js.is-collapsed .kgg-filters__main > .kgg-field:not(.kgg-field--q):not(.kgg-field--submit),
	.kgg-filters.kgg-js.is-collapsed .kgg-filters__more { display: none; }
	.kgg-filters__main > .kgg-field--q { order: -2; grid-column: 1 / -1; }
	.kgg-filters__main > .kgg-field--submit { order: -1; grid-column: 1 / -1; }
	/* Zakładki kategorii w jednym przewijanym rzędzie zamiast „Wszystkie” na całą szerokość. */
	.kgg-market-links { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
	.kgg-market-links > .kgg-btn, .kgg-market-links > .kgg-btn--primary { flex: 0 0 auto; }
	.kgg-letters ul { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
}

/* 1.5.0: formy transakcji, oferty demonstracyjne, koszt całkowity, giełda w portalu */
.kgg-mode--oba { border-color: color-mix(in srgb, var(--kgg-good) 50%, var(--kgg-accent)); color: var(--kgg-text); }
.kgg-flag--demo { background: color-mix(in srgb, var(--kgg-warn) 22%, transparent); color: var(--kgg-text); border: 1px dashed var(--kgg-warn); }
.kgg-card--demo { border-style: dashed; border-color: var(--kgg-warn); }
.kgg-card__media { position: relative; }
.kgg-card__nophoto { position: absolute; left: 6px; right: 6px; bottom: 6px; padding: 2px 8px; border-radius: var(--kgg-radius); background: color-mix(in srgb, var(--kgg-surface) 88%, transparent); color: var(--kgg-text); font-size: 12px; line-height: 1.4; }
.kgg-card__total { margin: 0; font-size: 14px; font-weight: 600; }
.kgg-total { margin: 4px 0 0; font-weight: 600; }
.kgg-total-table { margin-bottom: 8px; }
.kgg-total-table caption { text-align: left; }
.kgg-total-table td:last-child { white-space: nowrap; }
.kgg-portal-offers { margin: 24px 0; }
.kgg-portal-offers__head { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; justify-content: space-between; }
.kgg-portal-platforms { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.kgg-portal-platforms li { padding: 8px 0; border-top: 1px solid var(--kgg-line); overflow-wrap: anywhere; }
.kgg-portal-actions { display: inline-flex; flex-wrap: wrap; gap: 6px; vertical-align: middle; }
@media (max-width: 600px) {
	.kgg-total-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.kgg-total-table tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 8px; padding: 8px 0; border-bottom: 1px solid var(--kgg-line); }
	.kgg-total-table th[scope="row"] { grid-column: 1 / -1; border: 0; padding: 0; }
	.kgg-total-table td { border: 0; padding: 0; }
	.kgg-total-table td::before { display: block; font-size: 12px; color: var(--kgg-muted); }
	.kgg-total-table td:nth-of-type(1)::before { content: "Cena"; }
	.kgg-total-table td:nth-of-type(2)::before { content: "Dostawa"; }
	.kgg-total-table td:nth-of-type(3)::before { content: "Razem"; }
}
.kgg-total-from { margin: 4px 0 8px; font-weight: 600; }
.kgg-filters__note { margin: 8px 0 0; }
