/* ===========================================================
   店舗専用ページ
   =========================================================== */

.standard-shop-page {
	background: var(--standard-sand);
	color: var(--standard-text);
	min-height: 100vh;
}

.standard-shop-header {
	position: relative;
	padding-top: 52%;
	background-size: cover;
	background-position: center;
	background-color: var(--standard-teal-deep);
}

.standard-shop-header__back {
	position: absolute;
	top: max(14px, env(safe-area-inset-top));
	left: 16px;
	z-index: 2;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: rgba(11,36,44,.55);
	padding: 8px 16px;
	border-radius: 999px;
	backdrop-filter: blur(4px);
}

.standard-shop-header__overlay {
	position: relative;
	z-index: 1;
	padding: 24px 24px 28px;
	background: linear-gradient(to top, rgba(9,24,30,.94) 55%, rgba(9,24,30,.1) 100%);
	text-align: center;
}

.standard-shop-header__icon {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #fff;
	background: #fff;
	margin-bottom: 12px;
}

.standard-shop-header__name {
	margin: 0 0 8px;
	font-family: var(--font-jp);
	font-size: 22px;
	font-weight: 700;
	color: #fff;
}

.standard-shop-header__bio {
	margin: 0 auto 8px;
	max-width: 440px;
	font-size: 13.5px;
	line-height: 1.8;
	color: #dcefec;
}

.standard-shop-header__address {
	margin: 0 0 18px;
	font-size: 12.5px;
	color: #a9c2c4;
}

.standard-shop-header__actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.standard-shop-header__map-btn,
.standard-shop-header__cta-btn,
.standard-shop-header__book-btn {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 13px;
}

.standard-shop-header__book-btn {
	background: var(--standard-coral);
	color: #fff;
	box-shadow: 0 10px 22px -8px rgba(245,113,79,.6);
}

.standard-shop-header__map-btn {
	background: #fff;
	color: var(--standard-navy);
}

.standard-shop-header__cta-btn {
	background: rgba(255,255,255,.14);
	color: #fff;
	border: 1px solid rgba(255,255,255,.4);
}

.standard-shop-info {
	max-width: 680px;
	margin: 0 auto;
	padding: 40px 20px 8px;
	scroll-margin-top: 20px;
}

.standard-shop-info__heading {
	margin: 0 0 16px;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--standard-teal);
}

.standard-shop-info__body {
	background: #fff;
	border: 1px solid var(--standard-border);
	border-radius: 16px;
	padding: 20px;
	font-size: 14px;
	line-height: 1.95;
	color: var(--standard-text);
}

.standard-shop-facts {
	max-width: 680px;
	margin: 0 auto;
	padding: 32px 20px 8px;
	scroll-margin-top: 20px;
}

.standard-shop-facts__list {
	background: #fff;
	border: 1px solid var(--standard-border);
	border-radius: 16px;
	padding: 6px 20px;
	margin: 0 0 18px;
}

.standard-shop-facts__row {
	display: flex;
	gap: 20px;
	padding: 14px 0;
	border-bottom: 1px solid var(--standard-border);
	font-size: 13.5px;
}
.standard-shop-facts__row:last-child { border-bottom: none; }

.standard-shop-facts__row dt {
	flex: none;
	width: 84px;
	font-weight: 700;
	color: var(--standard-muted);
}

.standard-shop-facts__row dd {
	margin: 0;
	color: var(--standard-text);
}
.standard-shop-facts__row dd a {
	color: var(--standard-teal);
	text-decoration: underline;
}

.standard-shop-facts__map {
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--standard-border);
}
.standard-shop-facts__map iframe {
	display: block;
	width: 100%;
	height: 280px;
	border: 0;
}

.standard-shop-news {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
	scroll-margin-top: 20px;
}

/* 予約エンジン（hotel-booking-engineプラグイン）はダーク配色前提で作られているため、
   白ベースの店舗ページでは専用の紺背景パネルで包む。 */
.standard-shop-booking {
	background: var(--standard-navy);
	padding: 48px 20px 56px;
	margin-top: 56px;
	scroll-margin-top: 20px;
}
.standard-shop-booking .standard-shop-info__heading {
	color: var(--standard-teal-light);
	text-align: center;
	margin-bottom: 24px;
}

.standard-shop-grid {
	padding-top: 16px;
	padding-bottom: 90px;
}

/* 全ページ共通の下部固定ボトムナビ(ホーム/泊まる/リール/マップ/メニュー)が
   常時表示されるようになったため、施設ページ独自の固定バーは廃止し、
   通常のコンテンツとしてページ末尾に置く（2つの固定バーが競合するのを防ぐ）。 */
.standard-shop-nav {
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 680px;
	margin: 32px auto 0;
	padding: 16px 12px;
	background: #fff;
	border: 1px solid var(--standard-border);
	border-radius: 18px;
}

.standard-shop-nav a {
	font-size: 12px;
	font-weight: 600;
	color: var(--standard-muted);
	padding: 6px 10px;
}

.standard-shop-nav__post {
	background: var(--standard-coral);
	color: #fff !important;
	border-radius: 999px;
	font-weight: 700;
	padding: 9px 18px !important;
	margin-left: auto;
}

/* ---- この店舗のイベント ---- */

.standard-shop-events__list {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

.standard-shop-events__item {
	display: flex;
	gap: 12px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--standard-border);
	border-radius: 14px;
	padding: 10px;
}

.standard-shop-events__thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	flex: none;
}

.standard-shop-events__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.standard-shop-events__title {
	font-family: var(--font-jp);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--standard-navy);
}

.standard-shop-events__date,
.standard-shop-events__loc {
	font-size: 12px;
	color: var(--standard-muted);
}
