/* Appily Twentysix — global mobile responsive */

@media (max-width: 768px) {
  :root {
    --container: min(1240px, calc(100% - 24px));
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="number"],
  input[type="search"],
  select,
  textarea {
    font-size: 16px;
  }

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

  .btn,
  button[type="submit"],
  [class*="-btn-primary"],
  [class*="-btn-soft"],
  [class*="-btn-outline"],
  [class*="-btn-trail"] {
    min-height: 44px;
  }
}

@media (max-width: 900px) {
  /* ── Shared hero / cover blocks ── */
  [class*="-hero"],
  [class*="-burst"],
  [class*="-vault"],
  [class*="-gate-hero"],
  [class*="-cover"],
  [class*="-canopy"] {
    padding-top: clamp(28px, 6vw, 48px) !important;
    padding-bottom: clamp(48px, 8vw, 72px) !important;
  }

  [class*="-hero-inner"],
  [class*="-burst-inner"],
  [class*="-vault-inner"],
  [class*="-gate-inner"],
  [class*="-cover-inner"],
  .ck26-grid,
  .gc26-grid,
  .gg26-gate-layout,
  .hb26-layout,
  .bt26-wrap,
  .ts26-hero-inner,
  .hc26-hero-inner,
  .ac26-passport-grid,
  .os26-clothesline {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .gg26-plaque {
    order: 1;
  }

  .gg26-post-left {
    order: 2;
  }

  .gg26-post-right {
    order: 3;
  }

  [class*="-title"],
  [class*="-hero"] h1,
  [class*="-burst"] h1,
  [class*="-vault"] h1,
  [class*="-gate-hero"] h1,
  [class*="-cover"] h1 {
    font-size: clamp(1.65rem, 6.5vw, 2.35rem) !important;
  }

  [class*="-lede"],
  [class*="-hero-lede"] {
    font-size: 0.92rem !important;
  }

  /* ── Two/three column layouts ── */
  [class*="-layout"],
  [class*="-stage"] [class*="-grid"],
  [class*="-floor"] [class*="-grid"],
  [class*="-gate-layout"],
  [class*="-bench-grid"],
  [class*="-archive"] [class*="-layout"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Sidebars / sticky panels first on mobile when useful */
  .ck26-tray,
  .gc26-journal,
  .gg26-post-left,
  .gg26-post-right,
  .bt26-aside,
  .hb26-tabs {
    position: static !important;
  }

  .ck26-tray,
  .gc26-journal,
  .bt26-aside {
    order: -1;
  }

  .ck26-actions,
  .gc26-chamber-foot,
  .gg26-form-foot,
  .bt26-foot,
  .hb26-catalog-actions,
  .pr26-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .ck26-actions .ck26-btn,
  .gc26-chamber-foot .gc26-btn,
  .gg26-form-foot .gg26-btn,
  .bt26-foot .bt26-btn,
  .hb26-catalog-actions .hb26-btn,
  .pr26-actions .pr26-btn {
    width: 100%;
    justify-content: center;
  }

  .hb26-meta,
  .gc26-meta,
  .bt26-meta,
  .hb26-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .hb26-story-grid,
  .hb26-story-grid-reverse {
    grid-template-columns: 1fr !important;
    direction: ltr !important;
  }

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

  /* Progress / timeline rows */
  .bt26-stops-track,
  .gc26-ladder,
  .ck26-path-inner {
    grid-template-columns: 1fr !important;
  }

  .bt26-stops-track::before {
    display: none !important;
  }

  .bt26-stop {
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    gap: 0 12px !important;
    text-align: left !important;
    align-items: start !important;
  }

  .bt26-stop-dot {
    margin: 0 !important;
    grid-row: 1 / 3;
  }

  /* Petal / plot grids */
  .hb26-petal-grid,
  .hb26-rings,
  .ck26-cells {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Tables → cards on small screens */
  .sv-cart-table thead {
    display: none;
  }

  .sv-cart-row {
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 520px) {
  :root {
    --container: min(1240px, calc(100% - 20px));
  }

  .hb26-meta,
  .gc26-meta,
  .bt26-meta,
  .hb26-stats,
  .hb26-petal-grid,
  .hb26-rings,
  .hb26-index-grid {
    grid-template-columns: 1fr !important;
  }

  .hb26-stats {
    flex-direction: column;
  }

  .hb26-stats li {
    width: 100%;
  }

  .hb26-tabs {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }

  .hb26-tab {
    min-width: 140px !important;
    flex: 0 0 auto;
  }

  .hb26-page-card,
  .gg26-plaque,
  .gc26-chamber-body,
  .ck26-bench-body,
  .bt26-ticket-body {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .gg26-plaque-head,
  .gc26-chamber-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .gc26-wax,
  .gc26-badge {
    position: static !important;
    margin-bottom: 12px;
  }

  .bt26-cert-head {
    padding-right: 0 !important;
    padding-top: 0 !important;
  }

  .sv-footer-base {
    flex-direction: column;
    text-align: center;
  }

  .sv-footer-legal-cols {
    grid-template-columns: 1fr !important;
  }
}

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

  .sv-logo {
    font-size: 1.25rem;
  }
}
