@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}html{-webkit-text-size-adjust:100%}body{font-family:DM Sans,sans-serif;background:#faf6ef;color:#1c1208;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.skip-link{position:absolute;left:-9999px;z-index:9999;padding:12px 18px;background:#1a3d2e;color:#c4973a;font-weight:600;text-decoration:none;border-radius:4px}.skip-link:focus{left:12px;top:12px;outline:2px solid #C4973A;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--app-bg: #FAF6EF;--app-surface: #FFFFFF;--app-border: #E5DDD0;--app-text: #1C1208;--app-muted: #8B7355;--app-accent: #C4973A;--app-primary: #1A3D2E;--app-primary-dark: #0F2419;--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(229, 221, 208, .5);--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 12px 40px rgba(0,0,0,.1), 0 4px 12px rgba(0,0,0,.06);--shadow-xl: 0 24px 60px rgba(0,0,0,.14), 0 8px 24px rgba(0,0,0,.08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--app-bg: #0A1F14;--app-surface: #142E21;--app-border: #1E3D2E;--app-text: #E8E4DC;--app-muted: #9CA898;--glass-bg: rgba(20, 46, 33, .85);--glass-border: rgba(30, 61, 46, .6)}[data-theme=dark] body{background:var(--app-bg);color:var(--app-text)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--app-accent);border-radius:10px;opacity:.3}::-webkit-scrollbar-thumb:hover{opacity:.6}.cat-pill{border:1px solid var(--app-border);background:var(--app-surface);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-family:DM Sans,sans-serif;border-radius:var(--radius-sm);padding:6px 14px;font-size:12px;font-weight:500;letter-spacing:.02em;min-height:36px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cat-pill:hover{border-color:var(--app-accent);background:#c4973a14;transform:translateY(-1px)}.cat-pill.on{background:var(--app-primary);border-color:var(--app-primary);color:var(--app-accent);box-shadow:0 2px 8px #1a3d2e4d}.cat-pill:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.r-card{cursor:pointer;transition:all var(--transition-smooth);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);margin-bottom:10px;overflow:hidden;animation:cardIn .35s ease both}.r-card:hover{border-color:var(--app-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.r-card:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.r-card.sel{border-color:var(--app-accent);background:var(--app-surface);box-shadow:0 0 0 2px #c4973a33,var(--shadow-lg)}[data-theme=dark] .r-card{background:var(--app-surface);border-color:var(--app-border)}[data-theme=dark] .r-card:hover{border-color:var(--app-accent)}[data-theme=dark] .r-card.sel{background:#1a3d2e;border-color:var(--app-accent)}.r-card-hero{position:relative;height:140px;overflow:hidden;background:var(--app-border)}.r-card-hero-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.4,0,.2,1)}.r-card:hover .r-card-hero-img{transform:scale(1.05)}.r-card-hero-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-dark) 100%);font-size:32px;color:var(--app-accent);opacity:.6}.r-card-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,rgba(0,0,0,.1) 40%,transparent 70%);pointer-events:none}.r-card-hero-badges{position:absolute;top:8px;left:8px;display:flex;gap:5px;flex-wrap:wrap;z-index:2}.r-card-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.03em}.r-card-badge-sponsor{background:var(--app-accent);color:var(--app-primary)}.r-card-badge-open{background:#22c55ee6;color:#fff}.r-card-badge-distance{background:#0000008c;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.r-card-fav-btn{position:absolute;top:8px;right:8px;z-index:2;background:#00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.r-card-fav-btn:hover{background:#0000008c;transform:scale(1.1)}.r-card-heart{font-size:18px;color:#fff;transition:all var(--transition-bounce)}.r-card-heart.active{color:#ef4444;transform:scale(1.15)}.r-card-hero-rating{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:4px;z-index:2;background:#00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:4px 8px;border-radius:6px}.r-card-rating-text{font-size:12px;font-weight:600;color:#fff}.r-card-rating-count{font-size:10px;color:#ffffffb3}.r-card-info{padding:10px 12px 12px}.r-card-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.r-card-name{font-family:Cormorant Garamond,serif;font-size:16px;font-weight:600;color:var(--app-text);line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.r-card-price{font-size:12px;color:var(--app-accent);font-weight:600;flex-shrink:0}.r-card-meta{display:flex;align-items:center;gap:5px;margin-bottom:6px;flex-wrap:wrap}.r-card-cuisine{font-size:12px;color:var(--app-muted)}.r-card-dot{font-size:10px;color:var(--app-border)}.r-card-zone{font-size:11px;color:var(--app-muted)}.r-card-footer{display:flex;flex-direction:column;gap:4px}.r-card-address{font-size:11px;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r-card-tags{display:flex;gap:4px;flex-wrap:wrap}.r-card-tag{font-size:10px;padding:2px 7px;border-radius:4px;background:var(--app-bg);color:var(--app-muted);border:1px solid var(--app-border)}.r-card-tag-delivery{background:#c4973a1a;color:var(--app-accent);border-color:#c4973a4d}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #c4973a66}50%{box-shadow:0 0 0 8px #c4973a00}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.backdrop{animation:fadeIn .2s ease}.modal-box{animation:slideUp .35s cubic-bezier(.34,1.4,.64,1)}.search-input{background:var(--app-bg);border:1.5px solid var(--app-border);border-radius:var(--radius-sm);padding:9px 14px 9px 36px;font-family:DM Sans,sans-serif;font-size:13px;color:var(--app-text);outline:none;width:100%;transition:all var(--transition-fast)}.search-input:focus{border-color:var(--app-accent);box-shadow:0 0 0 3px #c4973a1f}.search-input::placeholder{color:var(--app-muted);opacity:.6}[data-theme=dark] .search-input{background:var(--app-primary-dark);border-color:var(--app-border);color:var(--app-text)}.tab-btn{background:none;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;padding:12px 16px;transition:all var(--transition-fast);border-bottom:2.5px solid transparent;white-space:nowrap;color:var(--app-muted)}.tab-btn:hover{color:var(--app-primary)}.tab-btn.on{color:var(--app-primary);border-bottom-color:var(--app-accent)}.tab-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}[data-theme=dark] .tab-btn{color:var(--app-muted)}[data-theme=dark] .tab-btn.on{color:var(--app-accent);border-bottom-color:var(--app-accent)}.cbtn{position:absolute;top:50%;transform:translateY(-50%);background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;cursor:pointer;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all var(--transition-fast);z-index:2}.cbtn:hover{background:#000000a6;transform:translateY(-50%) scale(1.1)}.menu-row{border-bottom:1px solid rgba(229,221,208,.15)}.menu-row:last-child{border-bottom:none}.dot{width:7px;height:7px;border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.filter-chip{min-height:36px}.filter-chip:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.sort-select:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.app-header-btn:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.skeleton-line{background:linear-gradient(90deg,var(--app-border) 25%,rgba(229,221,208,.5) 50%,var(--app-border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-card{pointer-events:none}.skeleton-card-hero{height:140px;border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(90deg,var(--app-border) 25%,rgba(229,221,208,.5) 50%,var(--app-border) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.leaflet-container{font-family:DM Sans,sans-serif!important}.leaflet-marker-icon.halal-custom-marker{background:none!important;border:none!important}.leaflet-popup-content-wrapper{border-radius:var(--radius-md)!important;border:1px solid var(--app-border);box-shadow:var(--shadow-lg)!important;padding:0;overflow:hidden}.leaflet-popup-content{margin:0!important}.leaflet-popup-tip-container{display:none}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:#c4973a40!important;border-radius:50%}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:var(--app-primary)!important;color:var(--app-accent)!important;font-family:DM Sans,sans-serif;font-weight:600;font-size:13px;border-radius:50%;width:32px!important;height:32px!important;line-height:32px!important;margin-left:4px!important;margin-top:4px!important;text-align:center}.marker-cluster-medium div{width:36px!important;height:36px!important;line-height:36px!important;font-size:14px;margin-left:2px!important;margin-top:2px!important}.marker-cluster-large div{width:40px!important;height:40px!important;line-height:40px!important;font-size:15px;margin-left:0!important;margin-top:0!important}.layout-promo-collapsed{width:36px!important;min-width:36px!important;padding:0!important}.layout-promo-collapsed .layout-promo-inner{display:none}.promo-collapse-btn{background:none;border:none;color:var(--app-muted);cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px}.promo-collapse-btn:hover{color:var(--app-text);background:var(--app-border)}.promo-expand-btn{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);width:36px;height:100%;min-height:80px;padding:10px 4px;font-size:11px;font-family:DM Sans,sans-serif;color:var(--app-muted);background:var(--app-surface);border:none;border-left:1px solid var(--app-border);cursor:pointer}.promo-expand-btn:hover{color:var(--app-accent);background:var(--app-bg)}.layout-main{flex:1;display:flex;overflow:hidden;min-height:0}.layout-list{width:380px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--app-border);min-width:0;background:var(--app-bg)}.layout-map{flex:1;position:relative;min-height:0;display:flex;flex-direction:column;min-width:200px}.layout-promo{width:280px;flex-shrink:0;border-left:1px solid var(--app-border);background:var(--app-surface);display:flex;flex-direction:column;min-height:0;overflow:hidden}.layout-promo-inner{padding:14px;overflow-y:auto;flex:1}.layout-promo-title{font-family:Cormorant Garamond,serif;font-size:16px;font-weight:600;color:var(--app-text);margin-bottom:10px}.layout-promo-placeholder{font-size:12px;color:var(--app-muted);line-height:1.5}.filter-row{-webkit-overflow-scrolling:touch;scrollbar-width:thin}.filter-row::-webkit-scrollbar{height:3px}.filter-row::-webkit-scrollbar-thumb{background:var(--app-accent);border-radius:10px;opacity:.3}.app-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.map-popup{padding:0}.map-popup-img{width:100%;height:100px;object-fit:cover;display:block}.map-popup-content{padding:10px 12px}.map-popup-name{font-family:Cormorant Garamond,serif;font-size:15px;font-weight:600;margin-bottom:2px;color:var(--app-text)}.map-popup-meta{font-size:11px;color:var(--app-muted);display:flex;gap:4px;align-items:center}.map-popup-rating{color:var(--app-accent);font-weight:600}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1500;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:4px 0 max(4px,env(safe-area-inset-bottom))}.bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;max-width:480px;margin:0 auto}.bottom-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:all var(--transition-fast);color:var(--app-muted);font-family:DM Sans,sans-serif;min-width:56px}.bottom-nav-btn:hover,.bottom-nav-btn.active{color:var(--app-accent)}.bottom-nav-btn.active{background:#c4973a14}.bottom-nav-icon{font-size:20px;line-height:1}.bottom-nav-label{font-size:10px;font-weight:500}.trending-section{padding:12px;background:linear-gradient(135deg,#c4973a0f,#1a3d2e0a);border-bottom:1px solid var(--app-border)}.trending-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--app-accent);font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px}.trending-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.trending-scroll::-webkit-scrollbar{display:none}.trending-card{flex-shrink:0;width:120px;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:var(--app-surface);border:1px solid var(--app-border);transition:all var(--transition-fast)}.trending-card:hover{border-color:var(--app-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.trending-card-img{width:100%;height:72px;object-fit:cover;display:block}.trending-card-info{padding:6px 8px}.trending-card-name{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text)}.trending-card-meta{font-size:10px;color:var(--app-muted);display:flex;align-items:center;gap:3px}.near-me-cta{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,var(--app-primary) 0%,var(--app-primary-dark) 100%);border:none;border-radius:var(--radius-sm);color:var(--app-accent);font-size:13px;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;transition:all var(--transition-fast);width:100%;justify-content:center}.near-me-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.near-me-cta:active{transform:scale(.98)}.near-me-cta .near-me-icon{font-size:16px}.near-me-cta.active{animation:pulseGlow 2s infinite}.install-prompt{left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--app-primary);color:var(--app-accent);padding:10px 24px;border-radius:var(--radius-md);font-size:13px;font-weight:500;box-shadow:var(--shadow-xl);z-index:2001;animation:toastIn .3s var(--transition-bounce);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=dark] .modal-box{background:var(--app-surface);border-color:var(--app-border)}[data-theme=dark] .backdrop{background:#000000bf}@media (max-width: 1024px){.layout-list{width:340px}.layout-promo{display:none}}@media (max-width: 767px){body{padding:0}.app-shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:0}.layout-main{flex-direction:column}.layout-list{width:100%;max-height:50vh;min-height:200px;border-right:none;border-bottom:1px solid var(--app-border)}.layout-map{min-height:45vh;flex:1}.layout-promo{display:none}.bottom-nav{display:block}.app-shell{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.view-toggle-mobile{display:flex!important}.layout-main.view-mode-list .layout-map{display:none!important}.layout-main.view-mode-list .layout-list{max-height:none;flex:1;min-height:0}.layout-main.view-mode-map .layout-list{display:none!important}.layout-main.view-mode-map .layout-map{flex:1;min-height:60vh}.search-input{font-size:16px;padding:12px 14px 12px 40px;min-height:48px;border-radius:var(--radius-md)}.r-card-hero{height:120px}.r-card{border-radius:var(--radius-md);margin-bottom:8px}.backdrop{padding:0;align-items:flex-end}.modal-box{max-height:95vh;width:100%;max-width:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin:0}.modal-header{flex-wrap:wrap;gap:10px;padding:12px 14px!important}.modal-header-actions{min-height:44px}.modal-header-actions button{min-width:44px;min-height:44px;padding:10px!important}.modal-header-actions a{min-height:44px;display:inline-flex;align-items:center;padding:10px 14px!important}.tab-btn{min-height:48px;padding:12px 16px;font-size:14px}.cbtn{width:44px;height:44px;font-size:20px}.dot{width:10px;height:10px;min-width:10px;min-height:10px}.install-prompt{left:12px;right:12px;bottom:max(72px,calc(72px + env(safe-area-inset-bottom)));padding:14px}.toast{bottom:calc(72px + env(safe-area-inset-bottom))}}.app-header-mobile-right{display:none!important}.app-header-desktop{display:flex}@media (max-width: 767px){.app-header-desktop{display:none!important}.app-header-mobile-right{display:flex!important}.app-header-cities{gap:2px!important;justify-content:flex-start!important}.app-header-cities button{font-size:10px!important;padding:4px 6px!important}.ramadan-extra{display:none}.view-toggle-mobile{display:none!important}}
