/* ═══════════════════════════════════════════════
   Bordo Bikes — Responsive Breakpoints
   480px | 640px | 1024px
   ═══════════════════════════════════════════════ */

/* ── Nav ── */
@media (max-width: 1023px) {
  .bb-desktop-nav { display: none !important; }
  .bb-mobile-nav  { display: flex !important; }
}
@media (min-width: 1024px) {
  .bb-desktop-nav { display: flex !important; }
  .bb-mobile-nav  { display: none !important; }
}

/* ── Grids collapse ── */
@media (max-width: 640px) {
  .hero-grid         { padding-left: 16px !important; padding-right: 16px !important; }
  .offer-grid        { grid-template-columns: 1fr !important; }
  .pakiety-grid      { grid-template-columns: 1fr !important; }
  .offer-grid > *:first-child { grid-row: auto !important; }
  .bikes-grid        { grid-template-columns: 1fr !important; }
  .reviews-grid      { grid-template-columns: 1fr !important; }
  .contact-grid      { grid-template-columns: 1fr !important; }
  .rower-grid        { grid-template-columns: 1fr !important; }
  .flota-grid        { grid-template-columns: 1fr !important; }
  .why-grid          { grid-template-columns: 1fr !important; }
  .book-bikes-grid   { grid-template-columns: 1fr !important; }
  .footer-grid       { grid-template-columns: 1fr !important; }
  .flota-filter      { flex-direction: column !important; gap: 8px !important; }
  .flota-header      { padding-top: 120px !important; }
  .kpo-logos         { flex-direction: column !important; gap: 20px !important; }
  .kpo-logos > .logo-divider { display: none !important; }
}

@media (max-width: 480px) {
  .hero-btns         { flex-direction: column !important; align-items: stretch !important; }
  .hero-stats        { gap: 20px !important; }
  .section-header-row { flex-direction: column !important; align-items: flex-start !important; }
  .card-actions      { flex-direction: column !important; }
  .form-two-col      { grid-template-columns: 1fr !important; }
  .rez-grid          { grid-template-columns: 1fr !important; }
}

/* ── Single bike — booking panel sticky ── */
@media (max-width: 1023px) {
  .sp-wrap { padding-bottom: 88px !important; }
  .rower-booking-sticky { position: static !important; }
  .rower-booking-bar {
    display: flex !important;
    position: fixed; bottom: 0; left: 0; right: 0;
    background: var(--bg-card);
    border-top: 1px solid var(--border);
    padding: 12px 20px;
    z-index: 100;
    gap: 12px;
    align-items: center;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.08);
  }
}
@media (min-width: 1024px) {
  .rower-booking-bar { display: none !important; }
}

/* ── Cart grid — mobile ── */
@media (max-width: 900px) {
  .bb-cart-grid { grid-template-columns: 1fr !important; }
  .bb-cart-sticky { position: static !important; }
}
@media (max-width: 640px) {
  .bb-cart-item { flex-direction: column !important; }
  .bb-cart-item-img { width: 100% !important; height: 200px !important; }
}

/* ── Step indicator — mobile ── */
@media (max-width: 480px) {
  .step-label { display: none; }
  .step-indicator { margin-bottom: 28px; }
}

/* ── Booking widget godzinowy — mobile ── */
@media (max-width: 480px) {
  #bw-fields-hours .bw-date-card { flex-wrap: wrap; }
  #bw-fields-hours .bw-dc-cell:nth-child(1),
  #bw-fields-hours .bw-dc-cell:nth-child(3) { flex: 0 0 calc(50% - 1px); }
  #bw-fields-hours .bw-dc-sep:nth-child(2) { display: none; }
  #bw-fields-hours .bw-dc-sep:nth-child(4) { width: 100%; height: 1px; margin: 0; flex-shrink: 0; }
  #bw-fields-hours .bw-dc-cell:nth-child(5) { flex: 0 0 100%; border-top: 1px solid var(--border); }
}
