.review-form-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px}.review-form-modal.visible{display:flex}.review-form-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;opacity:0;transition:opacity .3s ease}.review-form-modal.visible .review-form-overlay{opacity:1}.review-form-container{position:relative;background:#fff;border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;transform:scale(.9) translateY(20px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.review-form-modal.visible .review-form-container{transform:scale(1) translateY(0);opacity:1}.review-form__close{position:absolute;top:20px;right:20px;width:40px;height:40px;border:none;background:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.review-form__close:hover{background:#e5e5e5;transform:rotate(90deg)}.review-form__header{padding:40px 40px 30px;text-align:center;border-bottom:1px solid #F0F0F0}.review-form__title{font-family:var(--title-font);font-size:32px;color:#263445;margin:0 0 10px;text-transform:uppercase}.review-form__subtitle{font-family:Lexend,sans-serif;font-size:16px;color:#5a6676;margin:0;line-height:1.5}.review-form__subtitle strong{color:#e14826}.review-form__form{padding:30px 40px 40px}.review-form__field{margin-bottom:25px}.review-form__label{display:flex;align-items:center;gap:5px;margin-bottom:10px}.review-form__label-text{font-family:Lexend,sans-serif;font-size:14px;font-weight:600;color:#263445}.review-form__required{color:#e14826;font-size:16px}.review-form__optional{font-size:12px;color:#999;font-weight:400}.star-selector{position:relative}.star-selector__stars{display:flex;gap:8px;margin-bottom:5px}.star-selector__star{width:48px;height:48px;padding:0;border:none;background:none;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.star-selector__star:hover{transform:scale(1.2)}.star-selector__star svg{width:100%;height:100%;transition:all .2s ease}.star-selector__star path{stroke:#ddd;fill:none;transition:all .2s ease}.star-selector__star.active path,.star-selector__star.hover path{stroke:#fcaa1a;fill:#fcaa1a}.star-selector__prompt{font-family:Lexend,sans-serif;font-size:14px;color:#999;text-align:center;margin-top:5px;transition:all .2s ease}.star-selector[data-rating="1"] .star-selector__prompt{content:"Poor";color:#cc3530}.star-selector[data-rating="2"] .star-selector__prompt{content:"Fair";color:#e14826}.star-selector[data-rating="3"] .star-selector__prompt{content:"Good";color:#fcaa1a}.star-selector[data-rating="4"] .star-selector__prompt{content:"Great";color:#585c3f}.star-selector[data-rating="5"] .star-selector__prompt{content:"Amazing!";color:#585c3f;font-weight:600}.review-form__input,.review-form__textarea{width:100%;padding:12px 16px;border:2px solid #E5E5E5;border-radius:12px;font-family:Lexend,sans-serif;font-size:14px;color:#263445;transition:all .2s ease;resize:vertical}.review-form__input:focus,.review-form__textarea:focus{outline:none;border-color:#fcaa1a;box-shadow:0 0 0 3px #fcaa1a1a}.review-form__textarea{min-height:120px}.review-form__char-count{text-align:right;font-size:12px;color:#999;margin-top:5px}.review-form__error{color:#cc3530;font-size:12px;margin-top:5px;display:flex;align-items:center;gap:5px}.photo-upload-area{border:2px dashed #E5E5E5;border-radius:12px;padding:20px;transition:all .2s ease}.photo-upload-area.dragover{border-color:#fcaa1a;background:#fcaa1a0d}.photo-upload__dropzone{text-align:center;padding:20px}.photo-upload__button{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;background:#f5f5f5;border:none;border-radius:30px;font-family:Lexend,sans-serif;font-size:14px;font-weight:500;color:#263445;cursor:pointer;transition:all .2s ease}.photo-upload__button:hover{background:#fcaa1a;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #fcaa1a4d}.photo-upload__hint{margin:10px 0 0;font-size:12px;color:#999}.photo-upload__previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.photo-preview{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden;animation:photoAppear .3s cubic-bezier(.34,1.56,.64,1)}@keyframes photoAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.photo-preview img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.photo-preview__remove{position:absolute;top:5px;right:5px;width:24px;height:24px;background:#000000b3;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease}.photo-preview:hover .photo-preview__remove{opacity:1}.photo-upload__info{margin:10px 0 0;font-size:12px;color:#5a6676;text-align:center}.review-form__verified{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f0fff4;border:1px solid #585C3F;border-radius:30px;font-size:14px;font-weight:500;color:#585c3f;margin-bottom:25px;width:fit-content}.review-form__edit-notice{display:flex!important;align-items:center;gap:12px;padding:16px 20px;background:#fff8f1;border:1px solid #FFE4CC;border-radius:12px;margin-top:25px;margin-left:25px;margin-right:25px;animation:slideIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.review-form__edit-notice svg{flex-shrink:0}.review-form__edit-notice p{margin:0;font-size:14px;color:#c60;line-height:1.5;font-weight:500}.review-form__edit-notice:hover{box-shadow:0 2px 8px #ff98001a;transition:box-shadow .2s ease}.review-form__actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:30px;border-top:1px solid #F0F0F0}.review-form__cancel{padding:12px 30px;background:#f5f5f5;border:none;border-radius:30px;font-family:Lexend,sans-serif;font-size:14px;font-weight:500;color:#5a6676;cursor:pointer;transition:all .2s ease}.review-form__cancel:hover{background:#e5e5e5}.review-form__submit{padding:12px 40px;background:linear-gradient(135deg,#e14826,#fcaa1a);border:none;border-radius:30px;font-family:Lexend,sans-serif;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.review-form__submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 20px #e1482666}.review-form__submit:disabled{opacity:.7;cursor:not-allowed}.review-form__submit .spinner{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.spinner .path{stroke-dasharray:60;stroke-dashoffset:0;transform-origin:center;animation:dash 1.5s ease-in-out infinite}@keyframes dash{0%{stroke-dashoffset:60}50%{stroke-dashoffset:15;transform:rotate(90deg)}to{stroke-dashoffset:60;transform:rotate(360deg)}}.review-form__success{padding:60px 40px;text-align:center;display:none}.success-animation{margin-bottom:30px}.success-circle{stroke-dasharray:240;stroke-dashoffset:240;animation:drawCircle .8s ease-out forwards}.success-check{stroke-dasharray:50;stroke-dashoffset:50;animation:drawCheck .5s ease-out .8s forwards}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-title{font-family:Cherry Bomb One,cursive;font-size:28px;color:#263445;margin:0 0 10px}.success-message{font-family:Lexend,sans-serif;font-size:16px;color:#5a6676;margin:0 0 20px}.success-points{margin:20px 0}.points-animation{display:inline-block;font-family:Cherry Bomb One,cursive;font-size:36px;color:#fcaa1a;animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1)}.points-note{margin-top:8px;font-size:14px;color:#5a6676;font-style:italic;opacity:.8}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-close{padding:12px 40px;background:#585c3f;border:none;border-radius:30px;font-family:Lexend,sans-serif;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.success-close:hover{background:#4a4e35;transform:translateY(-2px);box-shadow:0 4px 20px #585c3f4d}.review-login-prompt{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px}.review-login-prompt.visible{display:flex}.review-login-prompt__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;opacity:0;transition:opacity .3s ease}.review-login-prompt.visible .review-login-prompt__overlay{opacity:1}.review-login-prompt__container{position:relative;background:#fff;border-radius:20px;max-width:480px;width:100%;padding:40px;box-shadow:0 10px 40px #0003;transform:scale(.9) translateY(20px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.review-login-prompt.visible .review-login-prompt__container{transform:scale(1) translateY(0);opacity:1}.review-login-prompt__close{position:absolute;top:20px;right:20px;width:32px;height:32px;border:none;background:none;cursor:pointer;color:#999;transition:color .2s ease}.review-login-prompt__close:hover{color:#263445}.review-login-prompt__content{text-align:center}.review-login-prompt__icon{margin-bottom:20px;color:#fcaa1a}.review-login-prompt__title{font-family:Cherry Bomb One,cursive;font-size:28px;color:#263445;margin:0 0 10px}.review-login-prompt__message{font-family:Lexend,sans-serif;font-size:16px;color:#5a6676;margin:0 0 30px;line-height:1.5}.review-login-prompt__benefits{display:flex;flex-direction:column;gap:15px;margin-bottom:30px;text-align:left}.benefit-item{display:flex;align-items:center;gap:12px;font-family:Lexend,sans-serif;font-size:14px;color:#263445}.review-login-prompt__actions{display:flex;flex-direction:column;gap:15px}.review-login-prompt__signin{display:block;padding:14px 30px;background:linear-gradient(135deg,#e14826,#fcaa1a);border:none;border-radius:30px;font-family:Lexend,sans-serif;font-size:16px;font-weight:600;color:#fff;text-decoration:none;cursor:pointer;transition:all .2s ease}.review-login-prompt__signin:hover{transform:translateY(-2px);box-shadow:0 4px 20px #e1482666}.review-login-prompt__later{padding:12px 30px;background:none;border:none;font-family:Lexend,sans-serif;font-size:14px;color:#999;cursor:pointer;transition:color .2s ease}.review-login-prompt__later:hover{color:#5a6676}@media (max-width: 768px){.review-form__header{padding:30px 20px 20px}.review-form__form{padding:20px}.review-form__title{font-size:24px}.star-selector__star{width:40px;height:40px}.star-selector__stars{gap:5px}.review-form__actions{flex-direction:column-reverse}.review-form__cancel,.review-form__submit{width:100%}.review-form__edit-notice{flex-direction:row;align-items:flex-start;gap:10px;padding:14px 16px;margin-left:20px;margin-right:20px}.review-form__edit-notice p{font-size:13px}.review-login-prompt__container{padding:30px 20px}}.photo-preview--existing{position:relative;border:2px solid #22c55e}.photo-preview__existing-badge{position:absolute;bottom:4px;right:4px;background:#22c55e;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;z-index:10}.success-images{margin:24px 0;padding-top:24px;border-top:1px solid #eee}.success-images__title{font-size:16px;font-weight:600;color:#263445;margin:0 0 16px;text-align:center}.success-images__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px;margin-bottom:12px}.success-images__item{aspect-ratio:1;overflow:hidden;border-radius:8px;background-color:#f5f5f5}.success-images__item img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.success-images__item:hover img{transform:scale(1.05)}.success-images__note{font-size:14px;color:#666;text-align:center;margin:0}.success-images__manage-btn{display:flex;align-items:center;gap:8px;margin:16px auto 0;padding:10px 20px;background:#f5f5f5;border:none;border-radius:30px;font-family:Lexend,sans-serif;font-size:14px;font-weight:500;color:#263445;cursor:pointer;transition:all .2s ease}.success-images__manage-btn:hover{background:#e5e5e5;transform:translateY(-1px)}.photo-preview__drag-handle{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:grab;opacity:0;transition:opacity .2s ease,transform .1s ease;z-index:20;color:#666;box-shadow:0 2px 4px #0000001a}.photo-preview:hover .photo-preview__drag-handle{opacity:1;transform:scale(1.1)}.photo-preview__drag-handle:hover{background:#fff;transform:scale(1.15)}.photo-preview__drag-handle:active{cursor:grabbing;transform:scale(1.05)}.photo-preview__drag-handle{pointer-events:auto!important}.photo-preview__drag-handle *{pointer-events:none}.photo-preview__order{position:absolute;bottom:4px;left:4px;width:18px;height:18px;background:#253445e6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;z-index:10}.photo-preview.dragging{opacity:.7;transform:scale(1.05) rotate(3deg);z-index:100;box-shadow:0 8px 20px #0006;transition:none;pointer-events:none;position:relative}.photo-preview:not(.dragging){transition:transform .15s ease,box-shadow .15s ease}#photoPreviews[data-drag-setup=true]{border-color:#e14826;background-color:#e148260d}#photoPreviews[data-drag-setup=true] .photo-preview:not(.dragging){transition:transform .1s ease}#photoPreviews{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px;min-height:90px;padding:10px;border:2px dashed transparent;border-radius:8px;transition:border-color .2s ease}#photoPreviews:has(.dragging){border-color:#e14826;background-color:#e148260d}.photo-preview:not(.dragging):hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}
