/*!
 * PURPOSE: Inquiry-only layout for the shared Restaurant UI.
 * DEPENDENCIES: global foundation owns body/theme, ev-card, ev-btn and fields;
 * theme.js resolves ev-* tokens. Both public/admin views use gi-* hooks.
 * Keep shell/header/voice/toast styling with their canonical asset owners.
 * No palette or body reset: changing the global theme must update this page.
 */
.gi-body :is(input,select,textarea,button){font-size:16px}
.gi-body .ev-app-update button{font-size:16px}

.gi-page{
  width:100%;
  min-width:0;
  max-width:1100px;
  margin:0 auto;
  padding:24px 16px 64px;
  color:var(--ev-text);
  font-size:16px;
  line-height:1.55;
}
.gi-page :is(.gi-hero,.gi-form,.gi-detail){padding:20px}
.gi-hero{margin-bottom:20px}
.gi-hero h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2;margin:.3em 0}
.gi-hero address{font-style:normal;color:var(--ev-text-2)}
.gi-kicker{font-weight:800;letter-spacing:.03em;color:var(--ev-text-2)}
.gi-page .ev-btn{min-height:46px;padding:10px 16px;font:inherit;font-size:16px;font-weight:700}
.gi-page .ev-btn:disabled{opacity:.6;cursor:wait}
.gi-page :focus-visible{outline:3px solid var(--ev-primary);outline-offset:2px}
.gi-form{display:grid;gap:18px}
.gi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gi-page label{display:grid;min-width:0;gap:6px;font-weight:700;font-size:16px}
.gi-page :is(input,select,textarea){font:inherit;font-size:16px}
.gi-page textarea{min-height:80px;resize:vertical}
.gi-help{margin:0;color:var(--ev-text-2)}
.gi-message{margin:0;font-weight:700;min-height:1.5em}
/* Semantic feedback follows global colors; mixing text keeps both themes readable. */
.gi-message[data-kind="error"]{color:color-mix(in srgb,var(--ev-danger) 65%,var(--ev-text))}
.gi-message[data-kind="success"]{color:color-mix(in srgb,var(--ev-success) 65%,var(--ev-text))}
.gi-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.group-inquiries-admin{max-width:1280px}
.gi-admin-grid{display:grid;grid-template-columns:minmax(0,18rem) minmax(0,1fr);gap:16px;align-items:start}
.gi-admin-grid>section{min-width:0}
.gi-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
/* Inquiry rows stretch their grid tracks; the shared button keeps its theme/interaction. */
.gi-list .ev-btn{display:grid;justify-content:stretch;justify-items:start;width:100%;min-width:0;text-align:left;gap:3px;overflow-wrap:anywhere}
.gi-list .ev-btn>*{min-width:0;max-width:100%}
.gi-list .ev-btn small{color:var(--ev-text-2);overflow-wrap:anywhere}
.gi-detail{display:grid;min-width:0;gap:12px;overflow-wrap:anywhere}
.gi-detail>*{min-width:0}
.gi-detail :is(h2,h3){margin:0}
.gi-detail dl{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:6px 12px;margin:0}
.gi-detail dt{font-weight:700}
.gi-detail dd{min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
/* Long histories scroll independently so status actions stay near the details. */
.gi-detail ol{max-height:16rem;margin:0;padding-left:1.5em;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.gi-detail li+li{margin-top:8px}
.gi-detail form{display:grid;gap:12px;align-items:start}
.gi-detail :is(select,textarea){width:100%;min-width:0;min-height:44px}
.gi-detail textarea{min-height:88px}
.gi-detail .gi-message:empty{display:none}
.gi-detail button[type="submit"]{justify-self:start;max-width:100%;white-space:normal}
@media(min-width:1100px){
  .gi-detail form{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
  .gi-detail form :is(.gi-message,button[type="submit"]){grid-column:1/-1}
}
@media(max-width:960px){
  .gi-admin-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){
  .gi-detail dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .gi-detail dd+dt{margin-top:8px}
}
@media(max-width:760px){
  .gi-page{padding:16px 12px 48px}
  .gi-grid,.gi-admin-grid{grid-template-columns:1fr}
  .gi-page :is(.gi-hero,.gi-form,.gi-detail){padding:16px}
}
