/* Layout relationships, not a global scale factor: keep text and touch targets readable. */
.site-nav { z-index: 30; }
.site-nav-inner { gap: 16px; position: relative; }
.site-nav .nav-links { flex: 0; }
.header-search { flex: 1; min-width: 0; max-width: 420px; margin-left: auto; }
.header-search .discovery-search { margin: 0; padding: 2px; }
.header-search .discovery-query input { height: 40px; }
.header-search .discovery-submit { flex-basis: 40px; height: 40px; }
.header-search .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.header-search-toggle { width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--fg-1); cursor: pointer; }
.header-search-toggle[hidden], .header-search form[hidden] { display: none; }
.discovery { padding-top: 24px; padding-bottom: 28px; }
.discovery-heading { max-width: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; margin-bottom: 20px; }
.discovery-heading h1 { font-size: clamp(28px,3vw,38px); margin: 0; }
.discovery-heading p { flex-basis: 100%; }
.discovery-summary { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-left: auto; color: var(--fg-3); font-size: 13px; }
.discovery-grid { gap: 16px; }
.discovery-card-body { padding: 16px; }
.discovery-card h3 { margin: 6px 0 8px; }
.discovery-card p { margin-bottom: 12px; }
.discovery-card-foot { padding-top: 8px; border-top: 0; }
.cafe-page .cafe-hero-grid { padding-top: 28px; padding-bottom: 24px; gap: 16px 32px; grid-template-columns: minmax(0,1.3fr) minmax(280px,1fr); grid-template-areas: 'intro visit'; align-items: start; }
.cafe-intro { grid-area: intro; }
.cafe-visit { grid-area: visit; }
.cafe-photo { grid-area: photo; }
.cafe-page .cafe-hero-grid:has(.cafe-photo) { grid-template-areas: 'intro photo' 'visit photo'; }
.cafe-page .cafe-title { font-size: clamp(32px,4vw,50px); margin: 8px 0 12px; }
.cafe-address { margin: 0; }
.cafe-visit .hero-meta-row { margin-top: 12px; gap: 8px 16px; }
.cafe-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.cafe-actions .btn-lg { padding: 11px 16px; min-height: 44px; }
.section-pad { padding-top: 24px; padding-bottom: 24px; }
.content-grid { gap: 28px; }
.bar-cell { padding: 12px 0; }
.checkin-card { padding: 16px; }
.site-footer.quiet-footer { margin-top: 24px; }
.quiet-footer-inner { padding-top: 20px; padding-bottom: 20px; }
.owner-intro { padding-top: 28px; padding-bottom: 20px; }
.owner-example { gap: 28px; padding-top: 16px; padding-bottom: 20px; }
.posted-entry, .composer-page { padding-top: 24px; padding-bottom: 28px; }
.posted-header { margin-bottom: 16px; }
.composer-detail-fields { gap: 20px; padding-top: 16px; }
@media(min-width: 800px) {
 .owner-intro { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: 32px; align-items: center; max-width: var(--site-max); }
 .owner-intro h1, .owner-intro p { grid-column: 1; }
 .owner-intro > .btn { grid-column: 2; grid-row: 1 / 4; }
 .brew-inputs { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media(max-width: 760px) {
 .site-nav-inner { gap: 8px; flex-wrap: wrap; }
 .header-search { flex: 0 0 44px; margin-left: auto; }
 .header-search .discovery-search { position: absolute; top: calc(100% + 6px); left: 12px; right: 12px; box-shadow: var(--shadow-e1); }
 .header-search:not(:has(.header-search-toggle[hidden])) .header-search-toggle { display: grid; place-items: center; }
 .header-search:has(.header-search-toggle[hidden]) { flex-basis: 100%; order: 3; }
 .header-search:has(.header-search-toggle[hidden]) .discovery-search { position: relative; }
 .site-nav .nav-links { display: none; }
 .discovery-heading { gap: 8px; margin-bottom: 16px; }
 .discovery-summary { margin-left: 0; }
 .cafe-page .cafe-hero-grid { grid-template-columns: minmax(0,1fr); grid-template-areas: 'intro' 'visit'; gap: 16px; padding-top: 24px; }
 .cafe-page .cafe-hero-grid:has(.cafe-photo) { grid-template-areas: 'intro' 'photo' 'visit'; }
 .content-grid { gap: 20px; }
}

@media(min-width: 761px) { .header-search-toggle { display: none; } }

.profile-heading { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 16px; }
.profile-avatar { width: 64px; height: 64px; font-size: 28px; }
.profile-identity { min-width: 0; overflow-wrap: anywhere; }
.profile-actions { display: flex; gap: 8px; }
@media(max-width: 600px) { .profile-heading { grid-template-columns: 56px minmax(0,1fr); }.profile-avatar { width: 56px; height: 56px; }.profile-actions { grid-column: 2; } }

.profile-stats .bar-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
.profile-stats .bar-cell { min-width: 0; padding-right: 8px; }
@media(max-width: 600px) { .coffee-entry-card .entry-heading { min-width: 120px; }.profile-stats .eyebrow { font-size: 9px; letter-spacing: .08em; } }

/* Quiet search: accessories at rest, one submit action while typing. */
.search-accessory { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:var(--fg-2); cursor:pointer; }
.search-accessory:hover { background:var(--bg-3); }
.search-accessory[hidden], .discovery-panel[hidden] { display:none; }
.search-enhanced.search-focused .search-accessory { display:none; }
.search-enhanced .discovery-submit { display:none; }
.search-enhanced.search-focused.has-query .discovery-submit { display:grid; }
.header-search .discovery-query input:focus-visible { outline:none; box-shadow:none; }
.header-search .discovery-search:focus-within { outline:2px solid var(--fg-accent); outline-offset:2px; }
.header-search button:focus-visible { outline:2px solid var(--fg-accent); outline-offset:2px; }
.header-search .discovery-panel { padding:10px; }
.header-search .discovery-location { margin:0; gap:4px; flex-direction:column; align-items:stretch; }
.header-search .discovery-location .btn { justify-content:flex-start; min-height:44px; }
.header-search .discovery-location-note, .header-search [data-discovery-status]:not(:empty) { padding:0 10px 6px; }

.search-location-chip { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; min-height:36px; max-width:150px; padding:4px 10px; border-radius:20px; background:var(--bg-3); color:var(--fg-1); font-size:12px; text-decoration:none; }
.search-location-chip span:first-of-type { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-location-chip:hover { outline:1px solid var(--fg-3); }
.search-location-chip span:last-child { font-size:20px; }
.search-accessory.has-location { display:none; }
.search-location-detail { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 10px; font-size:13px; }
.search-location-detail a { margin-left:auto; min-height:36px; display:inline-flex; align-items:center; }
.search-location-detail small { flex-basis:100%; color:var(--fg-3); }
.mobile-location-chip { display:none; }
@media(max-width:760px) { .mobile-location-chip { display:inline-flex; }.header-search .search-location-chip { max-width:125px; } }

.search-enhanced.search-focused .search-accessory.voice-active { display:grid; color:var(--fg-accent); background:var(--bg-3); outline:1px solid currentColor; }
