/* ==========================================================================
   MK Produkt — bloki ACF karty produktu (template-parts/blocks/mkp-*.php)
   Paleta: #E0D9D1 (beż), #A87D5F (brąz), #915F6C (mauve)
   Fonty dziedziczone z motywu: nagłówki Cinzel, treść Cormorant Garamond.
   ========================================================================== */

.mkp {
	--mkp-beige: #e0d9d1;
	--mkp-brown: #a87d5f;
	--mkp-mauve: #915f6c;
	--mkp-text: #32271a;
	--mkp-muted: #6b625a;
	--mkp-soft: #faf8f5;
	--mkp-bg: #ffffff;
	--mkp-surface: var(--mkp-soft);

	box-sizing: border-box;
	padding: 72px 20px;
	background: var(--mkp-bg);
	border-top: 1px solid var(--mkp-beige);
	color: var(--mkp-text);
	font-size: 1.1rem;
	line-height: 1.6;
}

.mkp *,
.mkp *::before,
.mkp *::after {
	box-sizing: border-box;
}

/* Sekcje „miękkie" — tło beżowe, karty białe. */
.mkp-case,
.mkp-credentials,
.mkp-pricing,
.mkp-cta {
	--mkp-bg: var(--mkp-soft);
	--mkp-surface: #ffffff;
}

.mkp-hero {
	padding-top: 96px;
	padding-bottom: 96px;
	border-top: 0;
}

.mkp-container {
	max-width: 960px;
	margin: 0 auto;
}

.mkp-center {
	text-align: center;
}

.mkp p {
	margin: 0 0 1rem;
}

.mkp p:last-child {
	margin-bottom: 0;
}

/* ----- Typografia ----- */

.mkp h2,
.mkp h3,
.mkp h4 {
	color: var(--mkp-text);
	margin: 0;
	line-height: 1.25;
}

.mkp-title {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	text-align: center;
	margin-bottom: 1.25rem !important;
}

.mkp-subtitle {
	max-width: 760px;
	margin: 0 auto 3rem !important;
	text-align: center;
	color: var(--mkp-muted);
	font-size: 1.15rem;
}

.mkp-subtitle strong {
	color: var(--mkp-brown);
}

.mkp-eyebrow {
	color: var(--mkp-muted);
	font-size: 1.05rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 1.75rem !important;
}

.mkp-lead {
	max-width: 760px;
	margin: 0 auto 2rem !important;
	font-size: 1.25rem;
	color: var(--mkp-text);
}

.mkp-strong {
	font-weight: 700;
	color: var(--mkp-text);
}

.mkp-muted {
	color: var(--mkp-muted);
	font-size: 0.98rem;
	margin-top: 0.5rem !important;
}

.mkp-accent {
	font-weight: 700;
	color: var(--mkp-brown);
}

.mkp-gap-top {
	margin-top: 3.5rem !important;
	margin-bottom: 1.5rem !important;
}

.mkp-narrow {
	max-width: 680px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.mkp-label {
	font-size: 0.95rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mkp-brown) !important;
	margin-bottom: 1.1rem !important;
}

.mkp-label--muted {
	color: var(--mkp-muted) !important;
	font-size: 0.85rem !important;
}

/* ----- Hero ----- */

.mkp-hero__title {
	max-width: 900px;
	margin: 0 auto 1.25rem !important;
	font-size: clamp(1.9rem, 4.2vw, 2.9rem);
	line-height: 1.2 !important;
}

.mkp-hero__author {
	color: var(--mkp-muted);
	font-style: italic;
	margin-bottom: 2rem !important;
}

.mkp-hero__badge {
	font-size: 1rem;
	color: var(--mkp-muted);
	margin-top: 0.5rem !important;
}

.mkp-sep {
	margin: 0 0.6em;
	color: var(--mkp-beige);
}

.mkp-hero__note {
	max-width: 780px;
	margin: 1.25rem auto 0;
	font-size: 0.98rem;
	color: var(--mkp-muted);
}

/* ----- Przyciski ----- */

.mkp-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: 0 0 1.5rem !important;
}

.mkp .mkp-btn {
	display: inline-block;
	padding: 16px 34px;
	background: var(--mkp-brown);
	border: 1px solid var(--mkp-brown);
	border-radius: 0.375rem;
	color: #fff;
	font-family: 'Cinzel', Georgia, serif;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.mkp .mkp-btn:hover,
.mkp .mkp-btn:focus-visible {
	background: var(--mkp-mauve);
	border-color: var(--mkp-mauve);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(168, 125, 95, 0.2);
}

.mkp .mkp-btn--outline {
	background: transparent;
	color: var(--mkp-brown);
}

/* ----- Karty, panele, boksy ----- */

.mkp-stack {
	display: grid;
	gap: 20px;
}

.mkp-grid {
	display: grid;
	gap: 24px;
	align-items: start;
}

.mkp-card {
	height: 100%;
	padding: 32px 30px;
	background: var(--mkp-surface);
	border-radius: 4px;
}

.mkp-card--accent {
	border-left: 4px solid var(--mkp-brown);
}

.mkp-stack .mkp-card {
	height: auto;
}

.mkp-card__icon {
	font-size: 2.3rem;
	line-height: 1;
	margin-bottom: 1rem;
}

.mkp-card__title {
	font-size: 1.2rem !important;
	margin-bottom: 0.9rem !important;
}

.mkp-panel {
	padding: 30px;
	background: var(--mkp-surface);
	border: 1px solid var(--mkp-beige);
	border-radius: 4px;
}

.mkp-box {
	margin-top: 28px;
	padding: 34px 36px;
	background: var(--mkp-surface);
	border-left: 4px solid var(--mkp-brown);
	border-radius: 4px;
}

.mkp-box--white {
	background: #fff;
}

.mkp-box__title {
	font-size: 1.3rem !important;
	margin-bottom: 1rem !important;
}

/* ----- Listy ----- */

.mkp-list,
.mkp-rich ul {
	list-style: none;
	margin: 0.75rem 0 1rem;
	padding: 0;
}

.mkp-list li,
.mkp-rich li {
	position: relative;
	margin: 0 0 0.65rem;
	padding-left: 1.6em;
}

.mkp-list li::before,
.mkp-rich li::before {
	content: "•";
	position: absolute;
	left: 0.2em;
	color: var(--mkp-brown);
	font-weight: 700;
}

.mkp-rich--arrows li::before {
	content: "→";
	left: 0;
}

.mkp-list--check li::before {
	content: "✓";
	left: 0;
	font-size: 1.1em;
}

.mkp-rich ol {
	margin: 0.75rem 0 1rem;
	padding-left: 1.4em;
}

.mkp-rich ol li {
	padding-left: 0.2em;
}

.mkp-rich ol li::before {
	content: none;
}

.mkp-rich strong {
	color: var(--mkp-text);
}

.mkp-rich em {
	color: var(--mkp-muted);
}

.mkp-rich > :last-child {
	margin-bottom: 0;
}

.mkp-closing {
	max-width: 720px;
	margin: 2.5rem auto 0 !important;
	text-align: center;
	font-style: italic;
	color: var(--mkp-muted);
}

/* ----- Cennik ----- */

.mkp-pricing__box {
	max-width: 700px;
	margin: 2.5rem auto 0;
	padding: 48px 40px;
	background: #fff;
	border: 2px solid var(--mkp-brown);
	border-radius: 4px;
	text-align: center;
}

.mkp-pricing__package {
	font-size: 1.3rem !important;
	color: var(--mkp-brown) !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mkp-pricing__price {
	margin: 1.1rem 0 0.25rem !important;
	font-family: 'Cinzel', Georgia, serif;
	font-size: clamp(1.6rem, 3.5vw, 2.2rem);
	line-height: 1.2;
}

.mkp-pricing__includes {
	margin: 2rem 0;
	padding: 28px 30px;
	background: var(--mkp-soft);
	border-radius: 4px;
	text-align: left;
}

.mkp-pricing__includes-title {
	font-size: 1.05rem !important;
	margin-bottom: 0.75rem !important;
}

.mkp-pricing__avail {
	margin-bottom: 1.5rem;
	padding: 20px;
	background: var(--mkp-beige);
	border-radius: 4px;
	font-size: 1rem;
}

.mkp-pricing__avail p {
	margin-bottom: 0.4rem;
}

.mkp-pricing__box .mkp-actions {
	margin-bottom: 0 !important;
}

/* ----- Edytor: pusty blok ----- */

.mkp-placeholder {
	padding: 24px;
	border: 1px dashed #a87d5f;
	border-radius: 4px;
	background: #faf8f5;
	color: #32271a;
	font-size: 15px;
	line-height: 1.5;
}

/* ----- Responsywność ----- */

@media (min-width: 769px) {
	.mkp-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mkp-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.mkp {
		padding: 48px 16px;
		font-size: 1.05rem;
	}

	.mkp-hero {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.mkp-box,
	.mkp-card,
	.mkp-panel {
		padding: 24px 20px;
	}

	.mkp-pricing__box {
		padding: 32px 20px;
	}

	.mkp .mkp-btn {
		width: 100%;
		padding: 15px 22px;
	}
}

/* ----- Wewnątrz zakładki „Opis" WooCommerce ----- */

.woocommerce div.product .woocommerce-tabs .panel:has(.mkp) {
	padding: 0;
	overflow: hidden;
}

.woocommerce div.product .woocommerce-tabs .panel:has(.mkp) > h2:first-child {
	display: none;
}
