/* responsive-custom.css: Custom responsive stylesheet for all shop pages */

/* General container and grid adjustments */
@media (max-width: 1200px) {
  .container, .container-inner {
    width: 100% !important;
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (max-width: 992px) {
  .col-md-4, .col-md-3, .col-md-6, .col-md-9, .col-md-12,
  .col-sm-6, .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  .sidebar, .main, .content-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Typography scaling */
@media (max-width: 768px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 1.3rem !important;
  }
  .hero-section, .title-wrapper h1 {
    font-size: 1.5rem !important;
  }
  .breadcrumb {
    font-size: 0.95rem;
  }
}

/* Hero/title and card adjustments */
@media (max-width: 576px) {
  .hero-section, .title-wrapper {
    padding: 30px 0 20px 0 !important;
    height: 40vh !important;
  }
  .hero-section, .title-wrapper h1 {
    font-size: 1.5rem !important;
  }
  .product-item, .content-page, .sidebar {
    margin-bottom: 20px !important;
    padding: 5px !important;
  }
  .btn {
    font-size: 0.95rem !important;
    padding: 8px 12px !important;
  }
}

/* Navigation and sidebar collapse */
@media (max-width: 768px) {
  .header-navigation, .sidebar {
    width: 100% !important;
    float: none !important;
    margin-bottom: 20px !important;
  }
  .header-navigation ul, .sidebar ul {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  /* allow header row items to wrap and scale */
  .header .row {
    flex-wrap: wrap !important;
  }
  .header .site-logo span {
    font-size: 28px !important;
  }
  .header-navigation ul {
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-start !important;
  }
  .search-box {
    max-width: 100% !important;
    width: auto !important;
  }
}

/* Form and button scaling */
@media (max-width: 480px) {
  input, select, textarea {
    font-size: 1rem !important;
    padding: 8px !important;
  }
  .btn {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Footer and pre-footer */
@media (max-width: 600px) {
  .pre-footer, .footer {
    padding: 10px 0 !important;
    text-align: center !important;
  }
  .pre-footer-col {
    margin-bottom: 20px !important;
  }
}

/* Utility: hide/show elements for mobile */
@media (max-width: 576px) {
  .hide-mobile {
    display: none !important;
  }
  .show-mobile {
    display: block !important;
  }
}
