.LocationBanner_banner__qRtTW{position:fixed;bottom:0;left:0;right:0;background:#f8f9fa;color:#374151;z-index:1000;box-shadow:0 -2px 12px rgba(0,0,0,.1);border-top:1px solid #e5e7eb;animation:LocationBanner_slideUp__7qEfu .3s ease-out;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;transition:all .3s ease}.LocationBanner_bannerContainer__JHkuC{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:linear-gradient(90deg,#f3f8fd 60%,#e0f7fa);box-shadow:0 -2px 12px rgba(40,199,237,.08);padding:1rem 2rem;display:flex;justify-content:center;align-items:center}@keyframes LocationBanner_slideUp__7qEfu{0%{transform:translateY(100%)}to{transform:translateY(0)}}.LocationBanner_content__dsRQo{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;position:relative}.LocationBanner_actions__JKI2E{display:flex;align-items:center;gap:.75rem;flex-shrink:0;position:relative}.LocationBanner_icon__HMBSV{font-size:1.25rem;flex-shrink:0;color:#6b7280}.LocationBanner_text__TQZ7P{flex:1;min-width:0;font-size:.875rem;font-weight:500}.LocationBanner_text__TQZ7P h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1f2937}.LocationBanner_text__TQZ7P p{margin:0;font-size:.875rem;color:#6b7280}.LocationBanner_whyButton__FtNGF{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.LocationBanner_whyButton__FtNGF:hover{background:#e5e7eb;color:#374151}.LocationBanner_denyButton__RNsVG{background:#f9fafb;color:#6b7280;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.LocationBanner_denyButton__RNsVG:hover:not(:disabled){background:#f3f4f6;color:#374151}.LocationBanner_allowButton__RW2yg{background:#1f2937;color:white;border:none;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:80px}.LocationBanner_allowButton__RW2yg:hover:not(:disabled){background:#111827;transform:translateY(-1px)}.LocationBanner_allowButton__RW2yg:disabled{opacity:.7;cursor:not-allowed}.LocationBanner_loading__W8UuA{display:flex;align-items:center;gap:.75rem;color:#3b82f6;font-weight:500}.LocationBanner_spinner__h3RjL{width:16px;height:16px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:LocationBanner_spin__fswWG 1s linear infinite}@keyframes LocationBanner_spin__fswWG{to{transform:rotate(1turn)}}.LocationBanner_dismissButton__n6Pnd{position:absolute;top:-2rem;right:-1rem;background:none;border:none;color:#6b7280;font-size:1.5rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:10}.LocationBanner_dismissButton__n6Pnd:hover{background:rgba(107,114,128,.1);color:#374151}.LocationBanner_modalOverlay__WHPd2{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem}.LocationBanner_modal__u9Okj{background:white;border-radius:1rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.2)}.LocationBanner_modalHeader__iAzEH{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.LocationBanner_modalHeader__iAzEH h3{margin:0;font-size:1.25rem;font-weight:700;color:#1f2937}.LocationBanner_modalClose__QJTWv{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.LocationBanner_modalClose__QJTWv:hover{background:#f3f4f6;color:#374151}.LocationBanner_modalContent__87pSK{padding:1.5rem}.LocationBanner_reason__54UVd{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.LocationBanner_reason__54UVd:last-child{margin-bottom:0}.LocationBanner_reasonIcon__9oIoz{font-size:1.5rem;flex-shrink:0;margin-top:.125rem}.LocationBanner_reason__54UVd h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1f2937}.LocationBanner_reason__54UVd p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.LocationBanner_modalActions__v0_Bz{display:flex;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #e5e7eb}.LocationBanner_modalDeny__EsY_1{flex:1;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:.75rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s}.LocationBanner_modalDeny__EsY_1:hover{background:#e5e7eb}.LocationBanner_modalAllow__e3v_e{flex:2;background:#1f2937;color:white;border:none;padding:.75rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.LocationBanner_modalAllow__e3v_e:hover:not(:disabled){background:#111827;transform:translateY(-1px)}.LocationBanner_modalAllow__e3v_e:disabled{opacity:.7;cursor:not-allowed}@media (max-width:768px){.LocationBanner_banner__qRtTW{padding:.5rem 1rem;left:.5rem;right:.5rem;bottom:.5rem;border-radius:1rem}.LocationBanner_bannerContainer__JHkuC{padding:.5rem 1rem;flex-direction:column;align-items:center}.LocationBanner_content__dsRQo{flex-direction:column;gap:.75rem;padding:1rem;text-align:center}.LocationBanner_text__TQZ7P h4{font-size:.95rem;margin-bottom:.25rem}.LocationBanner_text__TQZ7P p{font-size:.8rem}.LocationBanner_actions__JKI2E{width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem}.LocationBanner_allowButton__RW2yg,.LocationBanner_denyButton__RNsVG,.LocationBanner_whyButton__FtNGF{padding:.5rem 1rem;font-size:.875rem;flex:1;min-width:70px}.LocationBanner_dismissButton__n6Pnd{position:absolute;top:.5rem;right:.5rem;font-size:1.25rem;width:28px;height:28px}}@media (max-width:480px){.LocationBanner_banner__qRtTW{bottom:0;left:0;right:0;border-radius:0;border-bottom:none}.LocationBanner_bannerContainer__JHkuC{flex-direction:column;padding:.5rem}.LocationBanner_content__dsRQo{padding:.75rem 1rem}.LocationBanner_actions__JKI2E{gap:.25rem}.LocationBanner_allowButton__RW2yg,.LocationBanner_denyButton__RNsVG,.LocationBanner_whyButton__FtNGF{padding:.5rem .75rem;font-size:.8rem}}@media (max-width:600px){.LocationBanner_locationBannerContainer__hDoMX{max-width:100vw!important;overflow-x:hidden!important}}