/* -------------------------------------------------------
   AAC Notices
   Scoped styles — no dependency on theme CSS.
   All rules use !important to defend against Tailwind preflight
   and theme style overrides.
   ------------------------------------------------------- */

.aac-notice {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	line-height: 1.5 !important;
	box-sizing: border-box !important;
	z-index: 99999 !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	max-width: none !important;
}

.aac-notice * {
	box-sizing: border-box !important;
}

.aac-notice__content {
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding: 0 !important;
}

.aac-notice__text {
	flex: 1 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.aac-notice__text p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

.aac-notice__text p:last-child {
	margin-bottom: 0 !important;
}

.aac-notice__text a {
	color: inherit !important;
	text-decoration: underline !important;
}

.aac-notice__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.5rem !important;
	padding: 0.4rem 1rem !important;
	border: none !important;
	border-radius: 4px !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	transition: all 200ms !important;
	margin: 0 !important;
	position: relative !important;
}

.aac-notice__btn:active {
	transform: scale(0.98) !important;
}

@media (hover: hover) {
	.aac-notice__btn:hover {
		outline: 3px solid var(--aac-btn-bg, #DD6F56) !important;
		outline-offset: 4px !important;
		text-decoration: none !important;
		opacity: 1 !important;
	}
}

.aac-notice__close {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2rem !important;
	height: 2rem !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 4px !important;
	background: none !important;
	color: inherit !important;
	cursor: pointer !important;
	opacity: 0.7 !important;
	transition: all 200ms !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	position: relative !important;
}

.aac-notice__close:active {
	transform: scale(0.98) !important;
}

@media (hover: hover) {
	.aac-notice__close:hover {
		outline: 3px solid currentColor !important;
		outline-offset: 2px !important;
		opacity: 1 !important;
	}
}

/* --- Top Bar --- */
.aac-notice--top-bar {
	position: relative !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	padding: 1rem 1.5rem !important;
	overflow: hidden !important;
	max-height: 200px !important;
	transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.4s ease !important;
}

.aac-notice--top-bar .aac-notice__close {
	position: absolute !important;
	top: 50% !important;
	right: 1rem !important;
	transform: translateY(-50%) !important;
}

.aac-notice--top-bar .aac-notice__content {
	padding-right: 2.5rem !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
}

/* --- Floating Banner --- */
.aac-notice--floating {
	position: fixed !important;
	max-width: 420px !important;
	padding: 1.25rem !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15) !important;
}

.aac-notice--floating .aac-notice__close {
	position: absolute !important;
	top: 0.5rem !important;
	right: 0.5rem !important;
}

.aac-notice--floating .aac-notice__content {
	padding-right: 1.5rem !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

/* --- Slide-in --- */
.aac-notice--slide-in {
	position: fixed !important;
	max-width: 420px !important;
	padding: 1.25rem !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15) !important;
	transition: transform 0.4s ease, opacity 0.4s ease !important;
}

.aac-notice--slide-in .aac-notice__close {
	position: absolute !important;
	top: 0.5rem !important;
	right: 0.5rem !important;
}

.aac-notice--slide-in .aac-notice__content {
	padding-right: 1.5rem !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.aac-notice--slide-in.aac-notice--hidden {
	opacity: 0 !important;
	pointer-events: none !important;
}

.aac-notice--slide-in.aac-notice--top-left.aac-notice--hidden {
	transform: translate(-120%, 0) !important;
}

.aac-notice--slide-in.aac-notice--top-right.aac-notice--hidden {
	transform: translate(120%, 0) !important;
}

.aac-notice--slide-in.aac-notice--bottom-left.aac-notice--hidden {
	transform: translate(-120%, 0) !important;
}

.aac-notice--slide-in.aac-notice--bottom-right.aac-notice--hidden {
	transform: translate(120%, 0) !important;
}

.aac-notice--slide-in.aac-notice--top-center.aac-notice--hidden {
	transform: translate(0, -120%) !important;
}

.aac-notice--slide-in.aac-notice--bottom-center.aac-notice--hidden {
	transform: translate(0, 120%) !important;
}

/* --- Modal --- */
.aac-notice--modal {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	max-width: 560px !important;
	width: calc(100% - 2rem) !important;
	padding: 2rem !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 48px rgba(0, 0, 0, 0.25) !important;
	transition: opacity 0.3s ease !important;
}

.aac-notice--modal.aac-notice--hidden {
	opacity: 0 !important;
	pointer-events: none !important;
}

.aac-notice--modal .aac-notice__close {
	position: absolute !important;
	top: 0.75rem !important;
	right: 0.75rem !important;
}

.aac-notice--modal .aac-notice__content {
	flex-direction: column !important;
	align-items: stretch !important;
	text-align: center !important;
}

/* Modal backdrop */
.aac-notice-modal-backdrop {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(0, 0, 0, 0.5) !important;
	z-index: 99998 !important;
	opacity: 0 !important;
	transition: opacity 0.3s ease !important;
}

.aac-notice-modal-backdrop.is-visible {
	opacity: 1 !important;
}

/* --- Inline --- */
.aac-notice--inline {
	position: relative !important;
	padding: 1rem 1.5rem !important;
	border-radius: 8px !important;
	margin: 1.5rem 0 !important;
	max-width: none !important;
}

.aac-notice--inline .aac-notice__close {
	position: absolute !important;
	top: 0.5rem !important;
	right: 0.5rem !important;
}

.aac-notice--inline .aac-notice__content {
	padding-right: 2rem !important;
}

/* --- Position classes — floating/slide-in only --- */
.aac-notice--floating.aac-notice--top-left,
.aac-notice--slide-in.aac-notice--top-left {
	top: 1rem !important;
	left: 1rem !important;
}

.aac-notice--floating.aac-notice--top-right,
.aac-notice--slide-in.aac-notice--top-right {
	top: 1rem !important;
	right: 1rem !important;
}

.aac-notice--floating.aac-notice--top-center,
.aac-notice--slide-in.aac-notice--top-center {
	top: 1rem !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

.aac-notice--floating.aac-notice--bottom-left,
.aac-notice--slide-in.aac-notice--bottom-left {
	bottom: 1rem !important;
	left: 1rem !important;
}

.aac-notice--floating.aac-notice--bottom-right,
.aac-notice--slide-in.aac-notice--bottom-right {
	bottom: 1rem !important;
	right: 1rem !important;
}

.aac-notice--floating.aac-notice--bottom-center,
.aac-notice--slide-in.aac-notice--bottom-center {
	bottom: 1rem !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
}

/* Slide-in center hidden states */
.aac-notice--slide-in.aac-notice--top-center.aac-notice--hidden {
	transform: translate(-50%, -120%) !important;
}

.aac-notice--slide-in.aac-notice--bottom-center.aac-notice--hidden {
	transform: translate(-50%, 120%) !important;
}

/* --- Show After Delay — hidden state for all styles --- */
.aac-notice--hidden {
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Top-bar: collapse to zero height for push-down animation */
.aac-notice--top-bar.aac-notice--hidden {
	max-height: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	opacity: 0 !important;
}

/* Inline & floating: just hide completely */
.aac-notice--inline.aac-notice--hidden,
.aac-notice--floating.aac-notice--hidden {
	display: none !important;
}

/* --- Responsive --- */
@media (max-width: 640px) {
	.aac-notice--floating,
	.aac-notice--slide-in {
		max-width: calc(100% - 2rem) !important;
	}

	.aac-notice--top-bar {
		padding: 0.75rem 1rem !important;
	}

	.aac-notice--top-bar .aac-notice__content {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.5rem !important;
	}
}
