/* Info pages: Privacy Policy and the Complianz cookie policies. */

/* Cookie policies: Complianz's document is the page's whole content. The source's
   theme sets it, 800px at most, at the start of its page column (1140px, then
   800, 600 and 500px, and 10px gutters on phones) in #333 type with Conso
   headings and #c36 links. */
.wp-block-post-content > .cmplz-document {
	--legal-column: 1140px;

	max-width: min(800px, var(--legal-column));
	margin-left: calc((100% - var(--legal-column)) / 2) !important;
	color: #333;
}

.wp-block-post-content > .cmplz-document > :is(h2, h3),
.wp-block-post-content > .cmplz-document summary h3 {
	font-family: var(--wp--preset--font-family--conso);
	line-height: 1.2;
}

.wp-block-post-content > .cmplz-document :is(h2, h3, h4, h5) {
	color: inherit;
}

.wp-block-post-content > .cmplz-document h4 {
	font-family: Montserrat, sans-serif;
	font-weight: 500;
}

.wp-block-post-content > .cmplz-document h5 {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.4px;
}

.wp-block-post-content > .cmplz-document p {
	margin-bottom: 0.9rem;
}

.wp-block-post-content > .cmplz-document ul {
	margin-top: 0;
}

.wp-block-post-content > .cmplz-document a {
	color: #c36;
}

@media (width < 1200px) {
	.wp-block-post-content > .cmplz-document {
		--legal-column: 800px;
	}
}

@media (width < 992px) {
	.wp-block-post-content > .cmplz-document {
		--legal-column: 600px;
	}
}

@media (width < 768px) {
	.wp-block-post-content > .cmplz-document {
		--legal-column: 500px;
	}
}

@media (width < 576px) {
	.wp-block-post-content > .cmplz-document {
		--legal-column: calc(100% + 2 * (var(--wp--style--root--padding-left) - 10px));

		max-width: none;
		width: var(--legal-column);
	}
}

/* The table of contents: a 20px-padded title bar ruled in #9da5ae with a chevron
   at its end; it slides open over 0.4s (jQuery's swing) to bulleted links that
   turn green and underline under the pointer. */
.wp-block-details.is-style-legal-toc {
	margin: 0;
}

.wp-block-details.is-style-legal-toc > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px;
	border-bottom: 1px solid #9da5ae;
	color: #000;
	font-family: var(--wp--preset--font-family--conso);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	list-style: none;
	cursor: pointer;
}

.wp-block-details.is-style-legal-toc > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details.is-style-legal-toc > summary::after {
	content: "";
	flex: 0 0 16px;
	height: 16px;
	background: url("../icons/toc-chevron-down.svg") center / 16px 16px no-repeat;
}

.wp-block-details.is-style-legal-toc[open] > summary::after {
	transform: rotate(180deg);
}

.wp-block-details.is-style-legal-toc::details-content {
	height: 0;
	overflow: clip;
	transition: height 0.4s cubic-bezier(0.37, 0, 0.63, 1), content-visibility 0.4s allow-discrete;
}

.wp-block-details.is-style-legal-toc[open]::details-content {
	height: auto;
}

.wp-block-details.is-style-legal-toc > ul {
	margin: 0;
	padding: 20px;
}

.wp-block-details.is-style-legal-toc ul {
	list-style: none;
}

.wp-block-details.is-style-legal-toc ul ul {
	margin: 8px 0 0 16px;
	padding: 0;
}

.wp-block-details.is-style-legal-toc li {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 24px;
}

.wp-block-details.is-style-legal-toc li::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 8px;
	border-radius: 50%;
	background: #000;
	vertical-align: 0.05em;
}

.wp-block-details.is-style-legal-toc li a {
	color: #000;
	text-decoration: none;
}

.wp-block-details.is-style-legal-toc li a:hover {
	color: #61ce70;
	text-decoration: underline;
}

/* Privacy Policy text (the source's text editor): Conso headings on a 24px
   rhythm, each h2 opening with a blank line, paragraphs 0.9rem apart. */
.wp-block-group.is-style-legal-text > .wp-block-group > h2 {
	margin: 8px 0 16px;
	font-family: var(--wp--preset--font-family--conso);
	font-size: 20px;
	font-weight: 200;
	line-height: 24px;
}

.wp-block-group.is-style-legal-text > .wp-block-group > h2::before {
	content: "\a";
	white-space: pre;
}

.wp-block-group.is-style-legal-text > .wp-block-group > h3 {
	margin: 8px 0 16px;
	font-family: var(--wp--preset--font-family--conso);
	font-size: 16px;
	font-weight: 200;
	line-height: 1.2;
}

.wp-block-group.is-style-legal-text > .wp-block-group > p {
	margin: 0 0 0.9rem;
	font-size: 16px;
	line-height: 24px;
}

.wp-block-group.is-style-legal-text > .wp-block-group > ul {
	margin: 0;
	padding-left: 40px;
	font-size: 16px;
	line-height: 24px;
}

/* Phones set the source's text-editor paragraphs flush (its kit CSS). */
@media (width <= 767px) {
	.wp-block-group.is-style-legal-text > .wp-block-group > p {
		margin-bottom: 0;
	}
}
