.review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);z-index:9999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.review-modal-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;overflow-y:auto}.review-modal-content{background:linear-gradient(180deg,#1a1a1c,#000);border:2px solid rgba(212,175,55,.3);border-radius:20px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.8),0 0 0 1px rgba(212,175,55,.1);animation:slideUp .4s cubic-bezier(.4,0,.2,1);position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.review-modal-content::-webkit-scrollbar{width:6px}.review-modal-content::-webkit-scrollbar-track{background:hsla(0,0%,100%,.05);border-radius:3px}.review-modal-content::-webkit-scrollbar-thumb{background:rgba(212,175,55,.3);border-radius:3px}.review-modal-content::-webkit-scrollbar-thumb:hover{background:rgba(212,175,55,.5)}.review-modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 1.5rem;border-bottom:1px solid rgba(212,175,55,.2);position:sticky;top:0;background:linear-gradient(180deg,#1a1a1c,rgba(26,26,28,.95));z-index:10;backdrop-filter:blur(10px)}.review-modal-title{font-family:var(--font-cinzel);font-size:1.75rem;font-weight:700;color:#fff;margin:0;letter-spacing:.05em;background:linear-gradient(135deg,#fff,#d4af37);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width:768px){.review-modal-title{font-size:1.5rem}}.review-modal-close{background:hsla(0,0%,100%,.05);border:1px solid rgba(212,175,55,.2);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:hsla(0,0%,100%,.7);transition:all .3s ease;flex-shrink:0}.review-modal-close:hover:not(:disabled){background:rgba(212,175,55,.15);border-color:#d4af37;color:#d4af37;transform:rotate(90deg)}.review-modal-close:disabled{opacity:.5;cursor:not-allowed}.review-form{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}@media (max-width:768px){.review-form{padding:1.5rem;gap:1.25rem}}.review-form-group{display:flex;flex-direction:column;gap:.5rem}.review-form-label{font-family:var(--font-montserrat);font-size:.875rem;font-weight:600;color:hsla(0,0%,100%,.9);letter-spacing:.02em}.review-form-label .required{color:#d4af37;margin-left:2px}.review-form-label .optional{color:hsla(0,0%,100%,.5);font-weight:400;font-size:.8rem}.review-form-input,.review-form-textarea{width:100%;padding:.875rem 1rem;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:10px;color:#fff;font-family:var(--font-montserrat);font-size:.9375rem;transition:all .3s ease;outline:none}.review-form-input:focus,.review-form-textarea:focus{background:hsla(0,0%,100%,.08);border-color:rgba(212,175,55,.5);box-shadow:0 0 0 3px rgba(212,175,55,.1)}.review-form-input.error,.review-form-textarea.error{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.05)}.review-form-input:disabled,.review-form-textarea:disabled{opacity:.6;cursor:not-allowed}.review-form-textarea{resize:vertical;min-height:140px;font-family:var(--font-montserrat);line-height:1.6}.review-char-count{font-size:.75rem;color:hsla(0,0%,100%,.5);text-align:right}.review-char-count,.review-form-error{font-family:var(--font-montserrat);margin-top:-.25rem}.review-form-error{font-size:.8125rem;color:#ef4444;display:block}.review-stars-container{display:flex;gap:.5rem;align-items:center;padding:.5rem 0}.review-star-btn{background:none;border:none;cursor:pointer;padding:.25rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.review-star-btn:hover:not(:disabled){transform:scale(1.15)}.review-star-btn:disabled{cursor:not-allowed;opacity:.6}.review-star-btn svg{filter:drop-shadow(0 2px 4px rgba(212,175,55,.3));transition:all .2s ease}.review-star-btn:hover:not(:disabled) svg{filter:drop-shadow(0 3px 6px rgba(212,175,55,.5))}.review-form-submit{padding:1rem 2rem;background:linear-gradient(135deg,#d4af37,#f4e4c1 50%,#d4af37);background-size:200% 200%;border:2px solid rgba(212,175,55,.5);border-radius:50px;color:#1a1a1c;font-family:var(--font-cinzel);font-size:.9375rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 8px 30px rgba(212,175,55,.4);margin-top:.5rem}.review-form-submit:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 12px 40px rgba(212,175,55,.6);background-position:100% 50%;border-color:#d4af37}.review-form-submit:active:not(:disabled){transform:translateY(-1px) scale(1)}.review-form-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.review-form-submit .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.review-form-message{padding:1rem;border-radius:10px;font-family:var(--font-montserrat);font-size:.9375rem;font-weight:500;text-align:center;margin-top:.5rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.review-form-message.success{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:#4ade80}.review-form-message.error{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#f87171}@media (max-width:768px){.review-modal-header{padding:1.5rem 1.5rem 1rem}.review-modal-close{width:36px;height:36px}.review-modal-close svg{width:20px;height:20px}.review-form-submit{padding:.875rem 1.75rem;font-size:.875rem}}@media (max-width:480px){.review-modal-content{max-height:95vh;border-radius:16px}.review-modal-header{padding:1.25rem 1.25rem .875rem}.review-form{padding:1.25rem;gap:1rem}.review-stars-container{gap:.375rem}.review-star-btn svg{width:28px;height:28px}}