/* =========================================================
   PK24 Core — Design System
   Edytuj tokeny w :root aby przekolorować cały portal.
   ========================================================= */

:root {
	/* Kolory marki */
	--pk24-forest:       #1e4d3f;   /* butelkowa zieleń */
	--pk24-forest-deep:  #14352c;
	--pk24-forest-soft:  #7fa094;
	--pk24-gold:         #c9a24b;   /* szampański złoty */
	--pk24-gold-soft:    #e2c580;
	--pk24-champagne:    #f0e4c9;
	--pk24-cream:        #fbf7ee;   /* ciepły kremowy */
	--pk24-cream-deep:   #f3ecdc;
	--pk24-bone:         #fdfbf5;   /* złamana biel */
	--pk24-ink:          #1a2b25;
	--pk24-border:       #e6dcc4;
	--pk24-muted:        #5c6b64;

	/* Typografia */
	--pk24-font-display: "Cormorant Garamond", Georgia, serif;
	--pk24-font-sans:    "Jost", "Inter", system-ui, sans-serif;
}

/* Reset lokalny dla treści PK24 */
.pk24-section, .pk24-section * { box-sizing: border-box; }
.pk24-section {
	background: var(--pk24-cream);
	color: var(--pk24-ink);
	font-family: var(--pk24-font-sans);
	padding: 5rem 0;
	-webkit-font-smoothing: antialiased;
}

.pk24-container {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: 1.25rem;
}

.pk24-eyebrow {
	display: inline-block;
	font-size: 0.72rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--pk24-forest);
	font-weight: 500;
}

.pk24-gold-rule {
	display: block;
	width: 3rem;
	height: 2px;
	margin-top: 1rem;
	background: linear-gradient(90deg, var(--pk24-gold), var(--pk24-gold-soft));
	border-radius: 2px;
}

.pk24-h1, .pk24-h2, .pk24-h3 {
	font-family: var(--pk24-font-display);
	color: var(--pk24-forest-deep);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin: 1rem 0 1.5rem;
}
.pk24-h1 { font-size: clamp(2.2rem, 4.5vw, 3.6rem); }
.pk24-h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
.pk24-h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); }

/* Przyciski */
.pk24-btn-primary, .pk24-btn-gold, .pk24-btn-ghost {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	padding: .875rem 1.5rem; border-radius: 999px;
	font-family: var(--pk24-font-sans); font-size: .9rem; font-weight: 500;
	letter-spacing: .02em; text-decoration: none; cursor: pointer;
	transition: all .25s ease; border: 1px solid transparent;
}
.pk24-btn-primary { background: var(--pk24-forest); color: var(--pk24-bone); }
.pk24-btn-primary:hover { background: var(--pk24-forest-deep); transform: translateY(-1px); }
.pk24-btn-gold { background: linear-gradient(135deg, var(--pk24-gold), var(--pk24-gold-soft)); color: var(--pk24-forest-deep); font-weight: 600; }
.pk24-btn-gold:hover { transform: translateY(-1px); filter: brightness(1.03); }
.pk24-btn-ghost { background: transparent; color: var(--pk24-forest-deep); border-color: rgba(30,77,63,.3); }
.pk24-btn-ghost:hover { background: rgba(30,77,63,.06); border-color: var(--pk24-forest); }

/* Karty */
.pk24-card {
	background: var(--pk24-bone);
	border: 1px solid var(--pk24-border);
	border-radius: 1.25rem;
	padding: 1.5rem;
	box-shadow: 0 30px 60px -40px rgba(20,53,44,.3);
}

.pk24-chip {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .35rem .75rem; border-radius: 999px;
	font-size: .78rem; color: var(--pk24-forest-deep);
	background: rgba(30,77,63,.06); border: 1px solid rgba(30,77,63,.12);
}

.pk24-badge-premium {
	display: inline-flex; align-items: center; gap: .35rem;
	font-size: .68rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
	color: var(--pk24-forest-deep); padding: .25rem .6rem; border-radius: 999px;
	background: linear-gradient(135deg, rgba(201,162,75,.3), rgba(201,162,75,.12));
	border: 1px solid rgba(201,162,75,.5);
}

/* Grid pomocniczy */
.pk24-grid { display: grid; gap: 1.5rem; }
.pk24-grid-2 { grid-template-columns: repeat(2, 1fr); }
.pk24-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pk24-grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) {
	.pk24-grid-3, .pk24-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.pk24-grid-2, .pk24-grid-3, .pk24-grid-4 { grid-template-columns: 1fr; }
}
