:root{--zcl-primary:#1976d2;--zcl-primary-dark:#115293;--zcl-surface:#fff;--zcl-border:#e5e7eb;--zcl-text:#111827;--zcl-muted:#6b7280;--zcl-error:#d32f2f;--zcl-focus:rgba(11,117,201,.35);} 
h1#zcl-modal-title { font-size: 3.25rem !important; justify-content: left; max-width: 600px; text-align: left;}
button.zcl-modal__close { padding: 10px 15px !important; background-color: var( --e-global-color-accent ); color: #FFF;}
.zcl-city-list { text-align: left; }
#zcl-modal ul { margin: 0; width: 100%; padding: 0;}
#zcl-modal .zcl-promo { text-align: left; justify-content: left; padding: 20px; max-width: 400px; }
.zcl-lookup{margin:1.5rem auto;color:var(--zcl-text);}
.zcl-form { width: 60%; margin:0 auto; padding:50px 90px !important }
h2.zcl-title{margin:.25rem 0 1rem;font-size:2.5rem; font-weight:700 !important; font-family: "Poppins" !important} 
.zcl-paper{background:var(--zcl-surface);border:1px solid var(--zcl-border);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px rgba(0,0,0,.06);} 
.zcl-field-group{display:flex;flex-direction:column;gap:.5rem;border:0;margin:0;padding:0;width:100%;max-width:100%;}
.zcl-label{font-weight:600;color:var(--zcl-muted);font-family: "Poppins"; font-size: 1.25rem; letter-spacing:.02em;margin:0 0 .25rem; text-align: center;}
.screen-reader-text{position:absolute !important;left:-9999px !important;height:1px;width:1px;overflow:hidden;}
.zcl-zip-slots{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:clamp(.4rem,2.5vw,.9rem);align-items:end;margin: 20px auto 0px auto; }
@media (max-width:480px){ .zcl-zip-slots{width:100%;max-width:100%;} }
.zcl-slot{min-height:70px;min-width:0;width:100%;padding:.25rem 0 .35rem;text-align:center;font-size:clamp(1.25rem,6vw,2rem);line-height:1.1;border:none;border: 2px solid #e4e6e8;background:transparent;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease;box-sizing:border-box;} 
.zcl-slot:focus-visible{outline:1px solid #0b75c9; border-bottom-color:#0b75c9; box-shadow:0 2px 0 0 var(--zcl-focus);} 
.zcl-slot.filled{border-bottom-color:#0b75c9;} 
.zcl-slot::placeholder{color:transparent;} 
.zcl-actions-row{margin-top:1rem; text-align: center;} 
#zcl-modal-actions { justify-content: left; }
#zcl-modal-actions .zcl-btn{min-height:44px;padding:.65rem 1rem;border:none;border-radius:30px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;background:var(--zcl-primary);color:#fff;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;} 
.zcl-btn:hover{background:var(--zcl-primary-dark);} 
.zcl-ripple{position:absolute;border-radius:50%;transform:scale(0);opacity:.75;pointer-events:none;background:rgba(255,255,255,.35);animation:zcl-ripple .6s ease-out;} 
@keyframes zcl-ripple{to{transform:scale(16);opacity:0;}} 
.zcl-btn:focus-visible{outline:3px solid #0b75c9;outline-offset:3px;} 
.zcl-error{color:var(--zcl-error);margin:.5rem 0 0;min-height:1.1em;} 
.zcl-city-pill{display:inline-block;padding:6px 10px;border-radius:999px;background: #FFF !important;border: 1px solid #FFF !important;box-shadow: 1px 1px 5px #ccc;color:#0b4a6f;font-size:.9rem;margin:4px;} 
.zcl-actions{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center;} 
.zcl-actions .zcl-btn.secondary{background:#455a64;} 
/* Modal */
#zcl-modal{z-index: 99999 !important}
.zcl-modal{position:fixed;inset:0;display:none;z-index:999999;} 
.zcl-modal[aria-hidden="false"]{display:flex;align-items:center;justify-content:center;padding:4vh 1rem;} 
.zcl-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);} 
.zcl-modal__content{position:relative;margin:0;max-width:768px;max-height:90vh;background:#fff;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.22);overflow:auto;transform-origin:50% 50%;animation:zcl-scale-in .22s cubic-bezier(.2,.8,.2,1) both;} 
.zcl-modal__body{position:relative;padding:1.75rem 2rem 1.5rem;text-align:center; background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background: linear-gradient(to right, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.85) 25%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.0125) 100%), url('https://1stclassairservicecom.stage.site/wp-content/uploads/2025/09/freepik__drone-footage-of-service-truck-parked-at-upscale-h__60156.png') no-repeat;
    background-size: cover;} 
.zcl-modal__title{margin:0 0 .5rem;font-size:1.9rem;line-height:1.2;display:flex;align-items:center;gap:.5rem;justify-content:center;} 
.zcl-modal__message{margin:.25rem 0 .75rem;text-align:center;} 
.zcl-modal__close{z-index:999;position:absolute;top:.5rem;right:.5rem;background:#4b5563;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#FFF; border-radius: 20px; padding: 12px 15px 12px 15px; background-color: #C12D36 !important; color: #FFF !important; border: 1px solid #FFF;} 
.zcl-modal__close:focus{ outline: 1px solid #C12D36;}
@keyframes zcl-scale-in{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}} 
.zcl-icon--success{} 
.zcl-icon--success::before{} 
/* Confetti */
.zcl-confetti{position:absolute;inset:0;pointer-events:none;opacity:.96;} 
/* Shake cue */
@keyframes zcl-shake {0%,100%{transform:translateX(0);}15%{transform:translateX(-2px);}30%{transform:translateX(2px);}45%{transform:translateX(-2px);}60%{transform:translateX(2px);}75%{transform:translateX(-1px);} }
.zcl-slot.zcl-shake { animation: zcl-shake .35s ease; }
/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .zcl-modal__content{animation:none}
  .zcl-ripple{animation:none;opacity:.25}
  .zcl-slot.zcl-shake{animation:none;box-shadow:0 2px 0 0 var(--zcl-focus)}
  .zcl-confetti{display:none}
}
