/* Shared layout consumes theme.css tokens. No floating duplicate menu. */
.has-shopping-nav { padding-right: 0; padding-bottom: 0; }
.site-header.site-shell-header { position: relative; z-index: 50; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-6); min-height: 88px; }
.site-shell-header > * { min-width: 0; }
.shell-contact-compact { display: none; }
.site-shell-header > .brand { white-space: nowrap; }
.site-shell-header .shell-search { display: flex; min-width: 0; height: var(--control-height); border: 1px solid var(--line); border-radius: var(--radius-input); background: var(--surface-subtle); overflow: hidden; margin: 0; }
.shell-search .search-field { display: flex; align-items: center; gap: var(--space-2); flex: 1; min-width: 0; max-width: none; border: 0; background: transparent; padding: 0 var(--space-3); }
.shell-search input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 0; box-shadow: none; font: inherit; }
.shell-search .search-field svg { width: 18px; height: 18px; flex-shrink: 0; }
.shell-search-button { border: 0; border-radius: 0; background: var(--orange-dark); color: var(--on-brand); padding: 0 var(--space-4); font-weight: var(--weight-semibold); }
.shell-search:focus-within { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.shell-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-4); font-size: var(--text-sm); min-width: 0; }
.shell-actions > a, .shell-actions > button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-1); min-height: var(--control-height); white-space: nowrap; }
.shell-contact { border: 0; background: transparent; color: var(--ink); padding: 0; }
.shell-actions .shell-account-link { display: block; max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: var(--control-height); }
.shell-actions [aria-current="page"] { color: var(--orange-dark); font-weight: var(--weight-semibold); }
.site-shell-header .admin-link { display: block; padding: var(--space-3); font-size: var(--text-sm); }
.site-shell-header .admin-link[hidden], .shell-legacy-state { display: none !important; }
.shopping-hub { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: var(--space-2); width: 100%; max-width: var(--content-width); min-width: 0; min-height: 52px; margin: 0 auto; padding: var(--space-1) var(--page-gutter); background: var(--white); border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: thin; }
.shopping-hub a { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); flex-shrink: 0; min-height: 40px; padding: var(--space-2) var(--space-4); border-radius: var(--radius-input); font-size: var(--text-sm); font-weight: var(--weight-medium); white-space: nowrap; }
.shopping-hub a:hover, .shopping-hub a[aria-current="page"] { color: var(--orange-dark); background: var(--brand-soft); }
.shopping-count { font-size: var(--text-xs); line-height: 20px; background: var(--orange-dark); color: var(--on-brand); min-width: 20px; padding: 0 var(--space-1); border-radius: var(--radius-pill); text-align: center; }
.shell-contact-dialog { width: min(440px, calc(100vw - 32px)); padding: var(--space-8); }
.shell-contact-dialog h2 { padding-right: var(--space-6); margin: 0 0 var(--space-5); }
.shell-contact-content { display: flex; flex-direction: column; gap: var(--space-4); color: var(--muted); overflow-wrap: anywhere; }
.card-shopping-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); margin-top: var(--space-3); }
.card-shopping-actions button, .favorite-toggle { border: 1px solid var(--line); background: var(--white); border-radius: var(--radius-input); min-height: 40px; padding: var(--space-2) var(--space-3); font-size: var(--text-sm); }
.card-shopping-actions .card-add, .favorite-toggle[aria-pressed="true"] { color: var(--orange-dark); border-color: var(--brand-border); background: var(--brand-soft); }
.detail-extra-actions { flex-wrap: wrap; }
@media (max-width: 1050px) {
  .site-header.site-shell-header { grid-template-columns: minmax(0,1fr) auto; gap: var(--space-3); padding-top: var(--space-4); padding-bottom: var(--space-4); }
  .site-shell-header .shell-search { grid-column: 1 / -1; grid-row: 2; }
  .shell-actions { gap: var(--space-3); }
}
@media (max-width: 540px) {
  .site-header.site-shell-header { gap: var(--space-3) var(--space-2); }
  .site-shell-header > .brand { font-size: var(--text-base); gap: var(--space-2); }
  .site-shell-header .brand-mark { width: 30px; height: 30px; font-size: var(--text-lg); }
  .shell-actions { gap: var(--space-1); font-size: var(--text-xs); }
  .shell-contact-label { display: none; }
  .shell-contact-compact { display: inline; }
  .shell-actions .shell-account-link { max-width: 75px; }
  .shell-actions .customer-login { font-size: var(--text-xs); padding: var(--space-2); }
  .shell-actions .customer-login svg, .shell-actions .customer-avatar { display: none; }
  .shell-actions .customer-menu-toggle { max-width: 82px; padding: var(--space-2); }
  .shell-actions > .admin-link { position: absolute; right: var(--page-gutter); top: 100%; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-input); }
  .shopping-hub { gap: 0; }
  .shopping-hub a { padding-inline: var(--space-3); }
  .card-shopping-actions button { font-size: var(--text-xs); }
}
