/* ===========================================================
   Spacivo Interior Solutions — responsive icon grid (5 columns desktop, 4
   tablet, 3 mobile), matching the original theme layout. Self-contained
   plugin CSS (no theme dependency beyond the theme's own .container
   wrapper and --color-surface/--color-accent variables).
   =========================================================== */

.spacivo-is-section { padding: 3rem 0; }
.spacivo-is-heading { text-align: center; margin: 0 0 2rem; }

.spacivo-is-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem;
}
@media (min-width: 600px) { .spacivo-is-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 900px) { .spacivo-is-grid { grid-template-columns: repeat(5, 1fr); } }

.spacivo-is-item {
  display: block; text-align: center; text-decoration: none; color: inherit;
}
.spacivo-is-item__icon {
  width: 88px; height: 88px; margin: 0 auto .75rem; display: flex; align-items: center; justify-content: center;
  background: var(--color-surface, #F1ECE5); border-radius: 50%;
}
.spacivo-is-item__icon img { width: 56px; height: 56px; object-fit: contain; }
.spacivo-is-item__title { font-size: .85rem; font-weight: 600; }

a.spacivo-is-item:hover .spacivo-is-item__icon { background: var(--color-accent, #8A1748); }
a.spacivo-is-item:hover .spacivo-is-item__title { color: var(--color-accent, #8A1748); }

.spacivo-is-unconfigured-notice {
  font-size: .85rem; color: #a22022; background: #fff3f3; border: 1px dashed #a22022;
  padding: .75rem 1rem; margin: 1rem auto; max-width: 1280px;
}

@media (max-width: 750px) {
  .spacivo-is-grid { grid-template-columns: repeat(3, 1fr); }
}
