.ep-browse-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ep-browse-filters { background:#fff; border:1px solid #e4d7cf; border-radius:14px; padding:22px; margin:24px 0; }
.ep-browse-filters form { display:flex; flex-wrap:wrap; align-items:start; gap:16px; }
.ep-browse-filters form > button,.ep-browse-filters form > a { align-self:end; }
.ep-browse-filters label { display:flex; flex:1 1 200px; flex-direction:column; gap:7px; font-weight:600; }
.ep-browse-filters select { box-sizing:border-box; width:100%; min-height:44px; padding:10px; border:1px solid #bca99c; border-radius:7px; background:white; color:#292323; font:inherit; }
.ep-browse-filters input[type="search"] { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px; border:1px solid #bca99c; border-radius:7px; font:inherit; font-weight:normal; }
.ep-browse-filters label { min-width:0; }
.ep-browse-filters label small { font-weight:normal; }
.ep-browse-filters label small:empty { display:none; }
.ep-browse-filters select[size]:not([size="1"]) { padding:4px; }
.ep-browse-filters select option { padding:5px; }
.ep-browse-filters button { min-height:44px; padding:10px 22px; background:#9d2d1f; color:white; border:0; border-radius:7px; font:inherit; cursor:pointer; }
.ep-filter-field { position:relative; flex:1 1 200px; min-width:0; display:flex; flex-direction:column; gap:7px; }
.ep-filter-field > label { flex:none; }
.ep-browse-filters .ep-filter-trigger { width:100%; background:#fff; color:#292323; border:1px solid #bca99c; text-align:left; padding:10px 32px 10px 10px; position:relative; }
.ep-filter-trigger::after { content:'▾'; position:absolute; right:12px; }
.ep-filter-popup { position:absolute; z-index:50; top:100%; left:0; right:0; margin-top:5px; padding:8px; background:#fff; border:1px solid #bca99c; border-radius:8px; box-shadow:0 6px 20px #0002; }
.ep-filter-popup[hidden],.ep-filter-field select[hidden] { display:none; }
.ep-filter-options { max-height:240px; overflow-y:auto; overscroll-behavior:contain; margin-top:6px; }
.ep-filter-option { padding:10px; min-height:24px; cursor:pointer; border-radius:4px; }
.ep-filter-option:hover,.ep-filter-option.is-active { background:#fff0e5; }
.ep-filter-option[aria-selected="true"] { font-weight:700; color:#9d2d1f; }
.ep-filter-status { padding:8px; color:#65574e; font-size:.9rem; }
.ep-filter-status:empty { display:none; }
.ep-filter-trigger:focus-visible,.ep-filter-popup input:focus-visible { outline:2px solid #9d2d1f; outline-offset:2px; }
.ep-category-note { font-size:.9rem; color:#65574e; margin:16px 0 0; line-height:1.5; }
.ep-category-links,.ep-dish-categories { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }
.ep-category-links { margin:24px 0 32px; }
.ep-category-links a,.ep-dish-categories li { background:#fff5ec; border:1px solid #e9d6c5; border-radius:18px; padding:7px 12px; }
.ep-category-links small,.ep-dish-categories small { color:#64574f; margin-left:5px; font-size:.75rem; }
.ep-browse-grid .ep-content-card { margin:0; min-width:0; padding:24px; }
.ep-browse-grid h2 { font-size:1.3rem; line-height:1.35; overflow-wrap:anywhere; }
.ep-browse-dish img { display:block; width:100%; height:220px; object-fit:cover; border-radius:8px; }
.ep-browse-pagination { display:flex; align-items:center; justify-content:center; gap:24px; padding:28px 0; }
.ep-browse-pagination a { padding:12px 18px; background:#fff; border:1px solid #d9c9bd; border-radius:8px; }
.ep-home-intro h1 { font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.2; margin:8px 0; max-width:800px; }
.ep-home-intro p { max-width:800px; line-height:1.5; }
@media(max-width:900px) { .ep-browse-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .ep-browse-grid { grid-template-columns:1fr; } .ep-home-intro { align-items:flex-start; } }
