.check-availability-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.check-availability-modal.open{opacity:1;visibility:visible}.check-availability-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.check-availability-modal-content{position:relative;z-index:1;max-width:550px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(.9) translateY(20px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.check-availability-modal.open .check-availability-modal-content{transform:scale(1) translateY(0)}.check-availability-close-btn{position:absolute;top:-10px;right:-10px;width:40px;height:40px;border-radius:50%;background:#fff;border:none;font-size:20px;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #0000001a;transition:all .2s ease;z-index:2}.check-availability-close-btn:hover{background:#f3f4f6;transform:scale(1.1)}.check-availability-widget{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:500px;margin:0 auto}.check-availability-container{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;padding:40px;text-align:center;position:relative}.check-availability-logo{color:#2dd4bf;font-size:24px;font-weight:700;margin-bottom:30px}.check-availability-title{color:#1f2937;font-size:28px;margin-bottom:10px;font-weight:600}.check-availability-subtitle{color:#6b7280;margin-bottom:30px;line-height:1.5;font-size:16px}.check-availability-form-group{margin-bottom:20px;text-align:left}.check-availability-form-row{display:flex;gap:15px}.check-availability-form-row .check-availability-form-group{flex:1}.check-availability-label{display:block;color:#374151;font-weight:500;margin-bottom:8px;font-size:14px}.check-availability-input,.check-availability-select,.check-availability-textarea{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;transition:border-color .3s ease;font-family:inherit;box-sizing:border-box}.check-availability-textarea{resize:vertical;min-height:100px}.check-availability-input:focus,.check-availability-select:focus,.check-availability-textarea:focus{outline:none;border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf1a}.check-availability-btn{background:#2dd4bf;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s ease;width:100%;margin-top:10px}.check-availability-btn:hover{background:#14b8a6}.check-availability-btn:disabled{background:#9ca3af;cursor:not-allowed}.check-availability-btn-secondary{background:#6b7280;margin-top:15px}.check-availability-btn-secondary:hover{background:#4b5563}.check-availability-success-screen{display:none;text-align:center}.check-availability-success-icon{font-size:64px;color:#10b981;margin-bottom:20px}.check-availability-success-title{color:#1f2937;font-size:24px;margin-bottom:15px;font-weight:600}.check-availability-success-message{color:#6b7280;margin-bottom:30px;line-height:1.6}.check-availability-error-message{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;display:none;font-size:14px}.check-availability-loading{display:none;color:#6b7280;margin-top:10px;font-size:14px}.check-availability-pjm-check{background:#fef3c7;border:1px solid #fbbf24;color:#92400e;padding:12px;border-radius:8px;margin-bottom:20px;display:none;font-size:14px}.check-availability-not-available{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:20px;border-radius:8px;text-align:center;display:none}.check-availability-zip-info{background:#f0f9ff;border:1px solid #0ea5e9;color:#0c4a6e;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}@media (max-width: 600px){.check-availability-modal-content{width:95%;max-height:95vh;margin:10px}.check-availability-container{padding:30px 20px}.check-availability-title{font-size:24px}.check-availability-form-row{flex-direction:column;gap:0}.check-availability-input,.check-availability-select,.check-availability-textarea{font-size:16px}.check-availability-close-btn{top:-5px;right:-5px;width:35px;height:35px;font-size:18px}}@media (prefers-color-scheme: dark){.check-availability-container{background:#1f2937;color:#f9fafb}.check-availability-title{color:#f9fafb}.check-availability-subtitle{color:#d1d5db}.check-availability-label{color:#e5e7eb}.check-availability-input,.check-availability-select,.check-availability-textarea{background:#374151;border-color:#4b5563;color:#f9fafb}.check-availability-input:focus,.check-availability-select:focus,.check-availability-textarea:focus{border-color:#2dd4bf}}.check-availability-fade-in{animation:checkAvailabilityFadeIn .3s ease-in}.check-availability-fade-out{animation:checkAvailabilityFadeOut .3s ease-out}@keyframes checkAvailabilityFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes checkAvailabilityFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.check-availability-spinner{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #2dd4bf;border-radius:50%;animation:checkAvailabilitySpin 1s linear infinite;margin-right:8px}@keyframes checkAvailabilitySpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
