:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--text-6xl: 60px;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--color-primary: #e00b12;--color-primary-light: #ff6b6b;--color-primary-dark: #c10a10;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e6e6e6;--color-gray-300: #d3d3d3;--color-gray-400: #bbb;--color-gray-500: #6b6b6b;--color-gray-600: #666;--color-gray-700: #333;--color-gray-800: #2d2e2f;--color-success: #4ade80;--color-warning: #fbbf24;--color-error: #ef4444;--color-error-text: #b91c1c;--color-border-input: #8f8f8f;--radius-sm: 4px;--radius-base: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-base: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2)}body{margin:0;background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-gray-700)}:root{--nav-offset: 90px}@media(max-width:900px){:root{--nav-offset: 148px}}@media(max-width:600px){:root{--nav-offset: 132px}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}#root{display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);min-height:100vh;min-height:100dvh}button,input,select,textarea{font-family:inherit;font-size:inherit}button{margin:0;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.red-button{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;padding:var(--space-2) var(--space-5);font-size:var(--text-base);font-weight:var(--font-normal);display:flex;align-items:center;gap:var(--space-2)}a.red-button{display:inline-flex;margin:var(--space-1);text-decoration:none;width:fit-content}.red-button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.white-star{fill:#fff;padding-right:var(--space-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}#modal{position:fixed;top:0;right:0;left:0;bottom:0;display:flex;justify-content:center;align-items:center;z-index:1100;padding:var(--space-4)}#modal-background{position:fixed;top:0;right:0;left:0;bottom:0;background-color:#000000b3;animation:modal-backdrop-in .2s ease-out}#modal-content{position:relative;display:flex;flex-direction:column;max-width:100%;max-height:calc(100vh - var(--space-8));max-height:calc(100dvh - var(--space-8));overflow:hidden;background-color:#fff;border-radius:20px;animation:modal-content-in .22s cubic-bezier(.2,.8,.2,1)}#modal.closing{pointer-events:none}#modal.closing #modal-background{animation:modal-backdrop-out .16s ease-in forwards}#modal.closing #modal-content{animation:modal-content-out .16s ease-in forwards}@keyframes modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes modal-content-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes modal-content-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px) scale(.98)}}#modal-content>.modal-scroll{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}#modal-content:focus{outline:none}.signup-page-container{display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-height:100%;padding:40px 20px;background-color:#f8f8f8}.signup-form-container{display:flex;width:100%;max-width:1000px;background-color:#fff;border-radius:16px;box-shadow:0 8px 30px #0000001a;overflow:hidden}.signup-form-section{flex:1;padding:50px 40px;display:flex;flex-direction:column;justify-content:center}.signup-image-section{flex:1;display:none}.signup-image-section img{width:100%;height:100%;object-fit:cover}.signup-title{color:#333;font-size:2.5rem;font-weight:700;margin:var(--space-2) var(--space-2) 10px;text-align:center}.signup-subtitle{color:#666;font-size:1.1rem;margin-bottom:30px;text-align:center}.signup-form{width:100%}.signup-errors-container{list-style:none;margin:0 0 20px;background-color:#f00c131a;border:1px solid rgba(240,12,19,.3);border-radius:8px;padding:15px}.signup-error-message{color:#c00;font-size:.9rem;font-weight:500;margin-bottom:5px}.signup-error-message:last-child{margin-bottom:0}.signup-field{margin-bottom:15px}.signup-field label{display:block;margin-bottom:6px;font-weight:600;color:#555;font-size:.9rem}.signup-input{width:100%;padding:10px 15px;border:1px solid var(--color-border-input);border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.signup-input:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c1333}.name-inputs{display:flex;gap:15px}.name-inputs .signup-field{flex:1}.signup-submit-button{width:100%;padding:14px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:15px;letter-spacing:.5px;background-color:var(--color-primary);color:#fff;border:none}.signup-submit-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #f00c134d}.login-link{margin-top:25px;text-align:center;color:#666;font-size:.9rem;align-self:center;white-space:nowrap;display:flex}.login-link a{color:var(--color-primary);font-weight:600;text-decoration:underline;transition:color .3s ease;margin-left:5px}.login-link a:hover{color:var(--color-primary-dark);text-decoration:underline}@media(min-width:901px){.signup-image-section{display:block}.signup-form-section{padding:70px 60px}}@media(max-width:600px){.signup-page-container{padding:24px 12px}.signup-form-section{padding:32px 20px}.name-inputs{flex-direction:column;gap:0}}.login-page-container{display:flex;justify-content:center;align-items:center;box-sizing:border-box;min-height:100%;padding:40px 20px;background-color:#f8f8f8}.login-form-container{display:flex;width:100%;max-width:1000px;background-color:#fff;border-radius:16px;box-shadow:0 8px 30px #0000001a;overflow:hidden}.login-image-section{flex:1;display:none}.login-image-section img{width:100%;height:100%;object-fit:cover}.login-form-section{flex:1;padding:50px 40px;display:flex;flex-direction:column;justify-content:center;align-self:flex-start}.login-title{color:#333;font-size:2.5rem;font-weight:700;margin:var(--space-2) var(--space-2) 10px;text-align:center}.login-subtitle{color:#666;font-size:1.1rem;margin-bottom:30px;text-align:center}.login-form{width:100%}.login-field{margin-bottom:20px}.login-field label{display:block;margin-bottom:8px;font-weight:600;color:#555;font-size:.9rem}.login-input{width:100%;padding:12px 15px;border:1px solid var(--color-border-input);border-radius:8px;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease;box-sizing:border-box}.login-input:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c1333}.login-submit-button,.demo-login-button{width:100%;padding:14px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;letter-spacing:.5px}.login-submit-button{background-color:var(--color-primary);color:#fff;border:none}.login-submit-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #f00c134d}.demo-login-button{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.demo-login-button:hover{background-color:#e6e6e6;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.signup-link{margin-top:25px;text-align:center;color:#666;font-size:.9rem;align-self:center;white-space:nowrap;display:flex}.signup-link a{color:var(--color-primary);font-weight:600;text-decoration:underline;transition:color .3s ease;margin-left:5px}.signup-link a:hover{color:var(--color-primary-dark);text-decoration:underline}@media(min-width:901px){.login-image-section{display:block}.login-form-section{padding:70px 60px}}.login-errors{list-style:none;margin:0 0 20px;padding:12px 15px;font-size:.9rem;font-weight:500;color:var(--color-error-text);background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px}.login-input[aria-invalid=true]{border-color:var(--color-error-text)}@media(max-width:600px){.login-page-container{padding:24px 12px}.login-form-section{padding:32px 20px}}.add-restaurant-form .image-picker{display:flex;flex-direction:column;gap:var(--space-4)}.add-restaurant-form .image-picker-tabs{display:flex;width:fit-content;max-width:100%;padding:3px;gap:2px;background-color:var(--color-gray-100);border-radius:var(--radius-base)}.add-restaurant-form .image-picker-tabs button{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-600);background-color:transparent;border:none;border-radius:6px}.add-restaurant-form .image-picker-tabs button:hover{color:var(--color-gray-800);background-color:transparent}.add-restaurant-form .image-picker-tabs button.active{color:var(--color-gray-800);background-color:#fff;box-shadow:var(--shadow-sm),0 0 0 1px var(--color-gray-200)}.add-restaurant-form .image-picker-row{display:flex;align-items:center;gap:var(--space-4)}.add-restaurant-form .image-picker-preview{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:120px;height:90px;overflow:hidden;border-radius:var(--radius-base);background-color:var(--color-gray-100)}.add-restaurant-form .image-picker-preview.empty{border:1px dashed var(--color-gray-300);color:var(--color-gray-400);font-size:var(--text-3xl)}.add-restaurant-form .image-picker-preview img{width:100%;height:100%;object-fit:cover}.add-restaurant-form .image-picker-file{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);cursor:pointer}.add-restaurant-form .image-picker-file input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.add-restaurant-form .image-picker-file-button{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-800);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-base);white-space:nowrap}.add-restaurant-form .image-picker-file:hover .image-picker-file-button{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.add-restaurant-form .image-picker-file:focus-within .image-picker-file-button{outline:2px solid var(--color-primary);outline-offset:2px}.add-restaurant-form .image-picker-file-name{max-width:100%;font-size:var(--text-xs);color:var(--color-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-restaurant-form .image-picker-url{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.add-restaurant-form .image-picker-url input{width:100%;min-height:44px;box-sizing:border-box;margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-base);font-family:inherit;font-size:var(--text-base);color:var(--color-gray-800)}.add-restaurant-form .image-picker-url input:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}@media(max-width:600px){.add-restaurant-form .image-picker-tabs{width:100%}.add-restaurant-form .image-picker-tabs button{flex:1;justify-content:center;padding:var(--space-2)}.add-restaurant-form .image-picker-preview{width:88px;height:72px}}.restaurant-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;width:640px;max-width:100%;box-sizing:border-box;color:var(--color-gray-800)}.restaurant-form .restaurant-form-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-8) var(--space-4);background-color:#fff;border-bottom:1px solid var(--color-gray-200)}.restaurant-form .restaurant-form-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-gray-800)}.restaurant-form .restaurant-form-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-gray-600)}.restaurant-form .restaurant-form-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:none;border-radius:50%;background-color:transparent;color:var(--color-gray-600);font-size:var(--text-lg)}.restaurant-form .restaurant-form-close:hover{background-color:var(--color-gray-100);color:var(--color-gray-800)}.restaurant-form .restaurant-form-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:var(--space-2) var(--space-8) var(--space-6)}.restaurant-form .restaurant-form-section{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6) 0;border-bottom:1px solid var(--color-gray-200)}.restaurant-form .restaurant-form-section:last-child{border-bottom:none}.restaurant-form .restaurant-form-section-heading h3{margin:0;font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-gray-800)}.restaurant-form .restaurant-form-section-heading p{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-gray-500)}.restaurant-form .restaurant-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.restaurant-form .restaurant-form-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;margin:0}.restaurant-form .restaurant-form-field.wide{grid-column:1 / -1}.restaurant-form .restaurant-form-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.restaurant-form .restaurant-form-hint{font-size:var(--text-xs);color:var(--color-gray-500)}.restaurant-form .restaurant-form-field input,.restaurant-form .restaurant-form-field textarea{width:100%;min-height:44px;box-sizing:border-box;margin:0;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-base);background-color:#fff;font-family:inherit;font-size:var(--text-base);color:var(--color-gray-800);transition:border-color .15s ease,box-shadow .15s ease}.restaurant-form .restaurant-form-field input::placeholder,.restaurant-form .restaurant-form-field textarea::placeholder{color:var(--color-gray-500)}.restaurant-form .restaurant-form-field input:hover,.restaurant-form .restaurant-form-field textarea:hover{border-color:var(--color-gray-400)}.restaurant-form .restaurant-form-field input:focus,.restaurant-form .restaurant-form-field textarea:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}.restaurant-form .restaurant-form-field input[readonly]{color:var(--color-gray-600);background-color:var(--color-gray-100);border-color:var(--color-gray-300)}.restaurant-form .restaurant-form-field textarea{min-height:104px;resize:vertical;line-height:var(--leading-normal)}.restaurant-form .description-count{align-self:flex-end;font-size:var(--text-xs);color:var(--color-gray-500)}.restaurant-form .description-count.near-limit{color:var(--color-error-text)}.restaurant-form .restaurant-form-price{padding:0;border:none}.restaurant-form .restaurant-form-price legend{padding:0;margin-bottom:var(--space-1)}.restaurant-form .price-options{display:flex;width:fit-content;max-width:100%;border:1px solid var(--color-gray-300);border-radius:var(--radius-base);overflow:hidden}.restaurant-form .price-option{position:relative;margin:0}.restaurant-form .price-option input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.restaurant-form .price-option span{display:block;min-width:56px;padding:var(--space-2) var(--space-3);text-align:center;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-600);background-color:#fff;border-left:1px solid var(--color-gray-300);transition:background-color .15s ease,color .15s ease}.restaurant-form .price-option:first-child span{border-left:none}.restaurant-form .price-option:hover span{background-color:var(--color-gray-50);color:var(--color-gray-800)}.restaurant-form .price-option input:checked+span{background-color:var(--color-primary);color:#fff}.restaurant-form .price-option input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:-4px}.restaurant-form .price-option input:checked:focus-visible+span{outline-color:#fff}.restaurant-form .restaurant-form-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-8);background-color:#fff;border-top:1px solid var(--color-gray-200);box-shadow:0 -6px 16px #0000000a}.restaurant-form .restaurant-form-footer button{margin:0;min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-base);font-size:var(--text-base);font-weight:var(--font-semibold)}.restaurant-form .restaurant-form-cancel{color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300)}.restaurant-form .restaurant-form-cancel:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.restaurant-form .restaurant-form-submit{color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary)}.restaurant-form .restaurant-form-submit:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.restaurant-form .restaurant-form-submit:disabled{cursor:progress;opacity:.7}.restaurant-form .restaurant-form-submit i{margin-right:var(--space-2)}.restaurant-form .error-container{margin-top:var(--space-4);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-base);padding:var(--space-4)}.restaurant-form .error-container:focus{outline:none}.restaurant-form .error-header{display:flex;align-items:center;gap:var(--space-2);color:var(--color-error-text);font-weight:var(--font-semibold);font-size:var(--text-sm);margin-bottom:var(--space-3)}.restaurant-form .error-list{list-style:none;padding:0;margin:0}.restaurant-form .error-item{color:#b91c1c;font-size:var(--text-sm);border-left:3px solid var(--color-error);padding:var(--space-1) 0 var(--space-1) var(--space-3);margin-bottom:var(--space-2)}.restaurant-form .error-item:last-child{margin-bottom:0}@media(max-width:600px){.restaurant-form .restaurant-form-header{padding:var(--space-4) var(--space-4) var(--space-3)}.restaurant-form .restaurant-form-title{font-size:var(--text-xl)}.restaurant-form .restaurant-form-body{padding:0 var(--space-4) var(--space-4)}.restaurant-form .restaurant-form-grid{grid-template-columns:1fr}.restaurant-form .price-options{width:100%}.restaurant-form .price-option{flex:1}.restaurant-form .price-option span{min-width:0;padding:var(--space-2) var(--space-1)}.restaurant-form .restaurant-form-footer{padding:var(--space-3) var(--space-4)}.restaurant-form .restaurant-form-footer .restaurant-form-cancel{flex:0 0 auto;padding:var(--space-2) var(--space-4)}.restaurant-form .restaurant-form-footer .restaurant-form-submit{flex:1;white-space:nowrap}}.restaurant-form-refusal{padding:var(--space-8);max-width:420px}.restaurant-form-refusal .restaurant-form-title{margin:0 0 var(--space-3);font-size:var(--text-2xl)}.chip-picker{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.chip-picker .chip-picker-heading{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.chip-picker .chip-picker-title{display:inline;width:auto;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.chip-picker .chip-picker-hint{display:inline;width:auto;font-weight:var(--font-normal);color:var(--color-gray-500);font-size:var(--text-xs)}.chip-picker .chip-picker-options{display:flex;flex-wrap:wrap;gap:var(--space-2);max-height:150px;overflow-y:auto;padding:var(--space-2);border:1px solid var(--color-gray-200);border-radius:var(--radius-base);background-color:var(--color-gray-50)}.chip-picker .chip-picker-option{display:inline-block;width:auto;height:auto;margin:0;font-family:inherit;font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:var(--leading-normal);color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-xl);padding:var(--space-1) var(--space-3);cursor:pointer;transition:background-color .15s ease,color .15s ease}.chip-picker .chip-picker-option:hover:not(:disabled){border-color:var(--color-gray-500)}.chip-picker .chip-picker-option.chosen{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.chip-picker .chip-picker-option:disabled{opacity:.45;cursor:not-allowed}.hours-editor{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.hours-editor .hours-editor-heading{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.hours-editor .hours-editor-title{display:inline;width:auto;font-size:var(--text-sm);font-weight:var(--font-semibold)}.hours-editor .hours-editor-timezone{display:flex;align-items:center;gap:var(--space-2);margin:0;font-weight:var(--font-normal);font-size:var(--text-xs);color:var(--color-gray-500)}.hours-editor .hours-editor-timezone span{display:inline;width:auto;font-size:var(--text-xs)}.hours-editor .hours-editor-timezone select{width:auto;height:auto;min-height:32px;margin:0;padding:var(--space-1) var(--space-2);font-family:inherit;font-size:var(--text-sm);color:var(--color-gray-700);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:#fff}.hours-editor .hours-editor-days{display:flex;flex-direction:column;border:1px solid var(--color-gray-200);border-radius:var(--radius-base);background-color:var(--color-gray-50);overflow:hidden}.hours-editor .hours-editor-day{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-gray-200)}.hours-editor .hours-editor-day:last-child{border-bottom:none}.hours-editor .hours-editor-open{display:flex;align-items:center;gap:var(--space-2);margin:0;min-width:120px;font-size:var(--text-sm);color:var(--color-gray-700);cursor:pointer}.hours-editor .hours-editor-open span{display:inline;width:auto;font-size:var(--text-sm)}.hours-editor .hours-editor-open input[type=checkbox]{width:auto;height:auto;margin:0;accent-color:var(--color-primary);cursor:pointer}.hours-editor .hours-editor-times{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.hours-editor .hours-editor-times input[type=time]{width:auto;height:auto;margin:0;padding:var(--space-1) var(--space-2);font-family:inherit;font-size:var(--text-sm);color:var(--color-gray-700);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);background-color:#fff}.hours-editor .hours-editor-dash,.hours-editor .hours-editor-closed,.hours-editor .hours-editor-overnight{display:inline;width:auto;font-size:var(--text-xs);color:var(--color-gray-500)}.hours-editor .hours-editor-overnight{padding:2px var(--space-2);border-radius:var(--radius-xl);background-color:var(--color-gray-200);color:var(--color-gray-600)}.hours-editor .hours-editor-note{margin:0;font-size:var(--text-xs);color:var(--color-error-text)}@media(max-width:900px){.hours-editor .hours-editor-timezone select,.hours-editor .hours-editor-times input[type=time]{font-size:16px}}.profile-dropdown{position:absolute;right:0;top:calc(100% + var(--space-2));width:220px;background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-4);z-index:10;box-shadow:var(--shadow-lg);animation:nav-menu-drop .3s ease;list-style:none;margin:0}@keyframes nav-menu-drop{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-username,.user-dropdown-email{display:flex;justify-content:center;text-align:center;overflow-wrap:anywhere;padding:var(--space-2) 0;font-weight:var(--font-medium);color:var(--color-gray-700)}.user-dropdown-email{color:var(--color-gray-600);margin-bottom:var(--space-2)}.hidden{display:none}.nav-logo a{display:flex}.logo-img{width:120px;height:auto;transition:transform .3s ease}.logo-img:hover{transform:scale(1.05)}.navBar-container{position:sticky;top:var(--space-3);z-index:1000;box-sizing:border-box;width:calc(100% - 2 * var(--space-4));max-width:1280px;margin:var(--space-3) auto 0;padding:0 var(--space-5);background-color:#ffffffdb;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-xl);box-shadow:0 10px 30px #00000014,0 1px 3px #0000000d}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.navBar-container{background-color:#fff}}.navigationBar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;position:relative}.nav-left,.nav-right,.nav-center{display:flex;align-items:center}.nav-left{flex:0 0 auto}.nav-center{flex:1 1 0;min-width:0;justify-content:center}.nav-right{flex:0 0 auto;justify-content:flex-end}.auth-buttons{display:flex;gap:var(--space-4);align-items:center}.login-button{text-decoration:none;color:var(--color-gray-700);font-weight:var(--font-semibold);font-size:var(--text-base);padding:var(--space-2) var(--space-6);border-radius:var(--radius-base);border:2px solid var(--color-primary);background-color:transparent;transition:all .3s ease;display:flex;align-items:center;justify-content:center;letter-spacing:.5px;white-space:nowrap;position:relative;overflow:hidden;z-index:1}.login-button:before{content:"";position:absolute;top:0;left:0;width:0%;height:100%;background-color:#f00c131a;transition:all .3s ease;z-index:-1}.login-button:hover{color:var(--color-primary)}.login-button:hover:before{width:100%}.signup-button{text-decoration:none;color:#fff;font-weight:var(--font-semibold);font-size:var(--text-base);padding:var(--space-2) var(--space-6);border-radius:var(--radius-base);background-color:var(--color-primary);border:2px solid var(--color-primary);transition:all .3s ease;display:flex;align-items:center;justify-content:center;letter-spacing:.5px;position:relative;overflow:hidden;z-index:1;box-shadow:0 4px 12px #f00c1333}.signup-button:before{content:"";position:absolute;top:0;left:0;width:0%;height:100%;background-color:#ffffff1a;transition:all .3s ease;z-index:-1}.signup-button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.signup-button:hover:before{width:100%}.profileButton{padding:var(--space-2);border-radius:var(--radius-full);border:none;background-color:var(--color-gray-100);color:var(--color-gray-700);font-size:var(--text-lg);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.profileButton:hover{background-color:var(--color-gray-200);transform:scale(1.05)}.user-logout-button{width:100%;padding:var(--space-2);border:none;background-color:var(--color-gray-100);color:var(--color-gray-700);font-weight:var(--font-semibold);border-radius:var(--radius-base);margin-top:var(--space-2);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.user-logout-button:hover{background-color:var(--color-gray-200)}.fa-solid.fa-arrow-right-from-bracket{color:var(--color-primary)}.nav-search{display:flex;justify-content:center;width:100%}.nav-search-container{width:100%;max-width:680px;position:relative;border-radius:999px;overflow:hidden;background-color:var(--color-gray-100);border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.nav-search-container:hover{background-color:#eee}.nav-search-container:focus-within{outline:2px solid transparent;background-color:#fff;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}.search-bar-form{display:flex;align-items:center;width:100%;height:44px;position:relative}.search-input-values{width:100%;box-sizing:border-box;height:100%;padding:0 56px 0 var(--space-5);border:none;background:transparent;font-size:16px;color:var(--color-gray-800);outline:none}.search-input-values::placeholder{color:var(--color-gray-500)}.search-button{position:absolute;right:5px;top:50%;transform:translateY(-50%);margin:0;padding:0;background-color:var(--color-primary);color:#fff;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.search-button i{font-size:14px}.search-button:hover{background-color:var(--color-primary-dark);box-shadow:0 0 0 3px #f00c132e;transform:translateY(-50%) scale(1.08)}.search-button:active{transform:translateY(-50%) scale(.96)}@media(max-width:900px){.navigationBar{flex-wrap:wrap;row-gap:var(--space-3);padding:var(--space-3) 0}.nav-center{order:3;flex:0 0 100%}.nav-search-container{max-width:none}.nav-left,.nav-right{flex:1}}@media(max-width:600px){.navBar-container{top:var(--space-2);width:calc(100% - 2 * var(--space-2));margin-top:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-lg)}.auth-buttons{gap:10px}.navigationBar{column-gap:var(--space-2)}.login-button,.signup-button{padding:8px 10px;font-size:14px;letter-spacing:.3px;white-space:nowrap}.nav-left,.nav-right{flex:0 0 auto}.logo-img{width:88px}}.user-profile-button{box-sizing:border-box;width:100%;padding:var(--space-2);border:none;background-color:var(--color-gray-100);color:var(--color-gray-700);font-weight:var(--font-semibold);border-radius:var(--radius-base);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2)}.user-profile-button:hover{background-color:var(--color-gray-200)}.user-profile-button i{color:var(--color-primary)}.add-restaurant-dropdown-button{width:100%;margin-bottom:var(--space-2)}.add-restaurant-dropdown-button button{width:100%;padding:var(--space-2);border:none;background-color:var(--color-primary);color:#fff;font-weight:var(--font-semibold);border-radius:var(--radius-base);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.add-restaurant-dropdown-button button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.profileButton-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;display:block}.restaurant-list-title{box-sizing:border-box;max-width:940px;margin:var(--space-8) auto calc(-1 * var(--space-2));padding:0 var(--space-1);font-size:var(--text-3xl);color:var(--color-gray-800)}@media(max-width:900px){.restaurant-list-title{margin-left:var(--space-4);margin-right:var(--space-4);font-size:var(--text-2xl)}}.restaurant-list:last-child{padding-bottom:var(--space-10)}@keyframes restaurant-list-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.restaurant-list-item{display:block;opacity:0;animation-name:restaurant-list-rise;animation-duration:.6s;animation-timing-function:ease-out;animation-fill-mode:forwards;animation-delay:0s}.restaurant-list-entry{position:relative;max-width:900px;margin:0 auto}.restaurant-list-entry .restaurant-list-favorite{position:absolute;top:var(--space-5);right:var(--space-5)}.restaurant-list-entry .restaurant-card{padding-right:72px}@media(max-width:600px){.restaurant-list-entry .restaurant-list-favorite{top:var(--space-6);right:var(--space-6)}.restaurant-list-entry .restaurant-card{padding-right:var(--space-4)}}.square{width:200px;height:200px;object-fit:cover;border-radius:5px;margin-right:20px}.restaurant-card{position:relative;z-index:0;display:flex;flex-direction:row;color:#000;font-weight:700;letter-spacing:normal;border-bottom:1px solid rgb(211,211,211);padding:20px;margin:auto;width:100%;max-width:900px;box-sizing:border-box;border-radius:5px;transition:box-shadow .3s ease}.restaurant-card:hover{box-shadow:0 0 10px #0000001a}.small-words{font-size:14px;font-weight:400;color:#6e7072;line-height:20px}.green-word{color:#008055;font-weight:700}.delivery{margin:5px;color:#2d2e2f;font-size:12px;position:relative}.tick{fill:#02a16d;line-height:16px;height:16px;position:relative;bottom:-5px}.cloud{fill:#2d2e2f;line-height:16px;height:16px;position:relative;bottom:-5px}.bold-name{margin:0;font-size:20px}.restaurant-card .restaurant-card-link:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;border-radius:5px}.restaurant-card .restaurant-card-link:focus-visible{outline:2px solid transparent}.restaurant-card .restaurant-card-link:focus-visible:after{outline:2px solid var(--color-primary);outline-offset:2px}.restaurant-card:hover .restaurant-card-link{text-decoration:underline}.stars-home{margin-top:5px;display:flex;align-items:center;gap:var(--space-2)}.stars-home-number{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-gray-700)}.summary{min-width:0}@media(max-width:600px){.restaurant-card{flex-direction:column;padding:var(--space-4)}.square{width:100%;height:180px;margin:0 0 var(--space-3)}}.category-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0}.category-chip{position:relative;z-index:2;background-color:var(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);padding:2px var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);font-family:inherit;line-height:var(--leading-relaxed);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.category-chip:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.category-chips.single-restaurant-chips .category-chip{font-size:var(--text-sm);padding:var(--space-1) var(--space-4)}.open-now{color:#008055;font-weight:var(--font-bold)}.closed-now{color:var(--color-error-text);font-weight:var(--font-bold)}.open-status-detail{color:inherit}.favorite{display:inline-flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.favorite .favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300);cursor:pointer;transition:color .2s ease,border-color .2s ease,transform .2s ease}.favorite .favorite-button:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:#fff}.favorite .favorite-button.saved{color:var(--color-primary);border-color:var(--color-primary)}.favorite .favorite-button[aria-disabled=true]{cursor:progress;opacity:.7}.favorite .favorite-button-icon{width:40px;height:40px;padding:0;border-radius:50%;font-size:var(--text-lg);box-shadow:var(--shadow-base)}.favorite .favorite-button-icon:hover{transform:scale(1.08)}.favorite .favorite-button-labelled{padding:var(--space-2) var(--space-5);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-bold)}.favorite .favorite-error{max-width:220px;font-size:var(--text-xs);color:var(--color-error-text);text-align:right}.favorite .favorite-error:empty{display:none}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4);max-width:940px;margin:var(--space-6) auto var(--space-2);padding:var(--space-4) var(--space-5);background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.filter-control{display:flex;flex-direction:column;gap:var(--space-1)}.filter-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-gray-500)}.filter-control select{font-family:inherit;font-size:var(--text-sm);color:var(--color-gray-700);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-base);background-color:#fff;cursor:pointer;min-width:140px}.filter-control select:focus-visible,.filter-prices button:focus-visible,.filter-clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.filter-prices{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-prices button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-base);margin:0;padding:var(--space-2) var(--space-3);cursor:pointer;transition:background-color .15s ease,color .15s ease}.filter-prices button:hover{background-color:var(--color-gray-100)}.filter-prices button.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-summary{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;padding-bottom:var(--space-2)}.filter-count{font-size:var(--text-sm);color:var(--color-gray-600)}.filter-clear{min-height:32px;font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);background:none;border:none;padding:0 var(--space-2);cursor:pointer;text-decoration:underline}.filter-empty{max-width:940px;margin:var(--space-8) auto;padding:var(--space-8);text-align:center;color:var(--color-gray-600);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg)}.filter-empty h1,.filter-empty h2{margin:0 0 var(--space-2);font-size:var(--text-lg);color:var(--color-gray-700)}.filter-empty button{font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:var(--space-4);padding:var(--space-2) var(--space-5);color:#fff;background-color:var(--color-primary);border:none;border-radius:var(--radius-base);cursor:pointer}.filter-empty button:hover{background-color:var(--color-primary-dark)}@media(max-width:900px){.filter-bar{margin-left:var(--space-4);margin-right:var(--space-4)}.filter-summary{margin-left:0}}@media(max-width:900px){.filter-control select{font-size:16px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-20) var(--space-5);min-height:200px}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-gray-200);border-top:4px solid var(--color-primary-light);border-radius:var(--radius-full);animation:loading-spin 1s linear infinite;margin-bottom:var(--space-5)}.loading-text{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-gray-600);display:flex;align-items:center;gap:var(--space-1)}.loading-word{animation:loading-pulse 2s ease-in-out infinite}.loading-dots span{animation:loading-bounce 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes loading-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.show-more{display:flex;flex-direction:column;align-items:center;padding:24px 16px 48px}.show-more-button{padding:12px 28px;font-size:1rem;font-weight:600;color:var(--color-primary);background:#fff;border:1px solid var(--color-primary);border-radius:4px;cursor:pointer}.show-more-button:hover:not(:disabled){background:var(--color-primary);color:#fff}.show-more-button:disabled{opacity:.6;cursor:default}.show-more-error{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:#b91c1c}.restaurant-page{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-16);color:var(--color-gray-800)}.restaurant-carousel{position:relative;margin-top:var(--space-4);overflow:hidden}.restaurant-carousel-track{display:flex;height:460px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.restaurant-carousel-track::-webkit-scrollbar{display:none}.restaurant-carousel-set{display:flex;flex:0 0 auto;height:100%}.restaurant-carousel .restaurant-carousel-photo{position:relative;flex:0 0 auto;height:100%;margin:0;padding:0;border:none;border-radius:0;background-color:var(--color-gray-800);overflow:hidden;cursor:zoom-in}.restaurant-carousel-photo img{display:block;height:100%;width:auto;min-width:240px;max-width:900px;object-fit:cover}.restaurant-carousel .restaurant-carousel-photo:focus-visible{outline:3px solid white;outline-offset:-3px}.restaurant-carousel-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,#00000059,#0000 55%)}.restaurant-carousel-overlay{position:absolute;left:0;right:0;bottom:0;box-sizing:border-box;max-width:1200px;margin:0 auto;padding:0 var(--space-6) var(--space-8);display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);pointer-events:none}.restaurant-carousel-overlay a,.restaurant-carousel-overlay button{pointer-events:auto}.restaurant-carousel-content{position:relative;z-index:0;min-width:0}.restaurant-carousel-track~.restaurant-carousel-overlay .restaurant-carousel-content:before{content:"";position:absolute;z-index:-1;top:-96px;bottom:-64px;left:-100vw;right:-100vw;background:linear-gradient(to top,#000000d1,#0009 calc(100% - 96px),#0000)}.restaurant-carousel-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.restaurant-hero{display:flex;flex-direction:column;gap:var(--space-2);color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.45)}.restaurant-page-wrap h1.restaurant-name{margin:0 0 var(--space-1);font-size:48px;font-weight:800;line-height:1.1;letter-spacing:-.01em;color:#fff;overflow-wrap:anywhere}.restaurant-hero .restaurant-rating{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.restaurant-hero .rating-star{display:inline-flex;text-shadow:none}.restaurant-rating-text{font-size:var(--text-lg);font-weight:var(--font-bold)}.restaurant-page-wrap a.restaurant-rating-count{display:inline;font-size:inherit;font-weight:inherit;color:#fff;text-decoration:underline;text-decoration-color:#ffffff80;text-underline-offset:3px}.restaurant-page-wrap a.restaurant-rating-count:hover{text-decoration-color:#fff}.restaurant-hero .restaurant-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-bold)}.restaurant-claimed{display:inline-flex;align-items:center;gap:6px;color:#9dd1ff}.restaurant-meta-dot{opacity:.8}.restaurant-page-wrap .restaurant-categories a{color:#fff}.restaurant-page-wrap .restaurant-categories a:hover{text-decoration:underline;text-underline-offset:3px}.restaurant-status{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-1);font-size:var(--text-base);font-weight:var(--font-semibold)}.restaurant-hero-status .open-now{color:#6ee7a0}.restaurant-hero-status .closed-now{color:#ff8f8f}.restaurant-page-wrap a.restaurant-see-hours,.restaurant-carousel button.restaurant-carousel-all{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-bold);color:#fff;text-shadow:none;background-color:#0000008c;border:1px solid rgba(255,255,255,.85);border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .15s ease}.restaurant-carousel button.restaurant-carousel-all{padding:var(--space-2) var(--space-4)}.restaurant-page-wrap a.restaurant-see-hours:hover,.restaurant-carousel button.restaurant-carousel-all:hover{background-color:#000000b8;border-color:#fff}.restaurant-carousel button.restaurant-carousel-pause{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin:0;padding:0;font-size:var(--text-sm);color:#fff;background-color:#0000008c;border:1px solid rgba(255,255,255,.85);border-radius:50%;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.restaurant-carousel button.restaurant-carousel-pause:hover{background-color:#000000b8}.restaurant-carousel .restaurant-carousel-arrow{position:absolute;top:38%;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;font-size:var(--text-base);color:var(--color-gray-800);background-color:#fffffff2;border:1px solid rgba(0,0,0,.08);border-radius:50%;box-shadow:var(--shadow-base);opacity:0;transform:translateY(-50%);transition:opacity .2s ease,transform .15s ease,background-color .15s ease}.restaurant-carousel:hover .restaurant-carousel-arrow,.restaurant-carousel:focus-within .restaurant-carousel-arrow{opacity:1}.restaurant-carousel .restaurant-carousel-arrow.back{left:var(--space-4)}.restaurant-carousel .restaurant-carousel-arrow.forward{right:var(--space-4)}.restaurant-carousel .restaurant-carousel-arrow:hover{background-color:#fff;transform:translateY(-50%) scale(1.06)}.restaurant-carousel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);height:260px;padding-bottom:120px;background-color:var(--color-gray-800);color:var(--color-gray-400);font-weight:var(--font-semibold)}.restaurant-carousel-empty i{font-size:var(--text-4xl)}@media(hover:none){.restaurant-carousel .restaurant-carousel-arrow{display:none}}.restaurant-toolbar{padding:var(--space-5) 0;border-bottom:1px solid var(--color-gray-200)}.restaurant-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.restaurant-actions button.restaurant-action,.restaurant-actions .favorite .favorite-button-labelled{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;margin:0;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-gray-800);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-base);white-space:nowrap}.restaurant-actions button.restaurant-action:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.restaurant-actions .favorite .favorite-button-labelled:hover,.restaurant-actions .favorite .favorite-button-labelled.saved{color:var(--color-primary);border-color:var(--color-primary)}.restaurant-actions button.restaurant-action i{color:var(--color-gray-600)}.restaurant-actions button.restaurant-action.danger:hover{color:var(--color-primary-dark);border-color:#d60b1266;background-color:#f00c130d}.restaurant-actions button.restaurant-action.danger:hover i{color:var(--color-primary-dark)}.restaurant-toolbar .restaurant-demo-note{display:flex;align-items:baseline;gap:var(--space-2);margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--color-gray-600)}.restaurant-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"details sidebar" "reviews sidebar";column-gap:var(--space-12);align-items:start}.restaurant-details{grid-area:details;min-width:0}.restaurant-reviews{grid-area:reviews;min-width:0}.restaurant-sidebar{grid-area:sidebar;position:sticky;top:calc(var(--nav-offset) + var(--space-5));padding-top:var(--space-8)}.restaurant-section{padding:var(--space-8) 0;border-bottom:1px solid var(--color-gray-200)}.restaurant-section:last-child{border-bottom:none}.restaurant-page .restaurant-section h2{margin:0 0 var(--space-5);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-gray-800)}.restaurant-reviews{scroll-margin-top:var(--nav-offset);border-top:1px solid var(--color-gray-200)}.restaurant-amenities{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4) var(--space-6);margin:0;padding:0;list-style:none}.restaurant-amenities li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-700)}.restaurant-amenity-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--color-gray-100);color:var(--color-gray-700);font-size:var(--text-base)}.restaurant-hours{scroll-margin-top:var(--nav-offset)}.restaurant-hours .opening-hours{max-width:440px;font-size:var(--text-base)}.restaurant-hours .opening-hours th,.restaurant-hours .opening-hours td{padding:var(--space-2) 0;border-bottom:1px solid var(--color-gray-100)}.restaurant-description{margin:0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-gray-700);overflow-wrap:break-word;white-space:pre-wrap}.restaurant-contact{display:flex;flex-direction:column;border:1px solid var(--color-gray-200);border-radius:var(--radius-xl);background-color:#fff;box-shadow:var(--shadow-base);overflow:hidden}.restaurant-page a.restaurant-contact-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-size:var(--text-base);font-weight:var(--font-normal);color:var(--color-gray-800);text-decoration:none;border-bottom:1px solid var(--color-gray-200);transition:background-color .15s ease}.restaurant-page a.restaurant-contact-row:last-child{border-bottom:none}.restaurant-page a.restaurant-contact-row:hover{background-color:var(--color-gray-50)}.restaurant-page a.restaurant-contact-row:focus-visible{outline-offset:-3px;border-radius:var(--radius-xl)}.restaurant-contact-text{display:flex;flex-direction:column;gap:2px;min-width:0}.restaurant-contact-label{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-gray-800)}.restaurant-contact-value{font-size:var(--text-sm);color:var(--color-gray-600);overflow-wrap:anywhere}.restaurant-contact-row i{flex-shrink:0;color:var(--color-gray-600);font-size:var(--text-lg)}.restaurant-page a.restaurant-contact-row:hover i{color:var(--color-primary)}@media(max-width:900px){.restaurant-page{padding:0 var(--space-4) var(--space-12)}.restaurant-carousel-track{height:400px}.restaurant-carousel-overlay{padding:0 var(--space-4) var(--space-6)}.restaurant-page-wrap h1.restaurant-name{font-size:38px}.restaurant-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"details" "sidebar" "reviews"}.restaurant-sidebar{position:static;padding-top:0}.restaurant-reviews{margin-top:var(--space-8)}}@media(max-width:600px){.restaurant-carousel{margin-top:var(--space-2)}.restaurant-carousel-track{height:380px}.restaurant-carousel-photo img{min-width:200px;max-width:85vw}.restaurant-carousel-overlay{position:static;padding:0}.restaurant-carousel-content{position:absolute;left:var(--space-4);right:var(--space-4);bottom:var(--space-5)}.restaurant-carousel-controls{position:absolute;top:var(--space-3);right:var(--space-3)}.restaurant-page-wrap h1.restaurant-name{font-size:var(--text-3xl)}.restaurant-rating-text,.restaurant-hero .restaurant-meta,.restaurant-status{font-size:var(--text-sm)}.restaurant-toolbar{padding:var(--space-4) 0}.restaurant-section{padding:var(--space-6) 0}.restaurant-page .restaurant-section h2{font-size:var(--text-xl)}.restaurant-amenities{grid-template-columns:1fr}}.add-photo-modal{position:relative;width:560px;max-width:calc(100vw - 2 * var(--space-4));padding:0 var(--space-8) var(--space-8);box-sizing:border-box}.add-photo-text{display:flex;justify-content:center;margin:var(--space-10) 0 var(--space-5);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-gray-800)}.add-photo-mode{display:flex;gap:var(--space-2);justify-content:center;margin-bottom:var(--space-5)}.add-photo-mode button{margin:0;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-600);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:999px;display:inline-flex;align-items:center;gap:var(--space-2)}.add-photo-mode button.active{color:var(--color-primary-dark);border-color:var(--color-primary);background-color:#f00c130f}.add-photo-form{display:flex;flex-direction:column;gap:var(--space-4)}.add-photo-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;border:2px dashed var(--color-gray-300);border-radius:var(--radius-base);background-color:var(--color-gray-50);cursor:pointer;overflow:hidden;transition:border-color .2s ease,background-color .2s ease}.add-photo-dropzone:hover{border-color:var(--color-primary);background-color:#f00c1308}.add-photo-dropzone:focus-within{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:2px}.add-photo-dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.add-photo-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-gray-600);font-size:var(--text-sm);font-weight:var(--font-semibold);pointer-events:none}.add-photo-placeholder i{font-size:36px;color:var(--color-gray-400)}.add-photo-placeholder small{font-weight:var(--font-normal);color:var(--color-gray-500)}.add-photo-preview{width:100%;max-height:320px;object-fit:contain;pointer-events:none}.add-photo-filename{position:absolute;bottom:0;left:0;right:0;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:#fff;background:#0000008c;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;pointer-events:none}.add-photo-url input{width:100%;height:44px;box-sizing:border-box;padding:0 var(--space-3);font-size:var(--text-base);border:1px solid var(--color-border-input);border-radius:var(--radius-sm)}.add-photo-url input:focus{outline:2px solid transparent;border-color:var(--color-primary)}.add-photo-form .error-display{margin:0;padding:var(--space-2) var(--space-3);list-style:none;font-size:var(--text-sm);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm)}.add-photo-form button[type=submit]{align-self:center;margin:var(--space-2) 0 0;width:180px;height:48px;padding:10px 16px;font-weight:var(--font-semibold);font-size:var(--text-base);color:#fff;background-color:var(--color-primary);border:none;border-radius:26px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.add-photo-form button[type=submit]:hover{background-color:var(--color-primary-dark)}.add-photo-form button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.add-photo-cover{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;cursor:pointer}.add-photo-cover input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;grid-row:span 2}.add-photo-cover span{font-size:14px;font-weight:600;color:#333}.add-photo-cover small{grid-column:2;font-size:12px;color:var(--color-gray-600)}@media(max-width:600px){.add-photo-modal{padding:0 var(--space-4) var(--space-6)}.add-photo-text{margin-top:var(--space-8)}.add-photo-mode{flex-wrap:wrap}.add-photo-mode button{padding:var(--space-2) var(--space-3);white-space:nowrap}}.modal-close-button{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:none;border-radius:50%;background-color:transparent;color:var(--color-gray-600);font-size:var(--text-lg);cursor:pointer}.modal-close-button:hover{background-color:var(--color-gray-100);color:var(--color-gray-800)}.confirm-delete-modal{padding:var(--space-8);width:500px;max-width:calc(100vw - 2 * var(--space-4));box-sizing:border-box;background:#fff;border-radius:var(--radius-lg);text-align:center}.confirm-delete-header{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-5)}.warning-icon{font-size:var(--text-5xl);color:var(--color-warning);margin-bottom:var(--space-4)}.confirm-delete-header h2{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-gray-700)}.confirm-delete-content{margin-bottom:var(--space-8);text-align:center}.confirm-delete-content p{margin:0 0 var(--space-4) 0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-gray-700)}.confirm-delete-content strong{color:var(--color-primary)}.warning-text{font-size:var(--text-sm);color:var(--color-gray-600);font-style:italic}.confirm-delete-buttons{display:flex;gap:var(--space-4);justify-content:center}.cancel-button{padding:var(--space-3) var(--space-6);border:2px solid var(--color-gray-300);background-color:#fff;color:var(--color-gray-700);border-radius:var(--radius-base);font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;transition:all .3s ease;min-width:120px}.cancel-button:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.delete-button{padding:var(--space-3) var(--space-6);border:none;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-base);font-weight:var(--font-semibold);font-size:var(--text-base);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:180px}.delete-button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.delete-button i{font-size:var(--text-sm)}@media(max-width:600px){.confirm-delete-modal{padding:var(--space-6) var(--space-4)}.confirm-delete-buttons{flex-direction:column-reverse;gap:var(--space-3)}.cancel-button,.delete-button{width:100%;min-width:0;margin:0}}.confirm-delete-errors{list-style:none;margin:0 0 var(--space-6) 0;padding:var(--space-3) var(--space-4);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:left}.confirm-delete-buttons button:disabled{opacity:.6;cursor:default}.owner-response{margin:var(--space-3) 0 var(--space-4) var(--space-4);padding:var(--space-4);border-left:3px solid var(--color-primary);background-color:var(--color-gray-50);border-radius:0 var(--radius-base) var(--radius-base) 0;max-width:640px}.owner-response-empty{padding:var(--space-2) 0 0;border-left:none;background:transparent;margin-left:0}.owner-response-header{display:flex;align-items:flex-start;gap:var(--space-3)}.owner-response-avatar{width:36px;height:36px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;background-color:var(--color-gray-200)}.owner-response-heading{flex:1;min-width:0}.owner-response-title{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-gray-800)}.owner-response-title a{font-size:var(--text-sm);color:var(--color-gray-800)}.owner-response-title a:hover{color:var(--color-primary);text-decoration:underline}.owner-response-business{font-weight:var(--font-normal);color:var(--color-gray-600)}.owner-response-date{font-size:var(--text-xs);color:var(--color-gray-500);margin-top:2px}.owner-response-body{margin:var(--space-3) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-gray-700);white-space:pre-wrap;word-wrap:break-word}.owner-response-cta{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);background-color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-sm)}.owner-response-cta:hover{color:var(--color-primary-dark);background-color:#f00c130f;border-color:var(--color-primary-dark)}.owner-response-form{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);max-width:640px}.owner-response-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.owner-response-form textarea{width:100%;box-sizing:border-box;padding:var(--space-3);font:inherit;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-gray-800);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);resize:vertical}.owner-response-form textarea:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}.owner-response-form-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.owner-response-count{font-size:var(--text-xs);color:var(--color-gray-500)}.owner-response-count.near-limit{color:var(--color-primary-dark);font-weight:var(--font-semibold)}.owner-response-form-buttons{display:flex;flex-wrap:wrap;margin-left:auto;gap:var(--space-2)}.owner-response-form-buttons button{margin:0;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-sm)}.owner-response-primary{color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary)}.owner-response-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.owner-response-secondary{color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300)}.owner-response-form-buttons button:disabled{opacity:.6;cursor:not-allowed}.owner-response-errors{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);list-style:none;font-size:var(--text-sm);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm)}@media(max-width:900px){.owner-response-form textarea{font-size:16px}}.row-actions{display:flex;gap:var(--space-1)}.row-actions button,.row-actions a{display:inline-flex;align-items:center;gap:var(--space-1);margin:0;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-gray-600);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm)}.row-actions button:hover,.row-actions a:hover{background-color:var(--color-gray-200);border-color:var(--color-gray-300);color:var(--color-gray-800)}.row-actions button.danger:hover{color:var(--color-primary-dark)}.review-photos{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0}.review-photos .review-photos-thumb{display:block;width:88px;height:88px;margin:0;padding:0;border:1px solid var(--color-gray-200);border-radius:var(--radius-base);background-color:var(--color-gray-100);overflow:hidden;cursor:zoom-in;transition:transform .15s ease,box-shadow .15s ease}.review-photos .review-photos-thumb:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.review-photos .review-photos-thumb:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.review-photos .review-photos-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:lightbox-fade-in .3s ease}.image-viewer-container{position:relative;display:flex;align-items:center;justify-content:center}.image-viewer-photo{max-width:min(90vw,calc(100vw - 180px));max-height:min(90vh,calc(100vh - 140px));max-height:min(90dvh,calc(100dvh - 140px));min-width:min(600px,calc(100vw - 180px));min-height:min(400px,calc(100vh - 140px));min-height:min(400px,calc(100dvh - 140px));object-fit:contain;border-radius:8px;box-shadow:0 10px 30px #00000080}.image-viewer-close{position:absolute;top:-50px;right:-10px;background:#ffffffe6;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#333;transition:all .3s ease;z-index:2001}.image-viewer-close:hover{background:#fff;transform:scale(1.1)}.image-viewer-close:not(:focus-visible){opacity:0;pointer-events:none}.image-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;border-radius:50%;width:50px;height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:#333;transition:all .3s ease;z-index:2001}.image-nav-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.image-nav-prev{left:-70px}.image-nav-next{right:-70px}.image-counter{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);background:#ffffffe6;color:#333;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;white-space:nowrap}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:900px){.image-viewer-photo{min-width:300px;min-height:200px;max-width:95vw;max-height:85vh}.image-viewer-close{top:20px;right:20px;width:35px;height:35px;font-size:16px}.image-nav-arrow{width:40px;height:40px;font-size:16px}.image-nav-prev{left:10px}.image-nav-next{right:10px}.image-counter{bottom:20px;font-size:12px;padding:6px 12px}}.image-viewer-overlay:focus{outline:none}.reviews-container{display:flex;flex-direction:column}.single-review{margin:10px}.review-user-data{font-size:14px;margin-bottom:5px;display:flex;flex-wrap:wrap;row-gap:var(--space-1)}.review-user-data img{width:26px;height:26px;border-radius:20px;margin-top:4px;margin-right:12px}.single-review-container{display:flex;flex-direction:row;justify-content:space-between;margin-right:30px}.review-actions{margin-left:auto;align-self:flex-start}.write-a-review{font-size:16px;font-weight:500}.user-title{font-size:16px;font-weight:700}.review-time{font-size:14px;font-weight:400}.review-body{font-size:14px;font-weight:400;margin:15px 0;color:#2d2e2f;word-wrap:break-word;white-space:pre-wrap;width:90%}img.review-photo{width:64px;height:64px;border-radius:50%}.review-deleted-user{font-weight:var(--font-semibold);color:var(--color-gray-500)}.review-user-name{margin:0;padding:0;font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-gray-700)}.review-time-star{padding:0 10px}.review-right-section{display:flex;flex-direction:column;justify-content:space-between;height:64px}.single-review{flex:1;min-width:0}.reviews-empty{color:var(--color-gray-600);font-size:var(--text-sm);margin:var(--space-2) var(--space-3) var(--space-4)}.review-actions button,.review-actions a{white-space:nowrap}.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.reviews-heading-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.reviews-heading-actions .red-button{margin:0}.reviews-sort{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#555}.reviews-sort select{padding:6px 8px;font-size:.9rem;border:1px solid var(--color-border-input);border-radius:4px;background:#fff}.single-review-container.your-review{margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-base)}.your-review-label{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-dark)}@media(max-width:600px){.single-review-container{margin-right:0}.review-body{width:100%}}.reviews-error{margin:var(--space-3);padding:var(--space-4);text-align:center;color:var(--color-gray-700);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-base)}.reviews-error p{margin:0 0 var(--space-3)}.reviews-error button{padding:var(--space-2) var(--space-5);font-family:inherit;font-weight:var(--font-semibold);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-base);cursor:pointer}.reviews-error button:hover{background:var(--color-primary-dark)}@media(max-width:900px){.reviews-sort select{font-size:16px}}.opening-hours{width:100%;max-width:420px;border-collapse:collapse;font-size:var(--text-sm);color:var(--color-gray-700)}.opening-hours th{text-align:left;font-weight:var(--font-normal);padding:var(--space-1) 0;width:140px}.opening-hours td{padding:var(--space-1) 0}.opening-hours tr.today th,.opening-hours tr.today td{font-weight:var(--font-bold)}.opening-hours-closed{color:var(--color-gray-500)}.opening-hours-overnight{color:var(--color-gray-500);font-size:var(--text-xs)}.opening-hours-timezone{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-gray-500)}.display-photos-modal{position:relative;max-width:calc(100vw - 2 * var(--space-4));max-height:85vh;width:900px;background:#fff;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.display-h2{text-align:center;padding:25px 56px 15px;margin:0;font-size:24px;font-weight:700;color:#333;border-bottom:1px solid #e6e6e6;background:#fafafa}.photo-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;list-style:none;margin:0;padding:30px;overflow-y:auto;background-color:#fff;max-height:60vh}.photo-li{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;overflow:hidden}.photo-li:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.indi-photo{width:100%;height:200px;object-fit:cover;transition:transform .3s ease;cursor:pointer}.photo-li:hover .indi-photo{transform:scale(1.05)}.photo-frame{position:relative;display:block;overflow:hidden;flex-shrink:0}.photo-frame .photo-open{display:block;width:100%;margin:0;padding:0;border:none;border-radius:0;background:none;cursor:pointer}.photo-frame .photo-open:focus-visible{outline-offset:-3px}.cover-badge{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#000000b8;color:#ffd166;font-size:12px;font-weight:600;pointer-events:none}.cover-badge i{font-size:11px}.photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-top:auto;min-height:48px;padding:var(--space-2);box-sizing:border-box;border-top:1px solid var(--color-gray-200)}.photo-actions button{display:inline-flex;align-items:center;gap:5px;margin:0;padding:6px 8px;font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.4;color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.photo-actions button i{font-size:var(--text-xs)}.photo-actions button:hover:not(:disabled){background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.photo-actions .delete-photo{margin-left:auto}.photo-actions .delete-photo:hover:not(:disabled),.photo-actions .delete-photo[aria-expanded=true]{color:var(--color-primary-dark);border-color:var(--color-primary-dark);background-color:#fef2f2}.photo-actions button:disabled{opacity:.6;cursor:not-allowed}.photo-frame .photo-confirm{position:absolute;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;padding:var(--space-4);text-align:center;color:#fff;background-color:#000000c7}.photo-frame .photo-confirm .inline-confirm-buttons{justify-content:center}.photo-frame .photo-confirm button:focus-visible{outline-color:#fff}.photo-errors{list-style:none;margin:0;padding:12px 30px 0;color:#b91c1c;font-size:14px}.photo-errors li{padding:8px 12px;margin-bottom:8px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}@media(max-width:900px){.display-photos-modal{max-height:90vh}.photo-container{gap:15px;padding:20px}.indi-photo{height:160px}.display-h2{font-size:20px;padding:20px 20px 12px}}.photo-errors p{margin:0 0 var(--space-3)}.photo-errors button{padding:var(--space-2) var(--space-5);font-family:inherit;font-weight:var(--font-semibold);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-base);cursor:pointer}.inline-confirm{display:flex;flex-direction:column;gap:var(--space-2)}.inline-confirm .inline-confirm-question{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold)}.inline-confirm .inline-confirm-detail{margin:0;font-size:var(--text-xs)}.inline-confirm .inline-confirm-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inline-confirm .inline-confirm-buttons button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1.4;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.inline-confirm .inline-confirm-cancel{background-color:#fff;color:var(--color-gray-700);border:1px solid var(--color-gray-300)}.inline-confirm .inline-confirm-cancel:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.inline-confirm .inline-confirm-confirm{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.inline-confirm .inline-confirm-confirm:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.inline-confirm .inline-confirm-confirm i{font-size:var(--text-xs)}.inline-confirm .inline-confirm-buttons button[aria-disabled=true]{opacity:.7;cursor:progress}.page-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px;min-height:400px;color:var(--color-gray-600)}.page-message i{font-size:44px;color:var(--color-gray-400);margin-bottom:var(--space-4)}.page-message h1{margin:0;font-size:var(--text-2xl);color:var(--color-gray-800)}.page-message p{margin:var(--space-3) 0 0;max-width:32rem}.page-message-action{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-6) 0 0;padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:none}.page-message-action:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.page-message-secondary{display:inline-flex;align-items:center;min-height:32px;margin-top:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.page-message-secondary:hover{color:var(--color-primary-dark)}.star-picker{margin:0;padding:0;border:none;min-width:0}.star-picker .star-picker-legend{margin-bottom:var(--space-2);padding:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.star-picker .star-picker-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.star-picker .star-picker-stars{display:flex;gap:var(--space-1)}.star-picker .star-picker-star{position:relative;display:block;cursor:pointer}.star-picker .star-picker-star input{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0}.star-picker .star-picker-star svg{display:block;width:40px;height:40px;border-radius:6px;transition:transform .1s ease}.star-picker .star-picker-star:hover svg{transform:scale(1.06)}.star-picker .star-picker-star input:focus-visible+svg{outline:2px solid var(--color-primary);outline-offset:2px}.star-picker .star-picker-meaning{font-size:var(--text-sm);color:var(--color-gray-500)}.star-picker .star-picker-meaning.chosen{font-weight:var(--font-semibold);color:var(--color-gray-800)}.review-form-page{width:100%;max-width:640px;box-sizing:border-box;margin:var(--space-8) auto;padding:0 var(--space-4);color:var(--color-gray-800)}.review-form-page .review-form-restaurant{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.review-form-page .review-form-cover{flex-shrink:0;width:72px;height:72px;object-fit:cover;border-radius:var(--radius-base);background-color:var(--color-gray-100)}.review-form-page .review-form-heading{min-width:0}.review-form-page .review-form-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-gray-800);overflow-wrap:anywhere}.review-form-page .review-form-place{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--color-gray-600)}.review-form{display:flex;flex-direction:column;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000000f}.review-form .review-form-body{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6)}.review-form .review-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.review-form .review-form-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.review-form .review-form-field textarea{width:100%;min-height:152px;box-sizing:border-box;margin:0;padding:var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-base);background-color:#fff;font-family:inherit;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-gray-800);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.review-form .review-form-field textarea::placeholder{color:var(--color-gray-500)}.review-form .review-form-field textarea:hover{border-color:var(--color-gray-600)}.review-form .review-form-field textarea:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}.review-form .review-form-count{align-self:flex-end;font-size:var(--text-xs);color:var(--color-gray-500)}.review-form .review-form-count.near-limit{font-weight:var(--font-semibold);color:var(--color-error-text)}.review-form .review-form-errors{list-style:none;margin:0;padding:var(--space-4);background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-base)}.review-form .review-form-error{margin-bottom:var(--space-2);padding:var(--space-1) 0 var(--space-1) var(--space-3);border-left:3px solid var(--color-error);font-size:var(--text-sm);color:var(--color-error-text)}.review-form .review-form-error:last-child{margin-bottom:0}.review-form .review-form-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-gray-200)}.review-form .review-form-cancel,.review-form .review-form-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;margin:0;min-height:44px;padding:var(--space-2) var(--space-6);border-radius:var(--radius-base);font-size:var(--text-base);font-weight:var(--font-semibold);transition:background-color .15s ease,border-color .15s ease}.review-form .review-form-cancel{color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300)}.review-form .review-form-cancel:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.review-form .review-form-submit{color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary)}.review-form .review-form-submit:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.review-form .review-form-submit:disabled{cursor:progress;opacity:.7}@media(max-width:600px){.review-form-page{margin:var(--space-4) auto}.review-form-page .review-form-cover{width:56px;height:56px}.review-form-page .review-form-title{font-size:var(--text-xl)}.review-form .review-form-body{gap:var(--space-5);padding:var(--space-4)}.review-form .review-form-footer{padding:var(--space-3) var(--space-4)}.review-form .review-form-cancel,.review-form .review-form-submit{flex:1 1 0;padding:var(--space-2) var(--space-4)}}.review-photo-picker{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:1em}.review-photo-picker .review-photo-picker-heading{display:flex;justify-content:space-between;align-items:baseline}.review-photo-picker .review-photo-picker-title{margin:0;font-weight:700;color:#555}.review-photo-picker .review-photo-picker-count{margin:0;font-size:var(--text-xs);color:var(--color-gray-500)}.review-photo-picker .review-photo-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2)}.review-photo-picker .review-photo-picker-item{position:relative;aspect-ratio:1;border-radius:var(--radius-base);overflow:hidden;border:1px solid var(--color-gray-200);background-color:var(--color-gray-100)}.review-photo-picker .review-photo-picker-item.pending{border-style:dashed;border-color:var(--color-gray-400)}.review-photo-picker .review-photo-picker-item.confirming{border-color:var(--color-primary-dark);box-shadow:0 0 0 1px var(--color-primary-dark)}.review-photo-picker .review-photo-picker-item img{width:100%;height:100%;object-fit:cover;display:block}.review-photo-picker .review-photo-picker-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;margin:0;padding:0;border:none;border-radius:var(--radius-full);background-color:#000000a6;color:#fff;font-size:16px;font-weight:700;line-height:24px;text-align:center;cursor:pointer;align-self:auto}.review-photo-picker .review-photo-picker-remove:hover:not(:disabled){background-color:var(--color-primary)}.review-photo-picker .review-photo-picker-remove:disabled{cursor:not-allowed;opacity:.6}.review-photo-picker .review-photo-picker-confirm{padding:var(--space-3);border:1px solid #fecaca;border-radius:var(--radius-base);background-color:#fef2f2;color:var(--color-gray-700)}.review-photo-picker .review-photo-picker-choose{display:flex;flex-direction:row;align-items:center;gap:var(--space-3);margin:0;font-weight:400;cursor:pointer}.review-photo-picker .review-photo-picker-choose input[type=file]{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0}.review-photo-picker .review-photo-picker-choose:focus-within .review-photo-picker-button{outline:2px solid var(--color-primary);outline-offset:2px}.review-photo-picker .review-photo-picker-button{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;padding:var(--space-2) var(--space-4);border:1px solid var(--color-gray-300);border-radius:var(--radius-base);background-color:#fff;color:var(--color-gray-700);font-size:var(--text-sm);font-weight:var(--font-semibold)}.review-photo-picker .review-photo-picker-choose:hover .review-photo-picker-button{background-color:var(--color-gray-100)}.review-photo-picker .review-photo-picker-hint{margin:0;font-size:var(--text-xs);color:var(--color-gray-500)}.review-photo-picker .review-photo-picker-notice{margin:0;font-size:var(--text-xs);color:var(--color-error-text)}.update-profile-container{width:520px;max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-8);box-sizing:border-box;display:flex;flex-direction:column}.update-profile-title{margin:0 0 var(--space-6);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-gray-800);text-align:center}.update-profile-form{display:flex;flex-direction:column;gap:var(--space-5)}.update-profile-errors{margin:0;padding:var(--space-3) var(--space-4);list-style:none;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-base)}.update-profile-errors-item{color:#b91c1c;font-size:var(--text-sm);padding:var(--space-1) 0}.update-profile-photo{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4);background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-base)}.update-profile-avatar{width:96px;height:96px;border-radius:var(--radius-full);object-fit:cover;background-color:var(--color-gray-200);border:3px solid white;box-shadow:var(--shadow-sm);flex-shrink:0}.update-profile-photo-controls{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-width:0}.update-profile-mode{display:inline-flex;padding:2px;background-color:var(--color-gray-200);border-radius:999px;align-self:flex-start}.update-profile-mode button{margin:0;padding:var(--space-1) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-gray-600);background:transparent;border:none;border-radius:999px}.update-profile-mode button.active{color:var(--color-gray-800);background-color:#fff;box-shadow:var(--shadow-sm)}.update-profile-file{display:flex;align-items:center;gap:var(--space-3);position:relative;cursor:pointer}.update-profile-file input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.update-profile-file-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-800);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);white-space:nowrap}.update-profile-file:hover .update-profile-file-button{border-color:var(--color-gray-400);background-color:var(--color-gray-100)}.update-profile-file:focus-within .update-profile-file-button{outline:2px solid var(--color-primary);outline-offset:2px}.update-profile-file-name{font-size:var(--text-xs);color:var(--color-gray-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-profile-url{width:100%;height:38px;box-sizing:border-box;padding:0 var(--space-3);font-size:var(--text-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm)}.update-profile-remove{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;margin:0 0 0 calc(-1 * var(--space-2));padding:0 var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary-dark);background:transparent;border:none}.update-profile-remove:hover{text-decoration:underline;background:transparent}.update-profile-item{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.update-profile-item span{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.update-profile-form input[type=text]{height:40px;box-sizing:border-box;padding:0 var(--space-3);font-size:var(--text-base);color:var(--color-gray-800);border:1px solid var(--color-border-input);border-radius:var(--radius-sm)}.update-profile-form input[type=text]:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}.update-profile-row{display:flex;gap:var(--space-4)}.update-profile-buttons{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.update-profile-buttons button{margin:0;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:var(--space-2)}.update-profile-cancel{color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300)}.update-profile-save{color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary)}.update-profile-save:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.update-profile-buttons button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.update-profile-photo,.update-profile-row{flex-direction:column;align-items:stretch}}.profile-page{min-height:60vh;padding-bottom:var(--space-16)}.profile-header{background:linear-gradient(180deg,var(--color-gray-100) 0%,var(--color-gray-50) 100%);border-bottom:1px solid var(--color-gray-200)}.profile-header-inner{max-width:1000px;margin:0 auto;padding:var(--space-10) var(--space-6);display:flex;align-items:center;gap:var(--space-8)}.profile-avatar{width:132px;height:132px;border-radius:var(--radius-full);object-fit:cover;background-color:var(--color-gray-200);border:4px solid white;box-shadow:var(--shadow-base);flex-shrink:0}.profile-identity{flex:1;min-width:0;overflow-wrap:anywhere}.profile-name{margin:0;font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-gray-800);white-space:normal;line-height:var(--leading-tight)}.profile-username{margin-top:var(--space-1);font-size:var(--text-lg);color:var(--color-gray-600);font-weight:var(--font-medium)}.profile-email{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-600)}.profile-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-top:var(--space-4);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.profile-meta i{color:var(--color-primary);margin-right:var(--space-1)}.profile-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.profile-actions .profile-demo-note{align-self:center;margin:0;font-size:var(--text-sm);color:var(--color-gray-600)}.profile-actions button.profile-edit-button,.profile-actions .profile-settings-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);box-sizing:border-box;min-height:44px;margin:0;padding:var(--space-2) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-bold);line-height:1;color:var(--color-gray-800);background-color:#fff;border:1px solid var(--color-gray-300);border-radius:var(--radius-base);white-space:nowrap;text-decoration:none;transition:background-color .15s ease,border-color .15s ease}.profile-actions button.profile-edit-button:hover,.profile-actions .profile-settings-link:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-gray-800)}.profile-actions .profile-settings-link i,.profile-actions button.profile-edit-button i{color:var(--color-gray-600)}.profile-tabs{max-width:1000px;margin:0 auto;padding:0 var(--space-6);display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-gray-200)}.profile-tabs button{margin:0;padding:var(--space-4) var(--space-5);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-gray-600);background:transparent;border:none;border-bottom:3px solid transparent;border-radius:0;transition:color .2s ease,border-color .2s ease}.profile-tabs button:hover{color:var(--color-gray-800);background:transparent}.profile-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-tabs button:focus-visible{outline-offset:-3px}.profile-tab-count{display:inline-block;min-width:22px;margin-left:var(--space-1);padding:0 var(--space-2);font-size:var(--text-xs);line-height:22px;text-align:center;color:var(--color-gray-700);background-color:var(--color-gray-200);border-radius:999px}.profile-tabs button.active .profile-tab-count{color:#fff;background-color:var(--color-primary)}.profile-content{max-width:1000px;margin:0 auto;padding:var(--space-8) var(--space-6) 0}.profile-review-list{display:flex;flex-direction:column;gap:var(--space-5)}.profile-review{padding:var(--space-5);background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-review-restaurant{display:flex;align-items:center;gap:var(--space-4);text-decoration:none}.profile-review-thumb{width:72px;height:72px;object-fit:cover;border-radius:var(--radius-base);background-color:var(--color-gray-100);flex-shrink:0}.profile-review-restaurant-name{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-gray-800)}.profile-review-restaurant:hover .profile-review-restaurant-name{color:var(--color-primary)}.profile-review-restaurant-location{font-size:var(--text-sm);color:var(--color-gray-600);font-weight:var(--font-normal)}.profile-review-rating{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}.profile-review-date{font-size:var(--text-sm);color:var(--color-gray-500)}.profile-review-text{margin:var(--space-3) 0 0;font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-gray-700);word-wrap:break-word;white-space:pre-wrap}.profile-review .owner-response{margin-left:0;margin-bottom:0}.profile-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.profile-review-actions{flex-shrink:0}.profile-business-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5)}.profile-business-card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.profile-saved-card{position:relative}.profile-saved-card .profile-business-card{height:100%}.profile-saved-card .profile-saved-favorite{position:absolute;top:var(--space-3);right:var(--space-3)}.profile-saved-note,.profile-saved-status{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-gray-600)}.profile-business-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-base)}.profile-business-card img{width:100%;height:170px;object-fit:cover;background-color:var(--color-gray-100)}.profile-business-body{padding:var(--space-4)}.profile-business-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-gray-800)}.profile-business-rating{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-600);font-weight:var(--font-normal)}.profile-business-meta{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-gray-600);font-weight:var(--font-normal)}.profile-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-16) var(--space-6);color:var(--color-gray-600)}.profile-empty i{font-size:44px;color:var(--color-gray-400);margin-bottom:var(--space-4)}.profile-empty h2:focus{outline:none}.profile-empty h1,.profile-empty h2{margin:0;font-size:var(--text-2xl);color:var(--color-gray-800)}.profile-empty p{margin:var(--space-2) 0 0;max-width:420px}.profile-link-button,button.profile-link-button{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-6) 0 0;padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--radius-sm);text-decoration:none}.profile-link-button:hover,button.profile-link-button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-20) var(--space-6);color:var(--color-gray-600);font-weight:var(--font-medium)}.profile-spinner{width:44px;height:44px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:profile-spin .9s linear infinite}@keyframes profile-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.profile-header-inner{flex-direction:column;align-items:flex-start;gap:var(--space-5)}.profile-avatar{width:104px;height:104px}.profile-name{font-size:var(--text-3xl)}.profile-actions{width:100%}.profile-actions button.profile-edit-button,.profile-actions .profile-settings-link{flex:1}.profile-tabs{padding:0 var(--space-2);gap:0;overflow-x:auto;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tabs button{flex-shrink:0;padding:var(--space-3);font-size:var(--text-sm)}.profile-content{padding-left:var(--space-4);padding-right:var(--space-4)}.profile-review-header{flex-wrap:wrap}}.footer-container{display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;min-height:40px;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid rgb(211,211,211);background-color:#fff}.name{margin:0;font-size:16px}.github-button{display:flex;justify-content:center;align-items:center;bottom:0;width:25px}.git-hub-svg{align-items:end}.linkedin-in-svg{fill:#0a66c2}.search-restaurants-container{width:100%;max-width:1024px;display:block;margin-left:auto;margin-right:auto;min-height:400px}.search-loading,.search-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.search-loading i{font-size:2rem;color:var(--color-primary);margin-bottom:15px}.search-loading p{font-size:18px;color:#666}.search-error p{font-size:18px;color:var(--color-error-text);margin-bottom:15px}.search-error button{background-color:var(--color-primary);color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer}.search-error button:hover{background-color:var(--color-primary-dark)}@keyframes search-result-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.search-cap{font-size:24px;margin:30px 0 20px;text-align:center;font-weight:500}.search-restaurant-list{margin-top:20px}.search-restaurant-list>.restaurant-list-entry:last-child{margin-bottom:var(--space-10)}.search-restaurant-list-item{display:block;opacity:0;animation-name:search-result-rise;animation-duration:.6s;animation-timing-function:ease-out;animation-fill-mode:forwards;animation-delay:0s;text-decoration:none}.search-captions{margin:10px}.no-results-suggestions{text-align:center;padding:40px 20px;background-color:#f9f9f9;border-radius:8px;margin-top:30px}.no-results-suggestions h2{font-size:var(--text-lg);color:#333;margin-bottom:20px}.no-results-suggestions ul{list-style:none;padding:0;margin:20px 0}.no-results-suggestions li{margin:10px 0;color:#666}.view-all-link{display:inline-block;background-color:var(--color-primary);color:#fff;padding:12px 24px;border-radius:5px;font-weight:var(--font-bold);text-decoration:none;margin-top:20px;transition:background-color .3s ease}.view-all-link:hover{background-color:var(--color-primary-dark);text-decoration:none}@media(max-width:900px){.search-restaurants-container{box-sizing:border-box;width:95%;padding:0 10px}.search-restaurant-body{flex-direction:column;align-items:center}.restaurant-info{padding-left:0;padding-top:20px;text-align:center}.prevImage,.no-image-placeholder{width:100%;max-width:300px}}.homepage-container{width:100%;max-width:1200px;margin:0 auto;padding:20px;box-sizing:border-box}.homepage-hero{text-align:center;padding:72px 20px;background-image:linear-gradient(#00000080,#00000080),url(https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1200&q=80);background-size:cover;background-position:center;border-radius:16px;color:#fff;margin-bottom:48px;position:relative;overflow:hidden}.hero-content{max-width:800px;margin:0 auto;position:relative;z-index:2}.homepage-hero h1{font-size:4rem;margin:var(--space-2) var(--space-2) 20px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3);animation:fadeInDown 1s ease-out}.hero-subtitle{font-size:1.8rem;margin-bottom:20px;font-weight:500;text-shadow:1px 1px 2px rgba(0,0,0,.3);animation:fadeInUp 1s ease-out .3s;opacity:0;animation-fill-mode:forwards}.hero-description{font-size:1.2rem;margin-bottom:32px;line-height:1.6;text-shadow:1px 1px 2px rgba(0,0,0,.3);animation:fadeInUp 1s ease-out .6s;opacity:0;animation-fill-mode:forwards}.explore-button{display:inline-flex;align-items:center;gap:10px;margin-top:var(--space-5);padding:10px 20px;font-size:1rem;font-weight:600;color:#fff;background-color:#00000040;border:1px solid rgba(255,255,255,.8);border-radius:8px;transition:background-color .2s ease;animation:fadeInUp 1s ease-out .9s;opacity:0;animation-fill-mode:forwards}.explore-button:hover{background-color:#00000073}.explore-button i{transition:transform .3s ease}.explore-button:hover i{transform:translate(5px)}.home-search{display:flex;align-items:center;max-width:640px;margin:0 auto;padding:6px 6px 6px 18px;background-color:#fff;border-radius:999px;box-shadow:0 8px 24px #00000040}.home-search:focus-within{outline:3px solid white;outline-offset:3px}.home-search .home-search-icon{color:var(--color-gray-500);font-size:18px}.home-search .home-search-input{flex:1;min-width:0;margin:0 var(--space-3);padding:10px 0;border:none;background:transparent;font-size:18px;color:var(--color-gray-800)}.home-search .home-search-input:focus{outline:2px solid transparent}.home-search .home-search-input::placeholder{color:var(--color-gray-500)}.home-search .home-search-button{flex-shrink:0;min-height:44px;padding:0 var(--space-6);border:none;border-radius:999px;background-color:var(--color-primary);color:#fff;font-size:var(--text-base);font-weight:var(--font-semibold)}.home-search .home-search-button:hover{background-color:var(--color-primary-dark)}.home-section{margin-bottom:var(--space-12)}.home-section .home-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.home-section .home-section-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-gray-800)}.home-section .home-section-see-all{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary-dark)}.home-section .home-section-see-all:hover{text-decoration:underline}.home-section .home-section-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-base);color:var(--color-error-text);font-size:var(--text-sm)}.home-section .home-section-error p{margin:0}.home-section .home-section-error button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-error-text);border-radius:var(--radius-base);background-color:#fff;color:var(--color-error-text);font-weight:var(--font-semibold)}.home-section .home-section-error button:hover{background-color:#fee2e2}.home-empty p{margin:0;color:var(--color-gray-600)}.home-cuisines{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.home-cuisines .home-cuisine{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;box-sizing:border-box;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--color-gray-300);border-radius:999px;background-color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700);transition:border-color .15s ease,color .15s ease}.home-cuisines .home-cuisine:hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.home-cuisines .home-cuisine-count{min-width:24px;padding:2px var(--space-2);box-sizing:border-box;border-radius:999px;background-color:var(--color-gray-100);font-size:var(--text-xs);color:var(--color-gray-600);text-align:center}.home-cuisines .home-cuisine.home-skeleton{width:128px}.home-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}.home-tiles .home-tile{position:relative;display:flex;flex-direction:column;overflow:hidden;background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);transition:box-shadow .2s ease}.home-tiles .home-tile:hover{box-shadow:0 6px 18px #0000001a}.home-tiles .home-tile:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.home-tiles .home-tile-photo{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background-color:var(--color-gray-100)}.home-tiles .home-tile-body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.home-tiles .home-tile-name{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);overflow-wrap:anywhere}.home-tiles .home-tile-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.home-tiles .home-tile-link:focus-visible{outline:2px solid transparent}.home-tiles .home-tile-rating{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-gray-600)}.home-tiles .home-tile-meta,.home-tiles .home-tile-cuisines{margin:0;font-size:var(--text-xs);color:var(--color-gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin:0;padding:0;list-style:none}.home-reviews .home-review{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background-color:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-lg)}.home-reviews .home-review-author{display:flex;align-items:center;gap:var(--space-3)}.home-reviews .home-review-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;object-fit:cover;background-color:var(--color-gray-100)}.home-reviews .home-review-name{font-weight:var(--font-semibold);color:var(--color-gray-800)}.home-reviews a.home-review-name:hover,.home-reviews .home-review-place a:hover{text-decoration:underline}.home-reviews .home-review-date{font-size:var(--text-xs);color:var(--color-gray-500)}.home-reviews .home-review-rating{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.home-reviews .home-review-place{font-size:var(--text-sm);color:var(--color-gray-600)}.home-reviews .home-review-place a{font-weight:var(--font-semibold);color:var(--color-gray-800)}.home-reviews .home-review-text{display:-webkit-box;margin:0;overflow:hidden;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-gray-700);overflow-wrap:anywhere;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.home-skeleton .home-tile-photo,.home-skeleton .home-review-avatar,.home-skeleton .home-skeleton-line,.home-cuisine.home-skeleton{background-color:var(--color-gray-100);animation:homeShimmer 1.4s ease-in-out infinite}.home-skeleton .home-skeleton-line{width:70%;height:12px;border-radius:var(--radius-sm)}.home-skeleton .home-skeleton-line.wide{width:100%}.home-skeleton .home-skeleton-line.short{width:40%}.home-cuisine.home-skeleton{height:40px;border-radius:999px}@keyframes homeShimmer{0%,to{opacity:1}50%{opacity:.45}}.homepage-cta{background-color:#f8f8f8;border-radius:16px;padding:60px 40px;text-align:center;margin-top:40px}.cta-content{max-width:600px;margin:0 auto}.cta-content h2{font-size:2.5rem;margin-bottom:20px;color:#333}.cta-content p{font-size:1.2rem;color:#666;margin-bottom:30px}.cta-button{display:inline-block;padding:15px 40px;font-size:1.1rem;font-weight:600;color:#fff;background-color:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.cta-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #f00c134d}.cta-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.cta-button.secondary{color:var(--color-gray-700);background-color:#fff;border:1px solid var(--color-gray-300)}.cta-button.secondary:hover{background-color:var(--color-gray-100);box-shadow:none}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.homepage-hero{padding:60px 20px}.homepage-hero h1{font-size:2.8rem}.hero-subtitle{font-size:1.4rem}.hero-description{font-size:1rem}.cta-content h2{font-size:2rem}}@media(max-width:600px){.homepage-container{padding:var(--space-4)}.homepage-hero{padding:48px 16px;margin-bottom:32px}.homepage-hero h1{font-size:2.2rem}.hero-subtitle{font-size:1.2rem}.homepage-cta{padding:40px 20px}.home-search{padding-left:14px}.home-search .home-search-button{padding:0 var(--space-4)}.home-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.home-reviews{grid-template-columns:minmax(0,1fr)}}.account-settings{width:100%;max-width:640px;box-sizing:border-box;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16);color:var(--color-gray-800)}.account-settings h1{margin:0 0 var(--space-6);font-size:var(--text-3xl)}.account-settings p>a{font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:underline}.account-settings-section{margin-bottom:var(--space-8);padding:var(--space-6);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);background-color:#fff}.account-settings-section h2{margin:0 0 var(--space-4);font-size:var(--text-xl)}.account-settings-section form{display:flex;flex-direction:column;gap:var(--space-3)}.account-settings-section label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-gray-700)}.account-settings-section input{min-height:40px;box-sizing:border-box;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:inherit}.account-settings-section input:focus{outline:2px solid transparent;border-color:var(--color-primary);box-shadow:0 0 0 3px #f00c131f}.account-settings-section input:disabled{background-color:var(--color-gray-100)}.account-settings-hint{margin:calc(-1 * var(--space-2)) 0 0;font-size:var(--text-xs);color:var(--color-gray-500)}.account-settings-section button{align-self:flex-start;margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-weight:var(--font-semibold)}.account-settings-section button:disabled{cursor:not-allowed;opacity:.6}.account-settings-section button.account-settings-primary{color:#fff;background-color:var(--color-gray-800);border:1px solid var(--color-gray-800)}.account-settings-section button.account-settings-delete{color:#fff;background-color:var(--color-primary);border:1px solid var(--color-primary)}.account-settings-section button.account-settings-delete:hover:not(:disabled){background-color:var(--color-primary-dark)}.account-settings-danger{border-color:#fecaca}.account-settings-list{margin:0 0 var(--space-3);padding-left:var(--space-5);line-height:var(--leading-relaxed)}.account-settings-list a{font-weight:var(--font-semibold);color:var(--color-primary);text-decoration:underline}.account-settings-errors{margin:0;padding:var(--space-3) var(--space-4);list-style:none;color:#b91c1c;font-size:var(--text-sm);background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-base)}.account-settings-success{margin:0;padding:var(--space-3) var(--space-4);color:#166534;font-size:var(--text-sm);background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-base)}.account-settings-demo{margin:0 0 var(--space-6);padding:var(--space-4);font-size:var(--text-sm);background-color:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-base)}.account-settings-home{display:inline-block;margin-top:var(--space-4);color:var(--color-primary)}@media(max-width:600px){.account-settings{padding:var(--space-6) var(--space-4) var(--space-12)}.account-settings-section{padding:var(--space-4)}.account-settings-section button{align-self:stretch}}
