/*
Theme Name: Technologyed Child
Theme URI: https://www.technologyed.org/
Description: Technology Ed child theme built on Twenty Twenty-Five.
Author: OpenAI
Template: twentytwentyfive
Version: 1.0.0
Text Domain: technologyed-child
*/

:root {
	--te-bg: #efe9de;
	--te-surface: #ffffff;
	--te-surface-soft: #f8f2e8;
	--te-border: #d8cfc2;
	--te-text: #3f352d;
	--te-muted: #76685d;
	--te-brand: #8e2c2b;
	--te-brand-dark: #6e1f20;
	--te-nav: #26424e;
	--te-nav-hover: #355b6a;
	--te-shadow: 0 18px 42px rgba(58, 43, 28, 0.14);
	--te-radius: 20px;
	--te-content: min(1120px, calc(100vw - 32px));
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--te-text);
	font-family: Arial, "Times New Roman", serif;
	background: var(--te-bg) url("assets/images/bg.jpg") top center repeat;
}

a {
	color: var(--te-brand);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--te-brand-dark);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

.screen-reader-text {
	position: absolute;
	left: -9999px;
}

.te-shell {
	min-height: 100vh;
}

.te-wrap {
	/* width: var(--te-content); */
	width: 100%;
	margin: 0 auto;
}

.te-topbar {
	background: #fff;
	border-bottom: 1px solid rgba(113, 88, 53, 0.1);
}

.te-header-grid {
	display: grid;
	grid-template-columns: minmax(220px, 320px) 1fr;
	gap: 24px;
	align-items: start;
	padding: 24px 5% 18px;
}

.te-logo img {
	width: min(100%, 280px);
}

.te-header-side {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: flex-end;
}

.te-quick-links,
.te-utility-menu,
.te-main-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.te-quick-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.te-quick-links a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	border-radius: 999px;
	background: linear-gradient(180deg, #f7f2eb 0%, #ede2d5 100%);
	border: 1px solid rgba(142, 44, 43, 0.1);
	font: 700 13px/1.1 Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--te-brand);
}

.te-quick-links img {
	width: 22px;
	height: 22px;
}

.te-utility-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
}

.te-utility-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font: 700 13px/1 Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.te-utility-menu a {
	color: var(--te-muted);
}

.te-search form {
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid var(--te-border);
	border-radius: 999px;
	padding: 4px 4px 4px 14px;
	box-shadow: 0 10px 22px rgba(57, 44, 31, 0.08);
}

.te-search input[type="search"] {
	width: min(100%, 250px);
	border: 0;
	padding: 8px 10px 8px 0;
	background: transparent;
	font-size: 14px;
	color: var(--te-text);
}

.te-search input[type="search"]:focus {
	outline: none;
}

.te-search button {
	border: 0;
	border-radius: 999px;
	padding: 10px 16px;
	background: var(--te-brand);
	color: #fff;
	font: 700 12px/1 Arial, sans-serif;
	text-transform: uppercase;
	cursor: pointer;
}

.te-mainnav {
	background: linear-gradient(180deg, var(--te-nav) 0%, #1d323b 100%);
}

.te-main-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 0 5%;
}

.te-main-menu a {
	display: block;
	padding: 16px 18px;
	color: #fff;
	font: 700 14px/1.2 Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.te-main-menu a:hover,
.te-main-menu .current-menu-item>a {
	background: var(--te-nav-hover);
}

.te-main {
	padding: 0px 0 0;
}

.te-hero,
.te-card {
	border-radius: 0px;
	box-shadow: 0px;
}

.te-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: 0px;
	background: #241913;
}

.te-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1.03);
	transition: opacity 600ms ease, transform 4s ease;
}

.te-slide.is-active {
	opacity: 1;
	transform: scale(1);
}

.te-slide img {
	width: 100%;
	height: clamp(300px, 42vw, 460px);
	object-fit: cover;
}

.te-slide__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(24, 18, 14, 0.82) 0%, rgba(24, 18, 14, 0.36) 54%, rgba(24, 18, 14, 0.1) 100%);
}

.te-slide__content {
	position: absolute;
	left: clamp(24px, 5vw, 52px);
	top: 50%;
	transform: translateY(-50%);
	max-width: min(480px, 70%);
	color: #fff;
}

.te-slide__eyebrow,
.te-eyebrow {
	display: inline-block;
	margin: 0 0 14px;
	color: var(--te-brand);
	font: 700 18px/1 Arial, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.te-slide__eyebrow {
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.te-slide__content h2,
.te-welcome h1,
.te-section-title,
.te-page-title {
	margin: 40px 0 16px;
	line-height: 1.05;
}

.te-slide__content h2 {
	font-size: clamp(32px, 5vw, 52px);
}

.te-slide__content p,
.te-copy p,
.te-page-copy p,
.te-page-copy li,
.te-contact-details p,
.te-footer p,
.te-footer li {
	font-size: 18px;
	line-height: 1.7;
	text-align: justify;
}

.te-card {
	background: rgba(255, 255, 255, 0.92);
	border: 0px solid rgba(126, 108, 90, 0.18);
}

.te-welcome,
.te-contact-panel,
.te-footer-grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 24px;
	padding: 28px 5%;
	margin-bottom: 0px;
}

.te-welcome h1,
.te-section-title,
.te-page-title {
	font-size: clamp(28px, 4vw, 40px);
}

.te-section-title {
	font-size: clamp(24px, 3vw, 30px);
}

.te-feature-list {
	display: grid;
    gap: 14px;
    list-style: none;
    padding: 0 0 20px;
    margin: 0px;
    height: 100%; /* 🔥 REQUIRED */
    align-content: end; /* now it works */
}

.te-feature-list li {
	padding: 14px 16px;
    /* border-radius: 16px; */
    background: #d3d3d3;
    border: 1px solid rgba(126, 108, 90, 0.14);
    font-weight: 700;
    margin-top: auto;
}

.te-partners {
	padding: 28px 5% 28px;
	margin-bottom: 0px;
}
.te-page {
	padding: 0px 5% 28px;
	margin-bottom: 0px;
}

.te-partner-logos {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 18px;
	align-items: center;
	margin-top: 25px;
}

.te-partner-logo {
	display: grid;
	place-items: center;
	min-height: 110px;
	padding: 16px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(126, 108, 90, 0.14);
}

.te-partner-logo img {
	max-height: 72px;
	object-fit: contain;
}

.te-contact-actions {
	display: grid;
	gap: 20px;
	align-content: end;
    margin-bottom: 20px;
	grid-template-columns: 1fr 1fr;
}

.te-action {
	display: block;
	padding: 16px 18px;
	border-radius: 16px;
	background: linear-gradient(180deg, #fff 0%, #f4ebdf 100%);
	border: 1px solid rgba(126, 108, 90, 0.14);
	box-shadow: 0 10px 24px rgba(57, 44, 31, 0.08);
	font: 700 16px/1.4 Arial, sans-serif;
	color: var(--te-brand);
}

.te-action:hover {
	color: var(--te-surface);
	background: linear-gradient(180deg, #470000 0%, #0a0000 100%);
}

.te-page-hero {
	margin: 0px -5.5% 24px;
	overflow: hidden;
	/* border-radius: var(--te-radius) var(--te-radius) 0 0; */
}

.te-page-hero img {
	width: 100%;
	height: clamp(220px, 32vw, 320px);
	object-fit: cover;
}

.te-faq-list,
.te-testimonial-list,
.te-partner-list,
.te-corporate-list {
	display: grid;
	gap: 18px;
}

.te-partner-list {
	grid-template-columns: 1fr 1fr;
}
.te-corporate-list {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
.te-testimonial-list{
	grid-template-columns: 1fr 1fr 1fr;
}

.te-testimonial p {
    position: relative;
}

.te-testimonial p::before {
    content: "“";
    font-size: 70px;
    line-height: 20px;
    vertical-align: top;
    margin-right: 6px;
    margin-top: 10px;
    color: #902b28;
}

.te-testimonial p::after {
    content: "”";
    font-size: 40px;
    line-height: 0;
    vertical-align: bottom;
    margin-left: 6px;
    color: #999;
}
.te-testimonial {
    display: flex;
    flex-direction: column;
	height: 100%;
}

.te-testimonial p {
    order: 2;
}

.te-testimonial h3 {
    order: 1;
}

.te-testimonial h4 {
    order: 3;
	line-height: 16px;
    font-size: 14px;
    text-align: right;
	color: #902b28;
	margin-top: auto;
}
.te-faq-item,
.te-testimonial,
.te-partner-item,
.te-corporate-item {
	padding: 22px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(126, 108, 90, 0.14);
}

.te-faq-item h3,
.te-testimonial h3,
.te-partner-item h3,
.te-corporate-item h3 {
	margin: 0 0 10px;
	font-size: 22px;
}

.te-corporate-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	align-items: start;
}

.te-partner-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0px;
	align-items: start;
}

.uc-partner-logo {
	text-align: left;
}

.te-corporate-item img {
	width: 100%;
	max-width: 180px;
	max-height: 110px;
	object-fit: contain;
	margin-inline: auto;
}

.te-partner-item img {
	width: 100%;
    max-height: 200px;
    object-fit: cover;
    margin-bottom: 20px;
    border-radius: 10px;

}

.uc-partner-logo img{
	width: auto;
    max-height: 150px;
    object-fit: unset;
    margin-bottom: 20px;
    border-radius: 10px;
    text-align: left;
}

.te-footer {
	background: linear-gradient(180deg, #2f241d 0%, #211812 100%);
	color: #f7eee4;
	padding-top: 34px;
}

.te-footer-grid {
	grid-template-columns: 1.1fr 0.7fr 0.8fr;
	padding-bottom: 28px;
}

.te-footer h2 {
	margin: 0 0 18px;
	font-size: 24px;
}

.te-social-list {
	display: grid;
	gap: 14px;
}

.te-social-item {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 16px;
}

.te-social-item img {
	width: 32px;
	height: 32px;
}

.te-newsletter {
	padding: 18px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.te-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 18px 5% 26px;
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
}

.te-footer-bottom p {
	margin: 0;
	font-size: 14px;
}

@media (max-width: 1024px) {

	.te-header-grid,
	.te-welcome,
	.te-contact-panel,
	.te-footer-grid,
	.te-partner-item,
	.te-corporate-item {
		grid-template-columns: 1fr;
	}

	.te-header-side,
	.te-utility-row {
		align-items: flex-start;
		justify-content: flex-start;
	}

	.te-partner-logos {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.te-wrap {
		width: min(100vw - 20px, 1120px);
	}

	.te-main-menu,
	.te-quick-links,
	.te-utility-menu {
		flex-direction: column;
		align-items: stretch;
	}

	.te-main-menu a {
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.te-slide__content {
		max-width: calc(100% - 48px);
	}

	.te-slide__content p,
	.te-copy p,
	.te-page-copy p,
	.te-page-copy li,
	.te-contact-details p,
	.te-footer p,
	.te-footer li {
		font-size: 16px;
	}

	.te-page,
	.te-partners,
	.te-contact-panel,
	.te-welcome {
		padding: 22px;
	}

	.te-page-hero {
		margin-left: -22px;
		margin-right: -22px;
	}

	.te-partner-logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* this is done for larger screen */
@media (min-width: 1441px) {
	.te-partner-list {
		grid-template-columns: 1fr 1fr 1fr;
	}
}