/* Announcement bar — geometry, tones and motion from NotificationBar.
   Light variant: midnight text on heritage gold. Dark variant inverts it. */

.me-notice {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 200;
	overflow: visible;
}

.me-notice.is-closing {
	pointer-events: none;
}

.me-notice-slide {
	transform: translateY(110%);
	opacity: 0;
	overflow: visible;
	transition: transform 0.52s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.40s ease 0.06s;
}

.me-notice.is-open .me-notice-slide {
	transform: translateY(0);
	opacity: 1;
}

.me-notice.is-closing .me-notice-slide {
	transform: translateY(110%);
	opacity: 0;
	transition: transform 0.38s cubic-bezier(0.55, 0, 0.45, 1), opacity 0.30s ease;
}

.me-notice-bar {
	position: relative;
	overflow: visible;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px clamp(16px, 4vw, 28px) 12px clamp(20px, 5vw, 36px);
	min-height: 68px;
	box-shadow: 0 -6px 30px rgba(0, 0, 0, 0.42);
	text-decoration: none;
}

.me-notice.is-light .me-notice-bar {
	background: #D4AF37;
	border-top: 1px solid rgba(11, 17, 32, 0.20);
}

.me-notice.is-dark .me-notice-bar {
	background: #0B1120;
	border-top: 1px solid rgba(212, 175, 55, 0.42);
}

a.me-notice-bar {
	cursor: pointer;
}

.me-notice-text {
	flex: 1;
	margin: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: clamp(0.70rem, 1.35vw, 0.84rem);
	font-weight: 700;
	line-height: 1.65;
}

.me-notice.is-light .me-notice-text {
	color: #0B1120;
}

.me-notice.is-dark .me-notice-text {
	color: #D4AF37;
}

.me-notice-photos {
	display: flex;
	align-items: flex-end;
	gap: clamp(4px, 1vw, 10px);
	flex-shrink: 0;
	align-self: flex-end;
	padding-bottom: 0;
	margin-bottom: -8px;
}

.me-notice-photo {
	background: #FFFDF3;
	padding: clamp(3px, 0.5vw, 5px) clamp(3px, 0.5vw, 5px) clamp(10px, 1.5vw, 16px);
	border-radius: 3px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.40), 0 2px 6px rgba(0, 0, 0, 0.22);
	transform-origin: bottom center;
	flex-shrink: 0;
}

.me-notice.is-light .me-notice-photo {
	border: 1px solid rgba(11, 17, 32, 0.18);
}

.me-notice.is-dark .me-notice-photo {
	border: 1px solid rgba(212, 175, 55, 0.25);
}

.me-notice-photo img {
	display: block;
	width: clamp(46px, 8vw, 64px);
	height: clamp(42px, 7.5vw, 60px);
	object-fit: cover;
	object-position: center;
}

.me-notice-dismiss {
	flex-shrink: 0;
	margin-left: 8px;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1;
	padding: 0;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	opacity: 0.60;
	transition: opacity 0.18s ease, background 0.18s ease;
}

.me-notice.is-light .me-notice-dismiss {
	color: #0B1120;
}

.me-notice.is-dark .me-notice-dismiss {
	color: #D4AF37;
}

.me-notice-dismiss:hover,
.me-notice-dismiss:focus-visible {
	opacity: 1;
}

.me-notice.is-light .me-notice-dismiss:hover {
	background: rgba(11, 17, 32, 0.12);
}

.me-notice.is-dark .me-notice-dismiss:hover {
	background: rgba(212, 175, 55, 0.12);
}

/* On narrow screens the photo strip would crowd the message out. */
@media (max-width: 560px) {
	.me-notice-photos {
		display: none;
	}
}

/* Book cover or poster standing up out of the bar on the left (the React
   Learn page announcement). */
.me-notice-bar.has-cover {
	padding-left: 114px;
}

.me-notice-cover {
	position: absolute;
	bottom: 0;
	left: clamp(20px, 3vw, 28px);
	width: 74px;
	height: 110px;
	flex-shrink: 0;
}

.me-notice-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
	border-radius: 4px 4px 2px 2px;
	border: 1.5px solid rgba(212, 175, 55, 0.55);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.65), -3px 0 10px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(212, 175, 55, 0.10);
}

.me-notice-spine {
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: linear-gradient(to right, #D4AF37, transparent);
	border-radius: 4px 0 0 2px;
	opacity: 0.55;
	pointer-events: none;
}
