*{box-sizing:border-box}.main-content{max-width:var(--rw-content-max-width);margin:0 auto;padding:2rem 1rem}.list-page-title{font-size:1.75rem;margin:0 0 2rem;font-weight:600}.intro-content,.list-page-title{font-family:Nunito Sans,sans-serif;color:var(--rw-navy)}.intro-content{font-size:1.15rem;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--rw-light-gray)}.intro-content h1{font-size:2.25rem}.intro-content h1,.intro-content h2{font-family:Nunito Sans,sans-serif;color:var(--rw-navy);margin:0 0 1rem}.intro-content h2{font-size:1.85rem}.intro-content p{color:var(--rw-navy);font-size:1.15rem;line-height:1.7;margin-bottom:1rem}.intro-content p:last-child{margin-bottom:0}.intro-content a{color:var(--rw-gold);text-decoration:none;font-weight:600}.intro-content a:hover{text-decoration:underline}.filters-section{background:var(--rw-white);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:Nunito Sans,sans-serif}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;scroll-margin-top:56px;gap:1rem}.filter-title{font-family:Nunito Sans,sans-serif;font-size:1.75rem;font-weight:700;color:var(--rw-navy);margin:0}.results-count{font-size:1.125rem;color:var(--rw-gray);font-weight:600;margin:0}.filtered-page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.filtered-page-title-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:1rem}.filtered-page-title{font-size:2.25rem;font-weight:700;margin:0}.filtered-page-title,.view-all-btn{font-family:Nunito Sans,sans-serif;color:var(--rw-navy)}.view-all-btn{display:inline-flex;align-items:center;padding:.5rem 1.25rem;font-size:.95rem;font-weight:600;background:transparent;border:2px solid var(--rw-navy);border-radius:8px;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}.view-all-btn:hover{background:var(--rw-navy);color:var(--rw-white)}@media (max-width:600px){.filtered-page-header{flex-direction:column;align-items:flex-start}.filtered-page-title{font-size:1.75rem}}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.875rem;font-weight:600;color:var(--rw-navy);text-transform:uppercase;letter-spacing:.05em}.filter-search,.filter-select{padding:.75rem 1rem;border:2px solid var(--rw-light-gray);border-radius:8px;font-size:1rem;font-family:Nunito Sans,sans-serif;color:var(--rw-navy);transition:all .2s;background:var(--rw-white)}.filter-search:focus,.filter-select:focus{outline:none;border-color:var(--rw-navy);box-shadow:0 0 0 3px rgba(10,24,80,.1)}.filter-select.active{background:var(--rw-navy);color:var(--rw-white);border-color:var(--rw-navy)}.autocomplete-wrapper{position:relative}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--rw-white);border:2px solid var(--rw-navy);border-top:none;border-radius:0 0 8px 8px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:100;max-height:360px;overflow-y:auto}.suggestions-category{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--rw-gray);padding:.6rem 1rem .3rem;border-top:1px solid var(--rw-light-gray)}.suggestions-category:first-child{border-top:none}.suggestion-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.6rem 1rem;border:none;background:none;font-family:Nunito Sans,sans-serif;font-size:.95rem;cursor:pointer;text-align:left;transition:background .1s;gap:.75rem}.suggestion-item.highlighted,.suggestion-item:hover{background:rgba(10,24,80,.06)}.suggestion-label{font-weight:600;color:var(--rw-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.suggestion-count,.suggestion-sub{font-size:.8rem;color:var(--rw-gray);white-space:nowrap;flex-shrink:0}.autocomplete-wrapper:has(.suggestions-dropdown) .filter-search{border-radius:8px 8px 0 0;border-color:var(--rw-navy);box-shadow:0 0 0 3px rgba(10,24,80,.1)}.meal-buttons{display:flex;gap:.5rem}.meal-btn{flex:1;padding:.75rem;border:2px solid var(--rw-light-gray);background:var(--rw-white);color:var(--rw-navy);border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.meal-btn.active,.meal-btn:hover{border-color:var(--rw-navy)}.meal-btn.active{background:var(--rw-navy);color:var(--rw-white)}.clear-filters-btn{padding:.75rem 1.5rem;background:var(--rw-light-gray);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-family:Nunito Sans,sans-serif}.clear-filters-btn:hover{background:var(--rw-gray);color:var(--rw-white)}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.sticky-filter-bar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--rw-navy);box-shadow:0 2px 8px rgba(0,0,0,.25);animation:slideDown .25s ease-out;font-family:Nunito Sans,sans-serif}.sticky-filter-bar-content{max-width:var(--rw-content-max-width);margin:0 auto;display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;flex-wrap:wrap}.sticky-filter-label{font-size:.8rem;font-weight:700;color:var(--rw-gold);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.sticky-filter-chips{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sticky-chip{display:inline-block;padding:.2rem .6rem;background:rgba(255,255,255,.15);color:var(--rw-white);border-radius:999px;font-weight:600;border:1px solid rgba(255,255,255,.25)}.sticky-chip,.sticky-filter-count{font-size:.78rem;white-space:nowrap}.sticky-filter-count{color:rgba(255,255,255,.7);margin-left:auto}.sticky-filter-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.sticky-filter-clear-btn{background:none;border:none;color:rgba(255,255,255,.75);font-family:Nunito Sans,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;transition:color .2s;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}.sticky-filter-clear-btn:hover{color:var(--rw-white)}.sticky-filter-change-btn{background:transparent;border:1.5px solid var(--rw-gold);color:var(--rw-gold);font-family:Nunito Sans,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;padding:.25rem .75rem;border-radius:6px;transition:background .2s,color .2s;white-space:nowrap}.sticky-filter-change-btn:hover{background:var(--rw-gold);color:var(--rw-navy)}@media (max-width:600px){.sticky-filter-bar-content{gap:.4rem;padding:.4rem .75rem}.sticky-chip,.sticky-filter-label{font-size:.7rem}.sticky-chip{padding:.15rem .5rem}.sticky-filter-count{font-size:.7rem;margin-left:0;width:100%;order:10}.sticky-filter-actions{margin-left:auto}.sticky-filter-change-btn,.sticky-filter-clear-btn{font-size:.7rem}}.restaurants-grid{display:grid;gap:1.5rem}.restaurant-card{background:var(--rw-white);border-radius:12px;text-decoration:none;color:inherit;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,.08);position:relative;overflow:hidden;border:2px solid transparent}.restaurant-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.12);border-color:var(--rw-gold)}.card-content{padding:1.5rem}.card-upper{display:flex;flex-direction:row;align-items:center;gap:1.25rem}.restaurant-logo-link{flex-shrink:0;width:120px;display:flex;align-items:center;justify-content:center}.restaurant-logo{object-fit:contain;max-width:100%;max-height:80px;height:auto;display:block}.card-info{flex:1;min-width:0}.card-info,.restaurant-name{font-family:Nunito Sans,sans-serif}.restaurant-name{font-size:2.1rem;font-weight:700;color:var(--rw-navy);margin:0 0 .25rem;letter-spacing:.02em;line-height:1.1}.restaurant-name .display-name-line-2{display:block;font-size:1.2rem;font-weight:400;color:var(--rw-navy);letter-spacing:.01em;margin-top:.1rem}.cuisine-types{font-family:Nunito Sans,sans-serif;font-size:.875rem;color:var(--rw-gray);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.address{font-size:.95rem;color:var(--rw-gray);margin:0 0 .35rem;line-height:1.5}.prices{font-size:1.125rem;font-weight:700;color:var(--rw-navy);margin:0}.availability-actions-container{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--rw-cream)}.card-actions-vertical{display:flex;flex-direction:column;gap:.75rem;flex:1;max-width:50%}.availability-compact-unified{flex:1;max-width:50%;border:2px solid var(--rw-light-gray);border-radius:8px;padding:.75rem;background:rgba(212,160,36,.05);display:flex;flex-direction:column;gap:.75rem}.availability-meal{display:flex;flex-direction:column;gap:.4rem}.meal-label-compact{display:block;font-size:.65rem;font-weight:700;color:var(--rw-navy);margin-bottom:.4rem;letter-spacing:.1em;text-align:center}.weeks-container{display:flex;gap:.4rem}.week-compact{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem}.week-label-compact{font-size:.55rem;font-weight:600;color:var(--rw-gray);text-transform:uppercase}.week-grid-compact{display:flex;gap:.15rem}.day-compact{font-size:.55rem;font-weight:600;padding:.2rem .15rem;text-align:center;border-radius:2px;transition:all .2s;min-width:14px}.day-compact.active{background:var(--rw-gold);color:var(--rw-navy)}.day-compact.inactive{background:var(--rw-light-gray);color:var(--rw-gray);opacity:.4}.attribute-icons-row{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--rw-light-gray)}.attribute-icon-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:default;transition:opacity .2s;z-index:1}.attribute-icon-wrap:active,.attribute-icon-wrap:hover{z-index:11}.attribute-icon-wrap.has-note{cursor:pointer}.attribute-icon-wrap:hover{opacity:.8}.attribute-icon-img{display:block;width:24px;height:24px;object-fit:contain}.attribute-note{position:absolute;left:calc(100% + .35rem);top:50%;transform:translateY(-50%);white-space:nowrap;font-family:Nunito Sans,sans-serif;font-size:.8rem;font-weight:600;color:var(--rw-navy);background:#fdf8e8;padding:.2rem .5rem;border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.12);z-index:10;pointer-events:none;animation:fadeInNote .12s ease-out}@keyframes fadeInNote{0%{opacity:0}to{opacity:1}}.reservations-btn-link,.view-menus-btn-link{padding:.75rem 1rem;text-align:center;border-radius:8px;font-weight:700;font-size:.85rem;letter-spacing:.05em;transition:all .2s;text-decoration:none;display:flex;align-items:center;justify-content:center}.view-menus-btn-link{background:var(--rw-navy);color:var(--rw-white);border:2px solid var(--rw-navy)}.reservations-btn-link{background:var(--rw-accent-red);color:var(--rw-white);border:2px solid var(--rw-accent-red)}.view-menus-btn-link:hover{background:var(--rw-gold);border-color:var(--rw-gold)}.reservations-btn-link:hover{background:#b91c1c;border-color:#b91c1c}.reservations-btn{padding:.75rem 1rem;text-align:center;border-radius:8px;font-weight:700;font-size:.85rem;letter-spacing:.05em;background:var(--rw-light-gray);color:var(--rw-gray);border:2px solid var(--rw-light-gray);cursor:not-allowed;display:flex;align-items:center;justify-content:center}.sold-out-badge{position:absolute;top:1rem;right:1rem;background:var(--rw-accent-red);color:var(--rw-white);padding:.5rem 1rem;border-radius:6px;font-weight:700;font-size:.75rem;letter-spacing:.1em;transform:rotate(3deg);box-shadow:0 4px 12px rgba(220,38,38,.3)}.no-results{text-align:center;padding:4rem 2rem;background:var(--rw-white);border-radius:12px;font-family:Nunito Sans,sans-serif}.no-results p{font-size:1.25rem;color:var(--rw-gray);margin:0 0 1.5rem}.reset-btn{padding:.75rem 2rem;background:var(--rw-navy);color:var(--rw-white);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.reset-btn:hover{background:var(--rw-gold);transform:scale(1.05)}@media (max-width:768px){.filters-grid{grid-template-columns:1fr}.card-upper{flex-direction:column;align-items:center;text-align:center}.restaurant-logo-link{width:auto;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--rw-cream);width:100%}.card-info{width:100%}.availability-actions-container{flex-direction:column-reverse}.card-actions-vertical{flex-direction:row;max-width:100%}.card-actions-vertical>*{flex:1}.availability-compact-unified{max-width:100%}}@media (max-width:480px){.week-grid-compact{gap:.1rem}.day-compact{font-size:.5rem;min-width:12px;padding:.15rem .1rem}}.restaurant-card.promo-card{border:2px solid transparent;overflow:hidden}.promo-card-link{display:block;line-height:0}.promo-card-image{display:block;width:100%;height:auto;object-fit:cover;border-radius:10px}.promo-card-content{padding:1.5rem;font-family:Nunito Sans,sans-serif;color:var(--rw-navy);line-height:1.7}.promo-card-content h2{font-size:1.5rem;font-weight:700;color:var(--rw-navy);margin:0 0 .75rem}.promo-card-content h3{font-size:1.25rem}.promo-card-content h3,.promo-card-content h4{font-weight:700;color:var(--rw-navy);margin:0 0 .5rem}.promo-card-content h4{font-size:1.1rem}.promo-card-content p{margin:0 0 .75rem;color:var(--rw-gray)}.promo-card-content p:last-child{margin-bottom:0}.promo-card-content a{color:var(--rw-gold);font-weight:600;text-decoration:none}.promo-card-content a:hover{text-decoration:underline}.promo-card-content strong{color:var(--rw-navy);font-weight:700}