/* Appily Thirtyfive — global responsive overrides */

@media (max-width: 1100px) {
  .catalog-layout,
  .product-layout,
  .dual,
  .contact-grid,
  .checkout-grid,
  .form-grid,
  .policy-layout,
  .help-layout {
    grid-template-columns: 1fr;
  }

  .summary-box,
  .filter-panel,
  [class*="a35-"][class*="-sidebar"]:not(.a35-drawer-nav) {
    position: static;
    top: auto;
  }
}

@media (max-width: 768px) {
  .container {
    width: min(1280px, 92vw);
  }

  .page-main {
    overflow-x: clip;
  }

  /* Topbar compact */
  .a35-topbar-inner {
    justify-content: center;
    text-align: center;
    padding: 0.4rem 0;
  }

  .a35-topbar-promo {
    font-size: 0.75rem;
  }

  /* Category strip scroll */
  .a35-cat-strip-inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.35rem;
    scrollbar-width: none;
  }

  .a35-cat-strip-inner::-webkit-scrollbar {
    display: none;
  }

  .a35-cat-pill {
    flex-shrink: 0;
  }

  /* Shared legacy layouts */
  .page-panel {
    padding: 1.25rem 0 2.5rem;
  }

  .panel {
    padding: 1.15rem;
  }

  .panel-lg {
    padding: 1.25rem;
  }

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

  .form-grid {
    grid-template-columns: 1fr;
  }

  .action-row {
    flex-direction: column;
  }

  .action-row .btn {
    width: 100%;
    text-align: center;
  }

  /* Touch-friendly buttons site-wide */
  .btn,
  button[type="submit"]:not(.a35-drawer-close):not(.a35-menu-toggle),
  .a35-btn {
    min-height: 44px;
  }

  /* Tables scroll on small screens */
  .a35-marquee-table,
  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Footer & newsletter */
  .a35-footer-base {
    flex-direction: column;
    text-align: center;
    gap: 0.75rem;
  }

  /* Page-specific hero padding */
  [class*="a35-"][class*="-hero"],
  [class*="a35-"][class*="-marquee"],
  [class*="a35-"][class*="-sign"],
  [class*="a35-"][class*="-atelier"],
  [class*="a35-"][class*="-skylight"] {
    padding-left: 0;
    padding-right: 0;
  }

  /* Full-width buttons in custom page footers */
  [class*="a35-"][class*="-foot"] .btn,
  [class*="a35-"][class*="-actions"] .btn,
  [class*="a35-"][class*="-foot"] {
    flex-direction: column;
  }

  [class*="a35-"][class*="-foot"] .btn,
  [class*="a35-"][class*="-actions"] .btn {
    width: 100%;
    text-align: center;
  }

  /* Product / catalog cards */
  .product-grid,
  .product-grid-compact {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)) !important;
  }

  /* Status / gateway pages */
  .checkout-layout .dual {
    grid-template-columns: 1fr;
  }

  .status-card {
    padding: 1.5rem 1.15rem;
  }

  .a35-gateway-page {
    padding: 1rem;
  }

  /* Mobile drawer tweaks */
  .a35-drawer-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .a35-drawer-cat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Two-column form rows → stack on small screens */
  .form-grid--2,
  .a35-checkout-form-row,
  .a35-contact-form-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .a35-brand-word {
    font-size: 1.2rem;
  }

  .a35-brand-petal {
    width: 26px;
    height: 26px;
  }

  .a35-menu-toggle {
    width: 38px;
    height: 38px;
  }

  .a35-header-actions {
    gap: 0.25rem;
  }

  .a35-action {
    width: 36px;
    height: 36px;
  }

  /* Drawer: single-column quick actions on narrow phones */
  .a35-drawer-quick {
    grid-template-columns: 1fr;
  }

  .a35-drawer-quick-btn {
    flex-direction: row;
    align-items: center;
    min-height: 52px;
  }

  .a35-drawer-cat-grid {
    grid-template-columns: 1fr;
  }

  .a35-drawer-foot {
    grid-template-columns: 1fr;
  }

  /* Homepage bloom grid */
  .a35-veg-cat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .a35-veg-feat-grid {
    grid-template-columns: 1fr;
  }

  .a35-veg-hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .a35-veg-hero-slide-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  /* Policy / help sidebars */
  .policy-layout,
  .help-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 480px) {
  .container {
    width: min(1280px, 94vw);
  }

  .a35-topbar {
    display: none;
  }

  .a35-header-main {
    padding: 0.65rem 0;
  }

  .a35-veg-cat-grid {
    grid-template-columns: 1fr;
  }

  .a35-mobile-panel {
    width: min(360px, 100vw);
  }

  /* Prevent horizontal overflow from wide content */
  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }

  pre,
  code {
    overflow-x: auto;
    word-break: break-word;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a35-mobile-panel,
  .a35-mobile-backdrop,
  .a35-menu-bar,
  .a35-menu-toggle,
  .a35-gateway-pulse::before,
  .a35-gateway-pulse::after,
  .a35-pulse-card .notice::before {
    animation: none;
    transition: none;
  }
}
