/* CS Foundation – cookie banner and settings */
.csf-cookie,.csf-ck-dialog{--k-harbor:var(--harbor,#0b4a4f);--k-mission:var(--mission,#12777c);--k-lantern:var(--lantern,#f0a23b);--k-on-lantern:var(--on-lantern,#102528);--k-ink:var(--ink,#102528);--k-muted:var(--muted,#4c6265);--k-line:var(--mortar,#d5deda);
	font-family:var(--sans,'CSF Sans',Lato,system-ui,sans-serif);color:var(--k-ink);font-size:15px;line-height:1.5}
.csf-cookie *,.csf-ck-dialog *{box-sizing:border-box}

/* Banner: a calm card in the corner, never covering the page centre */
.csf-cookie{position:fixed;left:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:9980;width:min(440px,calc(100vw - 40px));background:#fff;border-radius:14px;padding:18px 20px 16px;
	box-shadow:0 18px 50px rgba(6,40,43,.22),0 0 0 1px rgba(6,40,43,.08);border-top:5px solid var(--k-lantern);transform:translateY(24px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s}
.csf-cookie.is-in{transform:none;opacity:1}
.csf-cookie-title{margin:0 0 4px;font:700 18px/1.25 var(--slab,'CSF Slab',Georgia,serif);color:var(--k-harbor)}
.csf-cookie p{margin:0}
.csf-cookie a{color:var(--k-mission);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.csf-cookie-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.csf-cookie-notice{display:flex;align-items:center;gap:14px;padding:14px 16px 14px 18px}
.csf-cookie-notice .csf-cookie-actions{margin:0;flex:none}
.csf-ck-btn{min-height:44px;padding:0 18px;border-radius:8px;border:0;font:700 15px/1 var(--sans,'CSF Sans',Lato,system-ui,sans-serif);cursor:pointer}
.csf-ck-primary{background:var(--k-harbor);color:#fff}
.csf-ck-primary:hover{background:var(--k-mission)}
.csf-ck-secondary{background:#fff;color:var(--k-harbor);box-shadow:inset 0 0 0 2px var(--k-line)}
.csf-ck-secondary:hover{box-shadow:inset 0 0 0 2px var(--k-mission)}
.csf-ck-link{background:none;color:var(--k-mission);text-decoration:underline;text-underline-offset:3px;padding:0 8px}
.csf-ck-btn:focus-visible,.csf-cookie a:focus-visible,.csf-ck-dialog a:focus-visible,.csf-ck-switch:focus-visible{outline:3px solid var(--k-lantern);outline-offset:2px}

/* Keep the chat button and install invitation clear of the banner */
body.csf-cookie-open .csfa-chat-launcher{bottom:calc(var(--csf-cookie-h,120px) + 36px + env(safe-area-inset-bottom))}
@media (min-width:700px){body.csf-cookie-open .csfa-chat-launcher{bottom:calc(20px + env(safe-area-inset-bottom))}}

/* Settings dialog */
html.csf-ck-locked,html.csf-ck-locked body{overflow:hidden}
.csf-ck-overlay{position:fixed;inset:0;z-index:9995;background:rgba(8,30,33,.55);display:grid;place-items:center;padding:20px;animation:csf-ck-fade .2s}
.csf-ck-dialog{position:relative;width:min(520px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#fff;border-radius:16px;padding:26px 26px 22px;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.csf-ck-dialog h2{margin:0 40px 6px 0;font:700 24px/1.2 var(--slab,'CSF Slab',Georgia,serif);color:var(--k-harbor)}
.csf-ck-intro{margin:0 0 16px;color:var(--k-muted)}
.csf-ck-list{display:grid;border-top:1px solid var(--k-line)}
.csf-ck-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--k-line);cursor:pointer}
.csf-ck-row-text{display:grid;gap:2px}
.csf-ck-row-text strong{font-size:16px}
.csf-ck-row-text span{color:var(--k-muted);font-size:14px}
.csf-ck-switch{appearance:none;-webkit-appearance:none;width:46px;height:28px;border-radius:14px;background:#b9c7c4;position:relative;cursor:pointer;margin:0;transition:background .15s;flex:none}
.csf-ck-switch::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.csf-ck-switch:checked{background:var(--k-mission)}
.csf-ck-switch:checked::after{transform:translateX(18px)}
.csf-ck-switch:disabled{opacity:.55;cursor:not-allowed}
.csf-ck-none{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:var(--mission-wash,#e7f1f1);font-size:14px}
.csf-ck-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.csf-ck-dialog-actions .csf-ck-btn{flex:1 1 auto}
.csf-ck-policy{display:inline-block;margin-top:14px;color:var(--k-mission);font-weight:700;font-size:14px}
.csf-ck-x{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:8px;background:none;color:var(--k-ink);cursor:pointer;display:grid;place-items:center}
.csf-ck-x:hover{background:var(--limewash,#f3f6f3)}
@keyframes csf-ck-fade{from{opacity:0}to{opacity:1}}

@media (max-width:560px){
	.csf-cookie{left:10px;right:10px;width:auto;bottom:calc(10px + env(safe-area-inset-bottom));padding:16px}
	.csf-cookie-notice{flex-direction:column;align-items:stretch;gap:12px}
	.csf-cookie-actions .csf-ck-primary{flex:1 1 40%}
	.csf-ck-overlay{place-items:end center;padding:0}
	.csf-ck-dialog{border-radius:16px 16px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));max-height:92dvh}
}
@media (prefers-reduced-motion:reduce){.csf-cookie{transition:none}.csf-ck-overlay{animation:none}}
@media print{.csf-cookie,.csf-ck-overlay{display:none}}

/* Cookie Policy page table */
.csf-table-wrap{overflow-x:auto;margin:0 0 28px;border-radius:6px;box-shadow:0 0 0 1px var(--mortar,#d5deda)}
.csf-cookie-table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.csf-cookie-table th{background:var(--limewash,#f3f6f3);text-align:left;font-weight:700;padding:10px 12px}
.csf-cookie-table td{padding:10px 12px;border-top:1px solid var(--mortar,#d5deda);vertical-align:top}
.csf-cookie-table code{font-size:13px;background:none;overflow-wrap:anywhere}
.csf-cookie-updated{color:var(--muted,#4c6265);font-size:15px}
@media (max-width:640px){
	.csf-table-wrap{box-shadow:none;overflow:visible}
	.csf-cookie-table{min-width:0}
	.csf-cookie-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
	.csf-cookie-table tr{display:block;border-radius:6px;box-shadow:0 0 0 1px var(--mortar,#d5deda);margin-bottom:12px;padding:6px 0}
	.csf-cookie-table td{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;border:0;padding:6px 12px}
	.csf-cookie-table td::before{content:attr(data-label);font-weight:700;font-size:13px;color:var(--muted,#4c6265)}
}
