/* OneClick Cookie Consent: front end. Light surface, one accent colour set by the owner (--occn-accent, --occn-on). Rules start with #occn (the banner) so theme button styles cannot override them, or with .occn-list (the cookie table). */
#occn, #occn *, #occn *::before, #occn *::after { box-sizing: border-box; }
#occn[hidden], #occn-reopen.occn-reopen[hidden], #occn .occn-panel[hidden] { display: none !important; }
#occn { position: fixed; z-index: 99999; font: 400 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #0f1b33; }
#occn .occn-box { background: #fff; border: 1px solid rgba(15, 27, 51, .12); border-radius: 18px; padding: 20px 22px; box-shadow: 0 1px 2px rgba(15, 27, 51, .05), 0 18px 44px -14px rgba(15, 27, 51, .28); max-height: calc(100vh - 32px); overflow-y: auto; animation: occn-rise .3s cubic-bezier(.22, .8, .2, 1); }
#occn.occn-card { left: 16px; bottom: 16px; width: min(420px, calc(100vw - 32px)); }
#occn.occn-bar { left: 0; right: 0; bottom: 0; padding: 12px; }
#occn.occn-bar .occn-box { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; align-items: center; }
#occn.occn-bar .occn-title { grid-column: 1; margin-bottom: 0; }
#occn.occn-bar .occn-text { grid-column: 1; margin-bottom: 0; }
#occn.occn-bar .occn-panel { grid-column: 1 / -1; }
#occn.occn-bar .occn-actions { grid-column: 2; grid-row: 1 / span 2; margin-top: 0; }
#occn.occn-bar .occn-btn { flex: 0 0 140px; }
#occn.occn-modal { inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(246, 243, 236, .78); }
#occn.occn-modal .occn-box { width: min(520px, 100%); }
#occn .occn-title { margin: 0 0 6px; font-size: 18px; line-height: 1.3; font-weight: 700; color: #0f1b33; padding: 0; }
#occn .occn-text { margin: 0 0 12px; color: #3b4863; }
#occn .occn-link { color: var(--occn-accent, #1d4e89); text-decoration: underline; text-underline-offset: 2px; }
#occn .occn-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
#occn .occn-btn { flex: 1 1 110px; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 0 16px; border-radius: 8px; border: 1.5px solid var(--occn-accent, #1d4e89); font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: normal; text-transform: none; text-shadow: none; box-shadow: none; cursor: pointer; transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
#occn .occn-btn-solid { background: var(--occn-accent, #1d4e89); color: var(--occn-on, #fff); }
#occn .occn-btn-solid:hover { filter: brightness(1.08); }
#occn .occn-btn-ghost { background: #fff; color: var(--occn-accent, #1d4e89); }
#occn .occn-btn-ghost:hover { background: rgba(15, 27, 51, .05); }
#occn .occn-btn:focus-visible, #occn-reopen.occn-reopen:focus-visible, #occn .occn-link:focus-visible, #occn input:focus-visible + .occn-slider { outline: 3px solid #0f1b33; outline-offset: 2px; }
#occn .occn-panel { border-top: 1px solid rgba(15, 27, 51, .12); margin-top: 8px; padding-top: 6px; }
#occn .occn-cat { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(15, 27, 51, .08); cursor: pointer; min-height: 44px; }
#occn .occn-cat-text { display: flex; flex-direction: column; gap: 2px; }
#occn .occn-cat-text small { color: #5b6784; font-size: 13px; line-height: 1.4; }
#occn .occn-tgl { position: relative; flex: 0 0 auto; width: 48px; height: 28px; }
#occn .occn-tgl input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
#occn .occn-slider { position: absolute; inset: 0; background: #c3cbdb; border-radius: 99px; transition: background-color .25s ease; }
#occn .occn-slider::before { content: ""; position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(15, 27, 51, .3); transition: transform .25s cubic-bezier(.22, .8, .2, 1); }
#occn .occn-tgl input:checked + .occn-slider { background: var(--occn-accent, #1d4e89); }
#occn .occn-tgl input:checked + .occn-slider::before { transform: translateX(20px); }
#occn .occn-tgl input:disabled { cursor: default; }
#occn .occn-tgl input:disabled + .occn-slider { opacity: .55; }
#occn-reopen.occn-reopen svg { display: block; flex: none; width: 22px; height: 22px; min-width: 22px; fill: currentColor; transform: none; }
#occn-reopen.occn-reopen { box-sizing: border-box; margin: 0; padding: 0; min-width: 44px; line-height: 1; box-shadow: none; text-transform: none; position: fixed; left: 16px; bottom: 16px; z-index: 99998; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--occn-accent, #1d4e89); color: var(--occn-on, #fff); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 2px rgba(15, 27, 51, .15), 0 10px 24px -8px rgba(15, 27, 51, .4); transition: transform .25s ease; }
#occn-reopen.occn-reopen:hover { transform: translateY(-2px); }
@keyframes occn-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {
	#occn.occn-card { left: 8px; right: 8px; bottom: 8px; width: auto; }
	#occn.occn-bar .occn-box { grid-template-columns: 1fr; }
	#occn.occn-bar .occn-actions { grid-column: 1; grid-row: auto; margin-top: 10px; }
	#occn .occn-box { padding: 16px; }
	#occn .occn-btn, #occn.occn-bar .occn-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { #occn .occn-box { animation: none; } #occn .occn-btn, #occn .occn-slider, #occn .occn-slider::before, #occn-reopen.occn-reopen { transition: none; } #occn-reopen.occn-reopen:hover { transform: none; } }

/* the [oneclick_cookie_list] table, on the owner's cookie policy page */
.occn-list h3 { margin: 24px 0 4px; }
.occn-list p { margin: 0 0 8px; }
.occn-list-wrap { overflow-x: auto; }
.occn-list table { width: 100%; border-collapse: collapse; margin: 0 0 12px; }
.occn-list th, .occn-list td { text-align: left; padding: 10px; border-bottom: 1px solid rgba(15, 27, 51, .12); vertical-align: top; }
.occn-list th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #5b6784; }
@media (max-width: 640px) {
	.occn-list thead { display: none; }
	.occn-list table, .occn-list tbody, .occn-list tr, .occn-list td { display: block; width: 100%; }
	.occn-list tr { border: 1px solid rgba(15, 27, 51, .12); border-radius: 12px; margin: 0 0 10px; padding: 6px 12px; }
	.occn-list td { border: 0; padding: 4px 0; }
	.occn-list td::before { content: attr(data-label); display: block; font-size: 12px; font-weight: 600; color: #5b6784; }
}
