/* =========================================================================
   Codetech — globalne style motywu.
   Zawiera: reset, typografię (Satoshi), dostępność (focus, skip link), keyframes,
   reguły :hover (zastępujące niestandardowe atrybuty style-hover / style-focus
   z eksportu) oraz stany kart/portfolio. Style komponentów są w components.css
   i plikach widoków — w szablonach nie ma stylów inline.
   ========================================================================= */

/* ---------- Reset / baza ---------- */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	font-family: 'Satoshi', system-ui, -apple-system, sans-serif;
	background: #fff;
	color: #0B1230;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
::selection { background: #C00018; color: #fff; }
a { color: inherit; }

/* ---------- Dostępność: widoczny focus i skip link ---------- */
:focus-visible {
	outline: 2px solid #C00018;
	outline-offset: 3px;
	border-radius: 2px;
}.cdt-footer :focus-visible,
.cdt-cta-dark :focus-visible,
.home-cta :focus-visible,
.wyc-final :focus-visible { outline-color: #fff; }

.cdt-skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 10000;
	background: #fff; color: #0B1230; padding: 13px 20px;
	border-radius: 0 0 12px 0; font-weight: 700; font-size: 15px; text-decoration: none;
	box-shadow: 0 12px 30px -12px rgba(11,18,48,.5);
}
.cdt-skip-link:focus { left: 0; }.cdt-skip-target { position: absolute; width: 0; height: 0; overflow: hidden; }
.cdt-skip-target:focus { outline: none; }
img { max-width: 100%; }
input, select, textarea { font-family: inherit; }
html { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* ---------- Lenis (smooth scroll) ---------- */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

/* ---------- Siatka usług / realizacji (strona główna) ---------- */
.svc-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1024px) { .svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .svc-grid { grid-template-columns: 1fr; } }

/* ---------- Keyframes ---------- */
@keyframes cueMove { 0% { transform: translateY(0); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(14px); opacity: 0; } }
@keyframes glowPulse { 0%, 100% { opacity: .55; } 50% { opacity: .85; } }
@keyframes ctaFlow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes blobFloat { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(0, -26px) scale(1.06); } }

/* ---------- Powracający odwiedzający (strona główna): finalny stan Hero bez migotania ---------- */
html[data-intro-seen] [data-nav] { opacity: 1 !important; }
html[data-intro-seen] [data-nav-logo] { opacity: 1 !important; }
html[data-intro-seen] [data-nav-links] a { opacity: 1 !important; transform: none !important; }
html[data-intro-seen] [data-nav-cta] { opacity: 1 !important; transform: none !important; }
html[data-intro-seen] [data-hero] h1 { opacity: 1 !important; }
html[data-intro-seen] [data-hero-in] { opacity: 1 !important; filter: none !important; }
html[data-intro-seen] [data-glow-wrap] { opacity: 1 !important; }
html[data-intro-seen] [data-fly] { display: none !important; }
html[data-intro-seen] [data-loader] { display: flex !important; }
html[data-intro-seen] [data-scroll-progress] { opacity: 1 !important; }

/* ---------- Portfolio (karty realizacji) — bazowe style .pcard w components.css ---------- */
.pcard:hover { transform: translateY(-6px); border-color: #C00018 !important; box-shadow: 0 24px 50px -24px rgba(11,18,48,.32) !important; }
.pcard:hover .pcard-img { transform: scale(1.06); }
.pcard:hover .pcard-arrow { transform: translateX(4px); }

/* ---------- Linki nawigacji / stopki (hover) ---------- */
.cdt-navlink { transition: color .25s ease; }
.cdt-navlink:hover { color: #C00018; }
.cdt-footer-link { transition: color .2s ease; }
.cdt-footer-link:hover { color: #fff; }

/* ---------- Responsywność stopki (pozostałe siatki mają reguły w home/pages/single.css) ---------- */
@media (max-width: 1024px) {
	.cdt-footer__grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 640px) {
	.cdt-footer__grid { grid-template-columns: 1fr !important; }
}

/* Preferencje ograniczenia ruchu. */
@media (prefers-reduced-motion: reduce) {
	[data-glow-wrap] div, .pcard, .pcard-img, .cdt-btn { animation: none !important; }
}
