.restaurants-page-wrapper{min-height:100vh;font-family:var(--font-ui);color:#fff;background-color:#050505;padding:100px 2rem 4rem}.container{max-width:1300px;margin:0 auto}.page-header{text-align:center;margin-bottom:4rem}.page-title{font-family:var(--font-display);color:#e9a004;margin-bottom:.5rem;font-size:3.5rem}.page-subtitle{color:#a0a0a0;font-size:1.1rem;font-weight:300}.restaurants-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:2rem;display:grid}.rating-card{cursor:pointer;background-color:#121212;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;overflow:hidden}.rating-card:hover{border-color:#e9a004;transform:translateY(-8px);box-shadow:0 10px 25px #e9a00426}.card-image-wrapper{width:100%;height:200px;position:relative}.card-image{object-fit:cover;width:100%;height:100%}.rating-badge{color:#000;z-index:2;background-color:#e9a004;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:800;transition:background-color .3s;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #0006}.rating-badge.default{color:#000;background-color:#e9a004;box-shadow:0 0 10px #e9a00466}.rating-badge.quality{color:#fff;background-color:#ff6b6b;box-shadow:0 0 10px #ff6b6b66}.rating-badge.space{color:#000;background-color:#a29bfe;box-shadow:0 0 10px #a29bfe66}.rating-badge.location{color:#fff;background-color:#0984e3;box-shadow:0 0 10px #0984e366}.rating-badge.service{color:#000;background-color:#00cec9;box-shadow:0 0 10px #00cec966}.rating-badge.price{color:#fff;background-color:#00b894;box-shadow:0 0 10px #00b89466}.card-content{flex-direction:column;flex-grow:1;gap:.5rem;padding:1.2rem;display:flex}.restaurant-name{font-family:var(--font-display);color:#fff;white-space:normal;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;height:3.4rem;font-size:1.4rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.restaurant-address{color:#aaa;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.9rem;display:flex;overflow:hidden}.restaurant-address svg{color:#888;min-width:14px}.card-meta-row{border-top:1px dashed #ffffff26;flex-direction:column;align-items:flex-start;gap:.6rem;width:100%;margin-top:auto;padding-top:.8rem;display:flex}.meta-item{color:#ccc;align-items:center;gap:10px;width:100%;font-size:.9rem;display:flex}.meta-item svg{color:#e9a004;min-width:16px;height:16px}.meta-item.price{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.meta-item.hours{color:#aaa;font-size:.85rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-panel{background-color:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;width:95%;max-width:1200px;animation:.3s scaleIn;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px #00000080}.modal-close-btn{color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:15px;right:15px}.modal-close-btn:hover{color:#000;background:#e9a004}.modal-layout{grid-template-columns:1.4fr 1fr;height:650px;display:grid}.modal-image-col{background:#000;height:100%;position:relative}.modal-main-img{object-fit:cover;width:100%;height:100%}.modal-rating-overlay{color:#000;background:#e9a004f2;border-radius:12px;flex-direction:column;align-items:center;padding:10px 20px;display:flex;position:absolute;bottom:20px;left:20px;box-shadow:0 4px 15px #0000004d}.big-score{font-size:2rem;font-weight:800;line-height:1}.score-label{text-transform:uppercase;font-size:.8rem;font-weight:600}.modal-info-col{color:#fff;flex-direction:column;padding:40px 30px;display:flex;overflow-y:auto}.modal-title{font-family:var(--font-display);color:#e9a004;margin:0 0 10px;font-size:2.5rem;line-height:1.1}.modal-address{color:#ccc;align-items:flex-start;gap:8px;margin-bottom:20px;font-size:1rem;display:flex}.modal-address svg{color:#888;margin-top:3px}.modal-meta-grid{flex-wrap:wrap;gap:20px;margin-bottom:20px;display:flex}.modal-meta-item{color:#ddd;align-items:center;gap:8px;font-size:.95rem;display:flex}.modal-meta-item.highlight{color:#fff;font-weight:600}.modal-meta-item svg{color:#e9a004}.modal-divider{border:0;border-top:1px dashed #ffffff26;width:100%;margin:10px 0 20px}.detail-rating-heading{color:#fff;margin-bottom:15px;font-size:1.1rem;font-weight:600}.rating-bars{flex-direction:column;gap:12px;margin-bottom:30px;display:flex}.rating-row{align-items:center;gap:15px;display:flex}.rating-label{color:#aaa;width:90px;font-size:.9rem}.rating-bar-bg{background:#333;border-radius:3px;flex-grow:1;height:6px;overflow:hidden}.rating-bar-fill{background:#e9a004;border-radius:3px;height:100%}.rating-value{text-align:right;color:#e9a004;width:30px;font-weight:700}.btn-go-detail{text-align:center;color:#e9a004;background:0 0;border:1px solid #e9a004;border-radius:8px;margin-top:auto;padding:12px;font-weight:700;text-decoration:none;transition:all .3s}.btn-go-detail:hover{color:#000;background:#e9a004}.pagination-wrapper{justify-content:center;align-items:center;gap:1.5rem;margin-top:4rem;display:flex}.page-btn{color:#e9a004;cursor:pointer;background:0 0;border:1px solid #e9a004;border-radius:8px;align-items:center;gap:5px;padding:10px 20px;font-weight:700;transition:all .3s;display:flex}.page-btn:hover:not(:disabled){color:#000;background:#e9a004}.page-btn:disabled{color:#555;cursor:not-allowed;border-color:#555}.page-numbers{color:#fff;font-size:1.1rem;font-family:var(--font-display)}.back-to-top{color:#000;cursor:pointer;z-index:1000;opacity:0;visibility:hidden;background-color:#e9a004;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;position:fixed;bottom:40px;right:40px;transform:translateY(20px);box-shadow:0 4px 15px #e9a00466}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:#fff;transform:translateY(-5px)}.loading-container{color:#888;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:400px;display:flex}.spinner{border:4px solid #e9a0044d;border-left-color:#e9a004;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.filter-toggle-btn{color:#fff;font-family:var(--font-ui);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50px;align-items:center;gap:12px;margin-bottom:1.5rem;padding:12px 24px;font-size:1.1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.filter-toggle-btn:hover{color:#e9a004;background:#e9a00426;border-color:#e9a004;transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.filter-toggle-btn.active{color:#000;background:#e9a004;border-color:#e9a004;box-shadow:0 0 20px #e9a00466}.filter-toggle-btn svg{transition:transform .4s}.filter-toggle-btn.active svg.chevron-icon{transform:rotate(180deg)}.advanced-filter-panel{-webkit-backdrop-filter:blur(16px);transform-origin:top;background:#141414d9;border:1px solid #ffffff14;border-radius:20px;margin-bottom:3rem;padding:30px;animation:.4s cubic-bezier(.16,1,.3,1) slideOpen;overflow:hidden;box-shadow:0 20px 50px #00000080}@keyframes slideOpen{0%{opacity:0;max-height:0;transform:translateY(-10px)scale(.98)}to{opacity:1;max-height:500px;transform:translateY(0)scale(1)}}.filter-row{align-items:center;margin-bottom:25px;display:flex;position:relative}.filter-row:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);width:100%;height:1px;position:absolute;bottom:-12px;left:0}.filter-row:last-of-type:after{display:none}.filter-label{color:#888;text-transform:uppercase;letter-spacing:1px;min-width:130px;font-size:.9rem;font-weight:800}.filter-options{flex-wrap:wrap;flex:1;gap:10px;display:flex}.filter-chip{color:#ccc;font-size:.95rem;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;background-color:#0000;border:1px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:8px 20px;font-weight:600;transition:all .25s;display:inline-flex;position:relative;overflow:hidden}.filter-chip:hover{color:#fff;background:#ffffff0d;border-color:#ffffff80;transform:translateY(-2px)}.filter-chip.active{color:#000;background:#e9a004;border-color:#e9a004;font-weight:800;transform:translateY(-2px)scale(1.05);box-shadow:0 4px 15px #e9a00466}.filter-chip:active{transform:scale(.95)}.filter-actions{border-top:1px solid #ffffff1a;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;display:flex}.btn-apply-filter{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e9a004,#b87e00);border:none;border-radius:30px;align-items:center;gap:10px;padding:12px 32px;font-size:1rem;font-weight:800;transition:all .3s;display:flex;box-shadow:0 10px 20px #e9a0044d}.btn-apply-filter:hover{filter:brightness(1.1);transform:translateY(-3px);box-shadow:0 15px 30px #e9a00480}.btn-reset-filter{color:#aaa;cursor:pointer;background:0 0;border:1px dashed #ffffff4d;border-radius:30px;padding:10px 24px;font-weight:600;transition:all .3s}.btn-reset-filter:hover{color:#fff;background:#ffffff0d;border-color:#fff}filter-actions{border-top:1px solid #ffffff1a;justify-content:flex-end;gap:10px;margin-top:30px;padding-top:20px;display:flex}.btn-close-filter{color:#ccc;cursor:pointer;background:#ffffff1a;border:none;border-radius:30px;padding:10px 20px;font-weight:600;transition:all .2s}.btn-close-filter:hover{color:#fff;background:#fff3}.active-filters-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:2rem;animation:.3s fadeIn;display:flex}.active-filters-label{color:#888;font-size:.9rem;font-weight:600}.active-tag{color:#e9a004;font-size:.85rem;font-weight:700;font-family:var(--font-ui);background:#e9a00426;border:1px solid #e9a004;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.active-tag svg{width:14px;height:14px}.btn-clear-all{color:#666;cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline;transition:color .2s}.btn-clear-all:hover{color:#ccc}.order-options{gap:15px;display:flex}.order-chip{align-items:center;gap:8px;display:flex}.order-chip svg{width:16px;height:16px}.empty-state-container{text-align:center;background:#ffffff05;border:2px dashed #ffffff1a;border-radius:20px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;margin-top:2rem;padding:80px 20px;animation:.5s fadeIn;display:flex}.empty-state-icon{color:#ffffff1a;margin-bottom:20px}.empty-state-icon svg{width:80px;height:80px}.empty-state-title{font-family:var(--font-display);color:#e9a004;margin-bottom:10px;font-size:2rem;font-weight:700}.empty-state-desc{color:#888;max-width:450px;margin-bottom:30px;font-size:1.05rem;line-height:1.6}.btn-empty-reset{color:#e9a004;cursor:pointer;background:0 0;border:1px solid #e9a004;border-radius:50px;align-items:center;gap:8px;padding:12px 30px;font-size:1rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.btn-empty-reset:hover{color:#000;background:#e9a004;transform:translateY(-3px);box-shadow:0 5px 15px #e9a00440}.btn-quick-route-icon{color:#ffc107;cursor:pointer;background-color:#3e2723;border:1px solid #5d4037;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-left:auto;padding:8px;transition:all .2s;display:flex;position:relative}.btn-quick-route-icon:hover{color:#3e2723;background-color:#ffc107;border-color:#ffc107;transform:scale(1.1);box-shadow:0 0 10px #ffc10766}.btn-quick-route-icon svg{width:16px;height:16px}.btn-quick-route-icon:before{content:attr(data-tooltip);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:10;background-color:#212121;border:1px solid #444;border-radius:4px;padding:5px 10px;font-size:11px;transition:all .2s;position:absolute;bottom:130%;left:50%;transform:translate(-80%)scale(.8)}.btn-quick-route-icon:after{content:"";opacity:0;visibility:hidden;border:5px solid #0000;border-top-color:#212121;transition:all .2s;position:absolute;bottom:105%;left:50%;transform:translate(-50%)}.btn-quick-route-icon:hover:before,.btn-quick-route-icon:hover:after{opacity:1;visibility:visible;transform:translate(-80%)scale(1)}.route-details-panel{color:#e0e0e0;background-color:#1a1a1a;border:1px solid #333;border-radius:12px;max-height:300px;margin-top:5px;padding:16px;overflow-y:auto;box-shadow:inset 0 2px 5px #0003}.route-details-panel::-webkit-scrollbar{width:6px}.route-details-panel::-webkit-scrollbar-thumb{background-color:#444;border-radius:3px}.route-summary{background-color:#2c2c2c;border:1px solid #ffc107;border-radius:8px;justify-content:space-around;align-items:center;margin-bottom:15px;padding:10px;display:flex}.summary-item{flex-direction:column;align-items:center;display:flex}.summary-label{color:#aaa;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.summary-value{color:#ffc107;font-size:18px;font-weight:700}.summary-line{background-color:#444;width:1px;height:30px}.route-step-item{border-bottom:1px dashed #333;align-items:flex-start;padding:12px 0;transition:background .2s;display:flex}.route-step-item:last-child{border-bottom:none}.step-icon{background-color:#333;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-right:15px;display:flex}.step-content{flex:1}.step-text{color:#fff;margin:0;font-size:14px;line-height:1.4}.step-dist{color:#888;margin-top:4px;font-size:12px;display:block}.route-step-item.finish .step-text{color:#ffc107;font-weight:600}.modal-address{color:#ccc;align-items:flex-start;gap:8px;margin-bottom:20px;font-size:1rem;line-height:1.4;display:flex}.modal-address svg{color:#e9a004;flex-shrink:0;width:16px;height:16px;margin-top:4px}.btn-show-map{color:#000;cursor:pointer;background:linear-gradient(135deg,#e9a004,#b87e00);border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 15px;font-size:1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 4px 15px #e9a0044d}.btn-show-map:hover{filter:brightness(1.1);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #e9a00480}.btn-show-map svg{stroke-width:2.5px;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.back-to-top{width:40px;height:40px;bottom:20px;right:20px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-container{color:#888;justify-content:center;padding:100px;font-size:1.2rem;display:flex}@media (max-width:768px){.modal-layout{grid-template-columns:1fr;height:auto}.modal-image-col{height:300px}.modal-info-col{padding:20px}.filter-row{flex-direction:column;align-items:flex-start;gap:12px}.filter-actions,.btn-apply-filter{justify-content:center;width:100%}}.quick-chips{flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.quick-chip{color:#e4e4e7;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .9rem;font-size:.85rem;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.quick-chip:hover{border-color:#e9a00499}.quick-chip.is-on{color:#1a1204;background:#e9a004;border-color:#e9a004;font-weight:600}.quick-chip:focus-visible{outline-offset:2px;outline:2px solid #e9a004}@media (max-width:640px){.quick-chips{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.25rem;overflow-x:auto}.quick-chip{flex-shrink:0}}.pagination-wrapper{flex-wrap:wrap;gap:.75rem 1rem}.page-numbers{align-items:center;gap:.35rem;display:flex}.page-num{color:#e4e4e7;min-width:40px;height:40px;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:8px;padding:0 .5rem;font-weight:600;transition:border-color .2s,background-color .2s}.page-num:hover{border-color:#e9a004}.page-num.is-current{color:#000;background:#e9a004;border-color:#e9a004}.page-gap{color:#71717a;padding:0 .15rem}.page-jump{color:#a1a1aa;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.page-jump input{color:#fff;width:84px;height:40px;font:inherit;background:#0f0f11;border:1px solid #ffffff24;border-radius:8px;padding:0 .6rem}.page-jump input:focus{border-color:#e9a004;outline:none}@media (max-width:640px){.page-btn{padding:8px 12px}.page-num{min-width:36px;height:36px}}.modal-map-fill{height:100%}.modal-map-fill .rmap{border:0;border-radius:0;height:100%}@media (max-width:768px){.modal-image-col.has-map{height:440px}}.card-skeleton{background:linear-gradient(100deg,#18181b 30%,#232327 50%,#18181b 70%) 0 0/200% 100%;border-radius:16px;height:340px;animation:1.3s linear infinite card-shimmer}@keyframes card-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.card-skeleton{animation:none}}
