.share-button-container{border-radius:50%;padding:8px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px rgba(0,0,0,.1)}.share-button-container:hover{box-shadow:0 2px 4px rgba(0,0,0,.15);transform:scale(1.05)}.share-button-container:active{transform:scale(.95)}.review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px}.review-modal-container{background-color:white;border-radius:16px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e5}.review-modal-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0}.review-modal-close{background:none;border:none;font-size:32px;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.review-modal-close:hover{background-color:#f5f5f5}.review-modal-content{flex:1 1;overflow-y:auto;padding:24px}.review-item-info{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:12px;background-color:#f9fafb;border-radius:12px}.review-item-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background-color:#ffffff;border:1px solid #e5e7eb;color:#374151;flex-shrink:0}.review-item-details{flex:1 1}.review-item-name{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.review-restaurant-name{font-size:14px;color:#666}.review-rating-section{margin-bottom:24px}.review-label{display:block;font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.review-stars{display:flex;gap:8px;margin-bottom:8px}.star-button{background:none;border:none;font-size:40px;cursor:pointer;padding:0;color:#d1d5db;transition:all .2s;line-height:1}.star-button:hover{transform:scale(1.1)}.star-button.filled{color:#fbbf24}.review-rating-text{font-size:14px;color:#666;margin-top:4px}.review-criteria-section{margin-bottom:24px}.review-criteria-optional{font-weight:400;color:#999;font-size:13px}.review-criteria-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}.review-criteria-label{font-size:14px;color:#444}.review-criteria-stars{display:flex;gap:4px}.criteria-star-button{background:none;border:none;font-size:24px;cursor:pointer;padding:0;color:#d1d5db;transition:all .2s;line-height:1}.criteria-star-button:hover{transform:scale(1.1)}.criteria-star-button.filled{color:#fbbf24}.review-text-section{margin-bottom:24px}.review-textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s}.review-textarea:focus{outline:none;border-color:#007AFF;box-shadow:0 0 0 3px rgba(0,122,255,.1)}.review-char-count{font-size:12px;color:#999;text-align:right;margin-top:4px}.review-media-section{margin-bottom:24px}.review-media-buttons{display:flex;gap:12px;margin-bottom:12px}.media-add-button{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:1px dashed #d1d5db;border-radius:8px;background-color:#f9fafb;color:#666;font-size:14px;cursor:pointer;transition:all .2s}.media-add-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.media-add-button:disabled{opacity:.5;cursor:not-allowed}.review-media-previews{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.media-preview-item{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;background-color:#f3f4f6}.media-preview-image,.media-preview-video{width:100%;height:100%;object-fit:cover}.media-remove-button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background-color:rgba(0,0,0,.6);color:white;border:none;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.media-remove-button:hover{background-color:rgba(0,0,0,.8)}.media-video-badge{position:absolute;bottom:4px;left:4px;display:inline-flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.6);color:white;padding:3px;border-radius:4px}.review-media-error{margin-top:8px;padding:8px 12px;background-color:#fee2e2;color:#991b1b;border-radius:6px;font-size:14px}.review-modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e5e5e5}.review-button{flex:1 1;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.review-button-cancel{background-color:#f5f5f5;color:#666}.review-button-cancel:hover:not(:disabled){background-color:#e5e5e5}.review-button-submit{background-color:#007AFF;color:white}.review-button-submit:hover:not(:disabled){background-color:#0051D5}.review-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:640px){.review-modal-overlay{padding:0}.review-modal-container{border-radius:16px 16px 0 0;max-height:95vh;align-self:flex-end}.review-modal-header{padding:16px 20px}.review-modal-title{font-size:18px}.review-modal-content{padding:20px}.review-modal-footer{padding:16px 20px}.star-button{font-size:36px}}.review-vote{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-3,12px);margin-top:var(--spacing-3,12px)}.review-vote-label{font-size:var(--text-sm,14px);color:var(--color-neutral-500)}.review-vote-buttons{display:inline-flex;gap:var(--spacing-2,8px)}.review-vote-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--color-neutral-200);border-radius:var(--radius-full,9999px);background:transparent;color:var(--color-neutral-700);font-size:var(--text-sm,14px);line-height:1;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.review-vote-btn:hover:not(:disabled){border-color:var(--color-neutral-400);background:var(--color-neutral-50)}.review-vote-btn:disabled{opacity:.6;cursor:default}.review-vote-btn.is-active{border-color:var(--color-primary-500);background:var(--color-primary-500);color:#fff}.review-vote-btn.is-active.is-negative{border-color:var(--color-neutral-600);background:var(--color-neutral-600);color:#fff}.review-vote-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--font-weight-600,600)}.review-vote-hint{font-size:var(--text-sm,14px);color:var(--color-error-500)}@media (prefers-color-scheme:dark){.review-vote-btn{border-color:var(--color-neutral-700);color:var(--color-neutral-200)}.review-vote-btn:hover:not(:disabled){background:var(--color-neutral-800)}}