/**
 * Theme Name: Blocksy Child
 * Description: Eurasia Conferences blog, styled to match eurasiaconferences.com (Nov 2026)
 * Author: Eurasia Conferences
 * Template: blocksy
 * Text Domain: blocksy
 */

/* Same tokens as the eurasiaconferences.com homepage ("Departures"). */
:root {
	--ec-ink: #0e1116;
	--ec-panel: #12161d;
	--ec-line: #262c37;
	--ec-soft: #b9c0cc;
	--ec-grey: #8b93a1;
	--ec-yellow: #ffcd00;
	--ec-paper: #f4f2ec;
	--ec-paper-line: #ddd8cc;
	--ec-muted: #4a505c;
	--ec-cond: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	--ec-sans: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

body {
	background: var(--ec-paper) !important;
	color: var(--ec-ink);
	font-family: var(--ec-sans) !important;
}
body, p, li, td, th, input, textarea, select, button { font-family: var(--ec-sans); }

h1, h2, h3, h4, h5, h6, .page-title, .entry-title {
	font-family: var(--ec-cond) !important;
	letter-spacing: 0.01em;
	color: var(--ec-ink);
	text-wrap: balance;
}

/* ---------- Header ---------- */
#header [data-row*="middle"] {
	background: var(--ec-ink) !important;
	border-bottom: 1px solid var(--ec-line) !important;
	box-shadow: none !important;
}
#header .site-logo-container img { filter: brightness(0) invert(1); }
#header .ct-menu-link {
	color: #fff !important;
	font-family: var(--ec-sans) !important;
	font-weight: 600 !important;
	font-size: 15.5px !important;
	text-transform: none !important;
}
#header .ct-menu-link:hover,
#header .current-menu-item > .ct-menu-link { color: var(--ec-yellow) !important; }
#header .sub-menu { background: var(--ec-panel) !important; }
#header .ct-header-cta a,
#offcanvas .ct-header-cta a {
	background: var(--ec-yellow) !important;
	border-color: var(--ec-yellow) !important;
	color: var(--ec-ink) !important;
	font-family: var(--ec-sans) !important;
	font-weight: 700 !important;
	border-radius: 6px !important;
}
#header .ct-header-cta a:hover { background: #fff !important; border-color: #fff !important; }
#header .ct-header-trigger { color: #fff !important; }
#header .ct-header-trigger .ct-icon, #header .ct-header-trigger rect { fill: #fff !important; }
#offcanvas .ct-panel-inner, #offcanvas.ct-panel { background: var(--ec-ink) !important; }
#offcanvas .ct-menu-link { color: #fff !important; }
#offcanvas .site-logo-container img { filter: brightness(0) invert(1); }

/* ---------- Page hero (blog home, archives) ---------- */
.hero-section[data-type="type-2"] {
	background: var(--ec-ink) !important;
	margin-bottom: 0 !important;
}
.hero-section[data-type="type-2"] > figure { display: none !important; }
.hero-section[data-type="type-2"] .entry-header {
	padding-block: clamp(22px, 3vw, 36px) !important;
	text-align: left !important;
	align-items: flex-start !important;
}
.hero-section[data-type="type-2"] .page-title {
	color: #fff !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	font-size: clamp(30px, 4vw, 48px) !important;
	line-height: 0.95 !important;
}
.hero-section[data-type="type-2"] .page-description {
	color: var(--ec-soft) !important;
	font-family: var(--ec-sans) !important;
	font-size: 18px !important;
	max-width: 560px;
	margin-top: 14px;
}
.hero-section[data-type="type-2"] .ct-breadcrumbs { display: none !important; }
.hero-section[data-type="type-2"] .page-description::first-letter { text-transform: uppercase; }

/* ---------- Post cards ---------- */
.entries[data-cards] .entry-card {
	background: #fff !important;
	border: 1px solid var(--ec-paper-line) !important;
	border-radius: 10px !important;
	overflow: hidden;
	box-shadow: none !important;
	padding: 0 0 24px !important;
	transition: border-color .15s;
}
.entries[data-cards] .entry-card:hover { border-color: var(--ec-ink) !important; }
.entries .entry-card > *:not(.ct-media-container):not(.ct-image-container) {
	padding-inline: 22px;
}
.entries .entry-card > .ct-media-container,
.entries .entry-card > .ct-image-container { margin: 0 0 18px !important; border-radius: 0 !important; }
.entries .entry-card .entry-title {
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.12 !important;
	text-transform: none;
}
.entries .entry-card .entry-title a { color: var(--ec-ink) !important; }
.entries .entry-card .entry-title a:hover { box-shadow: inset 0 -3px var(--ec-yellow); }
.entry-meta, .entry-meta a, .ct-meta-element-date {
	font-family: var(--ec-cond) !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 13px !important;
	color: var(--ec-muted) !important;
}
.entry-excerpt, .entry-excerpt p { color: var(--ec-muted) !important; font-size: 15.5px; line-height: 1.6; }

/* Blog home, first page: the latest post as one wide card (image left, text right). */
@media (min-width: 1000px) {
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child {
		grid-column: 1 / -1;
		display: grid !important;
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		column-gap: 32px;
		grid-template-rows: repeat(5, auto) 1fr;
		row-gap: 0;
		align-content: start;
		padding: 32px 0 !important;
	}
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child > .ct-media-container,
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child > .ct-image-container {
		grid-column: 1;
		grid-row: 1 / -1;
		margin: -32px 0 !important;
		align-self: start;
	}
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child > .ct-media-container img,
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child > .ct-image-container img {
		width: 100%;
		height: auto !important;
		aspect-ratio: 4 / 3 !important;
		object-fit: cover;
	}
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child > *:not(.ct-media-container):not(.ct-image-container) {
		grid-column: 2;
		padding-inline: 0 32px;
		min-width: 0;
	}
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child .entry-title { font-size: clamp(28px, 2.4vw, 36px) !important; }
	.blog:not(.paged) .entries[data-layout="grid"] > .entry-card:first-child .ct-ghost { display: none; }
}

/* ---------- Sidebar ---------- */
#sidebar .ct-widget { margin-bottom: 22px; }
#sidebar h5, #sidebar .wp-block-heading { font-family: var(--ec-cond) !important; text-transform: uppercase; }
.ec-dep {
	background: var(--ec-ink);
	color: #fff;
	border-radius: 10px;
	padding: 24px;
}
.ec-kick {
	margin: 0 !important;
	font: 700 13px/1 var(--ec-cond);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ec-yellow);
}
.ec-dep h4 {
	color: #fff !important;
	font: 800 24px/1.1 var(--ec-cond) !important;
	text-transform: uppercase;
	margin: 8px 0 14px !important;
}
.ec-dep ul { list-style: none; margin: 0 !important; padding: 0 !important; }
.ec-dep li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	border-top: 1px solid var(--ec-line);
	padding: 12px 0;
	margin: 0 !important;
	font-size: 15px;
}
.ec-dep li a { color: #fff !important; text-decoration: none; font-weight: 600; }
.ec-dep li a:hover { color: var(--ec-yellow) !important; }
.ec-dep li small { display: block; color: var(--ec-grey); font-size: 13px; font-weight: 400; margin-top: 2px; }
.ec-dep li b { font: 700 20px/1.2 var(--ec-cond); color: var(--ec-yellow); letter-spacing: 0.03em; white-space: nowrap; }
.ec-btn, .ec-dep .ec-btn {
	display: block;
	margin-top: 14px;
	text-align: center;
	background: var(--ec-yellow);
	color: var(--ec-ink) !important;
	font-weight: 700;
	padding: 12px 18px;
	border-radius: 6px;
	text-decoration: none !important;
}
.ec-btn:hover { background: #fff; }
.ec-box {
	background: #fff;
	border: 1px solid var(--ec-paper-line);
	border-radius: 10px;
	padding: 24px;
}
.ec-box h4 { font: 800 22px/1.1 var(--ec-cond) !important; text-transform: uppercase; margin: 0 0 8px !important; }
.ec-box p { color: var(--ec-muted); font-size: 15px; line-height: 1.55; margin: 0; }

/* ---------- Single post ---------- */
.single .entry-content a, .page .entry-content a { color: var(--ec-ink); text-decoration-color: var(--ec-yellow); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.single .entry-content h2 { font-weight: 800; font-size: clamp(26px, 3vw, 34px); line-height: 1.1; }
.single .entry-content table th { background: var(--ec-ink); color: #fff; font-family: var(--ec-sans); }
.single .entry-content table td, .single .entry-content table th { border-color: var(--ec-paper-line); }
.single .page-title, .single .hero-section .page-title {
	color: var(--ec-ink) !important;
	text-transform: none;
	font-weight: 800 !important;
	font-size: clamp(32px, 4.2vw, 52px) !important;
	line-height: 1.02 !important;
}
.single .hero-section .page-description { color: var(--ec-muted) !important; font-family: var(--ec-sans) !important; font-size: 18px !important; }
#footer [data-row="bottom"], #footer [data-row="bottom"] * { color: var(--ec-soft) !important; }
#footer [data-row="middle"] p, #footer [data-row="middle"] .wp-block-group { color: var(--ec-soft) !important; }

/* ---------- Buttons and forms ---------- */
.wp-element-button, .wp-block-button__link, .wpforms-submit, button[type="submit"], input[type="submit"] {
	background: var(--ec-yellow) !important;
	color: var(--ec-ink) !important;
	border-radius: 6px !important;
	font-weight: 700 !important;
}

/* ---------- Footer ---------- */
#footer, #footer [data-row] { background: var(--ec-ink) !important; color: var(--ec-grey) !important; }
#footer [data-row="bottom"] { border-top: 1px solid var(--ec-line) !important; }
#footer a { color: var(--ec-soft) !important; }
#footer a:hover { color: var(--ec-yellow) !important; }
#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer .wp-block-heading { color: #fff !important; }
#footer .wp-block-image img { filter: brightness(0) invert(1); }
#footer .stk--inner-svg svg, #footer .stk--inner-svg svg * { fill: var(--ec-soft) !important; }

:focus-visible { outline: 3px solid var(--ec-ink); outline-offset: 2px; }
#header :focus-visible, #offcanvas :focus-visible, #footer :focus-visible, .ec-dep :focus-visible,
.hero-section[data-type="type-2"] :focus-visible { outline-color: var(--ec-yellow); }

/* Header button keeps its size when the header sticks and shrinks. */
#header .ct-header-cta a { min-height: 44px !important; height: auto !important; padding-block: 0 !important; display: inline-flex; align-items: center; }
#header [data-sticky*="yes"] .ct-header-cta a { min-height: 40px !important; }

/* Sidebar categories box, matching the boxes above it. */
#sidebar .wp-block-categories, #sidebar .widget_categories ul { list-style: none; padding: 0; margin: 0; }
#sidebar .wp-block-categories li, #sidebar .widget_categories li { border-top: 1px solid var(--ec-paper-line); padding: 9px 0; }
#sidebar .wp-block-categories a, #sidebar .widget_categories a { color: var(--ec-ink); text-decoration: none; font-weight: 600; }
#sidebar .wp-block-categories a:hover, #sidebar .widget_categories a:hover { box-shadow: inset 0 -2px var(--ec-yellow); }

/* Tables and buttons inside posts. */
.single .entry-content .wp-block-table { overflow-x: auto; }
.single .entry-content .wp-block-table table { min-width: 0; }
@media (max-width: 600px) {
	.single .entry-content .wp-block-table td, .single .entry-content .wp-block-table th { padding: 8px 10px; font-size: 14.5px; }
}
.single .entry-content .wp-block-button__link { padding: 13px 26px; text-decoration: none !important; }

/* Call-to-action box at the end of guides: conferences to submit to, and account sign-up. */
.ec-cta {
	background: var(--ec-ink);
	color: #fff;
	border-radius: 10px;
	padding: clamp(22px, 4vw, 34px);
	margin-top: 2.5em;
}
.ec-cta h3 { color: #fff !important; font: 800 clamp(26px, 3vw, 32px)/1.05 var(--ec-cond) !important; margin: 8px 0 14px !important; }
.ec-cta ul { list-style: none; margin: 0 0 14px !important; padding: 0 !important; }
.ec-cta li { border-top: 1px solid var(--ec-line); padding: 11px 0; margin: 0 !important; }
.single .entry-content .ec-cta li a { color: #fff; font-weight: 600; text-decoration: none; }
.single .entry-content .ec-cta li a:hover { color: var(--ec-yellow); }
.ec-cta li small { display: block; color: var(--ec-grey); font-size: 14px; margin-top: 2px; }
.ec-cta p:not(.ec-kick) { color: var(--ec-soft); font-size: 15.5px; margin: 0; }
.single .entry-content .ec-cta .ec-btn { display: inline-block; margin-top: 16px; color: var(--ec-ink) !important; text-decoration: none; }
.single .entry-content h3 { font-weight: 700; font-size: clamp(21px, 2.2vw, 25px); }
