/* PAGE HERO / BANNER */
.page-banner{background:var(--text);padding:5% 5% 4%;position:relative;overflow:hidden;}
.page-banner.theme-veg { background: #0c1c11; }
.page-banner::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(201,169,110,.08),transparent 65%);pointer-events:none;}
.page-banner.theme-veg::before{background:radial-gradient(circle,rgba(110,201,114,.08),transparent 65%);}
.page-banner.theme-neutral::before{background:radial-gradient(circle,rgba(110,169,201,.08),transparent 65%);}
.page-banner::after{content:'🍗';position:absolute;right:5%;top:50%;transform:translateY(-50%);font-size:10rem;opacity:.05;}
.page-banner.theme-veg::after{content:'🥦';opacity:.04;}
.page-banner.theme-neutral::after{content:'🍽️';opacity:.04;}
.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;}
.breadcrumb a,.breadcrumb span{font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:#666;text-decoration:none;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb .sep{color:#444;}
.page-banner h1{font-family:var(--serif);font-size:clamp(2.5rem,5vw,5rem);font-weight:700;color:var(--cream);line-height:1;margin-bottom:.8rem;}
.page-banner h1 em{color:var(--gold);font-style:italic;}
.page-banner p{font-size:.85rem;color:#999;letter-spacing:.5px;line-height:1.8;max-width:500px;margin-bottom:2rem;}
.banner-stats{display:flex;gap:3rem;}
.bstat strong{font-family:var(--serif);font-size:2rem;color:var(--cream);display:block;font-weight:700;}
.bstat span{font-size:.6rem;letter-spacing:2px;text-transform:uppercase;color:#666;}

/* FILTER SIDEBAR + CONTENT */
.page-body{display:grid;grid-template-columns:260px 1fr;gap:2.5rem;padding:4% 5%;align-items:start;}

/* SIDEBAR */
.sidebar{background:var(--white);border:1px solid var(--border);padding:1.5rem;position:sticky;top:calc(var(--nav-h, 76px) + 1rem);}
.sidebar-title{font-family:var(--serif);font-size:1.2rem;font-weight:700;color:var(--text);padding-bottom:.8rem;border-bottom:1px solid var(--border);margin-bottom:1.2rem;}
.filter-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.filter-group:last-child{border:none;margin-bottom:0;padding-bottom:0;}
.filter-label{font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:.8rem;display:block;}
.filter-opts{display:flex;flex-direction:column;gap:.4rem;}
.fopt{display:flex;align-items:center;gap:.6rem;cursor:pointer;}
.fopt input[type="radio"],.fopt input[type="checkbox"]{accent-color:var(--burgundy);width:14px;height:14px;}
.fopt-label{font-size:.78rem;color:var(--muted);letter-spacing:.5px;}
.fopt:hover .fopt-label{color:var(--burgundy);}
.filter-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.ftag{background:var(--cream2);border:1px solid var(--border);font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--muted);padding:.3rem .7rem;cursor:pointer;transition:.2s;}
.ftag:hover,.ftag.active{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy);}
.apply-btn{background:var(--burgundy);color:var(--cream);border:none;font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:.75rem;width:100%;cursor:pointer;margin-top:1rem;}
.apply-btn:hover{background:var(--burgundy-dk);}

/* CONTENT */
.content-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;}
.results-count{font-size:.78rem;color:var(--muted);letter-spacing:.5px;}
.results-count strong{color:var(--text);font-weight:700;}
.sort-row{display:flex;align-items:center;gap:.8rem;}
.sort-label{font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);}
.sort-select{background:var(--cream2);border:1px solid var(--border);font-family:var(--sans);font-size:.75rem;color:var(--text);padding:.4rem .8rem;outline:none;cursor:pointer;}

/* ACTIVE FILTERS */
.active-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;}
.af-chip{display:flex;align-items:center;gap:.4rem;background:var(--cream2);border:1px solid var(--border2);font-size:.65rem;font-weight:700;letter-spacing:.5px;color:var(--muted);padding:.3rem .8rem;}
.af-x{cursor:pointer;color:var(--burgundy);font-weight:700;font-size:.75rem;}

/* MEAL TAB BAR */
.meal-bar{background:var(--cream2);border-bottom:1px solid var(--border);padding:.9rem 5%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.meal-bar::-webkit-scrollbar{display:none;}
.meal-inner{display:inline-flex;gap:.3rem;}
.mtab{font-family:var(--sans);font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:.45rem 1rem;border:1px solid transparent;background:transparent;cursor:pointer;transition:.2s;white-space:nowrap;}
.mtab:hover{border-color:var(--border2);background:var(--cream);}
.mtab.active{background:var(--burgundy);color:var(--cream);border-color:var(--burgundy);}

/* PAGINATION OVERRIDES */
.pagination-area{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border);}
.ppage{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-size:.75rem;font-weight:700;color:var(--muted);cursor:pointer;transition:.2s;background:var(--white);text-decoration:none;}
.ppage:hover{border-color:var(--burgundy);color:var(--burgundy);}
.ppage.active{background:var(--burgundy);border-color:var(--burgundy);color:var(--cream);}
.ppage.arrow{font-size:.9rem;}

@media(max-width:900px){.page-body{grid-template-columns:1fr;}.sidebar{position:relative;top:auto;}}
@media(max-width:768px){.page-body{padding:6% 4%;}.page-banner{padding:8% 4%;}.banner-stats{gap:2rem;}}
