/* Price Reset Kit styles (kit.html only). */
body.kit { --menu-price-size: 1.15rem; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.hdr-link { color:#fff; display:inline-flex; align-items:center; min-height:44px; }
.kit input[type=text], .kit input[type=number], .kit select { font:inherit; padding:8px; border:1px solid #8a919c; border-radius:6px; max-width:100%; min-height:44px; }
.kit input[type=text] { width:100%; }
.kit fieldset { border:1px solid var(--border); border-radius:8px; padding:8px 12px 12px; margin:12px 0; }
.kit legend { font-weight:600; padding:0 4px; }
.kit label.inline { display:flex; gap:10px; align-items:center; min-height:44px; padding:4px 0; margin:2px 0; cursor:pointer; }
.kit label.inline input { margin:0; flex:0 0 auto; min-width:20px; min-height:20px; }
/* Tap targets: the whole row above is the target; these keep the other controls at least 44px. */
.kit details > summary { display:list-item; min-height:44px; padding:10px 0; cursor:pointer; }
.kit input[type=file] { font:inherit; max-width:100%; min-height:44px; padding:0; }
.kit input[type=file]::file-selector-button { font:inherit; min-height:44px; padding:8px 14px; margin-right:10px; border-radius:6px; border:1px solid #5b6470; background:#fff; color:var(--fg); cursor:pointer; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:12px; }
.warn { background:var(--remove-bg); border-left:4px solid var(--remove); padding:8px 12px; }
/* Helpful information (not an error): blue, labelled "Note". Red .warn is kept for real problems. */
.note { background:var(--ok-bg); border-left:4px solid var(--accent); color:var(--fg); padding:8px 12px; }
.note::before { content:"\2139\FE0F  Note"; display:block; font-weight:700; color:var(--ok); }
.note p:first-child { margin-top:4px; }
.guardrails { border-left:6px solid #b26a00; }
.quotes li { margin:8px 0; overflow-wrap:anywhere; }
.table-wrap { overflow-x:auto; }
#price-table { border-collapse:collapse; width:100%; }
#price-table th, #price-table td { border-bottom:1px solid #e1e4e8; padding:6px 8px; text-align:left; vertical-align:middle; }
#price-table input.np { width:7.5em; }
.badge.Check { font-size:.875rem; }
.doc { border:1px dashed var(--border); border-radius:8px; padding:16px; background:#fff; }
.menu-title { font-size:1.6rem; margin:0 0 8px; }
.menu-banner { font-weight:600; }
.menu-table { border-collapse:collapse; width:100%; }
.menu-table th, .menu-table td { padding:6px 8px; border-bottom:1px solid #ddd; text-align:left; }
.menu-table thead th { font-size:.9rem; }
.menu-item { font-weight:400; }
/* Full price and discounted price are the same size. The full price is bold; the discount is never more prominent. */
.price-full { font-size:var(--menu-price-size); font-weight:700; white-space:nowrap; }
.price-disc { font-size:var(--menu-price-size); font-weight:400; white-space:nowrap; }
/* ACCC: the weekend/public holiday words must be at least as prominent as the most prominent price. */
.weekend-line { font-size:var(--menu-price-size); font-weight:700; margin:12px 0 0; }
.menu-foot { font-size:.9rem; margin-top:12px; }
.notice-title { font-size:1.3rem; font-weight:700; }
.script .q { margin-bottom:0; } .script .a { margin-top:2px; }
.buy button[disabled] { opacity:.7; }
.buy-link { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border-radius:8px; background:var(--accent); color:#fff; font-weight:700; text-decoration:none; }
.buy-link:hover { background:#094a8b; }
/* Phones: the price table becomes one card per item. Every value keeps its column name (data-label, filled from
   the table's own header row by kit.js), nothing is hidden and nothing scrolls sideways. Screen only: print is unchanged. */
@media screen and (max-width:600px) {
  .table-wrap { overflow-x:visible; }
  #price-table, #price-table tbody, #price-table tr, #price-table th, #price-table td { display:block; width:auto; }
  #price-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  #price-table tr { border:1px solid var(--border); border-radius:8px; padding:8px 12px; margin:0 0 12px; background:#fff; }
  #price-table th[scope=row] { font-size:1.05rem; padding:2px 0 8px; border-bottom:1px solid #e1e4e8; overflow-wrap:anywhere; }
  #price-table th[scope=row]::before { content:attr(data-label); display:block; font-size:.875rem; font-weight:600; color:var(--muted); }
  #price-table td { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:4px 10px; padding:6px 0; border-bottom:1px solid #f0f1f3; text-align:right; }
  #price-table td:last-child { border-bottom:none; }
  #price-table td::before { content:attr(data-label); flex:1 1 9em; font-weight:600; color:var(--muted); text-align:left; }
  #price-table input.np { width:8em; font-size:16px; min-height:44px; text-align:right; }
}
@media print {
  @page { size:A4; margin:15mm; }
  body.kit { --menu-price-size:14pt; background:#fff; }
  body.kit .skip, body.kit .site-header, body.kit .disclaimer, body.kit main > .card:not(.doc-card), body.kit .no-print, body.kit .status { display:none !important; }
  body.kit .doc-card { display:none !important; }
  body.kit[data-print="menu"] #menu-card, body.kit[data-print="notice"] #notice-card, body.kit[data-print="script"] #script-card { display:block !important; border:none; padding:0; margin:0; }
  body.kit .doc { border:none; padding:0; }
  body.kit main { max-width:none; padding:0; }
  body.kit a[href^="http"]::after { content:none; }
  .menu-table tr { break-inside:avoid; }
}
/* Preview (kit.html): locked full-kit features and the honesty-check pass note. */
.locked { border:1px dashed var(--border); border-radius:8px; padding:12px; background:#f6f7f9; margin:8px 0 0; }
.locked::before { content:"🔒 "; }
.ok-note { background:#eaf6ec; border-left:4px solid #1a7f37; padding:8px 12px; }
.src { word-break:break-all; }
@media print { body.kit .refund, body.kit #refund, body.kit .buy, body.kit .tip, body.kit #tip { display:none !important; } }
/* Friendlier header lead and spacing (screen only) */
@media screen {
  .kit-lead { margin:0 0 12px; font-size:1.2rem; font-weight:600; color:#bfe3dc; max-width:40ch; line-height:1.35; }
  body.kit .site-header .tagline + .tagline { margin-top:10px; }
}
