/* Appily Eighteen — global mobile responsive enhancements */

/* Touch-friendly inputs site-wide */
@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"],
  [class*="-btn"] {
    min-height: 44px;
  }
}

@media (max-width: 900px) {
  /* Page heroes — shared pattern across themed pages */
  [class*="-hero"] {
    padding-top: clamp(20px, 4vw, 32px) !important;
    padding-bottom: clamp(16px, 3vw, 24px) !important;
  }

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

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

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

  /* Breadcrumb / pipe trails */
  .cf-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;
  }

  /* Meta grids → single column on narrow */
  [class*="-meta-grid"] {
    grid-template-columns: 1fr 1fr;
  }

  /* Form footers stack */
  [class*="-form-foot"],
  [class*="-form-actions"],
  [class*="-manifest-foot"] {
    flex-direction: column;
    align-items: stretch !important;
  }

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

  /* Sidebars become static */
  aside[class*="-slate"],
  aside[class*="-desk"],
  aside[class*="-rack"],
  aside[class*="-registry"] {
    position: static !important;
    top: auto !important;
  }
}

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

  [class*="-meta-grid"],
  [class*="-fields-duo"],
  [class*="-drawers-grid"],
  [class*="-details-grid"],
  [class*="-neighbors-head"] {
    grid-template-columns: 1fr !important;
  }

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

  /* Horizontal scroll rows */
  [class*="-cell-row"],
  [class*="-scroll-track"] {
    margin-left: -4px;
    margin-right: -4px;
    padding-left: 4px;
    padding-right: 4px;
  }

  /* Policy pages */
  .policy-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .policy-nav::-webkit-scrollbar {
    display: none;
  }

  .policy-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.78rem;
    padding: 8px 12px;
  }

  .policy-card,
  .policy-content {
    padding: 18px 16px;
  }

  .policy-content table,
  .policy-detail table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.82rem;
  }

  /* Order success & generic panels */
  .section .panel {
    padding: 22px 16px !important;
  }

  .section .panel h1 {
    font-size: 1.45rem;
  }

  .section .panel [style*="display:flex"] {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .section .panel .btn {
    width: 100%;
    text-align: center;
  }

  /* Company info */
  .company-grid,
  .info-grid {
    grid-template-columns: 1fr !important;
  }

  /* Cart row cards */
  .ct-row-card {
    grid-template-columns: 72px 1fr !important;
    gap: 12px;
  }

  .ct-row-qty,
  .ct-row-line {
    grid-column: 1 / -1;
    justify-self: start;
  }

  /* Checkout weighbridge */
  .wb-pay-grid {
    grid-template-columns: 1fr !important;
  }

  /* Orders ticket rail */
  .rt-ticket-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  /* Track support glasshouse */
  .gh-scan-form .gh-fields {
    grid-template-columns: 1fr !important;
  }

  /* Help center glossary */
  .rg-term-grid {
    grid-template-columns: 1fr !important;
  }

  /* Product bench */
  .nb-valve {
    width: 100%;
    justify-content: center;
  }

  .nb-sensors {
    justify-content: flex-start;
  }

  /* Order status cold van */
  .cv-route-strip {
    flex-direction: column;
    align-items: stretch;
  }

  .cv-route-line {
    display: none;
  }

  /* Contact pump house */
  .ph-drawer-footer a {
    flex: 1 1 100%;
  }

  /* Shop harvest stall filters */
  .hs-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .hs-toolbar-actions {
    width: 100%;
    justify-content: stretch;
  }
}

@media (max-width: 400px) {
  [class*="-meta-grid"] {
    grid-template-columns: 1fr !important;
  }

  .cf-drawer-actions {
    grid-template-columns: 1fr;
  }

  .cf-drawer-footer a {
    flex: 1 1 100%;
  }
}
