/* Lobbit Cookie Consent - generated Cookie Policy. Colors and fonts come from the theme. */

.custcc-policy {
	overflow-wrap: anywhere;
}

/*
 * Frame of the whole policy: the width of the site content, centred. Inside
 * a theme column that is already narrower it changes nothing. The side
 * gutter is added only when the frame touches the edges of the window:
 * (100vw - 100cqw) / 2 is the room the theme leaves on each side, and up to
 * 9px of it is just the scrollbar. From 10px of room on, the theme has its
 * own margins and the gutter drops to 0, so the text stays aligned with them.
 */
.custcc-frame {
	width: 100%;
	container-type: inline-size;
}

/*
 * Space above and below the policy page, from the settings. It is padding of
 * the frame, not margin: margins can collapse into the boxes of the theme or
 * be reset by its rules on the first and last child; this padding cannot.
 */
.custcc-frame {
	padding-block: var(--custcc-space-top, 0) var(--custcc-space-bottom, 0);
}

@media (max-width: 767px) {
	.custcc-frame {
		padding-block: var(--custcc-space-top-m, 0) var(--custcc-space-bottom-m, 0);
	}
}

/* Frame turned off with the custcc_policy_width filter: only the space. */
.custcc-frame.custcc-frame--free > .custcc-policy {
	max-width: none;
	padding-inline: 0;
}

.custcc-frame > .custcc-policy {
	box-sizing: border-box;
	max-width: var(--custcc-frame-width, 1140px);
	margin-inline: auto;
	padding-inline: clamp(0px, calc(var(--custcc-frame-gutter, 20px) - ((100vw - 100cqw) / 2 - 9px) * 20), var(--custcc-frame-gutter, 20px));
}

/*
 * Title printed by the plugin on the policy pages, in the frame of the text.
 * The title of the theme is emptied: its heading and a header box holding
 * only that heading are hidden.
 */
.custcc-policy .custcc-policy-title {
	margin-top: 0;
}

.custcc-own-title :is(h1, .entry-title, .page-title):empty,
.custcc-own-title :is(.entry-header, .page-header):not(:has(> :not(:empty))) {
	display: none;
}

.custcc-policy-scroll {
	max-width: 100%;
	margin: 0 0 1.5em;
	overflow-x: auto;
}

.custcc-policy-scroll:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.custcc-policy .custcc-policy-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: 0.9em;
	text-align: left;
}

.custcc-policy .custcc-policy-table th,
.custcc-policy .custcc-policy-table td {
	padding: 0.6em 0.75em;
	border: 1px solid rgba(128, 128, 128, 0.35);
	vertical-align: top;
}

.custcc-policy .custcc-policy-table th {
	font-weight: 700;
	background: rgba(128, 128, 128, 0.12);
}

.custcc-policy .custcc-policy-table code {
	padding: 0;
	font-size: 0.95em;
	background: transparent;
}

.custcc-policy-note {
	font-size: 0.9em;
}

.custcc-policy-providers li {
	margin-bottom: 0.6em;
}

.custcc-policy-facts {
	margin: 0 0 1.5em;
	padding: 0.2em 1em;
	border: 1px solid rgba(128, 128, 128, 0.35);
}

.custcc-policy-facts dt {
	margin: 0.8em 0 0.1em;
	font-size: 0.8em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.custcc-policy-facts dd {
	margin: 0 0 0.8em;
}

/* Phones: one card per cookie, each value under its own label. */
@media (max-width: 600px) {
	.custcc-policy .custcc-policy-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.custcc-policy .custcc-policy-table,
	.custcc-policy .custcc-policy-table tbody,
	.custcc-policy .custcc-policy-table tr,
	.custcc-policy .custcc-policy-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.custcc-policy .custcc-policy-table tr {
		margin-bottom: 0.9em;
		border: 1px solid rgba(128, 128, 128, 0.35);
	}

	.custcc-policy .custcc-policy-table td {
		border: 0;
		border-bottom: 1px solid rgba(128, 128, 128, 0.2);
	}

	.custcc-policy .custcc-policy-table td:last-child {
		border-bottom: 0;
	}

	.custcc-policy .custcc-policy-table td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.8em;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.03em;
	}
}
