/* Justitia Consent banner */
.jc-root{position:fixed;z-index:2147483000;box-sizing:border-box;}
.jc-root *,.jc-root *::before,.jc-root *::after{box-sizing:border-box;}
.jc-root[hidden]{display:none;}

.jc-box-left{left:20px;bottom:20px;max-width:420px;width:calc(100% - 40px);}
.jc-box-right{right:20px;bottom:20px;max-width:420px;width:calc(100% - 40px);}
.jc-bar{left:0;right:0;bottom:0;width:100%;}

.jc-panel{
	background:var(--jc-bg,#fff);
	color:var(--jc-text,#334155);
	border-radius:16px;
	box-shadow:0 20px 60px rgba(2,6,23,.28);
	padding:24px 24px 20px;
	font-family:inherit;
	line-height:1.55;
	border:1px solid rgba(2,6,23,.06);
}
.jc-bar .jc-panel{border-radius:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;max-width:1200px;margin:0 auto;}
.jc-bar .jc-message{flex:1 1 320px;margin:0;}
.jc-bar .jc-title{flex-basis:100%;}

.jc-title{font-size:19px;font-weight:600;margin:0 0 8px;color:var(--jc-text,#334155);font-family:inherit;}
.jc-message{font-size:14px;margin:0 0 16px;color:var(--jc-text,#334155);opacity:.95;}
.jc-policy{color:var(--jc-a2,#8c2bee);text-decoration:underline;font-weight:500;}

/* preferences */
.jc-prefs{margin:4px 0 16px;border-top:1px solid rgba(2,6,23,.08);}
.jc-prefs[hidden]{display:none;}
.jc-cat{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(2,6,23,.08);}
.jc-cat-text{display:flex;flex-direction:column;gap:3px;}
.jc-cat-label{font-weight:600;font-size:14px;}
.jc-cat-desc{font-size:12.5px;opacity:.8;}

/* toggle switch */
.jc-switch{position:relative;flex:0 0 auto;width:44px;height:26px;}
.jc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;}
.jc-slider{position:absolute;inset:0;background:#cbd5e1;border-radius:999px;transition:background .2s ease;}
.jc-slider::before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.jc-switch input:checked + .jc-slider{background-image:linear-gradient(135deg,var(--jc-a1,#ee2bad),var(--jc-a2,#8c2bee));}
.jc-switch input:checked + .jc-slider::before{transform:translateX(18px);}
.jc-switch input:disabled{cursor:not-allowed;}
.jc-switch input:disabled + .jc-slider{opacity:.65;}

/* actions */
.jc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.jc-bar .jc-actions{flex:0 0 auto;}
.jc-btn{font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border-radius:999px;padding:11px 20px;border:0;line-height:1;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;}
.jc-btn:hover{transform:translateY(-1px);}
.jc-btn-primary{color:#fff;background-image:linear-gradient(135deg,var(--jc-a1,#ee2bad),var(--jc-a2,#8c2bee));box-shadow:0 6px 18px rgba(140,43,238,.28);}
.jc-btn-primary:hover{filter:brightness(1.05);}
.jc-btn-ghost{background:transparent;color:var(--jc-text,#334155);border:1.5px solid rgba(2,6,23,.18);}
.jc-btn-ghost:hover{border-color:var(--jc-a2,#8c2bee);color:var(--jc-a2,#8c2bee);}
/* Box layout: Reject + Accept share the top row (equal width); Manage preferences / Save span full width below. */
.jc-box-left .jc-btn,.jc-box-right .jc-btn{flex:1 1 0;text-align:center;}
.jc-box-left #jc-reject,.jc-box-right #jc-reject{order:1;}
.jc-box-left #jc-accept,.jc-box-right #jc-accept{order:2;}
.jc-box-left #jc-prefs-btn,.jc-box-right #jc-prefs-btn{order:3;flex:1 1 100%;}
.jc-box-left #jc-save,.jc-box-right #jc-save{order:4;flex:1 1 100%;}
.jc-bar .jc-btn{flex:0 0 auto;}
.jc-bar .jc-actions{margin-left:auto;}

/* floating re-open button */
.jc-fab{position:fixed;left:18px;bottom:18px;z-index:2147482000;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;color:#fff;background-image:linear-gradient(135deg,var(--jc-a1,#ee2bad),var(--jc-a2,#8c2bee));box-shadow:0 8px 22px rgba(140,43,238,.35);display:flex;align-items:center;justify-content:center;transition:transform .15s ease;}
.jc-fab[hidden]{display:none;}
.jc-fab:hover{transform:scale(1.08);}

@media (max-width:600px){
	.jc-box-left,.jc-box-right{left:10px;right:10px;bottom:10px;width:auto;max-width:none;}
	.jc-btn{text-align:center;}
}
