/* /assets/css/consent.css - the cookie banner of the public site (2026-10-09, owner). See assets/js/consent.js. */
.aib-cc { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 2147483600; display: flex; justify-content: center; pointer-events: none; }
.aib-cc[hidden] { display: none; }
.aib-cc-in { pointer-events: auto; width: 100%; max-width: 760px; background: var(--surface, #fff); color: var(--text, #2e3431); border: 1px solid var(--border, #dfe6e1); border-radius: 16px; box-shadow: 0 18px 50px rgba(46, 52, 49, .22); padding: 18px 20px; font-size: 14.5px; line-height: 1.55; }
.aib-cc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.aib-cc-head strong { font-family: var(--font-ui, inherit); font-size: 16px; color: var(--title, inherit); }
.aib-cc-x { background: none; border: 0; font-size: 22px; line-height: 1; padding: 2px 6px; cursor: pointer; color: var(--text-muted, #6b736f); border-radius: 6px; }
.aib-cc-x:hover, .aib-cc-x:focus-visible { background: var(--bg-soft, #f3f6f4); }
.aib-cc p { margin: 0; }
.aib-cc a { color: var(--forest-deep, #2f5a45); text-decoration: underline; }
.aib-cc-prefs { margin-top: 12px; display: grid; gap: 8px; }
.aib-cc-prefs[hidden] { display: none; }
.aib-cc-cat { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--border, #dfe6e1); border-radius: 10px; background: var(--bg-soft, #f7faf8); cursor: pointer; }
.aib-cc-cat input { width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--forest, #4c5f55); }
.aib-cc-cat span { display: block; font-size: 13.5px; color: var(--text-muted, #6b736f); }
.aib-cc-cat b { display: block; color: var(--title, inherit); font-size: 14.5px; }
.aib-cc-note { margin-top: 10px !important; padding: 8px 12px; border-radius: 8px; background: var(--mint, #d0eed5); font-size: 13.5px; }
.aib-cc-note[hidden] { display: none; }
.aib-cc-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; justify-content: flex-end; }
/* Accept and Reject look the same (GDPR: refusing must be as easy as accepting) */
.aib-cc-btns .btn { height: 40px; padding: 0 18px; font-size: 14px; }
.aib-cc-btns .aib-cc-main { background: var(--forest, #4c5f55); border-color: var(--forest, #4c5f55); color: #fff; }
.aib-cc-btns .aib-cc-main:hover { background: var(--forest-deep, #2f5a45); border-color: var(--forest-deep, #2f5a45); }
.aib-cc-btns .aib-cc-alt { background: transparent; border-color: var(--border-strong, #b9c4bd); color: var(--title, #2e3431); }
.aib-cc-btns [hidden] { display: none; }
.foot-cc { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
/* 2026-10-09 (owner) - Cookie settings as a small pill button with a cookie icon */
.foot-cc .foot-cc-btn { display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px 7px 11px; border-radius: 999px; background: var(--surface, #fff); border: 1.5px solid var(--mint-deep, #b5dfbe); color: var(--forest-deep, #2f5a45); font-family: var(--font-ui, inherit); font-size: 13px; font-weight: 700; line-height: 1; text-decoration: none; cursor: pointer; box-shadow: 0 2px 8px rgba(76, 95, 85, .10); transition: background .18s, color .18s, border-color .18s, box-shadow .18s, transform .18s; }
.foot-cc .foot-cc-btn svg { color: var(--orange, #e8833a); flex: 0 0 auto; transition: color .18s; }
.foot-cc .foot-cc-btn:hover, .foot-cc .foot-cc-btn:focus-visible { background: var(--forest-deep, #2f5a45); border-color: var(--forest-deep, #2f5a45); color: #fff; box-shadow: 0 6px 16px rgba(47, 90, 69, .25); transform: translateY(-1px); }
.foot-cc .foot-cc-btn:hover svg, .foot-cc .foot-cc-btn:focus-visible svg { color: #fff; }
.foot-cc .foot-cc-btn:focus-visible { outline: 2px solid var(--orange, #e8833a); outline-offset: 2px; }
.foot-cc .foot-cc-dns { color: var(--forest-deep, #2f5a45); font-size: 12.5px; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.foot-cc .foot-cc-dns:hover { color: var(--orange-deep, #c9661f); }
@media (max-width: 560px) {
	.aib-cc { left: 8px; right: 8px; bottom: 8px; }
	.aib-cc-in { padding: 14px 14px; max-height: 80vh; overflow-y: auto; }
	.aib-cc-btns .btn { flex: 1 1 auto; }
}
