.order{max-width:800px;margin:0 auto;padding:2rem 1rem}#order-header{text-align:center;margin-bottom:2rem}#order-header h1{font-size:2rem;margin-bottom:.5rem}.intro{font-size:1.1rem;margin-bottom:2rem}.error-message{background:#fee;border:1px solid #fcc;border-radius:4px;padding:12px;margin-bottom:1rem;color:#c33;font-weight:500}.field-error{color:#c33;font-size:.875rem;margin-top:4px;display:block}input.error,select.error,textarea.error{border-color:#c33;box-shadow:0 0 0 2px #cc33331a}button:disabled,.btn.disabled,.step-button.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;filter:grayscale(50%)}button:disabled:hover,.btn.disabled:hover,.step-button.disabled:hover{background-color:inherit;transform:none;box-shadow:none}.form-progress{margin-bottom:2rem}.progress-container{display:flex;justify-content:space-between;position:relative;margin-bottom:2rem;max-width:700px;margin-left:auto;margin-right:auto}.progress-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:5}.step-number{width:30px;height:30px;border-radius:50%;background-color:#ccc;color:#fff;display:flex;justify-content:center;align-items:center;font-weight:700;margin-bottom:.5rem;transition:background-color .3s ease}.step-name{font-size:.8rem;text-align:center;color:#666;max-width:100px;transition:color .3s ease}.progress-step.active .step-number{background-color:var(--color-accent)}.progress-step.active .step-name{color:var(--color-accent);font-weight:700}.progress-step.completed .step-number{background-color:var(--color-accent-dark)}.progress-bar{position:absolute;top:15px;left:30px;right:30px;transform:translateY(-50%);height:4px;background-color:#ccc;z-index:1}.progress-completed{position:absolute;top:0;left:0;height:100%;width:0;background-color:var(--color-accent);transition:width .3s ease}.form-step{display:none;min-height:calc(100vh - 60px)}.form-step.step-active{display:block;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-section{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.form-section h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;border-bottom:1px solid #eee;padding-bottom:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (min-width: 768px){.form-row{gap:1rem}}@media (max-width: 360px){.form-row{grid-template-columns:1fr;gap:1rem}}.form-group{margin-bottom:1.5rem}@media (max-width: 768px){.form-group{margin-bottom:1.25rem}}@media (max-width: 480px){.form-group{margin-bottom:1rem}}label{display:block;margin-bottom:.5rem;font-weight:700}input,select,textarea{width:100%;padding:.8rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;box-sizing:border-box}@media (max-width: 768px){input,select,textarea{padding:.7rem;font-size:16px}.product-item{margin-bottom:1.25rem}.product-info h3{margin-bottom:.5rem;font-size:1.1rem}.product-info p{margin-bottom:.4rem;font-size:.9rem}}@media (max-width: 480px){input,select,textarea{padding:.65rem}.product-item{margin-bottom:1rem}.product-info h3{font-size:1.05rem;margin-bottom:.4rem}.product-info p{font-size:.85rem;margin-bottom:.3rem}.radio-group label{margin-bottom:.5rem}}.step-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}@media (max-width: 768px){.step-buttons{margin-top:1.25rem;gap:.8rem}.postcode-container{margin-bottom:1.25rem}.postcode-input-wrapper{gap:.8rem}}@media (max-width: 480px){.step-buttons{margin-top:1rem;gap:.75rem}.postcode-container{margin-bottom:1rem}.postcode-input-wrapper{gap:.75rem}.form-section h2{font-size:1.3rem;margin-bottom:1.25rem}.form-section h3,.category-title{font-size:1.15rem;margin-bottom:1rem}}.step-button.next{order:1;width:100%}.step-button.prev{order:2;background-color:#f0f0f0;border:1px solid #ccc;color:#555;width:100%}#submit-order{order:1;width:100%}.step-button.prev:hover{background-color:#e0e0e0;color:#333}@media (min-width: 768px){.step-buttons{flex-direction:row;justify-content:space-between}.step-button.next,.step-button.prev,#submit-order{width:48%}.step-button.next,#submit-order{order:2}.step-button.prev{order:1}}.step-summary{background-color:#f8f8f8;border:1px solid #ddd;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.summary-content{display:flex;align-items:center}.summary-icon{display:flex;align-items:center;color:#2e7d32;margin-right:1rem;flex-shrink:0}.summary-details{flex-grow:1}.summary-details strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.summary-details span{display:block;color:#555}.postcode-checker{text-align:center}.postcode-container{display:flex;flex-direction:column;align-items:center;margin:0 auto;max-width:500px}.postcode-input-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:1rem}.postcode-input-group{display:flex;align-items:center;justify-content:center;width:100%;position:relative;margin-bottom:1rem}#check-postcode{text-transform:uppercase;text-align:center;font-size:1.1rem;letter-spacing:1px}.postcode-validation-indicator{position:absolute;right:-40px;display:flex;flex-direction:column;align-items:center}.format-guide{font-size:.75rem;color:#666;margin-bottom:.25rem;position:absolute;width:100px;text-align:left;bottom:-20px;left:0}.validation-icon{width:24px;height:24px;color:#2e7d32}.validation-icon.hidden{display:none}.form-group .postcode-input-group{position:relative;display:flex;align-items:center;width:100%}.form-group .postcode-input-group+.validation-error{margin-top:.5rem;clear:both}.form-group .postcode-input-group input{flex:1;padding-right:40px;width:100%;min-width:0}.form-group .postcode-validation-indicator{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;pointer-events:none}.form-group .validation-icon{width:20px;height:20px}.form-group .validation-icon svg{width:100%;height:100%}.form-group #postcode-valid-icon{color:#2e7d32}.form-group #postcode-warning-icon{color:#f57c00}.postcode-feedback{font-size:.85rem;margin-top:.25rem;padding:.25rem 0}.postcode-feedback.success{color:#2e7d32}.postcode-feedback.warning{color:#f57c00}.postcode-feedback.error{color:#d32f2f}.postcode-feedback.hidden{display:none}.step-intro{font-size:1rem;color:#666;margin-bottom:1.5rem;background-color:#f8f9fa;padding:1rem;border-radius:6px;border-left:4px solid var(--color-accent)}.field-hint{font-size:.8rem;color:#666;font-weight:400;margin-left:.5rem}.validated-postcode-summary{background-color:#f8f8f8;border:1px solid #ddd;border-radius:8px;padding:.75rem 1rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.validated-postcode-content{display:flex;align-items:center;justify-content:space-between}.validated-icon{display:flex;align-items:center;color:#2e7d32;margin-right:.5rem}.validated-text{flex-grow:1}.validated-text span{font-size:.9rem;color:#555}.validated-text strong{color:#333;font-size:1.1rem;margin-left:.25rem}.btn-small{padding:.4rem .75rem;font-size:.85rem}#check-postcode-btn,.step-button{width:100%;max-width:250px}#postcode-result{margin-top:1.5rem;padding:1rem;border-radius:4px;text-align:center}#postcode-result .success{background-color:#e8f5e9;color:#2e7d32;padding:1rem;border-radius:4px;border-left:4px solid #2e7d32}#postcode-result .error{background-color:#ffebee;color:#c62828;padding:1rem;border-radius:4px;border-left:4px solid #c62828}.postcode-success{text-align:center;background-color:#e8f5e9;padding:1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 10px #2e7d3233;border:1px solid #81c784;animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon{width:70px;height:70px;margin:0 auto 1rem;background-color:#2e7d32;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.postcode-success h3{color:#2e7d32;font-size:1.5rem;margin-bottom:.5rem}.postcode-success p{color:#388e3c;font-size:1.1rem;margin-bottom:0}.delivery-areas{margin-top:2rem;text-align:left}.delivery-areas h3{margin-bottom:1rem;color:var(--color-primary)}.areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.area-item{background-color:#f5f5f5;padding:.75rem;border-radius:4px;border-left:3px solid var(--color-primary)}.area-item .outcode{display:block;font-weight:700;margin-bottom:.5rem;color:var(--color-primary)}.area-item .areas{font-size:.85rem;color:#666}.product-list{margin-top:2rem}.product-item{margin-bottom:1.5rem}.product-info h3{margin:0 0 .5rem;font-size:1.2rem}.price{font-weight:700;color:var(--color-secondary);margin:0 0 .25rem}.min-order{font-size:.85rem;color:#666;margin:0}.product-quantity{min-width:150px}.tiered-product{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #eee;border-radius:8px;transition:all .3s ease;cursor:default}.tiered-product:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.tiered-product h3{margin-bottom:.5rem;color:var(--color-secondary)}.reference-price-table h3{margin-top:0;margin-bottom:.75rem;color:var(--color-secondary);font-size:1.2rem;border-bottom:1px solid var(--color-secondary);padding-bottom:.5rem}.pricing-table{width:100%;border-collapse:collapse;margin-bottom:.75rem}.pricing-table th{background-color:var(--color-primary);padding:.75rem .5rem;text-align:left;font-weight:700;color:#fff}.pricing-table td{padding:.75rem .5rem;border-bottom:1px solid #eee}.pricing-table .product-name{font-weight:700;color:var(--color-secondary)}.pricing-note{font-style:italic;color:#666;font-size:.9rem;margin-top:1rem}.price-info{color:#666;font-style:italic}.quantity-cell{width:120px}.quantity-cell input{width:100%;padding:.5rem}.simple-product{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid #eee;border-radius:8px;margin-bottom:1rem;transition:all .3s ease;cursor:default}.simple-product:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.simple-product h3{margin-bottom:.5rem}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-group label{font-weight:400;display:flex;align-items:center;gap:.5rem}.radio-group input{width:auto}.btn{padding:.8rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:700;transition:all .3s ease;border:none;cursor:pointer;font-size:1rem}.primary{background-color:var(--color-accent);color:#fff}.primary:hover{background-color:var(--color-accent-dark)}.secondary{background-color:var(--color-primary);color:#fff}.secondary:hover{background-color:var(--color-accent-dark)}.review-order{display:grid;gap:1.5rem}.review-section{padding-bottom:1rem;border-bottom:1px solid #eee}.review-section:last-child{border-bottom:none}.review-section h3{font-size:1.2rem;margin-bottom:.75rem;color:var(--color-secondary)}.review-content{padding-left:1rem}.review-content>div{margin-bottom:.5rem}.checkbox-container{display:flex;align-items:center;position:relative;padding-left:35px;margin-bottom:12px;cursor:pointer;font-size:1rem;user-select:none}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:#eee;border-radius:3px}.checkbox-container:hover input~.checkmark{background-color:#ccc}.checkbox-container input:checked~.checkmark{background-color:var(--color-accent)}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:7px;top:3px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.order-summary{background-color:#f0f0f0;padding:1.5rem;border-radius:4px;margin-top:2rem}.order-summary h3{margin-top:0;margin-bottom:1rem}.order-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #ddd}.order-total{display:flex;justify-content:space-between;font-weight:700;margin-top:.5rem;padding-top:.75rem;border-top:2px solid #ddd;font-size:1.2rem}.order-confirmation{background-color:#f0f8f0;padding:2rem;border-radius:8px;text-align:center;box-shadow:0 2px 4px #0000001a}.order-confirmation h2{color:var(--color-primary)}.hidden{display:none}@media (max-width: 768px){.order{padding:1rem .5rem}#order-header h1{font-size:1.5rem}.intro{font-size:1rem}.form-section{padding:1.5rem 1rem;margin-bottom:1.5rem}.form-section h2{font-size:1.3rem;margin-bottom:1rem}.progress-container{padding:0 1rem;margin-bottom:1.5rem}.step-name{font-size:.7rem;max-width:70px}.postcode-container{max-width:100%;padding:0 .5rem}.postcode-input-group{flex-direction:column;gap:.5rem;margin-bottom:1rem}#check-postcode{font-size:1rem;padding:.7rem;max-width:200px}.areas-grid{grid-template-columns:1fr;gap:.75rem;margin-top:1rem}.area-item{padding:.75rem;background:#f8f9fa;border-radius:6px;border-left:3px solid var(--color-accent)}.outcode{font-weight:700;color:var(--color-accent);display:block;margin-bottom:.25rem}.areas{font-size:.9rem;color:#555;display:block}.form-group{margin-bottom:1.2rem}input,textarea,select{padding:.7rem;font-size:.95rem}.reference-price-table{margin-bottom:1.5rem}.main-price-table,.logs-price-table{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.pricing-table{min-width:300px;font-size:.85rem}.pricing-table th,.pricing-table td{padding:.5rem .3rem;text-align:center}.product-item{flex-direction:column;align-items:flex-start;gap:1rem}.product-quantity{min-width:100%}.postcode-container{flex-direction:column}.postcode-input-group{width:100%}.postcode-validation-indicator{position:static;margin-top:.5rem}.format-guide{position:static;width:auto;text-align:center;margin-bottom:.5rem}.areas-grid{grid-template-columns:1fr}.step-buttons{flex-direction:column;gap:.75rem}.step-buttons .btn{width:100%;max-width:none}.reference-price-table{padding:0;margin:0 0 1.5rem;width:100%}.logs-price-table{display:block;border-top:1px solid #e0e0e0;padding-top:.75rem;margin-top:1rem}.pricing-table{font-size:.8rem;width:100%;border-collapse:collapse;table-layout:fixed}.pricing-table th,.pricing-table td{padding:.35rem .25rem;font-size:.8rem;text-align:center;line-height:1.2}.pricing-table th:first-child,.pricing-table td:first-child{text-align:left;padding-left:.5rem;width:35%}.pricing-table th:last-child,.pricing-table td:last-child{padding-right:0}.pricing-table th:not(:first-child),.pricing-table td:not(:first-child){width:21.66%}.reference-price-table h3{margin-bottom:.5rem;font-size:1.1rem}.logs-price-table h4{font-size:1rem;margin-bottom:.5rem}.pricing-note{font-size:.8rem;margin-top:.75rem;line-height:1.3}.product-category{margin-bottom:2rem;padding:0}.category-title{color:#9c1a1a;margin:0 0 1rem;padding:0;font-size:1.2rem;font-weight:600;border-bottom:2px solid #9c1a1a;padding-bottom:.5rem}.product-item{background:transparent;border:none;border-bottom:1px solid #e5e7eb;border-radius:0;padding:.6rem 0;margin-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.product-item:hover{background:#f8f9fa}.product-info{flex:1;min-width:0;text-align:left}.product-info h3{font-size:1rem;font-weight:500;color:#1f2937;margin:0;line-height:1.2;text-align:left}.product-info .price,.product-info .min-order{display:none}.product-quantity{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;width:100%}.product-quantity label{font-size:.9rem;font-weight:500;color:#6b7280;margin:0;text-align:left;white-space:nowrap}.product-quantity input{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem;font-size:1rem;text-align:center;width:80px;transition:all .2s ease;margin-left:auto}.product-quantity input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}}} @media (max-width: 480px){.order{padding:.75rem .25rem}#order-header h1{font-size:1.3rem}.intro{font-size:.9rem}.form-section{padding:1rem .75rem;margin-bottom:1rem}.form-section h2{font-size:1.2rem;margin-bottom:.8rem}.form-section h3{font-size:1.1rem;margin-bottom:.8rem}.progress-container{padding:0 .5rem}.step-number{width:25px;height:25px;font-size:.8rem}.step-name{font-size:.65rem;max-width:60px}.postcode-container{padding:0}#check-postcode{font-size:.95rem;padding:.6rem;max-width:180px}.btn{padding:.6rem 1rem;font-size:.9rem}.area-item{padding:.6rem}.outcode{font-size:.9rem}.areas{font-size:.8rem}.form-group{margin-bottom:1rem}input,textarea,select{padding:.6rem;font-size:.9rem}label{font-size:.9rem;margin-bottom:.4rem}.pricing-table{font-size:.8rem;min-width:280px}.pricing-table th,.pricing-table td{padding:.4rem .2rem}.product-name{font-size:.8rem}.product-item{padding:.5rem 0;margin-bottom:0;gap:.75rem;flex-direction:row;align-items:center}.product-info h3{font-size:.9rem;margin:0}.product-quantity{gap:.4rem}.product-quantity input{width:65px;padding:.4rem;font-size:.9rem}.category-title{font-size:1.1rem;padding-bottom:.4rem;margin-bottom:.75rem}.step-buttons{gap:.75rem;margin-top:1rem}.step-button{padding:.7rem;font-size:.9rem}.step-summary{padding:.6rem .8rem;margin-bottom:1rem}.summary-details strong{font-size:1rem}.summary-details span{font-size:.85rem}.radio-group{gap:.75rem;display:flex;flex-direction:column}.radio-group label{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:.75rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.radio-group label:hover{border-color:#9c1a1a;background:#fef2f2}.radio-group input[type=radio]:checked+label,.radio-group label:has(input[type=radio]:checked){border-color:#9c1a1a;background:#fef2f2;color:#7c2d12}.price-note{font-size:.8rem;color:#059669;font-weight:500}.delivery-preference{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;margin-top:1.5rem}.delivery-preference label:first-of-type{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.75rem;text-transform:none;letter-spacing:normal}.delivery-note{font-size:.85rem;margin-top:.75rem;padding:.5rem;background:#fffbeb;border:1px solid #f59e0b;border-radius:6px;color:#92400e}.product-quantity label{font-size:.8rem}.product-quantity input{padding:.5rem;font-size:.9rem}.category-title{font-size:1.15rem;margin-bottom:.75rem}}.product-quantity input{padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;width:100px;text-align:center}.price-note{font-size:.85rem;color:var(--color-secondary);font-style:italic}.delivery-note{font-size:.9rem;margin-top:.5rem;color:#666;font-style:italic}.product-category{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.product-category:last-child{border-bottom:none}.category-title{margin-bottom:1.5rem;color:var(--color-primary);font-size:1.5rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-accent)}.confirmation-section{text-align:center}.confirmation-icon{color:#2e7d32;margin-bottom:1.5rem}.confirmation-reference{margin:2rem 0;padding:1rem;background-color:#f9f9f9;border-radius:8px;border:1px dashed #ccc;text-align:center}#new-order-btn{margin-top:1.5rem}.confirmation-section{text-align:center;background-color:#f0f8f0;border:1px solid #c8e6c9;animation:fadeInScale .6s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.order-confirmation-content{display:flex;flex-direction:column;align-items:center;padding:2rem 0}.confirmation-icon{color:#2e7d32;margin-bottom:1.5rem;animation:pulseIcon 2s infinite}@keyframes pulseIcon{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}to{transform:scale(1);opacity:1}}.delivery-info{margin:1.5rem 0;padding:1rem 1.5rem;background-color:#e8f5e9;border-left:4px solid var(--color-accent);border-radius:4px;max-width:500px;box-shadow:0 2px 4px #0000001a}.delivery-info p{margin:.5rem 0;color:#2c5530}.delivery-info p:first-child{color:var(--color-primary);font-weight:600}.confirmation-reference{margin:2rem 0;padding:1.5rem;background-color:#fff;border-radius:8px;border:1px dashed #4caf50;text-align:center;box-shadow:0 2px 8px #0000001a}.confirmation-reference p{margin:.5rem 0}#step-confirmation h2{color:#2e7d32}#new-order-btn{margin-top:1.5rem;transition:all .3s ease}#new-order-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}#step-confirmation.step-active{display:block!important;animation:fadeInScale .6s ease-out}.product-info h3,.product-info p,.category-title,.reference-price-table h3,.pricing-table .product-name,.pricing-note,.form-section h2,.form-section p,.price,.min-order,.delivery-note,.price-note,.product-quantity label{cursor:default;user-select:none}input[type=text],input[type=email],input[type=tel],input[type=number],textarea{cursor:text}input[type=radio],input[type=checkbox]{cursor:pointer}.product-item{cursor:default}.order *{cursor:default;user-select:none}.order input[type=text],.order input[type=email],.order input[type=tel],.order input[type=number],.order textarea{cursor:text;user-select:auto}.order input[type=radio],.order input[type=checkbox],.order button,.order .btn,.order label.checkbox-container,.order .radio-group label,.order .edit-step,.order #change-postcode-btn,.order #check-postcode-btn{cursor:pointer}.reference-price-table{margin-bottom:2rem;background-color:transparent;padding:0;border-radius:0;border:none}.logs-price-table{margin-top:1.5rem;display:none}.logs-price-table h4{margin-top:0;margin-bottom:.75rem;font-size:1.1rem;color:var(--color-primary)}.pricing-table th:first-child,.pricing-table td:first-child{text-align:left;padding-left:.5rem}.input-error{border-color:#e53e3e!important;box-shadow:0 0 0 1px #e53e3e!important}.validation-error{color:#e53e3e;font-size:.875rem;margin-top:.25rem;margin-bottom:0;display:flex;align-items:center;word-wrap:break-word;max-width:100%}.validation-error:before{content:"⚠️";margin-right:.25rem}
