/*
Theme Name:  Divi – Everyday Werk Child
Theme URI:   https://everydaywerk.com
Description: Everyday Werk child theme for Divi 5. Holds the content_type taxonomy, ACF local JSON, and (in later phases) the editorial block system and article styles. No presentation overrides in Phase 4A.
Author:      Everyday Werk LLC
Template:    Divi
Version:     0.1.0
Text Domain: divi-everydaywerk-child
*/

/* Phase 4A: intentionally empty. Divi 5 loads the parent stylesheet itself; nothing is overridden here yet. */

/* ============================================================
   EVERYDAY WERK â WEBSITE VISUAL SYSTEM v1 (PROTOTYPE)
   Phase 4B controlled visual prototype. Scope: Quick Facts visual
   treatment, Roundup Card refinement, five editorial callouts,
   button system, and article-body link treatment ONLY.
   Does not touch homepage, header, footer, navigation, logo,
   favicon, or any ACF/Dynamic Content architecture.
   All selectors below are scoped to the Theme Builder body
   (auto-generated "_tb_body" module IDs, which are unique to
   template 3224 â body 3205) or to new classes introduced only
   inside article body content (.et_pb_post_content), so nothing
   here can affect the homepage or other Divi-built pages.
   ============================================================ */

/* ------------------------------------------------------------
   1. COLOR SYSTEM (reference â for maintainers)
   Charcoal            #1F1F1F  primary type / strongest neutral
   Core Brand Slate Blue #6B7F93  accent / eyebrows / decorative only
                                  (4.13:1 on white â NOT used for
                                  normal-size text; see note below)
   Primary Action Slate  #5A6B7C accessible interactive derivative
                                  (5.48:1 on white / 5.16:1 on Soft
                                  White) â used for buttons AND any
                                  normal-text usage that needs the
                                  "blue" family (links, some labels)
   Light Blue Gray      #D9E1EA  subtle borders/separators (decorative)
   Soft White           #F7F8FA  light editorial/card surface
   Warm Neutral         #EDE7E2  selective warm surface, used sparingly
   Pure White           #FFFFFF  main canvas / card surface option
   ------------------------------------------------------------ */

/* ------------------------------------------------------------
   2. BUTTON SYSTEM
   ------------------------------------------------------------ */
.ew-btn {
	display: inline-block;
	padding: 0.55em 1.2em; /* v1.1: slightly reduced bulk, still clears WCAG 2.5.8's 24x24px target minimum */
	border-radius: 5px;
	font-weight: 600;
	font-size: 1em;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ew-btn:focus-visible {
	outline: 3px solid #5A6B7C;
	outline-offset: 2px;
}

/* Primary CTA â Primary Action Slate bg, white text. 5.48:1 (AA pass). */
.ew-btn--primary {
	background: #5A6B7C;
	color: #FFFFFF;
}
.ew-btn--primary:hover,
.ew-btn--primary:focus {
	background: #47576A; /* darker hover/focus, 7.40:1 on white */
	color: #FFFFFF;
}

/* Secondary CTA v1.1 - white/transparent, Charcoal text, Primary Action
   Slate border. Full-strength Charcoal (~16.5:1 vs white) read as too
   visually dominant next to the Primary button. Primary Action Slate
   (#5A6B7C) measures 5.48:1 against white - comfortably clears the
   WCAG 1.4.11 non-text 3:1 minimum for a UI component boundary while
   reading noticeably quieter, and reuses an already-approved palette
   token rather than introducing a new one. Text stays full-strength
   Charcoal so label legibility is unaffected. */
.ew-btn--secondary {
	background: transparent;
	color: #1F1F1F;
	border-color: #5A6B7C; /* v1.1: Primary Action Slate - see comment above */
}
.ew-btn--secondary:hover,
.ew-btn--secondary:focus {
	background: #F7F8FA;
	color: #1F1F1F;
	border-color: #47576A; /* darker Slate on hover/focus, 7.40:1 vs white */
}

/* Tertiary / text-link CTA â see article-body link treatment (Â§5),
   which already uses the accessible Primary Action Slate for normal
   text. .ew-btn--tertiary is provided for CTA-styled inline links that
   should NOT look like a button. */
.ew-btn--tertiary {
	background: transparent;
	color: #5A6B7C;
	padding: 0;
	border: none;
	font-weight: 400; /* v1.1: match editorial body-link weight, was inheriting .ew-btn's 600 and read like a heading */
	font-size: 1em; /* matches body-link size, not a larger button size */
	text-decoration: underline;
	text-underline-offset: 2px;
}
.ew-btn--tertiary:hover,
.ew-btn--tertiary:focus {
	color: #47576A;
}

/* ------------------------------------------------------------
   3. QUICK FACTS VISUAL TREATMENT (App 3125 / Book 3127)
   Visual-only. Field bindings, Dynamic Content and conditions in
   Theme Builder body 3205 are untouched. Targets the existing
   auto-generated Divi "group" module IDs that already wrap each
   Quick Facts block (et_pb_group_0_tb_body = App, et_pb_group_1_tb_body
   = Book). A CSS Grid is used instead of relying on DOM order, because
   the App group places its image module first while the Book group
   places its image module after the fact lines â Grid lets both attach
   to the same visual template regardless of that underlying order.
   ------------------------------------------------------------ */
.et_pb_group_0_tb_body,
.et_pb_group_1_tb_body {
	display: grid;
	grid-template-columns: 120px 1fr;
	column-gap: 1.25em;
	row-gap: 0.5em;
	align-items: start;
	background: #F7F8FA;
	border: 1px solid #D9E1EA;
	border-radius: 6px;
	padding: 1.25em;
	margin: 1.5em 0;
}

.et_pb_group_0_tb_body .et_pb_image,
.et_pb_group_1_tb_body .et_pb_image {
	grid-column: 1;
	grid-row: 1 / span 20;
	order: -1;
}
.et_pb_group_0_tb_body .et_pb_image img,
.et_pb_group_1_tb_body .et_pb_image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.et_pb_group_0_tb_body .et_pb_text,
.et_pb_group_1_tb_body .et_pb_text {
	grid-column: 2;
}
.et_pb_group_0_tb_body .et_pb_text .et_pb_text_inner,
.et_pb_group_1_tb_body .et_pb_text .et_pb_text_inner {
	margin: 0;
}
.et_pb_group_0_tb_body .et_pb_text .et_pb_text_inner p,
.et_pb_group_1_tb_body .et_pb_text .et_pb_text_inner p {
	margin: 0;
}

/* first text module in each group is the item's name/title */
.et_pb_group_0_tb_body .et_pb_text:first-of-type .et_pb_text_inner p,
.et_pb_group_1_tb_body .et_pb_text:first-of-type .et_pb_text_inner p {
	font-size: 1.15em;
	font-weight: 600;
	line-height: 1.3;
	color: #1F1F1F;
	margin-bottom: 0.3em;
}

/* remaining text modules are individual label: value fact lines */
.et_pb_group_0_tb_body .et_pb_text:not(:first-of-type) .et_pb_text_inner p,
.et_pb_group_1_tb_body .et_pb_text:not(:first-of-type) .et_pb_text_inner p {
	font-size: 0.95em;
	line-height: 1.5;
	color: #1F1F1F;
	margin-bottom: 0.4em;
}

@media (max-width: 480px) {
	.et_pb_group_0_tb_body,
	.et_pb_group_1_tb_body {
		grid-template-columns: 1fr;
	}
	.et_pb_group_0_tb_body .et_pb_image,
	.et_pb_group_1_tb_body .et_pb_image {
		grid-column: 1;
		grid-row: auto;
		max-width: 160px;
		margin-bottom: 0.5em;
	}
	.et_pb_group_0_tb_body .et_pb_text,
	.et_pb_group_1_tb_body .et_pb_text {
		grid-column: 1;
	}
}

/* ------------------------------------------------------------
   4. EVERYDAY WERK CALLOUT FAMILY (5 types)
   Reusable block-editor patterns (see inc/block-patterns.php).
   One shared visual family, differentiated only by label copy,
   a left accent border, and restrained approved-palette surface
   variation â no rainbow system, no CTA buttons inside.
   ------------------------------------------------------------ */
.ew-callout {
	margin: 1.75em 0;
	padding: 1.1em 1.35em;
	border-radius: 4px;
	border-left-width: 4px;
	border-left-style: solid;
	background: #FFFFFF;
}
.ew-callout > *:first-child { margin-top: 0; }
.ew-callout > *:last-child { margin-bottom: 0; }
.ew-callout__label {
	display: block;
	font-size: 0.78em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.45em;
}
.ew-callout p {
	margin: 0 0 0.6em;
	line-height: 1.6;
	color: #1F1F1F;
}

/* Make It WERK â actionable application */
.ew-callout--make-it-werk {
	border-left-color: #5A6B7C;
	background: #FFFFFF;
}
.ew-callout--make-it-werk .ew-callout__label { color: #5A6B7C; }

/* Maximize It â get more value/savings/efficiency.
   Label uses Primary Action Slate rather than raw Core Slate Blue:
   #6B7F93 measures only 3.89:1 on Soft White (below the 4.5:1 AA
   threshold for normal text), so the accessible derivative is used
   for the label text while Core Slate Blue remains the border accent
  (a decorative/non-text element, not subject to the same threshold). */
.ew-callout--maximize-it {
	border-left-color: #6B7F93;
	background: #F7F8FA;
}
.ew-callout--maximize-it .ew-callout__label { color: #5A6B7C; }

/* Werk Note â editorial aside/context; differentiated by italics
   rather than color, on the quietest possible accent. */
.ew-callout--werk-note {
	border-left-color: #D9E1EA;
	background: #FFFFFF;
}
.ew-callout--werk-note .ew-callout__label { color: #1F1F1F; }
.ew-callout--werk-note p { font-style: italic; }

/* Good to Know â helpful context. Warm Neutral trial surface (see
   Visual System report Â§8 for where Warm Neutral is/isn't recommended). */
.ew-callout--good-to-know {
	border-left-color: #D9E1EA;
	background: #EDE7E2;
}
.ew-callout--good-to-know .ew-callout__label { color: #1F1F1F; }

/* Watch Out â caution communicated via stronger hierarchy (heavier
   border weight + bolder label) rather than a new warning color. */
.ew-callout--watch-out {
	border-left-color: #1F1F1F;
	border-left-width: 5px;
	background: #F7F8FA;
}
.ew-callout--watch-out .ew-callout__label {
	color: #1F1F1F;
	font-weight: 800;
}

@media (max-width: 480px) {
	.ew-callout {
		padding: 0.9em 1em;
	}
}

/* ------------------------------------------------------------
   5. ARTICLE-BODY LINK TREATMENT
   Scoped to .et_pb_post_content (the Divi module that renders the
   block-editor article body) so this never touches header, footer,
   navigation, or homepage links.
   Core Brand Slate Blue (#6B7F93) is not used for link text: it
   measures 4.13:1 on white / 3.89:1 on Soft White, below the 4.5:1
   AA threshold for normal text. Per the standing accessibility rule,
   Core Slate Blue is left unchanged everywhere else, and the accessible
   Primary Action Slate derivative (5.48:1 / 5.16:1, AA pass) is used
   for article-body link text instead.
   ------------------------------------------------------------ */
.et_pb_post_content a:not(.ew-btn):not(.ew-roundup-card__cta-link) {
	color: #5A6B7C;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color .15s ease, text-decoration-thickness .15s ease;
}
.et_pb_post_content a:not(.ew-btn):not(.ew-roundup-card__cta-link):hover {
	color: #47576A;
	text-decoration-thickness: 2px;
}
.et_pb_post_content a:not(.ew-btn):not(.ew-roundup-card__cta-link):focus-visible {
	outline: 2px solid #5A6B7C;
	outline-offset: 2px;
	text-decoration-thickness: 2px;
}
/* Visited state intentionally mirrors the normal link color rather than
   introducing a separate shade: any distinct visited color available
   within the approved palette (e.g. raw Core Slate Blue) falls below
   the 4.5:1 AA text threshold, and link state is already communicated
   non-color via the underline. */
.et_pb_post_content a:not(.ew-btn):not(.ew-roundup-card__cta-link):visited {
	color: #5A6B7C;
}

/* ------------------------------------------------------------
   Quick Facts box v1.1 - lighter editorial "at-a-glance" surface
   Targets the ET Group module used as the Quick Facts container on
   the App and Book Quick Facts boxes (Theme Builder "_tb_body"
   template IDs; confirmed exactly one Group module per template,
   so this is scoped to the Quick Facts box only, not Divi columns
   generally).
   - Pure White surface instead of the ~6% gray tint Divi's default
     "light" background-layout option was adding (read as a solid
     gray data panel).
   - 1px Light Blue Gray (#D9E1EA) boundary - the same token already
     used for the Werk Note / Good to Know callout borders - instead
     of introducing a new color.
   - Tighter internal rhythm (18px vs Divi's default 30px flex gap)
     between stacked fields so the box reads as one intentional unit.
   Architecture/fields/ACF bindings/conditions are unchanged - this
   only restyles the existing Group module and its two title rows.
   ------------------------------------------------------------ */
.et_pb_group_0_tb_body,
.et_pb_group_1_tb_body {
	background: #FFFFFF !important;
	border: 1px solid #D9E1EA;
	gap: 18px !important;
}

/* Item-name row (first text module in each box) styled as a small
   heading so it reads as the box's title, not just another fact row. */
.et_pb_group_0_tb_body > .et_pb_text_8_tb_body p,
.et_pb_group_1_tb_body > .et_pb_text_15_tb_body p {
	font-size: 1.15em;
	font-weight: 700;
	color: #1F1F1F;
}


/* ------------------------------------------------------------
   6. ARTICLE REDESIGN — SEPT 2026 (Body 499 single posts)
   Rollback: style-ROLLBACK-2026-09-23.css (pre-redesign copy).
   Scoped to single posts rendered by the Theme Builder body.
   ------------------------------------------------------------ */

/* 6.1 Layout — generous gap, sidebar scrolls naturally (G1) */
@media (min-width: 981px) {
	body.single-post .et-l--body .et_pb_row_0_tb_body,
	body.single-post .et-l--body .et_pb_row_1_tb_body {
		max-width: 1180px !important;
		width: 90% !important;
	}
	/* Exact ~70/30 split (Divi columns are 17/24 + 7/24; this fine-tunes
	   them so the sidebar is always >= 300px for a 300x250 unit). */
	body.single-post .et-l--body .et_pb_row_1_tb_body {
		justify-content: space-between !important;
		column-gap: 0 !important;
	}
	body.single-post .et-l--body .et_pb_row_1_tb_body > .et_pb_column_1_tb_body {
		flex: 0 0 calc(70% - 32px) !important;
		width: calc(70% - 32px) !important;
		max-width: none !important;
		margin-right: 0 !important;
	}
	body.single-post .et-l--body .et_pb_row_1_tb_body > .et_pb_column_2_tb_body {
		flex: 0 0 calc(30% - 32px) !important;
		width: calc(30% - 32px) !important;
		min-width: 300px;
		max-width: none !important;
	}
	body.single-post .et-l--body .et_pb_column_2_tb_body {
		position: relative !important;
		top: auto !important;
		align-self: flex-start;
	}
}

/* 6.2 Typography & white space (G7) */
body.single-post .et-l--body .et_pb_post_title h1,
body.single-post .et-l--body .et_pb_post_title .entry-title {
	font-size: 42px !important;
	line-height: 1.18 !important;
	letter-spacing: -0.005em;
}
body.single-post .et-l--body .et_pb_text_1_tb_body,
body.single-post .et-l--body .et_pb_text_1_tb_body p {
	font-size: 19px !important;
	line-height: 1.55 !important;
	color: #1F1F1F;
}
body.single-post .et_pb_post_content_0_tb_body {
	font-size: 17.5px;
	line-height: 1.72;
	color: #1F1F1F;
}
body.single-post .et_pb_post_content_0_tb_body p,
body.single-post .et_pb_post_content_0_tb_body li {
	font-size: 17.5px !important;
	line-height: 1.72 !important;
}
body.single-post .et_pb_post_content_0_tb_body p {
	margin: 0 0 1.1em;
	padding-bottom: 0;
}
body.single-post .et_pb_post_content_0_tb_body h2 {
	font-size: 30px !important;
	line-height: 1.25 !important;
	margin: 60px 0 18px !important;
	padding-bottom: 0;
	scroll-margin-top: 110px;
}
body.single-post .et_pb_post_content_0_tb_body h3 {
	font-size: 22px !important;
	line-height: 1.3 !important;
	margin: 38px 0 12px !important;
	padding-bottom: 0;
	scroll-margin-top: 110px;
}
body.single-post .et_pb_post_content_0_tb_body h4 {
	font-size: 19px !important;
	line-height: 1.35 !important;
	margin: 30px 0 10px !important;
	scroll-margin-top: 110px;
}
body.single-post .et_pb_post_content_0_tb_body > *:first-child,
body.single-post .et_pb_post_content_0_tb_body .et_builder_inner_content > *:first-child {
	margin-top: 0 !important;
}
body.single-post .et_pb_post_content_0_tb_body figure {
	margin: 36px auto;
}
body.single-post .et_pb_post_content_0_tb_body figure img {
	height: auto;
	max-width: 100%;
}
body.single-post .et_pb_post_content_0_tb_body figcaption {
	font-size: 14.5px;
	line-height: 1.5;
	color: #47576A;
	margin-top: 10px;
	text-align: center;
}
body.single-post .et_pb_post_content_0_tb_body .wp-block-table {
	margin: 24px 0 32px;
	overflow-x: auto;
}
body.single-post .et_pb_post_content_0_tb_body .wp-block-table table {
	font-size: 16px;
	line-height: 1.5;
	border-collapse: collapse;
	width: 100%;
}
body.single-post .et_pb_post_content_0_tb_body .wp-block-table th,
body.single-post .et_pb_post_content_0_tb_body .wp-block-table td {
	padding: 12px 14px;
	border: 1px solid #D9E1EA;
	vertical-align: top;
	text-align: left;
}
body.single-post .et_pb_post_content_0_tb_body .wp-block-table th {
	background: #F7F8FA;
	font-weight: 700;
}

/* 6.3 Compact table of contents (G2 / D2) */
.ew-toc {
	margin: 32px 0 44px;
	border: 1px solid #D9E1EA;
	border-radius: 8px;
	background: #F7F8FA;
}
.ew-toc > summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 20px;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.02em;
	color: #1F1F1F;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-radius: 8px;
}
.ew-toc > summary::-webkit-details-marker { display: none; }
.ew-toc > summary::after {
	content: "+";
	font-size: 22px;
	line-height: 1;
	font-weight: 400;
	color: #5A6B7C;
}
.ew-toc[open] > summary::after { content: "\2212"; }
.ew-toc > summary:focus-visible {
	outline: 2px solid #5A6B7C;
	outline-offset: 2px;
}
.ew-toc .ew-toc__list {
	margin: 0 !important;
	padding: 0 22px 18px 44px !important;
}
.ew-toc .ew-toc__list li {
	font-size: 16px !important;
	line-height: 1.5 !important;
	padding: 5px 0;
}
.ew-toc .ew-toc__list a {
	color: #1F1F1F;
	text-decoration: none;
}
.ew-toc .ew-toc__list a:hover,
.ew-toc .ew-toc__list a:focus-visible {
	color: #5A6B7C;
	text-decoration: underline;
}

/* 6.4 Editorial callouts (G8) — refines section 4 */
.ew-callout {
	position: relative;
	margin: 2.2em 0 !important;
	padding: 1.35em 1.6em !important;
	border-radius: 6px;
	border-left-width: 4px;
	border-left-style: solid;
}
.ew-callout .ew-callout__label {
	display: flex !important;
	align-items: center;
	gap: 0.5em;
	font-size: 0.82em !important;
	letter-spacing: 0.06em;
	margin-bottom: 0.5em !important;
}
.ew-callout .ew-callout__label::before {
	content: "";
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--ew-callout-icon) center / contain no-repeat;
	mask: var(--ew-callout-icon) center / contain no-repeat;
}
.ew-callout p { line-height: 1.65 !important; }

.ew-callout--make-it-werk {
	background: #EEF3F8 !important;
	border-left-color: #5A6B7C !important;
	--ew-callout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1V17h6v-.2c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");
}
.ew-callout--maximize-it {
	background: #F1F4F7 !important;
	border-left-color: #6B7F93 !important;
	--ew-callout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/svg%3E");
}
.ew-callout--werk-note {
	background: #F7F8FA !important;
	border-left-color: #9AA5B1 !important;
	--ew-callout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E");
}
.ew-callout--werk-note .ew-callout__label { color: #47576A !important; }
.ew-callout--watch-out {
	background: #F7F2EE !important;
	border-left-color: #A9744F !important;
	--ew-callout-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9L1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E");
}
.ew-callout--watch-out .ew-callout__label { color: #7A4E2F !important; }
/* Unlabelled caution callout: icon sits in the left gutter. */
.ew-callout--watch-out:not(:has(.ew-callout__label)) {
	padding-left: 3.6em !important;
}
.ew-callout--watch-out:not(:has(.ew-callout__label))::before {
	content: "";
	position: absolute;
	left: 1.25em;
	top: 1.45em;
	width: 22px;
	height: 22px;
	background: #7A4E2F;
	-webkit-mask: var(--ew-callout-icon) center / contain no-repeat;
	mask: var(--ew-callout-icon) center / contain no-repeat;
}

/* 6.5 Hide empty template Quick Facts panels (G9) */
.et-l--body .et_pb_group:not(:has(*)) {
	display: none !important;
}

/* 6.6 Newsletter (G3) — Kit form 9926881, native script embed */
.ew-sidebar { display: flex; flex-direction: column; gap: 32px; }
.ew-newsletter {
	background: #EAF1F8;
	border-radius: 10px;
	padding: 32px 28px 26px;
	color: #1F1F1F;
}
.ew-newsletter__eyebrow {
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #47576A !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}
.ew-newsletter .ew-newsletter__title {
	font-size: 27px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	color: #1F1F1F !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
}
.ew-newsletter__body {
	font-size: 16.5px !important;
	line-height: 1.6 !important;
	color: #1F1F1F !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
}
.ew-newsletter__note {
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #47576A !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	text-align: center;
}
html body .ew-newsletter .formkit-form {
	max-width: none !important;
	width: 100% !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}
html body .ew-newsletter .formkit-form > div { padding: 0 !important; }
html body .ew-newsletter .formkit-fields {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 0 !important;
}
html body .ew-newsletter .formkit-field,
html body .ew-newsletter .formkit-submit {
	flex: 0 0 auto !important;
	width: 100% !important;
	margin: 0 !important;
}
html body .ew-newsletter .formkit-input {
	width: 100% !important;
	height: 52px !important;
	font-size: 16px !important;
	color: #1F1F1F !important;
	background: #FFFFFF !important;
	border: 1px solid #9AA5B1 !important;
	border-radius: 6px !important;
	padding: 0 16px !important;
}
html body .ew-newsletter .formkit-input:focus {
	border-color: #1F1F1F !important;
	outline: 2px solid #5A6B7C !important;
	outline-offset: 1px;
}
html body .ew-newsletter .formkit-submit {
	background: #1F1F1F !important;
	color: #FFFFFF !important;
	border-radius: 6px !important;
	min-height: 52px;
	font-size: 16px !important;
	font-weight: 700 !important;
}
html body .ew-newsletter .formkit-submit > span {
	padding: 15px 20px !important;
	font-weight: 700 !important;
}
html body .ew-newsletter .formkit-submit:hover,
html body .ew-newsletter .formkit-submit:focus-visible {
	background: #47576A !important;
}
html body .ew-newsletter .formkit-submit:focus-visible {
	outline: 2px solid #1F1F1F !important;
	outline-offset: 2px;
}
html body .ew-newsletter .formkit-powered-by-convertkit-container {
	margin: 10px 0 0 !important;
	justify-content: center;
}
.ew-newsletter--inline {
	margin: 48px auto 8px;
	max-width: 640px;
}

/* 6.7 Sidebar cards: Instagram, More to Explore, ad slot (G4–G6) */
.ew-side-card { padding: 0 4px; }
.ew-side-card .ew-side-card__title {
	font-size: 14px !important;
	line-height: 1.4 !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #1F1F1F !important;
	margin: 0 0 14px !important;
	padding: 0 0 10px !important;
	border-bottom: 1px solid #D9E1EA;
}
.ew-instagram__feed img { border-radius: 4px; }
.ew-instagram__follow {
	display: inline-block;
	margin-top: 12px;
	font-weight: 700;
	color: #5A6B7C;
}
.ew-explore__list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ew-explore__list li {
	padding: 9px 0 !important;
	border-bottom: 1px solid #EEF1F5;
	font-size: 16px;
	line-height: 1.4;
}
.ew-explore__list a {
	color: #1F1F1F;
	text-decoration: none;
}
.ew-explore__list a::after { content: " \2192"; color: #5A6B7C; }
.ew-explore__list a:hover,
.ew-explore__list a:focus-visible { color: #5A6B7C; text-decoration: underline; }
.ew-ad-slot {
	width: 300px;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}
.ew-ad-slot__label {
	font-size: 11px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #5A6B7C !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
}
.ew-ad-slot__unit { width: 300px; min-height: 250px; margin: 0 auto; }
.ew-sidebar--inline { margin-top: 8px; gap: 40px; }

/* 6.8 Responsive scale */
@media (max-width: 980px) {
	body.single-post .et-l--body .et_pb_post_title h1,
	body.single-post .et-l--body .et_pb_post_title .entry-title { font-size: 36px !important; }
	body.single-post .et_pb_post_content_0_tb_body h2 { font-size: 27px !important; margin-top: 52px !important; }
	body.single-post .et_pb_post_content_0_tb_body h3 { font-size: 21px !important; }
}
@media (max-width: 767px) {
	body.single-post .et-l--body .et_pb_post_title h1,
	body.single-post .et-l--body .et_pb_post_title .entry-title { font-size: 30px !important; line-height: 1.2 !important; }
	body.single-post .et-l--body .et_pb_text_1_tb_body,
	body.single-post .et-l--body .et_pb_text_1_tb_body p { font-size: 17.5px !important; }
	body.single-post .et_pb_post_content_0_tb_body,
	body.single-post .et_pb_post_content_0_tb_body p,
	body.single-post .et_pb_post_content_0_tb_body li { font-size: 17px !important; line-height: 1.68 !important; }
	body.single-post .et_pb_post_content_0_tb_body h2 { font-size: 24px !important; margin-top: 44px !important; }
	body.single-post .et_pb_post_content_0_tb_body h3 { font-size: 20px !important; margin-top: 30px !important; }
	body.single-post .et_pb_post_content_0_tb_body .wp-block-table table { font-size: 15px; }
	.ew-callout { padding: 1.15em 1.2em !important; }
	.ew-callout--watch-out:not(:has(.ew-callout__label)) { padding-left: 3.2em !important; }
	.ew-callout--watch-out:not(:has(.ew-callout__label))::before { left: 1em; }
	.ew-newsletter { padding: 26px 20px 22px; }
	.ew-newsletter .ew-newsletter__title { font-size: 24px !important; }
}

/* 6.9 Evidence screenshots (reusable: add class `ew-evidence` plus a width
   modifier to an image block). Original files are kept; only the displayed
   width is limited. */
body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence {
	--ew-evidence-w: 420px;
	width: 100%;
	max-width: var(--ew-evidence-w) !important;
	margin: 44px auto 48px !important;
	text-align: center;
}
body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--narrow { --ew-evidence-w: 300px; }
body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--tall   { --ew-evidence-w: 360px; }
body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--medium { --ew-evidence-w: 420px; }
body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--wide   { --ew-evidence-w: 560px; }
.ew-evidence__frame {
	position: relative;
	display: block;
	border: 1px solid #D9E1EA;
	border-radius: 10px;
	overflow: hidden;
	background: #FFFFFF;
	box-shadow: 0 6px 18px rgba(31, 31, 31, 0.08);
}
figure.ew-evidence img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	cursor: zoom-in;
}
.ew-evidence__zoom {
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 7px 12px;
	border: 0;
	border-radius: 999px;
	background: rgba(31, 31, 31, 0.82);
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}
.ew-evidence__zoom:hover,
.ew-evidence__zoom:focus-visible { background: #1F1F1F; }
.ew-evidence__zoom:focus-visible { outline: 3px solid #5A6B7C; outline-offset: 2px; }
body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence figcaption {
	margin: 12px auto 0 !important;
	font-size: 14px;
	line-height: 1.5;
	color: #47576A;
	text-align: center;
}
.ew-zoom {
	padding: 0;
	border: 0;
	border-radius: 10px;
	max-width: min(92vw, 900px);
	max-height: 92vh;
	background: #FFFFFF;
	overflow: auto;
}
.ew-zoom::backdrop { background: rgba(20, 24, 30, 0.78); }
.ew-zoom__img { display: block; width: 100%; height: auto; }
.ew-zoom__close {
	position: sticky;
	top: 0;
	float: right;
	margin: 10px;
	padding: 8px 14px;
	border: 0;
	border-radius: 6px;
	background: #1F1F1F;
	color: #FFFFFF;
	font-weight: 700;
	cursor: pointer;
	z-index: 1;
}
.ew-zoom__close:focus-visible { outline: 3px solid #5A6B7C; outline-offset: 2px; }
@media (max-width: 767px) {
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence { margin: 36px auto 40px !important; }
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--medium,
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--wide { --ew-evidence-w: 100%; }
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--tall { --ew-evidence-w: 300px; }
}

/* 6.10 Share row: consistent control sizing (links + buttons) and the
   Print Article button */
.ew-share-row .ew-share-list { align-items: center; }
.ew-share-row .ew-share-link {
	box-sizing: border-box;
	height: 44px;
	line-height: 26px !important;
	font-family: inherit;
	font-size: 14px;
	vertical-align: middle;
	margin: 0;
}
.ew-share-row button.ew-share-link { -webkit-appearance: none; appearance: none; }
.ew-print-link { cursor: pointer; }

/* 6.11 Pasted rich text: some older posts contain spans copied from Google
   Docs with inline `white-space: pre-wrap`, which lets trailing spaces hang
   past the text column. Normal wrapping; wording unchanged. */
body.single-post .et_pb_post_content_0_tb_body span[style*="pre-wrap"] { white-space: normal !important; }
.ew-print-only { display: none !important; }

/* 6.12 Header dropdowns: keyboard access (2026-09-24) */
#top-menu li:focus-within > ul.sub-menu { opacity: 1 !important; visibility: visible !important; z-index: 9999; }
#top-menu a:focus-visible, #et-secondary-nav a:focus-visible, .et_mobile_menu a:focus-visible { outline: 2px solid #1F1F1F; outline-offset: 2px; }

/* ------------------------------------------------------------
   7. PRINT — Body 499 articles
   ------------------------------------------------------------ */
@media print {
	@page { margin: 16mm 15mm 18mm; }
	html, body { background: #FFFFFF !important; }
	body, body * {
		color: #000000 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	/* Hide site chrome and interactive elements */
	#wpadminbar, #coming-soon-footer-banner, #top-header, #main-header, .et-l--header, header.et-l,
	.et-l--footer, #main-footer, footer.et-l,
	.et_pb_scroll_top, .et_pb_scroll_top_icon, #cmp-notice, .cmp-notice, [class*="cmp-"],
	.et_pb_column_2_tb_body, .ew-sidebar, .ew-newsletter, .ew-instagram, .ew-ad-slot, .ew-explore,
	.ew-share-row, .et_pb_code_0_tb_body, .et_pb_code_1_tb_body, .et_pb_code_2_tb_body, .et_pb_code_3_tb_body,
	.ew-related-stories, .ew-toc, .ew-kit-signup, .formkit-form,
	.et-l--body .et_pb_image_0_tb_body, .ew-evidence__zoom, .ew-zoom,
	.et_pb_section_video_bg, iframe, video, form, button {
		display: none !important;
	}
	#page-container { padding-top: 0 !important; margin-top: 0 !important; }
	.et-l--body .et_pb_section, .et-l--body .et_pb_row, .et-l--body .et_pb_column {
		gap: 0 !important;
		row-gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: 0 0 100% !important;
	}
	.ew-print-only { display: block !important; }
	.ew-print-url { font-size: 9.5pt !important; margin: 0 0 10pt !important; word-break: break-all; }

	/* Typography */
	body.single-post .et-l--body .et_pb_post_title h1,
	body.single-post .et-l--body .et_pb_post_title .entry-title {
		font-size: 22pt !important; line-height: 1.2 !important; margin: 0 0 6pt !important;
	}
	body.single-post .et-l--body .et_pb_text_1_tb_body,
	body.single-post .et-l--body .et_pb_text_1_tb_body p { font-size: 12pt !important; line-height: 1.45 !important; }
	.et-l--body .et_pb_text { margin-bottom: 3pt !important; }
	/* Compact article header: category, title, dek, byline, date */
	.et-l--body .et_pb_row_0_tb_body .et_pb_column { display: block !important; }
	.et-l--body .et_pb_row_0_tb_body .et_pb_module { margin: 0 0 3pt !important; padding: 0 !important; min-height: 0 !important; }
	.et-l--body .et_pb_row_0_tb_body .et_pb_text p { margin: 0 !important; padding: 0 !important; }
	.et-l--body .et_pb_row_0_tb_body .et_pb_text_0_tb_body { font-size: 9pt !important; text-transform: uppercase; letter-spacing: 0.05em; }
	.et-l--body .et_pb_row_0_tb_body .et_pb_text_2_tb_body,
	.et-l--body .et_pb_row_0_tb_body .et_pb_text_3_tb_body,
	.et-l--body .et_pb_row_0_tb_body .et_pb_text_4_tb_body { font-size: 9.5pt !important; display: inline-block !important; margin-right: 10pt !important; }
	.et-l--body .et_pb_row_0_tb_body { padding-bottom: 6pt !important; border-bottom: 0.75pt solid #000000; margin-bottom: 8pt !important; }
	.et_pb_post_content_0_tb_body hr { display: none !important; }
	body.single-post .et_pb_post_content_0_tb_body,
	body.single-post .et_pb_post_content_0_tb_body p,
	body.single-post .et_pb_post_content_0_tb_body li,
	body.single-post .et_pb_post_content_0_tb_body span[style*="font-size"] { font-size: 10.5pt !important; line-height: 1.36 !important; }
	body.single-post .et_pb_post_content_0_tb_body p { margin: 0 0 3pt !important; padding: 0 !important; orphans: 3; widows: 3; }
	body.single-post .et_pb_post_content_0_tb_body p:empty { display: none !important; }
	body.single-post .et_pb_post_content_0_tb_body li { margin-bottom: 2pt !important; }
	body.single-post .et_pb_post_content_0_tb_body ul, body.single-post .et_pb_post_content_0_tb_body ol { margin: 0 0 5pt !important; padding-bottom: 0 !important; }
	body.single-post .et_pb_post_content_0_tb_body h2 { font-size: 14pt !important; margin: 11pt 0 4pt !important; padding: 0 !important; }
	body.single-post .et_pb_post_content_0_tb_body h3 { font-size: 12pt !important; margin: 8pt 0 3pt !important; padding: 0 !important; }
	body.single-post .et_pb_post_content_0_tb_body h4 { font-size: 11.5pt !important; margin: 10pt 0 4pt !important; }
	h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; break-inside: avoid; }
	/* FAQ: keep each bold-only question paragraph with the start of its answer */
	body.single-post .et_pb_post_content_0_tb_body h2[id*="faq"] ~ p:has(> strong:only-child) { break-after: avoid; page-break-after: avoid; }

	/* Keep blocks together */
	figure, table, .wp-block-table, .ew-callout, blockquote, img {
		break-inside: avoid; page-break-inside: avoid;
	}
	figcaption { break-before: avoid; page-break-before: avoid; }
	body.single-post .et_pb_post_content_0_tb_body span[style*="pre-wrap"] { white-space: normal !important; }
	.wp-block-table table { font-size: 10pt !important; }
	.wp-block-table th, .wp-block-table td { border: 1px solid #777777 !important; padding: 3pt 5pt !important; }

	/* Screenshots: small but readable, no frame shadow */
	.et_pb_post_content_0_tb_body figure { margin: 8pt auto !important; }
	/* Ordinary (non-evidence) images: smaller in print to save paper */
	.et_pb_post_content_0_tb_body figure:not(.ew-evidence):not(.wp-block-table) { max-width: 62% !important; }
	.et_pb_post_content_0_tb_body figure:not(.ew-evidence) img { max-height: 65mm !important; }
	.et_pb_post_content_0_tb_body figure img { max-height: 85mm !important; width: auto !important; max-width: 100% !important; margin: 0 auto !important; }
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence { max-width: 60mm !important; margin: 8pt auto !important; }
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence--medium { max-width: 70mm !important; }
	body.single-post .et_pb_post_content_0_tb_body figure.ew-evidence img { max-height: none !important; width: 100% !important; }
	.ew-evidence__frame { border: 0.5pt solid #999999 !important; border-radius: 0 !important; }
	figcaption { font-size: 9pt !important; margin-top: 4pt !important; }

	/* Callouts: bordered, no fills, icons kept */
	.ew-callout {
		border: 0.5pt solid #999999 !important;
		border-left: 3pt solid #000000 !important;
		padding: 6pt 9pt !important;
		margin: 8pt 0 !important;
	}
	.ew-callout .ew-callout__label::before,
	.ew-callout--watch-out:not(:has(.ew-callout__label))::before { background: #000000 !important; }

	/* Show destinations of external text links */
	.et_pb_post_content_0_tb_body a[href^="http"]:not(:has(img))::after {
		content: " (" attr(href) ")";
		font-size: 8.5pt;
		word-break: break-all;
	}
	a { text-decoration: underline !important; }
}

/* ==========================================================================
   8. Footer column widths (2026-09-24)
   Desktop only: the Theme Builder footer used six narrow 1/6 columns, which
   wrapped short labels ("Make / Money", "Start a / Business"). Same content,
   links and order; wider columns aligned across both footer rows.
   Rollback: delete this section (backup: style-ROLLBACK-2026-09-24c.css).
   ========================================================================== */
@media (min-width:981px){
.et-l--footer .et_pb_row_0_tb_footer,.et-l--footer .et_pb_row_1_tb_footer{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.3fr) minmax(0,1.6fr);column-gap:32px}
.et-l--footer .et_pb_row_0_tb_footer::after,.et-l--footer .et_pb_row_1_tb_footer::after{display:none}
.et-l--footer .et_pb_row_0_tb_footer>.et_pb_column,.et-l--footer .et_pb_row_1_tb_footer>.et_pb_column{width:auto!important;margin-right:0!important;float:none!important}
.et-l--footer .et_pb_row_0_tb_footer>.et_pb_column:empty{display:none}
}
/* Phones: left-align the footer button, logo and Subscribe with the other footer content. */
@media (max-width:767px){
.et-l--footer .et_pb_button_0_tb_footer_wrapper{text-align:left!important}
.et-l--footer .et_pb_image_0_tb_footer,.et-l--footer .et_pb_button_1_tb_footer_wrapper{margin-left:0!important;margin-right:auto!important;text-align:left!important}
}

/* Footer column labels (2026-09-24): changed from H2 headings to text labels in the
   Theme Builder footer (layout 385) so each page keeps one clean heading outline.
   Same appearance as the previous H2 styling. Rollback: style-ROLLBACK-2026-09-24d.css */
.et-l--footer p.ew-footer-heading{margin:0!important;padding:0 0 10px!important;font-family:'Raleway',Helvetica,Arial,Lucida,sans-serif!important;font-size:18px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:normal!important;text-transform:uppercase!important;text-align:left;color:#666!important}
.et-l--footer p.ew-footer-heading a,.et-l--footer p.ew-footer-heading strong{color:#666!important;font-weight:700!important;text-decoration:none}

/* Newsletter forms: Kit badge spacing (2026-09-24). Spacing only; Kit's required
   "Built with Kit" badge itself is unchanged. The badge sits just under the button
   as part of the form, with the approved microcopy below it. No extra panel height.
   Rollback: style-ROLLBACK-2026-09-24e.css */
html body .ew-newsletter .ew-kit-signup .formkit-powered-by-convertkit-container{margin:6px 0 0!important}
html body .ew-newsletter .ew-newsletter__note,html body.home #newsletter .ew-newsletter__note{margin-top:14px!important}

/* Footer Contact Us text (2026-09-25): underline the inline "Contact us" link so it is
   recognisable as a link (same colour as the surrounding text). Footer lists and the
   GET IN TOUCH button are unaffected. Rollback: style-ROLLBACK-2026-09-25.css */
.et-l--footer p:not(:has(br)) > a[href$="/contact/"]:not(.et_pb_button){text-decoration:underline!important;text-underline-offset:3px}
.et-l--footer p:not(:has(br)) > a[href$="/contact/"]:not(.et_pb_button):focus-visible{outline:2px solid #1F1F1F;outline-offset:2px}

/* Legal pages: underline in-content links so they are recognizable (Oct 9, 2026).
   Page-scoped: Privacy 242, Cookie 770, Affiliate Disclosure 734, Terms 482,
   General Disclaimer 240, Copyright & DMCA 3297, Editorial Process 3295. */
body.page-id-242 #main-content :is(p, li) a,
body.page-id-770 #main-content :is(p, li) a,
body.page-id-734 #main-content :is(p, li) a,
body.page-id-482 #main-content :is(p, li) a,
body.page-id-240 #main-content :is(p, li) a,
body.page-id-3297 #main-content :is(p, li) a,
body.page-id-3295 #main-content :is(p, li) a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
body.page-id-242 #main-content :is(p, li) a:focus-visible,
body.page-id-770 #main-content :is(p, li) a:focus-visible,
body.page-id-734 #main-content :is(p, li) a:focus-visible,
body.page-id-482 #main-content :is(p, li) a:focus-visible,
body.page-id-240 #main-content :is(p, li) a:focus-visible,
body.page-id-3297 #main-content :is(p, li) a:focus-visible,
body.page-id-3295 #main-content :is(p, li) a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* Header search accessibility (Sprint 1 / F03, 2026-10-10): visible keyboard focus for the
   Divi header Search / Close search controls. Keyboard-only (:focus-visible), so mouse users
   see no change. Same Slate outline as other site focus styles.
   Rollback: delete this block (copy of the previous style.css kept outside public_html). */
#et_top_search #et_search_icon:focus-visible {
	outline: none; /* the span is 0x0; the ring is drawn on the icon glyph below */
}
#et_top_search #et_search_icon:focus-visible::before,
.et_search_outer .et_close_search_field:focus-visible {
	outline: 2px solid #5A6B7C;
	outline-offset: 2px;
	border-radius: 2px;
}
