/* Adamit Cookie Consent — banner & preferences. Theme-agnostic, light. */
.adamit-cc, .adamit-cc * { box-sizing: border-box; }
.adamit-cc {
	position: fixed; left: 50%; bottom: clamp(.75rem, 2vw, 1.5rem); transform: translateX(-50%);
	z-index: 100000; width: min(680px, calc(100% - 2rem));
	background: #fff; color: #1b1b1b; border: 1px solid #e7e0d6; border-radius: 14px;
	box-shadow: 0 18px 50px rgba(20,16,10,.22);
	font-family: inherit; font-size: 14px; line-height: 1.6;
	padding: clamp(1.1rem, 3vw, 1.6rem);
	opacity: 0; transform: translateX(-50%) translateY(12px); transition: opacity .35s ease, transform .35s ease;
}
.adamit-cc.is-in { opacity: 1; transform: translateX(-50%) translateY(0); }
.adamit-cc[hidden] { display: none; }
.adamit-cc__title { font-size: 1.05rem; font-weight: 600; margin: 0 0 .4rem; }
.adamit-cc__msg { margin: 0 0 1rem; color: #4a463f; }
.adamit-cc__msg a { color: inherit; text-decoration: underline; }
.adamit-cc__actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.adamit-cc__btn {
	font: inherit; font-weight: 600; font-size: .85rem; cursor: pointer;
	padding: .7rem 1.2rem; border-radius: 9px; border: 1px solid transparent; transition: .2s;
}
.adamit-cc__btn--primary { background: var(--adamit-cc-accent, #1c1c1c); color: #fff; }
.adamit-cc__btn--primary:hover { filter: brightness(1.15); }
.adamit-cc__btn--ghost { background: transparent; border-color: #d8d0c4; color: #1b1b1b; }
.adamit-cc__btn--ghost:hover { border-color: #1b1b1b; }
.adamit-cc__btn--text { background: transparent; color: #6a6358; padding-inline: .4rem; }
.adamit-cc__btn--text:hover { color: #1b1b1b; }
.adamit-cc__credit { margin: .9rem 0 0; font-size: 11px; color: #9a9185; letter-spacing: .02em; }
.adamit-cc__credit a { color: inherit; }

/* preferences modal */
.adamit-cc-modal { position: fixed; inset: 0; z-index: 100001; display: none; }
.adamit-cc-modal.is-open { display: block; }
.adamit-cc-modal__veil { position: absolute; inset: 0; background: rgba(20,16,10,.5); }
.adamit-cc-modal__panel {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	width: min(540px, calc(100% - 2rem)); max-height: 86vh; overflow-y: auto;
	background: #fff; border-radius: 14px; padding: clamp(1.3rem, 4vw, 2rem);
	box-shadow: 0 24px 60px rgba(20,16,10,.3);
}
.adamit-cc-modal__title { font-size: 1.2rem; font-weight: 600; margin: 0 0 1rem; }
.adamit-cc-cat { display: flex; gap: 1rem; padding: 1rem 0; border-top: 1px solid #eee6da; }
.adamit-cc-cat:first-of-type { border-top: 0; }
.adamit-cc-cat__body { flex: 1; }
.adamit-cc-cat__name { font-weight: 600; margin: 0 0 .2rem; }
.adamit-cc-cat__desc { margin: 0; font-size: .86rem; color: #6a6358; }
.adamit-cc-switch { position: relative; width: 44px; height: 26px; flex: 0 0 auto; }
.adamit-cc-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.adamit-cc-switch__track { position: absolute; inset: 0; background: #d8d0c4; border-radius: 999px; transition: .2s; }
.adamit-cc-switch__track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; background: #fff; border-radius: 50%; transition: .2s; }
.adamit-cc-switch input:checked + .adamit-cc-switch__track { background: var(--adamit-cc-accent, #1c1c1c); }
.adamit-cc-switch input:checked + .adamit-cc-switch__track::after { transform: translateX(18px); }
.adamit-cc-switch input:disabled + .adamit-cc-switch__track { opacity: .55; }
.adamit-cc-modal__actions { display: flex; gap: .6rem; margin-top: 1.4rem; flex-wrap: wrap; }

@media (max-width: 520px) {
	.adamit-cc__actions { flex-direction: column; align-items: stretch; }
	.adamit-cc__btn { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	.adamit-cc { transition: none; }
}
