/* EatRate detail pages: dish, chef, restaurant. Tokens only. */
.erd-page{display:grid;gap:var(--space-6);padding-block:var(--space-4)}
.erd-back{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--er-brand);font-weight:600;min-height:44px;width:max-content}
.erd-link{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--er-brand);font-weight:600;min-height:44px}
.erd-section{display:grid;gap:var(--space-3)}
.erd-section h2{font-size:var(--text-xl);font-family:var(--font-display)}
.erd-prose{max-width:var(--er-reading-max);color:var(--er-ink-700)}
.erd-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

/* Dish layout: phone single column; desktop gallery left + sticky order panel right */
.erd-dish{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}
.erd-gallery{display:grid;gap:var(--space-2)}
.erd-gallery-main{aspect-ratio:4/3;max-width:100%;border-radius:var(--radius-xl);overflow:hidden;background:var(--er-stone-100)}
.erd-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.erd-placeholder{width:100%;height:100%;display:grid;place-items:center;color:var(--er-ink-500);background:linear-gradient(var(--er-stone-50),var(--er-stone-100))}
.erd-thumbs{display:flex;gap:var(--space-2);overflow-x:auto}
.erd-thumb{flex:0 0 72px;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;padding:0;background:var(--er-stone-100);cursor:pointer}
.erd-thumb img{width:100%;height:100%;object-fit:cover}
.erd-thumb[aria-pressed="true"]{border-color:var(--er-brand)}
.erd-thumb:focus-visible{outline:none;box-shadow:var(--er-focus-ring)}
.erd-order-card{display:grid;gap:var(--space-3);background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--radius-lg);padding:var(--space-6)}
.erd-title{font-family:var(--font-display);font-size:var(--text-2xl);line-height:var(--leading-tight)}
.erd-price{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);font-variant-numeric:tabular-nums;margin:0}
.erd-price small{font-size:var(--text-sm);color:var(--er-text-secondary);font-weight:600}
.erd-facts{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}
.erd-facts li{display:inline-flex;gap:var(--space-1);align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--er-stone-50);border:1px solid var(--er-border);font-size:var(--text-sm)}
.erd-form{display:grid;gap:var(--space-3)}
.erd-group{border:1px solid var(--er-border);border-radius:var(--radius-md);padding:var(--space-3);margin:0;display:grid;gap:var(--space-1)}
.erd-group legend{font-weight:700;padding-inline:var(--space-1);display:flex;gap:var(--space-2);align-items:center}
.erd-option{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-2);align-items:center;min-height:44px;cursor:pointer}
.erd-option input{width:20px;height:20px;accent-color:var(--er-brand)}
.erd-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0}
.erd-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--er-border);background:var(--er-surface);min-height:32px}
.erd-chip-trace{border-color:var(--er-terracotta-100);background:var(--er-terracotta-50);color:var(--er-terracotta-700);font-weight:600}
.erd-allergens{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3);border-radius:var(--radius-md);background:var(--er-warning-100);color:var(--er-ink-900);margin:0}
.erd-nutrition{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2);margin:0}
.erd-nutrition div{border:1px solid var(--er-border);border-radius:var(--radius-md);padding:var(--space-3)}
.erd-nutrition dt{font-size:var(--text-xs);color:var(--er-text-secondary)}
.erd-nutrition dd{margin:0;font-weight:700}
.erd-person{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3);border:1px solid var(--er-border);border-radius:var(--radius-md);color:inherit;max-width:420px}
.erd-avatar{flex:0 0 48px;width:48px;height:48px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--er-forest-100);color:var(--er-forest-900);font-weight:800;overflow:hidden}
.erd-avatar img{width:100%;height:100%;object-fit:cover}
.erd-breakdown{display:grid;grid-template-columns:auto 1fr;gap:var(--space-6);align-items:center;max-width:520px}
.erd-score{font-family:var(--font-display);font-weight:800;font-size:var(--text-4xl);margin:0;line-height:1}
.erd-score small{font-size:var(--text-base);color:var(--er-text-secondary)}
.erd-breakdown ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}
.erd-breakdown li{display:grid;grid-template-columns:16px 1fr 32px;gap:var(--space-2);align-items:center;font-size:var(--text-sm)}
.erd-bar{height:8px;border-radius:var(--radius-pill);background:var(--er-stone-100);overflow:hidden}
.erd-bar span{display:block;height:100%;background:var(--er-saffron-500)}
.erd-review{display:grid;gap:var(--space-2);padding-block:var(--space-3);border-top:1px solid var(--er-border)}
.erd-review-photos{display:flex;gap:var(--space-2);flex-wrap:wrap}
.erd-review-photos img{width:96px;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm)}

/* Phone: sticky bottom add-to-cart */
@media (max-width:1023px){
  .erd-has-sticky{padding-bottom:96px}
  .erd-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:var(--space-3) var(--space-4);background:var(--er-surface);border-top:1px solid var(--er-border);box-shadow:var(--shadow-md)}
}
@media (min-width:1024px){
  .erd-dish{grid-template-columns:minmax(0,7fr) minmax(320px,5fr);align-items:start}
  .erd-gallery{grid-column:1;grid-row:1}
  .erd-order{grid-column:2;grid-row:1 / span 2;position:sticky;top:calc(var(--er-topbar-height) + var(--space-4))}
  .erd-body{grid-column:1;display:grid;gap:var(--space-8)}
}
@media (min-width:1536px){.erd-dish{grid-template-columns:minmax(0,2fr) minmax(360px,1fr)}}

/* Chef: editorial hero + sticky profile card */
.erd-hero{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--er-forest-950);color:var(--er-white);min-height:220px;display:grid;align-items:end}
.erd-hero img.erd-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.erd-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,42,33,.88),rgba(16,42,33,.2))}
.erd-hero-body{position:relative;z-index:1;padding:var(--space-6);display:flex;gap:var(--space-4);align-items:end;flex-wrap:wrap}
.erd-hero h1{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--er-white);line-height:var(--leading-tight)}
.erd-hero p{color:var(--er-stone-100);margin:0}
.erd-portrait{width:96px;height:96px;border-radius:var(--radius-pill);border:3px solid var(--er-white);background:var(--er-forest-100);color:var(--er-forest-900);display:grid;place-items:center;font-size:var(--text-3xl);font-weight:800;overflow:hidden}
.erd-portrait img{width:100%;height:100%;object-fit:cover}
.erd-two{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}
.erd-profile{display:grid;gap:var(--space-3);background:var(--er-surface);border:1px solid var(--er-border);border-radius:var(--radius-lg);padding:var(--space-6);align-content:start}
.erd-profile dl{display:grid;gap:var(--space-2);margin:0}
.erd-profile dl div{display:flex;justify-content:space-between;gap:var(--space-3)}
.erd-profile dd{margin:0;font-weight:600;text-align:right}
@media (min-width:1024px){
  .erd-two{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start}
  .erd-two>.erd-profile{position:sticky;top:calc(var(--er-topbar-height) + var(--space-4))}
}
.erd-portfolio{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.erd-portfolio button{padding:0;border:1px solid var(--er-border);border-radius:var(--radius-md);overflow:hidden;background:var(--er-surface);text-align:left;cursor:pointer;display:grid;color:inherit}
.erd-portfolio button:focus-visible{outline:none;box-shadow:var(--er-focus-ring)}
.erd-portfolio .erd-media{aspect-ratio:1;background:var(--er-stone-100);display:grid;place-items:center;color:var(--er-ink-500)}
.erd-portfolio .erd-media img{width:100%;height:100%;object-fit:cover}
.erd-portfolio span.erd-cap{padding:var(--space-2) var(--space-3);font-weight:600;font-size:var(--text-sm)}
.erd-lightbox{border:0;padding:0;border-radius:var(--radius-lg);max-width:min(92vw,900px);background:var(--er-surface)}
.erd-lightbox::backdrop{background:rgba(16,42,33,.8)}
.erd-lightbox figure{margin:0;display:grid}
.erd-lightbox img{width:100%;max-height:70vh;object-fit:contain;background:var(--er-ink-950)}
.erd-lightbox figcaption{padding:var(--space-4);display:grid;gap:var(--space-1)}
.erd-lightbox-bar{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-4)}

/* Restaurant: sticky category tabs with scrollspy */
.erd-tabs{position:sticky;top:var(--er-topbar-height);z-index:20;display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0;background:var(--er-bg);border-bottom:1px solid var(--er-border)}
.erd-tabs a{flex:0 0 auto;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--er-border);background:var(--er-surface);color:var(--er-ink-700);font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.erd-tabs a[aria-current="true"]{background:var(--er-forest-950);border-color:var(--er-forest-950);color:var(--er-white)}
.erd-menu-section{scroll-margin-top:calc(var(--er-topbar-height) + 72px)}
.erd-hours{display:grid;gap:var(--space-1);margin:0;font-size:var(--text-sm)}
.erd-hours div{display:flex;justify-content:space-between}
.erd-hours .is-today{font-weight:700}
.erd-rewards-badge{display:inline-flex;gap:var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--er-rewards-card);color:var(--er-white);font-weight:600;font-size:var(--text-sm)}
.erd-rewards-badge .er-icon{color:var(--er-saffron-400)}
.erd-map-slot{min-height:200px;border:1px dashed var(--er-border-strong);border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--er-text-secondary);background:var(--er-stone-50)}
@media print{.erd-cta,.erd-tabs{display:none}}
