/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Child theme for the NGS insurance catalog project.
Author: Codex
Template: generatepress
Version: 0.1.0
Text Domain: generatepress-child
*/

.ngs-car-card {
	display: grid;
	gap: 2rem;
}

.ngs-car-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.9fr);
	gap: 1.5rem;
	padding: 1.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4fb 100%);
	border: 1px solid #d9e2ec;
	border-radius: 16px;
}

.ngs-car-hero-copy,
.ngs-car-hero-media {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.ngs-car-kicker {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5f6b7a;
}

.ngs-car-subtitle {
	margin-top: 0;
	color: #5f6b7a;
	font-size: 1rem;
}

.ngs-car-highlights {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ngs-car-highlights span {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.85rem;
	background: rgba(19, 60, 85, 0.08);
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 600;
	color: #133c55;
}

.ngs-car-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
}

.ngs-car-price-panel {
	display: grid;
	gap: 0.85rem;
	padding: 1.1rem 1.2rem;
	background: #133c55;
	color: #fff;
	border-radius: 14px;
}

.ngs-car-price-panel-title {
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

.ngs-price-panel-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.ngs-price-panel-row strong {
	font-size: 1.2rem;
}

.ngs-company-subtitle {
	margin: 0.25rem 0 0;
	color: #5f6b7a;
	font-size: 1rem;
}

.ngs-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.95rem;
	color: #5f6b7a;
}

.ngs-breadcrumbs a {
	color: #133c55;
	text-decoration: none;
}

.ngs-breadcrumb-separator {
	color: #90a0b3;
}

.ngs-car-grid,
.ngs-car-prices,
.ngs-modifications-table,
.ngs-faq-section {
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 14px;
	padding: 1.25rem;
}

.ngs-car-grid h2,
.ngs-car-prices h2,
.ngs-modifications-table h2,
.ngs-car-companies h2 {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 1.35rem;
}

.ngs-spec-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1rem;
	margin: 0;
}

.ngs-spec-list div {
	padding: 0.875rem 1rem;
	background: #f7fafc;
	border-radius: 10px;
}

.ngs-spec-list dt {
	margin: 0 0 0.35rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #5f6b7a;
}

.ngs-spec-list dd {
	margin: 0;
	font-size: 1rem;
}

.ngs-price-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	margin: 0;
}

.ngs-price-list div {
	padding: 1rem;
	background: #f7fafc;
	border-radius: 10px;
}

.ngs-price-value {
	display: block;
	font-size: 1.35rem;
	font-weight: 700;
}

.ngs-modifications-table table {
	width: 100%;
	border-collapse: collapse;
}

.ngs-modifications-table th,
.ngs-modifications-table td {
	padding: 0.9rem 0.75rem;
	border-bottom: 1px solid #e5edf5;
	text-align: left;
	vertical-align: top;
}

.ngs-modifications-table th {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #5f6b7a;
}

.ngs-modification-note-row td {
	font-size: 0.95rem;
	color: #486581;
	background: #fbfdff;
}

.ngs-modification-label {
	font-weight: 600;
}

.ngs-company-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	padding: 0;
	list-style: none;
}

.ngs-company-list li {
	padding: 0;
}

.ngs-company-list-card {
	display: grid;
	gap: 0.75rem;
	padding: 1rem;
	background: #f7fafc;
	border-radius: 12px;
	height: 100%;
}

.ngs-company-list-title {
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
	color: #133c55;
}

.ngs-company-list-rating {
	font-size: 0.95rem;
	color: #486581;
}

.ngs-company-list-link {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
	color: #133c55;
	text-decoration: none;
}

.ngs-company-card {
	display: grid;
	gap: 2rem;
}

.ngs-company-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.9fr);
	gap: 1.5rem;
	padding: 1.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4fb 100%);
	border: 1px solid #d9e2ec;
	border-radius: 16px;
}

.ngs-company-hero-copy,
.ngs-company-hero-side {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.ngs-company-kicker {
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5f6b7a;
}

.ngs-company-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.ngs-company-tags span {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.85rem;
	background: rgba(19, 60, 85, 0.08);
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 600;
	color: #133c55;
}

.ngs-company-hero-note {
	margin: 0;
	color: #334e68;
	font-size: 1rem;
	line-height: 1.6;
}

.ngs-company-logo {
	padding: 1rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 14px;
}

.ngs-company-logo img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.ngs-landing-page {
	display: grid;
	gap: 2rem;
}

.ngs-landing-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.6fr);
	gap: 1.5rem;
	padding: 1.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4fb 100%);
	border: 1px solid #d9e2ec;
	border-radius: 16px;
}

.ngs-landing-hero-copy {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.ngs-landing-price-card {
	display: grid;
	gap: 0.75rem;
	align-content: start;
	padding: 1.2rem;
	background: #133c55;
	color: #fff;
	border-radius: 14px;
}

.ngs-landing-price-note {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.6;
}

.ngs-steps-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.ngs-step-card {
	display: grid;
	gap: 0.75rem;
	padding: 1.1rem;
	background: #f7fafc;
	border-radius: 12px;
}

.ngs-step-card h3 {
	margin: 0;
	font-size: 1.05rem;
}

.ngs-step-card p {
	margin: 0;
	color: #486581;
	line-height: 1.6;
}

.ngs-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: #133c55;
	color: #fff;
	font-weight: 700;
}

.ngs-company-meta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
}

.ngs-company-ratings {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: stretch;
}

.ngs-rating-card {
	display: grid;
	gap: 0.5rem;
	padding: 1rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 14px;
	min-width: 220px;
}

.ngs-rating-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: #5f6b7a;
}

.ngs-company-meta div,
.ngs-company-section,
.ngs-company-cta,
.ngs-company-reviews {
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 14px;
}

.ngs-company-meta dt {
	margin: 0 0 0.35rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: #5f6b7a;
}

.ngs-company-meta dd {
	margin: 0;
	font-size: 1rem;
}

.ngs-rating-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 110px;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	background: #133c55;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
}

.ngs-company-section h2,
.ngs-company-cta h2,
.ngs-company-reviews h2,
.ngs-faq-section h2 {
	margin-top: 0;
	margin-bottom: 1rem;
	font-size: 1.35rem;
}

.ngs-prose p:last-child {
	margin-bottom: 0;
}

.ngs-cta-button {
	display: inline-block;
	margin-top: 1rem;
	padding: 0.9rem 1.25rem;
	background: #133c55;
	color: #fff;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 600;
}

.ngs-cta-button:hover,
.ngs-cta-button:focus {
	background: #0f3145;
	color: #fff;
}

.ngs-linked-cars {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1rem;
	padding: 0;
	list-style: none;
}

.ngs-linked-cars li {
	padding: 0;
}

.ngs-linked-cars-card {
	display: grid;
	gap: 0.75rem;
	padding: 1rem;
	background: #f7fafc;
	border-radius: 12px;
	height: 100%;
}

.ngs-linked-cars-title {
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
	color: #133c55;
}

.ngs-rating-summary .glsr-summary,
.ngs-rating-summary .glsr {
	margin: 0;
}

.ngs-faq-list {
	display: grid;
	gap: 0.85rem;
}

.ngs-faq-item {
	border: 1px solid #e5edf5;
	border-radius: 12px;
	background: #f7fafc;
	padding: 0;
}

.ngs-faq-item summary {
	cursor: pointer;
	padding: 1rem 1.1rem;
	font-weight: 600;
	list-style: none;
}

.ngs-faq-item summary::-webkit-details-marker {
	display: none;
}

.ngs-faq-answer {
	padding: 0 1.1rem 1rem;
	color: #334e68;
}

.ngs-archive-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.5fr);
	gap: 1.5rem;
	padding: 1.5rem;
	background: linear-gradient(135deg, #f8fbff 0%, #eef4fb 100%);
	border: 1px solid #d9e2ec;
	border-radius: 16px;
	margin-bottom: 1.5rem;
}

.ngs-archive-hero-copy {
	display: grid;
	gap: 0.85rem;
	align-content: start;
}

.ngs-archive-description {
	margin: 0;
	color: #486581;
	font-size: 1rem;
	line-height: 1.7;
}

.ngs-archive-stats {
	display: grid;
	align-content: start;
}

.ngs-archive-stat-card {
	padding: 1.25rem;
	background: #133c55;
	color: #fff;
	border-radius: 14px;
}

.ngs-taxonomy-logo-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
	padding: 1rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 14px;
}

.ngs-taxonomy-logo-card img {
	display: block;
	max-width: 100%;
	max-height: 96px;
	width: auto;
	height: auto;
}

.ngs-archive-stat-label {
	display: block;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

.ngs-archive-stat-value {
	display: block;
	margin-top: 0.65rem;
	font-size: 2rem;
	line-height: 1;
}

.ngs-archive-toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 0.6fr);
	gap: 1rem;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 14px;
	margin-bottom: 1.5rem;
}

.ngs-archive-toolbar-copy h2 {
	margin: 0 0 0.4rem;
}

.ngs-archive-toolbar-copy p {
	margin: 0;
	color: #486581;
}

.ngs-archive-filters-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 82px;
	padding: 1rem;
	background: #f7fafc;
	border: 1px dashed #bfd0e0;
	border-radius: 12px;
	font-weight: 600;
	color: #486581;
}

.ngs-facet-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.ngs-facet-block {
	padding: 1rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 12px;
}

.ngs-facet-label {
	margin-bottom: 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: #5f6b7a;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ngs-archive-results-meta {
	margin-bottom: 1rem;
	color: #486581;
	font-weight: 600;
}

.ngs-cars-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
}

.ngs-insurance-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
}

.ngs-car-archive-card {
	margin: 0;
}

.ngs-insurance-archive-card {
	margin: 0;
}

.ngs-car-archive-link {
	display: grid;
	height: 100%;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ngs-car-archive-link:hover,
.ngs-car-archive-link:focus {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(19, 60, 85, 0.08);
}

.ngs-insurance-archive-link {
	display: grid;
	height: 100%;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ngs-insurance-archive-link:hover,
.ngs-insurance-archive-link:focus {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(19, 60, 85, 0.08);
}

.ngs-car-archive-image img {
	display: block;
	width: 100%;
	height: auto;
}

.ngs-insurance-archive-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 1.15rem 0;
}

.ngs-insurance-archive-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 78px;
	padding: 0.75rem;
	background: #fff;
	border: 1px solid #d9e2ec;
	border-radius: 12px;
	flex: 1;
}

.ngs-insurance-archive-logo img {
	display: block;
	max-width: 100%;
	max-height: 56px;
	width: auto;
	height: auto;
}

.ngs-insurance-archive-rating {
	display: grid;
	gap: 0.25rem;
	min-width: 92px;
	padding: 0.8rem 0.9rem;
	background: #133c55;
	color: #fff;
	border-radius: 12px;
	text-align: center;
}

.ngs-insurance-archive-rating span {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.82);
}

.ngs-insurance-archive-rating strong {
	font-size: 1.25rem;
	line-height: 1;
}

.ngs-car-archive-content {
	display: grid;
	gap: 0.9rem;
	padding: 1.15rem;
}

.ngs-insurance-archive-content {
	display: grid;
	gap: 0.9rem;
	padding: 1.15rem;
}

.ngs-car-archive-kicker {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #5f6b7a;
}

.ngs-car-archive-title {
	margin: 0;
	font-size: 1.35rem;
	line-height: 1.2;
	color: #133c55;
}

.ngs-car-archive-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.ngs-car-archive-meta span {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 0.8rem;
	background: #f7fafc;
	border-radius: 999px;
	font-size: 0.88rem;
	font-weight: 600;
	color: #486581;
}

.ngs-car-archive-excerpt {
	margin: 0;
	color: #486581;
	line-height: 1.6;
}

.ngs-car-archive-footer {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
}

.ngs-car-archive-price span {
	display: block;
	font-size: 0.82rem;
	color: #5f6b7a;
}

.ngs-car-archive-price strong {
	display: block;
	margin-top: 0.2rem;
	font-size: 1.15rem;
	color: #133c55;
}

.ngs-car-archive-action {
	font-weight: 700;
	color: #133c55;
}

.ngs-archive-pagination {
	margin-top: 2rem;
}

@media (max-width: 768px) {
	.ngs-car-hero {
		grid-template-columns: 1fr;
	}

	.ngs-company-hero {
		grid-template-columns: 1fr;
	}

	.ngs-landing-hero {
		grid-template-columns: 1fr;
	}

	.ngs-archive-hero,
	.ngs-archive-toolbar {
		grid-template-columns: 1fr;
	}

	.ngs-modifications-table {
		overflow-x: auto;
	}

	.ngs-modifications-table table {
		min-width: 680px;
	}
}
