/*
Theme Name: SEATINI
Theme URI: https://seatiniuganda.org
Description: SEATINI Uganda child theme of Hello Elementor. Presentation layer only —
             the design system (colours, typography, spacing) lives in Elementor Site
             Settings, and templates in Elementor Pro Theme Builder. Custom post types
             live in the seatini-content mu-plugin, NOT here, so the theme stays swappable.
Template: hello-elementor
Author: SEATINI redesign
Version: 1.0.0
Requires PHP: 8.0
Text Domain: seatini
*/

/* Brand tokens for reference — actual values are set in Elementor Site Settings.
   Accent (links/buttons/tags), not dominant:  #C21E1A  (alt #F11925)
   Dominant:  navy/charcoal + off-white
   Headings:  serif / slab-serif   ·   Body: clean sans-serif */

:root {
	--seatini-red: #C21E1A;
	--seatini-red-alt: #F11925;
}

/* Minimal custom overrides only. Keep this light — prefer Elementor for styling. */

/* ============================================================
   Post single + archive (child-theme templates)
   Palette: navy #0E2A47 · charcoal #2E3338 · red #C21E1A · off-white #F6F5F1
   ============================================================ */
.seatini-container { max-width: 1140px; margin: 0 auto; padding: 40px 24px 72px; }

/* --- category label / pill --- */
.seatini-cat {
	display: inline-block; margin-bottom: 10px;
	font: 600 12px/1 Inter, sans-serif; letter-spacing: .04em; text-transform: uppercase;
	color: #C21E1A; text-decoration: none;
}
.seatini-cat:hover { color: #8E1613; }

/* --- single post --- */
.seatini-single .seatini-container { max-width: 820px; }
.seatini-post-title { font: 700 40px/1.15 "Roboto Slab", serif; color: #0E2A47; margin: 0 0 12px; }
.seatini-post-meta { color: #6B727A; font: 400 14px/1 Inter, sans-serif; margin-bottom: 24px; }
.seatini-post-meta .sep { margin: 0 8px; color: #C0C6CC; }
.seatini-post-media { margin: 0 0 28px; }
.seatini-post-media img { width: 100%; height: auto; border-radius: 8px; display: block; }
.seatini-post-content { font: 400 18px/1.75 Inter, sans-serif; color: #3A3F44; }
.seatini-post-content p { margin: 0 0 1.2em; }
.seatini-post-content a { color: #C21E1A; }
.seatini-post-content h2, .seatini-post-content h3 { font-family: "Roboto Slab", serif; color: #0E2A47; }
.seatini-post-tags { margin-top: 28px; }
.seatini-post-tags a {
	display: inline-block; margin: 0 6px 6px 0; padding: 4px 12px;
	background: #F6F5F1; border-radius: 999px; font: 500 13px/1 Inter, sans-serif;
	color: #2E3338; text-decoration: none;
}
.seatini-back { margin-top: 32px; }
.seatini-back a { color: #0E2A47; font: 600 15px/1 Inter, sans-serif; text-decoration: none; }
.seatini-back a:hover { color: #C21E1A; }

/* --- archive header --- */
.seatini-archive-head { border-bottom: 3px solid #C21E1A; padding-bottom: 16px; margin-bottom: 32px; }
.seatini-archive-title { font: 700 34px/1.2 "Roboto Slab", serif; color: #0E2A47; margin: 0; }
.seatini-archive-desc { color: #6B727A; font: 400 16px/1.6 Inter, sans-serif; margin-top: 8px; }

/* --- archive card grid --- */
.seatini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
@media (max-width: 900px) { .seatini-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .seatini-grid { grid-template-columns: 1fr; } }

.seatini-card {
	background: #fff; border: 1px solid #E7E9EC; border-radius: 10px; overflow: hidden;
	display: flex; flex-direction: column; transition: box-shadow .18s ease, transform .18s ease;
}
.seatini-card:hover { box-shadow: 0 10px 28px rgba(14,42,71,.12); transform: translateY(-3px); }
.seatini-card-media { display: block; aspect-ratio: 16 / 9; background: #0E2A47; overflow: hidden; }
.seatini-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.seatini-card-noimg {
	display: flex; align-items: center; justify-content: center; height: 100%;
	color: rgba(255,255,255,.35); font: 700 20px/1 "Roboto Slab", serif; letter-spacing: .1em;
}
.seatini-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.seatini-card-title { font: 600 19px/1.3 "Roboto Slab", serif; margin: 0 0 10px; }
.seatini-card-title a { color: #0E2A47; text-decoration: none; }
.seatini-card-title a:hover { color: #C21E1A; }
.seatini-card-excerpt { font: 400 15px/1.6 Inter, sans-serif; color: #55606B; margin: 0 0 16px; }
.seatini-card-date { margin-top: auto; font: 500 13px/1 Inter, sans-serif; color: #8A929B; }

/* --- pagination --- */
.seatini-archive .pagination, .seatini-archive .navigation { margin-top: 48px; }
.seatini-archive .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.seatini-archive .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px;
	border: 1px solid #D8DBDF; border-radius: 6px; color: #0E2A47; text-decoration: none;
	font: 600 14px/1 Inter, sans-serif;
}
.seatini-archive .page-numbers.current { background: #0E2A47; border-color: #0E2A47; color: #fff; }
.seatini-archive .page-numbers:hover:not(.current) { border-color: #C21E1A; color: #C21E1A; }
.seatini-empty { color: #6B727A; font: 400 17px/1.6 Inter, sans-serif; }

/* ============================================================
   Max Mega Menu — brand colour pass (navy / red on white).
   Fine styling can be refined in Mega Menu → Menu Themes.
   ============================================================ */
/* ============================================================
   Team / staff grid ([seatini_team])
   ============================================================ */
/* Pages get a wide container (grids/layouts); blog posts stay narrow for readability */
.seatini-single.type-page .seatini-container { max-width: 1220px; }

.seatini-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 1080px) { .seatini-team { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px)  { .seatini-team { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px)  { .seatini-team { grid-template-columns: 1fr; } }

/* Embedded map (Contact page) */
.seatini-map { position: relative; width: 100%; aspect-ratio: 16 / 8; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 28px rgba(14,42,71,.10); margin: 8px 0 4px; }
.seatini-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 600px) { .seatini-map { aspect-ratio: 4 / 3; } }

/* Restored block headings on inner pages */
.seatini-restored-h { font: 700 21px/1.3 "Roboto Slab", serif; color: #0E2A47; margin: 34px 0 16px; padding-bottom: 10px; position: relative; }
.seatini-restored-h::after { content: ""; position: absolute; left: 0; bottom: 0; width: 44px; height: 3px; background: #C21E1A; border-radius: 2px; }

/* ============================================================
   Contact page: form + office details + map
   ============================================================ */
/* Responsive video embeds (YouTube etc.) */
.seatini-embed { position: relative; width: 100%; aspect-ratio: 16 / 9; margin: 26px 0; border-radius: 10px;
	overflow: hidden; background: #0E2A47; box-shadow: 0 10px 30px rgba(14,42,71,.14); }
.seatini-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.seatini-embed-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 26px 0; }
.seatini-embed-grid .seatini-embed { margin: 0; }
@media (max-width: 1000px) { .seatini-embed-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .seatini-embed-grid { grid-template-columns: 1fr; } }

/* Inline content images produced by the WPBakery conversion (used on 7 pages) */
.seatini-inline-img { max-width: 100%; height: auto; display: block; margin: 26px 0; border-radius: 8px; }
a.seatini-zoom .seatini-inline-img { margin: 0; }
.seatini-imagerow { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 26px 0; }
.seatini-imagerow a { display: block; border-radius: 8px; overflow: hidden; box-shadow: 0 10px 26px rgba(14,42,71,.12); }
.seatini-imagerow img { width: 100%; height: auto; display: block; }
@media (max-width: 640px) { .seatini-imagerow { grid-template-columns: 1fr; } }

.seatini-lead { font: 400 18px/1.7 Inter, sans-serif; color: #3A3F44; max-width: 900px; margin: 0 0 30px; }
.seatini-contact { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: start; margin: 8px 0 42px; }
@media (max-width: 860px) { .seatini-contact { grid-template-columns: 1fr; gap: 30px; } }
.seatini-contact h2 { font: 700 22px/1.3 "Roboto Slab", serif; color: #0E2A47; margin: 0 0 18px; padding-bottom: 12px; position: relative; }
.seatini-contact h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: #C21E1A; border-radius: 2px; }
.contact-info-col { background: #F6F5F1; border-radius: 10px; padding: 26px 28px 22px; }
.contact-details { list-style: none; margin: 0; padding: 0; }
.contact-details li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 18px; font: 400 14.5px/1.65 Inter, sans-serif; color: #3A3F44; }
.contact-details li:last-child { margin-bottom: 0; }
.contact-details svg { width: 18px; height: 18px; fill: #C21E1A; flex: 0 0 auto; margin-top: 3px; }
.contact-details a { color: #0E2A47; text-decoration: none; }
.contact-details a:hover { color: #C21E1A; text-decoration: underline; }
.contact-details strong { display: block; color: #0E2A47; font-weight: 600; margin-bottom: 2px; }

/* Map */
.seatini-map { border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(14,42,71,.12); }
.seatini-map iframe { width: 100%; height: 420px; border: 0; display: block; }
@media (max-width: 600px) { .seatini-map iframe { height: 300px; } }

/* Contact Form 7 fields */
.seatini-contact .wpcf7 p { margin: 0 0 16px; }
.seatini-contact .wpcf7 label { display: block; font: 600 13.5px/1.5 Inter, sans-serif; color: #0E2A47; }
.seatini-contact .wpcf7 input[type=text],
.seatini-contact .wpcf7 input[type=email],
.seatini-contact .wpcf7 input[type=tel],
.seatini-contact .wpcf7 input[type=url],
.seatini-contact .wpcf7 select,
.seatini-contact .wpcf7 textarea {
	width: 100%; padding: 12px 14px; margin-top: 6px; border: 1px solid #D8DBDF; border-radius: 6px;
	font: 400 15px/1.5 Inter, sans-serif; color: #3A3F44; background: #fff; box-sizing: border-box;
}
.seatini-contact .wpcf7 textarea { min-height: 150px; resize: vertical; }
.seatini-contact .wpcf7 input:focus, .seatini-contact .wpcf7 textarea:focus { outline: 0; border-color: #C21E1A; box-shadow: 0 0 0 3px rgba(194,30,26,.12); }
.seatini-contact .wpcf7 input[type=submit] {
	background: #C21E1A; color: #fff !important; border: 0; padding: 13px 30px; border-radius: 6px;
	font: 600 15px/1 Inter, sans-serif; cursor: pointer; width: auto; transition: background .15s;
}
.seatini-contact .wpcf7 input[type=submit]:hover { background: #8E1613; }

/* ============================================================
   Partners page: logo + description rows
   ============================================================ */
.seatini-partner-list { display: flex; flex-direction: column; gap: 20px; margin-top: 28px; }
.seatini-partner-list .partner-row {
	display: grid; grid-template-columns: 220px 1fr; gap: 30px; align-items: center;
	background: #fff; border: 1px solid #E7E9EC; border-radius: 10px; padding: 22px 26px;
	transition: box-shadow .18s ease, transform .18s ease;
}
.seatini-partner-list .partner-row:hover { box-shadow: 0 12px 30px rgba(14,42,71,.10); transform: translateY(-2px); }
.seatini-partner-list .partner-logo { display: flex; align-items: center; justify-content: center; min-height: 92px; }
.seatini-partner-list .partner-logo img { max-width: 100%; max-height: 92px; width: auto; height: auto; object-fit: contain; display: block; }
.seatini-partner-list .partner-desc { font: 400 14.5px/1.75 Inter, sans-serif; color: #55606B; }
.seatini-partner-list .partner-desc p { margin: 0; }
.seatini-partner-list .partner-name { font: 700 16px/1.3 "Roboto Slab", serif; color: #0E2A47; margin: 0 0 6px; }
@media (max-width: 760px) {
	.seatini-partner-list .partner-row { grid-template-columns: 1fr; gap: 16px; padding: 20px; }
	.seatini-partner-list .partner-logo { justify-content: flex-start; min-height: 0; }
}

/* Board: fewer members, so 3-across with larger portrait photos */
.seatini-team--board { grid-template-columns: repeat(3, 1fr); gap: 30px; }
.seatini-team--board .seatini-member-photo { aspect-ratio: 4 / 5; }
.seatini-team--board .seatini-member-body { padding: 20px 22px 24px; }
.seatini-team--board .seatini-member-body h3 { font-size: 19px; }
.seatini-team--board .role { font-size: 13.5px; }
@media (max-width: 980px) { .seatini-team--board { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .seatini-team--board { grid-template-columns: 1fr; } }

.seatini-member { background: #fff; border: 1px solid #E7E9EC; border-radius: 10px; overflow: hidden;
	display: flex; flex-direction: column; transition: box-shadow .18s ease, transform .18s ease; }
.seatini-member:hover { box-shadow: 0 14px 34px rgba(14,42,71,.12); transform: translateY(-3px); }
.seatini-member-photo { aspect-ratio: 1 / 1; background: #0E2A47; overflow: hidden; }
.seatini-member-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.seatini-member-photo .noimg { display: flex; align-items: center; justify-content: center; height: 100%;
	color: rgba(255,255,255,.35); font: 700 18px/1 "Roboto Slab", serif; letter-spacing: .1em; }
.seatini-member-body { padding: 16px 18px 20px; }
.seatini-member-body h3 { font: 700 17px/1.3 "Roboto Slab", serif; color: #0E2A47; margin: 0 0 5px; }
.seatini-member .role { font: 600 12.5px/1.45 Inter, sans-serif; color: #C21E1A; margin: 0 0 9px; }
.seatini-member .bio { font: 400 13.5px/1.6 Inter, sans-serif; color: #55606B; margin: 0; }
.seatini-member.has-profile { cursor: pointer; }
.seatini-member.has-profile:focus-visible { outline: 3px solid #C21E1A; outline-offset: 2px; }
.seatini-member-more { display: inline-block; margin-top: 10px; font: 600 12.5px/1 Inter, sans-serif; color: #C21E1A; }
.seatini-member.has-profile:hover .seatini-member-more { text-decoration: underline; }

/* Staff profile modal */
#seatini-member-modal { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center;
	background: rgba(10,20,30,.72); padding: 24px; }
#seatini-member-modal.open { display: flex; }
#seatini-member-modal .smm-box { background: #fff; border-radius: 12px; max-width: 760px; width: 100%; max-height: 88vh;
	overflow: auto; display: grid; grid-template-columns: 260px 1fr; position: relative; box-shadow: 0 30px 80px rgba(0,0,0,.4); }
#seatini-member-modal .smm-photo { background: #0E2A47; }
#seatini-member-modal .smm-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
#seatini-member-modal .smm-body { padding: 30px 32px 34px; }
#seatini-member-modal .smm-body h3 { font: 700 24px/1.25 "Roboto Slab", serif; color: #0E2A47; margin: 0 0 6px; }
#seatini-member-modal .smm-role { font: 600 14px/1.5 Inter, sans-serif; color: #C21E1A; margin: 0 0 16px; }
#seatini-member-modal .smm-bio { font: 400 15px/1.75 Inter, sans-serif; color: #3A3F44; }
#seatini-member-modal .smm-bio p { margin: 0 0 1em; }
#seatini-member-modal .smm-close { position: absolute; top: 10px; right: 14px; background: none; border: 0; cursor: pointer;
	font-size: 30px; line-height: 1; color: #0E2A47; opacity: .6; }
#seatini-member-modal .smm-close:hover { opacity: 1; }
@media (max-width: 680px) {
	#seatini-member-modal .smm-box { grid-template-columns: 1fr; }
	#seatini-member-modal .smm-photo { max-height: 240px; }
	#seatini-member-modal .smm-body { padding: 22px 22px 26px; }
}

/* ============================================================
   Footer (HFE #9386): 4 columns on navy + bottom bar
   ============================================================ */
.seatini-foot-about img { max-width: 190px; height: auto; margin: 0 0 16px; display: block; }
.seatini-foot-about p { font: 400 14px/1.7 Inter, sans-serif; color: #C7D0DA; margin: 0 0 14px; }
.seatini-foot-contact { font: 400 14px/1.9 Inter, sans-serif; color: #C7D0DA; }
.seatini-foot-contact a { color: #C7D0DA; text-decoration: none; }
.seatini-foot-contact a:hover { color: #FFFFFF; }
.seatini-foot-col h3 { font: 700 16px/1.2 "Roboto Slab", serif; color: #FFFFFF; margin: 0 0 18px; padding-bottom: 10px; position: relative; }
.seatini-foot-col h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 2px; background: #C21E1A; }
.seatini-foot-links { list-style: none; margin: 0; padding: 0; }
.seatini-foot-links li { margin-bottom: 11px; }
.seatini-foot-links a { color: #C7D0DA; text-decoration: none; font: 400 14px/1.5 Inter, sans-serif; transition: color .15s, padding-left .15s; }
.seatini-foot-links a:hover { color: #FFFFFF; padding-left: 4px; }
.seatini-foot-social { display: flex; gap: 11px; margin: 0 0 22px; flex-wrap: wrap; }
.seatini-foot-social a { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.08); display: inline-flex; align-items: center; justify-content: center; color: #FFFFFF; transition: background .15s, transform .15s; }
.seatini-foot-social a:hover { background: #C21E1A; transform: translateY(-2px); }
.seatini-foot-social svg { width: 16px; height: 16px; fill: currentColor; }
.seatini-foot-cta { display: inline-block; padding: 12px 24px; background: #C21E1A; color: #FFFFFF !important; border-radius: 6px; font: 600 14px/1 Inter, sans-serif; text-decoration: none; transition: background .15s; }
.seatini-foot-cta:hover { background: #8E1613; color: #FFFFFF !important; }

/* Gold brand strip above the footer (logo Africa-map colour #FECD08) */
.ehf-footer .elementor-element-ftrmain { border-top: 6px solid #FECD08; }
/* bottom bar */
.seatini-foot-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.seatini-foot-bottom p { margin: 0; font: 400 13px/1.6 Inter, sans-serif; color: #9FB0C2; }
.seatini-foot-bottom .fb-links a { color: #9FB0C2; text-decoration: none; font: 400 13px/1 Inter, sans-serif; }
.seatini-foot-bottom .fb-links a:hover { color: #FFFFFF; }
.seatini-foot-bottom .sep { color: #3A4A5C; margin: 0 9px; }
@media (max-width: 768px) { .seatini-foot-bottom { flex-direction: column; text-align: center; } }

/* ============================================================
   Top bar (2-colour, 2-column: navy contact | red social)
   ============================================================ */
.seatini-topbar-contact { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.seatini-topbar-contact a {
	display: inline-flex; align-items: center; gap: 7px;
	color: #E7ECF2; text-decoration: none; font: 500 13.5px/1 Inter, sans-serif;
}
.seatini-topbar-contact a:hover { color: #FFFFFF; }
.seatini-topbar-contact svg { width: 15px; height: 15px; fill: #C21E1A; flex: 0 0 auto; }

.seatini-topbar-left { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }

/* Text-size accessibility control */
.seatini-textsize { display: inline-flex; align-items: center; gap: 6px; }
.seatini-textsize .ts-label { color: rgba(255,255,255,.6); font: 500 12px/1 Inter, sans-serif; }
.seatini-textsize .ts-btn {
	background: rgba(255,255,255,.12); color: #FFFFFF; border: 1px solid rgba(255,255,255,.30);
	border-radius: 4px; cursor: pointer; line-height: 1; font-family: Inter, sans-serif;
	padding: 3px 7px;
}
.seatini-textsize .ts-dec { font-size: 11px; }
.seatini-textsize .ts-reset { font-size: 13px; }
.seatini-textsize .ts-inc { font-size: 15px; }
.seatini-textsize .ts-btn:hover { background: #FFFFFF; color: #0E2A47; border-color: #FFFFFF; }

.seatini-topbar-social { display: flex; gap: 16px; align-items: center; justify-content: flex-end; }
.seatini-topbar-social a {
	display: inline-flex; align-items: center; justify-content: center;
	color: #FFFFFF; opacity: .9; transition: opacity .15s, transform .15s;
}
.seatini-topbar-social a:hover { opacity: 1; transform: translateY(-1px); }
.seatini-topbar-social svg { width: 16px; height: 16px; fill: currentColor; }

/* Red column: translator + social on one row, right-aligned, both vertically centered */
.elementor-element-tbcolR > .elementor-widget-wrap {
	display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
	align-items: center !important; justify-content: flex-end !important; gap: 26px !important;
}
.elementor-element-tbcolR > .elementor-widget-wrap > .elementor-widget {
	width: auto !important; margin: 0 !important; flex: 0 0 auto !important;
	display: flex !important; align-items: center !important; align-self: center !important;
}
.elementor-element-tbcolR .elementor-widget-container { display: flex !important; align-items: center !important; }
/* Neutralise the Google gadget's own box so it's a compact, centred control (stops the vertical push) */
.elementor-element-tbcolR .goog-te-gadget,
.elementor-element-tbcolR .goog-te-gadget > div,
.elementor-element-tbcolR #google_language_translator,
.elementor-element-tbcolR .skiptranslate {
	display: inline-flex !important; align-items: center !important;
	line-height: 1 !important; margin: 0 !important; padding: 0 !important; height: auto !important;
}

/* Google Translate switcher — compact, readable on red */
.elementor-element-tbcolR .goog-te-combo,
.elementor-element-tbcolR select.goog-te-combo {
	background: rgba(255,255,255,.12) !important; color: #FFFFFF !important;
	border: 1px solid rgba(255,255,255,.45) !important; border-radius: 4px !important;
	font: 500 12.5px/1 Inter, sans-serif !important; padding: 4px 8px !important; margin: 0 !important;
	max-width: 140px; cursor: pointer;
}
.elementor-element-tbcolR .goog-te-combo option { color: #0E2A47 !important; background: #fff !important; }
.elementor-element-tbcolR .goog-te-gadget { color: transparent !important; font-size: 0 !important; }
.elementor-element-tbcolR .goog-te-gadget > span { display: none !important; } /* hide "Powered by" text */

/* Hide Google's top banner + stop it pushing the page down */
.goog-te-banner-frame, .skiptranslate iframe.goog-te-banner-frame { display: none !important; }
body { top: 0 !important; }

@media (max-width: 768px) {
	.seatini-topbar-contact { justify-content: center; gap: 16px; font-size: 12.5px; }
	.elementor-element-tbcolR > .elementor-widget-wrap { justify-content: center !important; }
}

/* Header layout: logo hugs the left, menu + search sit right after it (uses the free space) */
@media (min-width: 769px) {
	.ehf-header .elementor-element-hdrcolL { width: auto !important; flex: 0 0 auto !important; }
	.ehf-header .elementor-element-hdrcolR { width: auto !important; flex: 1 1 auto !important; margin-left: 32px !important; }
}

/* Transparent bar on the white header (override MMM default #222) */
#mega-menu-wrap-max_mega_menu_1,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
	background: transparent !important; box-shadow: none !important;
}
/* Top-level links */
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
	color: #0E2A47 !important; font: 600 16px/40px Inter, sans-serif !important; text-transform: none !important;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:focus {
	color: #C21E1A !important; background: transparent !important;
}
/* Sub-menus / dropdown panels (desktop) */
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 ul.mega-sub-menu {
	background: #FFFFFF !important; border-top: 3px solid #C21E1A !important; box-shadow: 0 12px 30px rgba(14,42,71,.14) !important;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 ul.mega-sub-menu a.mega-menu-link {
	color: #2E3338 !important; background: transparent !important; font-family: Inter, sans-serif !important;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 ul.mega-sub-menu li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 ul.mega-sub-menu a.mega-menu-link:hover {
	color: #C21E1A !important; background: #F6F5F1 !important;
}
/* Search: keep it inline as the last item (far right, after the menu links) */
@media (min-width: 769px) {
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.astm-search-menu {
		display: inline-block !important; vertical-align: middle !important; width: auto !important; float: none !important;
		margin-left: 18px !important; padding-left: 16px !important; border-left: 1px solid #E2E5E9 !important;
	}
	/* keep the nav compact so 16px fits down to ~1000px before the mobile menu */
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
		padding-left: 7px !important; padding-right: 7px !important;
	}
}

/* Mobile toggle bar */
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle {
	background: #0E2A47 !important; height: 48px !important; line-height: 48px !important;
}
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-label,
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-block { color: #FFFFFF !important; background: transparent !important; }
/* Hamburger bars (white) */
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-animated-inner,
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-animated-inner::before,
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-animated-inner::after {
	background-color: #FFFFFF !important;
}
/* Mobile expanded menu: navy panel, white links (cohesive with toggle) */
@media (max-width: 768px) {
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1,
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 ul.mega-sub-menu {
		background: #0E2A47 !important; box-shadow: none !important; border-top: none !important;
	}
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-item a.mega-menu-link {
		color: #FFFFFF !important; line-height: 44px !important;
		border-bottom: 1px solid rgba(255,255,255,.10) !important;
	}
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-item ul.mega-sub-menu a.mega-menu-link { color: #C7D0DA !important; }
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-item a.mega-menu-link:hover { color: #F11925 !important; background: rgba(255,255,255,.05) !important; }
}

/* ============================================================
   Homepage blocks
   ============================================================ */
.seatini-section { padding: 56px 24px; }
.seatini-section.alt { background: #F6F5F1; }
.seatini-section-inner { max-width: 1180px; margin: 0 auto; }
.seatini-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; gap: 8px; }
.seatini-section-head h2 { font: 700 28px/1.2 "Roboto Slab", serif; color: #0E2A47; margin: 0; }
.seatini-viewall { font: 600 15px/1 Inter, sans-serif; color: #C21E1A; text-decoration: none; white-space: nowrap; }
.seatini-viewall:hover { color: #8E1613; }

/* Event card date badge */
.seatini-event-card .seatini-card-media { position: relative; }
.seatini-event-date {
	position: absolute; top: 12px; left: 12px; background: #C21E1A; color: #fff;
	display: flex; flex-direction: column; align-items: center; line-height: 1;
	padding: 8px 10px; border-radius: 6px; font: 600 12px/1.2 Inter, sans-serif; text-align: center;
}
.seatini-event-date strong { font: 800 20px/1 "Roboto Slab", serif; display: block; }

/* Partner logo grid */
.seatini-partners { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; align-items: center; }
@media (max-width: 900px) { .seatini-partners { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .seatini-partners { grid-template-columns: repeat(2, 1fr); } }
.seatini-partner { display: flex; align-items: center; justify-content: center; padding: 12px; background: #fff; border: 1px solid #E7E9EC; border-radius: 8px; min-height: 88px; }
.seatini-partner img { max-width: 100%; height: auto; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.seatini-partner:hover img { filter: none; opacity: 1; }

/* ============================================================
   Home hero slider (Smart Slider 3 #2): readability gradient,
   Ken Burns zoom-out, caption shadow.
   ============================================================ */
#n2-ss-2 .n2-ss-slide-background { overflow: hidden; }
#n2-ss-2 .n2-ss-slide-background::after {
	content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
	background: linear-gradient(to top, rgba(14,42,71,.90) 0%, rgba(14,42,71,.40) 36%, rgba(14,42,71,0) 66%);
}
/* zoom-out on whichever slide is active (restarts each cycle) */
#n2-ss-2 .n2-ss-slide-background-image { will-change: transform; transform-origin: center center; }
#n2-ss-2 .n2-ss-slide-active .n2-ss-slide-background-image {
	animation: seatiniKenBurns 7000ms ease-out both;
}
@keyframes seatiniKenBurns { from { transform: scale(1.14); } to { transform: scale(1); } }
/* caption legibility on any photo */
#n2-ss-2 .n2-ss-layer { text-shadow: 0 2px 14px rgba(0,0,0,.55); }

/* caption slide-in on each slide activation; direction cycles per slide */
#n2-ss-2 .n2-ss-slide-active .n2-ss-layer {
	animation: seatiniCapUp 900ms cubic-bezier(.2,.7,.2,1) both;
	animation-delay: 350ms;
}
#n2-ss-2 .n2-ss-slide-active:nth-child(4n+2) .n2-ss-layer { animation-name: seatiniCapLeft; }
#n2-ss-2 .n2-ss-slide-active:nth-child(4n+3) .n2-ss-layer { animation-name: seatiniCapDown; }
#n2-ss-2 .n2-ss-slide-active:nth-child(4n)   .n2-ss-layer { animation-name: seatiniCapRight; }
@keyframes seatiniCapUp    { from { opacity: 0; transform: translateY(45px);  } to { opacity: 1; transform: none; } }
@keyframes seatiniCapDown  { from { opacity: 0; transform: translateY(-45px); } to { opacity: 1; transform: none; } }
@keyframes seatiniCapLeft  { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: none; } }
@keyframes seatiniCapRight { from { opacity: 0; transform: translateX(60px);  } to { opacity: 1; transform: none; } }

/* Hero */
.seatini-hero { text-align: left; }
.seatini-hero-cta { margin-top: 26px; display: flex; gap: 14px; flex-wrap: wrap; }
.seatini-btn {
	display: inline-block; padding: 13px 26px; border-radius: 6px; text-decoration: none;
	font: 600 15px/1 Inter, sans-serif; transition: background .18s, color .18s, border-color .18s;
}
.seatini-btn-red { background: #C21E1A; color: #fff; }
.seatini-btn-red:hover { background: #8E1613; color: #fff; }
.seatini-btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.55); }
.seatini-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }

/* Newsletter block */
.seatini-news-signup .newsletter-form input[type=email],
.seatini-news-signup input.form-control { width: 100%; padding: 12px 14px; border: 1px solid #D8DBDF; border-radius: 6px; font: 400 15px Inter, sans-serif; margin-bottom: 10px; }
.seatini-news-signup input[type=submit], .seatini-news-signup .btn { background: #C21E1A; color: #fff; border: 0; padding: 12px 22px; border-radius: 6px; font: 600 15px Inter, sans-serif; cursor: pointer; }

/* Stay-connected media row (cartoon | podcasts | twitter) */
.seatini-cartoon { position: relative; }
.seatini-cartoon .seatini-zoom { display: block; position: relative; cursor: zoom-in; border-radius: 8px; overflow: hidden; }
.seatini-cartoon img { width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 8px 24px rgba(14,42,71,.12); transition: transform .3s; }
.seatini-cartoon .seatini-zoom:hover img { transform: scale(1.03); }
.seatini-cartoon .seatini-zoom-hint {
	position: absolute; bottom: 10px; right: 10px; background: rgba(14,42,71,.85); color: #fff;
	font: 600 11px/1 Inter, sans-serif; padding: 5px 9px; border-radius: 4px; opacity: 0; transition: opacity .2s;
}
.seatini-cartoon .seatini-zoom:hover .seatini-zoom-hint { opacity: 1; }
/* zoom handled by Easy Fancybox (auto-detects the .jpg link) */
.seatini-podcast iframe { width: 100%; border: 0; border-radius: 8px; }
.seatini-tweets { max-height: 420px; overflow: auto; border-radius: 8px; }

/* Impact at a glance — stat row (navy band) */
.seatini-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
@media (max-width: 700px) { .seatini-stats { grid-template-columns: repeat(2, 1fr); gap: 28px; } }
.seatini-stats .stat { display: flex; flex-direction: column; gap: 6px; }
.seatini-stats .num { font: 800 42px/1 "Roboto Slab", serif; color: #F11925; }
.seatini-stats .lbl { font: 500 14px/1.35 Inter, sans-serif; color: #C7D0DA; letter-spacing: .01em; }

/* Watch & discover — responsive video */
.seatini-video-embed { position: relative; width: 100%; max-width: 900px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; box-shadow: 0 14px 40px rgba(14,42,71,.18); }
.seatini-video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Video player + up-next playlist list */
.seatini-yt { display: flex; gap: 18px; align-items: stretch; }
.seatini-yt-main { flex: 1 1 64%; min-width: 0; }
.seatini-yt-player { position: relative; width: 100%; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; box-shadow: 0 14px 40px rgba(14,42,71,.18); }
.seatini-yt-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.seatini-yt-list { flex: 0 0 34%; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; max-height: 100%; padding-right: 4px; }
.seatini-yt-item { display: flex; gap: 10px; align-items: flex-start; text-align: left; width: 100%; background: #fff; border: 1px solid #E7E9EC; border-radius: 8px; padding: 8px; cursor: pointer; transition: border-color .15s, background .15s; }
.seatini-yt-item:hover { border-color: #C21E1A; }
.seatini-yt-item.active { border-color: #C21E1A; background: #C21E1A; }
.seatini-yt-item.active .t { color: #FFFFFF; }
.seatini-yt-item .thumb { flex: 0 0 112px; position: relative; }
.seatini-yt-item .thumb img { width: 112px; height: 63px; object-fit: cover; border-radius: 5px; display: block; }
.seatini-yt-item.active .thumb::after { content: "\25B6"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; background: rgba(194,30,26,.35); border-radius: 5px; font-size: 16px; }
.seatini-yt-item .t { font: 600 13px/1.35 Inter, sans-serif; color: #0E2A47; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 820px) { .seatini-yt { flex-direction: column; } .seatini-yt-list { flex-basis: auto; max-height: 340px; } }

/* Testimonials wrapper spacing */
.seatini-testi .wpmtst-testimonial, .seatini-testi blockquote { color: #3A3F44; }

/* Homepage 4-up focus cards (HTML widget) */
.seatini-focus { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 900px) { .seatini-focus { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .seatini-focus { grid-template-columns: 1fr; } }
.seatini-focus .fc { background: #fff; border: 1px solid #E7E9EC; border-top: 4px solid #C21E1A; border-radius: 8px; padding: 22px 20px; }
.seatini-focus .fc h3 { font: 700 18px/1.25 "Roboto Slab", serif; color: #0E2A47; margin: 0 0 8px; }
.seatini-focus .fc p { font: 400 14px/1.6 Inter, sans-serif; color: #55606B; margin: 0; }
.seatini-focus .fc { transition: box-shadow .18s, transform .18s; }
.seatini-focus .fc:hover { box-shadow: 0 14px 34px rgba(14,42,71,.12); transform: translateY(-4px); }

/* ============================================================
   Homepage professional polish
   ============================================================ */
/* Section headers: red accent bar under the title */
.seatini-section-head { align-items: center; margin-bottom: 34px; }
.seatini-section-head h2 { position: relative; padding-bottom: 15px; }
.seatini-section-head h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 54px; height: 3px; background: #C21E1A; border-radius: 2px; }
/* centered section heads (impact, testimonials) — center the accent */
.seatini-section-head[style*="center"] { flex-direction: column; text-align: center; }
.seatini-section-head[style*="center"] h2::after { left: 50%; transform: translateX(-50%); }
.seatini-section-head[style*="center"] p { max-width: 720px; margin: 6px auto 0; font: 400 16px/1.6 Inter, sans-serif; }

/* Impact numbers slightly larger for presence */
.seatini-stats .num { font-size: 46px; }

/* ============================================================
   Scroll-reveal section animations (progressive enhancement).
   Only active when JS adds html.seatini-anim AND the user has not
   requested reduced motion. Content is fully visible otherwise.
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {
	html.seatini-anim .seatini-ai {
		opacity: 0; transform: translateY(24px);
		transition: opacity .55s ease-out, transform .55s ease-out;
		will-change: opacity, transform;
	}
	html.seatini-anim .seatini-ai.is-visible,
	html.seatini-anim .is-visible .seatini-ai { opacity: 1; transform: none; }
}
/* Safety override: if the reveal mechanism fails entirely, show everything instantly (no reliance on transitions). */
html.seatini-noanim .seatini-ai { opacity: 1 !important; transform: none !important; transition: none !important; }

/* Publications (WPDM) cards: clamp long titles to 2 lines so all cards are even height */
.elementor-element-hppub .package-title,
.elementor-element-hppub .package-title a {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	font-size: 15px; line-height: 1.35;
}
.elementor-element-hppub .package-title { min-height: 41px; }

/* Playlist "more videos" link */
.seatini-yt-more { display: block; margin-top: 2px; padding: 11px 12px; text-align: center; font: 600 13px/1 Inter, sans-serif;
	color: #C21E1A; text-decoration: none; border: 1px dashed #E1B7B5; border-radius: 8px; }
.seatini-yt-more:hover { background: #FCEDEC; color: #8E1613; border-color: #C21E1A; }

/* Smooth section transitions on smaller screens */
@media (max-width: 1024px) { .seatini-section-head h2 { font-size: 25px; } }
@media (max-width: 600px) {
	.seatini-section-head { margin-bottom: 24px; }
	.seatini-post-title { font-size: 30px; }
	.seatini-archive-title { font-size: 27px; }
}
