/*
Theme Name:   AIImpish
Theme URI:    https://aiimpish.com
Description:  Dark-premium child theme for AIImpish. Parent: Twenty Twenty-Four (twentytwentyfour). If parent is missing on host, install Twenty Twenty-Four from Appearance → Themes → Add New, or temporarily switch Template header — see README.
Author:       AIImpish
Template:     twentytwentyfour
Version:      1.0.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  aiimpish
Tags:         dark, custom-menu, featured-images, blog
*/

/* Design tokens loaded separately via tokens.css (enqueued in functions.php). */

/* Base shell overrides for dark premium look */
body {
	background-color: var(--ai-bg);
	color: var(--ai-text);
	font-family: var(--ai-font);
	line-height: 1.6;
	margin: 0;
}

a {
	color: var(--ai-accent);
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: var(--ai-accent-violet);
	outline: 2px solid var(--ai-accent);
	outline-offset: 2px;
}

.ai-site-header,
.ai-site-footer {
	background: var(--ai-surface);
	border-color: var(--ai-border);
}

.ai-container {
	width: min(1120px, 100% - 2 * var(--ai-space-4));
	margin-inline: auto;
}

.ai-hero {
	padding: var(--ai-space-8) 0 var(--ai-space-6);
}

.ai-hero h1 {
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 var(--ai-space-3);
}

.ai-hero p {
	color: var(--ai-muted);
	max-width: 36rem;
	margin: 0;
}

.ai-section {
	padding: var(--ai-space-6) 0;
}

.ai-section__title {
	font-size: 1.25rem;
	margin: 0 0 var(--ai-space-4);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ai-space-3);
}

.ai-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: var(--ai-space-4);
}

.ai-card {
	background: var(--ai-surface);
	border: 1px solid var(--ai-border);
	border-radius: var(--ai-radius);
	padding: var(--ai-space-4);
	display: flex;
	flex-direction: column;
	gap: var(--ai-space-2);
	transition: border-color 0.15s ease;
}

.ai-card:hover {
	border-color: var(--ai-accent);
}

.ai-card__thumb {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	border-radius: calc(var(--ai-radius) - 2px);
	background: var(--ai-bg);
}

.ai-card__title {
	font-size: 1.05rem;
	margin: 0;
	font-weight: 600;
}

.ai-card__meta {
	color: var(--ai-muted);
	font-size: 0.875rem;
	display: flex;
	flex-wrap: wrap;
	gap: var(--ai-space-2);
}

.ai-chip,
.ai-filter-chips a {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.6rem;
	border-radius: 999px;
	background: var(--ai-bg);
	border: 1px solid var(--ai-border);
	color: var(--ai-muted);
	font-size: 0.75rem;
}

.ai-chip--accent {
	border-color: var(--ai-accent);
	color: var(--ai-accent);
}

.ai-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ai-space-2);
	margin-bottom: var(--ai-space-4);
}

.ai-filter-chips a.is-active,
.ai-filter-chips a:hover {
	border-color: var(--ai-accent);
	color: var(--ai-accent);
}

.ai-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 1rem;
	border-radius: var(--ai-radius);
	background: var(--ai-accent);
	color: #0B0D10;
	font-weight: 600;
	font-size: 0.9rem;
	border: none;
	cursor: pointer;
}

.ai-btn:hover,
.ai-btn:focus-visible {
	background: var(--ai-accent-violet);
	color: #fff;
}

.ai-nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ai-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.ai-nav a {
	color: var(--ai-text);
	font-size: 0.95rem;
}

.ai-nav a:hover {
	color: var(--ai-accent);
}

.aiimpish-ad-slot {
	border: 1px dashed var(--ai-border);
	border-radius: var(--ai-radius);
	padding: var(--ai-space-4);
	margin: var(--ai-space-4) 0;
	background: var(--ai-surface);
	color: var(--ai-muted);
	font-size: 0.85rem;
	text-align: center;
	min-height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ai-single {
	padding: var(--ai-space-6) 0;
}

.ai-single__meta {
	color: var(--ai-muted);
	margin-bottom: var(--ai-space-4);
}

.ai-prompt-body {
	background: var(--ai-surface);
	border: 1px solid var(--ai-border);
	border-radius: var(--ai-radius);
	padding: var(--ai-space-4);
	white-space: pre-wrap;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9rem;
}

.ai-site-header {
	border-bottom: 1px solid var(--ai-border);
	padding: var(--ai-space-3) 0;
}

.ai-site-header .ai-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ai-space-4);
	flex-wrap: wrap;
}

.ai-logo {
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--ai-text);
}

.ai-logo span {
	color: var(--ai-accent);
}

.ai-site-footer {
	border-top: 1px solid var(--ai-border);
	padding: var(--ai-space-5) 0;
	margin-top: var(--ai-space-8);
	color: var(--ai-muted);
	font-size: 0.875rem;
}

.ai-empty {
	color: var(--ai-muted);
	padding: var(--ai-space-6) 0;
}

/* Force heading contrast on dark — beat TT4 inherited light colors (QA FAIL). */
body.wp-child-theme-aiimpish,
body.wp-theme-twentytwentyfour.wp-child-theme-aiimpish {
	background-color: var(--ai-bg) !important;
	color: var(--ai-text) !important;
}

body.wp-child-theme-aiimpish h1,
body.wp-child-theme-aiimpish h2,
body.wp-child-theme-aiimpish h3,
body.wp-child-theme-aiimpish h4,
body.wp-child-theme-aiimpish h5,
body.wp-child-theme-aiimpish h6,
body.wp-child-theme-aiimpish .ai-hero h1,
body.wp-child-theme-aiimpish .ai-section__title,
body.wp-child-theme-aiimpish .ai-section__title h2,
body.wp-child-theme-aiimpish .ai-card__title,
body.wp-child-theme-aiimpish .ai-card__title a,
body.wp-child-theme-aiimpish .wp-block-post-title,
body.wp-child-theme-aiimpish .wp-block-heading {
	color: var(--ai-text) !important;
}

body.wp-child-theme-aiimpish .ai-site-header,
body.wp-child-theme-aiimpish .ai-site-footer {
	background-color: var(--ai-surface) !important;
	color: var(--ai-text);
}

body.wp-child-theme-aiimpish .ai-main {
	background-color: var(--ai-bg);
}
