/*
Theme Name: DUI Florida
Theme URI: https://duiflorida.com
Author: Robert
Description: Custom classic PHP theme for duiflorida.com — general DUI content library plus per-county landing pages with local courthouse/clerk/jail info and lawyer/bail-bond ad slots.
Version: 1.0.1
Requires PHP: 8.2
Text Domain: duiflorida
*/

:root {
	--duifl-navy: #0b1f3a;
	--duifl-gold: #c9973a;
	--duifl-white: #ffffff;
	--duifl-gray-light: #f4f5f7;
	--duifl-gray-text: #40474f;
	--duifl-border: #e1e4e8;
}

* { box-sizing: border-box; }
body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--duifl-gray-text);
	background: var(--duifl-white);
	line-height: 1.6;
}
a { color: var(--duifl-navy); }

.duifl-container {
	max-width: 960px;
	margin: 0 auto;
	padding: 32px 20px;
}

/* Header */
.duifl-site-header {
	background: var(--duifl-navy);
	padding: 16px 20px;
}
.duifl-site-header__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}
.duifl-logo {
	color: var(--duifl-white);
	font-size: 22px;
	font-weight: 700;
	text-decoration: none;
}
.duifl-nav ul {
	list-style: none;
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
}
.duifl-nav a {
	color: var(--duifl-white);
	text-decoration: none;
	font-size: 14px;
}

/* Footer */
.duifl-site-footer {
	background: var(--duifl-navy);
	color: var(--duifl-white);
	margin-top: 48px;
	padding: 24px 20px;
}
.duifl-site-footer__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
}
.duifl-site-footer a { color: var(--duifl-white); }

/* Homepage article teaser list (index.php) */
.duifl-article-teaser {
	display: flex;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--duifl-border);
	align-items: flex-start;
}
.duifl-article-teaser:first-of-type { padding-top: 0; }
.duifl-article-teaser__thumb {
	flex: 0 0 200px;
	display: block;
	border-radius: 6px;
	overflow: hidden;
}
.duifl-article-teaser__thumb img {
	width: 200px;
	height: 140px;
	object-fit: cover;
	display: block;
}
.duifl-article-teaser__body { flex: 1; min-width: 0; }
.duifl-article-teaser h2 {
	font-size: 24px;
	margin: 0 0 12px;
	line-height: 1.3;
}
.duifl-article-teaser h2 a {
	color: var(--duifl-navy);
	text-decoration: none;
}
.duifl-article-teaser h2 a:hover { text-decoration: underline; }
@media (max-width: 600px) {
	.duifl-article-teaser { flex-direction: column; }
	.duifl-article-teaser__thumb, .duifl-article-teaser__thumb img { flex-basis: auto; width: 100%; height: auto; aspect-ratio: 16/10; }
}

/* Nav menus (header + footer) */
.duifl-nav ul {
	list-style: none;
	display: flex;
	gap: 24px;
	margin: 0;
	padding: 0;
}
.duifl-nav a {
	color: var(--duifl-white);
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
}
.duifl-nav a:hover { text-decoration: underline; }
.duifl-footer-nav ul {
	list-style: none;
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0;
}
.duifl-footer-nav a { color: var(--duifl-white); font-size: 13px; }
.duifl-article-teaser__excerpt {
	font-size: 16px;
	color: var(--duifl-gray-text);
}
.duifl-article-teaser__excerpt p { margin: 0; }

/* Article */
.duifl-article__title { font-size: 32px; margin-bottom: 16px; }
.duifl-article__thumbnail img { width: 100%; height: auto; border-radius: 8px; margin-bottom: 20px; }
.duifl-article__content { font-size: 17px; }

/* County page */
.duifl-county__title { font-size: 34px; margin-bottom: 8px; }
.duifl-county__info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 16px;
	margin: 32px 0;
}
.duifl-info-card {
	background: var(--duifl-gray-light);
	border: 1px solid var(--duifl-border);
	border-radius: 8px;
	padding: 18px;
}
.duifl-info-card h2 { font-size: 15px; text-transform: uppercase; letter-spacing: 0.5px; color: var(--duifl-navy); margin: 0 0 10px; }
.duifl-info-card--jail { border-color: var(--duifl-gold); }
.duifl-costs-note { font-size: 14px; color: #6a7178; }

/* Ad slots */
.duifl-ad-slots { margin: 40px 0; }
.duifl-lawyer-slots {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin-bottom: 16px;
}
.duifl-ad-card {
	border: 2px solid var(--duifl-navy);
	border-radius: 8px;
	padding: 18px;
	text-align: center;
}
.duifl-ad-card--bond { border-color: var(--duifl-gold); }
.duifl-ad-card__eyebrow { font-size: 12px; text-transform: uppercase; color: var(--duifl-gold); font-weight: 700; }
.duifl-ad-card__name { margin: 8px 0; font-size: 18px; }
.duifl-ad-card__phone a, .duifl-ad-card__link a { font-weight: 600; }

/* Related articles */
.duifl-related-articles { margin: 40px 0; }
.duifl-related-articles__list { list-style: none; padding: 0; }
.duifl-related-articles__list li { padding: 10px 0; border-bottom: 1px solid var(--duifl-border); }

/* County directory grid */
.duifl-county-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
}
.duifl-county-grid__card {
	display: block;
	text-decoration: none;
	color: inherit;
	border: 1px solid var(--duifl-border);
	border-radius: 8px;
	overflow: hidden;
}
.duifl-county-grid__card img { width: 100%; height: 140px; object-fit: cover; }
.duifl-county-grid__card h2 { font-size: 16px; padding: 12px; margin: 0; }
