.restaurant-section{background:var(--bg_100);padding:2rem 1rem}.section-header{align-items:center;gap:12px;margin-bottom:2rem;display:flex}.section-accent-bar{background:var(--primary_100);border-radius:3px;flex-shrink:0;width:5px;height:28px}.section-title{color:var(--text_100);letter-spacing:-.3px;font-size:22px;font-weight:600}.section-subtitle{color:var(--text_200);margin-left:auto;font-size:13px}.restaurant-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;display:grid}.restaurant-card{border:1px solid var(--bg_200);transition:transform var(--transition), box-shadow var(--transition);cursor:pointer;background:#fff;border-radius:15px;flex-direction:column;display:flex;position:relative;overflow:hidden}.restaurant-card:hover{box-shadow:0 12px 12px -15px var(--bg_B520);transform:translateY(-6px)}.restaurant-card:focus-visible{outline:2px solid var(--primary_100);outline-offset:2px}.card-image-wrapper{background:var(--bg_200);flex-shrink:0;width:100%;height:190px;position:relative;overflow:hidden}.card-image{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.restaurant-card:hover .card-image{transform:scale(1.05)}.card-image-wrapper:after{content:"";background:linear-gradient(to bottom, transparent 50%, var(--bg_B510) 100%);pointer-events:none;position:absolute;inset:0}.rating-badge{color:#fff;z-index:2;letter-spacing:.2px;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:flex;position:absolute;top:10px;left:10px}.rating-badge.high{background:var(--success)}.rating-badge.medium{background:var(--warning);color:#333}.rating-badge.low{background:var(--error)}.rating-star{font-size:11px}.veg-type-badge{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:600;display:flex;position:absolute;top:10px;right:10px}.veg-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.veg-dot.veg{background:var(--secondary_100);border:1.5px solid var(--secondary_D100)}.veg-dot.nonveg{background:var(--primary_100);border:1.5px solid var(--primary_D100)}.veg-dot.both{background:conic-gradient(var(--secondary_100) 0deg 180deg, var(--primary_100) 180deg 360deg);border:1.5px solid var(--bg_300)}.veg-dot-label.veg{color:var(--secondary_D200)}.veg-dot-label.nonveg{color:var(--primary_D100)}.veg-dot-label.both{color:var(--text_200)}.card-body{flex-direction:column;flex:1;gap:0;padding:14px 16px 16px;display:flex}.card-name-row{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:5px;display:flex}.restaurant-name{color:var(--text_100);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:600;line-height:1.3;overflow:hidden}.cuisine-tag-wrapper{flex-shrink:0;align-items:center;gap:0;min-width:80px;display:flex;position:relative}.cuisine-tag{background:var(--primary_500);color:var(--primary_100);border:1px solid var(--primary_400);white-space:nowrap;border-radius:20px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:500}.cuisine-primary{transition:opacity .3s;display:block}.cuisine-tag-more{opacity:0;visibility:hidden;background:var(--primary_100);color:#fff;white-space:nowrap;z-index:50;box-shadow:0 12px 12px -15px var(--bg_B520);border-radius:8px;margin-bottom:8px;padding:8px 12px;font-size:11px;font-weight:500;transition:opacity .3s,visibility .3s,transform .3s;position:absolute;bottom:100%;right:0;transform:translateY(4px)}.cuisine-tag-wrapper:hover .cuisine-tag-more{opacity:1;visibility:visible;transform:translateY(-8px)}.station-row{color:var(--text_200);align-items:center;gap:5px;margin-bottom:12px;font-size:13px;display:flex}.station-icon{color:var(--primary_100);flex-shrink:0;font-size:14px}.card-divider{background:var(--bg_200);height:1px;margin-bottom:12px}.card-meta{align-items:center;gap:0;display:flex}.meta-item{color:var(--text_200);flex:1;align-items:center;gap:5px;font-size:12px;display:flex}.meta-item svg{color:var(--primary_300);flex-shrink:0}.meta-sep{background:var(--bg_300);flex-shrink:0;width:1px;height:18px;margin:0 8px}.type-pill{letter-spacing:.1px;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.type-pill.veg{background:var(--secondary_500);color:var(--secondary_D200);border:1px solid var(--secondary_400)}.type-pill.nonveg{background:var(--primary_500);color:var(--primary_D100);border:1px solid var(--primary_400)}.type-pill.both{color:#185fa5;background:#e6f1fb;border:1px solid #b5d4f4}.type-pill svg{flex-shrink:0;width:12px;height:12px}.image-fallback{background:var(--primary_500);width:100%;height:100%;color:var(--primary_300);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.image-fallback svg{opacity:.5;width:40px;height:40px}@media (max-width:600px){.restaurant-grid{grid-template-columns:1fr}.card-image-wrapper{height:165px}.section-subtitle{display:none}}@media (min-width:601px) and (max-width:900px){.restaurant-grid{grid-template-columns:repeat(2,1fr)}}
.RestaurantPnr_wrpr{background:var(--bg_100);width:100%;min-height:100vh;animation:rp-fadeUp .55s var(--transition_standard) both}@keyframes rp-fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.RestaurantPnr_hero{background:var(--primary_100);width:100%;padding:80px 20px 64px;position:relative;overflow:hidden}.RestaurantPnr_hero:before,.RestaurantPnr_hero:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.RestaurantPnr_hero:before{background:#ffffff12;width:520px;height:520px;top:-180px;right:-80px}.RestaurantPnr_hero:after{background:#0000000f;width:300px;height:300px;bottom:-120px;left:-60px}.RestaurantPnr_hero_inner{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex;position:relative}.RestaurantPnr_hero_content{animation:rp-slideDown .65s var(--transition_standard) .1s both}@keyframes rp-slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hero_eyebrow{color:#ffffffe6;letter-spacing:.6px;text-transform:uppercase;background:#ffffff26;border:1px solid #ffffff40;border-radius:40px;align-items:center;gap:6px;margin-bottom:18px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.hero_eyebrow_dot{background:var(--secondary_100);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite rp-pulse}@keyframes rp-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.RestaurantPnr_hero_title{color:#fff;letter-spacing:-1px;margin-bottom:18px;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.12}.RestaurantPnr_hero_subtitle{color:#ffffffe0;flex-wrap:wrap;align-items:center;gap:8px;font-size:clamp(.9rem,2vw,1.1rem);font-weight:400;line-height:1.7;display:flex}.RestaurantPnr_hero_subtitle strong{color:#fff;background:#ffffff26;border-radius:6px;padding:2px 8px;font-weight:700}.highlight{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff59;border-radius:8px;align-items:center;padding:6px 14px;font-size:.95em;font-weight:700;display:inline-flex}.hero_stats{animation:rp-fadeUp .65s var(--transition_standard) .25s both;flex-wrap:wrap;gap:12px;display:flex}.hero_stat_pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #fff3;border-radius:14px;flex-direction:column;align-items:center;min-width:80px;padding:12px 20px;display:flex}.hero_stat_num{color:#fff;font-size:1.5rem;font-weight:800;line-height:1}.hero_stat_lbl{color:#ffffffbf;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:10px;font-weight:600}.RestaurantPnr_content{width:100%;padding:56px 20px 40px}.station_carousel_wrap{flex-direction:column;gap:20px;margin-bottom:32px;display:flex}.station_carousel_header{justify-content:space-between;align-items:center;gap:16px;display:flex}.station_carousel_header h2{color:var(--text_100);margin:0;font-size:1.2rem}.station_carousel_header p{color:var(--text_200);margin:4px 0 0;font-size:.95rem}.station_carousel_controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.station_filter_clear{color:var(--primary_100);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-weight:700;transition:background .2s}.station_filter_clear:hover{background:#e206131a}.carousel_nav{color:var(--text_100);border:1px solid var(--bg_200);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.4rem;transition:transform .2s,background .2s;display:inline-flex}.carousel_nav:hover:not(:disabled){background:var(--bg_200);transform:translateY(-1px)}.carousel_nav:disabled{opacity:.4;cursor:not-allowed}.station_carousel_view{width:100%;padding:20px 0;position:relative;overflow:hidden}.station_carousel_track{gap:18px;width:100%;transition:transform .4s;display:flex}.station_card{border:1px solid var(--bg_200);text-align:left;cursor:pointer;box-sizing:border-box;background:#fff;border-radius:20px;flex-shrink:0;grid-template-rows:160px auto;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;overflow:hidden}.station_card:hover,.station_card.active{border-color:var(--primary_100);transform:translateY(-4px);box-shadow:0 21px 10px -14px #00000014}.station_card_image{background-position:50%;background-size:cover;position:relative}.station_card_image:after{content:"";background:linear-gradient(#00000014 0%,#00000059 90%);position:absolute;inset:0}.station_card_body{flex-direction:column;gap:12px;padding:18px 18px 16px;display:flex}.station_card_title{flex-direction:column;gap:8px;display:flex}.station_card_title strong{color:var(--text_100);font-size:1rem}.station_card_title span{color:var(--text_200);font-size:.92rem;line-height:1.4}.station_card_time{flex-wrap:wrap;gap:8px;display:flex}.station_card_time span{background:var(--bg_100);border:1px solid var(--bg_200);color:var(--text_200);border-radius:999px;align-items:center;padding:7px 10px;font-size:.83rem;font-weight:600;display:inline-flex}.RestaurantPnr_content_inner{background:#fff;border-radius:15px;flex-direction:column;gap:44px;padding:20px;display:flex}.RestaurantPnr_group{animation:rp-fadeUp .5s var(--transition_standard) both}.RestaurantPnr_group:first-child{animation-delay:50ms}.RestaurantPnr_group:nth-child(2){animation-delay:.12s}.RestaurantPnr_group:nth-child(3){animation-delay:.19s}.RestaurantPnr_group_header{border:1px solid var(--bg_200);border-left:4px solid var(--primary_100);transition:box-shadow .22s var(--transition_standard), transform .22s var(--transition_standard);background:#fff;border-radius:15px;grid-template-columns:1fr auto;align-items:center;gap:20px;margin-bottom:24px;padding:20px 24px;display:grid}.RestaurantPnr_group_header:hover{box-shadow:0 12px 12px -15px var(--bg_B520);transform:translateY(-2px)}.train_info{min-width:0}.train_header_row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.train_icon{background:var(--primary_500);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.train_icon svg{width:18px;height:18px;color:var(--primary_100)}.train_name{color:var(--text_100);letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1rem,2.2vw,1.25rem);font-weight:700;overflow:hidden}.train_meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.station_badge{background:var(--primary_500);color:var(--primary_D100);border:1px solid var(--primary_400);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.station_badge svg{flex-shrink:0;width:12px;height:12px}.halt_info{color:var(--text_200);flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.halt_chip{background:var(--bg_100);border:1px solid var(--bg_200);color:var(--text_200);white-space:nowrap;border-radius:14px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.halt_chip.green{background:var(--secondary_500);color:var(--secondary_D200);border-color:var(--secondary_400)}.halt_chip svg{width:11px;height:11px}.restaurants_count_badge{background:var(--primary_100);min-width:90px;transition:transform .2s var(--transition_standard), box-shadow .2s var(--transition_standard);border-radius:16px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:14px 22px;display:flex}.restaurants_count_badge:hover{box-shadow:0 12px 12px -15px var(--bg_B520);transform:scale(1.05)}.restaurants_count_badge span{color:#fff;font-size:2rem;font-weight:800;line-height:1}.restaurants_count_badge p{color:#ffffffd9;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:10px;font-weight:600}.restaurant-section{background:0 0;padding:0}.RestaurantPnr_empty{text-align:center;border:2px dashed var(--primary_400);animation:rp-fadeUp .5s var(--transition_standard) both;background:#fff;border-radius:15px;padding:72px 40px}.empty_icon{background:var(--primary_500);border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 24px;animation:3s ease-in-out infinite rp-float;display:flex}.empty_icon svg{width:36px;height:36px;color:var(--primary_200)}@keyframes rp-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.RestaurantPnr_empty h2{color:var(--text_100);letter-spacing:-.3px;margin-bottom:10px;font-size:1.6rem;font-weight:700}.RestaurantPnr_empty p{color:var(--text_200);font-size:1rem;line-height:1.7}.RestaurantPnr_footer{justify-content:center;padding:40px 20px;display:flex}.RestaurantPnr_back_btn{color:var(--primary_100);border:1.5px solid var(--primary_300);cursor:pointer;transition:all .2s var(--transition_standard);letter-spacing:.2px;background:#fff;border-radius:14px;align-items:center;gap:8px;padding:14px 32px;font-size:.95rem;font-weight:700;display:inline-flex}.RestaurantPnr_back_btn svg{width:18px;height:18px;transition:transform .2s var(--transition_standard)}.RestaurantPnr_back_btn:hover{background:var(--primary_100);color:#fff;border-color:var(--primary_100);box-shadow:0 12px 12px -15px var(--bg_B520);transform:translateY(-2px)}.RestaurantPnr_back_btn:hover svg{transform:translate(-3px)}.RestaurantPnr_back_btn:active{transform:scale(.98)translateY(0)}@media (min-width:1200px){.RestaurantPnr_hero{padding:100px 20px 80px}.RestaurantPnr_content{padding:72px 20px 56px}.RestaurantPnr_content_inner{gap:56px}}@media (max-width:1199px) and (min-width:769px){.RestaurantPnr_hero{padding:70px 20px 56px}.RestaurantPnr_content{padding:48px 20px}.RestaurantPnr_content_inner{gap:40px}}@media (max-width:768px){.RestaurantPnr_hero{padding:56px 16px 44px}.RestaurantPnr_hero_inner{flex-direction:column;align-items:flex-start}.hero_stats{justify-content:flex-start;width:100%}.RestaurantPnr_content{padding:40px 16px}.RestaurantPnr_content_inner{gap:32px}.RestaurantPnr_group_header{border-radius:16px;grid-template-columns:1fr;gap:16px;padding:18px}.restaurants_count_badge{min-width:unset;border-radius:12px;flex-direction:row;align-self:flex-start;align-items:center;gap:8px;padding:10px 16px}.restaurants_count_badge span{font-size:1.4rem}.restaurants_count_badge p{margin-top:0;font-size:11px}.RestaurantPnr_footer{padding:32px 16px}.RestaurantPnr_empty{border-radius:18px;padding:48px 24px}.RestaurantPnr_empty h2{font-size:1.3rem}}@media (max-width:480px){.RestaurantPnr_hero{padding:44px 14px 36px}.RestaurantPnr_hero_title{font-size:1.7rem}.hero_stats{gap:8px}.hero_stat_pill{min-width:68px;padding:10px 14px}.hero_stat_num{font-size:1.2rem}.RestaurantPnr_content{padding:32px 14px}.RestaurantPnr_content_inner{gap:24px}.RestaurantPnr_group_header{border-radius:14px;margin-bottom:16px;padding:14px}.train_name{font-size:.95rem}.station_badge{padding:4px 10px;font-size:11px}.halt_chip{padding:3px 8px;font-size:10px}.RestaurantPnr_back_btn{justify-content:center;width:100%;padding:13px 24px}.RestaurantPnr_footer{padding:24px 14px}.RestaurantPnr_empty{border-radius:14px;padding:36px 18px}.RestaurantPnr_empty h2{font-size:1.15rem}.RestaurantPnr_empty p{font-size:.9rem}.empty_icon{border-radius:16px;width:60px;height:60px;margin-bottom:18px}.empty_icon svg{width:28px;height:28px}}
