/**
 * APC Aree & Concessionari — Frontend CSS v0.7.0
 */
:root {
	--apc-blue: #1e5cb3;
	--apc-blue-dark: #14478f;
	--apc-text: #1a1a1a;
	--apc-muted: #6b7280;
	--apc-border: #e5e7eb;
	--apc-bg-soft: #f8fafc;
	--apc-radius: 8px;
	--apc-card-shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.05);
}

.apc-ac-error { background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:12px 16px;border-radius:var(--apc-radius);margin:16px 0; }

/* Search form */
.apc-ac-search-form { margin:0 0 28px;background:#fff;padding:18px 20px;border:1px solid var(--apc-border);border-radius:var(--apc-radius);box-shadow:0 1px 2px rgba(0,0,0,.03); }
.apc-ac-search-row { display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:stretch; }
.apc-ac-search-select { min-height:48px;padding:0 40px 0 16px;font-size:16px;font-family:inherit;border:1px solid var(--apc-border);border-radius:var(--apc-radius);background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%236b7280' d='M6 8L0 0h12z'/></svg>") right 16px center no-repeat;color:var(--apc-text);cursor:pointer;appearance:none;-webkit-appearance:none; }
.apc-ac-search-select:focus { outline:none;border-color:var(--apc-blue);box-shadow:0 0 0 3px rgba(30,92,179,.15); }
.apc-ac-search-btn { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 28px;font-size:15px;font-weight:700;font-family:inherit;letter-spacing:.03em;text-transform:uppercase;color:#fff;background:var(--apc-blue);border:none;border-radius:var(--apc-radius);cursor:pointer;transition:background-color .15s ease;white-space:nowrap; }
.apc-ac-search-btn:hover { background:var(--apc-blue-dark); }
.apc-ac-search-reset { display:inline-flex;align-items:center;justify-content:center;padding:0 18px;font-size:14px;font-weight:600;color:var(--apc-muted);text-decoration:none;background:transparent;border:1px solid var(--apc-border);border-radius:var(--apc-radius);transition:all .15s ease;white-space:nowrap; }
.apc-ac-search-reset:hover { color:var(--apc-text);border-color:var(--apc-muted); }

/* Listings */
.apc-ac-listings-wrap { font-family:inherit; }
.apc-ac-results-count { font-size:15px;color:var(--apc-muted);margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--apc-border); }
.apc-ac-results-count strong { color:var(--apc-text);font-weight:700;font-size:17px; }
.apc-ac-list { display:grid;gap:16px; }
.apc-ac-card { display:flex;flex-direction:column;background:#fff;border:1px solid var(--apc-border);border-radius:var(--apc-radius);overflow:hidden;box-shadow:var(--apc-card-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.apc-ac-card:hover { transform:translateY(-3px);border-color:rgba(30,92,179,.25);box-shadow:0 4px 8px rgba(0,0,0,.06),0 14px 32px rgba(30,92,179,.10); }
.apc-ac-card-thumb-link { display:block;background:var(--apc-bg-soft);overflow:hidden; }
.apc-ac-card-thumb { display:block;width:100%;height:180px;object-fit:cover;transition:transform .3s ease; }
.apc-ac-card:hover .apc-ac-card-thumb { transform:scale(1.04); }
.apc-ac-card-body { display:flex;flex-direction:column;padding:22px 24px 24px;gap:8px; }
.apc-ac-card-title { margin:0 0 10px;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:.01em; }
.apc-ac-card-title a { color:var(--apc-blue);text-decoration:none;transition:color .15s ease; }
.apc-ac-card-title a:hover { color:var(--apc-blue-dark);text-decoration:underline;text-underline-offset:3px; }
.apc-ac-card-row { display:flex;align-items:baseline;gap:8px;font-size:14.5px;line-height:1.5;color:var(--apc-text); }
.apc-ac-card-row strong { flex:0 0 90px;color:var(--apc-muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;margin:0; }
.apc-ac-card-row span { flex:1 1 auto;min-width:0; }
.apc-ac-card-btn { display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:11px 22px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;color:#fff;background:var(--apc-blue);border-radius:var(--apc-radius);text-decoration:none;transition:background-color .15s ease;align-self:flex-start; }
.apc-ac-card-btn:hover { background:var(--apc-blue-dark);color:#fff; }
.apc-ac-card-btn::after { content:"→";display:inline-block;margin-left:2px;transition:transform .15s ease; }
.apc-ac-card-btn:hover::after { transform:translateX(3px); }

/* Pagination */
.apc-ac-pagination { display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:32px; }
.apc-ac-pagination .page-numbers { display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;font-size:14px;font-weight:600;color:var(--apc-text);text-decoration:none;background:#fff;border:1px solid var(--apc-border);border-radius:var(--apc-radius);transition:all .15s ease; }
.apc-ac-pagination .page-numbers:hover { border-color:var(--apc-blue);color:var(--apc-blue);transform:translateY(-1px); }
.apc-ac-pagination .page-numbers.current { color:#fff;background:var(--apc-blue);border-color:var(--apc-blue); }
.apc-ac-pagination .page-numbers.dots { border:none;background:transparent;color:var(--apc-muted); }
.apc-ac-no-results { padding:40px 24px;background:var(--apc-bg-soft);border:1px dashed var(--apc-border);border-radius:var(--apc-radius);color:var(--apc-muted);text-align:center;font-size:15px; }

/* Map archive */
.apc-ac-map { width:100%;min-height:400px;border-radius:var(--apc-radius);overflow:hidden;border:1px solid var(--apc-border);background:var(--apc-bg-soft);position:sticky;top:80px; }
.apc-ac-popup { font-family:inherit;min-width:200px; }
.apc-ac-popup-title { margin:0 0 8px;font-size:15px;font-weight:700;color:var(--apc-text);line-height:1.3; }
.apc-ac-popup-meta { margin:0 0 10px;font-size:13px;color:var(--apc-muted); }
.apc-ac-popup-link { display:inline-block;padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff !important;background:var(--apc-blue);border-radius:6px;text-decoration:none; }
.apc-ac-popup-link:hover { background:var(--apc-blue-dark);color:#fff !important; }

/* Single */
.apc-ac-single-wrap { max-width:1280px;margin:40px auto;padding:0 20px; }
.apc-ac-single-header { margin-bottom:28px; }
.apc-ac-single-title { margin:0;font-size:32px;line-height:1.2;font-weight:800;color:var(--apc-blue);text-transform:uppercase;letter-spacing:.01em; }
.apc-ac-single-layout { display:grid;grid-template-columns:minmax(280px,2fr) 3fr;gap:40px;align-items:start; }
.apc-ac-single-sidebar { display:flex;flex-direction:column;gap:14px; }
.apc-ac-single-row { font-size:16px;line-height:1.5;color:var(--apc-text);padding-bottom:14px;border-bottom:1px solid var(--apc-border); }
.apc-ac-single-row:last-of-type { border-bottom:none; }
.apc-ac-single-label { display:inline-block;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--apc-blue);margin-right:6px;font-size:14px; }
.apc-ac-single-value a { color:var(--apc-blue);text-decoration:none; }
.apc-ac-single-value a:hover { text-decoration:underline; }
.apc-ac-single-cta { display:inline-flex;align-items:center;margin-top:12px;padding:12px 24px;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--apc-blue);border-radius:var(--apc-radius);text-decoration:none;transition:background-color .15s ease;align-self:flex-start; }
.apc-ac-single-cta:hover { background:var(--apc-blue-dark);color:#fff; }
.apc-ac-single-back { margin-top:24px;font-size:14px;color:var(--apc-muted);text-decoration:none;align-self:flex-start; }
.apc-ac-single-back:hover { color:var(--apc-blue); }
.apc-ac-single-map-wrap { position:sticky;top:100px; }
.apc-ac-single-map { width:100%;height:540px;border-radius:var(--apc-radius);border:1px solid var(--apc-border);overflow:hidden;background:var(--apc-bg-soft); }
.apc-ac-single-no-map { display:flex;align-items:center;justify-content:center;height:540px;border:1px dashed var(--apc-border);border-radius:var(--apc-radius);color:var(--apc-muted);background:var(--apc-bg-soft);padding:20px;text-align:center; }
.apc-ac-single-gallery { margin-top:60px; }
.apc-ac-single-gallery h2 { margin:0 0 20px;font-size:22px;color:var(--apc-blue);text-transform:uppercase; }
.apc-ac-single-gallery-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px; }
.apc-ac-single-gallery-grid img { display:block;width:100%;height:140px;object-fit:cover;border-radius:6px;transition:transform .15s ease; }
.apc-ac-single-gallery-grid a:hover img { transform:scale(1.03); }

/* Responsive */
@media (max-width:992px) {
	.apc-ac-map { position:static;top:auto;min-height:380px; }
	.apc-ac-single-layout { grid-template-columns:1fr; }
	.apc-ac-single-map-wrap { position:static; }
	.apc-ac-single-map,.apc-ac-single-no-map { height:400px; }
}
@media (max-width:768px) {
	.apc-ac-search-form { padding:14px;margin-bottom:20px; }
	.apc-ac-search-row { grid-template-columns:1fr;gap:8px; }
	.apc-ac-search-select,.apc-ac-search-btn,.apc-ac-search-reset { width:100%; }
	.apc-ac-card-body { padding:18px 18px 20px; }
	.apc-ac-card-title { font-size:17px; }
	.apc-ac-card-row { flex-direction:column;align-items:flex-start;gap:2px; }
	.apc-ac-card-row strong { flex:0 0 auto;font-size:11.5px; }
	.apc-ac-card-thumb { height:160px; }
	.apc-ac-map { min-height:340px; }
	.apc-ac-pagination .page-numbers { min-width:38px;height:38px;padding:0 10px;font-size:13px; }
	.apc-ac-results-count { font-size:14px; }
	.apc-ac-results-count strong { font-size:16px; }
	.apc-ac-single-wrap { margin:24px auto;padding:0 16px; }
	.apc-ac-single-title { font-size:22px; }
	.apc-ac-single-row { font-size:15px; }
	.apc-ac-single-map,.apc-ac-single-no-map { height:320px; }
}
@media (max-width:480px) {
	.apc-ac-search-form { padding:12px; }
	.apc-ac-card-body { padding:16px; }
	.apc-ac-card-btn { width:100%;justify-content:center; }
}
