/* Small fixes for post content in the Elementor single templates, on every post type. */

/* Imported content often has <strong> inside headings (invisible in the old
   theme, whose headings were bold). Let it follow the heading's own weight. */
.elementor-widget-theme-post-content :is(h1, h2, h3, h4, h5, h6) :is(strong, b) {
	font-weight: inherit;
}

/* Table of contents ([rewind_toc]). */
.rw-toc {
	margin: 32px 0;
	padding: 24px 28px;
	border-radius: 12px;
	background: #f5f8fc;
}

.rw-toc:empty {
	display: none;
}

.rw-toc .rw-toc__title {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 600;
	color: #020917;
}

.rw-toc .rw-toc__list,
.rw-toc .rw-toc__list ul {
	margin: 0;
	padding-left: 20px;
}

.rw-toc li {
	margin: 6px 0;
}

.elementor-widget-theme-post-content .rw-toc a {
	text-decoration: none !important;
}

.elementor-widget-theme-post-content .rw-toc a:hover {
	text-decoration: underline !important;
}

/* Headings land clear of the sticky site header when jumped to. */
.elementor-widget-theme-post-content :is(h2, h3)[id] {
	scroll-margin-top: 110px;
}

/* Gravity Forms fields (the newsletter box in the sidebars): keep text fields
   inside their container, padding and border included. */
.gform_wrapper.gform-theme :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]), select, textarea) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

/* Accordion (old accordion block, now <details>). */
.rw-accordion {
	margin: 32px 0;
	border-bottom: 1px solid #dfe3ea;
}

.rw-accordion > details {
	border-top: 1px solid #dfe3ea;
}

.rw-accordion > details > summary {
	position: relative;
	padding: 18px 40px 18px 0;
	list-style: none;
	cursor: pointer;
	font-size: 18px;
	font-weight: 600;
	color: #020917;
}

.rw-accordion > details > summary::-webkit-details-marker {
	display: none;
}

.rw-accordion > details > summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: #3c5df3;
}

.rw-accordion > details[open] > summary::after {
	content: "\2212";
}

.rw-accordion > details > :not(summary) {
	margin-top: 0;
	padding-right: 40px;
}

.rw-accordion > details > :last-child {
	margin-bottom: 18px;
}

/* Tabs (old tabs block; assets/tabs.js adds the buttons). */
.rw-tabs {
	margin: 32px 0;
	padding: 24px;
	border: 1px solid #dfe3ea;
	border-radius: 12px;
}

.rw-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.rw-tabs .rw-tabs__nav .rw-tabs__tab {
	padding: 10px 18px;
	border: 1px solid #dfe3ea;
	border-radius: 8px;
	background: #fff;
	color: #020917;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

.rw-tabs .rw-tabs__nav .rw-tabs__tab.is-active {
	border-color: var(--e-global-color-accent, #fdad0d);
	background: var(--e-global-color-accent, #fdad0d);
}

/* Without the script the panels stack, each under its title. */
.rw-tabs:not(.rw-tabs--ready) .rw-tabs__panel + .rw-tabs__panel {
	margin-top: 32px;
}

/* Pull quote (old feature text block). */
.rewind-feature-text {
	margin: 24px 0;
	padding-left: 20px;
	border-left: 3px solid var(--e-global-color-accent, #fdad0d);
}
