/* ホテル情報ページ。区切り罫線は引かず余白だけで分ける（アーカイブと統一）。 */

/* 「ホテルの魅力」見出し（attractions 直前の h2.alignfull）はページ先頭セクションなので、
   タイトル直下の区切り罫線（::before）と上余白の二重取りを無くす（h1 下の罫線を消す）。 */
h2.wp-block-heading.alignfull:has(+ .attractions) {
	margin-top: 0;
	padding-top: 0;
}
h2.wp-block-heading.alignfull:has(+ .attractions)::before {
	content: none;
}

/* 魅力（attractions）: 連番＋見出し＋本文を左、画像を右のグリッド。 */
.attractions {
	display: flex;
	flex-direction: column;
	max-width: 1080px;
	margin: 0 auto;
}
.info-attraction {
	display: grid;
	grid-template-columns: 48px minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 8px 32px;
	padding: 32px 0;
	align-items: start;
}
.info-attraction .number {
	grid-column: 1;
	padding-top: 4px;
	margin: 0;
	font-family: var(--wp--custom--brand-ui, var(--wp--custom--brand-body));
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--aureate, #b89766);
}
.info-attraction__body {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	min-width: 0;
}
/* 観光セクションの見出し・本文。blocks.css の :is(.entry-content,…) h3.wp-block-heading
   （margin-block:34px 14px、詳細度 0,2,1）に勝つよう、.info-attraction__body＋型別で
   詳細度を上げて margin-block を 0 にする（縦リズムは __body の gap が担う）。
   ※ 以前 .info-section を冠していたが祖先に存在せずマッチしなかったため除去。 */
.info-attraction__body h3.wp-block-heading {
	margin-block: 0;
	font-family: var(--wp--custom--brand-heading);
	font-weight: 700;
	font-size: clamp(17px, 1.7vw, 19px);
	line-height: 1.4;
	letter-spacing: 0.04em;
	color: var(--text, #111);
}
/* 先頭要素は上余白なし・末尾要素は下余白なし。型別セレクタで blocks.css に勝たせる。 */
.info-attraction__body > h3.wp-block-heading:first-child,
.info-attraction__body > p.wp-block-paragraph:first-child,
.info-attraction__body > :first-child { margin-block-start: 0; }
.info-attraction__body > h3.wp-block-heading:last-child,
.info-attraction__body > p.wp-block-paragraph:last-child,
.info-attraction__body > :last-child { margin-block-end: 0; }
.info-attraction__body p {
	margin: 0;
	font-family: var(--wp--custom--brand-ui, var(--wp--custom--brand-body));
	font-size: 14px;
	line-height: 1.85;
	letter-spacing: 0;
	color: #333;
}
.info-attraction__body .wp-block-embed {
	margin: 0;
	width: 100%;
}
.info-attraction__body .wp-block-buttons {
	margin: 0;
	gap: 10px;
}
/* 魅力の誘導リンクはベタ塗りではなく枠線ボタンにする（inset 罫線で塗り替え時のガタつきを防ぐ）。 */
.info-attraction__body .wp-block-button__link {
	background: transparent;
	color: var(--aureate, #b89766);
	box-shadow: inset 0 0 0 1px var(--aureate, #b89766);
}
.info-attraction__body .wp-block-button__link:hover {
	background: var(--aureate, #b89766);
	color: var(--wp--preset--color--base, #fff);
}
/* 右列のメディア（画像＝attr-img / 動画＝local-video）。横幅は 360px に固定し右寄せ。 */
.info-attraction .attr-img,
.info-attraction .local-video--inline {
	grid-column: 3;
	margin: 0;
	width: 360px;
	max-width: 100%;
	justify-self: end;
}
.info-attraction .attr-img img,
.info-attraction .local-video--inline video {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 900px) {
	.info-attraction {
		grid-template-columns: 48px 1fr;
	}
	.info-attraction .attr-img,
	.info-attraction .local-video--inline {
		grid-column: 2;
		margin-top: 12px;
		width: 360px;
		max-width: 100%;
		justify-self: stretch;
	}
}
@media (max-width: 700px) {
	.info-attraction {
		grid-template-columns: 1fr;
		padding: 22px 0;
		gap: 6px;
	}
	.info-attraction .number,
	.info-attraction__body,
	.info-attraction .attr-img,
	.info-attraction .local-video--inline {
		grid-column: 1;
	}
	.info-attraction .attr-img,
	.info-attraction .local-video--inline {
		max-width: 320px;
		justify-self: center;
		margin: 14px auto 0;
		width: 100%;
	}
}

/* ホテル情報（hilton/hotel-info ブロック）。住所・設備概要・チェックイン/アウト・駐車場・その他を
   見出し列＋内容列の定義リストで並べる。 */
.hotel-info {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--wp--preset--color--line, #ececec);
	max-width: 880px;
	margin: 0 auto;
}
.hotel-info > div {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 16px 32px;
	padding: 18px 0;
	border-bottom: 1px solid var(--wp--preset--color--line, #ececec);
	align-items: baseline;
}
.hotel-info dt {
	margin: 0;
	font-family: var(--wp--custom--brand-ui, var(--wp--custom--brand-body));
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--aureate, #b89766);
}
.hotel-info dd {
	margin: 0;
	font-family: var(--wp--custom--brand-ui, var(--wp--custom--brand-body));
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0;
	color: var(--text, #111);
}
.hotel-info dd a {
	color: var(--aureate, #b89766);
	border-bottom: 1px solid currentColor;
	text-decoration: none;
}
@media (max-width: 600px) {
	.hotel-info > div {
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 14px 0;
	}
}
