/* ==========================================================================
   WeddingPlan360 - /news editorial design layer
   Loaded after the JNews theme stylesheet. Scoped so the magazine homepage
   layout is polished rather than restructured; the reading experience on
   single posts is rebuilt.
   ========================================================================== */

:root {
	--wp-ink:        #1f1d1c;
	--wp-body:       #35312e;
	--wp-muted:      #7b736d;
	--wp-faint:      #a49c95;
	--wp-accent:     #9a3b57;
	--wp-accent-dk:  #7c2e46;
	--wp-accent-sf:  #f8eff2;
	--wp-gold:       #b0854c;
	--wp-sand:       #faf7f3;
	--wp-line:       #e8e2da;
	--wp-line-soft:  #f1ece5;

	--wp-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--wp-sans:  ui-sans-serif, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--wp-measure: 44rem;
	--wp-radius:  10px;
	--wp-shadow:  0 1px 2px rgba(31,29,28,.04), 0 8px 24px rgba(31,29,28,.06);
}

/* --------------------------------------------------------------------------
   1. Dated furniture - remove outright
   -------------------------------------------------------------------------- */

/* Google+ shut down in 2019. Nothing dates a page faster. */
.jeg_btn-google-plus,
a[href*="plus.google.com"] { display: none !important; }

/* "0 SHARES / 5 VIEWS" advertises that nobody has read the page. */
.jeg_share_stats { display: none !important; }

/* --------------------------------------------------------------------------
   2. Single post - the reading experience
   -------------------------------------------------------------------------- */

.single-post .entry-content,
.single-post .content-inner {
	font-family: var(--wp-serif);
	font-size: 1.21rem;
	line-height: 1.78;
	color: var(--wp-body);
	letter-spacing: .002em;
}

.single-post .content-inner > p,
.single-post .content-inner > ul,
.single-post .content-inner > ol,
.single-post .content-inner > h2,
.single-post .content-inner > h3,
.single-post .content-inner > h4,
.single-post .content-inner > blockquote {
	max-width: var(--wp-measure);
	margin-left: auto;
	margin-right: auto;
}

.single-post .content-inner > p { margin: 0 auto 1.45em; }

/* The JNews customizer hard-sets body copy to #657e9d — a washed-out blue-grey
   that only hits ~3.6:1 on white (below the WCAG AA 4.5:1 floor for body text)
   and clashes with the warm ink used everywhere else. Its selector is
   `.entry-content .content-inner p`, so match it and add `.single-post` to win
   on specificity rather than reaching for !important. */
.single-post .entry-content .content-inner p,
.single-post .entry-content .content-inner li,
.single-post .entry-content .content-inner span,
.single-post .entry-content .intro-text {
	color: var(--wp-body);
}

.single-post .entry-content .content-inner p strong,
.single-post .entry-content .content-inner li strong {
	color: var(--wp-ink);
}

/* Opening standfirst - the italic sourcing line each guide starts with. */
.single-post .content-inner > p:first-of-type em,
.single-post .content-inner > p:first-child em {
	display: block;
	font-family: var(--wp-sans);
	font-style: normal;
	font-size: .82em;
	line-height: 1.6;
	color: var(--wp-muted);
	background: var(--wp-sand);
	border-left: 3px solid var(--wp-gold);
	border-radius: 0 6px 6px 0;
	padding: .85em 1.15em;
	margin-bottom: .4em;
}

/* Headings ------------------------------------------------------------- */

.single-post .content-inner h2 {
	font-family: var(--wp-serif);
	font-size: 1.92rem;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -.012em;
	color: var(--wp-ink);
	margin: 2.5em auto .7em;
	padding-top: 1.15em;
	border-top: 1px solid var(--wp-line);
	position: relative;
}

.single-post .content-inner h2::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 46px;
	height: 2px;
	background: var(--wp-accent);
}

.single-post .content-inner h3 {
	font-family: var(--wp-serif);
	font-size: 1.3rem;
	line-height: 1.35;
	font-weight: 700;
	color: var(--wp-ink);
	margin: 2em auto .55em;
	letter-spacing: -.006em;
}

/* Links ---------------------------------------------------------------- */

.single-post .content-inner a {
	color: var(--wp-accent);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .17em;
	text-decoration-color: rgba(154,59,87,.34);
	transition: color .16s ease, text-decoration-color .16s ease;
}

.single-post .content-inner a:hover {
	color: var(--wp-accent-dk);
	text-decoration-color: var(--wp-accent-dk);
}

/* The consultation CTA earns emphasis wherever it appears inline. */
.single-post .content-inner a[href*="/appointment"] {
	font-weight: 600;
	text-decoration-color: rgba(154,59,87,.6);
}

.single-post .content-inner strong { color: var(--wp-ink); font-weight: 700; }

/* Lists ---------------------------------------------------------------- */

.single-post .content-inner ul,
.single-post .content-inner ol { margin: 0 auto 1.6em; padding-left: 0; }

.single-post .content-inner ul > li,
.single-post .content-inner ol > li {
	margin-bottom: .62em;
	padding-left: 1.5em;
	position: relative;
	list-style: none;
}

.single-post .content-inner ul > li::before {
	content: "";
	position: absolute;
	left: .28em;
	top: .72em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wp-accent);
	opacity: .75;
}

.single-post .content-inner ol { counter-reset: wp360ol; }
.single-post .content-inner ol > li { counter-increment: wp360ol; }

.single-post .content-inner ol > li::before {
	content: counter(wp360ol);
	position: absolute;
	left: 0;
	top: .18em;
	font-family: var(--wp-sans);
	font-size: .74em;
	font-weight: 700;
	color: var(--wp-accent);
}

/* --------------------------------------------------------------------------
   3. Tables - these guides live or die on them
   -------------------------------------------------------------------------- */

.single-post .content-inner table {
	width: 100%;
	max-width: 52rem;
	margin: 2.1em auto 2.3em;
	border-collapse: separate;
	border-spacing: 0;
	font-family: var(--wp-sans);
	font-size: .92rem;
	line-height: 1.5;
	background: #fff;
	border: 1px solid var(--wp-line);
	border-radius: var(--wp-radius);
	box-shadow: var(--wp-shadow);
	overflow: hidden;
	font-variant-numeric: tabular-nums;
}

.single-post .content-inner table thead th {
	background: var(--wp-sand);
	color: var(--wp-ink);
	font-weight: 700;
	font-size: .77rem;
	letter-spacing: .055em;
	text-transform: uppercase;
	text-align: left;
	padding: .95em 1.05em;
	border-bottom: 1px solid var(--wp-line);
	white-space: nowrap;
}

.single-post .content-inner table td {
	padding: .88em 1.05em;
	border-bottom: 1px solid var(--wp-line-soft);
	vertical-align: top;
	color: var(--wp-body);
}

.single-post .content-inner table tbody tr:last-child td { border-bottom: 0; }
.single-post .content-inner table tbody tr:nth-child(even) { background: #fcfaf8; }
.single-post .content-inner table tbody tr:hover { background: var(--wp-accent-sf); }

/* First column is the row label - let it carry the weight. */
.single-post .content-inner table tbody td:first-child {
	font-weight: 600;
	color: var(--wp-ink);
}

.single-post .content-inner table td strong { color: var(--wp-accent-dk); }

/* Mobile: let wide tables scroll rather than crush the layout. */
@media (max-width: 767px) {
	.single-post .content-inner table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.single-post .content-inner table thead th { white-space: nowrap; }
}

/* --------------------------------------------------------------------------
   4. Images
   -------------------------------------------------------------------------- */

.single-post .jeg_featured.featured_image .thumbnail-container {
	padding-bottom: 56.25% !important;
	border-radius: var(--wp-radius);
	overflow: hidden;
	box-shadow: var(--wp-shadow);
}

.single-post .jeg_featured.featured_image img { object-fit: cover; }

.single-post .jeg_featured .wp-caption-text,
.single-post .content-inner figcaption {
	font-family: var(--wp-sans);
	font-size: .8rem;
	line-height: 1.5;
	color: var(--wp-muted);
	text-align: left;
	margin: .7em auto 0;
	max-width: var(--wp-measure);
	border-left: 2px solid var(--wp-line);
	padding-left: .7em;
}

.single-post .content-inner figure {
	margin: 2.2em auto;
	max-width: 52rem;
}

.single-post .content-inner figure img {
	width: 100%;
	height: auto;
	border-radius: var(--wp-radius);
	box-shadow: var(--wp-shadow);
	display: block;
}

/* --------------------------------------------------------------------------
   5. Post header + share row
   -------------------------------------------------------------------------- */

.single-post .jeg_post_title,
.single-post h1.jeg_post_title {
	font-family: var(--wp-serif);
	font-size: 2.75rem;
	line-height: 1.14;
	letter-spacing: -.02em;
	color: var(--wp-ink);
	font-weight: 700;
}

.single-post .jeg_post_meta {
	font-family: var(--wp-sans);
	font-size: .78rem;
	letter-spacing: .04em;
	color: var(--wp-faint);
}

.single-post .jeg_share_button a {
	border-radius: 999px !important;
	font-family: var(--wp-sans);
	font-size: .78rem !important;
	letter-spacing: .02em;
	border: 0;
}

/* --------------------------------------------------------------------------
   6. Sidebar + global polish (light touch - homepage layout stays)
   -------------------------------------------------------------------------- */

.jeg_sidebar .jeg_block_title span,
.jeg_sidebar h3 {
	font-family: var(--wp-sans);
	font-size: .82rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wp-ink);
}

.jeg_sidebar .jeg_postblock .jeg_post_title a {
	font-family: var(--wp-serif);
	line-height: 1.32;
	color: var(--wp-ink);
	transition: color .16s ease;
}

.jeg_sidebar .jeg_postblock .jeg_post_title a:hover { color: var(--wp-accent); }

.jeg_menu > li > a { font-family: var(--wp-sans); letter-spacing: .045em; }

a { transition: color .16s ease; }

/* --------------------------------------------------------------------------
   7. Responsive typography
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.single-post h1.jeg_post_title { font-size: 2.15rem; }
}

@media (max-width: 767px) {
	.single-post .entry-content,
	.single-post .content-inner { font-size: 1.1rem; line-height: 1.72; }
	.single-post h1.jeg_post_title { font-size: 1.78rem; line-height: 1.2; }
	.single-post .content-inner h2 { font-size: 1.5rem; margin-top: 2em; }
	.single-post .content-inner h3 { font-size: 1.18rem; }
	.single-post .content-inner figure { margin: 1.6em auto; }
}

/* Respect users who ask for less motion. */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}
