/* =========================================================
   MODUŁ: Korzyści (grid kart z ikonami)
   ========================================================= */

.sp-kor {
	--spkor-font:        'Inter', sans-serif;
	--spkor-size-label:  13px;
	--spkor-size-tytul:  44px;
	--spkor-weight-tytul: 700;
	--spkor-lh-tytul:    1.2;
	--spkor-size-opis:   17px;
	--spkor-size-karta-tytul: 20px;
	--spkor-size-karta-desc:  15px;
	--spkor-max-width:   1240px;
	--spkor-pad-y:       90px;
	--spkor-pad-x:       32px;
	--spkor-gap-kart:    24px;
	--spkor-gap-naglowek: 60px;
	--spkor-pad-karta:   32px;
	--spkor-radius-karta: 20px;
	--spkor-radius-sec:  0px;
	--spkor-margin-y:    0px;
	--spkor-size-ikona:  56px;
	--spkor-tlo:         #FFFFFF;
	--spkor-label:       #1A2540;
	--spkor-label-dot:   #D4A017;
	--spkor-tytul:       #1A2540;
	--spkor-mark:        #D4A017;
	--spkor-opis:        #5A5A5A;
	--spkor-karta-tlo:   #FFFFFF;
	--spkor-karta-border: #E8DFCB;
	--spkor-ikona-tlo:   #D4A017;
	--spkor-ikona-kolor: #1A2540;
	--spkor-karta-tytul: #1A2540;
	--spkor-karta-desc:  #5A5A5A;
	--spkor-karta-cta:   #D4A017;

	font-family: var(--spkor-font);
	background: var(--spkor-tlo);
	padding: var(--spkor-pad-y) var(--spkor-pad-x);
	border-radius: var(--spkor-radius-sec);
	margin-top: var(--spkor-margin-y);
	margin-bottom: var(--spkor-margin-y);
	color: var(--spkor-opis);
	position: relative;
	overflow: hidden;
}
.sp-kor * { box-sizing: border-box; }

.sp-kor--w-full {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.sp-kor--w-container {
	width: 100%;
	max-width: var(--spkor-max-width);
	margin-left: auto;
	margin-right: auto;
}

.sp-kor__inner {
	max-width: var(--spkor-max-width);
	margin: 0 auto;
}

/* =========================================================
   NAGŁÓWEK
   ========================================================= */
.sp-kor__head {
	text-align: center;
	margin-bottom: var(--spkor-gap-naglowek);
}
.sp-kor__label {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	font-size: var(--spkor-size-label);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--spkor-label);
	margin-bottom: 1.25rem;
}
.sp-kor__label-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--spkor-label-dot);
	box-shadow: 0 0 0 4px rgba(212,160,23,.22);
	animation: sp-kor-dot-pulse 2.4s ease-in-out infinite;
}
@keyframes sp-kor-dot-pulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(212,160,23,.22); transform: scale(1); }
	50%      { box-shadow: 0 0 0 9px rgba(212,160,23,.04); transform: scale(1.15); }
}

.sp-kor__tytul {
	font-size: clamp(28px, 4.6vw, var(--spkor-size-tytul));
	font-weight: var(--spkor-weight-tytul);
	color: var(--spkor-tytul);
	line-height: var(--spkor-lh-tytul);
	letter-spacing: -.01em;
	margin: 0 0 1rem;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.sp-kor--serif .sp-kor__tytul {
	font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
	font-weight: 600;
	letter-spacing: -.005em;
}
.sp-kor__tytul mark {
	background: transparent;
	color: var(--spkor-mark);
	font-weight: inherit;
}
.sp-kor__tytul em {
	font-style: italic;
	font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
	font-weight: 600;
	color: var(--spkor-mark);
}

.sp-kor__opis {
	font-size: var(--spkor-size-opis);
	line-height: 1.65;
	color: var(--spkor-opis);
	margin: 0;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.sp-kor__opis strong { color: var(--spkor-tytul); }

/* =========================================================
   GRID
   ========================================================= */
.sp-kor__grid {
	display: grid;
	gap: var(--spkor-gap-kart);
}
.sp-kor--kol-2 .sp-kor__grid { grid-template-columns: repeat(2, 1fr); }
.sp-kor--kol-3 .sp-kor__grid { grid-template-columns: repeat(3, 1fr); }
.sp-kor--kol-4 .sp-kor__grid { grid-template-columns: repeat(4, 1fr); }

/* =========================================================
   KARTA
   ========================================================= */
.sp-kor__karta {
	background: var(--spkor-karta-tlo);
	border: 1px solid var(--spkor-karta-border);
	border-radius: var(--spkor-radius-karta);
	padding: var(--spkor-pad-karta);
	display: flex;
	gap: 1.25rem;
	flex-direction: column;
	transition: transform .35s cubic-bezier(.4,0,.2,1),
	            box-shadow .35s cubic-bezier(.4,0,.2,1),
	            border-color .35s ease;
	box-shadow: 0 8px 22px rgba(26,37,64,.05);
	position: relative;
	overflow: hidden;
}

/* Pozycja ikony — top (default) lub left (inline) */
.sp-kor--ikona-pos-left .sp-kor__karta {
	flex-direction: row;
	align-items: flex-start;
	gap: 1.15rem;
}

/* =========================================================
   IKONA — różne style
   ========================================================= */
.sp-kor__karta-ikona {
	width: var(--spkor-size-ikona);
	height: var(--spkor-size-ikona);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--spkor-ikona-kolor);
	flex-shrink: 0;
	transition: transform .35s cubic-bezier(.4,0,.2,1),
	            box-shadow .35s ease,
	            background .25s ease;
}
.sp-kor__karta-ikona svg {
	width: calc(var(--spkor-size-ikona) * 0.5);
	height: calc(var(--spkor-size-ikona) * 0.5);
	display: block;
}

/* circle-gold (default) */
.sp-kor--ikona-circle-gold .sp-kor__karta-ikona {
	background: var(--spkor-ikona-tlo);
	color: var(--spkor-ikona-kolor);
	border-radius: 50%;
	box-shadow:
		0 8px 22px rgba(212,160,23,.30),
		inset 0 1px 0 rgba(255,255,255,.25);
}

/* circle-navy */
.sp-kor--ikona-circle-navy .sp-kor__karta-ikona {
	background: var(--spkor-tytul);
	color: var(--spkor-mark);
	border-radius: 50%;
	box-shadow: 0 8px 22px rgba(26,37,64,.25);
}

/* circle-cream */
.sp-kor--ikona-circle-cream .sp-kor__karta-ikona {
	background: #FBF7E8;
	color: var(--spkor-tytul);
	border-radius: 50%;
	border: 1px solid var(--spkor-karta-border);
}

/* square */
.sp-kor--ikona-square .sp-kor__karta-ikona {
	background: var(--spkor-tytul);
	color: var(--spkor-mark);
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(26,37,64,.20);
}

/* square-gold */
.sp-kor--ikona-square-gold .sp-kor__karta-ikona {
	background: var(--spkor-ikona-tlo);
	color: var(--spkor-ikona-kolor);
	border-radius: 14px;
	box-shadow: 0 8px 22px rgba(212,160,23,.30);
}

/* icon-only (sama ikona, bez tła) */
.sp-kor--ikona-icon-only .sp-kor__karta-ikona {
	background: transparent;
	color: var(--spkor-mark);
	box-shadow: none;
	width: auto;
	height: auto;
}
.sp-kor--ikona-icon-only .sp-kor__karta-ikona svg {
	width: var(--spkor-size-ikona);
	height: var(--spkor-size-ikona);
	stroke-width: 1.6;
}

/* =========================================================
   TEKST KARTY
   ========================================================= */
.sp-kor__karta-text {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	flex: 1;
}
.sp-kor__karta-tytul {
	font-size: var(--spkor-size-karta-tytul);
	font-weight: 700;
	color: var(--spkor-karta-tytul);
	margin: 0;
	line-height: 1.3;
	letter-spacing: -.005em;
}
.sp-kor__karta-desc {
	font-size: var(--spkor-size-karta-desc);
	color: var(--spkor-karta-desc);
	line-height: 1.6;
	margin: 0;
}
.sp-kor__karta-desc strong {
	color: var(--spkor-karta-tytul);
	font-weight: 700;
}

/* CTA „Zobacz więcej" w karcie */
.sp-kor__karta-cta {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	color: var(--spkor-karta-cta);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .015em;
	text-decoration: none;
	margin-top: .5rem;
	align-self: flex-start;
	transition: gap .25s cubic-bezier(.4,0,.2,1), color .2s ease;
	border-bottom: none !important;
}
.sp-kor__karta-cta svg {
	width: 14px;
	height: 14px;
	transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.sp-kor__karta-cta:hover {
	gap: .65em;
	color: var(--spkor-karta-tytul);
}
.sp-kor__karta-cta:hover svg { transform: translateX(3px); }

/* =========================================================
   EFEKTY HOVER
   ========================================================= */
.sp-kor--efekt-lift-glow .sp-kor__karta:hover {
	transform: translateY(-6px);
	box-shadow:
		0 20px 50px rgba(26,37,64,.10),
		0 6px 16px rgba(212,160,23,.18);
	border-color: rgba(212,160,23,.30);
}
.sp-kor--efekt-lift .sp-kor__karta:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 50px rgba(26,37,64,.12);
}
.sp-kor--efekt-glow .sp-kor__karta:hover {
	box-shadow:
		0 0 0 1px var(--spkor-mark),
		0 18px 40px rgba(212,160,23,.25);
}
.sp-kor--efekt-icon-rotate .sp-kor__karta:hover .sp-kor__karta-ikona {
	transform: rotate(-8deg) scale(1.08);
}
.sp-kor--efekt-border .sp-kor__karta {
	border-width: 2px;
}
.sp-kor--efekt-border .sp-kor__karta:hover {
	border-color: var(--spkor-mark);
	box-shadow: 0 12px 30px rgba(212,160,23,.12);
}

/* Wspólny hover-icon (lekki scale) — gdy efekt karty nie jest icon-rotate */
.sp-kor:not(.sp-kor--efekt-icon-rotate) .sp-kor__karta:hover .sp-kor__karta-ikona {
	transform: scale(1.08);
}
.sp-kor:not(.sp-kor--efekt-icon-rotate) .sp-kor--ikona-circle-gold .sp-kor__karta:hover .sp-kor__karta-ikona {
	box-shadow:
		0 12px 28px rgba(212,160,23,.40),
		inset 0 1px 0 rgba(255,255,255,.30);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 980px) {
	.sp-kor--kol-4 .sp-kor__grid { grid-template-columns: repeat(2, 1fr); }
	.sp-kor--kol-3 .sp-kor__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.sp-kor {
		--spkor-pad-y: 55px;
		--spkor-pad-x: 20px;
		--spkor-pad-karta: 22px;
		--spkor-gap-naglowek: 40px;
		--spkor-size-ikona: 48px;
	}
	.sp-kor--kol-2 .sp-kor__grid,
	.sp-kor--kol-3 .sp-kor__grid,
	.sp-kor--kol-4 .sp-kor__grid {
		grid-template-columns: 1fr;
	}
	.sp-kor__karta-tytul { font-size: 18px; }
}
