@charset "utf-8";
/*
 * 駐車場ページ ─ 一覧（駐車場・駐輪場・公共交通機関）
 *
 * 対応する PHP：partials/parking-list.php / bicycle-parking-list.php / public.transport-list.php
 * セレクタは必ず .pl- で始めること。
 */

/* ==============================
   共通
   ============================== */

.pl-list {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 0 0;
	box-sizing: border-box;
}

.pl-list__items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* 地図のピンからスクロールしてきたとき、固定ヘッダーに隠れないようにする */
.pl-item,
.pl-list__item {
	scroll-margin-top: 200px;
}

/* 地図のピンから移動してきた項目を一瞬強調する */
.pl-item.is-highlight,
.pl-list__item.is-highlight {
	border-color: #0b53a4;
	box-shadow: 0 0 0 3px rgba(11, 83, 164, 0.25);
}


/* ==============================
   駐車場・公共交通機関
   ============================== */

.pl-item {
	margin: 0;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.3s, box-shadow 0.3s;
}

/* 名前 */
.pl-item__name {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
	color: #333;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
}

/* 番号 */
.pl-item__number {
	display: inline-block;
	min-width: 2.2em;
	margin-right: 0.5em;
	font-size: 20px;
	font-weight: bold;
	flex-shrink: 0;
}

/* 詳細部分 */
.pl-item__detail {
	padding: 12px 20px 20px;
	font-size: 16px;
	line-height: 1.7;
}

.pl-item__detail p {
	margin: 8px 0;
}

/* Googleマップ・Webサイトへのリンク */
.pl-item__map-link,
.pl-list__map-link {
	display: inline-block;
	margin-top: 8px;
	color: #0b53a4;
	font-weight: bold;
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* ==============================
   駐輪場
   ============================== */

.pl-list__item {
	margin: 0;
	border: 1px solid #ddd;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.pl-list__name {
	margin: 0;
	padding: 16px 20px;
	border-bottom: 1px solid #eee;
	color: #333;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
}

.pl-list__info {
	padding: 18px 20px 20px;
}

.pl-list__row {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin: 0 0 15px;
}

.pl-list__row:last-child {
	margin-bottom: 0;
}

.pl-list__label {
	min-width: 80px;
	padding: 4px 10px;
	border-radius: 4px;
	background-color: #f2f2f2;
	font-weight: bold;
	text-align: center;
	box-sizing: border-box;
}

.pl-list__text {
	margin: 0;
	padding: 4px 0;
	line-height: 1.7;
}

.pl-list__row .pl-list__map-link {
	margin-top: 0;
}


/* ==============================
   スマートフォン
   ============================== */

@media (max-width: 767px) {

	.pl-list {
		padding-top: 28px;
	}

	.pl-list__items {
		gap: 10px;
	}

	.pl-item,
	.pl-list__item {
		scroll-margin-top: 100px;
	}

	.pl-item__name,
	.pl-list__name {
		padding: 14px 15px;
		font-size: 16px;
	}

	.pl-item__number {
		min-width: 2em;
		margin-right: 0.4em;
		font-size: 18px;
	}

	.pl-item__detail {
		padding: 8px 15px 16px;
		font-size: 15px;
	}

	.pl-list__info {
		padding: 15px;
	}

	.pl-list__row {
		gap: 10px;
		margin-bottom: 12px;
	}

	.pl-list__label {
		min-width: 70px;
		font-size: 14px;
	}

	.pl-list__text {
		font-size: 14px;
	}

	.pl-item__map-link,
	.pl-list__map-link {
		font-size: 14px;
	}
}
