/* Classic Games – style całego serwisu (paleta: nocny fiolet, magenta, bursztyn, morski, beż obudowy). */
:root {
	--cg-violet: #241B3F;
	--cg-night: #15102A;
	--cg-magenta: #C2185B;
	--cg-magenta-dark: #9A1248;
	--cg-pink: #FF5C93;
	--cg-amber: #F2A900;
	--cg-teal: #0F7373;
	--cg-cyan: #46E0D2;
	--cg-cream: #F5F0E6;
	--cg-beige: #E9E1D1;
	--cg-line: #DCD3C2;
	--cg-ink: #1C1630;
	--cg-muted: #5A5470;
	--cg-head: "Chakra Petch", "Trebuchet MS", sans-serif;
	--cg-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--cg-stripes: linear-gradient(var(--cg-amber) 0 25%, var(--cg-magenta) 25% 50%, var(--cg-teal) 50% 75%, var(--cg-violet) 75%);
	--cg-notch: polygon(0 8px, 8px 8px, 8px 0, calc(100% - 8px) 0, calc(100% - 8px) 8px, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 8px calc(100% - 8px), 0 calc(100% - 8px));
}
body { font-family: var(--cg-body); color: var(--cg-ink); background: #FBF8F2; }
h1, h2, h3, h4, .post-card__title, .archive-title, .post-header__title, .entry-title { font-family: var(--cg-head); font-weight: 700; letter-spacing: .005em; }

/* Nagłówek: cztery paski w kolorach serwisu (jak na obudowach komputerów z lat 80.) */
.site-header { border-bottom: 0; box-shadow: none; position: relative; }
.site-header::after { content: ""; display: block; height: 8px; background: var(--cg-stripes); }
.cg-logo { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--cg-violet); }
.cg-logo svg { width: 44px; height: 44px; flex: none; }
.cg-logo span { font: 700 1.35rem/1 var(--cg-head); white-space: nowrap; letter-spacing: .02em; text-transform: uppercase; }
.cg-logo b { color: var(--cg-magenta); font-weight: 700; }
.cg-logo:hover { color: var(--cg-night); }
@media (max-width: 480px) { .cg-logo svg { width: 34px; height: 34px; } .cg-logo span { font-size: 1.05rem; } }

/* Menu: trzy „piksele” pod aktywną pozycją */
.primary-nav a { color: var(--cg-ink); font-family: var(--cg-head); font-weight: 600; letter-spacing: .02em; }
.primary-nav > ul > li > a { position: relative; }
.primary-nav > ul > li > a::after { content: ""; position: absolute; left: 50%; bottom: -3px; width: 18px; height: 4px; transform: translateX(-50%); opacity: 0; background: linear-gradient(90deg, var(--cg-amber) 0 4px, transparent 4px 7px, var(--cg-magenta) 7px 11px, transparent 11px 14px, var(--cg-teal) 14px); transition: opacity .15s; }
.primary-nav > ul > li > a:hover::after,
.primary-nav > ul > li.current-menu-item > a::after,
.primary-nav > ul > li.current-category-ancestor > a::after,
.primary-nav > ul > li.current-post-ancestor > a::after { opacity: 1; }
.primary-nav > ul > li > a:hover, .primary-nav .current-menu-item > a { color: var(--cg-magenta); }

/* Karty wpisów: ścięte „pikselowe” narożniki, twardy cień przy hover */
.post-card { border: 0; border-radius: 0; box-shadow: none; background: #fff; clip-path: var(--cg-notch); outline: 0; transition: transform .15s, background .15s; }
.post-card:hover { transform: translate(-2px, -2px); background: var(--cg-cream); }
.post-card__thumbnail { border-radius: 0; }
.post-card__category { background: var(--cg-violet); color: #fff; border-radius: 0; text-transform: uppercase; letter-spacing: .08em; font: 600 .68rem/1.2 var(--cg-head); }
.post-card__title { font-size: 1.15rem; line-height: 1.3; }
.post-card__title a { color: var(--cg-ink); }
.post-card__title a:hover { color: var(--cg-magenta); }
.posts-grid .post-card { box-shadow: inset 0 0 0 1px var(--cg-line); }

/* Przyciski */
.btn--primary, .button, button.btn, .cg-btn { background: var(--cg-magenta); border: 0; border-radius: 0; color: #fff; font-family: var(--cg-head); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; box-shadow: 4px 4px 0 var(--cg-violet); transition: transform .1s, box-shadow .1s; }
.btn--primary:hover, .cg-btn:hover { background: var(--cg-magenta-dark); color: #fff; transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--cg-violet); }
.cg-btn { display: inline-block; padding: .65rem 1.15rem; text-decoration: none; font-size: .9rem; }

/* Treść wpisów i stron */
.entry-content { font-size: 1.05rem; line-height: 1.75; }
.entry-content h2 { position: relative; padding-left: 1.6rem; margin-top: 2.3rem; color: var(--cg-violet); }
.entry-content h2::before { content: ""; position: absolute; left: 0; top: .42em; width: 10px; height: 10px; background: var(--cg-amber); box-shadow: 4px 4px 0 var(--cg-magenta); }
.entry-content h3 { color: var(--cg-ink); }
.entry-content a { color: var(--cg-magenta-dark); text-decoration-color: var(--cg-amber); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--cg-teal); }
.entry-content blockquote { border-left: 0; margin: 1.6rem 0; padding: 1.1rem 1.3rem 1.1rem 3rem; background: var(--cg-violet); color: #F3EEFF; position: relative; font-style: normal; clip-path: var(--cg-notch); }
.entry-content blockquote::before { content: "▶"; position: absolute; left: 1.1rem; top: 1.05rem; color: var(--cg-amber); }
.entry-content figure figcaption, .entry-content .wp-caption-text { font-size: .85rem; color: var(--cg-muted); background: var(--cg-cream); padding: .45rem .7rem; margin-top: 0; text-align: left; border-bottom: 3px solid var(--cg-teal); }
.entry-content code { background: var(--cg-cream); color: var(--cg-violet); padding: .1em .35em; font-size: .92em; }
.entry-content table { border-collapse: collapse; width: 100%; font-size: .95rem; display: block; overflow-x: auto; }
.entry-content th { background: var(--cg-violet); color: #fff; font-family: var(--cg-head); }
.entry-content th, .entry-content td { border: 1px solid var(--cg-line); padding: .6rem .8rem; text-align: left; }
.entry-content tbody tr:nth-child(even) { background: var(--cg-cream); }
.entry-content ul li::marker { color: var(--cg-magenta); }
.entry-content ol li::marker { color: var(--cg-teal); font-family: var(--cg-head); font-weight: 700; }
.entry-content dl dt { font-family: var(--cg-head); font-weight: 700; color: var(--cg-violet); margin-top: .9rem; }
.entry-content dl dd { margin: .15rem 0 0; padding-left: .9rem; border-left: 3px solid var(--cg-amber); }
.cg-photo-credit { font-size: .82rem; color: var(--cg-muted); }
.author-box__avatar { display: none; }

/* Breadcrumbs */
.breadcrumb { font-size: .85rem; color: var(--cg-muted); }
.breadcrumb a { color: var(--cg-teal); }
.breadcrumb__sep { color: var(--cg-magenta); }

/* Formularz kontaktowy */
.cg-kontakt input, .cg-kontakt textarea { border: 2px solid var(--cg-violet); border-radius: 0; padding: .6rem .75rem; font: inherit; background: #fff; }
.cg-kontakt input:focus, .cg-kontakt textarea:focus { outline: 3px solid var(--cg-amber); outline-offset: 0; }
.cg-kontakt__rodo { font-size: .85rem; color: var(--cg-muted); }
.cg-kontakt__info { padding: .8rem 1rem; background: var(--cg-cream); border-left: 4px solid var(--cg-teal); }

/* Kategorie */
.cg-cat-header { position: relative; padding: 1.5rem 1.6rem 1.4rem; margin-bottom: 1.6rem; background: var(--cg-violet); color: #EDE8FA; clip-path: var(--cg-notch); }
.cg-cat-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: linear-gradient(90deg, var(--cg-amber) 0 25%, var(--cg-magenta) 25% 50%, var(--cg-teal) 50% 75%, var(--cg-cyan) 75%); }
.cg-cat-header__eyebrow { font: 600 .75rem/1 var(--cg-head); letter-spacing: .16em; text-transform: uppercase; color: var(--cg-amber); margin-bottom: .6rem; }
.cg-cat-header .archive-title { color: #fff; margin: 0 0 .6rem; }
.cg-cat-intro p { margin: 0 0 .7rem; color: #DDD6F0; }
.cg-cat-intro p:last-child { margin-bottom: 0; }
.cg-cat-header__count { margin: .9rem 0 .4rem; display: inline-block; padding: .25rem .7rem; background: var(--cg-amber); color: var(--cg-night); font: 700 .8rem/1.3 var(--cg-head); }
.cg-cat-faq { margin-top: 2.4rem; padding: 1.4rem 1.6rem; background: var(--cg-cream); clip-path: var(--cg-notch); }
.cg-cat-faq h2 { margin: 0 0 .6rem; font-size: 1.35rem; color: var(--cg-violet); }
.cg-cat-faq details { border-bottom: 2px dotted var(--cg-line); }
.cg-cat-faq details:last-child { border-bottom: 0; }
.cg-cat-faq summary { cursor: pointer; padding: .8rem 0 .8rem 1.7rem; font-weight: 600; list-style: none; position: relative; }
.cg-cat-faq summary::-webkit-details-marker { display: none; }
.cg-cat-faq summary::before { content: "▶"; position: absolute; left: 0; top: .85rem; color: var(--cg-magenta); font-size: .8rem; transition: transform .15s; }
.cg-cat-faq details[open] summary::before { transform: rotate(90deg); }
.cg-cat-faq details p { margin: 0 0 .9rem 1.7rem; color: var(--cg-muted); }
.cg-cat-empty { padding: 1rem; background: var(--cg-cream); }

/* Oceny wpisów */
.cg-rate { margin: 2.2rem 0 1rem; padding: 1.1rem 1.3rem; background: var(--cg-night); color: #E9E3FA; clip-path: var(--cg-notch); }
.cg-rate__q { margin: 0 0 .4rem; font: 600 1rem/1.4 var(--cg-head); color: var(--cg-amber); text-transform: uppercase; letter-spacing: .06em; }
.cg-rate__stars { display: flex; gap: .2rem; }
.cg-rate__stars button { border: 0; background: none; font-size: 1.7rem; line-height: 1; color: #4A4266; cursor: pointer; padding: 0 .1rem; box-shadow: none; }
.cg-rate__stars button.is-on, .cg-rate__stars button:hover { color: var(--cg-amber); }
.cg-rate.is-done .cg-rate__stars button { cursor: default; }
.cg-rate__sum { margin: .4rem 0 0; font-size: .9rem; color: #C9C1E3; }
.cg-rate__sum b { color: #fff; }

/* Stopka: nocny fiolet z liniami skanowania i paskami u góry */
.site-footer { background: var(--cg-night) repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0 1px, transparent 1px 3px); color: #CFC8E6; position: relative; border-top: 0; }
.site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, var(--cg-amber) 0 25%, var(--cg-magenta) 25% 50%, var(--cg-teal) 50% 75%, var(--cg-cyan) 75%); }
.site-footer a, .footer-brand__name { color: #fff; }
.site-footer a:hover { color: var(--cg-amber); }
.footer-col__title { color: var(--cg-amber); font-family: var(--cg-head); text-transform: uppercase; letter-spacing: .08em; }
.footer-brand__tagline { color: #B9B1D3; }
.footer-bottom { border-top-color: rgba(255, 255, 255, .12); color: #A9A1C4; }
