/* v7.6 — destination pages share the current ENTRANCE palette.
   This file intentionally loads last and is scoped to member/event detail screens. */
:root {
	--entrance-current-ink: #122531;
	--entrance-current-navy: #173044;
	--entrance-current-teal: #2e7180;
	--entrance-current-sky: #86b9c4;
	--entrance-current-cream: #f4eedf;
	--entrance-current-paper: #fffdf5;
	--entrance-current-gold: #d7b75a;
	--entrance-current-red: #b55449;
}

/* The retired yellow/black construction motif must not leak into destinations. */
.entrance-member-detail-shell,
.event-public-page {
	color: var(--entrance-current-ink);
}

.entrance-member-detail-shell {
	width: min(1120px, calc(100% - 28px));
	margin: clamp(24px, 5vw, 64px) auto;
	font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
}

.entrance-member-detail-shell .entrance-member-card,
.entrance-member-detail-shell .entrance-member-login,
.entrance-member-detail-shell .entrance-member-profile,
.entrance-member-detail-shell .entrance-premium-apply,
.entrance-member-detail-shell .entrance-premium-pending,
.entrance-member-detail-shell .entrance-premium-active {
	max-width: 980px !important;
	margin: 24px auto !important;
	border: 1px solid color-mix(in srgb, var(--entrance-current-teal) 42%, transparent) !important;
	border-radius: 18px !important;
	background: color-mix(in srgb, var(--entrance-current-paper) 96%, var(--entrance-current-sky)) !important;
	box-shadow: 0 18px 44px rgba(18, 37, 49, .13) !important;
}

.entrance-member-detail-shell .entrance-member-card { padding: clamp(22px, 4vw, 42px) !important; overflow: hidden; }
.entrance-member-detail-shell .entrance-member-card > header {
	margin: calc(clamp(22px, 4vw, 42px) * -1) calc(clamp(22px, 4vw, 42px) * -1) 30px !important;
	padding: clamp(28px, 5vw, 52px) !important;
	border: 0 !important;
	background: linear-gradient(135deg, var(--entrance-current-navy), var(--entrance-current-teal)) !important;
	color: var(--entrance-current-paper) !important;
}
.entrance-member-detail-shell .entrance-member-card > header small { color: var(--entrance-current-sky); }
.entrance-member-detail-shell .entrance-member-card > header h2 {
	margin: 8px 0 !important;
	color: var(--entrance-current-paper) !important;
	font-size: clamp(38px, 7vw, 70px) !important;
	text-shadow: none !important;
}
.entrance-member-detail-shell .entrance-member-card > header p { color: var(--entrance-current-paper); }
.entrance-member-detail-shell .entrance-member-grid { gap: 12px; }
.entrance-member-detail-shell .entrance-member-grid dl {
	border: 1px solid rgba(46, 113, 128, .24) !important;
	border-radius: 12px;
	background: rgba(255, 255, 255, .76) !important;
}
.entrance-member-detail-shell .entrance-member-grid dt { color: var(--entrance-current-teal); }
.entrance-member-detail-shell .entrance-member-progress,
.entrance-member-detail-shell .entrance-member-notice,
.entrance-member-detail-shell .entrance-manager-visit,
.entrance-member-detail-shell .entrance-checkin-confirm {
	border: 1px solid rgba(46, 113, 128, .34) !important;
	border-radius: 12px !important;
	background: #eef6f5 !important;
}
.entrance-member-detail-shell .entrance-member-progress > span { background: #d9ecee !important; }
.entrance-member-detail-shell .entrance-member-history li {
	border-radius: 9px;
	background: rgba(134, 185, 196, .16) !important;
}
.entrance-member-detail-shell :is(a, button) {
	border: 1px solid var(--entrance-current-teal) !important;
	border-radius: 999px !important;
	background: var(--entrance-current-teal) !important;
	box-shadow: none !important;
	color: #fff !important;
}
.entrance-member-detail-shell .entrance-member-card footer a:last-child { background: transparent !important; color: var(--entrance-current-teal) !important; }
.entrance-member-detail-shell .entrance-member-profile > summary {
	border-radius: 17px 17px 0 0;
	background: var(--entrance-current-navy) !important;
	color: var(--entrance-current-paper) !important;
}

/* Event detail: readable contemporary information card, without cordon stripes. */
.event-public-page {
	min-height: 100vh;
	padding-block: clamp(20px, 4vw, 64px) !important;
	background: linear-gradient(180deg, rgba(244, 238, 223, .92), rgba(255, 253, 245, .97)) !important;
}
.event-public-page .entrance-event-public {
	width: min(1120px, calc(100% - 24px)) !important;
	max-width: 1120px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	font-family: "Noto Sans JP", "Yu Gothic", sans-serif !important;
}
.event-public-page .entrance-flyer-switch { margin-bottom: 18px !important; }
.event-public-page .entrance-flyer-stage {
	position: relative;
	height: auto;
	margin-inline: auto;
	perspective: 1800px;
}
.event-public-page .entrance-flyer-scale { position: relative; width: 100%; height: auto; }
.event-public-page .entrance-flyer-card {
	position: relative;
	width: 100%;
	height: auto;
	transform-style: preserve-3d;
	transition: transform .66s cubic-bezier(.2,.75,.25,1);
}
.event-public-page .entrance-flyer-card.is-flipped { transform: rotateY(180deg); }
.event-public-page .entrance-flyer-side {
	position: relative;
	width: 100%;
	height: auto;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.event-public-page .entrance-flyer-side--back { position: absolute; inset: 0; transform: rotateY(180deg); }
.event-public-page .entrance-flyer-switch button,
.event-public-page .entrance-event-public__tools button {
	padding: 10px 18px !important;
	border: 1px solid var(--entrance-current-teal) !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--entrance-current-teal) !important;
}
.event-public-page .entrance-flyer-switch button[aria-pressed="true"],
.event-public-page .entrance-event-public__tools button:hover,
.event-public-page .entrance-event-public__tools button:focus-visible {
	background: var(--entrance-current-teal) !important;
	color: #fff !important;
}
.event-public-page .entrance-flyer-stage { width: min(940px, 100%) !important; }
.event-public-page .entrance-event-poster {
	--accent: var(--entrance-current-teal) !important;
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 0 28px !important;
	overflow: hidden !important;
	border: 1px solid rgba(46, 113, 128, .36) !important;
	border-radius: 22px !important;
	background: var(--entrance-current-paper) !important;
	box-shadow: 0 24px 70px rgba(18, 37, 49, .18) !important;
	color: var(--entrance-current-ink) !important;
	font-family: inherit !important;
}
.event-public-page .entrance-event-poster::before,
.event-public-page .entrance-event-poster::after { content: none !important; display: none !important; }
.event-public-page .entrance-event-poster__top {
	display: flex !important;
	position: static !important;
	justify-content: flex-start !important;
	min-height: 0 !important;
	padding: 18px clamp(20px, 4vw, 42px) !important;
	border: 0 !important;
	background: linear-gradient(110deg, var(--entrance-current-navy), var(--entrance-current-teal)) !important;
	color: var(--entrance-current-paper) !important;
}
.event-public-page .entrance-event-poster__top span {
	font-size: clamp(16px, 2vw, 24px) !important;
	font-style: normal !important;
	line-height: 1.2 !important;
	letter-spacing: .12em !important;
	text-shadow: none !important;
	transform: none !important;
}
.event-public-page .entrance-event-poster__title {
	display: block !important;
	position: static !important;
	min-height: 0 !important;
	padding: clamp(28px, 5vw, 58px) clamp(20px, 5vw, 58px) clamp(18px, 3vw, 34px) !important;
	color: var(--entrance-current-navy) !important;
	font-size: clamp(34px, 6vw, 68px) !important;
	line-height: 1.16 !important;
	text-align: left !important;
	transform: none !important;
}
.event-public-page .entrance-event-layout {
	display: grid !important;
	position: static !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(260px, .92fr) !important;
	gap: clamp(18px, 4vw, 42px) !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 clamp(20px, 5vw, 58px) !important;
}
.event-public-page :is(.event-primary, .event-visual, .event-info-stack, .event-fees-section, .event-fixed-grid, .event-benefits, .event-free-blocks) {
	position: static !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	transform: none !important;
}
.event-public-page .event-info-stack { display: grid !important; gap: 12px !important; }
.event-public-page .event-info-line,
.event-public-page .event-fixed-card,
.event-public-page .event-fee-item,
.event-public-page .event-winner-prize,
.event-public-page .event-other-prizes article,
.event-public-page .event-benefits article,
.event-public-page .event-free-blocks article {
	position: static !important;
	min-height: 0 !important;
	padding: 16px !important;
	border: 1px solid rgba(46, 113, 128, .24) !important;
	border-radius: 13px !important;
	background: rgba(134, 185, 196, .10) !important;
	box-shadow: none !important;
	color: var(--entrance-current-ink) !important;
	transform: none !important;
}
.event-public-page .event-info-label,
.event-public-page .event-fee-band {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin-bottom: 6px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--entrance-current-teal) !important;
	font-size: 12px !important;
	letter-spacing: .08em !important;
	transform: none !important;
}
.event-public-page .event-date-line,
.event-public-page .event-time-line,
.event-public-page .event-info-content,
.event-public-page .event-info-line.is-place strong {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	font-size: clamp(18px, 2.5vw, 28px) !important;
	line-height: 1.35 !important;
	transform: none !important;
}
.event-public-page .event-date-line b { font-size: inherit !important; }
.event-public-page .event-time-line { margin-top: 5px !important; color: var(--entrance-current-navy) !important; }
.event-public-page .event-fees-section { margin-top: 2px !important; }
.event-public-page .event-fee-list { display: grid !important; gap: 8px !important; }
.event-public-page .event-fixed-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; margin-top: 2px !important; }
.event-public-page .event-fixed-card > *,
.event-public-page .event-fixed-headline > * { color: inherit !important; text-align: left !important; }
.event-public-page .event-visual { display: grid !important; align-content: start !important; gap: 12px !important; }
.event-public-page .event-main-image {
	position: static !important;
	width: 100% !important;
	height: auto !important;
	min-height: 280px !important;
	aspect-ratio: 4 / 3 !important;
	overflow: hidden !important;
	border: 1px solid rgba(46, 113, 128, .24) !important;
	border-radius: 16px !important;
	background: #e4efef !important;
}
.event-public-page .event-main-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.event-public-page :is(.event-benefits, .event-free-blocks, .event-other-prizes > div) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
.event-public-page .event-benefits,
.event-public-page .event-free-blocks { grid-column: 1 / -1 !important; margin-top: 18px !important; }
.event-public-page .event-poster-bottom {
	position: static !important;
	display: flex !important;
	align-items: end !important;
	justify-content: space-between !important;
	gap: 18px !important;
	width: auto !important;
	height: auto !important;
	margin: 26px clamp(20px, 5vw, 58px) 0 !important;
	padding-top: 20px !important;
	border-top: 1px solid rgba(46, 113, 128, .24) !important;
}
.event-public-page .event-organizers { display: grid !important; position: static !important; }
.event-public-page .event-qr {
	position: static !important;
	display: grid !important;
	grid-template-columns: auto auto !important;
	align-items: center !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}
.event-public-page .event-qr a { display: grid !important; position: static !important; width: auto !important; height: auto !important; }
.event-public-page .event-qr img { width: 82px !important; height: 82px !important; }
.event-public-page .event-qr-deadline { position: static !important; width: auto !important; padding: 8px !important; }
.event-public-page .entrance-event-public__tools { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 9px !important; margin: 20px 0 !important; }
.event-public-page .entrance-event-public__info {
	margin-top: 22px !important;
	padding: clamp(22px, 4vw, 42px) !important;
	border: 1px solid rgba(46, 113, 128, .28) !important;
	border-radius: 20px !important;
	background: var(--entrance-current-paper) !important;
	box-shadow: 0 18px 44px rgba(18, 37, 49, .10) !important;
}
.event-public-page .entrance-event-public__reserve :is(input, select, textarea) {
	border: 1px solid rgba(46, 113, 128, .45) !important;
	border-radius: 10px !important;
	background: #fff !important;
}
.event-public-page .entrance-event-public__reserve button {
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--entrance-current-teal) !important;
	box-shadow: none !important;
	color: #fff !important;
}
.event-public-page .entrance-event-apply,
.event-public-page .entrance-event-apply__guest-actions {
	display: grid;
	gap: 12px;
}
.event-public-page .entrance-event-apply__guest-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.event-public-page .entrance-event-apply__guest-actions a {
	padding: 13px 16px;
	border: 1px solid var(--entrance-current-teal);
	border-radius: 999px;
	color: var(--entrance-current-teal);
	font-weight: 800;
	text-align: center;
	text-decoration: none;
}
.event-public-page .entrance-event-apply__comment { display: grid; gap: 7px; font-weight: 700; }
.event-public-page .entrance-event-apply__done,
.event-public-page .entrance-event-apply__gate,
.event-public-page .entrance-event-public__closed {
	padding: 16px;
	border-radius: 12px;
	background: #e5f0f1;
	font-weight: 700;
}

/* RESULT uses the same calm card system as EVENT. */
.event-public-page .result-top { justify-content: space-between !important; }
.event-public-page .result-top small { color: var(--entrance-current-sky); font-weight: 800; letter-spacing: .12em; }
.event-public-page .entrance-result-empty {
	display: grid;
	place-items: center;
	gap: 8px;
	min-height: 420px;
	padding: 32px;
	text-align: center;
}
.event-public-page .entrance-result-empty strong { color: var(--entrance-current-teal); font-size: clamp(46px, 9vw, 92px); }
.event-public-page .entrance-result-title {
	padding: clamp(28px, 5vw, 54px) clamp(20px, 5vw, 58px) 18px;
	color: var(--entrance-current-navy);
	font-size: clamp(32px, 5vw, 60px);
	font-weight: 900;
	line-height: 1.15;
}
.event-public-page .entrance-result-body {
	display: grid;
	grid-template-columns: minmax(260px, .9fr) minmax(0, 1.1fr);
	gap: clamp(18px, 4vw, 38px);
	padding: 0 clamp(20px, 5vw, 58px) 28px;
}
.event-public-page .entrance-result-hero,
.event-public-page .entrance-result-facts > div {
	padding: 16px;
	border: 1px solid rgba(46, 113, 128, .24);
	border-radius: 14px;
	background: rgba(134, 185, 196, .10);
}
.event-public-page .entrance-result-hero { display: grid; align-content: start; gap: 10px; }
.event-public-page .entrance-result-hero img { width: 100%; max-height: 380px; border-radius: 10px; object-fit: contain; }
.event-public-page .entrance-result-hero small,
.event-public-page .entrance-result-facts small { color: var(--entrance-current-teal); font-weight: 900; letter-spacing: .08em; }
.event-public-page .entrance-result-hero strong { font-size: clamp(26px, 4vw, 44px); }
.event-public-page .entrance-result-facts { display: grid; align-content: start; gap: 12px; }
.event-public-page .entrance-result-facts p { margin: 7px 0 0; line-height: 1.7; }
.event-public-page .entrance-event-poster__bottom {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: end;
	gap: 16px;
	margin: 0 clamp(20px, 5vw, 58px);
	padding: 20px 0 0;
	border-top: 1px solid rgba(46, 113, 128, .24);
}
.event-public-page .poster-date { display: flex; align-items: baseline; gap: 5px; }
.event-public-page .poster-date span { font-size: 11px; }
.event-public-page .poster-date b { font-size: clamp(28px, 5vw, 46px); }
.event-public-page .poster-date i { font-style: normal; }
.event-public-page .poster-venue strong,
.event-public-page .poster-venue span { display: block; }
.event-public-page .poster-venue span { color: var(--entrance-current-teal); font-size: 12px; font-weight: 800; }
.event-public-page .poster-time { font-size: clamp(18px, 3vw, 28px); font-weight: 900; }

@media (max-width: 720px) {
	.entrance-member-detail-shell { width: min(100% - 16px, 680px); }
	.entrance-member-detail-shell .entrance-member-grid { grid-template-columns: 1fr 1fr; }
	.event-public-page .entrance-event-public { width: calc(100% - 12px) !important; }
	.event-public-page .entrance-event-layout { grid-template-columns: 1fr !important; }
	.event-public-page .event-fixed-grid,
	.event-public-page :is(.event-benefits, .event-free-blocks, .event-other-prizes > div) { grid-template-columns: 1fr !important; }
	.event-public-page .event-main-image { min-height: 210px !important; }
	.event-public-page .event-poster-bottom { align-items: flex-start !important; flex-direction: column !important; }
	.event-public-page .entrance-event-apply__guest-actions,
	.event-public-page .entrance-result-body { grid-template-columns: 1fr; }
	.event-public-page .entrance-event-poster__bottom { grid-template-columns: 1fr; align-items: start; }
}

/* v7.7.2 — 詳細画面にも現行ENTRANCE MAPを常設する。 */
.entrance-detail-navigation,
.entrance-detail-navigation * { box-sizing: border-box; }
.entrance-detail-navigation { position: relative; z-index: 100030; }
.entrance-detail-navigation__bar {
	position: fixed;
	z-index: 100031;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 50%;
	display: flex;
	align-items: center;
	gap: 4px;
	width: min(940px, calc(100vw - 30px));
	min-height: 46px;
	padding: 6px 9px;
	border: 1px solid #d7b75a99;
	border-top: 0;
	background: #102331f2;
	box-shadow: 0 9px 28px #07151f8c;
	transform: translateX(-50%);
	backdrop-filter: blur(8px);
}
.entrance-detail-navigation__title {
	padding: 5px 8px;
	border: 1px solid #d7b75a;
	color: #d7b75a;
	font: 900 10px/1 ui-monospace, monospace;
	letter-spacing: .18em;
}
.entrance-detail-navigation__bar a,
.entrance-detail-navigation__bar button {
	position: relative;
	flex: 1 1 auto;
	min-height: 30px;
	padding: 7px 8px;
	border: 0;
	background: transparent;
	color: #f4eedf;
	font: 800 10px/1 ui-monospace, monospace;
	letter-spacing: .06em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.entrance-detail-navigation__bar a::after {
	content: "";
	position: absolute;
	left: 15%;
	right: 15%;
	bottom: 1px;
	height: 2px;
	background: #d7b75a;
	box-shadow: 0 0 10px #ffe69d;
	transform: scaleX(0);
	transition: transform .16s ease;
}
.entrance-detail-navigation__bar a:hover::after,
.entrance-detail-navigation__bar a:focus-visible::after,
.entrance-detail-navigation__bar a[aria-current="page"]::after { transform: scaleX(1); }
.entrance-detail-navigation__bar a[aria-current="page"] { color: #ffe89f; }
.entrance-detail-navigation__back { flex: 0 0 auto !important; color: #86b9c4 !important; }
.entrance-detail-navigation__toggle,
.entrance-detail-navigation__drawer { display: none; }
body:has(.entrance-detail-navigation) .event-public-page { padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 74px) !important; }
body:has(.entrance-detail-navigation) .entrance-standalone-detail { padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 54px) !important; }

@media (max-width: 760px) {
	.entrance-detail-navigation__bar { display: none; }
	.entrance-detail-navigation__toggle {
		position: fixed;
		z-index: 100033;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 9px);
		right: 10px;
		display: grid;
		place-content: center;
		gap: 4px;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 1px solid #d7b75a;
		border-radius: 50%;
		background: #102331ed;
		box-shadow: 0 4px 14px #0008;
		cursor: pointer;
	}
	.entrance-detail-navigation__toggle i { display: block; width: 19px; height: 2px; background: #f4eedf; transition: transform .18s ease, opacity .18s ease; }
	.entrance-detail-navigation.is-open .entrance-detail-navigation__toggle i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
	.entrance-detail-navigation.is-open .entrance-detail-navigation__toggle i:nth-child(2) { opacity: 0; }
	.entrance-detail-navigation.is-open .entrance-detail-navigation__toggle i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
	.entrance-detail-navigation__drawer {
		position: fixed;
		z-index: 100032;
		inset: var(--wp-admin--admin-bar--height, 0px) 0 0 auto;
		display: grid;
		align-content: start;
		width: min(86vw, 350px);
		padding: 20px;
		border-left: 2px solid #d7b75a;
		background: radial-gradient(circle at 90% 0, #2e718055, transparent 32%), #102331fa;
		box-shadow: -18px 0 50px #0009;
		transform: translateX(105%);
		transition: transform .22s ease;
	}
	.entrance-detail-navigation.is-open .entrance-detail-navigation__drawer { transform: translateX(0); }
	.entrance-detail-navigation__drawer > div { display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 9px; margin-bottom: 20px; color: #f4eedf; }
	.entrance-detail-navigation__drawer > div span { font: 800 9px/1 ui-monospace, monospace; letter-spacing: .18em; }
	.entrance-detail-navigation__drawer > div b { color: #d7b75a; font: 900 25px/1 ui-monospace, monospace; }
	.entrance-detail-navigation__drawer > div button { border: 0; background: transparent; color: #fff; font-size: 28px; cursor: pointer; }
	.entrance-detail-navigation__drawer > a,
	.entrance-detail-navigation__drawer > button {
		display: grid;
		grid-template-columns: 38px 1fr;
		align-items: center;
		min-height: 54px;
		padding: 7px 4px;
		border: 0;
		border-bottom: 1px solid #86b9c455;
		background: transparent;
		color: #f4eedf;
		font: 900 15px/1 ui-monospace, monospace;
		text-align: left;
		text-decoration: none;
		cursor: pointer;
	}
	.entrance-detail-navigation__drawer > :is(a,button) small { color: #d7b75a; }
	.entrance-detail-navigation__drawer > a[aria-current="page"] { color: #ffe69d; background: #ffffff0a; }
	body:has(.entrance-detail-navigation) .event-public-page { padding-top: 58px !important; }
	body:has(.entrance-detail-navigation) .entrance-standalone-detail { padding-top: 48px !important; }
}

/* v7.7.4 — PC詳細メニューも、カーソル／キーボード操作中だけ展開する。 */
@media (min-width: 761px) {
	.entrance-detail-navigation__bar {
		transform: translate(-50%, calc(-100% + 10px));
		transition: transform .2s ease;
	}
	.entrance-detail-navigation__bar:is(.is-visible, :hover, :focus-within) {
		transform: translate(-50%, 0);
	}
}
