.review-card-container{width:100%;max-width:600px;margin:0 auto 1.5rem;padding:0 1rem}.reviews-grid .review-card-container{flex-shrink:0;width:100%;max-width:none;height:auto;margin:0;padding:0}.reviews-grid .review-card{flex-direction:column;height:auto;display:flex}.reviews-grid .review-content{flex-direction:column;flex:1;display:flex}.reviews-grid .review-text{overflow-wrap:break-word;word-break:break-word;flex:1}.review-card{-webkit-backdrop-filter:blur(20px);z-index:1;background:#fffffff2;border:1px solid #fff3;border-radius:16px;padding:1.25rem;position:relative;box-shadow:0 6px 24px #00000014,inset 0 0 0 1px #ffffff1a}.review-card:hover{z-index:50}.review-card-container.dark-mode .review-card{background:#2d2d2df2;border:1px solid #ffffff1a;box-shadow:0 6px 24px #0000004d,inset 0 0 0 1px #ffffff0d}.review-card-container.dark-mode .restaurant-info{border-bottom:1px solid #ffffff26}.review-card-container.dark-mode .restaurant-name{color:#ff9a76}.review-card-container.dark-mode .review-date{color:#9ca3af}.review-card:before{content:"";opacity:0;background:linear-gradient(90deg,#eb5e28,#ff9a76,#eb5e28);border-radius:16px 16px 0 0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.review-card:hover:before{opacity:1}.review-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px #00000026,inset 0 0 0 1px #eb5e281a}.review-card-container.dark-mode .review-card:hover{box-shadow:0 20px 40px #0006,inset 0 0 0 1px #eb5e2833}.restaurant-info{border-bottom:1px solid #e5e5e5;margin-bottom:1rem;padding-bottom:.75rem}.restaurant-name{color:#eb5e28;margin:0;font-size:1rem;font-weight:700;line-height:1.3;transition:all .2s}.restaurant-name-link{margin-bottom:.25rem;text-decoration:none;display:inline-block}.restaurant-name-link:hover .restaurant-name{color:#d14a20;text-decoration:underline;transform:translate(2px)}.review-card-container.dark-mode .restaurant-name-link:hover .restaurant-name{color:#ff8340}.restaurant-meta{align-items:center;gap:.5rem;display:flex}.review-date{color:#6b7280;font-size:.8rem;font-weight:500}.review-header{align-items:center;gap:.875rem;margin-bottom:1rem;display:flex}.user-avatar{flex-shrink:0}.avatar-circle{color:#fff;background:linear-gradient(135deg,#eb5e28,#ff9a76);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.95rem;font-weight:700;transition:transform .3s;display:flex;overflow:hidden;box-shadow:0 3px 8px #eb5e2840}.avatar-circle img{object-fit:cover;border-radius:50%;width:100%;height:100%}.review-card:hover .avatar-circle{transform:scale(1.05)}.user-info{flex:1;min-width:0}.username{color:#252422;align-items:center;gap:.25rem;margin:0 0 .375rem;font-size:1.05rem;font-weight:600;line-height:1.2;transition:color .2s;display:flex}.username-text{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}a:hover .username{color:#eb5e28}.rating-container{align-items:center;gap:.5rem;display:flex}.rating-value{color:#eb5e28;min-width:2rem;font-size:.85rem;font-weight:600}.review-card-container.dark-mode .username{color:#fff}.review-card-container.dark-mode a:hover .username,.review-card-container.dark-mode .rating-value{color:#ff9a76}.rating-time{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.timestamp{color:#6b7280;font-size:.85rem;font-weight:500;transition:color .3s}.review-card-container.dark-mode .timestamp{color:#9ca3af}.review-content{margin-bottom:.875rem}.review-text{color:#374151;word-wrap:break-word;margin:0;font-size:.9rem;line-height:1.5;transition:all .3s}.review-card:hover .review-text{color:#1f2937}.review-card-container.dark-mode .review-text{color:#d1d5db}.review-card-container.dark-mode .review-card:hover .review-text{color:#f3f4f6}.review-actions{border-top:1px solid #0000000d;justify-content:flex-end;gap:.5rem;margin-top:auto;padding-top:.875rem;transition:border-color .3s;display:flex}.review-card-container.dark-mode .review-actions{border-top:1px solid #ffffff1a}.action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.action-btn.icon-only{justify-content:center;width:38px;min-width:auto;height:38px;padding:.625rem}.action-btn.icon-only svg{font-size:1.125rem}.action-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.action-btn:hover:before{left:100%}.edit-btn{color:#eb5e28;background:#eb5e281a;border:1px solid #eb5e2833}.edit-btn:hover{color:#fff;background:#eb5e28;transform:translateY(-1px);box-shadow:0 4px 12px #eb5e284d}.review-card-container.dark-mode .edit-btn{color:#ff9a76;background:#eb5e2826;border:1px solid #eb5e284d}.review-card-container.dark-mode .edit-btn:hover{color:#fff;background:#eb5e28}.delete-btn{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.delete-btn:hover{color:#fff;background:#ef4444;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.review-card-container.dark-mode .delete-btn{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.review-card-container.dark-mode .delete-btn:hover{color:#fff;background:#ef4444}@media (min-width:640px){.review-card-container{padding:0 1rem}.review-card{padding:1.375rem}.restaurant-name{font-size:1.05rem}.avatar-circle{width:42px;height:42px;font-size:1rem}.username{font-size:1rem}.review-text{font-size:.95rem;line-height:1.55}.action-btn{padding:.45rem .875rem;font-size:.85rem}}@media (min-width:1024px){.review-card-container{max-width:450px}.review-card{padding:1.5rem}.restaurant-name{font-size:1.1rem}.review-header{gap:1rem}.avatar-circle{width:44px;height:44px;font-size:1.05rem}.username{font-size:1.05rem}.review-text{font-size:1rem;line-height:1.6}.action-btn{padding:.5rem 1rem;font-size:.9rem}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.review-card{animation:.6s cubic-bezier(.4,0,.2,1) slideInUp}.action-btn:focus{outline-offset:2px;outline:2px solid #eb5e28}.review-card.loading{opacity:.7;pointer-events:none}
.confirmation-dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirmation-dialog{background:#fff;border:1px solid #eb5e281a;border-radius:16px;width:90%;max-width:400px;max-height:90vh;animation:.3s cubic-bezier(.4,0,.2,1) slideIn;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.dialog-header{border-bottom:1px solid #f0f0f0;padding:2rem 2rem 1rem}.dialog-title{color:#252422;text-align:center;margin:0;font-size:1.5rem;font-weight:700}.dialog-body{padding:1.5rem 2rem}.dialog-message{color:#666;text-align:center;margin:0;font-size:1rem;line-height:1.6}.dialog-footer{justify-content:center;gap:1rem;padding:1rem 2rem 2rem;display:flex}.dialog-btn{cursor:pointer;border:none;border-radius:8px;min-width:100px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.dialog-btn-cancel{color:#6b7280;background:#f3f4f6;border:1px solid #d1d5db}.dialog-btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.confirm-btn-danger{color:#fff;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%)}.confirm-btn-danger:hover{background:linear-gradient(135deg,#b91c1c 0%,#991b1b 100%);transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.confirm-btn-danger:active{transform:translateY(0)}.dark .confirmation-dialog-overlay{background:#000c}.dark .confirmation-dialog{background:#2d2d2d;border:1px solid #ffffff1a;box-shadow:0 20px 60px #0009}.dark .dialog-header{border-bottom:1px solid #404040}.dark .dialog-title{color:#fff}.dark .dialog-message{color:#ccc}.dark .dialog-btn-cancel{color:#e4e4e7;background:#3f3f46;border:1px solid #52525b}.dark .dialog-btn-cancel:hover{background:#52525b;box-shadow:0 4px 12px #0000004d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.9)translateY(-20px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (max-width:480px){.confirmation-dialog{width:calc(100% - 2rem);margin:1rem}.dialog-header{padding:1.5rem 1.5rem 1rem}.dialog-body{padding:1rem 1.5rem}.dialog-footer{flex-direction:column;padding:1rem 1.5rem 1.5rem}.dialog-btn{width:100%}}
.upvote-btn{position:relative;overflow:hidden}.upvote-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.upvote-btn:hover:before{left:100%}.upvote-btn:hover{transition:box-shadow .25s,transform .25s;box-shadow:0 0 6px #eb5e2840,0 0 12px #eb5e2826}.upvote-btn.has-upvoted:hover{box-shadow:0 0 8px #eb5e2859,0 0 16px #eb5e2833}@keyframes upvote-bounce{0%{transform:scale(1)rotate(0)translateY(0)}10%{transform:scale(.9)rotate(-8deg)translateY(1px)}30%{transform:scale(1.3)rotate(-6deg)translateY(-8px)}50%{transform:scale(1.15)rotate(-4deg)translateY(-3px)}70%{transform:scale(1.05)rotate(-2deg)translateY(0)}to{transform:scale(1)rotate(0)translateY(0)}}.animate-upvote-bounce{text-shadow:0 0 10px #eb5e28,0 0 20px #eb5e28aa;animation:.6s ease-in-out upvote-bounce;color:#fff!important}
