/**
 * AuthemicWongNdeso – Theme styles
 * Gaya: resmi, bersih, ramah. Hijau desa, biru pemerintahan, putih. Mobile-first.
 *
 * @package AuthemicWongNdeso
 */

/* ========== Header ========== */
.awn-header {
	background: var(--awn-color-white, #fff);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	position: sticky;
	top: 0;
	z-index: 100;
}

.awn-header-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

.awn-branding .custom-logo-link,
.awn-site-title {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--awn-color-primary, #1b5e20);
	text-decoration: none;
}

.awn-site-title:hover {
	text-decoration: none;
	opacity: 0.9;
}

.awn-site-description {
	margin: 0;
	font-size: 0.875rem;
	color: var(--awn-color-text-muted, #616161);
}

.awn-menu-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid #ddd;
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
}

.awn-menu-toggle-icon {
	width: 1.25rem;
	height: 2px;
	background: #333;
	position: relative;
}

.awn-menu-toggle-icon::before,
.awn-menu-toggle-icon::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #333;
}

.awn-menu-toggle-icon::before { top: -6px; }
.awn-menu-toggle-icon::after { top: 6px; }

.awn-nav { display: none; }
.awn-nav.is-open { display: block; width: 100%; }

.awn-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.awn-nav-list li { margin: 0; border-bottom: 1px solid #eee; }
.awn-nav-list a {
	display: block;
	padding: 0.75rem 0;
	color: var(--awn-color-government, #0d47a1);
	font-weight: 500;
}

.awn-nav-list a:hover { background: var(--awn-color-off-white, #f5f5f5); }

@media (min-width: 768px) {
	.awn-menu-toggle { display: none; }
	.awn-nav { display: block; width: auto; }
	.awn-nav-list { display: flex; gap: 0.5rem; }
	.awn-nav-list li { border: none; }
	.awn-nav-list a { padding: 0.5rem 1rem; }
}

/* ========== Hero ========== */
.awn-hero {
	background: linear-gradient(135deg, var(--awn-color-primary, #1b5e20) 0%, var(--awn-color-primary-light, #2e7d32) 100%);
	color: var(--awn-color-white, #fff);
	padding: 2.5rem 0;
	text-align: center;
}

.awn-hero-title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.5rem, 4vw, 2.25rem);
	font-weight: 700;
}

.awn-hero-desc {
	margin: 0;
	opacity: 0.95;
	font-size: 1rem;
}

/* ========== Sections ========== */
.awn-section { padding: 2rem 0; }
.awn-section-inner { margin-bottom: 2rem; }
.awn-section-title {
	margin: 0 0 1.25rem;
	font-size: 1.5rem;
	color: var(--awn-color-primary, #1b5e20);
}

/* ========== Stats ========== */
.awn-stats { background: var(--awn-color-white, #fff); }
.awn-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 1rem;
}

.awn-stat-card {
	text-align: center;
	padding: 1.25rem;
	background: var(--awn-color-off-white, #f5f5f5);
	border-radius: var(--awn-radius, 8px);
	border-left: 4px solid var(--awn-color-government, #0d47a1);
}

.awn-stat-value {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--awn-color-government, #0d47a1);
}

.awn-stat-label { font-size: 0.875rem; color: var(--awn-color-text-muted, #616161); }

/* ========== Cards ========== */
.awn-cards-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

@media (min-width: 600px) {
	.awn-cards-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 900px) {
	.awn-cards-grid { grid-template-columns: repeat(3, 1fr); }
}

.awn-card {
	background: var(--awn-color-white, #fff);
	border-radius: var(--awn-radius, 8px);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	transition: box-shadow 0.2s;
}

.awn-card:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }

.awn-card-image {
	display: block;
	aspect-ratio: 16/9;
	overflow: hidden;
}

.awn-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.awn-card-body { padding: 1.25rem; }
.awn-card-date {
	font-size: 0.8125rem;
	color: var(--awn-color-text-muted, #616161);
}

.awn-card-title {
	margin: 0.5rem 0 0.5rem;
	font-size: 1.125rem;
	line-height: 1.35;
}

.awn-card-title a {
	color: var(--awn-color-text, #212121);
	text-decoration: none;
}

.awn-card-title a:hover { color: var(--awn-color-government, #0d47a1); text-decoration: underline; }
.awn-card-excerpt { margin: 0 0 0.75rem; font-size: 0.9375rem; color: var(--awn-color-text-muted, #616161); }
.awn-card-link {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--awn-color-government, #0d47a1);
}

/* ========== CTA grid ========== */
.awn-cta-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 1rem;
}

.awn-cta-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
	padding: 1rem;
	background: var(--awn-color-white, #fff);
	border: 2px solid var(--awn-color-government, #0d47a1);
	border-radius: var(--awn-radius, 8px);
	color: var(--awn-color-government, #0d47a1);
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.awn-cta-card:hover {
	background: var(--awn-color-government, #0d47a1);
	color: #fff;
	text-decoration: none;
}

/* ========== Buttons ========== */
.awn-btn {
	display: inline-block;
	padding: 0.6rem 1.25rem;
	border-radius: 4px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: none;
}

.awn-btn-primary {
	background: var(--awn-color-government, #0d47a1);
	color: #fff;
}

.awn-btn-primary:hover { background: var(--awn-color-government-light, #1565c0); color: #fff; text-decoration: none; }
.awn-section-more { margin-top: 1.5rem; }

/* ========== Article / Single ========== */
.awn-article { padding: 1.5rem 0; }
.awn-entry-header { margin-bottom: 1rem; }
.awn-post-type-label {
	display: inline-block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--awn-color-government, #0d47a1);
	margin-bottom: 0.25rem;
}

.awn-entry-title { margin: 0 0 0.5rem; font-size: 1.75rem; }
.awn-entry-meta { font-size: 0.875rem; color: var(--awn-color-text-muted, #616161); }
.awn-meta-sep { margin: 0 0.5rem; }
.awn-entry-thumbnail { margin-bottom: 1.5rem; border-radius: var(--awn-radius, 8px); overflow: hidden; }
.awn-entry-thumbnail img { width: 100%; height: auto; display: block; }
.awn-entry-content { max-width: 72ch; }
.awn-entry-content p { margin-bottom: 1rem; }

/* ========== Produk single ========== */
.awn-produk-layout {
	display: grid;
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.awn-produk-layout { grid-template-columns: 1fr 1fr; }
}

.awn-produk-harga { font-size: 1.25rem; margin-bottom: 0.5rem; }
.awn-produk-satuan { font-weight: 400; color: var(--awn-color-text-muted, #616161); }
.awn-produk-kontak { margin-bottom: 1rem; }

/* ========== Profil / Kontak ========== */
.awn-dl { margin: 0; }
.awn-dl dt {
	font-weight: 600;
	color: var(--awn-color-text-muted, #616161);
	margin-top: 0.75rem;
	margin-bottom: 0.25rem;
}

.awn-dl dt:first-child { margin-top: 0; }
.awn-dl dd { margin: 0; }
.awn-doc-link { font-weight: 600; }

/* ========== Archive ========== */
.awn-archive-header { margin-bottom: 1.5rem; }
.awn-archive-title { margin: 0 0 0.5rem; font-size: 1.5rem; }
.awn-archive-desc { color: var(--awn-color-text-muted, #616161); margin: 0; }
.awn-posts .nav-links { margin-top: 2rem; }

/* ========== 404 ========== */
.awn-404 { padding: 3rem 0; text-align: center; }
.awn-404-title { font-size: 4rem; margin: 0; color: var(--awn-color-primary, #1b5e20); }
.awn-404-desc { margin: 0.5rem 0 1rem; }

/* ========== Search ========== */
.awn-search-form {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.awn-search-input { flex: 1; padding: 0.5rem 0.75rem; border: 1px solid #ddd; border-radius: 4px; }

/* ========== Footer ========== */
.awn-footer {
	background: var(--awn-color-primary, #1b5e20);
	color: var(--awn-color-white, #fff);
	padding: 2rem 0 1rem;
	margin-top: 2rem;
}

.awn-footer-inner { font-size: 0.9375rem; }
.awn-footer-widgets {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}

@media (min-width: 600px) {
	.awn-footer-widgets { grid-template-columns: repeat(3, 1fr); }
}

.awn-footer .widget-title { margin-bottom: 0.75rem; font-size: 1rem; }
.awn-footer-bottom { padding-top: 1rem; border-top: 1px solid rgba(255,255,255,0.2); text-align: center; }
.awn-footer-credit { margin: 0 0 0.25rem; }
.awn-footer-theme { margin: 0; opacity: 0.85; font-size: 0.875rem; }
.awn-footer-theme a { color: #fff; text-decoration: underline; }

.awn-no-content { color: var(--awn-color-text-muted, #616161); margin: 0; }
