/*
Theme Name: Global Career Astra Child
Description: Custom child theme for Global Career & Immigration Hub.
Author: Global Career & Immigration Hub
Template: astra
Version: 1.0.0
Text Domain: global-career-astra-child
*/
/* =========================================================
   SINGLE ARTICLE — RESPONSIVE LAYOUT FOUNDATION
   ========================================================= */

/*
 * Mobile/tablet article layout.
 * Keep single posts comfortably fitted to the viewport.
 */
@media (max-width: 921px) {

	.single-post #content .ast-container {
		width: 100%;
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}

	.single-post #primary {
		width: 100%;
		max-width: 100%;
		margin: 0;
	}

	.single-post .ast-article-single {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}

	.single-post .entry-content {
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.single-post .entry-content img,
	.single-post .entry-content video,
	.single-post .entry-content iframe {
		max-width: 100%;
	}
}
/* =========================================================
   SINGLE ARTICLE — MOBILE TYPOGRAPHY & SPACING
   ========================================================= */

@media (max-width: 921px) {

	/* Article card */
	.single-post .ast-article-single {
		padding: 28px 22px;
	}

	/* Main article title */
	.single-post .entry-title {
		font-size: clamp(32px, 8vw, 42px);
		line-height: 1.12;
		letter-spacing: -0.02em;
		margin-bottom: 28px;
	}

	/* Main article text */
	.single-post .entry-content {
		font-size: 18px;
		line-height: 1.72;
	}

	.single-post .entry-content p {
		margin-bottom: 24px;
	}

	/* H2 section headings */
	.single-post .entry-content h2 {
		font-size: 27px;
		line-height: 1.25;
		letter-spacing: -0.01em;
		margin-top: 38px;
		margin-bottom: 16px;
	}

	/* H3 section headings */
	.single-post .entry-content h3 {
		font-size: 22px;
		line-height: 1.3;
		margin-top: 30px;
		margin-bottom: 12px;
	}
}


/* Smaller phones */
@media (max-width: 544px) {

	.single-post #content .ast-container {
		padding-left: 12px;
		padding-right: 12px;
	}

	.single-post .ast-article-single {
		padding: 24px 18px;
	}

	.single-post .entry-title {
		font-size: 32px;
		line-height: 1.2;
		margin-bottom: 24px;
	}

	.single-post .entry-content {
		font-size: 17px;
		line-height: 1.65;
	}

	.single-post .entry-content h2 {
		font-size: 25px;
	}

	.single-post .entry-content h3 {
		font-size: 21px;
	}
}
/* =========================================================
   SINGLE ARTICLE — CONTENT ELEMENTS
   ========================================================= */

/* Paragraph rhythm */
.single-post .entry-content p {
	margin-top: 0;
	margin-bottom: 1.4em;
}

/* Section headings */
.single-post .entry-content h2 {
	font-weight: 700;
	line-height: 1.25;
	margin-top: 1.7em;
	margin-bottom: 0.65em;
}

.single-post .entry-content h3 {
	font-weight: 700;
	line-height: 1.3;
	margin-top: 1.5em;
	margin-bottom: 0.55em;
}

/* Don't create excessive space when headings follow each other */
.single-post .entry-content h2 + h3 {
	margin-top: 0.8em;
}

/* Lists */
.single-post .entry-content ul,
.single-post .entry-content ol {
	margin-top: 0;
	margin-bottom: 1.5em;
	padding-left: 1.35em;
}

.single-post .entry-content li {
	margin-bottom: 0.55em;
	padding-left: 0.15em;
}

.single-post .entry-content li:last-child {
	margin-bottom: 0;
}

/* Links inside article content only */
.single-post .entry-content a {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

/* Responsive media */
.single-post .entry-content img,
.single-post .entry-content video {
	max-width: 100%;
	height: auto;
}

/* Prevent embedded content from forcing horizontal overflow */
.single-post .entry-content iframe {
	max-width: 100%;
}

/* Long URLs/strings must not break the mobile viewport */
.single-post .entry-content {
	overflow-wrap: break-word;
	word-break: normal;
}


/* -------------------------
   MOBILE
   ------------------------- */

@media (max-width: 544px) {

	.single-post .entry-content h2 {
		font-size: 25px;
		line-height: 1.25;
		margin-top: 1.6em;
		margin-bottom: 0.65em;
	}

	.single-post .entry-content h3 {
		font-size: 21px;
		line-height: 1.3;
		margin-top: 1.45em;
		margin-bottom: 0.55em;
	}

	.single-post .entry-content ul,
	.single-post .entry-content ol {
		padding-left: 1.25em;
	}
}
/* =========================================================
   SINGLE ARTICLE — POST NAVIGATION
   ========================================================= */

.single-post .post-navigation {
	margin-top: 42px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.single-post .post-navigation .nav-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
}

.single-post .post-navigation .nav-previous,
.single-post .post-navigation .nav-next {
	min-width: 0;
	padding: 20px 0;
}

.single-post .post-navigation .nav-previous {
	padding-right: 20px;
}

.single-post .post-navigation .nav-next {
	padding-left: 20px;
	text-align: right;
	border-left: 1px solid rgba(0, 0, 0, 0.08);
}

/* Prevent long article titles from causing overflow */
.single-post .post-navigation a {
	display: block;
	max-width: 100%;
	overflow-wrap: break-word;
	text-decoration: none;
}

.single-post .post-navigation .ast-post-nav {
	font-size: 14px;
	line-height: 1.45;
}


/* -------------------------
   SMALL PHONES
   ------------------------- */

@media (max-width: 544px) {

	.single-post .post-navigation {
		margin-top: 34px;
	}

	.single-post .post-navigation .nav-links {
		grid-template-columns: 1fr;
	}

	.single-post .post-navigation .nav-previous,
	.single-post .post-navigation .nav-next {
		padding: 16px 0;
		text-align: left;
	}

	.single-post .post-navigation .nav-previous {
		padding-right: 0;
	}

	.single-post .post-navigation .nav-next {
		padding-left: 0;
		border-left: 0;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
	}

	.single-post .post-navigation .ast-post-nav {
		font-size: 14px;
		line-height: 1.45;
	}
}
/* =========================================================
   SINGLE ARTICLE — RELATED POSTS
   "YOU MAY ALSO WANT"
   ========================================================= */

.single-post .ast-single-related-posts-container {
	margin-top: 42px;
	padding-top: 0;
}

/* Related section heading */
.single-post .ast-single-related-posts-container .ast-related-posts-title {
	font-size: 24px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 22px;
}

/* Related-post grid */
.single-post .ast-related-posts-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

/* Individual related article */
.single-post .ast-related-post {
	min-width: 0;
	margin: 0;
}

/* Thumbnail */
.single-post .ast-related-post img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 4px;
}

/* Related article title */
.single-post .ast-related-post .entry-title {
	font-size: 17px;
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0;
	margin: 10px 0 0;
}

/* Related links */
.single-post .ast-related-post .entry-title a {
	text-decoration: none;
	overflow-wrap: break-word;
}

/* Category / metadata */
.single-post .ast-related-post .entry-meta,
.single-post .ast-related-post .cat-links {
	font-size: 12px;
	line-height: 1.4;
	margin-top: 7px;
}


/* =========================================================
   RELATED POSTS — MOBILE
   ========================================================= */

@media (max-width: 544px) {

	.single-post .ast-single-related-posts-container {
		margin-top: 34px;
	}

	.single-post .ast-single-related-posts-container .ast-related-posts-title {
		font-size: 22px;
		margin-bottom: 18px;
	}

	.single-post .ast-related-posts-wrapper {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0;
	}

	/*
	 * Compact editorial row:
	 * thumbnail | category/title
	 */
	.single-post .ast-related-post {
		display: grid;
		grid-template-columns: 110px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
		padding: 14px 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.single-post .ast-related-post:first-child {
		padding-top: 0;
	}

	.single-post .ast-related-post img {
		width: 110px;
		aspect-ratio: 4 / 3;
		object-fit: cover;
		border-radius: 3px;
	}

	.single-post .ast-related-post .entry-title {
		font-size: 16px;
		line-height: 1.35;
		margin-top: 4px;
	}

	.single-post .ast-related-post .entry-meta,
	.single-post .ast-related-post .cat-links {
		font-size: 11px;
		line-height: 1.35;
		margin-top: 0;
	}
}
/* =========================================================
   SINGLE ARTICLE — MOBILE SIDEBAR
   ========================================================= */

/*
 * Astra moves the desktop sidebar underneath the article
 * on smaller screens. Hide it on single posts only.
 *
 * Desktop sidebar remains unchanged.
 */
@media (max-width: 921px) {

	.single-post #secondary {
		display: none;
	}

	.single-post #primary {
		width: 100%;
		max-width: 100%;
	}
}
/* =========================================================
   SINGLE ARTICLE — COMMENTS
   ========================================================= */

.single-post #comments {
	margin-top: 42px;
}

.single-post #comments .comments-title,
.single-post #comments .comment-reply-title {
	font-size: 26px;
	line-height: 1.25;
	font-weight: 700;
	margin-bottom: 20px;
}

/* Comment form */
.single-post #commentform {
	max-width: 100%;
}

.single-post #commentform textarea,
.single-post #commentform input[type="text"],
.single-post #commentform input[type="email"],
.single-post #commentform input[type="url"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font: inherit;
}

/* Comfortable textarea without excessive height */
.single-post #commentform textarea {
	min-height: 180px;
	resize: vertical;
}

/* Name / Email / Website */
.single-post #commentform .comment-form-author,
.single-post #commentform .comment-form-email,
.single-post #commentform .comment-form-url {
	min-width: 0;
}

/* Cookie consent */
.single-post #commentform .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.single-post #commentform .comment-form-cookies-consent input {
	flex: 0 0 auto;
	margin-top: 0.35em;
}

/* Submit button */
.single-post #commentform .form-submit input[type="submit"] {
	min-height: 46px;
	padding: 11px 22px;
	font-size: 16px;
	line-height: 1.3;
}


/* =========================================================
   COMMENTS — MOBILE
   ========================================================= */

@media (max-width: 544px) {

	.single-post #comments {
		margin-top: 34px;
	}

	.single-post #comments .comments-title,
	.single-post #comments .comment-reply-title {
		font-size: 22px;
		line-height: 1.3;
	}

	.single-post #commentform textarea {
		min-height: 150px;
	}

	/*
	 * Force Astra's Name / Email / Website fields
	 * into one safe column on small phones.
	 */
	.single-post #commentform .ast-comment-formwrap {
		display: block;
	}

	.single-post #commentform .comment-form-author,
	.single-post #commentform .comment-form-email,
	.single-post #commentform .comment-form-url {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	/* Prevent deep threaded replies becoming extremely narrow */
	.single-post #comments .children {
		margin-left: 14px;
		padding-left: 10px;
	}

	.single-post #commentform .form-submit input[type="submit"] {
		width: 100%;
	}
}
/* =========================================================
   RELATED POSTS — COMPACT FEATURED IMAGES
   ========================================================= */

/* Prevent related-post thumbnails becoming oversized */
.single-post .ast-related-posts-wrapper .post-thumb-img-content {
	overflow: hidden;
}

.single-post .ast-related-posts-wrapper .post-thumb-img-content img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}


/* Tablet */
@media (max-width: 921px) {

	.single-post .ast-related-posts-wrapper .post-thumb-img-content img {
		height: 150px;
	}
}


/* Mobile: compact thumbnail beside the article information */
@media (max-width: 544px) {

	.single-post .ast-related-post {
		display: grid;
		grid-template-columns: 105px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}

	.single-post .ast-related-posts-wrapper .post-thumb-img-content {
		width: 105px;
	}

	.single-post .ast-related-posts-wrapper .post-thumb-img-content img {
		width: 105px;
		height: 82px;
		object-fit: cover;
		border-radius: 4px;
	}
}
/* =========================================================
   SINGLE ARTICLE — RESPONSIVE MEDIA & EMBEDS
   ========================================================= */

.single-post .entry-content img,
.single-post .entry-content video,
.single-post .entry-content canvas,
.single-post .entry-content svg {
	max-width: 100%;
	height: auto;
}

/* Prevent fixed-width embeds from breaking the viewport */
.single-post .entry-content iframe,
.single-post .entry-content embed,
.single-post .entry-content object {
	max-width: 100%;
}

/* Common WordPress video/embed wrappers */
.single-post .entry-content .wp-video,
.single-post .entry-content .wp-video-shortcode,
.single-post .entry-content .wp-block-embed,
.single-post .entry-content .wp-block-embed__wrapper {
	max-width: 100%;
}

/* YouTube/Vimeo-style responsive embeds */
.single-post .entry-content .wp-block-embed__wrapper iframe {
	width: 100%;
}

/* Long URLs or unbroken strings */
.single-post .entry-content p,
.single-post .entry-content li,
.single-post .entry-content td,
.single-post .entry-content th {
	overflow-wrap: anywhere;
}
/* =========================================================
   SINGLE ARTICLE — RESPONSIVE TABLES
   ========================================================= */

.single-post .entry-content table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
	margin: 24px 0;
	font-size: 15px;
	line-height: 1.5;
}

.single-post .entry-content th,
.single-post .entry-content td {
	padding: 10px 12px;
	vertical-align: top;
	text-align: left;
	border: 1px solid rgba(0, 0, 0, 0.12);
}

.single-post .entry-content th {
	font-weight: 700;
}


/* Small phones */
@media (max-width: 544px) {

	.single-post .entry-content table {
		font-size: 14px;
	}

	.single-post .entry-content th,
	.single-post .entry-content td {
		padding: 8px 9px;
	}
}
/* =========================================================
   SINGLE ARTICLE — DESKTOP / TABLET LAYOUT
   ========================================================= */

/* Desktop */
@media (min-width: 922px) {

	.single-post #content .ast-container {
		width: 100%;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 24px;
		padding-right: 24px;
	}

	/* Main article column */
	.single-post #primary {
		width: 72%;
		padding-right: 38px;
	}

	/* Desktop sidebar */
	.single-post #secondary {
		width: 28%;
		padding-left: 28px;
	}

	/* Comfortable editorial article */
	.single-post .ast-article-single {
		max-width: 100%;
	}

	.single-post .entry-title {
		font-size: clamp(38px, 3.3vw, 52px);
		line-height: 1.12;
		letter-spacing: -0.025em;
	}

	.single-post .entry-content {
		font-size: 17px;
		line-height: 1.7;
	}
}


/* =========================================================
   WIDE DESKTOPS
   ========================================================= */

@media (min-width: 1440px) {

	.single-post #content .ast-container {
		max-width: 1240px;
	}
}
/* =========================================================
   GLOBAL — HEADER / FOOTER RESPONSIVE SAFETY
   ========================================================= */

/* Prevent logo/media from exceeding their containers */
.site-header img,
.site-footer img {
	max-width: 100%;
	height: auto;
}

/* Long menu/footer text must not force page overflow */
.site-header,
.site-footer {
	overflow-wrap: break-word;
}

/* Keep header/footer inner containers within viewport */
.site-header .ast-container,
.site-footer .ast-container {
	max-width: 100%;
	box-sizing: border-box;
}


/* =========================================================
   HEADER / FOOTER — MOBILE
   ========================================================= */

@media (max-width: 921px) {

	/* Comfortable touch targets */
	.site-header a,
	.site-header button {
		-webkit-tap-highlight-color: transparent;
	}

	/* Prevent mobile navigation text from overflowing */
	.site-header .main-header-menu a {
		white-space: normal;
		overflow-wrap: break-word;
	}

	/* Footer widgets/content remain inside viewport */
	.site-footer .widget,
	.site-footer .site-footer-section {
		min-width: 0;
		max-width: 100%;
	}
}