/**
 * INM ACF Blocks — style bloków
 *
 * WAŻNE: Wszystkie wartości kolorów, spacingu, border-radius i typografii
 * pobierane z INM Design System (inm-design-tokens.css).
 * Zależność: wp_enqueue_style( ..., ['inm-design-tokens'] ).
 *
 * @version 2.1.0
 */

/* ==========================================================================
   Karta Miejsca — .inm-block-karta-miejsca
   Desktop: [obraz 36%] [body flex:1] [atrybuty auto]
   Mobile:  obraz u góry → body → atrybuty (kolumna)
   ========================================================================== */

.inm-block-karta-miejsca {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	overflow: hidden;
	font-family: var(--inm-font, 'Poppins', sans-serif);
}

/* --- Miniaturka (lewa kolumna) --- */

.inm-block-karta-miejsca__image {
	flex: 0 0 36%;
	margin: calc(var(--inm-card-padding, 24px) * -1);
	margin-right: 0;
	overflow: hidden;
	line-height: 0;
	align-self: stretch;
	display: flex;
	min-height: 0;
}

.inm-block-karta-miejsca__image a {
	display: flex;
	flex: 1;
	min-height: 0;
}

.inm-block-karta-miejsca__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* --- Body (środkowa kolumna) --- */

.inm-block-karta-miejsca__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	min-width: 0;
	padding-left: var(--inm-card-padding, 24px);
}

/* --- Tytuł --- */

.inm-block-karta-miejsca__title {
	margin: 0;
	font-family: var(--inm-font, 'Poppins', sans-serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--inm-text-dark, #333);
}

.inm-block-karta-miejsca__title a {
	color: inherit;
	text-decoration: none;
}

.inm-block-karta-miejsca__title a:hover {
	color: var(--inm-green-dark, #5a9e2e);
}

/* --- Kategoria (typ miejsca) --- */

.inm-block-karta-miejsca__tags--category {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* --- Meta (adres) --- */

.inm-block-karta-miejsca__meta {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	color: var(--inm-text-light, #555);
}

.inm-block-karta-miejsca__meta-icon {
	flex-shrink: 0;
	font-size: 16px;
	line-height: 1;
}

/* --- CTA --- */

.inm-block-karta-miejsca__cta.inm-btn {
	align-self: flex-start;
	margin-top: 4px;
	color: #ffffff;
}

.inm-block-karta-miejsca__cta.inm-btn:hover {
	color: #ffffff;
}

/* --- Atrybuty (trzecia kolumna, odcięta wizualnie) --- */

.inm-block-karta-miejsca__attrs {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-self: stretch;
	padding-left: var(--inm-card-padding, 24px);
	margin-left: var(--inm-card-padding, 24px);
	border-left: 1px solid var(--inm-green-line, rgba(114, 207, 48, 0.2));
	justify-content: center;
	max-width: 180px;
}

.inm-block-karta-miejsca__tag--attr {
	display: block;
	font-family: var(--inm-font, 'Poppins', sans-serif);
	font-size: 11px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	padding: 3px 10px;
	border-radius: 20px;
	background: var(--inm-bg-muted, #e8e8e8);
	color: var(--inm-text-light, #555);
	cursor: default;
	text-align: center;
}

/* ==========================================================================
   Placeholder (edytor — brak wybranego miejsca)
   ========================================================================== */

.inm-block-karta-miejsca--placeholder {
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
   Responsywność — na mobile karta wraca do pionu
   ========================================================================== */

@media (max-width: 768px) {
	.inm-block-karta-miejsca {
		flex-direction: column;
	}

	.inm-block-karta-miejsca__image {
		flex: none;
		position: relative;
		height: 200px;
		margin: calc(var(--inm-card-padding-sm, 16px) * -1);
		margin-bottom: 0;
	}

	.inm-block-karta-miejsca__body {
		padding-left: 0;
		padding-top: 16px;
	}

	.inm-block-karta-miejsca__title {
		font-size: 20px;
	}

	.inm-block-karta-miejsca__attrs {
		flex-direction: row;
		flex-wrap: wrap;
		max-width: none;
		border-left: none;
		margin-left: 0;
		padding-left: 0;
		padding-top: 12px;
		margin-top: 4px;
		border-top: 1px solid var(--inm-green-line, rgba(114, 207, 48, 0.2));
	}
}
