.navbar .navgrid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem}.navbar .navgrid-center{min-width:0}.navbar .center-nav.navbar-nav{display:flex;flex-direction:row!important;align-items:center;justify-content:center;gap:2rem;flex-wrap:nowrap;white-space:nowrap}.navbar .center-nav .nav-item{position:relative}.navbar .center-nav .nav-item+.nav-item:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:1px;height:24px;background:var(--bs-border-color);opacity:.6}.navbar .profile-avatar{width:22px;height:22px;object-fit:cover}.navbar .profile-dropdown-menu{min-width:250px;right:0;left:auto!important;transform:none!important}.navbar .profile-dropdown-menu button.dropdown-item{border:none;background:none;width:100%;text-align:left;cursor:pointer}.navbar .profile-dropdown-menu button.dropdown-item:hover{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}.navbar .profile-dropdown-menu button.dropdown-item:focus{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color);outline:none}.navbar .dropdown{position:relative}@media(min-width:992px){.navbar .vr{height:24px;opacity:.5}}.footer .footer-copyright{background-color:#0000000d}.footer .footer-top{border-top:1px solid var(--bs-border-color);margin-top:3rem}.footer .footer-grid{padding:2rem 0}.footer .footer-heading{text-transform:uppercase;font-weight:700;margin-bottom:1rem}.footer .footer-link{color:inherit;text-decoration:none}.footer .footer-link:hover{text-decoration:underline}.modal.show{display:block}.modal.modal-backdrop{background-color:#00000080}.modal .modal-dialog.modal-sm{max-width:300px}.modal .modal-dialog.modal-md{max-width:500px}.modal .modal-dialog.modal-lg{max-width:800px}.modal .modal-dialog.modal-xl{max-width:1140px}.modal .modal-content{border-radius:.5rem;box-shadow:0 .5rem 1rem #00000026}.modal .modal-header{border-bottom:1px solid var(--bs-border-color);padding:1rem 1.5rem}.modal .modal-header .modal-title{font-size:1.25rem;font-weight:600}.modal .modal-header .btn-close{padding:.5rem;margin:-.5rem -.5rem -.5rem auto}.modal .modal-body{padding:1.5rem}.modal .modal-footer{border-top:1px solid var(--bs-border-color);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.toast-container{position:fixed;bottom:0;right:0;padding:1rem;z-index:11}.toast-container .toast.show{display:block}.toast-container .toast.text-bg-success{background-color:var(--bs-success);color:#fff}.toast-container .toast.text-bg-danger{background-color:var(--bs-danger);color:#fff}.toast-container .toast.text-bg-warning{background-color:var(--bs-warning);color:#fff}.toast-container .toast.text-bg-info{background-color:var(--bs-info);color:#fff}.toast-container .toast.text-bg-dark{background-color:var(--bs-dark);color:#fff}.toast-container .toast .toast-body{padding:.75rem;display:flex;align-items:center}.toast-container .toast .toast-body .btn-link{padding:0;margin:0;margin-left:.5rem;text-decoration:none}.toast-container .toast .toast-body .btn-link:hover{text-decoration:underline}.toast-container .toast .btn-close.btn-close-white{filter:invert(1)}.hero-tabs{background:radial-gradient(1100px 560px at 90% -20%,rgba(59,130,246,.14),transparent 60%)}.dark-mode .hero-tabs{background:radial-gradient(1100px 560px at 90% -20%,rgba(59,130,246,.22),transparent 60%)}.register-page .input{color:#00f}.compare-prices-page .search-input-container{max-width:520px;width:100%;margin:0 auto;margin-top:1rem}.compare-prices-page .input-switch-container{position:relative;min-height:80px}.compare-prices-page .fade{transition:opacity .2s ease-in-out}.compare-prices-page .fade.show{opacity:1}.compare-prices-page .fade.d-none{opacity:0;pointer-events:none}.compare-prices-page .btn-group .btn-check:checked+.btn-outline-primary{background-color:#0d6efd;color:#fff;border-color:#0d6efd}.compare-prices-page .store-filter-panel{padding:1rem;border-radius:1rem;box-shadow:0 .125rem .25rem #00000013;background-color:#fff;border:1px solid #dee2e6;margin-bottom:1rem}.compare-prices-page .selected-stores-panel{max-height:75vh}.compare-prices-page .selected-stores-panel .card-body{overflow-y:auto}.compare-prices-page .search-controls{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;margin-bottom:1.5rem}.compare-prices-page .spinner-border{animation-duration:1.5s;opacity:0;transition:opacity .4s ease}.compare-prices-page .spinner-border.show{opacity:1}.compare-prices-page .nav-tabs{margin-bottom:1.5rem}.compare-prices-page .nav-tabs .nav-link{cursor:pointer;transition:all .2s ease}.compare-prices-page .nav-tabs .nav-link:hover:not(.active){background-color:#f8f9fa}.compare-prices-page .nav-tabs .nav-link.active{font-weight:600}.compare-prices-page .table thead th{background-color:#f8f9fa;font-weight:600;border-bottom:2px solid #dee2e6}.compare-prices-page .table tbody tr{transition:background-color .15s ease}.compare-prices-page .table tbody tr:hover{background-color:#f8f9fa}.compare-prices-page .promo-price{color:#28a745;font-weight:700}.compare-prices-page .action-buttons .btn{transition:all .2s ease}.compare-prices-page .empty-state-card{box-shadow:0 .125rem .25rem #00000013}.compare-prices-page .list-group-numbered{margin-left:3rem;margin-right:3rem;margin-top:1rem}.compare-prices-page .list-group-numbered .list-group-item{border:none;padding:1.5rem 1rem}.compare-prices-page .list-group-numbered .list-group-item .fw-bold{font-size:1.1rem}.grocery-list-page .list-content{padding:2rem}.grocery-list-page .list-card-clickable{cursor:pointer}.grocery-list-page .list-card-hover{cursor:pointer;transition:transform .2s,box-shadow .2s}.grocery-list-page .list-card-hover:hover{transform:scale(1.02);box-shadow:0 .5rem 1rem #00000026}.grocery-list-page .completed{text-decoration:line-through;color:gray}.grocery-list-page .item-unchecked{background-color:#f0f0f0;opacity:.6}.grocery-list-page .btn-outline-warning:hover{color:#fff;background-color:#ffc107;border-color:#d9991a}.grocery-list-page .btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#157347}.grocery-list-page .btn-outline-danger:hover{color:#fff;background-color:#e35d6a;border-color:#c0394c}.cart-page .store-filter{width:260px}.cart-page .sort-filter{width:240px}.cart-page .qty-input{width:70px;text-align:center}.cart-page .item-price{min-width:80px;text-align:right;font-weight:600}.cart-page .store-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.5rem;background:#eef}@media(min-width:992px){.cart-page .cart-summary{position:sticky;top:1rem}}.favorites-page .search-input{max-width:300px}.profile-page .profile-header{--mdb-bg-opacity: .1}.profile-page .profile-card{--mdb-bg-opacity: .15}.profile-page .profile-avatar{width:150px}.profile-page .profile-icon-large{font-size:6em}.contact-page .contact-form{width:26rem}.contact-page .flash-message{white-space:pre-line;padding:10px}.form-control,.form-select{border:1px solid #ced4da!important;border-radius:.375rem;padding:.5rem .75rem;font-size:1rem;line-height:1.5;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::placeholder,.form-select::placeholder{color:#6c757d;opacity:1}.form-control:focus,.form-select:focus{border-color:#86b7fe!important;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.form-control:disabled,.form-control[readonly],.form-select:disabled,.form-select[readonly]{background-color:#e9ecef;opacity:1}.form-control.is-invalid,.form-control:invalid,.form-select.is-invalid,.form-select:invalid{border-color:#dc3545!important}.form-control.is-invalid:focus,.form-control:invalid:focus,.form-select.is-invalid:focus,.form-select:invalid:focus{border-color:#dc3545!important;box-shadow:0 0 0 .25rem #dc354540}.form-control.is-valid,.form-control:valid:not(:placeholder-shown),.form-select.is-valid,.form-select:valid:not(:placeholder-shown){border-color:#198754!important}.form-control.is-valid:focus,.form-control:valid:not(:placeholder-shown):focus,.form-select.is-valid:focus,.form-select:valid:not(:placeholder-shown):focus{border-color:#198754!important;box-shadow:0 0 0 .25rem #19875440}textarea.form-control{resize:vertical;min-height:100px}.input-group .form-control:not(:first-child),.input-group .form-select:not(:first-child){border-left:0}.input-group .form-control:not(:last-child),.input-group .form-select:not(:last-child){border-right:0}.input-group .input-group-text{border:1px solid #ced4da;background-color:#e9ecef;padding:.5rem .75rem}.form-outline{position:relative;margin-bottom:1rem}.form-outline .form-control,.form-outline .form-select{border:1px solid #ced4da!important}.form-control-sm,.form-select-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-lg,.form-select-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-check-input{width:1.25em;height:1.25em;border:1px solid #ced4da;cursor:pointer}.form-check-input:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-label.required:after,.form-control-required:after{content:" *";color:#dc3545;font-weight:700}.invalid-feedback{display:block;margin-top:.25rem;font-size:.875em;color:#dc3545}.valid-feedback{display:block;margin-top:.25rem;font-size:.875em;color:#198754}.input-with-icon{position:relative}.input-with-icon .form-control{padding-left:2.5rem}.input-with-icon .input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6c757d}.form-floating{position:relative}.form-floating .form-control,.form-floating .form-select{height:calc(3.5rem + 2px);padding:1rem .75rem}.form-floating label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;color:#6c757d}.form-floating .form-control:focus~label,.form-floating .form-control:not(:placeholder-shown)~label,.form-floating .form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translate(.15rem)}.navgrid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem}.navgrid-center{min-width:0}.center-nav{display:flex;justify-content:center;flex-wrap:nowrap}.nav-sep{width:1px;height:24px;background:var(--bs-border-color);opacity:.6;display:inline-block}.center-nav.navbar-nav{display:flex;flex-direction:row!important;align-items:center;justify-content:center;gap:2rem;flex-wrap:nowrap;white-space:nowrap}.center-nav .nav-item{position:relative}.center-nav .nav-item+.nav-item:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:1px;height:24px;background:var(--bs-border-color);opacity:.6}.form-control-required:after{content:" *";color:var(--bs-danger)}.main-content{min-height:calc(100vh - 200px)}.app-container{display:flex;flex-direction:column;min-height:100vh}
