/**
 * Firefly child theme – responsive breakpoints
 * Matches firefly.world: 480 / 768 / 1024 / 1280.
 */

/* --- Breakpoint variables (use in media queries) --- */
/* xs: 0–479, sm: 480–767, md: 768–1023, lg: 1024–1279, xl: 1280+ */

/* --- Global: section padding and container --- */
.ff-section {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px) {
  .ff-section {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1024px) {
  .ff-section {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (min-width: 1280px) {
  .ff-section {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/* --- Header: mobile nav --- */
@media (max-width: 767px) {
  .ff-header-nav .ff-header-menu ul,
  .ff-header-nav .ff-header-menu .menu {
    display: none;
  }

  .ff-header-nav.ff-mobile-open .ff-header-menu ul,
  .ff-header-nav.ff-mobile-open .ff-header-menu .menu {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--ff-white);
    padding: 1rem;
    box-shadow: 0 4px 12px var(--ff-black-10);
  }

  .ff-header-nav.ff-mobile-open .ff-header-menu a {
    color: var(--ff-primary);
  }

  .ff-hamburger {
    display: block;
  }

  .ff-header-logo img {
    max-width: 120px;
  }
}

/* --- Footer --- */
@media (max-width: 479px) {
  .ff-footer-links-row {
    flex-direction: column;
  }

  .fl-themer-layout-footer.ff-themer-footer,
  .ff-themer-footer {
    padding: 1.5rem 1rem 1rem;
  }
}

@media (max-width: 767px) {
  .fl-themer-layout-footer.ff-themer-footer,
  .ff-themer-footer {
    padding: 1.5rem 1.5rem 1rem;
  }
}

/* --- Tabs: scroll on small screens --- */
@media (max-width: 767px) {
  .ff-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .ff-tabs::-webkit-scrollbar {
    display: none;
  }

  .ff-tab {
    flex-shrink: 0;
  }
}

/* --- Car viewer: stack swatches, smaller image --- */
@media (max-width: 767px) {
  .ff-color-swatches {
    justify-content: center;
  }

  [data-ff-car-viewer] .ff-car-image,
  .ff-car-viewer .ff-car-image {
    max-width: 100%;
  }
}

/* --- Marquee: slower on mobile (smaller gap) --- */
@media (max-width: 767px) {
  .ff-marquee__track,
  .ff-marquee__track--clone {
    gap: 0.75rem;
  }

  .ff-marquee__item {
    min-width: 200px;
  }
}

/* --- Buttons: full width on xs --- */
@media (max-width: 479px) {
  .ff-btn-primary,
  .ff-btn-secondary {
    width: 100%;
    justify-content: center;
  }
}

/* --- Visibility utilities (xs: 0-479, sm: 480-767, md: 768-1023, lg: 1024+) --- */
.ff-hide-xs { display: none !important; }
@media (min-width: 480px) { .ff-hide-xs { display: block !important; } }

.ff-hide-sm { display: block !important; }
@media (min-width: 480px) { .ff-hide-sm { display: none !important; } }
@media (min-width: 768px) { .ff-hide-sm { display: block !important; } }

.ff-hide-md { display: block !important; }
@media (min-width: 768px) { .ff-hide-md { display: none !important; } }
@media (min-width: 1024px) { .ff-hide-md { display: block !important; } }

.ff-hide-lg { display: block !important; }
@media (min-width: 1024px) { .ff-hide-lg { display: none !important; } }
@media (min-width: 1280px) { .ff-hide-lg { display: block !important; } }

.ff-show-xs { display: block !important; }
@media (min-width: 480px) { .ff-show-xs { display: none !important; } }

.ff-show-sm { display: none !important; }
@media (min-width: 480px) { .ff-show-sm { display: block !important; } }
@media (min-width: 768px) { .ff-show-sm { display: none !important; } }

.ff-show-md { display: none !important; }
@media (min-width: 768px) { .ff-show-md { display: block !important; } }
@media (min-width: 1024px) { .ff-show-md { display: none !important; } }

.ff-show-lg { display: none !important; }
@media (min-width: 1024px) { .ff-show-lg { display: block !important; } }
