.wplaundry-booking-form{max-width:900px;margin:40px auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#fff;border-radius:12px;box-shadow:0 4px 12px rgb(0 0 0 / .05)}.wplaundry-main-header{text-align:center;margin-bottom:40px}.wplaundry-main-header h1{font-size:3em;color:#2A4EBB;margin:0;letter-spacing:-.5px;font-weight:700}.booking-progress{margin-bottom:50px}.progress-bar{height:6px;background:#e0e7ff;border-radius:3px;margin-bottom:30px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#2A4EBB 0%,#4c63d2 100%);transition:width 0.4s cubic-bezier(.4,0,.2,1);border-radius:3px}.progress-steps{display:flex;justify-content:space-between;position:relative}.progress-step{text-align:center;opacity:.5;transition:all 0.3s ease;flex:1}.progress-step.active{opacity:1;color:#2A4EBB}.step-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto 12px;background:#e5e7eb;color:#6b7280;border-radius:50%;line-height:1;font-weight:600;font-size:14px;transition:all 0.3s ease}.progress-step.active .step-number{background:#2A4EBB;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px rgb(42 78 187 / .3)}.step-label{display:block;font-size:13px;color:#6b7280;font-weight:500;margin-top:4px}.progress-step.active .step-label{color:#2A4EBB;font-weight:600}.form-step{display:none;animation:fadeInUp 0.5s ease-out}.form-step.active{display:block}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-header{text-align:center;margin-bottom:50px}.step-header h2{font-size:2.5em;color:#2A4EBB;margin-bottom:12px;font-weight:700}.step-header p{font-size:1.1em;color:#6b7280;margin:0;max-width:600px;margin-left:auto;margin-right:auto}.wplaundry-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:40px}.wplaundry-service-card{background:#fff;border:2px solid #f3f4f6;border-radius:16px;padding:24px;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 1px 3px rgb(0 0 0 / .05)}.wplaundry-service-card:hover{border-color:#2A4EBB;transform:translateY(-4px);box-shadow:0 12px 24px rgb(42 78 187 / .15)}.wplaundry-service-card.selected{border-color:#2A4EBB;background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);box-shadow:0 8px 24px rgb(42 78 187 / .15)}.service-icon{width:64px;height:64px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border-radius:12px;transition:all 0.3s ease}.wplaundry-service-card:hover .service-icon,.wplaundry-service-card.selected .service-icon{background:#e0e7ff;transform:scale(1.05)}.service-icon img{max-width:100%;max-height:100%;object-fit:contain}.icon-placeholder{font-size:32px}.service-content{text-align:center}.wplaundry-service-card h3{color:#2A4EBB;margin-bottom:12px;font-size:1.3em;font-weight:600}.wplaundry-service-card p{color:#6b7280;margin-bottom:16px;line-height:1.5;font-size:14px}.wplaundry-service-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}.service-checkbox-label{font-size:13px;color:#2A4EBB;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.location-selection-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.location-option-wrapper{position:relative}.location-radio{position:absolute;opacity:0;pointer-events:none}.location-option-label{display:block;background:#fff;border:2px solid #f3f4f6;border-radius:16px;padding:24px;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;min-height:140px;display:flex;flex-direction:column}.location-option-label:hover{border-color:#2A4EBB;transform:translateY(-2px);box-shadow:0 8px 24px rgb(42 78 187 / .12)}.location-radio:checked+.location-option-label{border-color:#2A4EBB;background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);box-shadow:0 8px 24px rgb(42 78 187 / .15)}.option-header{display:flex;align-items:center;gap:16px;margin-bottom:12px}.radio-indicator{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;position:relative;flex-shrink:0;transition:all 0.3s ease;background:#fff}.location-radio:checked+.location-option-label .radio-indicator{border-color:#2A4EBB;background:#2A4EBB;box-shadow:0 2px 8px rgb(42 78 187 / .3)}.location-radio:checked+.location-option-label .radio-indicator::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:50%}.option-header h3{margin:0;color:#2A4EBB;font-size:1.2em;font-weight:600;display:flex;align-items:center;gap:8px}.location-option-content{flex:1}.location-option-content p{margin:0;color:#6b7280;line-height:1.5;font-size:14px}.hotel-note{color:#6b7280;font-size:13px;margin-top:6px;display:block;font-style:italic}.service-type-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);border-radius:12px}.service-type-header h3{color:#2A4EBB;margin-bottom:8px;font-size:1.4em;font-weight:600}.service-type-header p{color:#6b7280;margin:0;font-size:14px}.service-options-container{display:grid;gap:16px;margin-bottom:30px}.service-option-card{position:relative}.service-option-card input[type="radio"]{position:absolute;opacity:0;pointer-events:none}.service-option-label{display:block;background:#fff;border:2px solid #f3f4f6;border-radius:12px;padding:20px;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1)}.service-option-label:hover{border-color:#2A4EBB;box-shadow:0 4px 12px rgb(42 78 187 / .1);transform:translateY(-1px)}.service-option-card input[type="radio"]:checked+.service-option-label{border-color:#2A4EBB;background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);box-shadow:0 4px 12px rgb(42 78 187 / .15)}.service-option-card input[type="radio"]:disabled+.service-option-label{opacity:.6;cursor:not-allowed;background:#f9fafb}.service-option-header{display:flex;align-items:center;gap:14px;margin-bottom:10px}.service-radio-indicator{width:18px;height:18px;border:2px solid #d1d5db;border-radius:50%;position:relative;flex-shrink:0;transition:all 0.3s ease;background:#fff}.service-option-card input[type="radio"]:checked+.service-option-label .service-radio-indicator{border-color:#2A4EBB;background:#2A4EBB}.service-option-card input[type="radio"]:checked+.service-option-label .service-radio-indicator::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.service-option-title{display:flex;justify-content:space-between;align-items:center;flex:1;min-height:24px}.service-option-title strong{color:#1f2937;font-weight:600}.service-option-card input[type="radio"]:checked+.service-option-label .service-option-title strong{color:#2A4EBB}.service-price{color:#059669;font-weight:700;font-size:16px}.service-option-description{margin-left:32px}.service-option-description p{margin:0 0 4px 0;color:#4b5563;font-size:14px}.service-note{color:#6b7280;font-size:12px;margin:0;font-style:italic}.disabled-reason{color:#dc2626!important;font-weight:500}.service-info-card{background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);border:1px solid #e0e7ff;border-radius:12px;padding:24px;margin-top:20px}.service-info-card h3{color:#2A4EBB;margin-bottom:16px;font-size:1.2em;font-weight:600}.service-info-card ul{margin:0;padding-left:20px}.service-info-card li{margin-bottom:10px;color:#4b5563;line-height:1.5}.wplaundry-field{margin-bottom:24px;position:relative}.wplaundry-field label{display:block;margin-bottom:8px;font-weight:600;color:#1f2937;font-size:14px}.delivery-note{font-weight:400;font-size:12px;color:#6b7280;display:block;margin-top:4px;line-height:1.4}.wplaundry-field input,.wplaundry-field select,.wplaundry-field textarea{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:16px;transition:all 0.3s ease;box-sizing:border-box;background:#fff;font-family:inherit}.wplaundry-field input:focus,.wplaundry-field select:focus,.wplaundry-field textarea:focus{outline:none;border-color:#2A4EBB;box-shadow:0 0 0 3px rgb(42 78 187 / .1);transform:translateY(-1px)}.wplaundry-field input.is-invalid,.wplaundry-field select.is-invalid,.wplaundry-field textarea.is-invalid{border-color:#dc2626;background-color:#fef2f2}.invalid-feedback{color:#dc2626;font-size:13px;margin-top:6px;display:flex;align-items:center;gap:4px}.invalid-feedback::before{content:'⚠️';font-size:12px}.wplaundry-field textarea{min-height:100px;resize:vertical;font-family:inherit}.postcode-input-group{display:flex;gap:12px;align-items:stretch}.postcode-input-group input{flex:1}.postcode-input-group .btn{white-space:nowrap;padding:14px 20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.full-width{grid-column:1 / -1}.scheduling-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-bottom:40px}.schedule-section{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}.schedule-section h3{color:#2A4EBB;margin-bottom:20px;text-align:center;font-size:1.3em;font-weight:600}.order-summary{background:linear-gradient(135deg,#f8faff 0%,#f0f4ff 100%);border:2px solid #e0e7ff;border-radius:16px;padding:28px;margin-bottom:30px}.order-summary h3{color:#2A4EBB;margin-bottom:24px;text-align:center;font-size:1.4em;font-weight:600}.summary-content{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6;font-size:14px}.summary-row:last-child{border-bottom:none;margin-bottom:0}.summary-row span:first-child{color:#6b7280;font-weight:500}.summary-row span:last-child{color:#1f2937;font-weight:600}.pricing-row{color:#2A4EBB!important;font-weight:600}.pricing-row span{color:#2A4EBB!important}.total-row{font-size:16px;font-weight:700;color:#2A4EBB;border-top:2px solid #2A4EBB;margin-top:16px;padding-top:16px;background:#f8faff;margin:16px -20px -20px;padding:16px 20px 0;border-radius:0 0 12px 12px}.total-row span{color:#2A4EBB}.summary-note{margin-top:16px;padding-top:16px;border-top:1px solid #e0e7ff}.summary-note p{margin:0;font-size:13px;color:#6b7280;text-align:center;font-style:italic;line-height:1.4}.payment-info-summary{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border:2px solid #bbf7d0;border-radius:16px;padding:28px;margin-bottom:30px;position:relative}.payment-info-title{color:#059669;margin:0 0 20px 0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.3em;font-weight:600}.info-icon{display:inline-flex;align-items:center;justify-content:center;color:#059669;text-decoration:none;transition:all 0.2s ease;width:24px;height:24px;border-radius:50%;background:rgb(5 150 105 / .1)}.info-icon:hover{transform:scale(1.1);background:rgb(5 150 105 / .2)}.payment-info-content{display:grid;gap:16px}.payment-info-item{display:flex;align-items:flex-start;gap:14px;padding:12px 0}.payment-check{color:#059669;font-weight:700;font-size:18px;flex-shrink:0;line-height:1;margin-top:2px}.payment-info-item span:last-child{color:#1f2937;line-height:1.5;font-size:14px}.payment-info-item strong{color:#059669;font-weight:700}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:50px;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:10px;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:48px}.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .2),transparent);transition:left 0.5s}.btn:hover::before{left:100%}.btn-primary{background:linear-gradient(135deg,#2A4EBB 0%,#4c63d2 100%);color:#fff;box-shadow:0 4px 12px rgb(42 78 187 / .3)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1e3a8a 0%,#3730a3 100%);transform:translateY(-2px);box-shadow:0 8px 20px rgb(42 78 187 / .4)}.btn-secondary{background:#6b7280;color:#fff;box-shadow:0 2px 8px rgb(107 114 128 / .2)}.btn-secondary:hover{background:#4b5563;transform:translateY(-2px);box-shadow:0 4px 12px rgb(107 114 128 / .3)}.btn-large{padding:18px 36px;font-size:18px;min-height:56px}.btn:disabled{background:#d1d5db!important;color:#9ca3af!important;cursor:not-allowed;transform:none!important;box-shadow:none!important}.selected-count{text-align:center;margin-bottom:30px;font-size:16px;color:#6b7280;padding:12px 20px;background:#f8faff;border-radius:8px;border:1px solid #e0e7ff}.btn.loading{pointer-events:none;position:relative}.btn.loading::after{content:'';position:absolute;width:16px;height:16px;border:2px solid #fff0;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.same-day-section{margin-top:20px}.same-day-card{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border:2px solid #bbf7d0;border-radius:12px;padding:20px;position:relative}.same-day-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none}.same-day-label{display:block;cursor:pointer;user-select:none;position:relative;padding-left:35px}.same-day-label::before{content:'';position:absolute;left:0;top:2px;width:20px;height:20px;border:2px solid #059669;border-radius:4px;background:#fff;transition:all 0.3s ease}.same-day-card input[type="checkbox"]:checked+.same-day-label::before{background:#059669;border-color:#059669}.same-day-card input[type="checkbox"]:checked+.same-day-label::after{content:'V';position:absolute;left:5px;top:0;color:#fff;font-weight:700;font-size:14px}.same-day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.same-day-header strong{color:#059669;font-size:16px}.same-day-price{background:#059669;color:#fff;padding:4px 12px;border-radius:20px;font-weight:600;font-size:14px}.same-day-desc{margin:0;color:#374151;font-size:14px;line-height:1.4}.time-note{margin-top:8px;padding:8px 12px;background:#f8faff;border-radius:6px;border-left:3px solid #2A4EBB}.time-note small{font-size:12px;line-height:1.4}@media (max-width:768px){.wplaundry-booking-form{margin:20px auto;padding:16px;border-radius:8px}.wplaundry-main-header h1{font-size:2.2em}.step-header h2{font-size:1.8em}.step-header p{font-size:16px}.progress-steps{gap:8px}.step-number{width:32px;height:32px;font-size:13px}.step-label{font-size:11px}.wplaundry-services-grid,.location-selection-container{grid-template-columns:1fr;gap:16px}.service-option-title{flex-direction:column;align-items:flex-start;gap:8px}.service-option-header{align-items:flex-start}.service-option-description{margin-left:0;margin-top:8px}.form-grid{grid-template-columns:1fr;gap:16px}.scheduling-grid{grid-template-columns:1fr;gap:20px}.form-navigation{flex-direction:column;gap:12px}.form-navigation .btn{width:100%;order:2}.form-navigation .btn-secondary{order:1}.postcode-input-group{flex-direction:column;gap:12px}.postcode-input-group .btn{width:100%}.payment-info-title{flex-direction:column;text-align:center;gap:8px;font-size:1.1em}.payment-info-item{padding:10px 0}.order-summary,.payment-info-summary,.service-info-card{padding:20px}.wplaundry-field input,.wplaundry-field select,.wplaundry-field textarea{font-size:16px}}@media (max-width:480px){.wplaundry-booking-form{margin:10px;padding:12px}.wplaundry-main-header h1{font-size:1.8em}.step-header h2{font-size:1.5em}.location-option-label,.service-option-label{padding:16px}.option-header h3{font-size:1.1em}.service-type-header{padding:16px}.order-summary,.payment-info-summary{padding:16px}.summary-content{padding:16px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}.progress-fill,.btn,.wplaundry-service-card,.location-option-label,.service-option-label{transition:none}}@media (prefers-contrast:high){.wplaundry-service-card,.location-option-label,.service-option-label{border-width:3px}.wplaundry-service-card.selected,.location-radio:checked+.location-option-label,.service-option-card input[type="radio"]:checked+.service-option-label{border-width:4px}}.wplaundry-service-card:focus-visible,.location-option-label:focus-visible,.service-option-label:focus-visible,.btn:focus-visible{outline:3px solid #2A4EBB;outline-offset:2px}@media print{.wplaundry-booking-form{box-shadow:none;border:1px solid #ccc}.btn,.form-navigation{display:none!important}.progress-bar,.progress-steps{display:none!important}.form-step{display:block!important;page-break-inside:avoid}}.pac-container{background-color:#fff;position:absolute;z-index:1000;border-radius:8px;border:1px solid #d1d5db;box-shadow:0 4px 6px rgb(0 0 0 / .1);margin-top:2px}.pac-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #e5e7eb}.pac-item:hover{background-color:#f3f4f6}.pac-item:last-child{border-bottom:none}.pac-item-query{font-weight:600;color:#111827}#customer-address{position:relative}.promo-code-section{margin:30px 0;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.promo-code-section h3{margin:0 0 15px 0;font-size:18px;color:#111827}.promo-code-field{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.promo-code-field input{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;text-transform:uppercase}.promo-code-field input:focus{outline:none;border-color:#2A4EBB;box-shadow:0 0 0 3px rgb(42 78 187 / .1)}.promo-code-field button{white-space:nowrap;padding:12px 24px;background:#2A4EBB;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background 0.2s}.promo-code-field button:hover{background:#1e3a8a}.promo-message{margin-top:8px;padding:8px 12px;font-size:14px;border-radius:4px;min-height:20px}.promo-message.success{color:#059669;background:#d1fae5;border:1px solid #a7f3d0}.promo-message.error{color:#dc2626;background:#fee2e2;border:1px solid #fecaca}#promo-discount-row{background:#d1fae5}#promo-discount-row span{color:#059669;font-weight:600}#express-charge-row{background:#fef3c7}#express-charge-row span{color:#d97706;font-weight:600}#minimum-order-row{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);margin:0 -20px;padding:12px 20px;border-left:3px solid #3b82f6}#minimum-order-row span{color:#1e40af!important}#minimum-order-row span:first-child{font-weight:500}#minimum-order-row span:last-child{font-weight:700}#minimum-order-row small{font-size:.75rem;opacity:.8}.price-row.minimum-row{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);margin:0 -20px;padding:12px 20px;border-left:3px solid #0284c7;position:relative}@media (max-width:768px){#minimum-order-row{padding:10px 16px;margin:0 -16px}#minimum-order-row small{display:block;font-size:.65rem;margin-top:2px}}.form-navigation-top{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-bottom:20px;border-bottom:1px solid var(--gray-200)}.form-navigation-top .btn{padding:8px 16px!important;font-size:0.85rem!important;min-width:auto!important;font-weight:600}.form-navigation-top .prev-step-top,.form-navigation-top .next-step-top,.form-navigation-top .btn-submit-top{display:inline-flex;align-items:center;gap:6px}.form-navigation-top span{font-weight:500;font-size:.85rem;color:var(--gray-600)}@media (min-width:768px){.form-navigation-top{}}@media (max-width:767px){.form-navigation-top{position:sticky;top:0;background:#fff;z-index:100;box-shadow:0 2px 8px rgb(0 0 0 / .08);margin:0 -20px 20px;padding:12px 20px;border-radius:0}@media (max-width:400px){.form-navigation-top span{font-size:.75rem}.form-navigation-top .btn{padding:6px 12px!important;font-size:0.8rem!important}}}.form-navigation-top .btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.form-navigation-top .btn-secondary:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400)}.form-navigation-top .btn-primary{background:var(--primary);color:#fff;border:1px solid var(--primary)}.form-navigation-top .btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.form-navigation-top .btn:disabled{opacity:.5;cursor:not-allowed}