/*
Theme Name: AEO Ultimate
Theme URI: https://aeoultimate.com
Author: Tampa Web Technologies
Author URI: https://tampawebtech.com
Description: Block theme for AEO Ultimate — answer engine optimization apps and plugins by Tampa Web Technologies. Clean marketing/docs theme with hero, feature cards, comparison tables and FAQ accordions.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
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: aeo-ultimate
*/

/* ---------- Cards ---------- */
.aeo-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(14, 17, 22, 0.04);
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
	height: 100%;
}

.aeo-card:hover {
	box-shadow: 0 10px 30px rgba(14, 17, 22, 0.08);
	border-color: #d3d9e6;
	transform: translateY(-2px);
}

.aeo-card-tint {
	background: var(--wp--preset--color--tint);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	height: 100%;
}

/* Eyebrow label */
.aeo-eyebrow {
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--wp--preset--color--accent);
}

/* Pills / badges */
.aeo-pill {
	display: inline-block;
	background: var(--wp--preset--color--tint);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	padding: 0.25em 0.9em;
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
	margin: 0 0.35em 0.5em 0;
}

/* ---------- Buttons ---------- */
.wp-block-button__link {
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.wp-block-button__link:hover {
	opacity: 0.88;
	transform: translateY(-1px);
}

.is-style-outline > .wp-block-button__link {
	border: 1.5px solid #C9CDF0;
	color: #3A3F8F;
	background: #fff;
}

/* ---------- FAQ accordions (core/details) ---------- */
.aeo-faq .wp-block-details {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1rem 1.25rem;
	margin-bottom: 0.75rem;
}

.aeo-faq .wp-block-details summary {
	font-weight: 600;
	font-size: 1.05rem;
	cursor: pointer;
	color: var(--wp--preset--color--ink);
}

.aeo-faq .wp-block-details[open] summary {
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--accent);
}

.aeo-faq .wp-block-details > :not(summary) {
	color: var(--wp--preset--color--muted);
}

/* ---------- Comparison table ---------- */
.aeo-compare table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	font-size: 0.92rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
}

.aeo-compare thead th {
	background: var(--wp--preset--color--ink);
	color: #fff;
	font-weight: 600;
	text-align: left;
	padding: 0.8rem 1rem;
	border: none;
}

.aeo-compare thead th:nth-child(2) {
	background: var(--wp--preset--color--accent);
}

.aeo-compare tbody td {
	padding: 0.7rem 1rem;
	border: none;
	border-top: 1px solid var(--wp--preset--color--border);
	vertical-align: top;
}

.aeo-compare tbody td:nth-child(2) {
	background: var(--wp--preset--color--accent-soft);
	font-weight: 500;
}

.aeo-compare tbody tr.aeo-compare-section td,
.aeo-compare tbody td strong:only-child {
	font-weight: 700;
}

/* Section-divider rows: single bold cell text convention */
.aeo-compare tbody td[colspan] {
	background: var(--wp--preset--color--tint);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
}

.aeo-compare .aeo-yes {
	color: var(--wp--preset--color--success);
	font-weight: 700;
}

.aeo-compare .aeo-no {
	color: #9aa3b5;
}

/* Scroll wide tables on small screens */
.aeo-compare {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.aeo-compare table {
	min-width: 720px;
}

/* ---------- Steps ---------- */
.aeo-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
}

/* ---------- Header ---------- */
.aeo-header {
	border-bottom: 1px solid var(--wp--preset--color--border);
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(8px);
}

/* ---------- Brand bands (indigo, replaces old dark sections) ---------- */
.aeo-dark {
	background: var(--wp--preset--color--accent);
	color: #DDE0FB;
}

.aeo-dark h1, .aeo-dark h2, .aeo-dark h3, .aeo-dark h4 {
	color: #fff;
}

.aeo-dark a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: #8F97F2;
}

/* ---------- Hero ---------- */
.aeo-hero {
	background: #F4F5FF;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.aeo-chip {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	color: #5A62B8;
	background: #fff;
	border: 1px solid #DFE2F6;
	border-radius: 6px;
	padding: 0.2em 0.6em;
	margin: 0 0.3em 0.4em 0;
}

.aeo-answer {
	background: #fff;
	border: 1px solid #DFE2F6;
	border-radius: 14px;
	padding: 1.25rem 1.4rem;
	box-shadow: 0 8px 30px rgba(79, 70, 229, 0.07);
}

.aeo-answer-q {
	background: #F1F2FA;
	border-radius: 10px;
	padding: 0.6rem 0.85rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--ink);
}

.aeo-cited {
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8rem;
	color: #0F6E56;
	background: #EFF9F4;
	border: 1px solid #BFE7D6;
	border-radius: 8px;
	padding: 0.35em 0.7em;
}

/* ---------- Score bars ---------- */
.aeo-bar {
	display: block;
	height: 8px;
	background: #EEF0F6;
	border-radius: 4px;
	overflow: hidden;
	margin: 0.35rem 0 0.9rem;
}

.aeo-bar > span {
	display: block;
	height: 100%;
	background: var(--wp--preset--color--accent);
	border-radius: 4px;
}

.aeo-bar > .aeo-bar-good { background: #1D9E75; }
.aeo-bar > .aeo-bar-warn { background: #EF9F27; }

/* Callout */
.aeo-callout {
	border-left: 4px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent-soft);
	border-radius: 0 12px 12px 0;
	padding: 1.25rem 1.5rem;
}

/* Warning callout */
.aeo-callout-warn {
	border-left: 4px solid #d97706;
	background: #fff7ed;
	border-radius: 0 12px 12px 0;
	padding: 1.25rem 1.5rem;
}
