/**
 * Axxanoid Directory - Public Styles
 */

.axx-directory-nav-wrapper {
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	width: 100%; 
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 15px; 
	border-bottom: 1px solid #e2e8f0; 
}
.axx-dir-branding h2 {
	margin: 0; 
	line-height: 1;
}
.axx-dir-branding a {
	text-decoration: none; 
	color: #1e293b;
}
.axx-dir-branding .highlight {
	color: #f59e0b;
}
.axx-dir-subtitle {
	font-size: 0.85rem; 
	color: #64748b; 
	font-weight: 600; 
	text-transform: uppercase; 
	letter-spacing: 1px;
}
.axx-dir-btn {
	background-color: #0f172a; 
	color: #ffffff !important; 
	border-radius: 4px; 
	padding: 10px 20px; 
	font-weight: bold; 
	text-decoration: none;
	transition: background-color 0.2s;
}
.axx-dir-btn:hover {
	background-color: #334155;
}
.axx-dir-btn-secondary {
	background-color: transparent; 
	color: #475569; 
	border-radius: 4px; 
	padding: 8px 16px; 
	font-weight: bold; 
	text-decoration: none;
	border: 1px solid #cbd5e1;
	transition: all 0.2s;
}
.axx-dir-btn-secondary:hover {
	background-color: #f1f5f9;
	color: #0f172a;
}

/* Grid Styles */
.axx-dir-grid { 
	display: grid; 
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
	gap: 20px; 
	max-width: 1200px;
	margin: 40px auto;
	padding: 0 15px;
}
.axx-dir-card { 
	border: 1px solid #e2e8f0; 
	border-radius: 8px; 
	padding: 20px; 
	background: #fff; 
	transition: box-shadow 0.3s; 
	position: relative; 
	overflow: hidden;
}
.axx-dir-card:hover { 
	box-shadow: 0 4px 12px rgba(0,0,0,0.1); 
}
.axx-dir-card.is-premium {
	border: 2px solid #f59e0b;
}
.axx-dir-premium-badge { 
	position: absolute;
	top: 15px; right: -30px;
	background: #f59e0b;
	color: #fff; 
	padding: 5px 30px;
	transform: rotate(45deg); 
	font-size: 12px;
	font-weight: bold;
	z-index: 1;
}

/* --- UI Components (Extracted from Inline Styles) --- */

/* Filter Bar */
.axx-dir-filters-wrapper { 
	max-width: 1200px; 
	margin: 20px auto; 
	padding: 20px 15px; 
	background: #f8fafc; 
	border-radius: 8px; 
	border: 1px solid #e2e8f0; 
	display: flex; 
	gap: 15px; 
	flex-wrap: wrap;
}
.axx-filter-group { 
	flex: 1;
	min-width: 200px;
}
.axx-filter-group label { 
	display: block;
	font-size: 0.85rem;
	font-weight: bold;
	margin-bottom: 5px;
	color: #475569;
}
.axx-filter-group input, .axx-filter-group select { 
	width: 100%;
	padding: 10px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	box-sizing: border-box;
}

/* Reusable Flex Utilities */
.axx-flex-center { 
	display: flex; 
	align-items: 
	center; gap: 8px;
}

/* Grid Cards */
.axx-dir-address {
	color: #475569;
}
.axx-dir-address a {
	color: inherit; 
	text-decoration: none;
}
.axx-dir-ratings-wrapper {
	margin: 15px 0;
	padding: 10px;
	background: #f8fafc;
	border-radius: 6px;
}
.axx-dir-rating-row {
	font-size: 0.9rem;
	margin-bottom: 5px; 
	display: flex; 
	justify-content: space-between; 
	align-items: center;
}
.axx-dir-rating-row .label {
	font-weight: 600;
}
.axx-dir-rating-row .score {
	font-weight: bold; 
	display: flex; 
	align-items: center; 
	gap: 5px;
}
.axx-dir-rating-row.google .label {
	color: #64748b;
}
.axx-dir-rating-row.stoner .label, .axx-dir-rating-row.stoner .score {
	color: #10b981;
}
.axx-dir-rating-prompt {
	font-size: 0.85rem;
	margin-top: 10px;
	border-top: 1px solid #e2e8f0;
	padding-top: 8px;
}
.axx-dir-rating-prompt span {
	color: #64748b;
	display: block;
	margin-bottom: 5px;
}
.axx-rate-action {
	display: inline-flex; 
	gap: 2px; cursor: pointer;
}

/* Single Listing */
.axx-dir-claim-banner { 
	background: #fffbeb; 
	border: 1px solid #f59e0b; 
	padding: 20px; 
	border-radius: 8px; 
	margin-bottom: 30px; 
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	flex-wrap: wrap; 
	gap: 15px; 
}
.axx-dir-claim-banner h3 { 
	margin: 0 0 5px 0; 
	color: #b45309; 
	font-size: 1.2rem;
}
.axx-dir-claim-banner p { 
	margin: 0; 
	color: #92400e; 
	font-size: 0.95rem; 
}
.axx-dir-single-article { 
	background: #fff; 
	border: 1px solid #e2e8f0; 
	border-radius: 12px; 
	padding: 40px; 
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); 
}
.axx-dir-single-layout { 
	display: flex; 
	justify-content: space-between; 
	align-items: flex-start; 
	flex-wrap: wrap; 
	gap: 20px; 
	border-bottom: 1px solid #e2e8f0; 
	padding-bottom: 30px; 
	margin-bottom: 30px; 
}
.axx-dir-single-header { 
	flex: 2; 
	min-width: 300px; 
}
.axx-dir-single-header h1 { 
	margin: 0 0 15px 0; 
	font-size: 2.5rem; 
	line-height: 1.2;
 }
.axx-dir-single-header .axx-dir-address { 
	margin-bottom: 10px; 
	font-size: 1.1rem; 
}
.axx-dir-website { 
	color: #0ea5e9; 
	font-size: 1.1rem; 
}
.axx-dir-website a { 
	color: inherit; 
	text-decoration: underline; 
}
.axx-dir-single-ratings { 
	flex: 1; 
	min-width: 250px; 
	background: #f8fafc; 
	border-radius: 8px; 
	padding: 25px; 
	border: 1px solid #e2e8f0;
 }
.axx-dir-single-ratings h3 { 
	margin: 0 0 15px 0; 
	font-size: 1.1rem; 
	border-bottom: 1px solid #cbd5e1; 
	padding-bottom: 10px; 
}
.axx-dir-single-ratings .axx-dir-rating-row .score { 
	font-size: 1.2rem; 
}
.axx-dir-single-content { 
	font-size: 1.1rem; 
	line-height: 1.8; 
	color: #334155; 
}
.axx-dir-single-content h2 {
	 margin-top: 0; 
}