/* === Responsive unificato === */
@media (max-width: 768px) {
  #offerteGrid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; }
  .contatti-hero-content h1,
  .storia-hero-content h1,
  .miscele-hero-content h1,
  .offerte-hero-content h1,
  .assistenza-hero-content h1 { font-size: 28px; }
  .contatti-hero-content,
  .storia-hero-content,
  .miscele-hero-content,
  .offerte-hero-content,
  .assistenza-hero-content {
    padding: 24px 20px;
    max-width: 90%;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(39,39,37,0.92);
  }
  .contatti-grid { gap: 20px; }
  .contatti-actions { flex-direction: column; }
  .contatti-action-btn { width: 100%; justify-content: center; }
  .contatti-map iframe { height: 180px; }
}
.scroll-top-btn {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 999;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base), transform var(--transition-base);
  transform: translateY(12px);
}
.scroll-top-btn.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.scroll-top-btn:hover {
  filter: brightness(1.15);
  transform: translateY(-2px);
}
.scroll-top-btn svg {
  width: 22px;
  height: 22px;
}

@media (max-width: 480px) {
  #offerteGrid { grid-template-columns: 1fr !important; }
  .contatti-card { padding: 20px 16px; }
  .contatti-info-item { font-size: 13px; }
  .contatti-form input,
  .contatti-form textarea { font-size: 14px; }
  .scroll-top-btn { bottom: 16px; right: 16px; width: 42px; height: 42px; }
}
