/* lunch-20261102: the subscriber button grid, Today's plates, Back by, Office lunch and Send us something. */
.sub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;margin:.25rem 0 .5rem}
.sub-grid .qf-btn{width:100%;min-height:44px;border-radius:12px;text-align:center;line-height:1.2;padding:.45rem .6rem;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:.35rem}
.sub-grid .qf-btn[aria-disabled="true"]{opacity:.8;cursor:not-allowed;border-style:dashed}
.sub-grid .qf-btn .ic-lock{width:1em;height:1em;flex:none}
.sub-grid .sg-more-item[hidden],.sub-grid [hidden]{display:none}
.sg-more{min-height:44px;margin:.25rem 0}
.sg-sub{margin:.25rem 0 .75rem}
.sg-defs{margin:.25rem 0 .75rem}
.sg-defs summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.sg-defs dl{margin:.25rem 0}.sg-defs dt{font-weight:700}.sg-defs dd{margin:0 0 .4rem}
.plates{list-style:none;padding:0;margin:.25rem 0 1rem}
.plate{border-top:1px solid var(--c-border);padding:.6rem 0}
.plate p{margin:.15rem 0}
.plate-place a{font-weight:700}
.plate-items{margin:.15rem 0 .15rem 1.2rem}
.plate-src a{display:inline-flex;align-items:center;min-height:44px}
.plate-quote summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.plates-week{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:0 1.25rem}
.plates-day h3 .pill{margin-left:.4rem}
.ol-results,.ol-picked,.ol-places,.ol-facts{list-style:none;padding:0}
.ol-results li,.ol-picked li{margin:.3rem 0}
.ol-results .btn,.ol-picked .btn,.ol-vote{min-height:44px;min-width:44px}
.ol-place{border-top:1px solid var(--c-border);padding:.6rem 0}
.ol-vote[aria-pressed="true"]{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}
.ol-code{font-size:1.4em;letter-spacing:.08em}
.ol-facts li{margin:.25rem 0}
.ol-facts a{display:inline-flex;align-items:center;min-height:44px}
.sub-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem}
.sub-nav .btn{min-height:44px}
.na-line{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.sub-grid .qf-btn.sg-folded{display:none}

/* lunch-20261102 (K): the 3-day free trial slot (home grid and account page) */
.trial-slot{margin:.75rem 0 0}
.trial-slot .btn{min-height:44px;min-width:44px}
.trial-on .trial-sub{display:inline-flex;align-items:center;margin-left:.25rem}

/* lunch-20261102 (A, D): headings sit one level below the page heading; sizes unchanged */
.bb-item h2{font-size:1.375rem}
.closed-box h3{font-size:1rem}

/* My stuff (lunch-20261102 L) */
.my-page .my-group-h { margin: 1.5rem 0 .5rem; }
.my-card h2 .my-count { font-weight: normal; }
.my-list { list-style: none; margin: .5rem 0; padding: 0; }
.my-item { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; padding: .35rem 0; border-top: 1px solid rgba(0,0,0,.08); }
.my-item:first-child { border-top: 0; }
.my-place { flex: 1 1 12rem; }
a.my-place { display: inline-flex; align-items: center; min-height: 44px; }
.my-extra { color: inherit; opacity: .85; }
.my-comment { flex-basis: 100%; font-style: italic; }
.my-undo, .my-open, .my-clear, .my-page .btn { min-height: 44px; min-width: 44px; }

/* Grocery delis (lunch-20261102 M) */
.bb-grocery { margin-top: 1.5rem; }
.bb-grocery .bb-item h3 { font-size: 1.2rem; margin: 0 0 .25rem; }
.bb-grocery-other li { min-height: 44px; display: flex; align-items: center; flex-wrap: wrap; gap: .25rem; }
.bb-grocery-other a, .bb-grocery .bb-item h3 a { display: inline-flex; align-items: center; min-height: 44px; }
.ol-grocery { margin: .75rem 0; }
.ol-grocery > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
/* lunch-20261102 (L1 tap targets: every front-page or subscriber link and control at least
   44 px tall). Lunch's own form fields get the site's field look (like app.css's search box and selects); the short text
   links on the front page and its views (subscriber notes, the button grid's lines, plate names, the bug line) become
   44 px tall without changing how they read. */
.sub-form input:not([type=checkbox]):not([type=radio]):not([type=file]),#olJoinForm input,.bb-form input:not([type=checkbox]):not([type=radio]){font:inherit;font-size:1.125rem;color:var(--c-text);background:var(--c-bg);border:2px solid var(--c-border);border-radius:.75rem;min-height:var(--tap-min,44px);padding:.5rem .8rem;max-width:100%;box-sizing:border-box}
.sub-form input[type=file]{font:inherit;min-height:var(--tap-min,44px);max-width:100%}
.sub-form textarea{font:inherit;color:var(--c-text);background:var(--c-bg);border:2px solid var(--c-border);border-radius:.75rem;padding:.5rem .8rem;max-width:100%;box-sizing:border-box}
.plate-place a,.sg-sub a,.premium-note p a,.bug-line a,#dietBox .sub-note a,.bb-item h2 a,.bb-item h3 a,.bb-grocery-other a{display:inline-flex;align-items:center;min-height:44px}
