/* Appily twentythree — Furlite-inspired responsive */

@media (max-width: 1100px) {
  .ft-cat-grid { grid-template-columns: repeat(3, 1fr); }
  .ft-product-grid { grid-template-columns: repeat(3, 1fr); }
  .ft-gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .ft-benefits-grid { grid-template-columns: repeat(3, 1fr); }
  .ft-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .ft-nav-desktop { display: none; }
  .ft-nav-toggle { display: flex; }
  .ft-hero-inner { grid-template-columns: 1fr; }
  .ft-hero-visual { min-height: 300px; }
  .ft-hero-slide img { height: 300px; }
  .ft-testimonial-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .ft-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-product-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-footer-grid { grid-template-columns: 1fr; }
  .ft-header-main { grid-template-columns: 1fr auto; gap: 16px; }
  .ft-brand { grid-column: 1; }
  .ft-header-actions { grid-column: 2; }
  .ft-currency { display: none; }
  .ft-sign-in {
    padding: 8px 12px;
    font-size: 0.72rem;
  }
}

@media (max-width: 520px) {
  .ft-sign-in-label {
    display: none;
  }

  .ft-sign-in {
    padding: 8px 10px;
  }
}

/* Appily Twentytwo — global mobile responsive enhancements */

@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  select,
  textarea {
    font-size: 16px;
  }

  .btn,
  button[type="submit"],
  .pv-search-btn,
  .pv-browse-btn {
    min-height: 44px;
  }
}

@media (max-width: 900px) {
  [class*="-hero"] {
    padding-top: clamp(20px, 4vw, 32px) !important;
    padding-bottom: clamp(16px, 3vw, 24px) !important;
  }

  [class*="-hero"] h1,
  [class*="-hero-copy"] h1 {
    font-size: clamp(1.55rem, 6vw, 2.1rem) !important;
  }

  [class*="-hero-grid"],
  [class*="-layout"],
  [class*="-bench-grid"],
  [class*="-pipe-inner"],
  [class*="-wrap"],
  [class*="-shell-grid"],
  [class*="-deck-grid"],
  [class*="-cover-inner"],
  [class*="-gate"] {
    grid-template-columns: 1fr !important;
  }

  [class*="-floor"],
  [class*="-deck"],
  [class*="-registry"] {
    padding-bottom: 40px;
  }

  [class*="-layout"]:not(.pv-footer-grid) {
    gap: 24px !important;
  }

  .gs-breadcrumb-bar,
  [class*="-pipe-trail"],
  [class*="-trail"] {
    padding-top: 12px;
  }

  [class*="-crumb"],
  [class*="-pipe-inner"] {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px;
  }

  [class*="-meta-grid"],
  [class*="-plate-grid"],
  [class*="-profile-grid"] {
    grid-template-columns: 1fr 1fr;
  }

  [class*="-form-foot"],
  [class*="-form-actions"],
  [class*="-manifest-foot"],
  .auth-dash-actions,
  .orders-head {
    flex-direction: column;
    align-items: stretch !important;
  }

  [class*="-form-foot"] .btn,
  [class*="-form-actions"] .btn,
  [class*="-manifest-foot"] .btn {
    width: 100%;
    justify-content: center;
  }

  .gs-dual,
  .gs-dual-wide,
  .gs-cart-layout,
  .catalog-layout,
  .product-detail-grid {
    grid-template-columns: 1fr !important;
  }

  .gs-summary,
  .summary-box,
  .filter-panel {
    position: static !important;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pv-mega-grid {
    grid-template-columns: 1fr !important;
  }

  .policy-nav {
    gap: 6px;
  }

  .policy-nav a {
    flex: 1 1 calc(50% - 6px);
    text-align: center;
    padding: 10px 12px;
    font-size: 0.78rem;
  }

  .policy-card {
    padding: 20px 16px;
  }

  table {
    max-width: 100%;
  }

  [class*="-table-wrap"],
  .vk-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 640px) {
  .product-grid {
    grid-template-columns: 1fr !important;
  }

  [class*="-meta-grid"],
  [class*="-plate-grid"],
  [class*="-profile-grid"] {
    grid-template-columns: 1fr !important;
  }

  .gs-page {
    padding: 24px 0 40px;
  }

  .gs-panel {
    padding: 20px 16px;
  }

  .action-row {
    flex-direction: column;
    align-items: stretch;
  }

  .action-row .btn {
    width: 100%;
    justify-content: center;
  }

  .pv-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px;
  }
}

@media (max-width: 480px) {
  .container {
    width: min(1320px, calc(100% - 16px));
  }

  .policy-nav a {
    flex: 1 1 100%;
  }

  .gs-values-grid {
    grid-template-columns: 1fr !important;
  }
}

@supports (padding: max(0px)) {
  @media (max-width: 768px) {
    .pv-nav.is-open {
      padding-bottom: max(28px, env(safe-area-inset-bottom));
    }
  }
}
