/*!
Theme Name: HDS
Theme URI: https://hdsolutions.pl/
Author: HD Solutions
Author URI: https://hdsolutions.pl/
Description: Lekki, ręcznie kodowany motyw HD Solutions — produkcja short-form video + Meta Ads. Bez page-buildera, maksymalna wydajność.
Version: 1.0.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: hds
Tags: custom-logo, custom-menu, featured-images, translation-ready

HDS is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
*/

/*--------------------------------------------------------------
# Design tokens
--------------------------------------------------------------*/
:root {
	/* Kolory marki */
	--g1: #9e7aff;            /* gradient start — fiolet */
	--g2: #fe8bbb;            /* gradient end — róż */
	--brand-gradient: linear-gradient(160deg, var(--g1), var(--g2));

	--bg: #0d0b1a;            /* główne tło (dark) */
	--bg-elev: #151227;       /* karty/sekcje wyniesione */
	--bg-elev-2: #1c1835;     /* hover/zagłębienia */
	--line: rgba(255,255,255,.08);
	--line-strong: rgba(255,255,255,.16);

	--text: #f0ecff;          /* tekst główny */
	--text-muted: #b9b2d6;    /* tekst drugorzędny */
	--text-dim: #8d86a8;      /* podpisy */
	--white: #ffffff;

	/* Aliasy tokenów dla natywnych podstron (.hds-contact, .hds-real) */
	--card: #151227;                 /* tło kart (= --bg-elev) */
	--brd: rgba(158,122,255,0.12);   /* obramowanie subtelne (fiolet) */
	--brd-h: rgba(158,122,255,0.26); /* obramowanie hover */
	--t1: #f0ecff;                   /* tekst główny */
	--t2: rgba(240,236,255,0.55);    /* tekst drugorzędny */
	--t3: rgba(240,236,255,0.35);    /* podpisy */

	/* Typografia */
	--font-head: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	--fs-900: clamp(2.6rem, 6vw + 1rem, 4.6rem);   /* H1 hero */
	--fs-800: clamp(2rem, 4vw + 1rem, 3.2rem);     /* H2 sekcji */
	--fs-700: clamp(1.5rem, 2vw + 1rem, 2.1rem);   /* H3 */
	--fs-600: 1.25rem;
	--fs-500: 1.0625rem;
	--fs-400: 1rem;
	--fs-300: .9rem;
	--fs-200: .8rem;

	/* Spacing */
	--sp-1: .25rem;  --sp-2: .5rem;   --sp-3: .75rem;  --sp-4: 1rem;
	--sp-5: 1.5rem;  --sp-6: 2rem;    --sp-8: 3rem;    --sp-10: 4rem;
	--sp-12: 6rem;   --sp-16: 8rem;

	/* Layout */
	--wrap: 1180px;
	--wrap-narrow: 760px;
	--radius: 18px;
	--radius-sm: 12px;
	--radius-lg: 28px;
	--shadow: 0 20px 50px -20px rgba(0,0,0,.7);
	--shadow-glow: 0 0 60px -10px rgba(158,122,255,.35);

	--header-h: 76px;
	--ease: cubic-bezier(.22,.61,.36,1);

	/* Przyciski — jeden system dla całego serwisu */
	--btn-radius: 12px;
	--btn-radius-sm: 10px;
	--btn-h: 48px;
	--btn-h-sm: 44px;
	--btn-pad: .6rem 1.25rem;
	--btn-pad-sm: .5rem 1rem;
	--btn-fs: .9375rem;
	--btn-ink: #170d28;   /* atrament na gradiencie — 8,4:1, biały dawał 2,2:1 */
	--tap: 44px;          /* minimalny cel dotykowy (WCAG 2.5.8) */
}

/*--------------------------------------------------------------
# Reset / base
--------------------------------------------------------------*/
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	font-family: var(--font-body);
	font-size: var(--fs-400);
	line-height: 1.65;
	color: var(--text);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

img, picture, video, svg { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
	font-family: var(--font-head);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
	text-wrap: balance;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--white); }

ul { list-style: none; padding: 0; }

button, input, textarea, select { font: inherit; color: inherit; }

:focus-visible { outline: 2px solid var(--g1); outline-offset: 3px; border-radius: 4px; }

.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
