/* =====================================================================
 * HiCookie — front-end consent banner. Colours come from inline CSS
 * custom properties set per site; positions are switched by class.
 * Hidden by default; revealed by frontend.js when no consent cookie set.
 * ===================================================================== */

.hic-banner{
	position:fixed;
	z-index:99999;
	display:none;
	box-sizing:border-box;
	min-height:var(--hic-box-h,auto);
	background:var(--hic-bg,#1d2327);
	color:var(--hic-text,#ffffff);
	font:15px/1.55 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	box-shadow:0 6px 30px rgba(0,0,0,.25);
}
.hic-banner.hic-visible,
.hic-banner.hic-hide{ display:flex; }
.hic-banner *{ box-sizing:border-box; }
.hic-banner .hic-text{ color:var(--hic-text,#ffffff); font-size:var(--hic-text-size,15px); }
.hic-banner .hic-text p{ margin:0 0 .4em; }
.hic-banner .hic-text p:last-child{ margin-bottom:0; }
.hic-banner .hic-text a,
.hic-banner a.hic-link{ color:var(--hic-text,#ffffff); text-decoration:underline; }

/* ----- 1. full-width bottom bar (radius applied to top corners only) ----- */
.hic-banner.hic-bottom{ left:0; right:0; bottom:0; padding:18px 24px; align-items:center; border-radius:var(--hic-radius,0) var(--hic-radius,0) 0 0; }
.hic-banner.hic-bottom .hic-inner{
	width:100%; max-width:1180px; margin:0 auto;
	display:flex; align-items:center; gap:20px 24px; flex-wrap:wrap;
}
.hic-banner.hic-bottom .hic-text{ flex:1 1 320px; min-width:240px; }

/* ----- 2 & 3. floating boxes (bottom-right / top-right) ----- */
.hic-banner.hic-right,
.hic-banner.hic-right-top{
	width:360px; max-width:calc(100vw - 32px);
	padding:22px 24px; border-radius:var(--hic-radius,14px);
}
.hic-banner.hic-right{ right:24px; bottom:24px; }
.hic-banner.hic-right-top{ right:24px; top:24px; }
.hic-banner.hic-right .hic-inner,
.hic-banner.hic-right-top .hic-inner{
	flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
}
.hic-banner.hic-right .hic-text,
.hic-banner.hic-right-top .hic-text{ margin-bottom:16px; }

/* ----- the agree button ----- */
.hic-banner .hic-accept{
	display:inline-flex; align-items:center; justify-content:center;
	cursor:pointer; border:0; border-radius:var(--hic-btn-radius,8px);
	padding:11px 26px; font-size:var(--hic-btn-size,15px); font-weight:600; line-height:1.2;
	white-space:nowrap;
	height:var(--hic-btn-h,auto); width:var(--hic-btn-w,auto);
	background:var(--hic-btn,#2271b1); color:var(--hic-btn-text,#ffffff);
	transition:filter .15s ease, transform .15s ease;
}
.hic-banner .hic-accept:hover{ filter:brightness(1.08); }
.hic-banner .hic-accept:active{ transform:translateY(1px); }

/* ----- entrance / exit ----- */
@media (prefers-reduced-motion:no-preference){
	.hic-banner.hic-visible{ animation:hic-in .35s ease both; }
	.hic-banner.hic-hide{ animation:hic-out .3s ease both; }
}
@keyframes hic-in{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes hic-out{ from{ opacity:1; transform:none; } to{ opacity:0; transform:translateY(14px); } }

@media (max-width:600px){
	.hic-banner.hic-right,
	.hic-banner.hic-right-top{ left:12px; right:12px; width:auto; }
	.hic-banner.hic-bottom .hic-accept{ width:100%; }
}
