/* Consent Modal - bottom-right floating card, no overlay */

.ii-consent-modal {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 10000;
	width: 320px;
	background: var(--ii-surface-white, #fff);
	border: 1px solid var(--ii-border, #e5e7eb);
	border-radius: var(--ii-radius-md, 12px);
	padding: 20px;
	box-shadow:
		0 20px 60px rgba(0, 0, 0, 0.18),
		0 4px 16px rgba(0, 0, 0, 0.08);
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.2s ease,
		transform 0.2s cubic-bezier(0.21, 1.02, 0.73, 1);
	pointer-events: none;
}

.ii-consent-modal.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Close button */
.ii-consent-close {
	display: none;
	position: absolute;
	top: 12px;
	right: 12px;
	width: 24px;
	height: 24px;
	/* display: flex; */
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	font-size: 18px;
	line-height: 1;
	color: var(--ii-text-secondary, #6b7280);
	cursor: pointer;
	border-radius: var(--ii-radius-sm, 6px);
	transition: background 0.15s ease;
}

.ii-consent-close:hover {
	background: var(--ii-surface-hover, #f3f4f6);
}

.ii-consent-close:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Content */
.ii-consent-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--ii-text-primary, #111827);
	margin-bottom: 8px;
	padding-right: 24px;
	font-family: var(--ii-font-body, Inter, sans-serif);
	line-height: 1.4;
}

.ii-consent-desc {
	font-size: 13px;
	color: var(--ii-text-secondary, #4b5563);
	line-height: 1.55;
	font-family: var(--ii-font-body, Inter, sans-serif);
	margin-bottom: 16px;
}

/* Footer buttons */
.ii-consent-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.ii-consent-btn-secondary,
.ii-consent-btn-primary {
	padding: 7px 14px;
	font-size: 13px;
	font-weight: 500;
	border-radius: var(--ii-radius-sm, 6px);
	cursor: pointer;
	border: 1px solid transparent;
	font-family: var(--ii-font-body, Inter, sans-serif);
	transition:
		background 0.15s ease,
		opacity 0.15s ease;
}

.ii-consent-btn-secondary {
	background: transparent;
	border-color: var(--ii-border, #e5e7eb);
	color: var(--ii-text-secondary, #4b5563);
}

.ii-consent-btn-secondary:hover {
	background: var(--ii-surface-hover, #f3f4f6);
}

.ii-consent-btn-primary {
	background: var(--ii-accent, #2563eb);
	color: #fff;
}

.ii-consent-btn-primary:hover {
	opacity: 0.88;
}

.ii-consent-btn-secondary:disabled,
.ii-consent-btn-primary:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Dark mode */
[data-theme='dark'] .ii-consent-modal {
	background: var(--ii-dk-surface, #18181b);
	border-color: var(--ii-dk-border, #28282f);
	box-shadow:
		0 20px 60px rgba(0, 0, 0, 0.45),
		0 4px 16px rgba(0, 0, 0, 0.25);
}

[data-theme='dark'] .ii-consent-title {
	color: var(--ii-dk-text-primary, #f9fafb);
}

[data-theme='dark'] .ii-consent-desc {
	color: var(--ii-dk-text-secondary, #9ca3af);
}

[data-theme='dark'] .ii-consent-close {
	color: var(--ii-dk-text-secondary, #9ca3af);
}

[data-theme='dark'] .ii-consent-close:hover {
	background: var(--ii-dk-surface-hover, #1f1f26);
}

[data-theme='dark'] .ii-consent-btn-secondary {
	border-color: var(--ii-dk-border, #28282f);
	color: var(--ii-dk-text-secondary, #9ca3af);
}

[data-theme='dark'] .ii-consent-btn-secondary:hover {
	background: var(--ii-dk-surface-hover, #1f1f26);
}
