/* «Алькатрас»: стена с ростомером, табличка заключённого, тюремный оранжевый. */
body.era-alcatraz {
	/* Тюремная кирпичная кладка, затемнённая к краям. */
	background-color: #2e2b29;
	background-image: radial-gradient(120% 90% at 50% 20%, rgba(20, 20, 22, 0.25), rgba(12, 12, 14, 0.78)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='80'%3E%3Crect width='240' height='80' fill='%234a4744'/%3E%3Crect x='1.5' y='1.5' width='57' height='17' rx='1.5' fill='%238a4430'/%3E%3Crect x='1.5' y='1.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='61.5' y='1.5' width='57' height='17' rx='1.5' fill='%2392503a'/%3E%3Crect x='61.5' y='1.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='100' cy='6' r='1.3' fill='%23000' fill-opacity='.18'/%3E%3Crect x='121.5' y='1.5' width='57' height='17' rx='1.5' fill='%2392503a'/%3E%3Crect x='121.5' y='1.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='181.5' y='1.5' width='57' height='17' rx='1.5' fill='%2392503a'/%3E%3Crect x='181.5' y='1.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='207' cy='10' r='2.1' fill='%23000' fill-opacity='.18'/%3E%3Crect x='-28.5' y='21.5' width='57' height='17' rx='1.5' fill='%236a3024'/%3E%3Crect x='-28.5' y='21.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='1' cy='32' r='2.2' fill='%23000' fill-opacity='.18'/%3E%3Crect x='31.5' y='21.5' width='57' height='17' rx='1.5' fill='%2383412c'/%3E%3Crect x='31.5' y='21.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='91.5' y='21.5' width='57' height='17' rx='1.5' fill='%238a4430'/%3E%3Crect x='91.5' y='21.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='105' cy='27' r='1.3' fill='%23000' fill-opacity='.18'/%3E%3Crect x='151.5' y='21.5' width='57' height='17' rx='1.5' fill='%2392503a'/%3E%3Crect x='151.5' y='21.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='211.5' y='21.5' width='57' height='17' rx='1.5' fill='%238a4430'/%3E%3Crect x='211.5' y='21.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='218' cy='29' r='1.4' fill='%23000' fill-opacity='.18'/%3E%3Crect x='1.5' y='41.5' width='57' height='17' rx='1.5' fill='%236f3325'/%3E%3Crect x='1.5' y='41.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='61.5' y='41.5' width='57' height='17' rx='1.5' fill='%2383412c'/%3E%3Crect x='61.5' y='41.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='121.5' y='41.5' width='57' height='17' rx='1.5' fill='%237a3f2e'/%3E%3Crect x='121.5' y='41.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='181.5' y='41.5' width='57' height='17' rx='1.5' fill='%2383412c'/%3E%3Crect x='181.5' y='41.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='226' cy='53' r='2.0' fill='%23000' fill-opacity='.18'/%3E%3Crect x='-28.5' y='61.5' width='57' height='17' rx='1.5' fill='%236a3024'/%3E%3Crect x='-28.5' y='61.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='31.5' y='61.5' width='57' height='17' rx='1.5' fill='%2392503a'/%3E%3Crect x='31.5' y='61.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='42' cy='71' r='1.1' fill='%23000' fill-opacity='.18'/%3E%3Crect x='91.5' y='61.5' width='57' height='17' rx='1.5' fill='%237d3b2a'/%3E%3Crect x='91.5' y='61.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Crect x='151.5' y='61.5' width='57' height='17' rx='1.5' fill='%2392503a'/%3E%3Crect x='151.5' y='61.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3Ccircle cx='172' cy='66' r='1.0' fill='%23000' fill-opacity='.18'/%3E%3Crect x='211.5' y='61.5' width='57' height='17' rx='1.5' fill='%238a4430'/%3E%3Crect x='211.5' y='61.5' width='57' height='2' fill='%23fff' fill-opacity='.07'/%3E%3C/svg%3E");
	background-size: auto, 240px 80px;
	color: #e2e4e7;
	font-family: "PT Sans", sans-serif;
}

body.era-alcatraz a {
	color: #ff8a3d;
}

body.era-alcatraz a:hover {
	color: #ffb07a;
}

.era-alcatraz .venue-bar__name {
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 26px;
}

.alc-wall {
	position: relative;
	box-shadow: 0 0 0 12px rgba(20, 20, 22, 0.6), 0 30px 60px rgba(0, 0, 0, 0.5);
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	align-items: center;
	justify-content: space-between;
	min-height: 620px;
	padding: 64px 48px 64px 72px;
	overflow: hidden;
	background-color: #c9cbc6;
	background-image: repeating-linear-gradient(to bottom, transparent 0, transparent 59px, #7f8580 59px, #7f8580 61px);
	color: #23272b;
}

.alc-wall__scale {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 14px;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	font-family: "PT Mono", monospace;
	font-size: 14px;
	color: #4d524e;
}

.alc-wall__text {
	position: relative;
	flex: 1 1 420px;
}

.alc-wall h1 {
	margin: 0 0 20px;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: clamp(64px, 11vw, 150px);
	line-height: 0.9;
}

.alc-wall p {
	max-width: 500px;
	margin: 0;
	background: #c9cbc6;
	font-size: 23px;
	line-height: 1.5;
}

.alc-placard {
	position: relative;
	z-index: 4;
	display: flex;
	flex: 0 1 360px;
	flex-direction: column;
	gap: 10px;
	margin: 0 auto;
	padding: 26px 28px;
	border: 4px solid #f1f1ee;
	background: #1c1f22;
	color: #f1f1ee !important;
	font-family: "PT Mono", monospace;
	text-decoration: none;
}

/* Ночь на прогулочном дворе: прожектор ходит сам или за пальцем/курсором. */
.alc-dark,
.alc-height,
.alc-beacon,
.alc-bars {
	position: absolute;
	pointer-events: none;
}

.alc-dark {
	inset: 0;
	z-index: 3;
	display: none;
	background: rgba(8, 10, 12, 0.8);
	-webkit-mask: radial-gradient(circle var(--lr, 190px) at var(--lx, 70%) var(--ly, 40%), transparent 0 55%, #000 100%);
	mask: radial-gradient(circle var(--lr, 190px) at var(--lx, 70%) var(--ly, 40%), transparent 0 55%, #000 100%);
}

.alc-wall.is-night .alc-dark {
	display: block;
}

.alc-height {
	left: 0;
	right: 0;
	top: var(--ly, 40%);
	z-index: 4;
	display: none;
	height: 0;
	border-top: 2px dashed rgba(255, 138, 61, 0.8);
	font-family: "PT Mono", monospace;
	font-size: 15px;
	color: #ff8a3d;
}

.alc-height::after {
	content: attr(data-cm);
	position: absolute;
	left: 44px;
	top: -26px;
	padding: 1px 6px;
	background: #1c1f22;
}

.alc-wall.is-night .alc-height {
	display: block;
}

.alc-escape {
	position: relative;
	z-index: 6;
	margin-top: 26px;
	min-height: 50px;
	padding: 12px 24px;
	border: 3px solid #1c1f22;
	background: #ff8a3d;
	color: #1c1f22;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.alc-escape[hidden] {
	display: none;
}

/* Тревога: красный маячок и решётка падает сверху. */
.alc-beacon {
	inset: 0;
	z-index: 3;
	opacity: 0;
	background: conic-gradient(from 0deg at 50% -10%, transparent 0 40deg, rgba(255, 40, 30, 0.35) 55deg, transparent 70deg 220deg, rgba(255, 40, 30, 0.35) 235deg, transparent 250deg);
	transition: opacity 0.3s;
}

.alc-wall.is-alarm .alc-beacon {
	opacity: 1;
	animation: alc-beacon 1.4s linear infinite;
}

@keyframes alc-beacon {
	50% {
		filter: hue-rotate(-12deg) brightness(1.4);
		transform: scaleX(-1);
	}
}

.alc-bars {
	inset: 0;
	z-index: 5;
	background:
		linear-gradient(180deg, transparent 0 7%, #3a3f44 7% 8%, #9aa1a8 8% 9.5%, #2b2f33 9.5% 11%, transparent 11% 91%, #3a3f44 91% 92%, #9aa1a8 92% 93.5%, #2b2f33 93.5% 95%, transparent 95%),
		repeating-linear-gradient(90deg, transparent 0 52px, #2b2f33 52px 55px, #b5bcc3 55px 58px, #3a3f44 58px 64px);
	transform: translateY(-102%);
	transition: transform 0.25s ease-in;
}

.alc-wall.is-alarm .alc-bars {
	transform: none;
	animation: alc-bars-drop 0.55s cubic-bezier(0.5, 0, 0.7, 1) both;
}

@keyframes alc-bars-drop {
	0% {
		transform: translateY(-102%);
	}

	60% {
		transform: translateY(0);
	}

	75% {
		transform: translateY(-4%);
	}

	100% {
		transform: translateY(0);
	}
}

.alc-wall.is-alarm .alc-escape {
	background: #1c1f22;
	color: #ff8a3d;
	border-color: #ff8a3d;
}

@media (prefers-reduced-motion: reduce) {
	.alc-wall.is-alarm .alc-beacon,
	.alc-wall.is-alarm .alc-bars {
		animation: none;
	}
}

.alc-placard__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 15px;
}

.alc-placard__name {
	font-size: 44px;
	line-height: 1.1;
	overflow-wrap: anywhere;
}

.alc-placard__charge {
	color: #ff8a3d;
	font-size: 15px;
}

.alc-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 40px;
	padding-block: 80px;
}

.alc-cards article {
	padding: 22px 22px 22px 24px;
	border-left: 6px solid #ff8a3d;
	background: rgba(28, 31, 34, 0.92);
}

.era-alcatraz .venue-about,
.era-alcatraz .venue-gallery,
.era-alcatraz .venue-contacts {
	background: rgba(28, 31, 34, 0.9);
}

.alc-cards h2 {
	margin: 0 0 10px;
	font-family: "Oswald", sans-serif;
	font-weight: 500;
	font-size: 32px;
}

.era-alcatraz .venue-photo {
	width: 100%;
	height: min(560px, 60vw);
	object-fit: cover;
	border: 8px solid #1c1f22;
}

.era-alcatraz .venue-about {
	padding-block: 56px 24px;
	font-size: 20px;
}

.era-alcatraz .venue-gallery {
	padding-bottom: 56px;
}

.era-alcatraz .venue-book {
	background: #ff8a3d;
	color: #1c1f22;
}

.era-alcatraz .venue-book a {
	color: #1c1f22;
}

.era-alcatraz .booking h2 {
	margin-top: 0;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 64px;
	line-height: 1;
}

.era-alcatraz .booking__field input,
.era-alcatraz .booking__field select {
	border-width: 3px;
	background: #fff4ec;
	font-family: "PT Mono", monospace;
}

.era-alcatraz .booking__consent input {
	accent-color: #1c1f22;
}

.era-alcatraz .booking__submit {
	background: #1c1f22;
	color: #ff8a3d;
	font-family: "Oswald", sans-serif;
	font-size: 22px;
}

.era-alcatraz .venue-contacts {
	padding-block: 32px;
}

.era-alcatraz .site-footer {
	border-top: 1px solid #4a4f54;
}

@media (max-width: 640px) {
	.alc-wall {
		padding: 40px 20px 40px 48px;
	}
}
