/*
Theme Name: Alternative-zu.org (Child von Astra)
Template: astra
Version: 1.0.4
Author: alternative-zu.org
Description: Child-Theme für Astra mit eigenem Design für Preisvergleichs-Artikel (Karten-Grid, Preis-Badges, eigene Farb- und Schrifttokens). Aktualisierungen von Astra brechen diese Anpassungen nicht.
*/

.ae-card {
	background: #ffffff;
	border: 1px solid #E1E4DE;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .15s ease, box-shadow .15s ease;
	height: 100%;
}
.ae-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(23,26,31,0.08); }
.ae-card a { text-decoration: none; color: inherit; display: block; }

.ae-card-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #E1E4DE; }
.ae-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ae-price-badge {
	position: absolute; top: 12px; left: 12px;
	background: #C98A2C; color: #171A1F;
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.01em;
	padding: 4px 10px; border-radius: 999px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.ae-card-eyebrow {
	font-family: "IBM Plex Mono", ui-monospace, monospace;
	font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em;
	color: #1F5F5B; margin: 16px 16px 6px; display: block;
}
.ae-card h3 {
	margin: 0 16px 8px; font-family: "Fraunces", Georgia, serif;
	font-size: 1.15rem; line-height: 1.3; color: #171A1F;
}
.ae-card p { margin: 0 16px 16px; font-size: 0.92rem; line-height: 1.5; color: #4B5259; flex-grow: 1; }
.ae-card .ae-card-arrow { margin: 0 16px 16px; font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.82rem; color: #1F5F5B; display: block; }

.ae-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 24px; max-width: 1180px; margin: 0 auto; padding: 0 24px;
}

.ae-section-heading { max-width: 1180px; margin: 56px auto 24px; padding: 0 24px; display: flex; align-items: baseline; gap: 12px; }
.ae-section-heading h2 { font-family: "Fraunces", Georgia, serif; font-size: 1.6rem; margin: 0; color: #171A1F; }
.ae-section-heading .ae-rule { flex-grow: 1; height: 1px; background: #E1E4DE; }

.ae-hero { max-width: 1180px; margin: 0 auto; padding: 56px 24px 32px; }
.ae-hero h1 { font-family: "Fraunces", Georgia, serif; font-size: clamp(2rem, 4vw, 2.75rem); line-height: 1.15; color: #171A1F; max-width: 18ch; margin: 0 0 16px; }
.ae-hero p { font-size: 1.05rem; line-height: 1.6; color: #4B5259; max-width: 62ch; margin: 0 0 8px; }

.ae-pill-row { max-width: 1180px; margin: 0 auto 40px; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.ae-pill { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.78rem; color: #171A1F; background: #ffffff; border: 1px solid #E1E4DE; border-radius: 999px; padding: 6px 14px; text-decoration: none !important; }
.ae-pill:hover { border-color: #1F5F5B; color: #1F5F5B; }

.ae-body { background: #F4F5F2; }
.ae-single-wrap { max-width: 760px; margin: 0 auto; padding: 40px 24px 0; }
.ae-single-wrap img { border-radius: 10px; }

.entry-content table, .ae-single-wrap table { border-collapse: collapse; width: 100%; margin: 24px 0; }
.entry-content table th, .entry-content table td, .ae-single-wrap table th, .ae-single-wrap table td {
	border: 1px solid #E1E4DE; padding: 10px 12px; text-align: left; vertical-align: top; font-size: 0.92rem;
}
.entry-content table th, .ae-single-wrap table th {
	font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.72rem;
	text-transform: uppercase; letter-spacing: 0.05em; background: #F4F5F2;
}

@media (prefers-reduced-motion: reduce) { .ae-card { transition: none; } .ae-card:hover { transform: none; } }

/* Live-Suche */
.ae-search {
	position: relative;
	max-width: 420px;
	margin: 16px auto;
	padding: 0 24px;
	z-index: 40;
}
.ae-search-input {
	width: 100%;
	box-sizing: border-box;
	font-family: "Inter", sans-serif;
	font-size: 0.95rem;
	padding: 10px 16px;
	border: 1px solid #E1E4DE;
	border-radius: 999px;
	background: #ffffff;
	color: #171A1F;
}
.ae-search-input:focus { outline: 2px solid #1F5F5B; outline-offset: 1px; }
.ae-search-results {
	position: absolute;
	left: 24px;
	right: 24px;
	top: calc(100% + 6px);
	background: #ffffff;
	border: 1px solid #E1E4DE;
	border-radius: 10px;
	box-shadow: 0 12px 28px rgba(23,26,31,0.12);
	max-height: 400px;
	overflow-y: auto;
}
.ae-search-result {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	text-decoration: none !important;
	color: #171A1F;
	border-bottom: 1px solid #F4F5F2;
}
.ae-search-result:last-child { border-bottom: none; }
.ae-search-result:hover { background: #F4F5F2; }
.ae-search-result-media {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 6px;
	overflow: hidden;
	background: #E1E4DE;
}
.ae-search-result-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ae-search-result-title { font-size: 0.9rem; line-height: 1.35; }
.ae-search-loading, .ae-search-empty {
	padding: 14px;
	font-size: 0.88rem;
	color: #4B5259;
	font-family: "IBM Plex Mono", monospace;
}
