/* ui-shops.css · 来处 / Pardine（dineloc）· 店与想吃的样式（W-SHOPS；docs/b4/design/contract.md §0.1、§7.6、shops.md §6）
   规矩照 styles.css：颜色只来自令牌、没有 backdrop-filter、收起的一律 hidden（不停在 opacity: 0）、进出都是过渡（growIn / growOut / growBox，
   时长读令牌）、布局只用逻辑属性、触屏的小控件撑到 44（看不见的 ::after，下面「触区 44」那一节）。
   店不是地方：行首是一枚安静的图标圈（.rmark，styles.css），从不刻印；地图上不画店。 */

/* ---- 店页（回看的「在哪吃」页加的几段，ui-shops.js whereSection）---- */
.shop__head { display: flex; flex-direction: column; gap: .625rem; margin-block: .25rem .875rem; }
.shop__addr { display: flex; align-items: flex-start; gap: .375rem; margin: 0; color: var(--text-dim); font-size: .875rem; line-height: 1.35; overflow-wrap: anywhere; }
.shop__addr .ico { flex: none; margin-block-start: .125rem; color: var(--text-faint); }
.shop__acts.placesheet__acts { margin-block-start: 0; }
.shop__acts.placesheet__acts > .btn { flex: 0 1 auto; }
.shop__act .ico { color: var(--text-faint); }
.shop__closed {
  display: inline-flex;
  align-items: center;
  margin-block-start: .25rem;
  padding: 0 .5rem;
  border: 1px solid var(--border);
  border-radius: 99px;
  color: var(--text-faint);
  font-family: var(--font-ui);
  font-size: .75rem;
  line-height: 1.375rem;
}
.shop__origins { margin-block-start: .5rem; }
.shop__orow .ico { flex: none; color: var(--text-faint); }
.shop__osub { white-space: nowrap; }
.shop__pick { align-self: flex-start; }
.shop__note { margin: 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.shop__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; margin-block-start: 1.5rem; }
.shop__sep { color: var(--text-faint); font-size: .8125rem; }
/* 页尾两颗安静的字钮（〔改〕·〔删掉这家店〕）：字的样子、点的样子同 kicker 字钮 */
.shop__link {
  min-block-size: 1.75rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--accent);
  font: inherit;
  font-size: .8125rem;
  cursor: pointer;
}
.shop__link:hover { text-decoration: underline; text-underline-offset: .2em; }
.shop__link--danger { color: var(--danger); }
.shop__link:disabled { opacity: .42; cursor: default; }

/* ---- 店的小表单（〔改〕、〔贴个地图链接〕、分享单）---- */
.shopform { display: flex; flex-direction: column; gap: .875rem; padding-block: .25rem 1rem; }
.shopform__f { display: flex; flex-direction: column; gap: .375rem; min-width: 0; }
.shopform__lab { color: var(--text-dim); font-size: .8125rem; font-weight: 600; }
.shopform__err, .shopform__msg { margin: 0; color: var(--text-dim); font-size: .8125rem; line-height: 1.4; }
.shopform__err { color: var(--danger); margin-block-start: -.5rem; }
.shopform__check { display: flex; align-items: center; gap: .625rem; min-block-size: 2.75rem; color: var(--text); font-size: .9375rem; cursor: pointer; }
.shopform__box { inline-size: 1.125rem; block-size: 1.125rem; margin: 0; accent-color: var(--accent); }
.shopform__acts { display: flex; justify-content: flex-end; gap: .5rem; }
.shopform__retry { align-self: flex-start; }
.sharesheet__addr { margin: -.375rem 0 0; color: var(--text-dim); font-size: .875rem; line-height: 1.35; overflow-wrap: anywhere; }
.sharesheet__src { margin: -.5rem 0 0; color: var(--text-faint); font-size: .75rem; }
.sharesheet__acts { display: flex; flex-direction: column; gap: .5rem; margin-block-start: .25rem; }
.sharesheet__acts > .btn { inline-size: 100%; }

/* ---- 今天页那一行「想吃 · N ›」（只在 N ≥ 1 时有；不是页签、不加角标、数不滚动）---- */
.wantrow { display: flex; margin-block-start: .875rem; }
.wantrow__btn {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  min-block-size: 2.75rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--text-dim);
  font: inherit;
  font-size: .875rem;
  cursor: pointer;
}
.wantrow__btn .ico { color: var(--text-faint); }
.wantrow__btn:hover .wantrow__text { color: var(--text); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: .2em; }

/* ---- 想吃页 ---- */
.wantpage { display: flex; flex-direction: column; }
.wantpage__day:first-child .wantpage__head { margin-block-start: 0; }
.wantpage__list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.wantpage__item { display: flex; flex-direction: column; border-block-end: 1px solid var(--border-soft); }
.wantpage__row {
  display: flex;
  align-items: center;
  gap: .625rem;
  inline-size: 100%;
  min-block-size: 2.75rem;
  padding: .375rem 0;
  border: 0;
  background: none;
  color: var(--text);
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.wantpage__row > .ico { flex: none; color: var(--text-faint); }
.wantpage__row:hover .wantpage__name { text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: .2em; }
.wantpage__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 .375rem; }
.wantpage__name { min-width: 0; font-family: var(--font-serif); font-size: .9375rem; line-height: 1.3125rem; overflow-wrap: anywhere; }
.wantpage__sub { min-width: 0; color: var(--text-faint); font-size: .8125rem; line-height: 1.3125rem; }
.wantpage__sub::before { content: "· "; }
.wantpage__done { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-block-end: .5rem; padding-inline-start: 2.125rem; }
.wantpage__donetext { color: var(--text-dim); font-size: .8125rem; font-variant-numeric: lining-nums tabular-nums; }
.wantpage__foot { display: flex; justify-content: flex-end; margin-block-start: 1rem; }
.wantpage__add .ico, .wantpage__zero .ico { color: currentColor; }
.wantpage__zero { padding-inline: 0; }
/* 空着时那半句「也可以在设置 › 数据从 Google 地图导入」：.zero 的正文字（淡、小），只是字（polish d） */
.wantpage__takeout { margin: 0; }
.wantcard__done { margin-block: .5rem 0; }
.wantcard__note { margin-block-start: .75rem; }

/* ---- 「在哪吃」框下面的店签（粘贴地图链接之后；shops.md §4.2）---- */
.shopchip {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: .375rem;
  max-inline-size: 100%;
  min-block-size: 2rem;
  margin-block-start: .5rem;
  padding-inline: .25rem .375rem;
  border: 1px solid var(--border);
  border-radius: 99px;
  background: var(--bg-elev);
  color: var(--text);
  font-size: .8125rem;
}
.shopchip .rmark { inline-size: 1.375rem; block-size: 1.375rem; }
.shopchip__text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.shopchip--failed { border-style: dashed; color: var(--text-dim); background: transparent; }
.shopchip--failed .shopchip__text { white-space: normal; }
.shopchip__x, .shopchip__retry {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 1.5rem;
  block-size: 1.5rem;
  padding: 0 .25rem;
  border: 0;
  border-radius: 99px;
  background: none;
  color: var(--text-faint);
  font: inherit;
  cursor: pointer;
}
.shopchip__retry { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.shopchip__x:hover { color: var(--text); background: var(--bg-elev2); }

/* ---- 触区 44（styles.css「触区 44 pt」同一个写法：外观不变、看不见的 ::after 撑开；控件自己不 overflow: hidden）---- */
:where(html[data-touch="on"]) :where(.shop__link, .shopchip__x, .shopchip__retry) { position: relative; }
html[data-touch="on"] :is(.shop__link, .shopchip__x, .shopchip__retry)::after {
  content: "";
  position: absolute;
  inset-block: min(0px, calc(50% - 22px));
  inset-inline: min(0px, calc(50% - 22px));
}
