/**
 * Study in Canada — editorial destination hero.
 * Imported Elementor widgets provide structure and editable content; this file
 * deliberately owns only the Canada hero presentation.
 */
.tc-canada-hero {
	/* Keep the import self-contained when this file is pasted into WordPress
	 * Additional CSS. Some Elementor installations do not load the theme token
	 * stylesheet in the editor preview, and Elementor may redeclare generic theme tokens on individual widgets. */
	--tc-canada-primary: #e31e24;
	--tc-canada-primary-dark: #b51217;
	--tc-canada-primary-light: #fdebec;
	--tc-canada-white: #ffffff;
	--tc-canada-heading: #1f2937;
	--tc-canada-text: #4b5563;
	--tc-canada-text-light: #6b7280;
	--tc-canada-border: #e5e7eb;
	--tc-canada-font-primary: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--tc-canada-font-heading: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--tc-canada-text-base: 1rem;
	--tc-canada-fw-semibold: 600;
	--tc-canada-fw-bold: 700;
	--tc-canada-radius: 10px;
	--tc-canada-radius-full: 999px;
	--tc-canada-shadow: 0 12px 32px rgba(17, 24, 39, .08);
	--tc-canada-transition: .3s ease;
	--tc-canada-container: 1320px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 740px;
	padding: 100px 24px;
	background-color: #111c2d;
	background-image:
		linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px),
		radial-gradient(circle at 82% 34%, rgba(227, 30, 36, .18), transparent 30%),
		linear-gradient(135deg, #111c2d 0%, #17263b 100%);
	background-size: 64px 64px, 64px 64px, auto, auto;
}

.tc-canada-hero > .e-con-inner,
.tc-canada-hero > .tc-container {
	width: min(100%, var(--tc-canada-container));
	margin-inline: auto;
}

.tc-canada-hero__content {
	position: relative;
	z-index: 2;
	min-width: 0;
}

.tc-canada-hero__badge {
	width: fit-content !important;
	align-self: flex-start;
}

.tc-canada-hero__badge .elementor-heading-title,
.tc-canada-hero__content > .elementor-widget-heading:first-child .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 13px;
	border: 1px solid rgba(227, 30, 36, .25) !important;
	border-radius: var(--tc-canada-radius-full) !important;
	background: rgba(227, 30, 36, .16) !important;
	color: var(--tc-canada-primary) !important;
	font-size: .75rem;
	font-weight: var(--tc-canada-fw-bold);
	letter-spacing: .12em;
	line-height: 1;
}

.tc-canada-hero__badge .elementor-heading-title::before,
.tc-canada-hero__content > .elementor-widget-heading:first-child .elementor-heading-title::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 4px rgba(227, 30, 36, .1);
}

.tc-canada-hero__title .elementor-heading-title,
.tc-canada-hero__content > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
	margin: 0;
	color: var(--tc-canada-white) !important;
	font-family: var(--tc-canada-font-heading);
	font-size: clamp(3.3rem, 4.5vw, 4.5rem);
	font-weight: var(--tc-canada-fw-bold);
	letter-spacing: -.045em;
	line-height: 1.02;
}

.tc-canada-hero__title .tc-canada-hero__accent,
.tc-canada-hero__content > .elementor-widget-heading:nth-child(2) .tc-canada-hero__accent { color: var(--tc-canada-primary) !important; }

.tc-canada-hero__description,
.tc-canada-hero__content > .elementor-widget-text-editor:nth-child(3) { max-width: 620px; }
.tc-canada-hero__description,
.tc-canada-hero__description p,
.tc-canada-hero__content > .elementor-widget-text-editor:nth-child(3),
.tc-canada-hero__content > .elementor-widget-text-editor:nth-child(3) p {
	margin: 0;
	color: #cbd5e1 !important;
	font-size: 1.125rem;
	line-height: 1.7;
}

.tc-canada-hero__actions .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .625rem;
	min-height: 52px;
	padding: .875rem 1.75rem;
	border: 2px solid transparent;
	border-radius: var(--tc-canada-radius);
	font-family: var(--tc-canada-font-primary);
	font-size: var(--tc-canada-text-base);
	font-weight: var(--tc-canada-fw-semibold);
	line-height: 1;
	text-decoration: none;
	transition: background-color var(--tc-canada-transition), border-color var(--tc-canada-transition), color var(--tc-canada-transition), box-shadow var(--tc-canada-transition), transform var(--tc-canada-transition);
}

/* Elementor applies custom classes to the widget wrapper rather than the
 * generated anchor. Bridge the existing tc-btn class names to that anchor. */
.tc-canada-hero__actions .tc-btn--primary .elementor-button,
.tc-canada-hero__actions > .elementor-widget-button:first-child .elementor-button {
	border-color: transparent !important;
	background: linear-gradient(135deg, var(--tc-canada-primary) 0%, var(--tc-canada-primary-dark) 100%) !important;
	color: var(--tc-canada-white) !important;
}

.tc-canada-hero__actions .tc-btn--outline .elementor-button,
.tc-canada-hero__actions > .elementor-widget-button:last-child .elementor-button {
	border-color: var(--tc-canada-primary) !important;
	background: transparent !important;
	color: var(--tc-canada-primary) !important;
}

.tc-canada-hero__actions .elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: var(--tc-canada-shadow);
}

.tc-canada-hero__actions .tc-btn--primary .elementor-button:hover,
.tc-canada-hero__actions > .elementor-widget-button:first-child .elementor-button:hover {
	border-color: var(--tc-canada-primary-dark) !important;
	background: var(--tc-canada-primary-dark) !important;
	color: var(--tc-canada-white) !important;
}

.tc-canada-hero__actions .tc-btn--outline .elementor-button:hover,
.tc-canada-hero__actions > .elementor-widget-button:last-child .elementor-button:hover {
	background: var(--tc-canada-primary) !important;
	color: var(--tc-canada-white) !important;
}

.tc-canada-hero__actions .elementor-button:focus-visible {
	outline: 2px solid var(--tc-canada-primary);
	outline-offset: 3px;
}

.tc-canada-hero__highlights {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center;
	gap: 10px !important;
	padding-top: 10px !important;
	border-top: 0 !important;
}

.tc-canada-hero__highlight {
	--width: auto !important;
	display: inline-flex !important;
	width: auto !important;
	min-width: 0;
	flex: 0 0 auto !important;
	align-items: center !important;
	gap: 9px !important;
	padding: 10px 14px !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: var(--tc-canada-radius-full) !important;
	background: rgba(255, 255, 255, .06) !important;
	color: var(--tc-canada-white) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
	backdrop-filter: blur(8px);
	transition: border-color .25s ease, background-color .25s ease;
}

.tc-canada-hero__highlight::after { display: none !important; }
.tc-canada-hero__highlight:hover {
	border-color: rgba(227, 30, 36, .35) !important;
	background: rgba(227, 30, 36, .08) !important;
}
.tc-canada-hero__highlight .elementor-heading-title {
	color: var(--tc-canada-white) !important;
	font-size: .85rem !important;
	font-weight: var(--tc-canada-fw-semibold) !important;
	line-height: 1.2;
	white-space: nowrap;
}
.tc-canada-hero__highlight-icon,
.tc-canada-hero__highlight > .elementor-widget-html {
	color: var(--tc-canada-primary) !important;
}
.tc-canada-hero__highlight-icon svg,
.tc-canada-hero__highlight > .elementor-widget-html svg {
	display: block;
	width: 18px;
	height: 18px;
}

.tc-canada-hero__visual {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 0;
}

.tc-canada-hero__visual-panel {
	--width: min(100%, 510px) !important;
	position: relative;
	overflow: hidden !important;
	width: min(100%, 510px) !important;
	max-width: 510px !important;
	flex: 0 0 auto !important;
	aspect-ratio: 4 / 5;
	margin: 0;
	padding: 8px !important;
	border: 1px solid rgba(255, 255, 255, .55) !important;
	border-radius: 30px !important;
	background: rgba(255, 255, 255, .92) !important;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .08) !important;
}

.tc-canada-hero__visual-panel::after {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 8px;
	border-radius: 23px;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 62%, rgba(11, 22, 37, .22));
}
.tc-canada-hero__visual-panel .elementor-widget-image,
.tc-canada-hero__visual-panel .elementor-widget-image .elementor-widget-container,
.tc-canada-hero__visual-panel figure,
.tc-canada-hero__visual-panel picture,
.tc-canada-hero__visual-panel a {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	border-radius: 23px !important;
}
.tc-canada-hero__visual-panel img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	border-radius: 23px !important;
	object-fit: cover !important;
	object-position: center !important;
}
.tc-canada-hero__visual-panel figcaption,
.tc-canada-hero__visual-panel .widget-image-caption,
.tc-canada-hero__visual-panel .wp-caption-text,
.tc-canada-hero__visual-panel .elementor-image-caption { display: none !important; }

.tc-canada-hero__micro-tag-widget {
	position: absolute !important;
	z-index: 5;
	left: 22px;
	bottom: 22px;
	width: auto !important;
	max-width: calc(100% - 44px);
}
.tc-canada-hero__micro-tag {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 15px;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 10px 30px rgba(15, 23, 42, .18);
	backdrop-filter: blur(10px);
	color: #172033;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.tc-canada-hero__micro-tag svg {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	color: var(--tc-canada-primary);
}

/* Obsolete rail is suppressed for existing live imports. */
.tc-canada-hero__info-rail,
.tc-canada-hero__visual > .e-con:last-child:not(.tc-canada-hero__visual-panel) {
	display: none !important;
}

@media (max-width: 1199px) {
	.tc-canada-hero { min-height: 700px; padding-block: 82px; }
	.tc-canada-hero__title .elementor-heading-title,
.tc-canada-hero__content > .elementor-widget-heading:nth-child(2) .elementor-heading-title { font-size: clamp(3.25rem, 5.2vw, 4.25rem); }
}

@media (max-width: 991px) {
	.tc-canada-hero { min-height: 0; padding-block: 76px; }
	.tc-canada-hero__title .elementor-heading-title,
.tc-canada-hero__content > .elementor-widget-heading:nth-child(2) .elementor-heading-title { font-size: clamp(3.25rem, 7vw, 3.75rem); }
	.tc-canada-hero__visual-panel {
		--width: min(100%, 520px) !important;
		width: min(100%, 520px) !important;
		margin-inline: auto;
	}
}

@media (max-width: 767px) {
	.tc-canada-hero { padding: 68px 20px; background-size: 48px 48px, 48px 48px, auto, auto; }
	.tc-canada-hero__title .elementor-heading-title,
.tc-canada-hero__content > .elementor-widget-heading:nth-child(2) .elementor-heading-title { font-size: clamp(2.625rem, 11.5vw, 3rem); line-height: 1.03; }
	.tc-canada-hero__description,
	.tc-canada-hero__description p,
.tc-canada-hero__content > .elementor-widget-text-editor:nth-child(3),
.tc-canada-hero__content > .elementor-widget-text-editor:nth-child(3) p { font-size: 1rem; line-height: 1.65; }
	.tc-canada-hero__actions .e-con-inner,
	.tc-canada-hero__actions { width: 100%; }
	.tc-canada-hero__actions .elementor-widget-button,
	.tc-canada-hero__actions .elementor-button { width: 100%; }
	.tc-canada-hero__highlights { gap: 13px !important; }
	.tc-canada-hero__highlight {
		--width: 100% !important;
		width: 100% !important;
		padding: 10px 14px !important;
	}
	.tc-canada-hero__highlight:not(:last-child)::after { display: none; }
	.tc-canada-hero__visual-panel {
		--width: 100% !important;
		width: 100% !important;
		border-radius: 26px !important;
	}
	.tc-canada-hero__micro-tag-widget { left: 14px; bottom: 14px; max-width: calc(100% - 28px); }
	.tc-canada-hero__micro-tag { gap: 7px; padding: 8px 12px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
	.tc-canada-hero .elementor-button { transition: none; }
}

/* ========================================================================== 
   POPULAR PROGRAMS — STUDY IN CANADA
   ========================================================================== */
.tc-canada-programs { --tc-programs-red:#e31e24; --tc-programs-heading:#172033; --tc-programs-text:#5d6675; position:relative; overflow:hidden; padding:110px 24px; border-top:1px solid rgba(18,30,50,.07); background:radial-gradient(circle at 88% 12%,rgba(227,30,36,.045),transparent 26%),linear-gradient(180deg,#eef3f8 0%,#e8eef5 100%); }
.tc-canada-programs > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-programs__header { width:100%!important; text-align:center; }
.tc-canada-programs__eyebrow { width:fit-content!important; }
.tc-canada-programs__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.18); border-radius:999px; background:rgba(227,30,36,.07); color:var(--tc-programs-red)!important; font-size:.75rem!important; font-weight:800!important; letter-spacing:.13em!important; line-height:1!important; }
.tc-canada-programs__title .elementor-heading-title { max-width:780px; margin-inline:auto; color:var(--tc-programs-heading)!important; font-size:clamp(2.5rem,3.6vw,3.7rem)!important; font-weight:800!important; line-height:1.08!important; letter-spacing:-.035em!important; }
.tc-canada-programs__description,.tc-canada-programs__description p { max-width:700px; margin:0 auto; color:var(--tc-programs-text)!important; font-size:1.075rem; line-height:1.7; text-align:center; }
.tc-canada-programs__grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:22px!important; width:100%!important; margin-top:54px; align-items:stretch; }
.tc-canada-programs__card { --width:auto!important; position:relative; overflow:hidden; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; height:100%; padding:28px!important; border:1px solid rgba(18,30,50,.08); border-radius:22px!important; background:#fff; box-shadow:0 12px 32px rgba(18,30,50,.04); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.tc-canada-programs__card::before { content:""; position:absolute; top:0; left:28px; width:44px; height:3px; border-radius:0 0 999px 999px; background:var(--tc-programs-red); }
.tc-canada-programs__card:hover { transform:translateY(-6px); border-color:rgba(227,30,36,.2); box-shadow:0 20px 45px rgba(18,30,50,.08); }
.tc-canada-programs__card-top { width:100%!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; }
.tc-canada-programs__icon { display:grid!important; place-items:center!important; width:46px!important; height:46px!important; min-width:46px!important; flex:0 0 46px!important; padding:0!important; border-radius:13px; background:rgba(227,30,36,.07); color:var(--tc-programs-red)!important; line-height:0; }
.tc-canada-programs__icon .elementor-widget-container { display:grid!important; width:100%; height:100%; place-items:center!important; }
.tc-canada-programs__icon svg { display:block; width:22px; height:22px; color:var(--tc-programs-red)!important; }
.tc-canada-programs__number { width:auto!important; }
.tc-canada-programs__number .elementor-heading-title { color:rgba(227,30,36,.10)!important; font-size:2.5rem!important; font-weight:800!important; line-height:1!important; }
.tc-canada-programs__card-title { margin-top:22px; }
.tc-canada-programs__card-title .elementor-heading-title { color:var(--tc-programs-heading)!important; font-size:1.25rem!important; font-weight:800!important; line-height:1.25!important; }
.tc-canada-programs__card-text { margin-top:12px; }
.tc-canada-programs__card-text,.tc-canada-programs__card-text p { margin-bottom:0; color:var(--tc-programs-text)!important; font-size:.95rem; line-height:1.7; }
.tc-canada-programs__card-link { width:fit-content!important; margin-top:auto; padding-top:20px; }
.tc-canada-programs__card-link a { display:inline-flex; align-items:center; gap:7px; color:var(--tc-programs-red)!important; font-size:.88rem; font-weight:700; text-decoration:none!important; }
.tc-canada-programs__card-link svg { width:17px; height:17px; transition:transform .25s ease; }
.tc-canada-programs__card-link a:hover svg { transform:translateX(4px); }
.tc-canada-programs__card-link a:focus-visible { outline:2px solid var(--tc-programs-red); outline-offset:4px; }
.tc-canada-programs__advice { position:relative; overflow:hidden; display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:32px!important; width:100%!important; margin-top:54px; padding:36px 42px!important; border-radius:26px!important; background:radial-gradient(circle at 85% 30%,rgba(227,30,36,.18),transparent 32%),#101827; }
.tc-canada-programs__advice-content { min-width:0; }
.tc-canada-programs__advice-label .elementor-heading-title { color:var(--tc-programs-red)!important; font-size:.75rem!important; font-weight:800!important; letter-spacing:.12em!important; }
.tc-canada-programs__advice-title .elementor-heading-title { color:#fff!important; font-size:clamp(1.6rem,2.2vw,2.2rem)!important; font-weight:800!important; line-height:1.2!important; }
.tc-canada-programs__advice-text,.tc-canada-programs__advice-text p { max-width:650px; margin:0; color:#cbd5e1!important; font-size:.95rem; line-height:1.6; }
.tc-canada-programs__advice-button { width:fit-content!important; flex:0 0 auto!important; }
.tc-canada-programs__advice-button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:50px; padding:0 24px!important; border-radius:10px!important; background:var(--tc-programs-red)!important; color:#fff!important; font-weight:700!important; line-height:1.2!important; text-align:center!important; }
.tc-canada-programs__advice-button .elementor-button-content-wrapper,
.tc-canada-programs__advice-button .elementor-button-text { display:flex!important; align-items:center!important; justify-content:center!important; width:100%; min-height:inherit; line-height:1.2!important; text-align:center!important; }
.tc-canada-programs__advice-button .elementor-button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(227,30,36,.28); }
.tc-canada-programs__advice-button .elementor-button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media (max-width:991px) { .tc-canada-programs { padding:90px 24px; } .tc-canada-programs__title .elementor-heading-title { font-size:clamp(2.7rem,6vw,3rem)!important; } .tc-canada-programs__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px!important; } .tc-canada-programs__advice { flex-direction:column!important; align-items:flex-start!important; } }
@media (max-width:767px) { .tc-canada-programs { padding:70px 20px; } .tc-canada-programs__title .elementor-heading-title { font-size:clamp(2.25rem,10vw,2.6rem)!important; } .tc-canada-programs__description,.tc-canada-programs__description p { font-size:1rem; } .tc-canada-programs__grid { grid-template-columns:minmax(0,1fr); gap:16px!important; margin-top:40px; } .tc-canada-programs__card { padding:22px!important; } .tc-canada-programs__card::before { left:22px; } .tc-canada-programs__card-title .elementor-heading-title { font-size:1.15rem!important; } .tc-canada-programs__number .elementor-heading-title { font-size:2.2rem!important; } .tc-canada-programs__advice { margin-top:42px; padding:26px 22px!important; border-radius:20px!important; } .tc-canada-programs__advice-button,.tc-canada-programs__advice-button .elementor-button { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-programs__card,.tc-canada-programs__card-link svg,.tc-canada-programs__advice-button .elementor-button { transition:none; } }

/* ========================================================================== 
   WHY STUDY IN CANADA — light editorial follow-up
   ========================================================================== */
.tc-canada-why {
	--tc-canada-why-red: #e31e24;
	--tc-canada-why-heading: #172033;
	--tc-canada-why-text: #5d6675;
	position: relative;
	overflow: hidden;
	padding: 110px 24px;
	background: radial-gradient(circle at 10% 30%, rgba(227, 30, 36, .045), transparent 32%), linear-gradient(180deg, #fff 0%, #f7f8fa 100%);
}
.tc-canada-why > .tc-container { width: min(100%, var(--tc-canada-container, 1320px)); margin-inline: auto; }
.tc-canada-why__header { width: 100% !important; max-width: 950px; }
.tc-canada-why__eyebrow { width: fit-content !important; }
.tc-canada-why__eyebrow .elementor-heading-title {
	display: inline-flex; padding: 8px 13px; border: 1px solid rgba(227, 30, 36, .18); border-radius: 999px;
	background: rgba(227, 30, 36, .07); color: var(--tc-canada-why-red) !important;
	font-size: .75rem; font-weight: 800 !important; letter-spacing: .13em; line-height: 1;
}
.tc-canada-why__header .tc-canada-why__title .elementor-heading-title {
	max-width: 900px; margin: 0; color: var(--tc-canada-why-heading) !important;
	font-size: clamp(2.6rem, 3.6vw, 3.65rem) !important; font-weight: 800 !important;
	letter-spacing: -.035em !important; line-height: 1.08 !important;
}
.tc-canada-why__description, .tc-canada-why__description p {
	max-width: 760px; margin: 0; color: var(--tc-canada-why-text) !important; font-size: 1.075rem; line-height: 1.75;
}
.tc-canada-why__layout { align-items: flex-start !important; gap: 64px !important; }
.tc-canada-why__visual {
	position: relative !important; min-width: 0; overflow: hidden !important; aspect-ratio: 4 / 5;
	border: 1px solid rgba(18, 30, 50, .06); border-radius: 28px !important;
	box-shadow: 0 24px 60px rgba(18, 30, 50, .12);
}
.tc-canada-why__visual .elementor-widget-image, .tc-canada-why__visual .elementor-widget-container,
.tc-canada-why__visual figure, .tc-canada-why__visual img {
	width: 100% !important; height: 100% !important; margin: 0 !important; border-radius: 28px !important;
}
.tc-canada-why__visual img { display: block; object-fit: cover !important; }
.tc-canada-why__visual figcaption { display: none !important; }
.tc-canada-why__overlay {
	position: absolute !important; z-index: 4; right: 18px !important; bottom: 22px !important;
	width: 220px !important; max-width: calc(100% - 36px) !important; padding: 15px 17px !important;
	border: 1px solid rgba(255, 255, 255, .8) !important; border-radius: 16px !important;
	background: rgba(255, 255, 255, .94) !important; box-shadow: 0 14px 35px rgba(18, 30, 50, .16) !important;
	backdrop-filter: blur(14px);
}
.tc-canada-why__overlay-icon {
	display: grid; flex: 0 0 36px; width: 36px !important; height: 36px; place-items: center;
	align-self: center !important;
	border-radius: 10px; background: rgba(227, 30, 36, .08); color: var(--tc-canada-why-red);
}
.tc-canada-why__overlay-icon .elementor-widget-container {
	display: grid !important;
	width: 100%;
	height: 100%;
	place-items: center !important;
}
.tc-canada-why__overlay-icon svg { display: block; width: 20px; height: 20px; }
.tc-canada-why__overlay-title .elementor-heading-title {
	color: var(--tc-canada-why-heading) !important; font-size: .85rem !important; font-weight: 750 !important; line-height: 1.25 !important;
}
.tc-canada-why__overlay-text p { margin: 0; color: #667085 !important; font-size: .74rem; line-height: 1.4; }
.tc-canada-why__content { align-self: flex-start; }
.tc-canada-why__grid {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr));

	grid-auto-rows: 1fr; gap: 20px !important; align-items: stretch;
}
.tc-canada-why__item {
	--width: auto !important; position: relative; overflow: hidden; width: auto !important; height: 100%;
	padding: 26px 28px; border: 1px solid rgba(18, 30, 50, .08); border-radius: 20px;
	background: linear-gradient(145deg, #fff 0%, #fbfcfd 100%);
	box-shadow: 0 10px 28px rgba(18, 30, 50, .035);
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.tc-canada-why__item:hover { transform: translateY(-4px); border-color: rgba(227, 30, 36, .2); box-shadow: 0 18px 38px rgba(18, 30, 50, .07); }
.tc-canada-why__item-top {
	width: 100% !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
}
.tc-canada-why__icon {
	width: 42px !important; height: 42px !important; min-width: 42px !important; flex: 0 0 42px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	padding: 0 !important; margin: 0 !important; align-self: center !important; line-height: 0 !important;
	border-radius: 12px; background: rgba(227, 30, 36, .08); color: var(--tc-canada-why-red);
}
.tc-canada-why__icon > .elementor-widget-container {
	display: flex !important; align-items: center !important; justify-content: center !important;
	width: 100% !important; height: 100% !important; padding: 0 !important; margin: 0 !important; line-height: 0 !important;
}
.tc-canada-why__icon svg {
	display: block !important; width: 21px !important; height: 21px !important;
	margin: 0 !important; padding: 0 !important; flex-shrink: 0;
}
.tc-canada-why__number { width: auto !important; }
.tc-canada-why__number .elementor-heading-title {
	color: rgba(227, 30, 36, .12) !important; font-size: 2.6rem !important; font-weight: 800 !important;
	line-height: 1 !important; letter-spacing: -.04em !important; transition: color .3s ease;
}
.tc-canada-why__item:hover .tc-canada-why__number .elementor-heading-title { color: rgba(227, 30, 36, .18) !important; }
.tc-canada-why__item-title { margin-top: 19px; }
.tc-canada-why__item-title .elementor-heading-title {
	color: var(--tc-canada-why-heading) !important; font-size: 1.2rem !important; font-weight: 800 !important; line-height: 1.25 !important;
}
.tc-canada-why__accent-line { width: 34px !important; height: 3px; min-height: 3px; margin: 10px 0 13px; border-radius: 999px; background: var(--tc-canada-why-red); }
.tc-canada-why__item-text, .tc-canada-why__item-text p {
	margin: 0; color: var(--tc-canada-why-text) !important; font-size: .95rem; line-height: 1.7;
}
.tc-canada-why__cta { width: fit-content !important; }
/* =========================================
   WHY CANADA - CTA
========================================= */

.tc-canada-why__cta-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px;

    width: fit-content !important;
    min-height: 48px;
    padding: 0 22px !important;

    background: transparent !important;
    color: #E31E24 !important;

    border: 1.5px solid rgba(227, 30, 36, 0.35) !important;
    border-radius: 10px !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;

    box-shadow: 0 8px 24px rgba(227, 30, 36, 0.07);

    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

/* Hover */
.tc-canada-why__cta-link:hover {
    background: #E31E24 !important;
    color: #fff !important;
    border-color: #E31E24 !important;

    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(227, 30, 36, 0.18);
}

/* SVG arrow */
.tc-canada-why__cta-link svg {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
    transition: transform .25s ease;
}

.tc-canada-why__cta-link:hover svg {
    transform: translateX(4px);
}
.tc-canada-why__cta-link:focus-visible { outline: 2px solid var(--tc-canada-why-red); outline-offset: 4px; }
@media (max-width: 991px) {
	.tc-canada-why { padding-block: 90px; }
	.tc-canada-why__layout { gap: 48px !important; }
	.tc-canada-why__visual { width: min(78%, 520px) !important; margin-inline: auto; }
	.tc-canada-why__overlay { width: 210px !important; }
}
@media (max-width: 767px) {
	.tc-canada-why { padding: 70px 20px; }
	.tc-canada-why__header .tc-canada-why__title .elementor-heading-title { font-size: clamp(2.25rem, 10vw, 2.6rem) !important; }
	.tc-canada-why__description, .tc-canada-why__description p { font-size: 1rem; }
	.tc-canada-why__visual { width: 100% !important; }
	.tc-canada-why__grid { grid-template-columns: 1fr; gap: 16px !important; }
	.tc-canada-why__item { padding: 22px; }
	.tc-canada-why__overlay { right: 12px !important; bottom: 14px !important; width: 205px !important; padding: 13px 14px !important; }
}

/* ========================================================================== 
   ADMISSION REQUIREMENTS — STUDY IN CANADA
   ========================================================================== */
.tc-canada-requirements { --tc-req-red:#e31e24; --tc-req-heading:#172033; --tc-req-text:#5d6675; position:relative; overflow:hidden; padding:110px 24px; background:radial-gradient(circle at 12% 45%,rgba(227,30,36,.035),transparent 28%),linear-gradient(180deg,#fff 0%,#fafbfc 100%); }
.tc-canada-requirements > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-requirements__header { width:100%!important; max-width:900px; }
.tc-canada-requirements__eyebrow { width:fit-content!important; }
.tc-canada-requirements__eyebrow .elementor-heading-title { display:inline-flex; width:fit-content; padding:8px 13px; border:1px solid rgba(227,30,36,.16); border-radius:999px; background:rgba(227,30,36,.06); color:var(--tc-req-red)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; text-transform:uppercase; }
.tc-canada-requirements__title .elementor-heading-title { max-width:850px; color:var(--tc-req-heading)!important; font-size:clamp(2.6rem,3.6vw,3.65rem)!important; font-weight:800!important; line-height:1.08!important; letter-spacing:-.035em!important; }
.tc-canada-requirements__description,.tc-canada-requirements__description p { max-width:780px; margin:0; color:var(--tc-req-text)!important; font-size:1.05rem; line-height:1.75; }
.tc-canada-requirements__layout { display:grid!important; grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr); gap:clamp(42px,5vw,76px)!important; width:100%!important; margin-top:50px; align-items:start!important; }
.tc-canada-requirements__summary { --width:auto!important; position:relative; overflow:hidden; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; padding:36px 32px!important; border-radius:26px!important; background:radial-gradient(circle at 100% 0%,rgba(227,30,36,.20),transparent 34%),#101827; box-shadow:0 24px 55px rgba(18,30,50,.14); color:#fff; }
.tc-canada-requirements__summary::after { content:""; position:absolute; right:-65px; bottom:-65px; width:180px; height:180px; border:1px solid rgba(255,255,255,.055); border-radius:50%; pointer-events:none; }
.tc-canada-requirements__summary-label .elementor-heading-title { color:var(--tc-req-red)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.12em!important; line-height:1!important; }
.tc-canada-requirements__summary-title { margin-top:10px; }
.tc-canada-requirements__summary-title .elementor-heading-title { color:#fff!important; font-size:clamp(1.65rem,2vw,1.85rem)!important; font-weight:800!important; line-height:1.2!important; }
.tc-canada-requirements__summary-description { margin-top:10px; }
.tc-canada-requirements__summary-description,.tc-canada-requirements__summary-description p { margin-bottom:0; color:rgba(255,255,255,.68)!important; font-size:.92rem; line-height:1.65; }
.tc-canada-requirements__summary-list { width:100%!important; margin-top:22px; }
.tc-canada-requirements__summary-item { display:flex!important; flex-direction:row!important; align-items:center!important; gap:13px!important; width:100%!important; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.tc-canada-requirements__summary-item:last-child { border-bottom:0; }
.tc-canada-requirements__summary-icon { display:grid!important; place-items:center!important; width:38px!important; height:38px!important; min-width:38px!important; flex:0 0 38px!important; padding:0!important; border-radius:11px; background:rgba(227,30,36,.13); color:#ff5a5f!important; line-height:0; }
.tc-canada-requirements__summary-icon .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; padding:0!important; }
.tc-canada-requirements__summary-icon svg { display:block; width:19px; height:19px; color:#ff5a5f!important; }
.tc-canada-requirements__summary-text { min-width:0; }
.tc-canada-requirements__summary-text .elementor-heading-title { color:#fff!important; font-size:.92rem!important; font-weight:700!important; line-height:1.4!important; }
.tc-canada-requirements__tip { position:relative; z-index:1; width:100%!important; margin-top:22px; padding:16px 17px!important; border:1px solid rgba(255,255,255,.09); border-radius:15px!important; background:rgba(255,255,255,.055); }
.tc-canada-requirements__tip-label .elementor-heading-title { color:var(--tc-req-red)!important; font-size:.68rem!important; font-weight:800!important; letter-spacing:.1em!important; }
.tc-canada-requirements__tip-text,.tc-canada-requirements__tip-text p { margin:0; color:rgba(255,255,255,.72)!important; font-size:.82rem; line-height:1.55; }
.tc-canada-requirements__list { --width:auto!important; width:auto!important; min-width:0; }
.tc-canada-requirements__item { display:grid!important; grid-template-columns:64px minmax(0,1fr); gap:20px!important; width:100%!important; padding:25px 0; border-bottom:1px solid rgba(18,30,50,.09); }
.tc-canada-requirements__item:first-child { padding-top:0; }
.tc-canada-requirements__item:nth-child(5) { border-bottom:0; }
.tc-canada-requirements__number { display:grid!important; place-items:center!important; width:48px!important; height:48px!important; min-width:48px!important; border:1px solid rgba(227,30,36,.12); border-radius:14px; background:rgba(227,30,36,.07); transition:background-color .25s ease,color .25s ease,transform .25s ease; }
.tc-canada-requirements__number .elementor-widget-container { display:grid!important; width:100%; height:100%; place-items:center!important; }
.tc-canada-requirements__number .elementor-heading-title { color:var(--tc-req-red)!important; font-size:.82rem!important; font-weight:800!important; letter-spacing:.06em!important; line-height:1!important; }
.tc-canada-requirements__item:hover .tc-canada-requirements__number { transform:translateY(-1px); border-color:var(--tc-req-red); background:var(--tc-req-red); }
.tc-canada-requirements__item:hover .tc-canada-requirements__number .elementor-heading-title { color:#fff!important; }
.tc-canada-requirements__item-content { min-width:0; }
.tc-canada-requirements__item-title .elementor-heading-title { color:var(--tc-req-heading)!important; font-size:1.16rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-requirements__item-text { margin-top:7px; }
.tc-canada-requirements__item-text,.tc-canada-requirements__item-text p { max-width:700px; margin-bottom:0; color:var(--tc-req-text)!important; font-size:.95rem; line-height:1.7; }
.tc-canada-requirements__cta { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; width:100%!important; margin-top:26px; padding:20px 22px!important; border:1px solid rgba(227,30,36,.12); border-radius:17px!important; background:linear-gradient(135deg,rgba(227,30,36,.045),rgba(227,30,36,.015)); }
.tc-canada-requirements__cta-content { min-width:0; }
.tc-canada-requirements__cta-title .elementor-heading-title { color:var(--tc-req-heading)!important; font-size:1rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-requirements__cta-text { margin-top:3px; }
.tc-canada-requirements__cta-text,.tc-canada-requirements__cta-text p { margin-bottom:0; color:#667085!important; font-size:.84rem; line-height:1.5; }
.tc-canada-requirements__cta-button { width:fit-content!important; flex:0 0 auto!important; }
.tc-canada-requirements__cta-button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; gap:8px; min-height:44px; padding:0 17px!important; border:1.5px solid rgba(227,30,36,.30)!important; border-radius:10px!important; background:#fff!important; color:var(--tc-req-red)!important; font-size:.85rem!important; font-weight:750!important; line-height:1.2!important; white-space:nowrap; }
.tc-canada-requirements__cta-button .elementor-button-content-wrapper { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px; }
.tc-canada-requirements__cta-button .elementor-button-content-wrapper::after { content:"→"; display:inline-block; font-size:1rem; line-height:1; transition:transform .25s ease; }
.tc-canada-requirements__cta-button .elementor-button:hover { border-color:var(--tc-req-red)!important; background:var(--tc-req-red)!important; color:#fff!important; }
.tc-canada-requirements__cta-button .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-requirements__cta-button .elementor-button:focus-visible { outline:2px solid var(--tc-req-red); outline-offset:4px; }
.tc-canada-requirements__disclaimer { width:100%!important; margin-top:26px; }
.tc-canada-requirements__disclaimer,.tc-canada-requirements__disclaimer p { margin-bottom:0; color:#8a94a3!important; font-size:.75rem; line-height:1.5; }
@media (max-width:991px) { .tc-canada-requirements { padding:90px 24px; } .tc-canada-requirements__layout { grid-template-columns:1fr; gap:36px!important; } .tc-canada-requirements__summary,.tc-canada-requirements__list { width:100%!important; } .tc-canada-requirements__summary-list { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:28px!important; } }
@media (max-width:767px) { .tc-canada-requirements { padding:70px 18px; } .tc-canada-requirements__title .elementor-heading-title { font-size:clamp(2.3rem,10vw,2.6rem)!important; } .tc-canada-requirements__description,.tc-canada-requirements__description p { font-size:1rem; } .tc-canada-requirements__summary { padding:26px 22px!important; border-radius:21px!important; } .tc-canada-requirements__summary-list { grid-template-columns:1fr; } }
@media (max-width:575px) { .tc-canada-requirements__title .elementor-heading-title br { display:none; } .tc-canada-requirements__summary { padding:24px 20px!important; } .tc-canada-requirements__item { grid-template-columns:46px minmax(0,1fr); gap:14px!important; padding:20px 0; } .tc-canada-requirements__number { width:42px!important; height:42px!important; min-width:42px!important; border-radius:12px; } .tc-canada-requirements__item-title .elementor-heading-title { font-size:1.05rem!important; } .tc-canada-requirements__item-text,.tc-canada-requirements__item-text p { font-size:.9rem; } .tc-canada-requirements__cta { flex-direction:column!important; align-items:stretch!important; } .tc-canada-requirements__cta-button,.tc-canada-requirements__cta-button .elementor-button { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-requirements__number,.tc-canada-requirements__cta-button .elementor-button-content-wrapper::after { transition:none; } }

/* ========================================================================== 
   COST OF STUDYING IN CANADA
   ========================================================================== */
.tc-canada-costs { --tc-costs-red:#e31e24; --tc-costs-heading:#172033; --tc-costs-text:#5d6675; position:relative; overflow:hidden; padding:90px 24px; border-top:1px solid rgba(18,30,50,.08); background:linear-gradient(180deg,#edf2f7 0%,#e9eff5 100%); }
.tc-canada-costs > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-costs__header { display:flex!important; flex-direction:column!important; align-items:center!important; width:100%!important; text-align:center; }
.tc-canada-costs__header > .elementor-element { align-self:center!important; }
.tc-canada-costs__eyebrow { width:fit-content!important; align-self:center!important; margin-inline:auto!important; }
.tc-canada-costs__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.16); border-radius:999px; background:rgba(227,30,36,.06); color:var(--tc-costs-red)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; }
.tc-canada-costs__title,.tc-canada-costs__description { width:100%!important; text-align:center!important; }
.tc-canada-costs__title .elementor-heading-title { max-width:800px; margin-inline:auto; color:var(--tc-costs-heading)!important; font-size:clamp(2.35rem,3.2vw,3.25rem)!important; font-weight:800!important; line-height:1.1!important; letter-spacing:-.035em!important; text-align:center!important; }
.tc-canada-costs__description,.tc-canada-costs__description p { max-width:760px; margin:0 auto; color:var(--tc-costs-text)!important; font-size:1rem; line-height:1.7; text-align:center; }
.tc-canada-costs__grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:20px!important; width:100%!important; margin-top:42px; align-items:stretch; }
.tc-canada-costs__card { --width:auto!important; position:relative; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; height:100%; padding:26px!important; border:1px solid rgba(18,30,50,.08); border-radius:20px!important; background:#fff; box-shadow:0 12px 30px rgba(18,30,50,.04); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.tc-canada-costs__card:hover { transform:translateY(-4px); border-color:rgba(227,30,36,.18); box-shadow:0 18px 38px rgba(18,30,50,.075); }
.tc-canada-costs__icon { display:grid!important; place-items:center!important; width:44px!important; height:44px!important; min-width:44px!important; padding:0!important; border-radius:12px; background:rgba(227,30,36,.07); color:var(--tc-costs-red)!important; line-height:0; }
.tc-canada-costs__icon .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; padding:0!important; }
.tc-canada-costs__icon svg { display:block; width:21px; height:21px; color:var(--tc-costs-red)!important; }
.tc-canada-costs__card-title { margin-top:20px; }
.tc-canada-costs__card-title .elementor-heading-title { color:var(--tc-costs-heading)!important; font-size:1.2rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-costs__card-text { margin-top:10px; }
.tc-canada-costs__card-text,.tc-canada-costs__card-text p { margin-bottom:0; color:var(--tc-costs-text)!important; font-size:.95rem; line-height:1.7; }
.tc-canada-costs__cta { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; width:100%!important; margin-top:30px; padding:18px 20px!important; border-top:1px solid rgba(18,30,50,.08); }
.tc-canada-costs__cta-title .elementor-heading-title { color:var(--tc-costs-heading)!important; font-size:1rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-costs__cta-button { width:fit-content!important; flex:0 0 auto!important; }
.tc-canada-costs__cta-button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:44px; padding:0 17px!important; border:1.5px solid rgba(227,30,36,.32)!important; border-radius:10px!important; background:transparent!important; color:var(--tc-costs-red)!important; font-size:.85rem!important; font-weight:750!important; line-height:1.2!important; }
.tc-canada-costs__cta-button .elementor-button-content-wrapper { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px; }
.tc-canada-costs__cta-button .elementor-button-content-wrapper::after { content:"→"; display:inline-block; font-size:1rem; line-height:1; transition:transform .25s ease; }
.tc-canada-costs__cta-button .elementor-button:hover { border-color:var(--tc-costs-red)!important; background:var(--tc-costs-red)!important; color:#fff!important; }
.tc-canada-costs__cta-button .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-costs__cta-button .elementor-button:focus-visible { outline:2px solid var(--tc-costs-red); outline-offset:4px; }
@media (max-width:991px) { .tc-canada-costs { padding:75px 24px; } .tc-canada-costs__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px!important; } .tc-canada-costs__card:last-child { grid-column:1 / -1; } }
@media (max-width:767px) { .tc-canada-costs { padding:60px 18px; } .tc-canada-costs__title .elementor-heading-title { font-size:clamp(2.15rem,10vw,2.5rem)!important; } .tc-canada-costs__grid { grid-template-columns:minmax(0,1fr); gap:15px!important; margin-top:34px; } .tc-canada-costs__card:last-child { grid-column:auto; } .tc-canada-costs__card { padding:23px!important; } .tc-canada-costs__cta { flex-direction:column!important; align-items:stretch!important; padding-inline:0!important; } .tc-canada-costs__cta-button,.tc-canada-costs__cta-button .elementor-button { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-costs__card,.tc-canada-costs__cta-button .elementor-button-content-wrapper::after { transition:none; } }

/* ========================================================================== 
   CANADA INTAKES
   ========================================================================== */
.tc-canada-intakes { --tc-intakes-red:#e31e24; --tc-intakes-heading:#172033; --tc-intakes-text:#5d6675; position:relative; overflow:hidden; padding:90px 24px; background:radial-gradient(circle at 8% 18%,rgba(227,30,36,.055),transparent 24%),radial-gradient(circle at 92% 70%,rgba(39,78,119,.055),transparent 25%),linear-gradient(180deg,#fff 0%,#f7f9fc 100%); }
.tc-canada-intakes::before { content:""; position:absolute; top:0; left:50%; width:min(72%,900px); height:1px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,rgba(227,30,36,.24),transparent); }
.tc-canada-intakes > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-intakes__header { display:flex!important; flex-direction:column!important; align-items:center!important; width:100%!important; text-align:center; }
.tc-canada-intakes__header > .elementor-element { align-self:center!important; }
.tc-canada-intakes__eyebrow { width:fit-content!important; margin-inline:auto!important; }
.tc-canada-intakes__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.16); border-radius:999px; background:rgba(227,30,36,.06); color:var(--tc-intakes-red)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; }
.tc-canada-intakes__heading,.tc-canada-intakes__description { width:100%!important; text-align:center!important; }
.tc-canada-intakes__heading .elementor-heading-title { max-width:850px; margin-inline:auto; color:var(--tc-intakes-heading)!important; font-size:clamp(2.35rem,3.2vw,3.25rem)!important; font-weight:800!important; line-height:1.1!important; letter-spacing:-.035em!important; text-align:center!important; }
.tc-canada-intakes__description,.tc-canada-intakes__description p { max-width:760px; margin:0 auto; color:var(--tc-intakes-text)!important; font-size:1rem; line-height:1.7; text-align:center; }
.tc-canada-intakes__timeline { position:relative; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px!important; width:100%!important; margin-top:42px; padding-top:30px; align-items:stretch; }
.tc-canada-intakes__timeline::before { content:""; position:absolute; z-index:0; top:8px; right:16.66%; left:16.66%; height:2px; border-radius:999px; background:linear-gradient(90deg,rgba(227,30,36,.28),var(--tc-intakes-red),rgba(227,30,36,.28)); box-shadow:0 0 0 4px rgba(227,30,36,.035); pointer-events:none; }
.tc-canada-intakes__item { --width:auto!important; position:relative; z-index:1; overflow:visible; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; height:100%; padding:26px!important; border:1px solid rgba(18,30,50,.085); border-radius:20px!important; background:rgba(255,255,255,.97); box-shadow:0 14px 34px rgba(18,30,50,.055); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.tc-canada-intakes__item::before { content:""; position:absolute; z-index:2; top:-29px; left:50%; width:14px; height:14px; transform:translateX(-50%); border:4px solid #fff; border-radius:50%; background:var(--tc-intakes-red); box-shadow:0 0 0 2px rgba(227,30,36,.18),0 4px 12px rgba(227,30,36,.22); }
.tc-canada-intakes__item::after { content:""; position:absolute; top:0; left:26px; width:52px; height:3px; border-radius:0 0 999px 999px; background:var(--tc-intakes-red); }
.tc-canada-intakes__item:hover { transform:translateY(-5px); border-color:rgba(227,30,36,.20); box-shadow:0 22px 46px rgba(18,30,50,.09); }
.tc-canada-intakes__item:nth-child(2) { background:linear-gradient(145deg,#fff 0%,#fff8f8 100%); border-color:rgba(227,30,36,.13); }
.tc-canada-intakes__icon { display:grid!important; place-items:center!important; width:48px!important; height:48px!important; min-width:48px!important; padding:0!important; border:1px solid rgba(227,30,36,.08); border-radius:14px; background:linear-gradient(145deg,rgba(227,30,36,.11),rgba(227,30,36,.055)); color:var(--tc-intakes-red)!important; box-shadow:0 8px 18px rgba(227,30,36,.08); line-height:0; }
.tc-canada-intakes__icon .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; padding:0!important; }
.tc-canada-intakes__icon svg { display:block; width:22px; height:22px; color:var(--tc-intakes-red)!important; }
.tc-canada-intakes__title { margin-top:18px; }
.tc-canada-intakes__title .elementor-heading-title { color:var(--tc-intakes-heading)!important; font-size:1.05rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-intakes__month { margin-top:5px; }
.tc-canada-intakes__month .elementor-heading-title { color:var(--tc-intakes-heading)!important; font-size:clamp(1.7rem,2.15vw,2rem)!important; font-weight:800!important; line-height:1.15!important; letter-spacing:-.03em!important; }
.tc-canada-intakes__text { margin-top:10px; }
.tc-canada-intakes__text,.tc-canada-intakes__text p { margin-bottom:0; color:var(--tc-intakes-text)!important; font-size:.94rem; line-height:1.65; }
.tc-canada-intakes__cta { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; width:100%!important; margin-top:34px; padding:20px 22px!important; border:1px solid rgba(227,30,36,.11); border-radius:16px!important; background:linear-gradient(135deg,rgba(227,30,36,.045),rgba(255,255,255,.72)); }
.tc-canada-intakes__cta-title .elementor-heading-title { color:var(--tc-intakes-heading)!important; font-size:1rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-intakes__cta-button { width:fit-content!important; flex:0 0 auto!important; }
.tc-canada-intakes__cta-button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:44px; padding:0 17px!important; border:1.5px solid rgba(227,30,36,.32)!important; border-radius:10px!important; background:#fff!important; color:var(--tc-intakes-red)!important; font-size:.85rem!important; font-weight:750!important; line-height:1.2!important; }
.tc-canada-intakes__cta-button .elementor-button-content-wrapper { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px; }
.tc-canada-intakes__cta-button .elementor-button-content-wrapper::after { content:"→"; display:inline-block; font-size:1rem; line-height:1; transition:transform .25s ease; }
.tc-canada-intakes__cta-button .elementor-button:hover { border-color:var(--tc-intakes-red)!important; background:var(--tc-intakes-red)!important; color:#fff!important; }
.tc-canada-intakes__cta-button .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-intakes__cta-button .elementor-button:focus-visible { outline:2px solid var(--tc-intakes-red); outline-offset:4px; }
@media (max-width:991px) { .tc-canada-intakes { padding:75px 24px; } .tc-canada-intakes__timeline { gap:16px!important; } .tc-canada-intakes__item { padding:20px!important; } }
@media (max-width:767px) { .tc-canada-intakes { padding:60px 18px; } .tc-canada-intakes__heading .elementor-heading-title { font-size:clamp(2.15rem,10vw,2.5rem)!important; } .tc-canada-intakes__timeline { grid-template-columns:minmax(0,1fr); gap:15px!important; margin-top:34px; padding-top:0; } .tc-canada-intakes__timeline::before,.tc-canada-intakes__item::before { display:none; } .tc-canada-intakes__item { padding:22px!important; } .tc-canada-intakes__item::after { left:22px; } .tc-canada-intakes__cta { flex-direction:column!important; align-items:stretch!important; } .tc-canada-intakes__cta-button,.tc-canada-intakes__cta-button .elementor-button { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-intakes__item,.tc-canada-intakes__cta-button .elementor-button-content-wrapper::after { transition:none; } }

/* ========================================================================== 
   CANADA STUDY PERMIT PROCESS
   ========================================================================== */
.tc-canada-permit { --tc-permit-red:#e31e24; position:relative; overflow:hidden; padding:90px 24px; background:radial-gradient(circle at 85% 20%,rgba(227,30,36,.16),transparent 30%),radial-gradient(circle at 10% 90%,rgba(70,100,145,.10),transparent 30%),#101827; }
.tc-canada-permit::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; }
.tc-canada-permit > .tc-container { position:relative; z-index:1; width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-permit__header { display:flex!important; flex-direction:column!important; align-items:center!important; width:100%!important; text-align:center; }
.tc-canada-permit__header > .elementor-element { align-self:center!important; }
.tc-canada-permit__eyebrow { width:fit-content!important; margin-inline:auto!important; }
.tc-canada-permit__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.30); border-radius:999px; background:rgba(227,30,36,.12); color:#ff5a5f!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; }
.tc-canada-permit__heading,.tc-canada-permit__description { width:100%!important; text-align:center!important; }
.tc-canada-permit__heading .elementor-heading-title { max-width:880px; margin-inline:auto; color:#fff!important; font-size:clamp(2.35rem,3.2vw,3.25rem)!important; font-weight:800!important; line-height:1.1!important; letter-spacing:-.035em!important; }
.tc-canada-permit__description,.tc-canada-permit__description p { max-width:760px; margin:0 auto; color:#cbd5e1!important; font-size:1rem; line-height:1.7; text-align:center; }
.tc-canada-permit__timeline { position:relative; display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px!important; width:100%!important; margin-top:48px; align-items:start; }
.tc-canada-permit__timeline::before { content:""; position:absolute; z-index:0; top:24px; right:10%; left:10%; height:1px; background:rgba(255,255,255,.14); pointer-events:none; }
.tc-canada-permit__step { --width:auto!important; position:relative; z-index:1; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; padding-right:4px; }
.tc-canada-permit__number { display:grid!important; place-items:center!important; width:48px!important; height:48px!important; min-width:48px!important; border:1px solid rgba(227,30,36,.35); border-radius:50%; background:#101827; box-shadow:0 0 0 7px #101827; transition:background-color .25s ease,border-color .25s ease,transform .25s ease; }
.tc-canada-permit__number .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; }
.tc-canada-permit__number .elementor-heading-title { color:#ff5a5f!important; font-size:.82rem!important; font-weight:800!important; line-height:1!important; letter-spacing:.05em!important; }
.tc-canada-permit__step:hover .tc-canada-permit__number { transform:translateY(-2px); border-color:var(--tc-permit-red); background:var(--tc-permit-red); }
.tc-canada-permit__step:hover .tc-canada-permit__number .elementor-heading-title { color:#fff!important; }
.tc-canada-permit__title { margin-top:18px; }
.tc-canada-permit__title .elementor-heading-title { color:#fff!important; font-size:1.08rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-permit__text { margin-top:8px; }
.tc-canada-permit__text,.tc-canada-permit__text p { margin-bottom:0; color:rgba(255,255,255,.68)!important; font-size:.9rem; line-height:1.6; }
.tc-canada-permit__cta { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:20px!important; width:100%!important; margin-top:42px; padding:20px 22px!important; border:1px solid rgba(255,255,255,.10); border-radius:16px!important; background:rgba(255,255,255,.045); backdrop-filter:blur(8px); }
.tc-canada-permit__cta-title .elementor-heading-title { color:#fff!important; font-size:1rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-permit__cta-button { width:fit-content!important; flex:0 0 auto!important; }
.tc-canada-permit__cta-button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:44px; padding:0 17px!important; border:1.5px solid rgba(255,255,255,.22)!important; border-radius:10px!important; background:transparent!important; color:#fff!important; font-size:.85rem!important; font-weight:750!important; line-height:1.2!important; }
.tc-canada-permit__cta-button .elementor-button-content-wrapper { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px; }
.tc-canada-permit__cta-button .elementor-button-content-wrapper::after { content:"→"; display:inline-block; font-size:1rem; line-height:1; transition:transform .25s ease; }
.tc-canada-permit__cta-button .elementor-button:hover { border-color:var(--tc-permit-red)!important; background:var(--tc-permit-red)!important; color:#fff!important; }
.tc-canada-permit__cta-button .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-permit__cta-button .elementor-button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media (max-width:991px) { .tc-canada-permit { padding:75px 24px; } .tc-canada-permit__timeline { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:38px!important; } .tc-canada-permit__timeline::before { display:none; } .tc-canada-permit__step { padding:20px; border:1px solid rgba(255,255,255,.08); border-radius:16px!important; background:rgba(255,255,255,.035); } .tc-canada-permit__number { box-shadow:none; } }
@media (max-width:767px) { .tc-canada-permit { padding:60px 18px; } .tc-canada-permit__heading .elementor-heading-title { font-size:clamp(2.15rem,10vw,2.5rem)!important; } .tc-canada-permit__timeline { display:flex!important; flex-direction:column!important; gap:0!important; margin-top:38px; } .tc-canada-permit__step { display:grid!important; grid-template-columns:48px minmax(0,1fr); column-gap:18px!important; width:100%!important; padding:0 0 30px!important; border:0; border-radius:0!important; background:transparent; } .tc-canada-permit__step::after { content:""; position:absolute; top:48px; bottom:0; left:23px; width:1px; background:linear-gradient(rgba(227,30,36,.55),rgba(255,255,255,.12)); } .tc-canada-permit__step:last-child::after { display:none; } .tc-canada-permit__number { grid-column:1; grid-row:1 / span 2; } .tc-canada-permit__title { grid-column:2; grid-row:1; margin-top:0; align-self:center; } .tc-canada-permit__text { grid-column:2; grid-row:2; margin-top:7px; } .tc-canada-permit__cta { flex-direction:column!important; align-items:stretch!important; margin-top:10px; } .tc-canada-permit__cta-button,.tc-canada-permit__cta-button .elementor-button { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-permit__number,.tc-canada-permit__cta-button .elementor-button-content-wrapper::after { transition:none; } }

/* ========================================================================== 
   POST-STUDY WORK OPPORTUNITIES — CANADA
   ========================================================================== */
.tc-canada-poststudy { --tc-post-red:#e31e24; --tc-post-heading:#172033; --tc-post-text:#5d6675; position:relative; overflow:hidden; padding:90px 24px; background:radial-gradient(circle at 88% 15%,rgba(227,30,36,.035),transparent 26%),linear-gradient(180deg,#fff 0%,#fafbfc 100%); }
.tc-canada-poststudy > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-poststudy__header { width:100%!important; max-width:920px; }
.tc-canada-poststudy__eyebrow { width:fit-content!important; }
.tc-canada-poststudy__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.16); border-radius:999px; background:rgba(227,30,36,.06); color:var(--tc-post-red)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; }
.tc-canada-poststudy__heading .elementor-heading-title { max-width:880px; color:var(--tc-post-heading)!important; font-size:clamp(2.35rem,3.2vw,3.25rem)!important; font-weight:800!important; line-height:1.1!important; letter-spacing:-.035em!important; }
.tc-canada-poststudy__description,.tc-canada-poststudy__description p { max-width:800px; margin:0; color:var(--tc-post-text)!important; font-size:1rem; line-height:1.7; }
.tc-canada-poststudy__layout { display:grid!important; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:clamp(38px,5vw,68px)!important; width:100%!important; margin-top:46px; align-items:start!important; }
.tc-canada-poststudy__feature { --width:auto!important; position:relative; overflow:hidden; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; padding:32px!important; border-radius:24px!important; background:radial-gradient(circle at 100% 0%,rgba(227,30,36,.18),transparent 34%),#101827; box-shadow:0 22px 50px rgba(18,30,50,.14); }
.tc-canada-poststudy__feature::after { content:""; position:absolute; right:-48px; bottom:-48px; width:150px; height:150px; border:1px solid rgba(255,255,255,.055); border-radius:50%; pointer-events:none; }
.tc-canada-poststudy__feature-icon { display:grid!important; place-items:center!important; width:52px!important; height:52px!important; min-width:52px!important; padding:0!important; border:1px solid rgba(227,30,36,.18); border-radius:15px; background:rgba(227,30,36,.12); color:#ff5a5f!important; line-height:0; }
.tc-canada-poststudy__feature-icon .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; padding:0!important; }
.tc-canada-poststudy__feature-icon svg { display:block; width:25px; height:25px; color:#ff5a5f!important; }
.tc-canada-poststudy__feature-label { margin-top:24px; }
.tc-canada-poststudy__feature-label .elementor-heading-title { color:#ff5a5f!important; font-size:.7rem!important; font-weight:800!important; letter-spacing:.12em!important; line-height:1!important; }
.tc-canada-poststudy__feature-title { margin-top:10px; }
.tc-canada-poststudy__feature-title .elementor-heading-title { color:#fff!important; font-size:clamp(1.65rem,2vw,1.85rem)!important; font-weight:800!important; line-height:1.2!important; }
.tc-canada-poststudy__feature-text { position:relative; z-index:1; margin-top:11px; }
.tc-canada-poststudy__feature-text,.tc-canada-poststudy__feature-text p { margin-bottom:0; color:rgba(255,255,255,.70)!important; font-size:.92rem; line-height:1.65; }
.tc-canada-poststudy__list { --width:auto!important; width:auto!important; min-width:0; }
.tc-canada-poststudy__item { display:grid!important; grid-template-columns:48px minmax(0,1fr); gap:16px!important; width:100%!important; padding:20px 0; border-bottom:1px solid rgba(18,30,50,.08); }
.tc-canada-poststudy__item:first-child { padding-top:0; }
.tc-canada-poststudy__item:nth-child(3) { border-bottom:0; }
.tc-canada-poststudy__icon { display:grid!important; place-items:center!important; width:40px!important; height:40px!important; min-width:40px!important; padding:0!important; border-radius:11px; background:rgba(227,30,36,.07); color:var(--tc-post-red)!important; line-height:0; transition:background-color .25s ease,color .25s ease,transform .25s ease; }
.tc-canada-poststudy__icon .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; padding:0!important; }
.tc-canada-poststudy__icon svg { display:block; width:20px; height:20px; color:var(--tc-post-red)!important; }
.tc-canada-poststudy__item:hover .tc-canada-poststudy__icon { transform:translateY(-1px); background:var(--tc-post-red); color:#fff!important; }
.tc-canada-poststudy__item:hover .tc-canada-poststudy__icon svg { color:#fff!important; }
.tc-canada-poststudy__item-content { min-width:0; }
.tc-canada-poststudy__item-title .elementor-heading-title { color:var(--tc-post-heading)!important; font-size:1.1rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-poststudy__item-text { margin-top:6px; }
.tc-canada-poststudy__item-text,.tc-canada-poststudy__item-text p { margin-bottom:0; color:var(--tc-post-text)!important; font-size:.94rem; line-height:1.65; }
.tc-canada-poststudy__cta { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:18px!important; width:100%!important; margin-top:24px; padding:18px 20px!important; border:1px solid rgba(227,30,36,.12); border-radius:16px!important; background:linear-gradient(135deg,rgba(227,30,36,.04),rgba(227,30,36,.01)); }
.tc-canada-poststudy__cta-title .elementor-heading-title { color:var(--tc-post-heading)!important; font-size:.98rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-poststudy__cta-button { width:fit-content!important; flex:0 0 auto!important; }
.tc-canada-poststudy__cta-button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:44px; padding:0 17px!important; border:1.5px solid rgba(227,30,36,.30)!important; border-radius:10px!important; background:#fff!important; color:var(--tc-post-red)!important; font-size:.85rem!important; font-weight:750!important; line-height:1.2!important; }
.tc-canada-poststudy__cta-button .elementor-button-content-wrapper { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px; }
.tc-canada-poststudy__cta-button .elementor-button-content-wrapper::after { content:"→"; display:inline-block; font-size:1rem; line-height:1; transition:transform .25s ease; }
.tc-canada-poststudy__cta-button .elementor-button:hover { border-color:var(--tc-post-red)!important; background:var(--tc-post-red)!important; color:#fff!important; }
.tc-canada-poststudy__cta-button .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-poststudy__cta-button .elementor-button:focus-visible { outline:2px solid var(--tc-post-red); outline-offset:4px; }
@media (max-width:991px) { .tc-canada-poststudy { padding:75px 24px; } .tc-canada-poststudy__layout { grid-template-columns:1fr; gap:36px!important; } .tc-canada-poststudy__feature,.tc-canada-poststudy__list { width:100%!important; } }
@media (max-width:767px) { .tc-canada-poststudy { padding:60px 18px; } .tc-canada-poststudy__heading .elementor-heading-title { font-size:clamp(2.15rem,10vw,2.5rem)!important; } .tc-canada-poststudy__feature { padding:26px 22px!important; border-radius:21px!important; } .tc-canada-poststudy__item { grid-template-columns:44px minmax(0,1fr); gap:14px!important; } .tc-canada-poststudy__cta { flex-direction:column!important; align-items:stretch!important; } .tc-canada-poststudy__cta-button,.tc-canada-poststudy__cta-button .elementor-button { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-poststudy__icon,.tc-canada-poststudy__cta-button .elementor-button-content-wrapper::after { transition:none; } }

/* ========================================================================== 
   WHY CHOOSE THINK CANADIAN
   ========================================================================== */
.tc-canada-trust { --tc-trust-red:#e31e24; --tc-trust-heading:#172033; --tc-trust-text:#5d6675; position:relative; overflow:hidden; padding:80px 24px; border-top:1px solid rgba(227,30,36,.10); background:radial-gradient(circle at 92% 16%,rgba(227,30,36,.07),transparent 24%),radial-gradient(circle at 8% 86%,rgba(31,67,105,.09),transparent 28%),linear-gradient(180deg,#e9eef4 0%,#e2e9f0 100%); }
.tc-canada-trust::before { content:""; position:absolute; top:0; left:50%; width:min(78%,960px); height:1px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,rgba(227,30,36,.25),transparent); }
.tc-canada-trust > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-trust__layout { display:grid!important; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:clamp(28px,3.8vw,54px)!important; width:100%!important; align-items:start!important; }
.tc-canada-trust__content { --width:auto!important; position:relative; overflow:hidden; display:flex!important; flex-direction:column!important; width:auto!important; min-width:0; height:auto!important; padding:32px 32px!important; border:1px solid rgba(255,255,255,.09); border-radius:24px!important; background:radial-gradient(circle at 100% 0%,rgba(227,30,36,.22),transparent 35%),#101827; box-shadow:0 20px 48px rgba(18,30,50,.15); }
.tc-canada-trust__content::after { content:""; position:absolute; right:-68px; bottom:-68px; width:210px; height:210px; border:1px solid rgba(255,255,255,.055); border-radius:50%; pointer-events:none; }
.tc-canada-trust__eyebrow { width:fit-content!important; }
.tc-canada-trust__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.30); border-radius:999px; background:rgba(227,30,36,.13); color:#ff656a!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; }
.tc-canada-trust__heading { margin-top:16px; }
.tc-canada-trust__heading .elementor-heading-title { max-width:520px; color:#fff!important; font-size:clamp(2.15rem,2.7vw,2.9rem)!important; font-weight:800!important; line-height:1.08!important; letter-spacing:-.03em!important; }
.tc-canada-trust__description { margin-top:15px; }
.tc-canada-trust__description,.tc-canada-trust__description p { max-width:520px; margin-bottom:0; color:rgba(255,255,255,.70)!important; font-size:.95rem; line-height:1.65; }
.tc-canada-trust__button { width:fit-content!important; margin-top:22px; }
.tc-canada-trust__button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:46px; padding:0 21px!important; border-radius:10px!important; background:var(--tc-trust-red)!important; color:#fff!important; font-weight:700!important; line-height:1.2!important; }
.tc-canada-trust__button .elementor-button-content-wrapper,.tc-canada-trust__button .elementor-button-text { display:flex!important; align-items:center!important; justify-content:center!important; }
.tc-canada-trust__button .elementor-button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(227,30,36,.22); }
.tc-canada-trust__button .elementor-button:focus-visible { outline:2px solid var(--tc-trust-red); outline-offset:4px; }
.tc-canada-trust__highlights { position:relative; z-index:1; display:flex!important; flex-direction:row!important; flex-wrap:wrap!important; gap:7px!important; width:100%!important; margin-top:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,.09); }
.tc-canada-trust__highlight { width:fit-content!important; padding:7px 10px; border:1px solid rgba(255,255,255,.08); border-radius:999px; background:rgba(255,255,255,.055); }
.tc-canada-trust__highlight .elementor-heading-title { color:rgba(255,255,255,.78)!important; font-size:.76rem!important; font-weight:700!important; line-height:1.2!important; }
.tc-canada-trust__list { --width:auto!important; position:relative; overflow:hidden; counter-reset:tc-trust-step; align-self:start!important; width:auto!important; min-width:0; height:auto!important; padding:9px 26px!important; border:1px solid rgba(18,30,50,.075); border-radius:24px!important; background:rgba(255,255,255,.96); box-shadow:0 20px 48px rgba(18,30,50,.085); }
.tc-canada-trust__list::before { content:""; position:absolute; top:0; left:30px; width:58px; height:4px; border-radius:0 0 999px 999px; background:var(--tc-trust-red); }
.tc-canada-trust__item { counter-increment:tc-trust-step; position:relative; display:grid!important; grid-template-columns:48px minmax(0,1fr); gap:15px!important; width:100%!important; padding:18px 0; border-bottom:1px solid rgba(18,30,50,.08); transition:padding-left .25s ease; }
.tc-canada-trust__item::after { content:"0" counter(tc-trust-step); position:absolute; top:18px; right:2px; color:rgba(227,30,36,.075); font-size:1.9rem; font-weight:800; line-height:1; letter-spacing:-.04em; pointer-events:none; }
.tc-canada-trust__item:last-child { border-bottom:0; }
.tc-canada-trust__icon { display:grid!important; place-items:center!important; width:44px!important; height:44px!important; min-width:44px!important; padding:0!important; border:1px solid rgba(227,30,36,.08); border-radius:12px; background:linear-gradient(145deg,rgba(227,30,36,.11),rgba(227,30,36,.05)); color:var(--tc-trust-red)!important; box-shadow:0 8px 18px rgba(227,30,36,.06); line-height:0; transition:transform .25s ease,background-color .25s ease; }
.tc-canada-trust__icon .elementor-widget-container { display:grid!important; width:100%!important; height:100%!important; place-items:center!important; padding:0!important; }
.tc-canada-trust__icon svg { display:block; width:20px; height:20px; color:var(--tc-trust-red)!important; }
.tc-canada-trust__item:hover { padding-left:6px; }
.tc-canada-trust__item:hover .tc-canada-trust__icon { transform:translateY(-2px); background:rgba(227,30,36,.15); }
.tc-canada-trust__item-content { min-width:0; }
.tc-canada-trust__item-title .elementor-heading-title { color:var(--tc-trust-heading)!important; font-size:1.08rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-trust__item-text { margin-top:6px; }
.tc-canada-trust__item-text,.tc-canada-trust__item-text p { margin-bottom:0; color:var(--tc-trust-text)!important; font-size:.91rem; line-height:1.58; }
@media (max-width:991px) { .tc-canada-trust { padding:75px 24px; } .tc-canada-trust__layout { grid-template-columns:1fr; gap:30px!important; } .tc-canada-trust__content { width:100%!important; } .tc-canada-trust__list { width:100%!important; } .tc-canada-trust__highlights { grid-template-columns:repeat(3,minmax(0,1fr)); } .tc-canada-trust__highlight { width:100%!important; text-align:center; } }
@media (max-width:767px) { .tc-canada-trust { padding:60px 18px; } .tc-canada-trust__content { padding:30px 24px!important; border-radius:22px!important; } .tc-canada-trust__heading .elementor-heading-title { font-size:clamp(2.2rem,10vw,2.55rem)!important; } .tc-canada-trust__button,.tc-canada-trust__button .elementor-button { width:100%!important; } .tc-canada-trust__highlights { grid-template-columns:1fr; } .tc-canada-trust__highlight { width:fit-content!important; text-align:left; } .tc-canada-trust__list { padding:8px 20px!important; border-radius:21px!important; } .tc-canada-trust__list::before { left:20px; } .tc-canada-trust__item { grid-template-columns:44px minmax(0,1fr); gap:14px!important; padding:21px 0; } .tc-canada-trust__item::after { top:20px; font-size:1.8rem; } .tc-canada-trust__item:hover { padding-left:0; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-trust__button .elementor-button,.tc-canada-trust__icon { transition:none; } }

/* ========================================================================== 
   CANADA FAQ
   ========================================================================== */
.tc-canada-faq { --tc-faq-red:#e31e24; --tc-faq-heading:#172033; --tc-faq-text:#5d6675; position:relative; overflow:hidden; padding:90px 24px; background:#f7f8fa; }
.tc-canada-faq > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-faq__layout { display:grid!important; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr); gap:clamp(40px,5vw,72px)!important; width:100%!important; align-items:start!important; }
.tc-canada-faq__content { --width:auto!important; position:sticky; top:110px; width:auto!important; min-width:0; }
.tc-canada-faq__eyebrow { width:fit-content!important; }
.tc-canada-faq__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 13px; border:1px solid rgba(227,30,36,.16); border-radius:999px; background:rgba(227,30,36,.06); color:var(--tc-faq-red)!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.11em!important; line-height:1!important; }
.tc-canada-faq__heading { margin-top:18px; }
.tc-canada-faq__heading .elementor-heading-title { max-width:520px; color:var(--tc-faq-heading)!important; font-size:clamp(2.3rem,3vw,3.2rem)!important; font-weight:800!important; line-height:1.09!important; letter-spacing:-.03em!important; }
.tc-canada-faq__description { margin-top:17px; }
.tc-canada-faq__description,.tc-canada-faq__description p { max-width:500px; margin-bottom:0; color:var(--tc-faq-text)!important; font-size:1rem; line-height:1.7; }
.tc-canada-faq__help-title { margin-top:28px; }
.tc-canada-faq__help-title .elementor-heading-title { color:var(--tc-faq-heading)!important; font-size:.95rem!important; font-weight:800!important; line-height:1.3!important; }
.tc-canada-faq__button { width:fit-content!important; margin-top:12px; }
.tc-canada-faq__button .elementor-button { display:inline-flex!important; align-items:center!important; justify-content:center!important; min-height:44px; padding:0 17px!important; border:1.5px solid rgba(227,30,36,.30)!important; border-radius:10px!important; background:transparent!important; color:var(--tc-faq-red)!important; font-size:.85rem!important; font-weight:750!important; line-height:1.2!important; }
.tc-canada-faq__button .elementor-button-content-wrapper { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px; }
.tc-canada-faq__button .elementor-button-content-wrapper::after { content:"→"; font-size:1rem; line-height:1; transition:transform .25s ease; }
.tc-canada-faq__button .elementor-button:hover { border-color:var(--tc-faq-red)!important; background:var(--tc-faq-red)!important; color:#fff!important; }
.tc-canada-faq__button .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-faq__button .elementor-button:focus-visible { outline:2px solid var(--tc-faq-red); outline-offset:4px; }
.tc-canada-faq__accordion-wrap { --width:auto!important; width:auto!important; min-width:0; padding:8px 28px!important; border:1px solid rgba(18,30,50,.07); border-radius:22px!important; background:#fff; box-shadow:0 18px 44px rgba(18,30,50,.055); }
.tc-canada-faq__accordion { width:100%!important; }
.tc-canada-faq__accordion .elementor-accordion { border:0!important; }
.tc-canada-faq__accordion .elementor-accordion-item { border:0!important; border-bottom:1px solid rgba(18,30,50,.09)!important; background:#fff!important; }
.tc-canada-faq__accordion .elementor-accordion-item:last-child { border-bottom:0!important; }
.tc-canada-faq__accordion .elementor-tab-title { position:relative; display:flex!important; align-items:center!important; min-height:68px; padding:17px 52px 17px 0!important; border:0!important; background:#fff!important; color:var(--tc-faq-heading)!important; font-size:1rem!important; font-weight:800!important; line-height:1.4!important; cursor:pointer; }
.tc-canada-faq__accordion .elementor-tab-title .elementor-accordion-title,
.tc-canada-faq__accordion .elementor-tab-title a { color:var(--tc-faq-heading)!important; font-family:inherit!important; font-size:1rem!important; font-weight:800!important; line-height:1.4!important; text-decoration:none!important; transition:color .25s ease; }
.tc-canada-faq__accordion .elementor-tab-title:hover .elementor-accordion-title,
.tc-canada-faq__accordion .elementor-tab-title:hover a,
.tc-canada-faq__accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
.tc-canada-faq__accordion .elementor-tab-title.elementor-active a { color:var(--tc-faq-red)!important; }
.tc-canada-faq__accordion .elementor-tab-title::after { content:"+"; position:absolute; top:50%; right:0; display:grid; width:36px; height:36px; place-items:center; transform:translateY(-50%); border-radius:50%; background:rgba(227,30,36,.06); color:var(--tc-faq-red); font-size:1.25rem; font-weight:500; line-height:1; transition:background-color .25s ease,color .25s ease; }
.tc-canada-faq__accordion .elementor-tab-title.elementor-active::after { content:"−"; background:var(--tc-faq-red); color:#fff; }
.tc-canada-faq__accordion .elementor-accordion-icon,
.tc-canada-faq__accordion .elementor-accordion-icon-closed,
.tc-canada-faq__accordion .elementor-accordion-icon-opened { display:none!important; }
.tc-canada-faq__accordion .elementor-tab-title:focus-visible { outline:2px solid var(--tc-faq-red); outline-offset:-2px; border-radius:8px; }
.tc-canada-faq__accordion .elementor-tab-content { padding:0 52px 20px 0!important; border:0!important; background:#fff!important; color:var(--tc-faq-text)!important; font-size:.92rem; line-height:1.7; }
.tc-canada-faq__accordion .elementor-tab-content p { margin:0; color:var(--tc-faq-text)!important; }
@media (max-width:991px) { .tc-canada-faq { padding:75px 24px; } .tc-canada-faq__layout { grid-template-columns:1fr; gap:36px!important; } .tc-canada-faq__content { position:static; width:100%!important; } .tc-canada-faq__accordion-wrap { width:100%!important; } }
@media (max-width:767px) { .tc-canada-faq { padding:60px 18px; } .tc-canada-faq__heading .elementor-heading-title { font-size:clamp(2.15rem,10vw,2.5rem)!important; } .tc-canada-faq__button,.tc-canada-faq__button .elementor-button { width:100%!important; } .tc-canada-faq__accordion-wrap { padding:4px 18px!important; border-radius:19px!important; } .tc-canada-faq__accordion .elementor-tab-title { min-height:62px; padding:15px 46px 15px 0!important; font-size:.95rem!important; } .tc-canada-faq__accordion .elementor-tab-title::after { width:32px; height:32px; } .tc-canada-faq__accordion .elementor-tab-content { padding:0 0 18px!important; font-size:.9rem; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-faq__button .elementor-button-content-wrapper::after,.tc-canada-faq__accordion .elementor-tab-title::after { transition:none; } }

/* ========================================================================== 
   CANADA FINAL CTA
   ========================================================================== */
.tc-canada-final-cta { position:relative; overflow:hidden; padding:0 24px 90px; background:#fff; }
.tc-canada-final-cta > .tc-container { width:min(100%,var(--tc-canada-container,1320px))!important; max-width:var(--tc-canada-container,1320px)!important; margin-inline:auto; }
.tc-canada-final-cta__panel { position:relative; overflow:hidden; display:grid!important; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:46px!important; width:100%!important; padding:50px 54px!important; border:1px solid rgba(255,255,255,.08); border-radius:28px!important; background:radial-gradient(circle at 84% 24%,rgba(227,30,36,.36),transparent 30%),radial-gradient(circle at 14% 110%,rgba(60,95,145,.22),transparent 38%),linear-gradient(135deg,#0d1726 0%,#162137 58%,#231628 100%); box-shadow:0 30px 70px rgba(18,30,50,.22); }
.tc-canada-final-cta__panel::before { content:""; position:absolute; inset:0; opacity:.26; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.20) 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(90deg,transparent 34%,#000); }
.tc-canada-final-cta__panel::after { content:""; position:absolute; right:-85px; bottom:-115px; width:300px; height:300px; border:1px solid rgba(255,255,255,.08); border-radius:50%; pointer-events:none; }
.tc-canada-final-cta__content,.tc-canada-final-cta__actions { position:relative; z-index:1; --width:auto!important; width:auto!important; min-width:0; }
.tc-canada-final-cta__eyebrow { width:fit-content!important; }
.tc-canada-final-cta__eyebrow .elementor-heading-title { display:inline-flex; padding:8px 12px; border:1px solid rgba(227,30,36,.35); border-radius:999px; background:rgba(227,30,36,.13); color:#ff6b70!important; font-size:.72rem!important; font-weight:800!important; letter-spacing:.12em!important; line-height:1!important; }
.tc-canada-final-cta__heading { position:relative; margin-top:18px; padding-left:18px; }
.tc-canada-final-cta__heading::before { content:""; position:absolute; top:.12em; bottom:.1em; left:0; width:4px; border-radius:999px; background:linear-gradient(180deg,#ff5a5f,var(--tc-faq-red,#e31e24)); box-shadow:0 0 18px rgba(227,30,36,.35); }
.tc-canada-final-cta__heading .elementor-heading-title { max-width:720px; color:#fff!important; font-size:clamp(2.2rem,3.2vw,3.3rem)!important; font-weight:800!important; line-height:1.08!important; letter-spacing:-.03em!important; }
.tc-canada-final-cta__description { margin-top:16px; }
.tc-canada-final-cta__description,.tc-canada-final-cta__description p { max-width:650px; margin-bottom:0; color:rgba(255,255,255,.72)!important; font-size:1rem; line-height:1.7; }
.tc-canada-final-cta__actions { display:flex!important; flex-direction:column!important; align-self:center; gap:11px!important; padding:18px!important; border:1px solid rgba(255,255,255,.12); border-radius:18px!important; background:rgba(255,255,255,.055); box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 40px rgba(0,0,0,.12); backdrop-filter:blur(12px); }
.tc-canada-final-cta__primary,.tc-canada-final-cta__whatsapp { width:100%!important; }
.tc-canada-final-cta__primary { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.tc-canada-final-cta__primary > .elementor-widget-container { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.tc-canada-final-cta__primary .elementor-button { display:flex!important; align-items:center!important; justify-content:center!important; width:100%!important; min-height:50px; padding:0 22px!important; border-radius:10px!important; background:#e31e24!important; color:#fff!important; font-weight:700!important; line-height:1.2!important; }
.tc-canada-final-cta__primary .elementor-button-content-wrapper,.tc-canada-final-cta__primary .elementor-button-text { display:flex!important; align-items:center!important; justify-content:center!important; }
.tc-canada-final-cta__primary .elementor-button-content-wrapper { gap:9px; }
.tc-canada-final-cta__primary .elementor-button-content-wrapper::after { content:"→"; display:inline-block; font-size:1.05rem; line-height:1; transition:transform .25s ease; }
.tc-canada-final-cta__primary .elementor-button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(227,30,36,.30); }
.tc-canada-final-cta__primary .elementor-button:hover .elementor-button-content-wrapper::after { transform:translateX(3px); }
.tc-canada-final-cta__whatsapp .elementor-widget-container { width:100%; }
.tc-canada-final-cta__whatsapp a { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:50px; padding:0 20px; border:1px solid rgba(255,255,255,.20); border-radius:10px; background:rgba(255,255,255,.06); color:#fff!important; font-size:.9rem; font-weight:700; line-height:1.2; text-decoration:none!important; transition:background-color .25s ease,color .25s ease,transform .25s ease; }
.tc-canada-final-cta__whatsapp svg { width:20px; height:20px; flex:0 0 20px; }
.tc-canada-final-cta__whatsapp a:hover { transform:translateY(-2px); background:#fff; color:#101827!important; }
.tc-canada-final-cta__primary .elementor-button:focus-visible,.tc-canada-final-cta__whatsapp a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media (max-width:991px) { .tc-canada-final-cta { padding-bottom:75px; } .tc-canada-final-cta__panel { grid-template-columns:1fr; gap:28px!important; padding:44px!important; } .tc-canada-final-cta__actions { width:min(100%,420px)!important; } }
@media (max-width:767px) { .tc-canada-final-cta { padding:0 18px 60px; } .tc-canada-final-cta__panel { gap:24px!important; padding:32px 24px!important; border-radius:22px!important; } .tc-canada-final-cta__heading .elementor-heading-title { font-size:clamp(2rem,10vw,2.35rem)!important; } .tc-canada-final-cta__actions { width:100%!important; } .tc-canada-final-cta__primary,.tc-canada-final-cta__primary .elementor-button,.tc-canada-final-cta__whatsapp,.tc-canada-final-cta__whatsapp a { width:100%!important; } }
@media (prefers-reduced-motion:reduce) { .tc-canada-final-cta__primary .elementor-button,.tc-canada-final-cta__whatsapp a { transition:none; } }

/* ========================================================================== 
   Elementor compatibility overrides — keep last in this file
   ========================================================================== */
.tc-canada-hero .tc-canada-hero__title .elementor-heading-title {
	color: var(--tc-canada-white) !important;
	font-family: var(--tc-canada-font-heading) !important;
}
.tc-canada-hero .tc-canada-hero__title .tc-canada-hero__accent {
	color: var(--tc-canada-primary) !important;
}
.tc-canada-hero .tc-canada-hero__actions .tc-btn--primary .elementor-button {
	background: var(--tc-canada-primary) !important;
	color: var(--tc-canada-white) !important;
}
.tc-canada-hero .tc-canada-hero__actions .tc-btn--outline .elementor-button {
	border-color: var(--tc-canada-primary) !important;
	background: transparent !important;
	color: var(--tc-canada-primary) !important;
}
.tc-canada-hero .tc-canada-hero__visual-panel {
	--width: min(100%, 510px) !important;
}
.tc-canada-hero .tc-canada-hero__visual-panel img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}
/* ========================================================================== 
   EUROPE STUDY DESTINATIONS
   ========================================================================== */

.tc-europe-destinations {
	position: relative;
	isolation: isolate;
	background:
		radial-gradient(circle at 90% 10%, rgba(227, 30, 36, .035), transparent 28%),
		linear-gradient(180deg, #f7f8fa 0%, #f2f5f8 100%);
	overflow-x: clip;
}

.tc-europe-destinations .tc-container {
	gap: 0;
}

.tc-europe-destinations .elementor-widget,
.tc-europe-destinations .elementor-widget-container {
	min-width: 0;
}

.tc-europe-destinations__header {
	max-width: 800px;
	margin-inline: auto;
	text-align: center;
}

.tc-europe-destinations__eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 18px;
	padding: 7px 13px;
	border: 1px solid rgba(227, 30, 36, .18);
	border-radius: 999px;
	background: rgba(227, 30, 36, .055);
	color: #e31e24 !important;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .09em;
}

.tc-europe-destinations__heading .elementor-heading-title {
	margin: 0;
	color: #172033 !important;
	font-size: clamp(2rem, 3.3vw, 3rem);
	font-weight: 850;
	line-height: 1.12;
	letter-spacing: -.035em;
}

.tc-europe-destinations__intro {
	max-width: 760px;
	margin-top: 18px;
}

.tc-europe-destinations__intro p {
	margin: 0;
	color: #667085 !important;
	font-size: 1rem;
	line-height: 1.75;
}

.tc-europe-destinations__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin-top: 46px;
}

.tc-europe-destinations__card {
	min-width: 0;
	height: 100%;
	background: #fff;
	border: 1px solid rgba(18, 30, 50, .08);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(18, 30, 50, .045);
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.tc-europe-destinations__card:hover {
	transform: translateY(-5px);
	border-color: rgba(227, 30, 36, .18);
	box-shadow: 0 18px 40px rgba(18, 30, 50, .09);
}

.tc-europe-destinations__media {
	position: relative;
	flex: 0 0 auto;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.tc-europe-destinations__image,
.tc-europe-destinations__image .elementor-widget-container,
.tc-europe-destinations__image img {
	width: 100%;
	height: 100%;
}

.tc-europe-destinations__image img {
	display: block;
	object-fit: cover;
	object-position: center;
	transition: transform .4s ease;
}

.tc-europe-destinations__card:hover .tc-europe-destinations__image img {
	transform: scale(1.04);
}

.tc-europe-destinations__flag {
	position: absolute;
	right: 16px;
	bottom: -22px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 6px;
	border: 3px solid #fff;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(18, 30, 50, .14);
}

.tc-europe-destinations__flag .elementor-widget-container {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.tc-europe-destinations__flag svg {
	width: 100%;
	height: auto;
	border-radius: 2px;
}

.tc-europe-destinations__content {
	flex: 1 1 auto;
	padding: 28px 20px 22px;
}

.tc-europe-destinations__title .elementor-heading-title {
	margin: 0;
	color: #172033 !important;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.3;
}

.tc-europe-destinations__description {
	flex: 1 1 auto;
	margin-top: 10px;
}

.tc-europe-destinations__description p {
	margin: 0;
	color: #667085 !important;
	font-size: .9rem;
	line-height: 1.65;
}

.tc-europe-destinations__link {
	align-self: flex-start;
	margin-top: 18px;
}

.tc-europe-destinations__link .elementor-button {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #e31e24 !important;
	font-size: .86rem;
	font-weight: 750;
}

.tc-europe-destinations__link .elementor-button-text {
	display: inline-block;
	transition: transform .25s ease;
}

.tc-europe-destinations__link .elementor-button:hover .elementor-button-text {
	transform: translateX(3px);
}

.tc-europe-destinations__more {
	margin-top: 38px;
}

.tc-europe-destinations__more-label .elementor-heading-title {
	color: #475467 !important;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.tc-europe-destinations__pills {
	gap: 10px;
	margin-top: 14px;
}

.tc-europe-destinations__pill .elementor-button {
	padding: 9px 14px !important;
	border: 1px solid rgba(18, 30, 50, .09) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, .9) !important;
	box-shadow: none !important;
	color: #475467 !important;
	font-size: .83rem;
	font-weight: 700;
	transition: border-color .25s ease, color .25s ease, transform .25s ease;
}

.tc-europe-destinations__pill .elementor-button:hover {
	transform: translateY(-2px);
	border-color: #e31e24 !important;
	color: #e31e24 !important;
}

.tc-europe-destinations__cta {
	gap: 28px;
	margin-top: 40px;
	padding: 24px 28px;
	border: 1px solid rgba(227, 30, 36, .12);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(18, 30, 50, .035);
}

.tc-europe-destinations__cta-copy {
	max-width: 760px;
}

.tc-europe-destinations__cta-heading .elementor-heading-title {
	margin: 0;
	color: #172033 !important;
	font-size: 1.16rem;
	font-weight: 800;
	line-height: 1.35;
}

.tc-europe-destinations__cta-text {
	margin-top: 5px;
}

.tc-europe-destinations__cta-text p {
	margin: 0;
	color: #667085 !important;
	font-size: .9rem;
	line-height: 1.6;
}

.tc-europe-destinations__cta-button {
	flex: 0 0 auto;
}

.tc-europe-destinations__cta-button .elementor-button {
	min-height: 46px;
	padding: 13px 20px !important;
	border: 1px solid #e31e24 !important;
	border-radius: 12px !important;
	background: #e31e24 !important;
	color: #fff !important;
	font-size: .88rem;
	font-weight: 800;
	box-shadow: 0 9px 20px rgba(227, 30, 36, .18);
}

.tc-europe-destinations__cta-button .elementor-button:hover {
	transform: translateY(-2px);
	background: #c9181e !important;
	border-color: #c9181e !important;
}

@media (max-width: 1100px) {
	.tc-europe-destinations__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	.tc-europe-destinations__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.tc-europe-destinations__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		margin-top: 34px;
	}

	.tc-europe-destinations__media {
		min-height: 180px;
		max-height: 210px;
	}

	.tc-europe-destinations__pills {
		justify-content: flex-start;
	}

	.tc-europe-destinations__cta {
		align-items: stretch;
		padding: 22px 20px;
		text-align: left;
	}

	.tc-europe-destinations__cta-button,
	.tc-europe-destinations__cta-button .elementor-button {
		width: 100%;
	}
}

/* Elementor container normalization for the destination selector. */
.tc-europe-destinations .tc-europe-destinations__grid {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 22px;
	padding: 0 !important;
	gap: 22px !important;
}

.tc-europe-destinations .tc-europe-destinations__card {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	position: relative;
	padding: 0 !important;
	gap: 0 !important;
	border-radius: 22px !important;
	overflow: hidden !important;
}

.tc-europe-destinations .tc-europe-destinations__card::after {
	position: absolute;
	inset: 0 0 auto;
	z-index: 3;
	height: 3px;
	background: linear-gradient(90deg, #e31e24, rgba(227, 30, 36, .18));
	content: "";
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}

.tc-europe-destinations .tc-europe-destinations__card:hover::after {
	opacity: 1;
}

.tc-europe-destinations .tc-europe-destinations__media {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	position: relative;
	flex: 0 0 clamp(180px, 15vw, 205px);
	width: 100%;
	height: clamp(180px, 15vw, 205px);
	min-height: 0;
	padding: 0 !important;
	gap: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
}

.tc-europe-destinations .tc-europe-destinations__image,
.tc-europe-destinations .tc-europe-destinations__image .elementor-widget-container,
.tc-europe-destinations .tc-europe-destinations__image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	min-height: 100%;
	margin: 0;
	border-radius: 0 !important;
}

.tc-europe-destinations .tc-europe-destinations__image,
.tc-europe-destinations .tc-europe-destinations__image .elementor-widget-container {
	overflow: hidden !important;
}

.tc-europe-destinations .tc-europe-destinations__image img {
	object-fit: cover !important;
	object-position: center !important;
}

.tc-europe-destinations .tc-europe-destinations__flag {
	position: absolute !important;
	right: 18px !important;
	bottom: -22px !important;
	left: auto !important;
	z-index: 5;
	flex: 0 0 44px;
	margin: 0 !important;
	gap: 0 !important;
}

.tc-europe-destinations .tc-europe-destinations__flag .elementor-widget-container {
	line-height: 0;
}

.tc-europe-destinations .tc-europe-destinations__content {
	--padding-top: 30px;
	--padding-right: 22px;
	--padding-bottom: 22px;
	--padding-left: 22px;
	--gap: 0;
	flex: 1 1 auto;
	min-height: 242px;
	padding: 30px 22px 22px !important;
	gap: 0 !important;
}

.tc-europe-destinations .tc-europe-destinations__title .elementor-heading-title {
	font-size: 1.3rem;
	letter-spacing: -.015em;
}

.tc-europe-destinations .tc-europe-destinations__description {
	margin-top: 11px;
}

.tc-europe-destinations .tc-europe-destinations__description p {
	font-size: .89rem;
	line-height: 1.62;
}

.tc-europe-destinations .tc-europe-destinations__link {
	margin-top: auto;
	padding-top: 18px;
}

.tc-europe-destinations .tc-europe-destinations__more {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 0;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-top: 34px;
	padding: 17px 20px !important;
	gap: 20px !important;
	border: 1px solid rgba(18, 30, 50, .075);
	border-radius: 16px;
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 8px 24px rgba(18, 30, 50, .035);
	backdrop-filter: blur(8px);
}

.tc-europe-destinations .tc-europe-destinations__more-label {
	flex: 0 0 auto;
}

.tc-europe-destinations .tc-europe-destinations__more-label .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	white-space: nowrap;
	color: #172033 !important;
	font-size: .76rem;
	letter-spacing: .1em;
}

.tc-europe-destinations .tc-europe-destinations__more-label .elementor-heading-title::before {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #e31e24;
	box-shadow: 0 0 0 5px rgba(227, 30, 36, .075);
	content: "";
}

.tc-europe-destinations .tc-europe-destinations__pills {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--gap: 10px;
	justify-content: flex-end !important;
	margin-top: 0;
	padding: 0 !important;
	gap: 10px !important;
}

.tc-europe-destinations .tc-europe-destinations__pill .elementor-button {
	min-height: 38px;
	padding: 10px 15px !important;
	border-color: rgba(18, 30, 50, .1) !important;
	background: #fff !important;
	color: #344054 !important;
	box-shadow: 0 3px 10px rgba(18, 30, 50, .035) !important;
}

.tc-europe-destinations .tc-europe-destinations__pill .elementor-button-text {
	display: inline-block;
	transition: transform .22s ease;
}

.tc-europe-destinations .tc-europe-destinations__pill .elementor-button:hover {
	border-color: rgba(227, 30, 36, .35) !important;
	background: rgba(227, 30, 36, .035) !important;
	color: #e31e24 !important;
	box-shadow: 0 6px 16px rgba(227, 30, 36, .08) !important;
}

.tc-europe-destinations .tc-europe-destinations__pill .elementor-button:hover .elementor-button-text {
	transform: translateX(2px);
}

.tc-europe-destinations .tc-europe-destinations__cta {
	--padding-top: 24px;
	--padding-right: 28px;
	--padding-bottom: 24px;
	--padding-left: 28px;
	--gap: 28px;
	padding: 24px 28px !important;
	gap: 28px !important;
}

@media (max-width: 1100px) {
	.tc-europe-destinations .tc-europe-destinations__grid {
		--gap: 20px;
		gap: 20px !important;
	}
}

@media (max-width: 640px) {
	.tc-europe-destinations .tc-europe-destinations__grid {
		--gap: 18px;
		gap: 18px !important;
	}

	.tc-europe-destinations .tc-europe-destinations__media {
		flex-basis: clamp(180px, 56vw, 210px);
		height: clamp(180px, 56vw, 210px);
	}

	.tc-europe-destinations .tc-europe-destinations__content {
		min-height: 220px;
		padding: 28px 20px 20px !important;
	}

	.tc-europe-destinations .tc-europe-destinations__more {
		flex-direction: column !important;
		align-items: flex-start !important;
		padding: 18px !important;
		gap: 14px !important;
	}

	.tc-europe-destinations .tc-europe-destinations__pills {
		justify-content: flex-start !important;
		width: 100%;
	}

	.tc-europe-destinations .tc-europe-destinations__cta {
		--padding-top: 22px;
		--padding-right: 20px;
		--padding-bottom: 22px;
		--padding-left: 20px;
		--gap: 18px;
		padding: 22px 20px !important;
		gap: 18px !important;
	}
}
