/* Cookie notice. Brand Guidelines v1.0 tokens from main.css. */
.ccn { position: fixed; z-index: 120; left: 20px; bottom: 20px; display: flex; gap: 14px; width: min(440px, calc(100vw - 40px)); padding: 18px 18px 16px; border: 1px solid var(--ll-navy-line); border-radius: 18px; background: rgba(11, 31, 58, .96); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: var(--ll-steel-light); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); opacity: 0; transform: translateY(16px); transition: opacity .3s var(--ease), transform .3s var(--ease); }
.ccn::before { content: ""; position: absolute; left: 18px; right: 18px; top: -1px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--ll-green-signal), #a3d5ff); }
.ccn.is-in { opacity: 1; transform: none; }
.ccn[hidden] { display: none; }
.ccn__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(23, 195, 123, .14); color: var(--ll-green-signal); }
.ccn__body { min-width: 0; }
.ccn__title { margin: 2px 0 4px; color: #fff; font: 700 15.5px/1.3 var(--ll-font-heading); }
.ccn__text { margin: 0 0 14px; font-size: 14px; line-height: 1.55; }
.ccn__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.ccn__actions .btn { min-height: 40px; padding: 10px 16px; }
.ccn .btn-secondary { background: transparent; border-color: rgba(255, 255, 255, .35); color: #fff; }
.ccn .btn-secondary:hover { border-color: #fff; }
.ccn__link { margin-left: 4px; color: var(--ll-steel-light) !important; font-size: 13px; text-decoration: underline !important; }
.ccn__link:hover { color: #fff !important; }
.ccn-reopen { position: fixed; z-index: 90; left: 16px; bottom: 16px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--ll-border); border-radius: 50%; background: #fff; color: var(--ll-navy); box-shadow: 0 8px 20px -8px rgba(11, 31, 58, .35); cursor: pointer; opacity: .85; transition: opacity .2s, transform .2s var(--ease); }
.ccn-reopen:hover { opacity: 1; transform: translateY(-2px); }
.ccn-reopen[hidden] { display: none; }
@media (max-width: 640px) {
	.ccn { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 16px 14px 14px; }
	.ccn__actions .btn { flex: 1 1 auto; }
	.ccn-reopen { width: 36px; height: 36px; left: 12px; bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.ccn { transition: none; }
}
@media print {
	.ccn, .ccn-reopen { display: none !important; }
}
