/* TCI theme: component styles that theme.json cannot express. */

/* Block styles */
.is-style-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	padding: 28px;
}
.is-style-card-raised {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	box-shadow: var(--wp--custom--shadow--card);
	padding: 24px;
}
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--accent);
	font-style: italic;
	font-size: clamp(20px, 2vw, 26px);
	color: var(--wp--preset--color--blue);
	margin-bottom: 0;
}
.is-style-tag {
	display: inline-block;
	align-self: flex-start;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--blue);
	background: var(--wp--preset--color--blue-soft);
	border-radius: var(--wp--custom--radius--pill);
	padding: 4px 12px;
}
.is-style-tag.tci-tag-amber { color: var(--wp--preset--color--amber); background: var(--wp--preset--color--amber-soft); }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	border: 1px solid #DFE7EF;
}

/* Header */
.tci-header { background: #FAFBFD; border-bottom: 1px solid var(--wp--preset--color--line); }
.tci-header .wp-block-site-logo img { height: 40px; width: auto; }
.tci-header .wp-block-button__link { font-size: 15px; padding: 10px 20px; }

/* Hero */
.tci-hero { background: var(--wp--preset--color--tint); }
.tci-hero h1 .tci-accent { color: var(--wp--preset--color--blue); }
.tci-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.tci-chip, .tci-pill {
	display: inline-flex; align-items: center; gap: 10px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--pill);
	padding: 8px 16px 8px 8px;
	font-weight: 600;
}
.tci-pill { font-weight: 400; font-size: 15px; color: var(--wp--preset--color--body); }
.tci-pill strong { color: var(--wp--preset--color--navy); }
.tci-avatar { width: 32px; height: 32px; border-radius: 50%; background: #DCE6F0; flex: none; }

.tci-mock { position: relative; padding: 24px 32px; }
.tci-mock-panel {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 24px;
	box-shadow: 0 30px 60px rgba(15, 42, 68, 0.12);
	padding: 24px;
}
.tci-mock-panel p { margin: 0; }
.tci-mock-label { font-size: 13px; color: var(--wp--preset--color--muted); }
.tci-mock-course { border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 20px; margin-top: 16px; }
.tci-mock-course-title { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 20px; line-height: 1.3; margin: 6px 0 16px !important; }
.tci-progress { height: 8px; background: #EEF3F8; border-radius: 999px; overflow: hidden; }
.tci-progress span { display: block; height: 100%; background: var(--wp--preset--color--blue); border-radius: 999px; }
.tci-mock-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.tci-mock-row > div { flex: 1 1 140px; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 16px; }
.tci-badge {
	position: absolute; display: inline-flex; align-items: center; gap: 8px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px; padding: 10px 14px;
	box-shadow: 0 10px 24px rgba(15, 42, 68, 0.1);
	font-weight: 600; font-size: 14px;
}
.tci-badge-top { left: 0; top: 0; }
.tci-badge-bottom { right: 0; bottom: 0; }

/* Stats overlapping the hero */
.tci-stats { margin-top: -64px !important; position: relative; z-index: 1; }
.tci-stat-number { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 40px; line-height: 1.1; margin: 0; }

/* Numbered steps */
.tci-step-number {
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--wp--preset--color--blue); color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}

/* Rows with an icon, title and description */
.tci-link-row {
	display: flex; gap: 16px; align-items: center;
	border: 1px solid var(--wp--preset--color--line); border-radius: 18px;
	padding: 20px 24px; color: var(--wp--preset--color--navy); text-decoration: none;
}
.tci-link-row:hover { border-color: var(--wp--preset--color--blue); color: var(--wp--preset--color--navy); }
.tci-link-row span { flex: 1; }
.tci-link-row strong { display: block; font-size: 18px; }
.tci-link-row small { font-size: 16px; color: var(--wp--preset--color--muted); }

/* Founder */
.tci-photo-placeholder {
	min-height: 340px; border-radius: 24px; background: #1E3A57;
	display: flex; align-items: center; justify-content: center; color: #B8C7D6;
}

/* Testimonials */
.tci-testimonial blockquote { margin: 0; }
.tci-testimonial .wp-block-quote cite { display: block; margin-top: 16px; font-style: normal; font-weight: 600; color: var(--wp--preset--color--navy); }
.tci-testimonial .wp-block-quote cite span { display: block; font-weight: 400; font-size: 14px; color: var(--wp--preset--color--muted); }

/* FAQ */
.wp-block-details {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px; padding: 20px 24px;
}
.wp-block-details summary { font-weight: 600; font-size: 17px; cursor: pointer; }

/* Lists of posts and courses */
.tci-post-list .wp-block-post { border-top: 1px solid var(--wp--preset--color--line); padding: 20px 0; margin: 0; }
.tci-post-list .wp-block-post-title { font-size: 19px; font-family: var(--wp--preset--font-family--body); font-weight: 600; letter-spacing: 0; }
.tci-post-list .wp-block-post-title a { color: var(--wp--preset--color--navy); text-decoration: none; }
.tci-post-list .wp-block-post-title a:hover { color: var(--wp--preset--color--blue); }

/* Footer */
.tci-footer { border-top: 1px solid var(--wp--preset--color--line); font-size: 14px; color: var(--wp--preset--color--muted); }
.tci-footer a { color: var(--wp--preset--color--muted); text-decoration: none; }
.tci-footer a:hover { color: var(--wp--preset--color--blue); }

@media (max-width: 781px) {
	.tci-stats { margin-top: -40px !important; }
	.tci-mock { padding: 24px 8px; }
}

.tci-card-tint { background: var(--wp--preset--color--tint); border-color: transparent; }
.tci-section-tint { background: var(--wp--preset--color--tint); }
.tci-accent { color: var(--wp--preset--color--blue); }

/* Header, main and footer sit flush; sections carry their own spacing. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.tci-hero h1 { font-size: clamp(46px, 5.4vw, 78px); }

/* Previous / next question */
.wp-block-post-navigation-link { flex: 1 1 260px; }
.wp-block-post-navigation-link a { color: var(--wp--preset--color--navy); text-decoration: none; font-weight: 600; }
.wp-block-post-navigation-link a:hover { color: var(--wp--preset--color--blue); }
.wp-block-post-navigation-link .post-navigation-link__label { display: block; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--muted); text-transform: uppercase; letter-spacing: 0.06em; }

/* Tutor LMS in TCI colours */
:root {
	--tutor-color-primary: #0062C5;
	--tutor-color-primary-rgb: 0, 98, 197;
	--tutor-color-primary-hover: #004A96;
}

/* Jobs board (WP Job Manager + tci-core filters) */
.is-layout-constrained > .job_listings { max-width: var(--wp--style--global--wide-size); }
.job_listings .tci-job-filters { background: var(--wp--preset--color--tint); border: 0; border-radius: var(--wp--custom--radius--card); padding: 20px; }
.tci-job-filters .search_jobs { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; padding: 0; }
.tci-job-filters .search_jobs > div { float: none; width: auto; padding: 0; margin: 0; }
.tci-job-filters .search_keywords { grid-column: 1 / -1; }
.tci-job-filters label { position: static !important; clip: auto !important; width: auto !important; height: auto !important; display: block !important; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--wp--preset--color--muted); }
.tci-job-filters .search_jobs input[type="text"], .tci-job-filters .search_jobs input[type="number"], .tci-job-filters .search_jobs select {
	width: 100% !important; box-sizing: border-box; font: inherit; font-size: 15px; padding: 10px 12px;
	border: 1px solid #CDD7E1; border-radius: 10px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy);
}
.tci-job-filters .search_submit { display: flex; align-items: flex-end; }
.tci-job-filters .search_submit input { width: 100%; font: inherit; font-weight: 600; padding: 11px 16px; border: 0; border-radius: 999px; background: var(--wp--preset--color--blue); color: var(--wp--preset--color--white); cursor: pointer; }
.job_listings .showing_jobs { background: none; border: 0; padding: 12px 4px; font-size: 14px; color: var(--wp--preset--color--muted); }
ul.job_listings { border-top: 0 !important; }
ul.job_listings li.job_listing { border: 1px solid var(--wp--preset--color--line) !important; border-radius: 16px; margin: 0 0 12px !important; background: var(--wp--preset--color--white); }
ul.job_listings li.job_listing a { padding: 18px 20px 18px 84px !important; border-radius: 16px; color: var(--wp--preset--color--navy); }
ul.job_listings li.job_listing a:hover { background: var(--wp--preset--color--tint) !important; }
ul.job_listings li.job_listing a img.company_logo { left: 20px !important; top: 18px !important; border-radius: 10px; }
ul.job_listings li.job_listing .position h3 { font-family: var(--wp--preset--font-family--body); font-size: 18px; font-weight: 600; letter-spacing: 0; }
ul.job_listings li.job_listing .company, ul.job_listings li.job_listing .location, ul.job_listings li.job_listing .meta { color: var(--wp--preset--color--muted); }
.load_more_jobs { border-radius: 999px !important; border: 1px solid var(--wp--preset--color--line) !important; background: var(--wp--preset--color--white) !important; }
.single_job_listing .meta li { color: var(--wp--preset--color--muted); }
.single_job_listing .application_button { font: inherit; font-weight: 600; border-radius: 999px; padding: 12px 24px; background: var(--wp--preset--color--blue); color: var(--wp--preset--color--white); border: 0; }
.tci-job-resume { margin-top: 24px; padding: 16px 20px; border-radius: 14px; background: var(--wp--preset--color--blue-soft); }

/* Founder photo */
.tci-founder-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 24px; box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25); }

/* WooCommerce account, login and register forms */
.woocommerce form .form-row { display: block; margin: 0 0 16px; }
.woocommerce form .form-row label { display: block; font-weight: 600; margin-bottom: 6px; }
.woocommerce form .input-text, .woocommerce form input[type="email"], .woocommerce form input[type="password"], .woocommerce form input[type="text"] {
	width: 100%; max-width: 420px; box-sizing: border-box; font: inherit; padding: 11px 14px;
	border: 1px solid #CBD5E1; border-radius: 10px; background: #fff;
}
.woocommerce form .input-text:focus { outline: 2px solid var(--wp--preset--color--blue); outline-offset: 1px; border-color: transparent; }
.woocommerce form .woocommerce-form-login__rememberme { display: block; margin: 4px 0 12px; }
.woocommerce .password-input { display: block; max-width: 420px; position: relative; }

/* Tutor course pages: room under the header */
.tutor-course-details-page { padding-top: 24px; }
