/* Narrow, theme-aware release adjustments; no content is hidden. */
.mall-picker {padding:12px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-card);}
.mall-picker .mall-select-label {display:block; margin-top:10px;}
.owner-inbox-note {font-size:.875rem; line-height:1.65; padding:10px 12px;}
.owner-inbox-note svg {width:18px; height:18px; flex:none;}
.purchase-replies-title {margin-top:var(--space-xl);}
.hours-editor > .card-title {font-size:1rem; margin-bottom:var(--space-md);}
.hours-editor .hours-row {gap:8px; padding-block:4px; font-size:.875rem;}
.hours-editor .hours-row .input {font-size:.875rem; min-height:44px;}
.business-location-action {margin-block-start:10px;}
.business-location-action .field-hint:empty {display:none;}
.rules-page-hero {border-inline-start:4px solid #b64235; padding-inline-start:16px;}
.rules-page-hero h1 {color:#a32c24;}
:root[data-theme="dark"] .rules-page-hero h1 {color:#ff9c91;}
/* Remove the decorative green backdrop, not the foreground cards or search. */
.h-hero-scope > .hero-visual.is-static { background:none !important; }
:root[data-dg-bazaar] .h-hero .hero-visual.is-static { background:transparent !important; }
:root[data-dg-bazaar] .rules-page-hero h1 { color:#a32c24 !important; }
:root[data-dg-bazaar][data-theme="dark"] .rules-page-hero h1,
:root[data-dg-bazaar][data-theme="night"] .rules-page-hero h1 { color:#ffaca2 !important; }

/* Location control sits inside the owner map, with a separate live status. */
.map-stage .owner-map-locate { position:absolute; z-index:500; left:12px; top:12px; margin:0; box-shadow:0 2px 10px rgba(0,0,0,.2); background:var(--color-card); }
.mall-shops-section .section-head { gap:12px; align-items:center; margin-block-end:16px; }
.mall-shops-section .mall-shop-card { display:flex !important; flex-direction:column; gap:8px; min-width:0; border:1px solid var(--color-border); border-radius:var(--radius-md); transition:border-color .15s ease, box-shadow .15s ease; }
.mall-shops-section .mall-shop-card:hover, .mall-shops-section .mall-shop-card:focus-visible { border-color:var(--color-primary); box-shadow:0 4px 14px rgba(0,0,0,.10); }
@media (prefers-reduced-motion:reduce) { .mall-shops-section .mall-shop-card { transition:none; } }

:root[data-theme="dark"] .h-hero #hero-q::placeholder { color:#52675c !important; opacity:1; }

/* v486 — the site-section search is part of the left drawer, not a header
   overlay. Search is visible immediately on opening the menu. */
.menu-top-actions { display:flex; align-items:center; gap:6px; }
.menu-top-actions [data-menu-theme-host]:empty { display:none; }
.menu-search { flex:none; padding:12px; margin-bottom:8px; border:1px solid var(--color-border);
  border-radius:14px; background:var(--color-card); color:var(--color-foreground); }
.menu-search label { display:block; margin-bottom:7px; font-weight:750; line-height:1.5; }
.menu-search-field { position:relative; display:flex; align-items:center; }
.menu-search-field > svg { position:absolute; inset-inline-start:12px; width:20px; height:20px;
  color:var(--color-primary); pointer-events:none; }
.menu-search-field .input { width:100%; min-width:0; min-height:44px; padding-inline-start:42px;
  font-size:16px !important; color:var(--color-foreground); background:var(--color-background); }
.menu-search-field .input::placeholder { color:var(--color-muted-foreground); opacity:1; }
.menu-search-field .input:focus-visible { outline:2px solid var(--color-primary); outline-offset:1px; }
.menu-search-results[hidden] { display:none !important; }
.menu-search-results .field-hint { margin:9px 1px 5px; }
.menu-search-results ul { list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.mobile-nav .panel .menu-search-results a { display:flex; align-items:flex-start; flex-direction:column;
  gap:2px; min-height:46px; padding:8px 10px; background:var(--color-background);
  border:1px solid var(--color-border); border-radius:10px; color:var(--color-foreground); }
.menu-search-results a strong { font-size:14px; line-height:1.5; }
.menu-search-results a small { color:var(--color-muted-foreground); font-size:12px; }
.menu-search-results a:hover, .menu-search-results a:focus-visible {
  background:var(--color-muted) !important; outline:2px solid var(--color-primary); }
.mobile-nav.is-searching .panel > :is(.mnav-groups,.mnav-area,.mnav-group,.divider,.mnav-title) {
  display:none !important; }
/* Above 1440px the primary horizontal nav is visible. The drawer must still
   be openable now that its search is the ONLY section-search entry point. */
@media (min-width:1200px) { .site-header .nav-toggle { display:inline-grid !important; } }

@media (max-width:600px) {
  /* Login exists in the bottom bar; favourites remain in the menu. Keep the
     notification bell (when signed in) and menu in the header instead. */
  .site-header .header-favorite,
  .site-header a.hide-desktop[href="/login"] { display:none !important; }
  :root[data-dg-bazaar] .site-header .header-inner,
  .site-header .header-inner { gap:4px !important; }
  :root[data-dg-bazaar] .site-header .brand,
  .site-header .brand { flex:1 1 auto; min-width:0; gap:6px !important; }
  :root[data-dg-bazaar] .site-header .header-actions,
  .site-header .header-actions { flex:none; margin-inline-start:auto; gap:3px !important; }
  /* This overrides the old v452 78px ellipsis and hidden tagline. A mobile
     width is not a reason to erase the site's actual name and subtitle. */
  :root[data-dg-bazaar] .site-header .brand-text,
  .site-header .brand-text { display:block !important; min-width:0; max-width:none !important;
    white-space:nowrap !important; overflow:visible !important; text-overflow:clip !important;
    font-size:16px !important; line-height:1.15; }
  :root[data-dg-bazaar] .site-header .brand-text small,
  .site-header .brand-text small { display:block !important; max-width:none; white-space:nowrap;
    letter-spacing:0 !important; font-size:12px !important; line-height:1.4; }
}
@media (max-width:340px) {
  /* A 320px phone still needs room for the signed-in notification bell. The
     earlier 20px side margins were enough to clip the subtitle by 27px. */
  :root[data-dg-bazaar] .site-header .header-inner,
  .site-header .header-inner { width:calc(100% - 16px) !important;
    max-width:none !important; padding-inline:0; }
}
