/* Revi365 — cookiebanner + cookiepolitik
   Bruger temaets tokens fra main.css (--blue, --ink, --line …). */

.r365c{
	position:fixed;
	left:22px; bottom:22px;
	z-index:900;
	width:min(440px, calc(100vw - 44px));
	opacity:0;
	transform:translateY(14px);
	transition:opacity .26s ease, transform .26s ease;
}
.r365c.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	.r365c{transition:none}
}

.r365c__panel{
	background:#fff;
	border:1px solid var(--line);
	border-radius:var(--r);
	box-shadow:var(--sh-lg);
	padding:24px 24px 20px;
	max-height:calc(100vh - 44px);
	overflow-y:auto;
	overscroll-behavior:contain;
}

.r365c__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.r365c__mark{
	font-family:var(--ff);font-weight:800;font-size:.82rem;letter-spacing:.06em;
	color:var(--blue);line-height:1;
	padding:5px 8px;border-radius:var(--r-sm);background:var(--soft);
}
.r365c__mark span{color:var(--accent,#c2a14e)}
.r365c__title{font-size:1.16rem;margin:0;font-weight:800}

.r365c__intro{font-size:.9rem;line-height:1.6;color:var(--text);margin:0 0 16px}
.r365c__link{font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ---- Knapper: "Afvis alle" og "Accepter alle" er bevidst samme
       størrelse og vægt — det skal være lige let at afvise. ---- */

.r365c__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.r365c__btn{
	flex:1 1 0;
	min-width:132px;
	font-family:var(--ff);
	font-size:.92rem;font-weight:700;
	padding:12px 16px;
	border-radius:var(--r-pill);
	border:1.5px solid transparent;
	cursor:pointer;
	line-height:1.2;
	transition:background .18s, color .18s, border-color .18s;
}
.r365c__btn--decline{background:#fff;color:var(--ink);border-color:var(--line-2)}
.r365c__btn--decline:hover{background:var(--soft);border-color:var(--blue)}
.r365c__btn--accept,
.r365c__btn--save{background:var(--blue);color:#fff}
.r365c__btn--accept:hover,
.r365c__btn--save:hover{background:var(--blue-d)}

.r365c__more{
	flex:0 0 100%;
	background:none;border:0;padding:4px 0 0;
	font-family:var(--ff-body);font-size:.85rem;font-weight:600;
	color:var(--muted);text-decoration:underline;text-underline-offset:3px;
	cursor:pointer;text-align:left;
}
.r365c__more:hover{color:var(--blue)}

/* ---- Kategorier ---- */

.r365c__prefs{
	margin:2px 0 18px;padding-top:16px;
	border-top:1px solid var(--line);
	display:flex;flex-direction:column;gap:16px;
}
.r365c__cat{}
.r365c__switch{display:flex;align-items:center;gap:11px;cursor:pointer}
.r365c__switch.is-locked{cursor:default}
.r365c__switch input{position:absolute;opacity:0;width:1px;height:1px}

.r365c__track{
	flex:0 0 auto;
	width:40px;height:23px;border-radius:var(--r-pill);
	background:var(--line-2);
	position:relative;transition:background .2s;
}
.r365c__knob{
	position:absolute;top:3px;left:3px;
	width:17px;height:17px;border-radius:50%;
	background:#fff;box-shadow:0 1px 3px rgba(12,40,31,.3);
	transition:transform .2s;
}
.r365c__switch input:checked + .r365c__track{background:var(--blue)}
.r365c__switch input:checked + .r365c__track .r365c__knob{transform:translateX(17px)}
.r365c__switch input:disabled + .r365c__track{background:var(--blue);opacity:.45}
.r365c__switch input:focus-visible + .r365c__track{outline:2px solid var(--blue);outline-offset:2px}

.r365c__catname{font-family:var(--ff);font-weight:700;font-size:.93rem;color:var(--ink)}
.r365c__catname em{
	display:inline-block;margin-left:7px;
	font-style:normal;font-size:.7rem;font-weight:600;letter-spacing:.04em;
	text-transform:uppercase;color:var(--muted);
}
.r365c__catdesc{margin:7px 0 0 51px;font-size:.83rem;line-height:1.55;color:var(--muted)}

/* ---- Genåbn-fane ---- */

.r365c-reopen{
	position:fixed;left:16px;bottom:16px;z-index:120;
	display:inline-flex;align-items:center;gap:7px;
	padding:9px 14px 9px 11px;
	border:1px solid var(--line);border-radius:var(--r-pill);
	background:#fff;color:var(--ink);
	font-family:var(--ff);font-size:.8rem;font-weight:700;
	box-shadow:var(--sh-sm);cursor:pointer;
	opacity:.72;transition:opacity .2s, box-shadow .2s;
}
.r365c-reopen:hover{opacity:1;box-shadow:var(--sh)}
.r365c-reopen svg{width:17px;height:17px;color:var(--blue)}

/* Tekstknap til footer og cookiepolitik */
.r365c-open{
	background:none;border:0;padding:0;
	font:inherit;color:inherit;cursor:pointer;
	text-decoration:underline;text-underline-offset:3px;
}
.r365c-open:hover{color:var(--blue-l)}
.r365c-open.btn{text-decoration:none}

/* ---- Mobil: fuld bredde + scrim ---- */

@media (max-width:640px){
	.r365c{left:0;right:0;bottom:0;width:100%}
	.r365c__panel{
		border-radius:var(--r) var(--r) 0 0;
		border-left:0;border-right:0;border-bottom:0;
		padding:20px 18px 18px;
		max-height:86vh;
	}
	.r365c__btn{flex:1 1 100%}
	.r365c-reopen span{display:none}
	.r365c-reopen{padding:10px;left:12px;bottom:12px}
}
body.r365c-open-body::before{
	content:'';position:fixed;inset:0;z-index:890;
	background:rgba(12,40,31,.32);
	-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
}
@media (min-width:641px){
	body.r365c-open-body::before{display:none}
}

/* ---- Cookiepolitik-siden ([revi365_cookies]) ---- */

.r365cookies{margin:8px 0 0}
.r365cookies__state{
	background:var(--soft);border:1px solid var(--line);
	border-radius:var(--r);padding:22px 24px;margin-bottom:30px;
}
.r365cookies__state h3{margin:0 0 6px;font-size:1.05rem}
.r365cookies__now{font-size:.92rem;color:var(--text);margin:0 0 14px}

.r365cookies__cat{margin:0 0 30px}
.r365cookies__cat h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:1.05rem}
.r365cookies__badge{
	font-family:var(--ff-body);font-size:.68rem;font-weight:700;letter-spacing:.05em;
	text-transform:uppercase;color:var(--blue);
	background:var(--soft-2);padding:4px 9px;border-radius:var(--r-pill);
}
.r365cookies__cat > p{font-size:.92rem;color:var(--text);margin:0 0 14px}

.r365cookies__scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm)}
.r365cookies__table{width:100%;min-width:560px;border-collapse:collapse;font-size:.86rem}
.r365cookies__table th{
	text-align:left;font-family:var(--ff);font-weight:700;color:var(--ink);
	background:var(--soft);padding:11px 14px;border-bottom:1px solid var(--line);
	white-space:nowrap;
}
.r365cookies__table td{padding:11px 14px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:top}
.r365cookies__table tr:last-child td{border-bottom:0}
.r365cookies__table code{
	font-size:.82rem;color:var(--ink);background:var(--soft-2);
	padding:2px 6px;border-radius:5px;white-space:nowrap;
}
