/* =====================================================
   VisualCraft Pro — Responsive CSS
   ===================================================== */

/* Tablet (≤ 768px) */
@media (max-width: 768px) {
  .vcp-container { padding: 0 20px; }
  .vcp-row { gap: var(--vcp-col-gap, 20px); }
  .vcp-column { flex: 1 1 100% !important; }
  .vcp-cols-2 .vcp-column,
  .vcp-cols-3 .vcp-column,
  .vcp-cols-4 .vcp-column { flex: 1 1 calc(50% - 10px) !important; }
  .vcp-gallery-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .vcp-gallery-masonry { columns: 2 !important; }
  .vcp-pricing { padding: 24px; }
  .vcp-countdown { gap: 10px; }
  .vcp-countdown-unit { min-width: 50px; padding: 10px 12px; }
  .vcp-cd-num { font-size: 28px; }
  [class*='vcp-section'] { overflow-x: hidden; }
  .vcp-device-tablet .vcp-el-hide-tablet,
  [data-vcp-hide-tablet="true"] { display: none !important; }
}

/* Mobile (≤ 480px) */
@media (max-width: 480px) {
  .vcp-container { padding: 0 16px; }
  .vcp-row { flex-direction: column; gap: 16px; }
  .vcp-column { flex: 1 1 100% !important; min-width: 0; }
  .vcp-cols-2 .vcp-column,
  .vcp-cols-3 .vcp-column,
  .vcp-cols-4 .vcp-column { flex: 1 1 100% !important; }
  .vcp-gallery-grid { grid-template-columns: repeat(1, 1fr) !important; }
  .vcp-gallery-masonry { columns: 1 !important; }
  .vcp-pricing { padding: 20px; }
  .vcp-pricing-price { font-size: 36px; }
  .vcp-countdown { flex-wrap: wrap; justify-content: center; }
  .vcp-tabs-vertical { flex-direction: column; }
  .vcp-tabs-nav { flex-direction: row !important; }
  .vcp-btn-lg { height: 44px; padding: 0 24px; font-size: 14px; }
  .vcp-btn-xl { height: 52px; padding: 0 30px; font-size: 16px; }
  .vcp-back-to-top { bottom: 16px; right: 16px; }
  [data-vcp-hide-mobile="true"] { display: none !important; }
}

/* Desktop (≥ 1200px) */
@media (min-width: 1200px) {
  .vcp-cols-2 .vcp-column { flex: 1; }
  .vcp-cols-3 .vcp-column { flex: 1; }
  .vcp-cols-4 .vcp-column { flex: 1; }
}

/* Print */
@media print {
  .vcp-scroll-progress, .vcp-back-to-top, .vcp-cursor, .vcp-page-transition-overlay,
  .vcp-loading-screen { display: none !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-vcp-animate], [data-vcp-parallax] { animation: none !important; transform: none !important; transition: none !important; }
  .vcp-loader-spinner { animation-duration: 2s; }
}
