/*
Theme Name: Travel Medical Seminars Blog
Theme URI: https://blog.travelmedicalseminars.com/
Description: Lightweight child theme of Twenty Twenty-Five for the Travel Medical Seminars blog. Brand navy, self-hosted Source Serif 4 and Open Sans, no page builder.
Author: PracticeMarketer
Author URI: https://www.practicemarketer.com/
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tms-blog
*/

/* ---------- Header ---------- */
.tms-utility {
	font-size: var(--wp--preset--font-size--small);
}
.tms-utility a {
	color: #ffffff;
	text-decoration: none;
}
.tms-utility a:hover,
.tms-utility a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tms-site-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	position: sticky;
	top: 0;
	z-index: 50;
	background: #ffffff;
}
.admin-bar .tms-site-header {
	top: 32px;
}
@media (max-width: 782px) {
	.admin-bar .tms-site-header {
		top: 46px;
	}
}

.tms-logo img {
	display: block;
	width: 220px;
	height: auto;
}
@media (max-width: 600px) {
	.tms-logo img {
		width: 168px;
	}
}

.tms-site-header .wp-block-navigation a {
	text-decoration: none;
}
.tms-site-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--sky);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}
.tms-site-header .wp-block-navigation .current-menu-item > a {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--sky);
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

/* ---------- Horizon band (blog index, archives) ---------- */
.tms-horizon {
	position: relative;
	background:
		radial-gradient(120% 140% at 85% 120%, rgba(46, 163, 242, 0.35) 0%, rgba(46, 163, 242, 0) 55%),
		linear-gradient(180deg, #0a3478 0%, var(--wp--preset--color--navy) 100%);
	overflow: hidden;
}
.tms-horizon::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--wp--preset--color--sky);
}
.tms-horizon h1,
.tms-horizon .wp-block-query-title {
	color: #ffffff;
	letter-spacing: -0.015em;
	max-width: 16ch;
	margin-top: 0;
}
.tms-horizon p {
	color: #d9e8fb;
	max-width: 46ch;
}

/* ---------- Post list ---------- */
.tms-post-list .wp-block-post {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: var(--wp--preset--spacing--40);
}
.tms-post-list .wp-block-post-title a {
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.tms-post-list .wp-block-post-title a:hover,
.tms-post-list .wp-block-post-title a:focus-visible {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--sky);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.tms-post-list .wp-block-post-featured-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 6px;
}

/* Lead story: image beside text on wide screens */
.tms-lead .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 8px;
}
.tms-lead .wp-block-post-title a {
	text-decoration: none;
	color: var(--wp--preset--color--ink);
}
.tms-lead .wp-block-post-title a:hover,
.tms-lead .wp-block-post-title a:focus-visible {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--sky);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

/* Category link shown above titles */
.tms-topic a,
.tms-topic {
	color: var(--wp--preset--color--navy);
	font-weight: 600;
	text-decoration: none;
}
.tms-topic a:hover {
	text-decoration: underline;
}

/* ---------- Single post ---------- */
.tms-article .wp-block-post-content > p:first-of-type {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	color: var(--wp--preset--color--ink);
}
.tms-article .wp-block-post-content h2 {
	margin-top: var(--wp--preset--spacing--60);
}
.tms-article .wp-block-post-content a {
	text-decoration-color: var(--wp--preset--color--sky);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
.tms-article .wp-block-post-content blockquote {
	border-left: 4px solid var(--wp--preset--color--sky);
	margin-left: 0;
	padding-left: var(--wp--preset--spacing--40);
}
.tms-article .wp-block-post-content table {
	font-size: var(--wp--preset--font-size--small);
}
.tms-article .wp-block-post-content th {
	background: var(--wp--preset--color--shore);
	text-align: left;
}
.tms-article .wp-block-post-content .wp-block-table table,
.tms-article .wp-block-post-content .wp-block-table th,
.tms-article .wp-block-post-content .wp-block-table td {
	border: 1px solid var(--wp--preset--color--line);
}
.tms-article .wp-block-post-content .wp-block-table th,
.tms-article .wp-block-post-content .wp-block-table td {
	padding: 0.6em 0.8em;
}
.tms-article .wp-block-post-content blockquote p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--ink);
	line-height: 1.45;
}
.tms-featured img {
	border-radius: 8px;
}

/* Course call-to-action at the end of every post */
.tms-course-cta {
	border-left: 4px solid var(--wp--preset--color--sky);
	border-radius: 0 8px 8px 0;
}
.tms-course-cta h2 {
	margin-top: 0;
}

/* ---------- Footer ---------- */
.tms-footer a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.tms-footer a:hover,
.tms-footer a:focus-visible {
	color: var(--wp--preset--color--navy);
	text-decoration: underline;
}
.tms-footer .tms-footer-heading {
	font-family: var(--wp--preset--font-family--open-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--ink);
}
.tms-footer ul {
	list-style: none;
	padding-left: 0;
}
.tms-footer li + li {
	margin-top: 0.4em;
}

/* ---------- Accessibility ---------- */
:where(a, button, input, .wp-element-button):focus-visible {
	outline: 3px solid var(--wp--preset--color--sky);
	outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

@media (max-width: 600px) {
	.tms-site-header .wp-block-buttons.tms-header-cta,
	.tms-utility .tms-utility-email {
		display: none;
	}
}

/* ---------- Lead story on the first page of the blog ---------- */
@media (min-width: 900px) {
	body:not(.paged) .tms-has-lead .wp-block-post-template > li:first-child {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 1.35fr 1fr;
		gap: var(--wp--preset--spacing--60);
		align-items: center;
		border-top: 0;
		padding-top: 0;
		padding-bottom: var(--wp--preset--spacing--40);
	}
	body:not(.paged) .tms-has-lead .wp-block-post-template > li:first-child .wp-block-post-featured-image {
		margin-bottom: 0;
	}
	body:not(.paged) .tms-has-lead .wp-block-post-template > li:first-child .wp-block-post-featured-image img {
		aspect-ratio: 16 / 10;
		border-radius: 8px;
	}
	body:not(.paged) .tms-has-lead .wp-block-post-template > li:first-child .wp-block-post-title {
		font-size: var(--wp--preset--font-size--x-large) !important;
		line-height: 1.15;
	}
}

.tms-article .wp-block-post-content .wp-block-table thead {
	border-bottom: 2px solid var(--wp--preset--color--navy);
}
