/*
 * Kontak Kami - info card + map. Page-specific (loaded only on that page,
 * see functions.php). Classes prefixed .lph-contact- so ".lph-contact-card"
 * can't collide with the generic ".lph-card" used elsewhere on the site.
 */
.lph-contact-wrapper { display: flex; justify-content: center; width: 100%; padding: 20px 0; box-sizing: border-box; }

.lph-contact-card {
	display: flex;
	background: #fff;
	width: 100%;
	max-width: 1100px;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 15px 35px rgba(0, 0, 0, .08);
	border: 1px solid rgba(0, 0, 0, .02);
}

.lph-contact-info { flex: 1; padding: 50px; display: flex; flex-direction: column; justify-content: center; position: relative; }
.lph-contact-info::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: linear-gradient(to bottom, #2160b6, #2d8bf0); }

.lph-contact-item { display: flex; align-items: flex-start; margin-bottom: 25px; transition: transform .2s ease; }
.lph-contact-item:last-child { margin-bottom: 0; }
.lph-contact-item:hover { transform: translateX(5px); }

.lph-contact-icon { flex-shrink: 0; width: 44px; height: 44px; background: #f0f7ff; color: #2160b6; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-right: 20px; }
.lph-contact-icon svg { width: 22px; height: 22px; stroke-width: 2; }

.lph-contact-text { display: flex; flex-direction: column; justify-content: center; min-height: 44px; }
.lph-contact-label { font-size: 12px; text-transform: uppercase; letter-spacing: .8px; color: #a0aec0; font-weight: 700; margin-bottom: 4px; }
.lph-contact-value { font-size: 16px; color: #2d3748; font-weight: 600; line-height: 1.5; text-decoration: none; }
.lph-contact-value:hover { color: #2160b6; }

.lph-contact-social { margin-top: 30px; padding-top: 25px; border-top: 1px solid #edf2f7; display: flex; gap: 15px; }
.lph-contact-soc { width: 40px; height: 40px; border-radius: 50%; background: #fff; border: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: center; color: #4a5568; transition: all .3s ease; text-decoration: none; }
.lph-contact-soc svg { width: 18px; height: 18px; fill: currentColor; }
.lph-contact-soc:hover { background: #2160b6; color: #fff; border-color: #2160b6; transform: translateY(-3px); box-shadow: 0 5px 15px rgba(33, 96, 182, .3); }

.lph-contact-map { flex: 1; position: relative; min-height: 400px; }
.lph-contact-map iframe { width: 100%; height: 100%; border: 0; position: absolute; inset: 0; }

@media (max-width: 900px) {
	.lph-contact-card { flex-direction: column; }
	.lph-contact-info { padding: 30px 30px 40px; }
	.lph-contact-map { min-height: 300px; }
}
