/* ═══════════════════════════════════════════════════════════════════════
   A1A Print Shop — phone "web app" layer   (mobile.css)

   Every rule is scoped to html.m-app. index.php only adds that class on
   phones (short screen side < 600px), so desktop and tablets never see
   any of this. Layout/DOM moves for the editor live in mobile.js.
   ═══════════════════════════════════════════════════════════════════════ */

html.m-app { -webkit-text-size-adjust: 100%; }
html.m-app body { overflow-x: hidden; }
html.m-app .wrap { padding: 16px 14px; }

/* iOS zooms the page into any field whose text is under 16px. */
html.m-app input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]),
html.m-app select,
html.m-app textarea { font-size: 16px !important; }

/* ── Header: logo · cart · menu ─────────────────────────────────────── */
html.m-app .a1a-hdr-inner {
  min-width: 0;
  position: relative;
  padding: 8px 8px 8px 14px;
  padding-top: calc(8px + env(safe-area-inset-top));
}
html.m-app #logo { height: 42px; }
html.m-app #a1a-header nav {
  display: none;
  position: absolute; top: 100%; left: 0; right: 0;
  flex-direction: column; align-items: stretch; gap: 0;
  background: var(--darkgrey);
  border-bottom: 1px solid #333;
  box-shadow: 0 16px 30px rgba(0,0,0,.45);
  padding: 4px 0 14px;
  max-height: calc(100vh - 70px); overflow-y: auto;
}
html.m-app #a1a-header.m-nav-open nav { display: flex; }
html.m-app #a1a-header nav a { padding: 14px 22px !important; font-size: 18px; border-top: 1px solid #222; border-radius: 0 !important; }
html.m-app #a1a-header nav a.btn-start-cat {
  margin: 10px 16px 6px !important; padding: 14px !important;
  justify-content: center; border-radius: 10px;
}
.m-hdr-actions { display: flex; align-items: center; gap: 4px; }
.m-burger {
  width: 46px; height: 46px; border: 0; background: none; color: #fff;
  display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 10px;
}
.m-burger:active { background: rgba(255,255,255,.1); }
.m-burger svg { width: 26px; height: 26px; }
html.m-app #cart-badge-btn { padding: 8px 12px !important; font-size: 17px !important; gap: 5px !important; }
html.m-app #cart-badge-btn img { width: 22px !important; height: 22px !important; }

/* ── Home ───────────────────────────────────────────────────────────── */
html.m-app #our-work { margin-bottom: 22px !important; }
html.m-app .ow-mosaic {
  grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(4, 1fr);
  height: 300px; border-radius: 16px; border-width: 3px;
}
html.m-app .ow-overlay { gap: 16px; }
html.m-app .ow-logo { width: 62%; max-width: 240px; }
html.m-app .ow-btn { padding: 12px 30px; font-size: 18px; }

/* Service cards → swipeable carousel */
html.m-app #service-cards-row {
  display: flex; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  margin: 0 -14px 26px; padding: 0 14px 6px;
  scrollbar-width: none;
}
html.m-app #service-cards-row::-webkit-scrollbar { display: none; }
html.m-app #service-cards-row > div[style*="clear"] { display: none; }
html.m-app .hero_card {
  float: none; flex: 0 0 84%; width: auto; min-width: 0; margin: 0;
  scroll-snap-align: center; border-width: 3px; border-radius: 16px;
}
html.m-app .hero_card div { margin-top: 150px; padding: 14px; }
html.m-app .hero_card h2 { font-size: 20px; }
html.m-app .hero_card p { font-size: 14px; line-height: 1.45; }
html.m-app .hero_card .btn-start-cat { margin-top: 12px; padding: 14px 0; border-radius: 10px; }

html.m-app #products { font-size: 19px !important; line-height: 1.3; }
html.m-app #cat-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 28px; }
html.m-app .garment-card { padding: 8px; border-width: 2px; border-radius: 12px; }
html.m-app .garment-card img { margin-bottom: 6px; }
html.m-app .g-name { font-size: 15px; height: auto; line-height: 1.25; padding-top: 2px; }
html.m-app .g-summary { font-size: 11px; line-height: 1.35; margin: 4px 0 10px; }
html.m-app .btn-choose-style { font-size: 14px; padding: 11px 6px; border-radius: 8px; }

/* ── Catalog ────────────────────────────────────────────────────────── */
html.m-app .section-heading { font-size: 20px; margin-bottom: 16px; }
html.m-app #cat-layout { flex-direction: column; }
html.m-app #cat-sidebar { width: auto; padding: 0; border: 0; margin: 0 0 14px; }
html.m-app #cat-search { padding: 12px 14px; border-radius: 10px; margin-bottom: 10px; }

/* Categories / Brands become tap-to-open accordions (headings wired in mobile.js) */
html.m-app #cat-sidebar h3 {
  display: flex; align-items: center; gap: 8px;
  margin: 0; padding: 13px 14px;
  background: #1b1b1b; border: 1px solid #333; border-radius: 10px;
  font-size: 13px; cursor: pointer; user-select: none;
}
html.m-app #cat-sidebar h3 ~ h3 { margin-top: 8px; }
html.m-app #cat-sidebar h3 + ul { display: none; }
html.m-app #cat-sidebar h3.m-open { border-radius: 10px 10px 0 0; }
html.m-app #cat-sidebar h3.m-open + ul {
  display: block; max-height: 55vh; overflow-y: auto; overscroll-behavior: contain;
  padding: 4px 14px 10px; background: #161616;
  border: 1px solid #333; border-top: 0; border-radius: 0 0 10px 10px;
}
.m-acc-cur {
  margin-left: auto; color: var(--g600); font-weight: 600; text-transform: none; letter-spacing: 0;
  font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 55%;
}
.m-acc-caret { display: flex; color: #aaa; transition: transform .2s; }
.m-acc-caret svg { width: 18px; height: 18px; }
h3.m-open .m-acc-caret { transform: rotate(180deg); }
html.m-app #cat-sidebar ul li { padding: 10px 0; border-bottom: 1px solid #242424; }
html.m-app #cat-sidebar .subcat-list li { padding: 9px 0 9px 20px !important; border-bottom: 0; font-size: 15px !important; }

html.m-app #cat-toolbar { gap: 6px; }
html.m-app .cat-per-btn, html.m-app .cat-view-btn { padding: 8px 12px; font-size: 14px; }
html.m-app #cat-filters { flex-direction: column; gap: 12px; }
html.m-app .filt-options {
  flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; padding-bottom: 4px; align-items: center;
}
html.m-app .filt-options::-webkit-scrollbar { display: none; }
html.m-app .filt-chip { padding: 9px 13px; flex-shrink: 0; }

html.m-app #cat-grid.view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
html.m-app #cat-grid.view-grid .gc { padding: 8px; border-radius: 12px; }
html.m-app .gc-img, html.m-app .gc-img-ph { margin-bottom: 8px; }
html.m-app .gc-name { font-size: 13px; }
html.m-app .gc-meta { font-size: 12px; }
html.m-app .gc-price { font-size: 14px; }
html.m-app .gc-footer button { min-height: 42px; border-radius: 8px !important; }
html.m-app #cat-grid.view-list .gc { padding: 10px; gap: 12px; }
html.m-app #cat-grid.view-list .gc-img, html.m-app #cat-grid.view-list .gc-img-ph { width: 84px; height: 104px; }
html.m-app .gc-actions .btn-outline { padding: 10px 14px; font-size: 13px; }
html.m-app #cat-pager { gap: 6px; }
html.m-app #cat-pager button { min-width: 42px; min-height: 42px; }

/* In-page product detail */
html.m-app #cat-detail-area { padding: 14px !important; }
html.m-app .garment-detail, html.m-app .dw { gap: 14px; }
html.m-app .garment-detail .dimgs, html.m-app .dimgs { flex: 1 1 100%; }
html.m-app .garment-detail .dimgs img.main, html.m-app .dimgs img.main { width: 100%; height: auto; max-height: 60vh; aspect-ratio: 1; }
html.m-app .garment-detail .dinfo, html.m-app .dinfo { flex: 1 1 100%; min-width: 0; }
html.m-app .btn-start-order-detail { width: 100%; padding: 14px; }

/* ── Services / pricing / contact / footer ──────────────────────────── */
html.m-app #services, html.m-app #pricing, html.m-app #contact { padding: 30px 0; }
html.m-app #svc-grid { grid-template-columns: 1fr; gap: 12px; }
html.m-app .service_summary { height: auto; }
html.m-app .pricing-table { display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
html.m-app .pricing-table th, html.m-app .pricing-table td { padding: 7px 9px; font-size: 12px; }
html.m-app #contact .wrap > div { flex-direction: column; gap: 26px !important; }
html.m-app #contact .wrap > div > div { min-width: 0 !important; }
html.m-app #a1a-footer { padding: 30px 18px 24px; background-size: cover; }
html.m-app .a1a-ftr-inner { gap: 22px; }
html.m-app .fc { min-width: calc(50% - 12px); }
.m-viewswitch { display: block; text-align: center; padding: 18px 0 4px; font: 13px var(--sans); color: #8a8a8a !important; text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════════════
   EDITOR — full-screen app
   rows: top bar · live preview · tab bar · scrolling tab panes · action bar
   ═══════════════════════════════════════════════════════════════════════ */
html.m-editor-open, html.m-editor-open body { overflow: hidden; }
html.m-editor-open .launcher,
html.m-editor-open .widget { display: none !important; }

html.m-app #editor-wrap {
  position: fixed; inset: 0; z-index: 1500;
  height: 100%; height: 100dvh; min-height: 0;
  grid-template-columns: 100%;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  border: 0; border-radius: 0; box-shadow: none;
  background: var(--s100);
}
html.m-app #left-panel, html.m-app #right-panel { display: none !important; }

/* Top bar */
.m-topbar {
  grid-row: 1; display: flex; align-items: center; gap: 4px;
  padding: 4px 6px; padding-top: calc(4px + env(safe-area-inset-top));
  background: var(--darkgrey); color: #fff; border-bottom: 1px solid #222;
}
.m-icon-btn {
  position: relative; flex-shrink: 0;
  width: 46px; height: 46px; border: 0; border-radius: 10px;
  background: none; color: #fff; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.m-icon-btn:active { background: rgba(255,255,255,.12); }
.m-icon-btn svg { width: 24px; height: 24px; }
.m-title { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
#m-title-name { font: 600 15px var(--sans); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#m-title-sub { font: 12px var(--sans); color: #a8a8a8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#m-cart-count {
  position: absolute; top: 5px; right: 3px;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: var(--g600); color: #fff; font: 700 11px/18px var(--sans); text-align: center;
}
#m-cart-count:empty { display: none; }

/* Live preview */
html.m-app #mid-panel {
  grid-row: 2;
  height: clamp(220px, 44vh, 96vw);
  height: clamp(220px, 44svh, 96vw);
}
/* The size grid needs the room more than the preview does */
html.m-app[data-mtab="sizes"] #mid-panel {
  height: clamp(170px, 28vh, 70vw);
  height: clamp(170px, 28svh, 70vw);
}
html.m-app #location-tabs { position: absolute; top: 8px; left: 8px; z-index: 12; margin: 0; gap: 6px; }
html.m-app .loc-tab-btn { padding: 7px 15px; font-size: 14px; background: rgba(255,255,255,.94); }
html.m-app #toolbar-hint { display: none !important; }
html.m-app #canvas-wrap canvas { touch-action: none; -webkit-user-select: none; user-select: none; }
html.m-app #btn-preview-mockup { bottom: 10px !important; right: 10px !important; padding: 8px 12px !important; font-size: 13px !important; }
html.m-app #drop-hint span { display: block; font: 600 15px var(--sans) !important; color: var(--text) !important; padding: 16px 18px !important; border-color: var(--g600) !important; border-radius: 14px !important; }

/* Tab bar */
.m-tabbar { grid-row: 3; display: flex; background: var(--darkgrey); border-top: 1px solid #222; }
.m-tab {
  position: relative; flex: 1; min-width: 0; min-height: 54px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  padding: 6px 2px; border: 0; background: none; cursor: pointer;
  color: #8f8f8f; font: 600 11px var(--sans); letter-spacing: .01em;
}
.m-tab svg { width: 22px; height: 22px; }
.m-tab.active { color: #fff; }
.m-tab.active::after {
  content: ''; position: absolute; left: 22%; right: 22%; bottom: 0;
  height: 3px; border-radius: 3px 3px 0 0; background: var(--g600);
}
.m-tab .m-done {
  position: absolute; top: 6px; left: calc(50% + 8px);
  width: 9px; height: 9px; border-radius: 50%; background: #22c55e;
  box-shadow: 0 0 0 2px var(--darkgrey); display: none;
}
.m-tab.is-done .m-done { display: block; }

/* Panes */
.m-panes {
  grid-row: 4; min-height: 0;
  overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  background: var(--s100);
}
.m-pane { display: none; flex-direction: column; gap: 16px; padding: 16px 16px 28px; }
.m-pane.active { display: flex; }
.m-pane-title { font: 700 19px var(--sans); color: var(--text); letter-spacing: -.01em; }
.m-pane-help { font: 14px/1.45 var(--sans); color: var(--text2); margin-top: 3px; }
.m-pane h4 { font: 700 13px var(--sans); text-transform: uppercase; letter-spacing: .06em; color: var(--text3); margin: 0 0 6px; }
.m-card { background: var(--white); border: 1px solid var(--s300); border-radius: 14px; padding: 14px; }
.m-ghost-btn {
  width: 100%; min-height: 48px; padding: 0 16px;
  border: 1px solid var(--bd); border-radius: 12px; background: var(--white);
  font: 600 15px var(--sans); color: var(--text2); cursor: pointer;
}

/* Artwork pane */
.m-upload-cta {
  display: flex; align-items: center; gap: 14px; width: 100%;
  padding: 18px; border: 2px dashed var(--g600); border-radius: 14px;
  background: var(--white); color: var(--g600); text-align: left; cursor: pointer;
}
.m-upload-cta svg { width: 34px; height: 34px; flex-shrink: 0; }
.m-upload-cta b { display: block; font: 700 17px var(--sans); color: var(--text); }
.m-upload-cta small { display: block; font: 13px var(--sans); color: var(--text3); margin-top: 2px; }
.m-upload-cta[hidden] { display: none; }
html.m-app .m-pane #layers { overflow: visible; flex: none; gap: 8px; }
html.m-app .m-pane .layer-slot { min-height: 62px; padding: 10px 12px; border-radius: 12px; gap: 10px; }
html.m-app .m-pane .layer-label { font: 500 15px var(--sans); white-space: normal; }
html.m-app .m-pane .layer-thumb { width: 52px; height: 52px; }
html.m-app .m-pane .layer-clear { font-size: 20px !important; padding: 8px 10px !important; }
html.m-app .m-pane .loc-section-header { font-size: 15px !important; margin: 8px 0 2px !important; }

/* Shared form controls inside panes */
html.m-app .m-pane .form-field { gap: 8px; }
html.m-app .m-pane .form-field select,
html.m-app .m-pane .form-field input[type=number] { min-height: 50px; border-radius: 12px; padding: 8px 12px; }
html.m-app .m-pane [data-method] {
  flex: 1 1 calc(50% - 6px); min-height: 50px;
  border-radius: 12px !important; font-size: 16px !important;
}
.m-method-notes { font: 13px/1.45 var(--sans); color: var(--text3); margin-top: 6px; }
.m-method-notes div + div { margin-top: 3px; }
html.m-app .m-pane #sizing-controls { gap: 14px; padding-bottom: 4px; border: 0; }
html.m-app .m-pane .size-row { flex-wrap: wrap; gap: 8px; }
html.m-app .m-pane .size-row label { width: 100%; font: 600 14px var(--sans); color: var(--text2); }
html.m-app .m-pane .size-row select { flex: 1; min-width: 0; min-height: 50px; border-radius: 12px; }
html.m-app .m-pane .size-row button {
  width: 50px !important; height: 50px !important; margin-left: 0 !important;
  border-radius: 12px !important; font-size: 18px !important;
}
html.m-app .m-pane #exact-width-label { font-size: 14px; padding: 9px; border-radius: 10px; }
html.m-app .m-pane #garment-name-display { font: 600 15px var(--sans); padding: 12px; border-radius: 12px; overflow: hidden; }
html.m-app .m-pane #garment-name-display button { padding: 8px 12px !important; font-size: 14px !important; margin-top: 10px !important; }

/* Sizes pane: the quantity matrix becomes one card per garment color,
   with a labelled box per size (labels added by mobile.js) */
html.m-app .m-pane #color-size-matrix {
  padding: 0 !important; border: 0 !important; background: transparent !important; overflow: visible !important;
}
html.m-app .m-pane #color-size-matrix > div:first-child { display: none; }       /* duplicate heading */
html.m-app .m-pane #color-size-matrix table,
html.m-app .m-pane #color-size-matrix tbody,
html.m-app .m-pane #color-size-matrix tfoot,
html.m-app .m-pane #color-size-matrix td { display: block; width: auto; }
html.m-app .m-pane #color-size-matrix thead { display: none; }
html.m-app .m-pane #color-size-matrix tbody tr {
  position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
  margin-bottom: 12px; padding: 14px;
  background: var(--white) !important; border: 1px solid var(--s300); border-radius: 14px;
}
html.m-app .m-pane #color-size-matrix tbody td {
  position: static !important; padding: 0 !important; border: 0 !important;
  background: transparent !important; box-shadow: none !important; text-align: center;
}
html.m-app .m-pane #color-size-matrix tbody td:first-child { grid-column: 1 / -1; text-align: left; }
html.m-app .m-pane #color-size-matrix tbody td:first-child img,
html.m-app .m-pane #color-size-matrix tbody td:first-child canvas { width: 28px !important; height: 28px !important; }
html.m-app .m-pane #color-size-matrix tbody td:first-child span { font-size: 16px !important; }
html.m-app .m-pane #color-size-matrix td[data-size]::before {
  content: attr(data-size); display: block; margin-bottom: 4px;
  font: 700 13px var(--sans); color: var(--text2);
}
html.m-app .m-pane #color-size-matrix td[data-size] input {
  width: 100% !important; height: 48px; border-radius: 10px !important; font-size: 18px !important;
}
html.m-app .m-pane #color-size-matrix td.m-rm { position: absolute !important; top: 8px; right: 8px; }
html.m-app .m-pane #color-size-matrix td.m-rm button { font-size: 18px !important; padding: 8px 10px !important; }
html.m-app .m-pane #color-size-matrix tfoot tr { display: flex; padding: 4px 4px 0; }
html.m-app .m-pane #color-size-matrix tfoot td:not(:first-child) { display: none; }
html.m-app .m-pane #color-size-matrix tfoot td:first-child { font-size: 13px !important; padding: 0 !important; }

/* Review pane */
html.m-app .m-pane #estimate { border: 0; padding: 0; margin: 0; }
html.m-app .m-pane #estimate td { font-size: 14px; padding: 4px 0 !important; }
html.m-app .m-pane #estimate tr.total td { font-size: 18px; }
html.m-app .m-pane #submit-row { border: 0; padding: 0; }
html.m-app .m-pane #submit-row #btn-request { display: none; }   /* Add to Cart lives in the action bar */
html.m-app .m-pane #btn-new-job { min-height: 48px; border-radius: 12px; }
html.m-app .m-pane #discount-container input,
html.m-app .m-pane #discount-container button { min-height: 46px; border-radius: 10px !important; }
html.m-app .m-pane #job-notes { min-height: 90px; border-radius: 12px !important; }

/* Action bar */
.m-actionbar {
  grid-row: 5; display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; padding-bottom: calc(10px + env(safe-area-inset-bottom));
  background: var(--white); border-top: 1px solid var(--s300);
  box-shadow: 0 -6px 18px rgba(0,0,0,.07);
}
.m-total { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
#m-total-price { font: 700 21px var(--sans); color: var(--text); }
#m-total-sub { font: 13px var(--sans); color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#m-primary {
  flex: 0 0 auto; min-width: 156px; height: 52px; padding: 0 18px;
  border: 0; border-radius: 12px; background: var(--g600); color: #fff; cursor: pointer;
  font: 700 16px var(--sans);
  border-top: 2px solid #ff2222; border-bottom: 2px solid #660000;
}
#m-primary:active { background: var(--g700); }
#m-primary:disabled { opacity: .5; }

/* "Continue designing" pill when the editor is minimised */
#m-resume {
  display: none; position: fixed; z-index: 1400;
  left: 16px;                                   /* chat bubble sits bottom-right */
  bottom: calc(16px + env(safe-area-inset-bottom));
  align-items: center; gap: 8px; padding: 13px 20px;
  border: 0; border-radius: 999px; background: var(--g600); color: #fff;
  font: 700 15px var(--sans); white-space: nowrap; cursor: pointer;
  box-shadow: 0 8px 26px rgba(0,0,0,.45);
  border-top: 2px solid #ff2222; border-bottom: 2px solid #660000;
}
html.m-has-project:not(.m-editor-open) #m-resume { display: flex; }

/* Phone turned sideways: preview on the left, tabs + panes on the right */
html.m-app #editor-wrap { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
@media (orientation: landscape) and (max-height: 600px) {
  html.m-app #editor-wrap {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr) auto;
  }
  html.m-app .m-topbar   { grid-column: 1 / -1; grid-row: 1; }
  html.m-app #mid-panel  { grid-column: 1; grid-row: 2 / 4; height: auto !important; }
  html.m-app .m-tabbar   { grid-column: 2; grid-row: 2; }
  html.m-app .m-panes    { grid-column: 2; grid-row: 3; }
  html.m-app .m-actionbar { grid-column: 1 / -1; grid-row: 4; padding-top: 6px; padding-bottom: calc(6px + env(safe-area-inset-bottom)); }
  html.m-app .m-tab { min-height: 46px; }
  #m-primary { height: 46px; }
}

/* ── Cart drawer: stack the two columns ─────────────────────────────── */
html.m-app #cart-drawer { --cart-fs: 1; }
html.m-app #cart-drawer > div:first-child { padding: 10px 14px !important; padding-top: calc(10px + env(safe-area-inset-top)) !important; }
html.m-app #cart-drawer > div:first-child button { width: 44px; height: 44px; }
html.m-app #cart-drawer > div:nth-child(2) { flex-direction: column !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch; }
html.m-app #cart-drawer > div:nth-child(2) > div {
  flex: none !important; max-width: none !important; min-width: 0 !important;
  overflow: visible !important; border-left: 0 !important; padding: 14px !important;
}
html.m-app #cart-drawer > div:nth-child(2) > div:last-child {
  border-top: 1px solid var(--bd) !important;
  padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
}
html.m-app #cart-drawer [style*="display:flex;gap:10px;margin-bottom:8px;"] { flex-direction: column; }
html.m-app #cart-drawer [style*="text-align:right;flex-shrink:0;"] { text-align: left !important; }
html.m-app #cart-drawer [style*="display:flex; gap:10px; margin-bottom:6px; flex-wrap:wrap;"] > div { flex: 1 1 100% !important; }
html.m-app #cart-drawer .cart-edit-btn,
html.m-app #cart-drawer .cart-remove-btn { min-height: 42px; padding: 6px 14px !important; }
html.m-app #cart-drawer #cart-checkout-btn { min-height: 56px; }
