.smca {
	--smca-panel-bg: #fff;
	--smca-panel-text: #1f2937;
	--smca-link: #1d4ed8;
	--smca-primary-bg: #1d4ed8;
	--smca-primary-text: #fff;
	--smca-secondary-bg: #fff;
	--smca-secondary-text: #1f2937;
	--smca-secondary-border: #cbd5e1;
	--smca-modal-bg: #fff;
	--smca-modal-text: #1f2937;
	box-sizing: border-box;
	color: var(--smca-panel-text);
	font: 16px/1.5 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.smca *, .smca *::before, .smca *::after { box-sizing: inherit; }
.smca [hidden] { display: none !important; }
.smca__banner {
	position: fixed;
	right: 16px;
	bottom: 16px;
	left: 16px;
	z-index: 999990;
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	max-width: 1280px;
	margin: auto;
	padding: 20px;
	background: var(--smca-panel-bg);
	border: 1px solid var(--smca-secondary-border);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgb(15 23 42 / 18%);
}
.smca__copy { min-width: 0; }
.smca__title { margin: 0 0 8px; color: inherit; font-size: 1.25rem; line-height: 1.3; }
.smca__notice, .smca__notice p { margin: 0; }
.smca__notice a { color: var(--smca-link); text-decoration: underline; }
.smca__actions, .smca__dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.smca__button, .smca__settings-button, .smca-settings-trigger, .smca__reset, .smca__close {
	min-height: 44px;
	padding: 10px 18px;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	border-radius: 8px;
	transition: filter 160ms ease, transform 160ms ease;
}
.smca__button--primary { color: var(--smca-primary-text); background: var(--smca-primary-bg); border: 1px solid var(--smca-primary-bg); }
.smca__button--secondary, .smca__settings-button, .smca-settings-trigger {
	color: var(--smca-secondary-text, #1f2937);
	background: var(--smca-secondary-bg, #fff);
	border: 1px solid var(--smca-secondary-border, #cbd5e1);
}
.smca__button:hover, .smca__settings-button:hover, .smca-settings-trigger:hover, .smca__reset:hover, .smca__close:hover { filter: brightness(.92); }
.smca__button:active, .smca__settings-button:active, .smca-settings-trigger:active, .smca__reset:active, .smca__close:active { transform: translateY(1px); }
.smca button:disabled { cursor: not-allowed; opacity: .65; }
.smca button:focus-visible, .smca-settings-trigger:focus-visible, .smca a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.smca__settings-button { position: fixed; right: 16px; bottom: 16px; z-index: 999988; box-shadow: 0 6px 18px rgb(15 23 42 / 16%); }
.smca__backdrop { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 16px; background: rgb(15 23 42 / 55%); }
.smca__dialog { position: relative; width: min(100%, 620px); max-height: calc(100vh - 32px); overflow: auto; padding: 24px; color: var(--smca-modal-text); background: var(--smca-modal-bg); border-radius: 12px; box-shadow: 0 20px 48px rgb(0 0 0 / 28%); }
.smca__close { position: absolute; top: 8px; right: 8px; width: 44px; padding: 0; color: inherit; font-size: 28px; background: transparent; border: 0; }
.smca__category { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 16px 0; border-top: 1px solid var(--smca-secondary-border); }
.smca__category p { margin: 4px 0 0; }
.smca__switch { position: relative; flex: 0 0 48px; width: 48px; height: 28px; }
.smca__switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.smca__switch span[aria-hidden] { position: absolute; inset: 0; background: #94a3b8; border-radius: 999px; cursor: pointer; transition: background 160ms ease; }
.smca__switch span[aria-hidden]::after { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; content: ""; background: #fff; border-radius: 50%; transition: transform 160ms ease; }
.smca__switch input:checked + span { background: var(--smca-primary-bg); }
.smca__switch input:checked + span::after { transform: translateX(20px); }
.smca__switch input:focus-visible + span { outline: 3px solid #f59e0b; outline-offset: 3px; }
.smca__switch input:disabled + span { cursor: not-allowed; opacity: .65; }
.smca__reset { padding-inline: 4px; color: var(--smca-link); background: transparent; border: 0; text-decoration: underline; }
.smca-noscript { display: block; margin: 16px; padding: 16px; color: #1f2937; background: #fff; border: 1px solid #cbd5e1; }
.smca__screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 921px) {
	.smca__banner { align-items: flex-start; }
}
@media (max-width: 544px) {
	.smca__banner { flex-direction: column; gap: 16px; padding: 16px; }
	.smca__actions, .smca__button { width: 100%; }
	.smca__dialog { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.smca *, .smca *::before, .smca *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
