.restaurants-discovery{padding-bottom:var(--space-20)}.restaurants-hero{background:linear-gradient(165deg,var(--color-bg-secondary) 0,var(--color-bg) 50%);padding:var(--space-12) 0 var(--space-10);border-bottom:1px solid var(--color-border-light)}.restaurants-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);font-weight:600;margin-bottom:var(--space-2)}.restaurants-hero-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:1.15}.restaurants-hero-sub{color:var(--color-text-secondary);max-width:640px;margin-bottom:var(--space-8);line-height:1.55}.restaurants-hero-bar{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width:768px){.restaurants-hero-bar{flex-direction:row;align-items:stretch;gap:var(--space-6)}}.restaurants-search-wrap{flex:1 1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.restaurants-search-icon{color:var(--color-text-muted);flex-shrink:0}.restaurants-search-input{flex:1 1;border:none;background:transparent;font-size:var(--text-base);color:var(--color-text-primary);outline:none;min-width:0}.restaurants-locate{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-xl);border:1px dashed var(--color-border)}.restaurants-geo-note{margin-top:var(--space-4);font-size:var(--text-sm);color:var(--color-warning);max-width:640px}.restaurants-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-8);padding-bottom:var(--space-4)}.restaurants-filter-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-weight:500;cursor:pointer;font-size:var(--text-sm)}@media (min-width:960px){.restaurants-filter-toggle{display:none}}.restaurants-sort{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.restaurants-sort-select{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm)}.restaurants-chips{display:flex;flex-wrap:wrap;padding-bottom:var(--space-4)}.filter-chip,.restaurants-chips{align-items:center;gap:var(--space-2)}.filter-chip{display:inline-flex;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-tertiary);border:1px solid var(--color-border-light)}.filter-chip,.link-reset{font-size:var(--text-sm);cursor:pointer}.link-reset{background:none;border:none;color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.restaurants-layout{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media (min-width:960px){.restaurants-layout{grid-template-columns:280px 1fr}.restaurants-filters{position:sticky;top:calc(var(--header-height, 72px) + var(--space-4))}}.restaurants-filters{display:none;flex-direction:column;gap:var(--space-6);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.restaurants-layout.filters-open .restaurants-filters{display:flex}@media (min-width:960px){.restaurants-filters{display:flex}}.filter-block{display:flex;flex-direction:column;gap:var(--space-3)}.filter-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.cuisine-check,.toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer}.filter-cuisine-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.filter-rating-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.radio-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);font-size:var(--text-xs);cursor:pointer}.distance-slider{width:100%;accent-color:var(--color-primary)}.filter-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.restaurants-main{min-width:0}.restaurants-empty,.restaurants-error,.restaurants-loading{padding:var(--space-10);text-align:center;color:var(--color-text-secondary)}.restaurants-error{color:var(--color-error)}.spin-icon{animation:restaurants-spin .9s linear infinite;vertical-align:middle;margin-right:var(--space-2)}@keyframes restaurants-spin{to{transform:rotate(1turn)}}.discovery-section{margin-bottom:var(--space-12)}.discovery-section-head h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-4);color:var(--color-text-primary)}.discovery-row{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.discovery-row::-webkit-scrollbar{height:6px}.discovery-row::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.discovery-row-item{flex:0 0 min(280px,85vw);scroll-snap-align:start}.restaurants-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media (min-width:640px){.restaurants-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.restaurants-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.restaurants-grid{grid-template-columns:repeat(4,1fr)}}.restaurant-card{display:block;text-decoration:none;color:inherit;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.restaurant-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.restaurant-card-banner{position:relative;height:120px;background:var(--color-bg-tertiary)}.restaurant-card-banner-img{width:100%;height:100%;object-fit:cover}.restaurant-card-banner-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-bg-tertiary) 100%);opacity:.7}.restaurant-card-banner-overlay{position:absolute;left:var(--space-3);bottom:var(--space-3)}.restaurant-status{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600}.restaurant-status.open{background:rgba(20,120,60,.92);color:#fff}.restaurant-status.closed{background:rgba(40,40,40,.85);color:#fff}.restaurant-card-body{padding:var(--space-4);padding-top:0}.restaurant-card-head{display:flex;gap:var(--space-3);margin-top:calc(-1 * var(--space-6));position:relative}.restaurant-card-logo,.restaurant-card-logo-placeholder{width:56px;height:56px;border-radius:var(--radius-lg);border:3px solid var(--color-surface);flex-shrink:0;object-fit:cover;background:var(--color-surface)}.restaurant-card-logo-placeholder{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-xl);color:var(--color-primary);background:var(--color-bg-secondary)}.restaurant-card-title-block{padding-top:var(--space-6);min-width:0}.restaurant-card-name{font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-1);line-height:1.25;color:var(--color-text-primary)}.restaurant-card-meta-line{font-size:var(--text-sm);margin:0 0 var(--space-1);line-height:1.4}.restaurant-card-rating{color:var(--color-secondary);font-weight:600;margin-right:var(--space-2)}.restaurant-card-muted{color:var(--color-text-muted)}.restaurant-card-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px var(--space-2);border-radius:var(--radius-sm)}.badge-gold{background:linear-gradient(90deg,#b8860b,#daa520);color:#fff}.badge-new{background:var(--color-info);color:#fff}.badge-fast{background:var(--color-accent);color:#fff}.badge-top{background:var(--color-brand-brown);color:#fff}.storefront-hero{padding:var(--space-12) 0;text-align:center;background:var(--color-bg-secondary)}.storefront-hero h1{font-family:var(--font-display);font-size:var(--text-3xl);margin-bottom:var(--space-3)}.storefront-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-top:var(--space-6)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);border:2px solid var(--color-primary);color:var(--color-primary);font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.btn-outline:hover{background:var(--color-primary);color:#fff}.merchant-storefront{padding-bottom:var(--space-20)}.storefront-hero--full{min-height:280px;display:flex;align-items:flex-end;padding-bottom:var(--space-10)}.storefront-hero-row{display:flex;flex-wrap:wrap;gap:var(--space-6);align-items:flex-start;text-align:left}.storefront-logo{border-radius:16px;border:3px solid rgba(255,255,255,.9);object-fit:cover}.storefront-logo--placeholder{width:96px;height:96px;background:rgba(255,255,255,.2)}.storefront-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;margin-bottom:var(--space-2)}.storefront-meta,.storefront-sub{font-size:var(--text-sm);opacity:.95;margin-bottom:.35rem}.storefront-toolbar{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.storefront-icon-btn{width:40px;height:40px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.15);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.storefront-body{padding-top:var(--space-8)}.storefront-promo-banner{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.storefront-promo-chip{font-size:var(--text-sm);background:#ecfdf5;border:1px solid #bbf7d0;color:#14532d;padding:.5rem .75rem;border-radius:var(--radius-full)}.storefront-about h2,.storefront-menu-title{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-3)}.storefront-about{margin-bottom:var(--space-8)}.storefront-tagline{font-style:italic;color:var(--color-text-secondary)}.storefront-cat-tabs{position:sticky;top:var(--header-height,72px);z-index:5;display:flex;gap:.35rem;overflow-x:auto;padding:var(--space-2) 0 var(--space-3);margin-bottom:var(--space-4);background:var(--color-bg);border-bottom:1px solid var(--color-border)}.storefront-cat-tab{flex-shrink:0;padding:.45rem .85rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);font-weight:600;cursor:pointer;color:var(--color-text-secondary)}.storefront-cat-tab.active{border-color:var(--color-primary);color:var(--color-primary);background:rgba(22,163,74,.08)}.storefront-category-block{margin-bottom:var(--space-10)}.storefront-category-heading{font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-4)}.storefront-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.storefront-item-card{border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface);display:flex;flex-direction:column}.storefront-item-img-wrap{position:relative;height:140px;background:var(--color-bg-secondary)}.storefront-item-img{width:100%;height:100%;object-fit:cover}.storefront-item-img--empty{background:linear-gradient(135deg,#e2e8f0,#f8fafc)}.storefront-item-body{padding:var(--space-4);display:flex;flex-direction:column;flex:1 1;gap:.35rem}.storefront-item-body h4{font-size:var(--text-base);font-weight:700}.storefront-item-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.45;flex:1 1}.storefront-item-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-2)}.storefront-item-price{font-weight:800;color:var(--color-primary)}.storefront-reviews h2{margin-bottom:var(--space-2)}.storefront-reviews-summary{color:var(--color-text-secondary);margin-bottom:var(--space-4)}.storefront-review-list{list-style:none;padding:0;margin:0}.storefront-review-item{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.storefront-review-stars{color:#ca8a04;margin-bottom:.35rem}.storefront-review-reply{margin-top:.5rem;font-size:var(--text-sm);color:var(--color-text-secondary)}