/* Zone servite - hub local SEO
   Usa i token gia' definiti in common.css (--primary, --secondary, ecc.) */

.zs-section { padding: 140px 0 80px; background: var(--bg-primary, #fff); }
.zs-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

.zs-breadcrumb {
    font-size: .85rem;
    color: #64748b;
    margin-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.zs-breadcrumb a { color: #64748b; text-decoration: none; }
.zs-breadcrumb a:hover { color: var(--primary, #fcb321); text-decoration: underline; }
.zs-breadcrumb [aria-current="page"] { color: var(--secondary, #000222); font-weight: 600; }

.zs-section h1 {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    color: var(--secondary, #000222);
    margin: 0 0 16px;
    line-height: 1.15;
}
.zs-lede {
    font-size: 1.05rem;
    color: #475569;
    max-width: 68ch;
    line-height: 1.7;
    margin: 0 0 40px;
}
.zs-lede a { color: var(--primary, #fcb321); }

/* Griglia dei comuni */
.zs-grid {
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 4px 24px;
}
.zs-grid li { font-size: .95rem; line-height: 1.9; }
.zs-grid a {
    color: var(--secondary, #000222);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color .2s, border-color .2s;
}
.zs-grid a:hover,
.zs-grid a:focus-visible { color: var(--primary, #fcb321); border-bottom-color: currentColor; }
.zs-prov { color: #94a3b8; font-size: .82rem; }

/* Card delle regioni */
.zs-cards {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}
.zs-card {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 24px;
    background: #fff;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.zs-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0, 2, 34, .09);
    border-color: var(--primary, #fcb321);
}
.zs-card a { text-decoration: none; }
.zs-card h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    color: var(--secondary, #000222);
    margin: 0 0 6px;
}
.zs-card:hover h2 { color: var(--primary, #fcb321); }
.zs-count {
    font-size: .82rem;
    font-weight: 600;
    color: var(--primary, #fcb321);
    margin: 0 0 8px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.zs-sample { font-size: .88rem; color: #64748b; margin: 0; line-height: 1.6; }

.zs-back { margin: 0; }
.zs-back a { color: var(--primary, #fcb321); text-decoration: none; font-weight: 600; }
.zs-back a:hover { text-decoration: underline; }

@media (max-width: 768px) {
    .zs-section { padding: 110px 0 60px; }
    .zs-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
}
