/*
Theme Name: Study Abroad Market
Template: twentytwentyfive
Description: Child theme of Twenty Twenty-Five with a Datel-style header and footer.
Version: 1.0.0
Text Domain: studyabroadmarket
*/

:root {
	--sam-red: #e3262d;
	--sam-blue: #00aad2; /* "STUDY" in the logo */
	--sam-red-dark: #c41d23;
	--sam-ink: #141010;
	--sam-grey: #f7f7f7;
	--sam-line: #e3e3e3;
	--sam-muted: #6b6b6b;
	--sam-font: "Lexend", system-ui, sans-serif;
}

/* Remove the parent theme's gaps around header/footer template parts. */
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part { margin-block: 0; }
.wp-site-blocks > footer.wp-block-template-part { margin-top: 0; }

/* Sticky header. Sticks the template-part wrapper (not .sam-header, which fills
   it exactly) and sits below the admin bar when one is shown. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
}
/* Below 600px the admin bar scrolls away, so stick to the very top. */
@media (max-width: 600px) {
	.wp-site-blocks > header.wp-block-template-part { top: 0; }
}
/* Keep in-page anchor targets clear of the header. */
html { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 96px); }
@media (max-width: 781px) {
	html { scroll-padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 92px); }
}

/* ============ HEADER ============ */
.sam-header {
	font-family: var(--sam-font);
	color: var(--sam-ink);
	position: relative;
	z-index: 50;
	background: #fff;
	box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .18);
}
.sam-header a { color: inherit; text-decoration: none; }
.sam-header > * { margin-block: 0 !important; }

/* Main bar */
.sam-mainbar {
	min-height: 80px;
	gap: 24px !important;
	align-items: stretch !important;
}
.sam-logo { align-self: center; padding: 5px 5px 5px 20px; margin: 0; flex-shrink: 0; }
.sam-logo img { display: block; width: 82px !important; height: auto !important; }

/* Desktop navigation */
.sam-nav { flex: 1 1 auto; align-self: center; font-size: 12.8px; font-weight: 400; } /* 20% smaller than the original 16px (2026-10-13) */
.sam-nav .wp-block-navigation__container { gap: 0 clamp(16px, 3vw, 56px); }
.sam-nav .wp-block-navigation-item__content { padding: 12px 0; }
.sam-nav .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--sam-red); }
.sam-nav .wp-block-navigation__submenu-icon { width: 12px; height: 12px; margin-left: 14px; }
.sam-nav .wp-block-navigation__submenu-icon svg { stroke-width: 1.5px; }
.sam-nav .has-child:hover > .wp-block-navigation__submenu-icon svg,
.sam-nav .has-child:focus-within > .wp-block-navigation__submenu-icon svg { transform: rotate(180deg); }
.sam-nav .wp-block-navigation__submenu-icon svg { transition: transform .2s; }

/* Dropdown panels */
@media (min-width: 600px) {
	.sam-nav .wp-block-navigation__submenu-container {
		background: #fff !important;
		border: 0 !important;
		border-top: 3px solid var(--sam-red) !important;
		box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
		min-width: 260px !important;
		padding: 12px 0 !important;
		top: calc(100% + 16px) !important; /* lines the menu's top up with the header's bottom edge */
	}
	/* invisible bridge so the menu doesn't close while the mouse crosses the gap */
	.sam-nav .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: 0; right: 0; top: -19px; height: 19px;
	}
	.sam-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 10px 24px !important;
		font-size: 15px;
		transition: background .15s, color .15s;
	}
	.sam-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		background: var(--sam-grey);
		color: var(--sam-red);
	}
}

/* Red call-to-action block flush to the right edge */
.sam-cta-wrap { margin: 0 !important; align-self: stretch; flex-shrink: 0; }
.sam-cta-wrap .sam-cta { height: 100%; }
.sam-cta .wp-block-button__link {
	height: 100%;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0 24px !important;
	border-radius: 0 !important;
	background: var(--sam-red) !important;
	color: #fff !important;
	font-family: var(--sam-font);
	font-size: 16px;
	font-weight: 400;
	min-width: 0;
	justify-content: space-between;
	transition: background .2s;
}
.sam-cta .wp-block-button__link::after,
.sam-btn .wp-block-button__link::after {
	content: "→";
	font-size: 1.3em;
	line-height: 1;
	transition: transform .2s;
}
.sam-cta .wp-block-button__link:hover { background: var(--sam-red-dark) !important; }
.sam-cta .wp-block-button__link:hover::after,
.sam-btn .wp-block-button__link:hover::after { transform: translateX(4px); }

/* Mobile menu: black square burger, Datel style (core only shows it below 600px) */
.sam-nav .wp-block-navigation__responsive-container-open {
	background: var(--sam-ink);
	color: #fff;
	width: 40px; height: 40px;
	align-items: center; justify-content: center;
}
@media (max-width: 599px) {
	.sam-nav .wp-block-navigation__responsive-container-open { display: flex; }
}
.sam-nav .wp-block-navigation__responsive-container.is-menu-open {
	font-family: var(--sam-font);
	padding: 24px !important;
}
.sam-nav .is-menu-open .wp-block-navigation__container { gap: 4px !important; font-size: 20px; }
.sam-nav .is-menu-open .wp-block-navigation__submenu-container { font-size: 16px; color: var(--sam-muted); }

/* ============ MOBILE FLY-OUT MENU ============
   The navigation overlay: logo and close button where the header's logo and burger sit,
   big left-aligned links with arrows, and the red "Start My Assessment" button at the bottom. */
.sam-flyout__brand, .sam-flyout__foot { display: none; }
.sam-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 0 !important; background: #fff !important; color: var(--sam-ink) !important;
	animation: sam-fly-in .28s ease-out both;
}
/* Logo-colour stripe across the top */
.sam-nav .wp-block-navigation__responsive-container.is-menu-open::before {
	content: ""; position: fixed; top: var(--wp-admin--admin-bar--height, 0px); left: 0; right: 0; height: 4px; z-index: 2;
	background: linear-gradient(90deg, #01afd4 0 33.33%, #fc4343 33.33% 66.66%, #6acb3d 66.66%);
}
.sam-nav .is-menu-open .wp-block-navigation__responsive-close,
.sam-nav .is-menu-open .wp-block-navigation__responsive-dialog { max-width: none !important; margin: 0 !important; min-height: 100%; }
.sam-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0 !important; }
.sam-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 18px !important; right: 24px !important; width: 40px; height: 40px; z-index: 3;
	display: flex; align-items: center; justify-content: center;
	background: var(--sam-ink); color: #fff; transition: background .2s;
}
.sam-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover { background: var(--sam-red); }
.sam-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { fill: currentColor; }
.sam-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	display: flex !important; flex-direction: column !important; align-items: stretch !important;
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px)); box-sizing: border-box;
	padding: 4px 24px 32px !important; gap: 0 !important;
}
/* Keep logo → links → button (a mobile header rule gives everything with .sam-nav order 3) */
.sam-nav .is-menu-open .sam-flyout__brand { order: 0; }
.sam-nav .is-menu-open .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { order: 1; }
.sam-nav .is-menu-open .sam-flyout__foot { order: 2; }
.sam-nav .is-menu-open .wp-block-navigation-item__content:focus:not(:focus-visible),
.sam-nav .is-menu-open .sam-flyout__cta:focus:not(:focus-visible) { outline: none; } /* the menu focuses its first link on open */
.sam-nav .is-menu-open .wp-block-navigation-item__content:focus-visible,
.sam-nav .is-menu-open .sam-flyout__cta:focus-visible { outline: 2px solid var(--sam-red); outline-offset: 2px; }
.sam-nav .is-menu-open .sam-flyout__brand { display: block; align-self: flex-start; padding: 5px 5px 5px 0; line-height: 0; }
.sam-flyout__logo-img { display: block; width: 80px; height: auto; }

/* Links */
.sam-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: column !important; align-items: stretch !important; gap: 0 !important;
	margin: 28px 0 0 !important; width: 100%; font-size: 26px !important; font-weight: 500;
	border-top: 1px solid var(--sam-line);
}
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%; border-bottom: 1px solid var(--sam-line);
	animation: sam-fly-item .4s ease-out both;
}
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(1) { animation-delay: .06s; }
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .12s; }
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .18s; }
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .24s; }
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(n+5) { animation-delay: .3s; }
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex !important; align-items: center; justify-content: space-between; width: 100%; box-sizing: border-box;
	padding: 20px 2px !important; letter-spacing: -.01em; transition: color .2s;
}
.sam-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "→"; font-size: 22px; font-weight: 400; color: var(--sam-red); transition: transform .2s;
}
.sam-nav .is-menu-open .wp-block-navigation-item__content:hover,
.sam-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--sam-red) !important; }
.sam-nav .is-menu-open .wp-block-navigation-item__content:hover::after { transform: translateX(6px); }
.sam-nav .is-menu-open .current-menu-item { box-shadow: inset 3px 0 0 var(--sam-red); }
.sam-nav .is-menu-open .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content { padding-left: 18px !important; }
.sam-nav .is-menu-open .wp-block-navigation__submenu-container { padding: 0 0 16px 2px !important; font-size: 17px !important; }

/* Bottom: the call to action */
.sam-nav .is-menu-open .sam-flyout__foot {
	display: block; margin-top: auto; padding-top: 40px;
	animation: sam-fly-item .4s ease-out .32s both;
}
.sam-flyout__cta {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	padding: 20px 22px; background: var(--sam-red); color: #fff !important;
	font-size: 18px; font-weight: 500; text-decoration: none; transition: background .2s;
}
.sam-flyout__cta:hover, .sam-flyout__cta:focus-visible { background: var(--sam-red-dark); }
.sam-flyout__arrow { font-size: 24px; line-height: 1; transition: transform .2s; }
.sam-flyout__cta:hover .sam-flyout__arrow { transform: translateX(6px); }
.sam-flyout__tagline { margin: 16px 0 0; text-align: center; font-size: 14px; font-weight: 300; color: var(--sam-muted); }

@keyframes sam-fly-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes sam-fly-item { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.sam-nav .wp-block-navigation__responsive-container.is-menu-open,
	.sam-nav .is-menu-open .wp-block-navigation-item, .sam-nav .is-menu-open .sam-flyout__foot { animation: none !important; }
}

@media (max-width: 1100px) {
	.sam-nav .wp-block-navigation__container { gap: 0 20px; }
	.sam-cta .wp-block-button__link { gap: 20px; min-width: 0; }
}
@media (max-width: 781px) {
	.sam-mainbar { min-height: 76px; padding-right: 32px; }
	.sam-logo img { width: 80px !important; }
	.sam-nav { flex: 0 0 auto; }
	.sam-cta-wrap { display: none !important; }
	.sam-nav .wp-block-navigation__submenu-container { top: calc(100% + 14px) !important; }
	.sam-nav .wp-block-navigation__submenu-container::before { top: -17px; height: 17px; }
}
@media (max-width: 599px) {
	.sam-mainbar { padding-right: 24px; }
}

/* ============ FOOTER ============ */
.sam-footer {
	background: #000; /* black footer with white links (2026-10-07) */
	color: #fff;
	font-family: var(--sam-font);
	font-size: 16px;
	font-weight: 300;
}
.sam-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 56px 40px 0;
}
.sam-footer a { color: #fff; text-decoration: none; font-weight: 400; transition: color .2s; }
.sam-footer a:hover, .sam-footer a:focus-visible { color: var(--sam-red); }
.sam-footer h3, .sam-footer h4 { font-family: var(--sam-font); letter-spacing: 0; }
.sam-footer h4 { font-size: 18px; font-weight: 600; margin: 0 0 28px; }
.sam-footer p { margin: 0; line-height: 1.5; }

/* Logo + the header menu's links in one row */
.sam-footer__top { gap: 24px 48px; }
.sam-footer__top .wp-block-site-logo { margin: 0; }
.sam-footer__nav { list-style: none; display: flex; flex-wrap: wrap; gap: 12px 40px; margin: 0; padding: 0; }
.sam-footer__nav a { font-size: 12.8px; font-weight: 400; }

.sam-footer__brand { margin-bottom: 64px; }
.sam-footer__brand .wp-block-site-logo { margin: 0; }
.sam-footer__tagline { font-size: 24px; font-weight: 300 !important; color: #444; margin-top: 16px !important; }

.sam-footer__main { gap: 64px !important; margin: 0 !important; }
.sam-footer__links, .sam-footer__contact { gap: 24px !important; margin: 0 !important; }

.sam-linklist { list-style: none; padding: 0; margin: 0; }
.sam-linklist li { margin: 0 0 24px; }
.sam-linklist li:last-child { margin-bottom: 0; }

.sam-footer__rule {
	border: 0 !important;
	border-top: 1px solid var(--sam-line) !important;
	margin: 32px 0 44px !important;
	width: 100% !important;
	opacity: 1;
}
.sam-muted { color: var(--sam-muted); }
.sam-footer__contact > .wp-block-column:last-child { flex-grow: 1.4; }

/* "Get in touch" card */
.sam-footer__card { background: #fff; padding: 40px 32px; }
.sam-footer__card h3 { font-size: 22px; font-weight: 500; margin: 0 0 20px; }
.sam-footer__card > p { margin-bottom: 28px; }
.sam-footer__card .wp-block-buttons { gap: 12px; margin-bottom: 28px; }
.sam-btn .wp-block-button__link {
	display: inline-flex;
	gap: 24px;
	align-items: center;
	border-radius: 0 !important;
	background: var(--sam-red) !important;
	color: #fff !important;
	font-family: var(--sam-font);
	font-size: 16px;
	font-weight: 400;
	padding: 15px 18px !important;
	transition: background .2s;
}
.sam-btn .wp-block-button__link:hover { background: var(--sam-red-dark) !important; color: #fff !important; }
.sam-btn--ghost .wp-block-button__link { background: #ececec !important; color: var(--sam-ink) !important; }
.sam-btn--ghost .wp-block-button__link:hover { background: #e0e0e0 !important; color: var(--sam-ink) !important; }
.sam-footer__small { font-size: 13px; color: #333; }
.sam-footer__small a { text-decoration: underline; font-weight: 300; }

/* Bottom bar */
.sam-footer__bottom {
	margin-top: 40px;
	padding: 28px 0 32px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	font-size: 13px;
	color: #b3b3b3;
}
.sam-footer__bottom a { color: #d6d6d6; font-weight: 300; margin-right: 64px; }
.sam-footer__bottom a:last-child { margin-right: 0; }

@media (max-width: 781px) {
	.sam-footer__inner { padding: 40px 24px 0; }
	.sam-footer__nav { gap: 12px 28px; }
	.sam-footer__brand { margin-bottom: 40px; }
	.sam-footer__main { gap: 48px !important; }
	.sam-footer .wp-block-columns.sam-footer__links,
	.sam-footer .wp-block-columns.sam-footer__contact { flex-wrap: wrap !important; row-gap: 40px !important; }
	.sam-footer .sam-footer__links > .wp-block-column,
	.sam-footer .sam-footer__contact > .wp-block-column { flex-basis: calc(50% - 12px) !important; flex-grow: 0 !important; }
	.sam-footer .sam-footer__contact > .wp-block-column:last-child { flex-basis: 100% !important; }
	.sam-footer__bottom a { margin-right: 24px; }
	.sam-footer__bottom { margin-top: 32px; }
}

/* Tablets and phones: centred footer with a logo-colour strip on top, link tiles and a tidy bottom bar */
@media (max-width: 1024px) {
	.sam-footer { position: relative; }
	.sam-footer::before {
		content: ""; display: block; height: 4px;
		background: linear-gradient(90deg, var(--sam-blue) 0 33.33%, var(--sam-red) 33.33% 66.66%, #6acb3d 66.66%);
	}
	.sam-footer__inner { padding: 48px 32px 0; }
	.sam-footer .sam-footer__top { flex-direction: column; justify-content: center; align-items: center; gap: 32px; text-align: center; }
	.sam-footer__top .wp-block-site-logo img { width: 104px !important; height: auto; }
	.sam-footer__nav { justify-content: center; gap: 12px; }
	.sam-footer__nav li { margin: 0; }
	.sam-footer__nav a {
		display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 22px;
		border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .04);
		font-size: 12.8px; font-weight: 400; transition: color .2s, background-color .2s, border-color .2s;
	}
	.sam-footer__nav a:hover, .sam-footer__nav a:focus-visible { color: #fff; background: var(--sam-red); border-color: var(--sam-red); }
	.sam-footer .sam-footer__bottom {
		flex-direction: column; align-items: center; gap: 14px; margin-top: 40px; padding: 24px 0 calc(28px + env(safe-area-inset-bottom, 0px));
		text-align: center;
	}
	.sam-footer__bottom p:first-child { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 6px 0; }
	.sam-footer__bottom a { margin-right: 0; padding: 6px 0; }
	.sam-footer__bottom a + a::before { content: "·"; display: inline-block; margin: 0 14px; color: #6b6b6b; }
	.sam-footer__bottom p:last-child { font-size: 12px; color: #8c8c8c; letter-spacing: .02em; }
}
/* Phones: the links become a two-column grid of tiles with an arrow; an odd last one spans the row */
@media (max-width: 600px) {
	.sam-footer__inner { padding: 40px 16px 0; }
	.sam-footer .sam-footer__top { gap: 28px; }
	.sam-footer .sam-footer__top > * { align-self: stretch; }
	.sam-footer__top .wp-block-site-logo { align-self: center !important; }
	.sam-footer__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
	.sam-footer__nav li:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.sam-footer__nav a {
		display: flex; justify-content: space-between; gap: 8px; width: 100%; box-sizing: border-box; min-height: 52px; padding: 0 14px;
		border-radius: 10px; text-align: left; white-space: nowrap;
	}
	.sam-footer__nav a::after { content: "→"; color: var(--sam-red); font-size: 18px; line-height: 1; transition: color .2s, transform .2s; }
	.sam-footer__nav a:hover::after, .sam-footer__nav a:focus-visible::after { color: #fff; transform: translateX(2px); }
	.sam-footer .sam-footer__bottom { margin-top: 32px; }
}

/* ============ HOME PAGE (Elementor, page 2) ============
   Layout built in Elementor; the classes below are set in each element's
   Advanced → CSS Classes field. */
.sam-home { --sam-teal: #0f9fb8; font-family: var(--sam-font); color: var(--sam-ink); }
.sam-home .elementor { font-family: var(--sam-font); }
.sam-home .e-con { --gap: 0px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.sam-home .elementor-widget:not(:last-child) { margin-bottom: 0; }
.sam-home .elementor-heading-title { font-family: var(--sam-font); color: var(--sam-ink); }
.sam-home .elementor-widget-text-editor { font-weight: 300; font-size: 17px; line-height: 1.6; color: #333; }
.sam-home .elementor-widget-text-editor p { margin: 0 0 16px; }
.sam-home .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.sam-home img { display: block; width: 100%; height: auto; }

/* Shared red button (Elementor Button widget, class sam-el-btn) */
.sam-el-btn .elementor-button {
	display: inline-flex; align-items: center; gap: 28px;
	background: var(--sam-red); color: #fff; border-radius: 0;
	font-family: var(--sam-font); font-size: 16px; font-weight: 400;
	padding: 16px 18px; line-height: 1.25; transition: background .2s;
}
.sam-el-btn .elementor-button:hover, .sam-el-btn .elementor-button:focus { background: var(--sam-red-dark); color: #fff; }
.sam-el-btn .elementor-button { white-space: nowrap; }
.sam-el-btn .elementor-button::after { content: "→"; font-size: 1.3em; line-height: 1; position: relative; top: -2px; transition: transform .2s; }
.sam-el-btn .elementor-button:hover::after { transform: translateX(4px); }

/* Red-square section titles ("Unlock your full potential", "Recent articles") */
.sam-square-title .elementor-heading-title {
	display: flex; align-items: center; gap: 32px;
	font-size: 32px; font-weight: 500; line-height: 1.2;
}
.sam-square-title .elementor-heading-title::before {
	content: ""; flex: 0 0 32px; height: 32px; background: var(--sam-red);
}

/* 1. Hero */
.sam-home .sam-hero {
	max-width: 1280px; margin: 0 auto; padding: 40px 40px 72px !important;
	gap: 64px !important; align-items: center;
}
.sam-hero > .e-con { --width: 50%; }
.sam-hero__text { padding-left: 40px !important; }
.sam-eyebrow .elementor-heading-title {
	color: var(--sam-blue); font-size: 18px; font-weight: 700;
	letter-spacing: .06em; text-transform: uppercase; margin-bottom: 24px; line-height: 1.5;
}
.sam-h1 .elementor-heading-title { font-size: clamp(36px, 4.2vw, 60px); font-weight: 500; line-height: 1.12; margin-bottom: 48px; }

/* 1a. Key facts strip under the hero */
.sam-home .sam-stats { max-width: 1200px; margin: 0 auto 32px; padding: 0 !important; background: var(--sam-grey); width: calc(100% - 80px) !important; }
.sam-stats > .sam-stat { --width: 25%; flex: 1 1 0; gap: 0 !important; padding: 40px 24px !important; align-items: center; text-align: center; }
.sam-stats > .sam-stat + .sam-stat { border-left: 1px solid var(--sam-line); }
.sam-stat__value .elementor-heading-title { font-size: clamp(40px, 4vw, 56px); font-weight: 500; line-height: 1; color: var(--sam-red); letter-spacing: -.01em; margin-bottom: 12px; }
.sam-stat__label .elementor-heading-title { font-size: 18px; font-weight: 300; line-height: 1.4; color: var(--sam-ink); }
/* One logo colour per fact: STUDY blue, ABROAD red, MARKET green, cap navy */
.sam-stats > .sam-stat:nth-child(1) .sam-stat__value .elementor-heading-title { color: #01afd4; }
.sam-stats > .sam-stat:nth-child(2) .sam-stat__value .elementor-heading-title { color: #fc4343; }
.sam-stats > .sam-stat:nth-child(3) .sam-stat__value .elementor-heading-title { color: #6acb3d; }
.sam-stats > .sam-stat:nth-child(4) .sam-stat__value .elementor-heading-title { color: #14213d; } /* the logo cap's dark navy, lifted slightly */
.sam-stat__cents { font-size: .5em; vertical-align: .72em; margin-left: .04em; letter-spacing: 0; }

/* 1b. Five reasons to take the assessment: sticky title on the left, numbered list on the right */
.sam-home .sam-reasons { max-width: 1280px; margin: 0 auto; padding: 56px 40px 120px !important; gap: 56px !important; align-items: center; }
.sam-reasons > .sam-reasons__intro { --width: 100%; max-width: 980px; text-align: center; }
.sam-reasons > .sam-reasons__list { --width: 100%; max-width: 980px; }
/* The section's headline: larger than other section titles, with a big red "5" */
.sam-reasons__title .elementor-heading-title { font-size: clamp(36px, 4vw, 54px); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; color: var(--sam-ink); }
.sam-reasons__five { display: inline-block; font-size: 1.7em; font-weight: 700; line-height: .8; color: #fc4343; vertical-align: -.12em; margin-right: -.06em; }
/* "StudyAbroadMarket" in the logo's colours */
.sam-brand { white-space: nowrap; }
.sam-brand__study { color: #01afd4; }
.sam-brand__abroad { color: #fc4343; }
.sam-brand__market { color: #6acb3d; }
.sam-reasons__title .elementor-heading-title::after { content: ""; display: block; width: 72px; height: 4px; margin: 28px auto 0; background: #fc4343; }
.sam-home .sam-reason { gap: 32px !important; padding: 36px 0 !important; border-top: 1px solid var(--sam-line); }
.sam-home .sam-reason:first-child { border-top: 0; padding-top: 0 !important; }
.sam-home .sam-reason:last-child { padding-bottom: 0 !important; }
.sam-reason > .sam-reason__body { --width: auto; flex: 1 1 0; gap: 0 !important; }
.sam-reason__num { flex: 0 0 64px; }
.sam-reason__num .elementor-heading-title { font-size: 40px; font-weight: 300; line-height: 1; color: var(--sam-teal); letter-spacing: -.02em; }
.sam-reason__title .elementor-heading-title { font-size: 24px; font-weight: 500; line-height: 1.3; margin-bottom: 10px; }

/* 2. Intro panel */
.sam-home .sam-intro, .sam-home .sam-band { --width: auto; width: auto !important; max-width: none; }
.sam-home .sam-intro {
	background: var(--sam-grey); margin: 0 32px; padding: 120px 48px 0 !important;
	gap: 120px !important; align-items: flex-start;
}
.sam-intro > .e-con { --width: 50%; }
.sam-intro__text { padding-top: 0 !important; }
.sam-intro__text .sam-square-title { margin-bottom: 24px !important; }
.sam-intro__text .sam-body { padding-left: 0; max-width: 540px; }
.sam-intro__media { margin-bottom: -80px; }
.sam-intro__media img { aspect-ratio: 1 / 1; object-fit: cover; }

/* 3. Study options */
.sam-home .sam-options { max-width: 1280px; margin: 0 auto; padding: 0 40px 80px !important; align-items: center; } /* the 5 Reasons section above supplies the gap */
.sam-h2-center .elementor-heading-title { font-size: 40px; font-weight: 400; text-align: center; margin-bottom: 24px; }
.sam-lead-center { max-width: 780px; text-align: center; margin-bottom: 48px !important; }
.sam-home .sam-cards { gap: 16px !important; align-items: stretch; width: 100%; flex-wrap: wrap !important; justify-content: center; }
.sam-cards > .e-con { --width: calc(25% - 12px); }
.sam-home .sam-card {
	background: var(--sam-grey); padding: 40px 32px 48px !important; align-items: center; text-align: center;
}
.sam-card__eyebrow .elementor-heading-title {
	font-size: 16px; font-weight: 500; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; margin-bottom: 28px;
}
.sam-card__text { flex-grow: 1; }
.sam-card__icon { margin-top: 40px !important; }
.sam-card__icon .elementor-icon { font-size: 72px; color: var(--sam-teal); }
.sam-card__icon .elementor-icon svg { fill: var(--sam-teal); width: 72px; height: 72px; }

/* 4 & 8. Dark bands, flush to the right edge like Datel */
.sam-home .sam-band {
	background: var(--sam-ink); margin: 80px 0 80px 80px; padding: 128px 80px 128px 107px !important;
	gap: 120px !important; align-items: center;
}
.sam-band > .e-con { --width: 50%; }
.sam-band__title .elementor-heading-title { color: #fff; font-size: 40px; font-weight: 400; line-height: 1.2; margin-bottom: 24px; }
.sam-band__copy, .sam-band__copy p { color: #fff !important; }
.sam-boxbtn { width: 100%; }
.sam-boxbtn .elementor-button-wrapper, .sam-boxbtn .elementor-button { display: flex; width: 100%; }
.sam-boxbtn .elementor-button {
	align-items: center; justify-content: space-between;
	background: #fff; color: var(--sam-ink); border-radius: 0;
	font-family: var(--sam-font); font-size: 28px; font-weight: 400;
	padding: 32px; line-height: 1.2;
}
.sam-boxbtn .elementor-button:hover, .sam-boxbtn .elementor-button:focus { background: #fff; color: var(--sam-red); }
.sam-boxbtn .elementor-button::after {
	content: "→"; flex: 0 0 64px; height: 64px; padding-bottom: 4px; box-sizing: border-box; display: flex; align-items: center; justify-content: center;
	background: var(--sam-red); color: #fff; font-size: 26px; transition: background .2s;
}
.sam-boxbtn .elementor-button:hover::after { background: var(--sam-red-dark); }

/* 5. Destinations grid */
.sam-home .sam-dest { max-width: 1280px; margin: 0 auto; padding: 80px 40px !important; }
.sam-h2-bold-center .elementor-heading-title { font-size: 32px; font-weight: 500; text-align: center; margin-bottom: 48px; }
.sam-home .sam-dest__grid { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 24px !important; }
.sam-tile .elementor-heading-title a {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center;
	height: 150px; padding: 0 8px; background: var(--sam-grey); color: var(--sam-ink);
	font-size: 18px; font-weight: 500; line-height: 1.25; letter-spacing: .02em; transition: background .2s, color .2s;
}
.sam-tile__flag { width: 64px !important; height: 48px !important; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.08); transition: transform .2s; }
.sam-tile .elementor-heading-title a:hover .sam-tile__flag { transform: scale(1.06); }
.sam-tile .elementor-heading-title a:hover { background: #efefef; color: var(--sam-red); }

/* 6. Popular study subjects (replaced the Steps section on 2026-10-07; list in tools/home-subjects.php) */
.sam-home .sam-subjects { max-width: 1280px; margin: 0 auto; padding: 80px 40px !important; }
.sam-subjects .sam-h2-bold-center .elementor-heading-title { margin-bottom: 16px; }
.sam-home .sam-subjects__intro { max-width: 680px; margin: 0 auto 56px !important; text-align: center; color: #555 !important; }
.sam-home .sam-subjects__groups { display: block; column-count: 3; column-gap: 48px; }
.sam-subjects__group { break-inside: avoid; margin-bottom: 40px; }
.sam-home .sam-subjects__group h3 {
	display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-family: var(--sam-font);
	color: var(--sam-teal); font-size: 14px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
}
.sam-home .sam-subjects__group h3::after { content: ""; flex: 1; height: 1px; background: #e3e3e3; }
.sam-home .sam-subjects__group ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sam-home .sam-subjects__group li {
	margin: 0; padding: 8px 14px; background: var(--sam-grey); border-left: 3px solid var(--sam-red);
	font-size: 15px; font-weight: 400; line-height: 1.3; color: var(--sam-ink);
}

/* 7. Recent articles */
.sam-home .sam-articles { max-width: 1280px; margin: 0 auto; padding: 80px 40px 0 !important; }
.sam-articles .sam-square-title { margin-bottom: 64px !important; }
.sam-articles__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.sam-articles__grid a { color: var(--sam-ink); text-decoration: none; }
.sam-articles__feature { position: relative; display: flex; flex-direction: column; background: #f2f2f2; min-height: 320px; }
.sam-articles__img img { aspect-ratio: 640 / 300; object-fit: cover; }
.sam-articles__body { display: flex; flex-direction: column; gap: 16px; padding: 48px 40px 120px; }
.sam-articles__feature .sam-articles__title { font-size: 26px; font-weight: 300; line-height: 1.3; }
.sam-articles__excerpt { font-size: 16px; font-weight: 300; color: #555; line-height: 1.65; }
.sam-articles__arrow {
	position: absolute; right: 0; bottom: 0; width: 80px; height: 80px;
	display: flex; align-items: center; justify-content: center;
	background: var(--sam-red); color: #fff; font-size: 26px; transition: background .2s;
}
.sam-articles__feature:hover .sam-articles__arrow { background: var(--sam-red-dark); }
.sam-articles__feature:hover .sam-articles__title,
.sam-articles__list a:hover .sam-articles__title { color: var(--sam-red); }
.sam-articles__list { list-style: none; margin: 0; padding: 0; }
.sam-articles__list li + li { border-top: 1px solid var(--sam-line); }
.sam-articles__list a { display: flex; flex-direction: column; gap: 8px; padding: 48px 64px; }
.sam-articles__list .sam-articles__title { font-size: 19px; font-weight: 400; line-height: 1.4; }
.sam-articles__empty { color: var(--sam-muted); }

/* Home: tablet & mobile */
@media (max-width: 1024px) {
	.sam-home .sam-hero, .sam-home .sam-intro, .sam-home .sam-band { flex-direction: column !important; gap: 48px !important; }
	.sam-hero > .e-con, .sam-intro > .e-con, .sam-band > .e-con { --width: 100%; }
	.sam-hero__text { padding-left: 0 !important; }
	.sam-home .sam-reasons { gap: 40px !important; padding-bottom: 96px !important; }
	.sam-home .sam-intro { padding: 64px 32px 0 !important; margin: 0 16px; }
	.sam-home .sam-cards { flex-wrap: wrap !important; }
	.sam-cards > .e-con { --width: calc(50% - 8px); }
	.sam-home .sam-band { margin: 64px 0 64px 24px; padding: 80px 40px !important; }
	.sam-home .sam-dest__grid { grid-template-columns: repeat(3, 1fr); gap: 16px !important; }
	.sam-home .sam-subjects__groups { column-count: 2; column-gap: 32px; }
	.sam-articles__grid { grid-template-columns: 1fr; }
	.sam-articles__list a { padding: 32px 0; }
}
@media (max-width: 767px) {
	.sam-home .sam-subjects__groups { column-count: 1; }
	.sam-home .sam-subjects__intro { margin-bottom: 40px !important; }
	.sam-home .sam-subjects__group li { font-size: 14px; padding: 7px 12px; }
	.sam-home .sam-hero { padding: 24px 24px 48px !important; }
	/* Hero call to action: full width, bigger and with a soft glow on phones */
	.sam-h1 .elementor-heading-title { margin-bottom: 32px; }
	.sam-hero .sam-el-btn, .sam-hero .sam-el-btn .elementor-button-wrapper { width: 100%; }
	.sam-hero .sam-el-btn .elementor-button {
		display: flex; width: 100%; box-sizing: border-box; justify-content: space-between;
		padding: 22px 24px; font-size: 19px; font-weight: 600; letter-spacing: .01em;
		box-shadow: 0 10px 24px rgba(227, 38, 45, .32);
	}
	.sam-hero .sam-el-btn .elementor-button::after { font-size: 1.5em; }
	.sam-hero .sam-el-btn .elementor-button:active { transform: translateY(1px); box-shadow: 0 6px 14px rgba(227, 38, 45, .3); }
	.sam-home .sam-reasons { padding: 24px 24px 72px !important; gap: 32px !important; }
	/* 2 x 2 on phones */
	.sam-home .sam-stats { flex-direction: row !important; flex-wrap: wrap !important; gap: 0 !important; width: calc(100% - 48px) !important; margin-bottom: 24px; }
	.sam-stats > .sam-stat { --width: 50%; flex: 0 0 50%; box-sizing: border-box; padding: 22px 12px !important; }
	.sam-stat__value .elementor-heading-title { font-size: 30px; margin-bottom: 6px; }
	.sam-stats > .sam-stat + .sam-stat { border-left: 0; }
	.sam-stats > .sam-stat:nth-child(even) { border-left: 1px solid var(--sam-line); }
	.sam-stats > .sam-stat:nth-child(n+3) { border-top: 1px solid var(--sam-line); }
	.sam-stat__label .elementor-heading-title { font-size: 14px; }
	.sam-reasons__title .elementor-heading-title { font-size: 30px; }
	.sam-reasons__title .elementor-heading-title::after { margin-top: 20px; width: 56px; }
	.sam-home .sam-reason { gap: 16px !important; padding: 28px 0 !important; }
	.sam-reason__num { flex-basis: 44px; }
	.sam-reason__num .elementor-heading-title { font-size: 30px; }
	.sam-reason__title .elementor-heading-title { font-size: 20px; }
	.sam-home .sam-intro { padding: 48px 24px 0 !important; }
	.sam-intro__media { margin-bottom: -48px; }
	.sam-home .sam-options { padding: 0 24px 48px !important; }
	.sam-h2-center .elementor-heading-title, .sam-h2-light .elementor-heading-title, .sam-band__title .elementor-heading-title { font-size: 30px; }
	.sam-cards > .e-con { --width: 100%; }
	.sam-home .sam-band { margin: 48px 0 48px 16px; padding: 56px 24px !important; }
	.sam-boxbtn .elementor-button { font-size: 20px; padding: 20px; }
	.sam-boxbtn .elementor-button::after { flex-basis: 48px; height: 48px; }
	.sam-home .sam-dest, .sam-home .sam-subjects, .sam-home .sam-articles { padding-left: 24px !important; padding-right: 24px !important; }
	.sam-tile .elementor-heading-title a { height: 110px; gap: 10px; padding: 0 4px; font-size: 14px; letter-spacing: 0; }
	.sam-tile__flag { width: 48px !important; height: 36px !important; }
	.sam-step__text { font-size: 19px !important; }
	.sam-articles__body { padding: 32px 24px 104px; }
	.sam-square-title .elementor-heading-title { font-size: 26px; gap: 20px; }
	.sam-square-title .elementor-heading-title::before { flex-basis: 24px; height: 24px; }
}

/* Hero Lottie animation (Elementor HTML widget in the hero's left column) */
.sam-lottie { width: 100%; aspect-ratio: 6 / 5; }
.sam-lottie svg { display: block; }

/* ============ ELEMENTOR PAGES (templates/elementor-page.html) ============ */
/* Same width and side padding as the home page: 1280px including 40px each side, 24px on phones.
   :where() keeps this weaker than padding or width set on a container in Elementor. */
.sam-page { padding-block: 40px 80px; }
:where(.sam-page) .elementor > .e-con:first-child { --padding-top: 0px; } /* so the gap under the header is exactly 40px */
:where(.sam-page) .elementor > .e-con:first-child > .elementor-widget:first-child > :first-child,
:where(.sam-page) .elementor > .e-con:first-child > .e-con-inner > .elementor-widget:first-child > :first-child { margin-top: 0; }
.sam-page :is(h1, h2, h3, h4, a) { overflow-wrap: break-word; } /* long words like STUDYABROADMARKET.COM on phones */
:where(.sam-page) .elementor > .e-con-boxed { --content-width: 1200px; --padding-left: 40px; --padding-right: 40px; }
:where(.sam-page) .elementor > .e-con-full { --padding-left: 0px; --padding-right: 0px; }
@media (max-width: 767px) {
	.sam-page { padding-bottom: 56px; }
	:where(.sam-page) .elementor > .e-con-boxed { --padding-left: 24px; --padding-right: 24px; }
}

/* ============ LEGAL PAGES (Elementor text block with class "sam-legal": Terms, Privacy) ============ */
/* A compact, document-style layout. The source marks every section heading as h1, so sizes are set here. */
.sam-page .sam-legal {
	max-width: 860px !important; /* Elementor sets max-width on container children */ font-family: var(--sam-font); font-size: 15px; font-weight: 300; line-height: 1.75; color: #3d3d3d;
}
.sam-page .sam-legal :is(p, li) { font-size: 15px; margin: 0 0 12px; }
.sam-page .sam-legal :is(ul, ol) { margin: 0 0 16px; padding-left: 22px; }
.sam-page .sam-legal li { margin-bottom: 6px; padding-left: 4px; }
.sam-page .sam-legal li > p { margin: 0; }
.sam-page .sam-legal li::marker { color: var(--sam-muted); }
.sam-page .sam-legal strong { font-weight: 500; color: var(--sam-ink); }
.sam-page .sam-legal a { color: var(--sam-red); text-decoration: underline; text-underline-offset: 2px; }
.sam-page .sam-legal :is(h1, h2, h3, h4) { font-family: var(--sam-font); color: var(--sam-ink); line-height: 1.35; }
/* Document title (the first heading) */
.sam-page .sam-legal > h1:first-child {
	font-size: 30px; font-weight: 500; letter-spacing: .04em; margin: 0 0 20px;
}
/* Numbered section headings */
.sam-page .sam-legal h1:not(:first-child) {
	font-size: 15px; font-weight: 600; letter-spacing: .07em; margin: 0 0 14px;
}
.sam-page .sam-legal h2 { font-size: 16px; font-weight: 500; margin: 24px 0 10px; }
.sam-page .sam-legal h3 { font-size: 15px; font-weight: 500; margin: 20px 0 8px; }
.sam-page .sam-legal hr { border: 0; border-top: 1px solid var(--sam-line); margin: 36px 0 32px; }
@media (max-width: 767px) {
	.sam-page .sam-legal { font-size: 14px; line-height: 1.7; }
	.sam-page .sam-legal :is(p, li) { font-size: 14px; }
	.sam-page .sam-legal > h1:first-child { font-size: 24px; }
	.sam-page .sam-legal h1:not(:first-child) { font-size: 14px; }
	.sam-page .sam-legal hr { margin: 28px 0 24px; }
}

/* Header: Login / My Profile link before the Start My Assessment button */
.sam-account {
	align-self: center;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-right: 8px;
	padding: 10px 12px;
	font-family: var(--sam-font);
	font-size: 16px;
	color: var(--sam-ink) !important;
	text-decoration: none;
	white-space: nowrap;
}
.sam-account:hover, .sam-account:focus-visible { color: var(--sam-red) !important; }
.sam-account__icon { flex-shrink: 0; }
@media (max-width: 781px) {
	/* The red button is hidden here; keep the account link as an icon next to the menu. */
	.sam-account { order: 2; margin: 0 4px 0 auto !important; padding: 8px; } /* icon + burger together on the right (beats the flex layout margin reset) */
	.sam-account ~ * { order: 3; }
	.sam-mainbar .sam-nav { order: 3; }
	.sam-account__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* "Independent and unbiased" notice under the Universities page intro (Elementor text widget, class sam-independent) */
.sam-independent { margin: 8px 0 32px !important; padding: 18px 22px 18px 58px; position: relative; background: var(--sam-grey); border-left: 4px solid var(--sam-red); }
.sam-independent::before {
	content: ""; position: absolute; left: 20px; top: 50%; width: 24px; height: 24px; margin-top: -12px; border-radius: 50%; background: var(--sam-red);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 100%;
}
.sam-independent p { margin: 0; font-size: 16px; line-height: 1.55; }
.sam-independent strong { font-weight: 600; }

/* ============ PAGE TITLES (first Elementor container, class "sam-pagetitle") ============
   Countries, Universities, Visa, Start My Assessment, Affiliates: just the page name, kept quiet. */
:where(.sam-page) .elementor > .e-con.sam-pagetitle { --padding-top: 0px; --padding-bottom: 0px; --gap: 0px; margin-bottom: 8px; }
.sam-page .sam-pagetitle__h .elementor-heading-title {
	display: flex; align-items: center; gap: 12px; margin: 0; padding-bottom: 16px; border-bottom: 1px solid #e6e6e6;
	font-family: var(--sam-font); font-size: clamp(24px, 2.4vw, 30px); font-weight: 500; line-height: 1.2; color: var(--sam-ink);
}
.sam-page .sam-pagetitle__h .elementor-heading-title::before { content: ""; flex: 0 0 10px; height: 10px; background: #a6a6a6; } /* grey square (was red), at the user's request */
@media (max-width: 767px) {
	:where(.sam-page) .elementor > .e-con.sam-pagetitle { margin-bottom: 4px; }
}

/* ============ Desktop notice (Start My Assessment on phones, assets/desktop-notice.js) ============ */
.sam-dnotice-open, .sam-dnotice-open body { overflow: hidden; }
.sam-dnotice {
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
	padding: 16px; background: rgba(20, 16, 16, .6); animation: sam-dnotice-fade .2s ease-out;
}
.sam-dnotice__panel {
	width: 100%; max-width: 400px; padding: 32px 24px 24px; background: #fff; border-top: 4px solid var(--sam-red);
	text-align: center; font-family: var(--sam-font); color: var(--sam-ink); box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.sam-dnotice__icon { display: block; margin: 0 auto 16px; color: var(--sam-red); }
.sam-dnotice__title { margin: 0 0 12px; font-family: var(--sam-font); font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--sam-ink); }
.sam-dnotice__text { margin: 0 0 24px; font-size: 15px; font-weight: 300; line-height: 1.6; color: #333; }
.sam-dnotice__btn {
	display: block; width: 100%; margin-top: 10px; padding: 14px 16px; border: 1px solid var(--sam-line); background: #fff;
	font-family: var(--sam-font); font-size: 15px; font-weight: 500; color: var(--sam-ink); cursor: pointer; overflow-wrap: anywhere;
}
.sam-dnotice__btn--primary { margin-top: 0; border-color: var(--sam-red); background: var(--sam-red); color: #fff; }
.sam-dnotice__btn--primary:hover, .sam-dnotice__btn--primary:focus-visible { background: var(--sam-red-dark); }
.sam-dnotice__btn:focus-visible { outline: 2px solid var(--sam-blue); outline-offset: 2px; }
@keyframes sam-dnotice-fade { from { opacity: 0; } }

/* ============ Home: compact "Not sure where to start?" band (after the destinations, 2026-10-07) ============ */
.sam-home .sam-band {
	margin: 24px 0 72px 80px; padding: 40px 56px !important; gap: 48px !important;
	background: var(--sam-ink); border-left: 6px solid var(--sam-red); align-items: center;
}
.sam-home .sam-band > .sam-band__text { --width: auto; flex: 1 1 auto; }
.sam-home .sam-band > .sam-band__action { --width: auto; flex: 0 0 auto; }
.sam-home .sam-band__title .elementor-heading-title { font-size: 28px; font-weight: 500; margin-bottom: 8px; }
.sam-home .sam-band__copy, .sam-home .sam-band__copy p { margin: 0; font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .78) !important; max-width: 640px; }
.sam-home .sam-band .sam-boxbtn .elementor-button { gap: 20px; padding: 14px 14px 14px 22px; font-size: 18px; font-weight: 500; white-space: nowrap; }
.sam-home .sam-band .sam-boxbtn .elementor-button::after { flex-basis: 40px; height: 40px; font-size: 20px; padding-bottom: 2px; }
@media (max-width: 1024px) {
	.sam-home .sam-band { flex-direction: row !important; margin: 16px 24px 56px; padding: 32px !important; gap: 24px !important; }
	.sam-home .sam-band__title .elementor-heading-title { font-size: 24px; }
}
@media (max-width: 767px) {
	.sam-home .sam-band { flex-direction: column !important; align-items: stretch; margin: 8px 16px 48px; padding: 28px 20px !important; gap: 20px !important; border-left-width: 4px; }
	.sam-home .sam-band > .sam-band__text, .sam-home .sam-band > .sam-band__action { --width: 100%; }
	.sam-home .sam-band__title .elementor-heading-title { font-size: 22px; }
	.sam-home .sam-band__copy, .sam-home .sam-band__copy p { font-size: 15px; }
	.sam-home .sam-band .sam-boxbtn .elementor-button { font-size: 17px; }
}

/* ============ Home: Study options as a grey panel like the facts strip, with white cards (2026-10-07) ============ */
.sam-home .sam-options {
	max-width: 1200px; width: calc(100% - 80px) !important; margin: 0 auto 80px; box-sizing: border-box;
	padding: 64px 48px 56px !important; background: var(--sam-grey);
}
.sam-home .sam-options .sam-card {
	background: #fff; border: 1px solid #ececec; box-shadow: 0 1px 2px rgba(20, 16, 16, .04);
	transition: box-shadow .2s, transform .2s;
}
.sam-home .sam-options .sam-card:hover { box-shadow: 0 10px 24px rgba(20, 16, 16, .08); transform: translateY(-2px); }
@media (max-width: 1024px) {
	.sam-home .sam-options { width: calc(100% - 48px) !important; margin-bottom: 56px; padding: 48px 24px 40px !important; }
}
@media (max-width: 767px) {
	.sam-home .sam-options { width: calc(100% - 32px) !important; margin-bottom: 48px; padding: 40px 16px 32px !important; }
}

/* ============ Home: compact, subtle destinations (24 tiles, 12 per row on desktop; 2026-10-07) ============ */
.sam-home .sam-dest { padding: 64px 40px !important; }
.sam-home .sam-dest .sam-h2-bold-center .elementor-heading-title { margin-bottom: 32px; }
.sam-home .sam-dest__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px !important; }
.sam-home .sam-tile .elementor-heading-title a {
	height: auto; min-height: 84px; gap: 8px; padding: 12px 4px; box-sizing: border-box;
	background: #fff; border: 1px solid #ececec; border-radius: 6px;
	font-size: 12.5px; font-weight: 400; line-height: 1.25; letter-spacing: 0; color: #4a4a4a;
	transition: border-color .2s, color .2s, background-color .2s;
}
.sam-home .sam-tile__flag { width: 32px !important; height: 24px !important; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06); }
.sam-home .sam-tile .elementor-heading-title a:hover, .sam-home .sam-tile .elementor-heading-title a:focus-visible { background: #fafafa; border-color: #d6d6d6; color: var(--sam-red); }
.sam-home .sam-tile .elementor-heading-title a:hover .sam-tile__flag { transform: scale(1.08); }
@media (max-width: 1100px) {
	.sam-home .sam-dest__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.sam-home .sam-dest { padding: 48px 16px !important; }
	.sam-home .sam-dest__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px !important; }
	.sam-home .sam-tile .elementor-heading-title a { min-height: 76px; padding: 10px 2px; font-size: 12px; }
	.sam-home .sam-tile__flag { width: 28px !important; height: 21px !important; }
}

/* ============ Home: smaller, more subtle "5 Reasons" (same look, scaled down; 2026-10-07) ============ */
.sam-home .sam-reasons { padding: 48px 40px 72px !important; gap: 32px !important; }
.sam-home .sam-reasons > .sam-reasons__intro, .sam-home .sam-reasons > .sam-reasons__list { max-width: 860px; }
.sam-home .sam-reasons__list { gap: 0 !important; --gap: 0px; --row-gap: 0px; }
.sam-home .sam-reasons__title .elementor-heading-title { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.2; }
.sam-home .sam-reasons__five { font-size: 1.5em; }
.sam-home .sam-reasons__title .elementor-heading-title::after { width: 48px; height: 3px; margin-top: 18px; }
.sam-home .sam-reason { gap: 20px !important; padding: 20px 0 !important; }
.sam-home .sam-reason__num { flex: 0 0 40px; }
.sam-home .sam-reason__num .elementor-heading-title { font-size: 26px; padding-top: 1px; }
.sam-home .sam-reason__title .elementor-heading-title { font-size: 18px; margin-bottom: 4px; }
.sam-home .sam-reason__body .elementor-widget-text-editor, .sam-home .sam-reason__body .elementor-widget-text-editor p { margin: 0; font-size: 15px; line-height: 1.6; color: #555; }
@media (max-width: 767px) {
	.sam-home .sam-reasons { padding: 16px 16px 48px !important; gap: 24px !important; }
	.sam-home .sam-reasons__title .elementor-heading-title { font-size: 24px; }
	.sam-home .sam-reasons__title .elementor-heading-title::after { width: 40px; margin-top: 14px; }
	.sam-home .sam-reason { gap: 12px !important; padding: 16px 0 !important; }
	.sam-home .sam-reason__num { flex-basis: 32px; }
	.sam-home .sam-reason__num .elementor-heading-title { font-size: 22px; }
	.sam-home .sam-reason__title .elementor-heading-title { font-size: 17px; }
	.sam-home .sam-reason__body .elementor-widget-text-editor, .sam-home .sam-reason__body .elementor-widget-text-editor p { font-size: 14px; }
}

/* ============ Home: smaller, more subtle Study options (same grey panel + white cards; 2026-10-07) ============ */
.sam-home .sam-options { padding: 48px 40px 40px !important; margin-bottom: 64px; }
.sam-home .sam-options .sam-h2-center .elementor-heading-title { font-size: clamp(24px, 2.4vw, 32px); font-weight: 500; margin-bottom: 12px; }
.sam-home .sam-options .sam-lead-center { --width: auto; width: 100%; max-width: 680px !important; margin: 0 auto 28px !important; align-self: center; }
.sam-home .sam-options .sam-lead-center, .sam-home .sam-options .sam-lead-center p { font-size: 15px; line-height: 1.6; color: #555; }
.sam-home .sam-options .sam-cards { gap: 12px !important; }
.sam-home .sam-options .sam-cards > .e-con { --width: calc(25% - 9px); }
.sam-home .sam-options .sam-card { padding: 24px 18px 22px !important; gap: 0 !important; border-radius: 6px; }
.sam-home .sam-options .sam-card__icon { order: -1; margin: 0 0 14px !important; }
.sam-home .sam-options .sam-card__icon .elementor-icon { font-size: 34px; }
.sam-home .sam-options .sam-card__icon .elementor-icon svg { width: 34px; height: 34px; }
.sam-home .sam-options .sam-card__eyebrow .elementor-heading-title { font-size: 13px; letter-spacing: .1em; margin-bottom: 8px; }
.sam-home .sam-options .sam-card__text, .sam-home .sam-options .sam-card__text p { margin: 0; font-size: 14px; line-height: 1.55; color: #555; }
@media (max-width: 1024px) {
	.sam-home .sam-options .sam-cards > .e-con { --width: calc(50% - 6px); }
}
@media (max-width: 767px) {
	.sam-home .sam-options { padding: 32px 12px 24px !important; margin-bottom: 48px; }
	.sam-home .sam-options .sam-lead-center, .sam-home .sam-options .sam-lead-center p { font-size: 14px; }
	.sam-home .sam-options .sam-cards { gap: 8px !important; }
	.sam-home .sam-options .sam-cards > .e-con { --width: calc(50% - 4px); }
	.sam-home .sam-options .sam-card { padding: 18px 12px 16px !important; }
	.sam-home .sam-options .sam-card__icon { margin-bottom: 10px !important; }
	.sam-home .sam-options .sam-card__icon .elementor-icon { font-size: 28px; }
	.sam-home .sam-options .sam-card__icon .elementor-icon svg { width: 28px; height: 28px; }
	.sam-home .sam-options .sam-card__eyebrow .elementor-heading-title { font-size: 11.5px; letter-spacing: .06em; }
	.sam-home .sam-options .sam-card__text, .sam-home .sam-options .sam-card__text p { font-size: 13px; line-height: 1.5; }
}

/* ============ Tablet header (782–1000px): menu, account and red button all fit without sideways scroll ============ */
@media (min-width: 782px) and (max-width: 1000px) {
	.sam-mainbar { gap: 16px !important; }
	.sam-logo { padding-left: 16px; }
	.sam-nav { font-size: 12px; }
	.sam-nav .wp-block-navigation__container { gap: 0 16px; }
	.sam-account { padding: 8px; }
	.sam-account__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.sam-cta .wp-block-button__link { padding: 0 18px !important; gap: 10px; font-size: 15px; }
}
@media (min-width: 782px) and (max-width: 900px) {
	.sam-cta .wp-block-button__link::after { display: none; }
}
/* 8 menu items since Resources was added (2026-10-13): tighten the header up to 1240px so nothing scrolls sideways */
@media (min-width: 1001px) and (max-width: 1240px) {
	.sam-mainbar { gap: 16px !important; }
	.sam-logo { padding-left: 16px; }
	.sam-nav { font-size: 12px; }
	.sam-nav .wp-block-navigation__container { gap: 0 18px !important; }
	.sam-account { padding: 8px; }
	.sam-account__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.sam-cta .wp-block-button__link { padding: 0 18px !important; gap: 10px; font-size: 15px; }
}
@media (min-width: 782px) and (max-width: 1000px) {
	.sam-mainbar { gap: 12px !important; }
	.sam-nav { font-size: 12px; }
	.sam-nav .wp-block-navigation__container { gap: 0 12px !important; }
	.sam-cta .wp-block-button__link { padding: 0 14px !important; font-size: 14px; }
	.sam-cta .wp-block-button__link::after { display: none; }
}
@media (min-width: 782px) and (max-width: 880px) {
	.sam-logo { padding-left: 12px; }
	.sam-logo img { width: 64px !important; }
	.sam-mainbar { gap: 8px !important; }
	.sam-nav { font-size: 12px; }
	.sam-nav .wp-block-navigation__container { gap: 0 10px !important; }
	.sam-account { padding: 4px; margin-right: 0; }
	.sam-cta .wp-block-button__link { padding: 0 12px !important; font-size: 13px; }
}

/* Home: "View all countries" link under the Popular study destinations tiles (Elementor text widget d3a11c7) */
.sam-home .sam-dest__all { margin-top: 28px; text-align: center; }
.sam-home .sam-dest__all p { margin: 0; }
.sam-dest__all-link {
	display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px; border: 1px solid var(--sam-ink);
	color: var(--sam-ink) !important; font-size: 16px; font-weight: 500; text-decoration: none !important; transition: background .2s, color .2s;
}
.sam-dest__all-link span { font-size: 1.2em; line-height: 1; transition: transform .2s; }
.sam-dest__all-link:hover, .sam-dest__all-link:focus-visible { background: var(--sam-ink); color: #fff !important; }
.sam-dest__all-link:hover span { transform: translateX(4px); }
@media (max-width: 767px) { .sam-home .sam-dest__all { margin-top: 20px; } }

/* Hero: what the assessment gives you (under the H1) */
.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 24px; }
.sam-hero__info { margin-bottom: 40px; }
.sam-hero__lead { margin: 0 0 18px; max-width: 34em; font-size: 18px; font-weight: 300; line-height: 1.6; color: #3a3a3a; }
.sam-hero__lead strong { font-weight: 600; color: var(--sam-ink); }
.sam-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sam-hero__chips li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid #e3e3e3; background: #fff; font-size: 15px; font-weight: 500; line-height: 1.2; color: var(--sam-ink); }
.sam-hero__chips li::before { content: ""; width: 8px; height: 8px; background: var(--sam-red); flex: 0 0 8px; }
@media (max-width: 767px) {
	.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 18px; }
	.sam-hero__info { margin-bottom: 28px; }
	.sam-hero__lead { font-size: 16px; margin-bottom: 14px; }
	.sam-hero__chips { gap: 8px; }
	.sam-hero__chips li { padding: 7px 12px; font-size: 14px; }
}

/* Start My Assessment page: what the assessment gives you, below the form */
.sam-assess-intro { width: 100%; max-width: 1080px; margin: 28px auto 0; padding: 22px 26px; box-sizing: border-box; background: var(--sam-grey); border-left: 4px solid var(--sam-red); }
.sam-assess-intro__lead { margin: 0 0 14px; font-size: 17px; font-weight: 300; line-height: 1.6; color: #3a3a3a; }
.sam-assess-intro__lead strong { font-weight: 600; color: var(--sam-ink); }
.sam-assess-intro__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.sam-assess-intro__chips li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border: 1px solid #e3e3e3; background: #fff; font-size: 15px; font-weight: 500; line-height: 1.2; color: var(--sam-ink); }
.sam-assess-intro__chips li::before { content: ""; width: 8px; height: 8px; background: var(--sam-red); flex: 0 0 8px; }
@media (max-width: 767px) {
	.sam-assess-intro { padding: 16px 18px; margin-top: 20px; }
	.sam-assess-intro__lead { font-size: 15px; margin-bottom: 12px; }
	.sam-assess-intro__chips { gap: 8px; }
	.sam-assess-intro__chips li { padding: 6px 11px; font-size: 14px; }
}
.elementor .sam-assess-intro { max-width: 1080px !important; margin-left: auto !important; margin-right: auto !important; align-self: center; }

/* Hero: "best 20 minutes" line under the Start My Assessment button */
.sam-hero__time-w { margin-top: 16px; }
.sam-hero__time { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--sam-ink); }
.sam-hero__time::before {
	content: ""; flex: 0 0 20px; height: 20px; background: var(--sam-red);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 767px) {
	.sam-hero__time-w { margin-top: 14px; }
	.sam-hero__time { justify-content: center; font-size: 15px; text-align: left; }
}

/* Hero: tighter spacing so the whole hero fits in one screen (desktop and phones).
   The text column's 20px Elementor gap is zeroed; each block's own margin sets the spacing instead. */
.sam-home .sam-hero { padding-top: 24px !important; padding-bottom: 48px !important; }
.sam-home .sam-hero__text { --row-gap: 0px; --gap: 0px; row-gap: 0 !important; gap: 0 !important; }
.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 16px; }
.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 20px; }
.sam-home .sam-hero__info { margin-bottom: 28px !important; } /* !important: Elementor zeroes widget margins */
.sam-home .sam-hero__time-w { margin-top: 14px !important; }
@media (max-width: 1024px) {
	.sam-home .sam-hero { gap: 24px !important; }
}
@media (max-width: 767px) {
	.sam-home .sam-hero { padding: 14px 20px 24px !important; gap: 12px !important; }
	.sam-hero .sam-eyebrow .elementor-heading-title { font-size: 13px; letter-spacing: .05em; margin-bottom: 10px; }
	.sam-hero .sam-h1 .elementor-heading-title { font-size: 31px; line-height: 1.12; margin-bottom: 12px; }
	.sam-home .sam-hero__info { margin-bottom: 18px !important; }
	.sam-hero__lead { font-size: 15px; line-height: 1.5; margin-bottom: 10px; }
	.sam-hero__chips { gap: 6px; flex-wrap: nowrap; }
	.sam-hero__chips li { padding: 6px 9px; font-size: 13.5px; gap: 6px; }
	.sam-hero__chips li::before { width: 6px; height: 6px; flex-basis: 6px; }
	.sam-hero .sam-el-btn .elementor-button { padding: 17px 22px; font-size: 18px; }
	.sam-home .sam-hero__time-w { margin-top: 12px !important; }
	.sam-hero__time { font-size: 14px; }
	.sam-hero .sam-lottie { width: min(210px, 60vw); margin: 0 auto; } /* a % max-width here collapsed the widget's height */
}

/* Hero: a little more space between items (after the compact pass) */
.sam-home .sam-hero { padding-top: 32px !important; }
.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 20px; }
.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 26px; }
.sam-hero__lead { margin-bottom: 20px; }
.sam-home .sam-hero__info { margin-bottom: 34px !important; }
.sam-home .sam-hero__time-w { margin-top: 18px !important; }
@media (max-width: 767px) {
	.sam-home .sam-hero { padding-top: 18px !important; gap: 18px !important; }
	.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 14px; }
	.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 16px; }
	.sam-hero__lead { margin-bottom: 14px; }
	.sam-home .sam-hero__info { margin-bottom: 24px !important; }
	.sam-home .sam-hero__time-w { margin-top: 14px !important; }
}
@media (max-width: 767px) {
	/* keep "The best 20 minutes…" on one line on phones */
	.sam-hero__time { font-size: clamp(12px, 3.4vw, 14px); gap: 7px; white-space: nowrap; justify-content: flex-start; }
	.sam-hero__time::before { flex-basis: 17px; height: 17px; }
}
@media (max-width: 359px) {
	.sam-hero__chips { flex-wrap: wrap; } /* too narrow for all four on one row */
	.sam-hero__time { white-space: normal; }
}

/* Hero: a bit more space again */
.sam-home .sam-hero { padding-top: 40px !important; }
.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 24px; }
.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 32px; }
.sam-hero__lead { margin-bottom: 24px; }
.sam-home .sam-hero__info { margin-bottom: 40px !important; }
.sam-home .sam-hero__time-w { margin-top: 22px !important; }
@media (max-width: 767px) {
	.sam-home .sam-hero { padding-top: 22px !important; gap: 22px !important; }
	.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 16px; }
	.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 20px; }
	.sam-hero__lead { margin-bottom: 16px; }
	.sam-home .sam-hero__info { margin-bottom: 28px !important; }
	.sam-home .sam-hero__time-w { margin-top: 16px !important; }
}

/* Hero "Start My Assessment": bigger, in the logo's "MARKET" green. Dark text: white on #6bcb3d is only 2.1:1. */
.sam-home .sam-hero .sam-el-btn .elementor-button {
	gap: 40px; padding: 22px 30px; font-size: 19px; font-weight: 600; letter-spacing: .01em;
	background: #6bcb3d; color: var(--sam-ink);
	box-shadow: 0 10px 24px rgba(107, 203, 61, .38); transition: background .2s, box-shadow .2s, transform .15s;
}
.sam-home .sam-hero .sam-el-btn .elementor-button:hover, .sam-home .sam-hero .sam-el-btn .elementor-button:focus {
	background: #58b52d; color: var(--sam-ink); box-shadow: 0 14px 30px rgba(88, 181, 45, .45); transform: translateY(-1px);
}
.sam-home .sam-hero .sam-el-btn .elementor-button:focus-visible { outline: 3px solid var(--sam-ink); outline-offset: 3px; }
.sam-home .sam-hero .sam-el-btn .elementor-button::after { font-size: 1.45em; }
.sam-home .sam-hero .sam-el-btn .elementor-button .elementor-button-text { color: inherit; }
@media (max-width: 767px) {
	.sam-home .sam-hero .sam-el-btn .elementor-button { padding: 21px 24px; font-size: 20px; }
	.sam-home .sam-hero .sam-el-btn .elementor-button:active { transform: translateY(1px); box-shadow: 0 6px 14px rgba(88, 181, 45, .35); }
}

/* Hero on phones: more breathing room between items */
@media (max-width: 767px) {
	.sam-home .sam-hero { padding-top: 30px !important; padding-bottom: 32px !important; gap: 30px !important; }
	.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 20px; }
	.sam-hero .sam-h1 .elementor-heading-title { margin-bottom: 26px; }
	.sam-hero__lead { margin-bottom: 20px; }
	.sam-home .sam-hero__info { margin-bottom: 34px !important; }
	.sam-home .sam-hero__time-w { margin-top: 20px !important; }
}

/* Hero animation on phones: full width, 10px from each screen edge (the hero has 20px side padding, so pull it out by 10px) */
@media (max-width: 767px) {
	.sam-hero .sam-lottie { width: calc(100% + 20px); max-width: none; margin: 0 -10px; }
	.sam-home .sam-hero { overflow-x: clip; } /* the animation's artwork can draw a little past its box; don't let it widen the page */
}

/* Very narrow phones (≤359px): the 2-column footer menu was 4px wider than the screen ("My Assessment" doesn't wrap) */
@media (max-width: 359px) {
	.sam-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sam-footer__nav a { padding-left: 10px; padding-right: 10px; font-size: 11.2px; }
}

/* Key-facts strip on black: light labels, and the 4th number (dark navy) goes white so it shows */
.sam-home .sam-stats { background: var(--sam-ink); }
.sam-stats > .sam-stat + .sam-stat { border-left-color: rgba(255, 255, 255, .14); }
.sam-stat__label .elementor-heading-title { color: #e9e9e9; }
.sam-stats > .sam-stat:nth-child(4) .sam-stat__value .elementor-heading-title { color: #fff; }
@media (max-width: 767px) {
	.sam-stats > .sam-stat:nth-child(even) { border-left-color: rgba(255, 255, 255, .14); }
	.sam-stats > .sam-stat:nth-child(n+3) { border-top-color: rgba(255, 255, 255, .14); }
}

/* ============ ABOUT page (18): copy column + contact form ============ */
.sam-page .sam-about__text, .sam-page .sam-about-contact .elementor-widget { width: 100%; max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
.sam-about__text { font-size: 17px; font-weight: 300; line-height: 1.7; color: #333; }
.sam-about__text p { margin: 0 0 1em; }
.sam-about__text strong { font-weight: 600; color: var(--sam-ink); }
.sam-about__text .sam-about__lead { font-size: 20px; line-height: 1.6; color: var(--sam-ink); margin-bottom: 1.4em; }
.sam-about__text h2 { margin: 1.6em 0 .5em; font-size: 22px; font-weight: 600; line-height: 1.3; color: var(--sam-ink); }
.sam-page .sam-about-contact { margin-top: 24px; padding-top: 40px !important; padding-bottom: 56px !important; border-top: 1px solid #e6e6e6; }
.sam-about-contact__h .elementor-heading-title { font-size: 26px; font-weight: 600; color: var(--sam-ink); }
.sam-about-contact__intro p { margin: 0 0 8px; font-size: 16px; color: #555; }
@media (max-width: 767px) {
	.sam-about__text { font-size: 16px; }
	.sam-about__text .sam-about__lead { font-size: 18px; }
	.sam-about__text h2 { font-size: 20px; }
	.sam-page .sam-about-contact { padding-top: 28px !important; padding-bottom: 40px !important; }
	.sam-about-contact__h .elementor-heading-title { font-size: 22px; }
}

/* ============ CONTACT US page (171): intro + [study_abroad_contact_form] in a 760px column ============ */
.sam-page .sam-contact-page .elementor-widget { width: 100%; max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
.sam-page .sam-contact-page { padding-bottom: 56px !important; }
.sam-contact-page__intro p { margin: 0 0 12px; font-size: 17px; font-weight: 300; line-height: 1.6; color: #333; }
@media (max-width: 767px) { .sam-contact-page__intro p { font-size: 16px; } .sam-page .sam-contact-page { padding-bottom: 40px !important; } }

/* ============ FAQ page (202): intro, [study_abroad_faq], green call to action ============ */
.sam-page .sam-faq-page .elementor-widget { width: 100%; max-width: 860px !important; margin-left: auto !important; margin-right: auto !important; }
.sam-page .sam-faq-page { padding-bottom: 64px !important; }
.sam-faq-page__intro p { margin: 0 0 20px; font-size: 17px; font-weight: 300; line-height: 1.6; color: #333; }
.sam-faq-page__intro a { color: #2e7d16; font-weight: 500; }
.sam-faq-page__cta .elementor-button { background: #6bcb3d; color: #141010; font-weight: 600; font-size: 18px; padding: 20px 28px; gap: 36px; }
.sam-faq-page__cta .elementor-button:hover, .sam-faq-page__cta .elementor-button:focus { background: #58b52d; color: #141010; }
@media (max-width: 767px) {
	.sam-faq-page__intro p { font-size: 16px; }
	.sam-page .sam-faq-page { padding-bottom: 44px !important; }
	.sam-faq-page__cta, .sam-faq-page__cta .elementor-button-wrapper { width: 100%; }
	.sam-faq-page__cta .elementor-button { display: flex; width: 100%; box-sizing: border-box; justify-content: space-between; }
}

/* Hero on phones: more breathing room between items (2026-10-08, at the user's request). Overrides the passes above. */
@media (max-width: 767px) {
	.sam-home .sam-hero { padding-top: 40px !important; padding-bottom: 40px !important; gap: 44px !important; }
	.sam-hero .sam-eyebrow .elementor-heading-title { margin-bottom: 26px; }
	.sam-hero .sam-h1 .elementor-heading-title { line-height: 1.18; margin-bottom: 34px; }
	.sam-hero__lead { line-height: 1.65; margin-bottom: 26px; }
	.sam-home .sam-hero__info { margin-bottom: 44px !important; }
	.sam-home .sam-hero__time-w { margin-top: 26px !important; }
}

/* Hero H1 is set as three lines ("Your Future Starts / With the Right / Study Destination", <br> in the widget);
   on desktop keep each line on one row inside the half-width text column. */
@media (min-width: 1025px) {
	.sam-hero .sam-h1 .elementor-heading-title { font-size: clamp(34px, 3.75vw, 56px); }
}
@media (max-width: 767px) {
	.sam-hero__time { font-size: clamp(12px, 3.3vw, 14px); } /* "…invest in your future." is a little longer than the old line */
}

/* Home: testimonials (after the 5 Reasons; added 2026-10-08, made compact and dark the same day).
   Markup: one text-editor widget, tools/home-testimonials.php */
.sam-home .sam-testimonials {
	max-width: none; margin: 0; background: var(--sam-ink);
	padding: 88px max(40px, calc((100% - 1200px) / 2)) 96px !important;
}
.sam-home .sam-testimonials + .sam-options { padding-top: 96px !important; } /* the dark band now sits between Reasons and Options */
.sam-testimonials .sam-h2-bold-center .elementor-heading-title { color: #fff; margin-bottom: 40px; }
.sam-tm__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sam-tm__card {
	position: relative; display: flex; flex-direction: column; margin: 0;
	padding: 52px 24px 22px; background: rgba(255, 255, 255, .06); border-top: 3px solid var(--sam-blue);
}
.sam-tm__card::before { /* opening quote mark */
	content: "\201C"; position: absolute; top: 12px; left: 22px;
	font-family: Georgia, "Times New Roman", serif; font-size: 52px; line-height: 1; color: var(--sam-blue);
}
.sam-tm__title { margin: 0 0 10px; font-family: var(--sam-font); font-size: 18px; font-weight: 500; line-height: 1.3; color: #fff; }
.sam-tm__quote { flex-grow: 1; margin: 0; padding: 0; border: 0; }
.sam-tm__quote p { margin: 0; font-size: 15px; font-weight: 300; line-height: 1.6; color: rgba(255, 255, 255, .78); }
.sam-tm__who { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .14); }
.sam-home .sam-tm__who img.sam-tm__flag { flex: 0 0 28px; width: 28px; height: 21px; max-width: none; object-fit: cover; } /* beat ".sam-home img { width: 100% }" */
.sam-tm__who strong { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; color: #fff; }
.sam-tm__role { display: block; font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, .6); }
@media (max-width: 1024px) {
	.sam-home .sam-testimonials { padding: 72px 32px 80px !important; }
	.sam-home .sam-testimonials + .sam-options { padding-top: 80px !important; }
	.sam-tm__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.sam-home .sam-testimonials { padding: 56px 20px 60px !important; }
	.sam-home .sam-testimonials + .sam-options { padding-top: 64px !important; }
	.sam-testimonials .sam-h2-bold-center .elementor-heading-title { font-size: 26px; margin-bottom: 28px; }
	/* phones: one swipeable row instead of four stacked cards; the next card peeks in */
	.sam-tm__grid {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; gap: 12px;
		overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
		margin: 0 -20px; padding: 0 20px 6px; scroll-padding: 0 20px; scrollbar-width: none;
	}
	.sam-tm__grid::-webkit-scrollbar { display: none; }
	.sam-tm__card { scroll-snap-align: start; }
	.sam-tm__card { padding: 46px 20px 18px; }
	.sam-tm__card::before { top: 10px; left: 18px; font-size: 46px; }
	.sam-tm__title { font-size: 17px; margin-bottom: 8px; }
	.sam-tm__who { margin-top: 16px; padding-top: 12px; }
}

/* ---------------------------------------------------------------- Sample report pop-up (assets/sample-report-popup.js) */
.sam-sample-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--sam-ink); text-decoration: underline; text-decoration-color: var(--sam-red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sam-sample-link::before { content: ""; width: 18px; height: 18px; flex: 0 0 18px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e3262d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E"); }
.sam-sample-link:hover, .sam-sample-link:focus-visible { color: var(--sam-red); }
.sam-hero__sample { margin: 14px 0 0; font-size: 16px; }
.sam-assess-intro__sample { margin: 16px 0 0; font-size: 16px; }
@media (max-width: 1024px) {
	.sam-hero__sample { text-align: center; font-size: 15px; }
}
html.sam-sr-open { overflow: hidden; }
.sam-sr-modal { width: min(1240px, 94vw); height: 90vh; max-width: none; max-height: none; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: #f7f5fc; box-shadow: 0 40px 100px -30px rgba(10, 5, 30, .7); }
.sam-sr-modal[open] { display: flex; flex-direction: column; }
.sam-sr-modal::backdrop { background: rgba(15, 10, 35, .72); backdrop-filter: blur(3px); }
.sam-sr-modal__bar { display: flex; align-items: center; gap: 16px; padding: 10px 12px 10px 20px; background: #16112b; color: #fff; }
.sam-sr-modal__title { font-weight: 600; font-size: 15px; margin-right: auto; }
.sam-sr-modal__new { color: #fff; font-size: 14px; opacity: .85; }
.sam-sr-modal__new:hover { opacity: 1; }
.sam-sr-modal__close { width: 40px; height: 40px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .12); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.sam-sr-modal__close:hover, .sam-sr-modal__close:focus-visible { background: var(--sam-red); outline: none; }
.sam-sr-modal__frame { flex: 1 1 auto; width: 100%; border: 0; background: #f7f5fc; }
@media (max-width: 640px) {
	.sam-sr-modal { width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
	.sam-sr-modal__new { display: none; }
}

/* Home: "Your data stays private" strip between the key facts and the 5 reasons */
.sam-home .sam-privacy { max-width: 1200px; margin: 0 auto 32px; padding: 0 !important; width: calc(100% - 80px) !important; }
.sam-privacy__box { display: flex; align-items: center; gap: 20px; padding: 22px 28px; border: 1px solid #d5ecc9; border-left: 6px solid #6bcb3d; background: #f4fbf0; }
.sam-privacy__icon { flex: 0 0 48px; height: 48px; border-radius: 50%; background: #6bcb3d; position: relative; }
.sam-privacy__icon::before { content: ""; position: absolute; inset: 11px; background: var(--sam-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3Ccircle cx='12' cy='15.5' r='1.2' fill='black'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3Ccircle cx='12' cy='15.5' r='1.2' fill='black'/%3E%3C/svg%3E") center / contain no-repeat; }
.sam-privacy__box p { margin: 0; }
.sam-privacy__title { font-size: 20px; font-weight: 600; line-height: 1.3; color: #18500b; }
.sam-privacy__text { margin-top: 4px !important; font-size: 17px; font-weight: 400; line-height: 1.5; color: var(--sam-ink); }
.sam-privacy__small { margin-top: 6px !important; font-size: 14px; font-weight: 300; line-height: 1.5; color: var(--sam-muted); }
.sam-privacy__small a { color: #2e7d16; font-weight: 500; text-decoration: underline; }
@media (max-width: 767px) {
	.sam-home .sam-privacy { width: calc(100% - 48px) !important; margin-bottom: 24px; }
	.sam-privacy__box { align-items: flex-start; gap: 14px; padding: 18px 16px; border-left-width: 4px; }
	.sam-privacy__icon { flex-basis: 38px; height: 38px; }
	.sam-privacy__icon::before { inset: 9px; }
	.sam-privacy__title { font-size: 18px; }
	.sam-privacy__text { font-size: 15px; }
	.sam-privacy__small { font-size: 13px; }
}

/* ============ Cookie banner (functions.php, assets/cookie-consent.js) ============ */
.sam-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; padding: 0 16px 16px; pointer-events: none; font-family: var(--sam-font); }
.sam-cookie[hidden] { display: none; }
.sam-cookie__inner { pointer-events: auto; max-width: 1120px; margin: 0 auto; display: flex; align-items: center; gap: 24px 32px; padding: 20px 24px; background: #fff; color: var(--sam-ink); border: 1px solid var(--sam-line); border-top: 4px solid var(--sam-red); box-shadow: 0 12px 40px rgba(20, 16, 16, .18); }
.sam-cookie__body { flex: 1 1 auto; min-width: 0; }
.sam-cookie__title { margin: 0 0 4px; font-size: 17px; font-weight: 600; line-height: 1.3; outline: none; }
.sam-cookie__text { margin: 0; font-size: 14px; font-weight: 300; line-height: 1.55; color: #3a3a3a; }
.sam-cookie__text a { color: var(--sam-red); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.sam-cookie__actions { flex: 0 0 auto; display: flex; flex-direction: column; gap: 10px; }
.sam-cookie__btn { min-width: 240px; min-height: 46px; padding: 10px 18px; border: 2px solid var(--sam-ink); font: 500 15px/1.2 var(--sam-font); cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; }
.sam-cookie__btn--accept { background: var(--sam-ink); color: #fff; }
.sam-cookie__btn--accept:hover { background: #000; }
.sam-cookie__btn--reject { background: #fff; color: var(--sam-ink); }
.sam-cookie__btn--reject:hover { background: var(--sam-grey); }
.sam-cookie__btn:focus-visible { outline: 3px solid var(--sam-red); outline-offset: 2px; }
.sam-cookie-open body { padding-bottom: 150px; } /* so the end of the page can scroll clear of the banner */
@media (max-width: 860px) {
	.sam-cookie { padding: 0; }
	.sam-cookie__inner { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; border-left: 0; border-right: 0; border-bottom: 0; }
	.sam-cookie__title { font-size: 16px; }
	.sam-cookie__text { font-size: 13px; }
	.sam-cookie__actions { flex-direction: row; gap: 8px; }
	.sam-cookie__btn { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 8px 10px; font-size: 14px; }
	.sam-cookie-open body { padding-bottom: 230px; }
}

/* Legal pages: tables (cookie list in the Privacy Policy, examples in the affiliate terms) */
.sam-page .sam-legal .sam-legal__table { overflow-x: auto; margin: 0 0 20px; -webkit-overflow-scrolling: touch; }
.sam-page .sam-legal table { width: 100%; border-collapse: collapse; margin: 0 0 20px; font-size: 14px; line-height: 1.5; }
.sam-page .sam-legal .sam-legal__table table { margin: 0; min-width: 640px; }
.sam-page .sam-legal :is(th, td) { padding: 10px 12px; border: 1px solid var(--sam-line); text-align: left; vertical-align: top; }
.sam-page .sam-legal th { background: var(--sam-grey); font-weight: 500; color: var(--sam-ink); }
.sam-page .sam-legal td code { font-size: 13px; word-break: break-word; }
.sam-page .sam-legal :is(th, td)[align="right"] { text-align: right; }
.sam-page .sam-legal { min-width: 0; max-width: 100%; } /* a flex item: without this, wide tables stretch the page on phones */
.sam-page .sam-legal .sam-legal__table { width: 0; min-width: 100%; } /* scrolls inside itself instead of widening its containers */
.sam-page .sam-legal [id] { scroll-margin-top: 110px; }

/* Cookie banner: light grey, no border (2026-10-09); smaller buttons on phones */
.sam-cookie__inner { background: #f2f2f2; border: 0; box-shadow: 0 8px 30px rgba(20, 16, 16, .12); }
.sam-cookie__btn--reject { background: transparent; }
.sam-cookie__btn--reject:hover { background: #fff; }
@media (max-width: 860px) {
	.sam-cookie__inner { gap: 12px; padding: 14px 16px; }
	.sam-cookie__btn { min-height: 36px; padding: 6px 10px; font-size: 13px; border-width: 1.5px; }
	.sam-cookie-open body { padding-bottom: 200px; }
}
@media (max-width: 860px) {
	.sam-cookie__long { display: none; } /* "Accept" / "Reject": the text above says what for */
	.sam-cookie__actions { justify-content: flex-start; }
	.sam-cookie__btn { flex: 0 0 auto; min-width: 104px; white-space: nowrap; }
	.sam-cookie-open body { padding-bottom: 180px; }
}

/* Cookie banner: black with white text (2026-10-09, replaces the light grey) */
.sam-cookie__inner { background: #141010; color: #fff; box-shadow: 0 8px 30px rgba(0, 0, 0, .3); }
.sam-cookie__text { color: #e6e6e6; }
.sam-cookie__text a { color: #fff; }
.sam-cookie__text a:hover { color: #ffb3b5; }
.sam-cookie__btn { border-color: #fff; }
.sam-cookie__btn--accept { background: #fff; color: #141010; }
.sam-cookie__btn--accept:hover { background: #e6e6e6; }
.sam-cookie__btn--reject { background: transparent; color: #fff; }
.sam-cookie__btn--reject:hover { background: rgba(255, 255, 255, .12); }
.sam-cookie__btn:focus-visible { outline-color: #fff; }

/* Cookie banner: very dark grey instead of black; on phones a 10px gap at the sides and bottom (2026-10-09) */
.sam-cookie__inner { background: #2b2b2b; }
@media (max-width: 860px) {
	.sam-cookie { padding: 0 10px 10px; }
	.sam-cookie__inner { border-radius: 0; }
}

/* Hero H1 "Find the Universities / Courses and Countries / That Fit You" (2026-10-09): the longest
   line is ~11.05 × the font size, so size the font from the column width to keep exactly 3 lines. */
@media (min-width: 1025px) {
	.sam-hero .sam-h1 .elementor-heading-title { font-size: min(46px, 3.4vw); }
}
@media (max-width: 767px) {
	.sam-hero .sam-h1 .elementor-heading-title { font-size: min(31px, calc((100vw - 40px) / 11.4)); }
}

/* Cookie banner: compact on desktop (2026-10-09) – one row, title inline with the text, buttons side by side */
@media (min-width: 861px) {
	.sam-cookie { padding: 0 16px 12px; }
	.sam-cookie__inner { max-width: 1180px; gap: 20px; padding: 10px 12px 10px 20px; }
	.sam-cookie__title { display: inline; margin: 0 6px 0 0; font-size: 14px; }
	.sam-cookie__text { display: inline; font-size: 13px; line-height: 1.5; }
	.sam-cookie__actions { flex-direction: row; gap: 8px; }
	.sam-cookie__btn { min-width: 0; min-height: 34px; padding: 6px 14px; font-size: 13px; border-width: 1.5px; white-space: nowrap; }
	.sam-cookie-open body { padding-bottom: 80px; }
}
@media (min-width: 861px) {
	.sam-cookie__body { font-size: 13px; line-height: 1.45; }
	.sam-cookie__title, .sam-cookie__text { line-height: inherit; }
}

/* ============ BLOG (2026-10-12): /blog/ (templates/home.html), category archives (archive.html)
   and articles (single.html). Same 1200px edges as the other pages; articles in a 760px column. */
.sam-blog, .sam-post { font-family: var(--sam-font); color: var(--sam-ink); }
.sam-blog { max-width: 1280px; margin-inline: auto; padding-inline: 40px; }
.sam-blog__head { margin-bottom: 40px; padding-bottom: 20px; border-bottom: 1px solid #e6e6e6; }
.sam-blog .sam-blog__title {
	display: flex; align-items: center; gap: 12px; margin: 0;
	font-family: var(--sam-font); font-size: clamp(24px, 2.4vw, 30px); font-weight: 500; line-height: 1.2; letter-spacing: 0;
}
.sam-blog .sam-blog__title::before { content: ""; flex: 0 0 10px; height: 10px; background: #a6a6a6; } /* as the other page titles */
.sam-blog__intro, .sam-blog__intro p { margin: 10px 0 0; max-width: 680px; font-size: 16px; font-weight: 300; line-height: 1.55; color: var(--sam-muted); }
.sam-blog__back { margin: 0 0 14px; font-size: 14px; }
.sam-blog__back a { color: var(--sam-muted); text-decoration: none; }
.sam-blog__back a:hover, .sam-blog__back a:focus-visible { color: var(--sam-red); }
.sam-blog__empty { padding: 48px 24px; background: var(--sam-grey); text-align: center; font-size: 16px; font-weight: 300; color: var(--sam-muted); }

/* Cards: 3 per row, 2 on tablets, 1 on phones */
.sam-blog .sam-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; list-style: none; }
.sam-blog__grid > li { margin: 0; }
.sam-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--sam-line); border-top: 4px solid var(--sam-blue); transition: box-shadow .2s, transform .2s; }
.sam-blog__grid > li:nth-child(3n+2) .sam-card { border-top-color: var(--sam-red); }
.sam-blog__grid > li:nth-child(3n+3) .sam-card { border-top-color: #6acb3d; }
.sam-card:hover { box-shadow: 0 10px 28px rgba(20, 16, 16, .1); transform: translateY(-2px); }
.sam-card .sam-card__img { margin: 0; }
.sam-card .sam-card__img img { display: block; width: 100%; object-fit: cover; }
.sam-card__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 22px 24px 24px; }
.sam-card__cat { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.sam-card__cat a { color: var(--sam-blue); text-decoration: none; }
.sam-card__cat a:hover { color: var(--sam-red); }
.sam-blog .sam-card__title { margin: 0; font-family: var(--sam-font); font-size: 21px; font-weight: 500; line-height: 1.3; letter-spacing: 0; }
.sam-card__title a { color: var(--sam-ink); text-decoration: none; }
.sam-card__title a:hover, .sam-card__title a:focus-visible { color: var(--sam-red); }
.sam-card__excerpt { margin: 0; flex: 1; }
.sam-card__excerpt p { margin: 0; font-size: 15px; font-weight: 300; line-height: 1.55; color: #444; }
.sam-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.sam-card__date { margin: 6px 0 0; font-size: 13px; color: var(--sam-muted); }

.sam-blog__pages { margin-top: 48px; gap: 8px; font-size: 15px; }
.sam-blog__pages a, .sam-blog__pages .page-numbers { display: inline-block; min-width: 40px; padding: 8px 12px; border: 1px solid var(--sam-line); color: var(--sam-ink); text-align: center; text-decoration: none; }
.sam-blog__pages a:hover { border-color: var(--sam-red); color: var(--sam-red); }
.sam-blog__pages .page-numbers.current { background: var(--sam-ink); border-color: var(--sam-ink); color: #fff; }
.sam-blog__pages .page-numbers.dots { border: 0; }

/* Article */
.sam-post__wrap { max-width: 760px; margin-inline: auto; padding-inline: 24px; }
.sam-post .sam-post__title { margin: 8px 0 0; font-family: var(--sam-font); font-size: clamp(28px, 3.4vw, 40px); font-weight: 500; line-height: 1.2; letter-spacing: 0; }
.sam-post__date { margin: 12px 0 0; font-size: 14px; color: var(--sam-muted); }
.sam-post .sam-post__img { margin: 28px 0 0; }
.sam-post .sam-post__img img { display: block; width: 100%; object-fit: cover; }
.sam-post__content { margin-top: 32px; font-size: 17px; font-weight: 300; line-height: 1.7; }
.sam-post__content > * { margin-block: 0 1.1em; }
.sam-post__content :is(h2, h3, h4) { margin: 1.8em 0 .6em; font-family: var(--sam-font); font-weight: 500; line-height: 1.3; letter-spacing: 0; }
.sam-post__content h2 { font-size: 26px; }
.sam-post__content h3 { font-size: 21px; }
.sam-post__content h4 { font-size: 18px; }
.sam-post__content strong { font-weight: 600; }
.sam-post__content a { color: var(--sam-red); text-decoration: underline; text-underline-offset: 2px; }
.sam-post__content a:hover { color: var(--sam-red-dark); }
.sam-post__content :is(ul, ol) { padding-left: 24px; }
.sam-post__content li { margin-bottom: .4em; }
.sam-post__content img { height: auto; max-width: 100%; }
.sam-post__content blockquote { margin-inline: 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--sam-blue); font-size: 19px; }
.sam-post__content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.sam-post__content :is(th, td) { padding: 8px 10px; border: 1px solid var(--sam-line); text-align: left; }
.sam-post__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 0; }
.sam-post__tags a { padding: 4px 12px; background: var(--sam-grey); border: 1px solid var(--sam-line); color: var(--sam-ink); font-size: 13px; text-decoration: none; }
.sam-post__tags a:hover { border-color: var(--sam-red); color: var(--sam-red); }

.sam-post__cta { margin-top: 48px; padding: 32px; background: var(--sam-grey); border-left: 4px solid var(--sam-red); }
.sam-post__cta-title { margin: 0; font-size: 22px; font-weight: 500; }
.sam-post__cta-text { margin: 8px 0 20px; font-size: 16px; font-weight: 300; line-height: 1.55; }
.sam-post__cta-btn { margin: 0; }
.sam-post__cta-btn a { display: inline-block; padding: 14px 24px; background: var(--sam-red); color: #fff; font-size: 16px; text-decoration: none; transition: background .2s; }
.sam-post__cta-btn a:hover, .sam-post__cta-btn a:focus-visible { background: var(--sam-red-dark); color: #fff; }

.sam-post__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--sam-line); }
.sam-post__nav .post-navigation-link-next { grid-column: 2; text-align: right; }
.sam-post__nav a { display: block; color: var(--sam-ink); text-decoration: none; }
.sam-post__nav .post-navigation-link__label { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--sam-muted); }
.sam-post__nav .post-navigation-link__title { font-size: 16px; font-weight: 500; }
.sam-post__nav a:hover .post-navigation-link__title { color: var(--sam-red); }
.sam-post__nav .post-navigation-link__label { color: var(--sam-red); }

@media (max-width: 1024px) {
	.sam-blog .sam-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
@media (max-width: 767px) {
	.sam-blog { padding-inline: 24px; }
	.sam-blog__head { margin-bottom: 28px; }
	.sam-blog .sam-blog__grid { grid-template-columns: 1fr; }
	.sam-post__content { font-size: 16px; }
	.sam-post__content h2 { font-size: 23px; }
	.sam-post__content table { font-size: 13px; line-height: 1.4; }
	.sam-post__content :is(th, td) { padding: 6px 7px; }
	.sam-post__content .wp-block-table { margin-inline: -8px; } /* a little more room; still scrolls sideways if too wide */
	.sam-post__cta { padding: 24px 20px; }
	.sam-post__cta-btn a { display: block; text-align: center; }
	.sam-post__nav { grid-template-columns: 1fr; }
	.sam-post__nav .post-navigation-link-next { grid-column: auto; text-align: left; }
}
