/*
Theme Name: transporter-magazine-child
Template: blocksy
Text Domain: transporter-magazine-child
Description: Editorial child theme for Transporter Magazine, built on Blocksy.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.0
License: GPL-2.0-or-later
WPVibe: yes
*/

/* Transporter Magazine editorial refinements */
:root {
	--tm-blue: #0b5f98;
	--tm-ink: #151b22;
	--tm-copy: #2c3741;
	--tm-muted: #66727d;
	--tm-paper: #f4f4f1;
	--tm-line: #dde2e6;
}

body,
#main-container {
	background: var(--tm-paper);
	color: var(--tm-copy);
	font-family: Charter, "Bitstream Charter", "Sitka Text", Georgia, serif;
	font-size: 17px;
	line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
nav, .menu, .entry-meta, .ct-footer, button, input, select {
	font-family: "Avenir Next", Avenir, Futura, "Trebuchet MS", sans-serif;
}

/* Header: logo first, navigation second. */
.site-branding .site-title-container {
	display: none !important;
}

#header {
	background: #ffffff;
	border-bottom: 1px solid var(--tm-line);
	box-shadow: 0 3px 16px rgba(20, 31, 43, 0.045);
}

#header .ct-container {
	max-width: 1320px;
	padding-left: 24px;
	padding-right: 24px;
}

.site-logo-container img {
	content: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%20120'%3E%3Crect%20x='5'%20y='5'%20width='110'%20height='110'%20rx='15'%20fill='%23fff'%20stroke='%23e31b2f'%20stroke-width='7'/%3E%3Cpath%20fill='%23e31b2f'%20d='M20%2023h35L21%2072V23Zm45%200h35v49L65%2023ZM60%2035l39%2068H21l39-68Z'/%3E%3Cpath%20fill='%23fff'%20d='M57.5%2056h5l1%2015h-7l1-15Zm-1.7%2024h8.4l1.6%2018H54.2l1.6-18Z'/%3E%3C/svg%3E");
	width: 72px !important;
	height: 72px !important;
	max-height: 72px !important;
	object-fit: contain;
}

.header-menu-1 .menu > li > a {
	color: var(--tm-ink);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.015em;
	padding-left: 10px;
	padding-right: 10px;
}

.header-menu-1 .menu > li > a:hover,
.header-menu-1 .current-menu-item > a,
.header-menu-1 .current-menu-ancestor > a {
	color: var(--tm-blue);
}

.ct-header-search {
	color: var(--tm-blue);
}

/* Homepage and archives: cleaner editorial cards. */
.entries[data-layout="grid"] {
	gap: 28px;
}

.entry-card {
	background: #ffffff !important;
	border: 1px solid var(--tm-line) !important;
	border-radius: 6px !important;
	box-shadow: 0 7px 22px rgba(18, 31, 43, 0.055) !important;
	overflow: hidden;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.entry-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 11px 28px rgba(18, 31, 43, 0.09) !important;
}

.entry-card .ct-media-container img {
	aspect-ratio: 16 / 9 !important;
	object-fit: cover;
}

.entry-card .entry-title {
	font-size: clamp(1.15rem, 1.3vw, 1.42rem);
	line-height: 1.22;
	letter-spacing: -0.015em;
}

.entry-card .entry-title a {
	color: var(--tm-ink);
}

.entry-card .entry-title a:hover {
	color: var(--tm-blue);
}

.entry-card .entry-excerpt {
	color: #52606b;
	font-size: 16px;
	line-height: 1.62;
}

.entry-card .entry-meta {
	color: var(--tm-muted);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.entry-card .meta-author {
	display: none;
}

.entry-card .meta-categories a {
	color: var(--tm-blue);
	font-weight: 750;
}

@media (min-width: 1000px) {
	body.home .entries[data-layout="grid"] .entry-card:first-child {
		grid-column: span 2;
	}

	body.home .entries[data-layout="grid"] .entry-card:first-child .entry-title {
		font-size: clamp(1.7rem, 2.2vw, 2.35rem);
		line-height: 1.12;
	}
}

/* Articles: a comfortable technical-reading measure. */
.single-post .page-title,
.single-post .entry-title {
	color: var(--tm-ink);
	font-size: clamp(2rem, 3.8vw, 3.35rem);
	line-height: 1.08;
	letter-spacing: -0.028em;
}

.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol,
.single-post .entry-content > h2,
.single-post .entry-content > h3,
.single-post .entry-content > blockquote {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol {
	font-size: 18px;
	line-height: 1.78;
}

.single-post .entry-content > h2 {
	margin-top: 2.1em;
	font-size: clamp(1.55rem, 2.5vw, 2.05rem);
	line-height: 1.2;
}

.single-post .entry-content a {
	color: #075d99;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.single-post .entry-content img {
	border-radius: 4px;
}

/* Footer: quieter and easier to scan. */
footer.ct-footer,
footer.ct-footer [data-row] {
	background: var(--tm-ink) !important;
	color: #d9e0e5;
}

footer.ct-footer {
	border-top: 4px solid var(--tm-blue);
}

footer.ct-footer a {
	color: #ffffff;
}

footer.ct-footer a:hover {
	color: #9bc8e6;
}

@media (max-width: 999px) {
	#header .ct-container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.site-logo-container img {
		width: 52px !important;
		height: 52px !important;
		max-height: 52px !important;
	}

	.entry-card {
		border-radius: 4px !important;
	}
}
