/**
 * Stili minimi per la navigazione Marca -> Modello e la pagina Modello.
 * Pensati come base sovrascrivibile dal tema attivo.
 *
 * Gli shortcode [gav_marche_grid] e [gav_modelli_grid] possono essere
 * incollati dentro pagine costruite con page builder (es. Oxygen), i cui
 * fogli di stile globali spesso azzerano "display"/"flex-direction" sui div
 * con una specificità più alta della nostra. Per questo le proprietà di
 * layout della griglia usano !important: senza, il builder ospitante può
 * far impilare le card verticalmente.
 */

/*
 * Fix specifico per Oxygen Builder: ".ct-div-block" (il wrapper generico che
 * Oxygen mette intorno a un elemento "Shortcode") ha di default
 * "display:flex; flex-direction:column; align-items:flex-start;" — questo fa
 * sì che il suo contenuto si restringa alla larghezza del contenuto invece di
 * occupare tutta la riga, impedendo a "grid-template-columns" di calcolare
 * più di una colonna. La regola sotto interviene SOLO sui blocchi Oxygen che
 * contengono effettivamente una delle nostre griglie, senza alterare il
 * comportamento di Oxygen altrove nel sito.
 */
.ct-div-block:has(.gav-marche-grid),
.ct-div-block:has(.gav-modelli-grid) {
	align-items: stretch !important;
}

.gav-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.gav-breadcrumb {
	font-size: 13px;
	color: #666;
	margin: 20px 0;
}

.gav-breadcrumb a {
	color: #666;
	text-decoration: none;
}

.gav-breadcrumb a:hover {
	text-decoration: underline;
}

.gav-breadcrumb__sep {
	margin: 0 6px;
	color: #ccc;
}

.gav-archive__header {
	margin-bottom: 30px;
}

.gav-archive__title {
	margin-bottom: 8px;
}

.gav-archive__subtitle {
	color: #555;
}

/* Griglia Marche (livello 0: selezione Marca) */

.gav-marche-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 20px !important;
	margin: 30px auto 50px !important;
	max-width: 1500px;
	width: 100%;
}

@media (min-width: 700px) {
	.gav-marche-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* Desktop: 4 loghi per riga, riga larga al massimo 1500px (vedi max-width sopra). */
@media (min-width: 1024px) {
	.gav-marche-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

.gav-marca-card {
	display: block !important;
	width: auto !important;
	float: none !important;
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: #fff;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.gav-marca-card:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
	border-color: #ccc;
}

.gav-marca-card__logo {
	aspect-ratio: 3 / 2;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 20px;
}

.gav-marca-card__logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.gav-marca-card__fallback {
	font-weight: 700;
	font-size: 18px;
	color: #333;
	text-align: center;
}

.gav-marca-card__title {
	padding: 12px 16px 16px;
	font-weight: 600;
	font-size: 15px;
	text-align: center;
	border-top: 1px solid #f0f0f0;
}

/* Griglia Modelli (livello 1: Marca -> Modello) */

.gav-modelli-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	gap: 24px !important;
	margin: 30px 0 50px;
	width: 100%;
}

.gav-modello-card {
	display: block !important;
	width: auto !important;
	float: none !important;
	border: 1px solid #e2e2e2;
	border-radius: 8px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: #fff;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.gav-modello-card:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}

.gav-modello-card__image {
	aspect-ratio: 4 / 3;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.gav-modello-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gav-modello-card__title {
	padding: 14px 16px 4px;
	font-weight: 600;
	font-size: 16px;
}

.gav-modello-card__count {
	padding: 0 16px 14px;
	font-size: 13px;
	color: #777;
}

/* Wrapper della griglia WP Grid Builder (livello 2: proposte allestimento) */

.gav-grid-wrapper {
	margin: 20px 0 60px;
}

.gav-admin-notice {
	padding: 12px 16px;
	background: #fff8e5;
	border: 1px solid #f0c33c;
	border-radius: 4px;
}
