.ecp-comment-form{max-width:700px;margin:40px auto;padding:30px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .05);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,sans-serif}.ecp-title{font-size:24px;font-weight:600;color:#333;margin:0 0 10px 0;padding-bottom:15px;border-bottom:2px solid #2c3e50;letter-spacing:-.5px}.ecp-notes{font-size:14px;color:#666;margin:0 0 25px 0;font-style:italic;line-height:1.6}.ecp-rating-container{margin-bottom:25px;padding:20px;background:linear-gradient(135deg,#f5f7fa 0%,#f0f2f5 100%);border:1px solid #e5e5e5;border-radius:8px;text-align:center}.ecp-star-rating{display:flex;flex-direction:row-reverse;justify-content:center;gap:8px;margin:15px 0}.ecp-star-rating input[type="radio"]{display:none}.ecp-star-rating label{cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);display:inline-block}.ecp-star-rating label:hover,.ecp-star-rating label:hover~label{transform:scale(1.2) translateY(-3px)}.ecp-star-rating .ecp-star-icon{fill:#d0d0d0;transition:fill 0.3s ease,filter 0.3s ease;filter:drop-shadow(0 2px 3px rgb(0 0 0 / .1))}.ecp-star-rating input[type="radio"]:checked~label .ecp-star-icon,.ecp-star-rating label:hover .ecp-star-icon,.ecp-star-rating label:hover~label .ecp-star-icon{fill:var(--ecp-star-color,#ffc107);filter:drop-shadow(0 3px 6px rgb(255 193 7 / .5))}.ecp-rating-text{text-align:center;font-size:13px;color:#888;margin:10px 0 0 0;font-weight:500;transition:color 0.3s ease}.ecp-rating-text.selected{color:#27ae60;font-weight:600}.ecp-field-group{margin-bottom:20px}.ecp-label{display:block;font-size:14px;font-weight:600;color:#444;margin-bottom:8px;letter-spacing:.3px}.ecp-label .required{color:#e74c3c;font-weight:700}.ecp-input,.ecp-textarea{width:100%;padding:12px 15px;font-size:15px;color:#333;background:#fafafa;border:2px solid #d0d0d0;border-radius:6px;transition:all 0.3s ease;box-sizing:border-box;font-family:inherit}.ecp-input:focus,.ecp-textarea:focus{outline:none;background:#fff;border-color:#2c3e50;box-shadow:0 0 0 4px rgb(44 62 80 / .1)}.ecp-input.valid{border-color:#27ae60}.ecp-input.invalid{border-color:#e74c3c}.ecp-textarea{resize:vertical;min-height:120px;line-height:1.6;font-family:inherit}.ecp-submit-wrapper{margin-top:25px}.ecp-submit-btn{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);color:#fff;font-size:16px;font-weight:600;padding:14px 35px;border:none;border-radius:6px;cursor:pointer;transition:all 0.3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 12px rgb(44 62 80 / .2)}.ecp-submit-btn:hover{background:linear-gradient(135deg,#1a252f 0%,#2c3e50 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(44 62 80 / .3)}.ecp-submit-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgb(44 62 80 / .2)}.ecp-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ecp-comment-rating{margin-bottom:12px;padding:10px;background:#f8f9fa;border-radius:6px;display:inline-block}.ecp-stars-display{display:inline-flex;align-items:center;gap:4px}.ecp-stars-display .ecp-star{display:inline-block;vertical-align:middle}.ecp-rating-number{font-size:14px;font-weight:600;color:#2c3e50;margin-left:8px}.ecp-average-box{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:25px;border-radius:12px;margin:30px 0;text-align:center;box-shadow:0 6px 20px rgb(102 126 234 / .3)}.ecp-average-box h4{margin:0 0 15px 0;font-size:18px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px}.ecp-average-box .ecp-stars-display{justify-content:center;margin-bottom:10px}.ecp-average-box .ecp-star path{fill:#ffffff!important}.ecp-average-box .ecp-rating-number{color:#fff;font-size:28px;font-weight:700;margin-left:10px}.ecp-review-count{margin:10px 0 0 0;font-size:14px;opacity:.9}.ecp-average-inline{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:#f8f9fa;border-radius:25px;font-size:14px;box-shadow:0 2px 6px rgb(0 0 0 / .08)}.ecp-average-inline .ecp-review-count{color:#666;font-weight:500}.ecp-error{color:#e74c3c;font-size:13px;display:block;margin-top:5px;font-weight:500}.ecp-loading{opacity:.6;pointer-events:none}.ecp-loading .ecp-submit-btn::after{content:'...';animation:ecp-dots 1.5s infinite}@keyframes ecp-dots{0%,20%{content:'.'}40%{content:'..'}60%,100%{content:'...'}}@keyframes ecp-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ecp-comment-form{animation:ecp-fade-in 0.5s ease}@media screen and (max-width:768px){.ecp-comment-form{padding:20px;margin:20px 10px}.ecp-title{font-size:20px;padding-bottom:12px}.ecp-star-rating{gap:6px}.ecp-star-rating .ecp-star-icon{width:28px;height:28px}.ecp-submit-btn{width:100%;padding:16px}.ecp-average-box{padding:20px}.ecp-average-box h4{font-size:16px}.ecp-average-box .ecp-rating-number{font-size:24px}}@media screen and (max-width:480px){.ecp-comment-form{padding:15px;margin:15px 5px}.ecp-rating-container{padding:15px}.ecp-star-rating{gap:4px}.ecp-star-rating .ecp-star-icon{width:26px;height:26px}.ecp-input,.ecp-textarea{font-size:16px}.ecp-submit-btn{font-size:15px;padding:14px}}@media print{.ecp-comment-form,.ecp-submit-btn{display:none}.ecp-stars-display{break-inside:avoid}}@media (prefers-color-scheme:dark){.ecp-comment-form{background:#1e1e1e;border-color:#3a3a3a;color:#e0e0e0}.ecp-title{color:#fff;border-color:#4a5568}.ecp-notes{color:#a0a0a0}.ecp-label{color:#e0e0e0}.ecp-input,.ecp-textarea{background:#2d2d2d;border-color:#4a4a4a;color:#e0e0e0}.ecp-input:focus,.ecp-textarea:focus{background:#353535;border-color:#5a6c7d}.ecp-rating-container{background:linear-gradient(135deg,#2d2d2d 0%,#353535 100%);border-color:#4a4a4a}}.ecp-star-rating input[type="radio"]:focus+label{outline:2px solid #4299e1;outline-offset:4px;border-radius:4px}.screen-reader-text{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media (prefers-contrast:high){.ecp-comment-form{border:3px solid #000}.ecp-input,.ecp-textarea{border:2px solid #000}.ecp-submit-btn{border:2px solid #000}}@media (prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}