@charset "UTF-8";:root{--background: #f9fafb;--foreground: #171717}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif}.quantity-input{width:60px;padding:.4rem;font-size:1rem;border:1px solid #ccc;border-radius:.5rem}.quantity-selector{display:flex;align-items:center;gap:.5rem;font-size:1rem}.quantity-selector .quantity-button{width:2.5rem;height:2.5rem;border:none;border-radius:.5rem;background-color:#f0f0f0;color:#333;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}.quantity-selector .quantity-button:hover:not(:disabled){background-color:#f15924;color:#fff}.quantity-selector .quantity-button:disabled{background-color:#ccc;cursor:not-allowed;color:#888}.quantity-selector .quantity-display{min-width:2rem;text-align:center;font-weight:600;font-size:1.25rem}.flex-row{display:flex;flex-direction:row;gap:.75rem}.flex-column{display:flex;flex-direction:column}.flex-1{flex:1}.admin-layout{display:flex;min-height:100vh;font-family:sans-serif}.admin-layout .sidebar{width:200px;background-color:#1f2937;color:#fff;padding:1rem;display:flex;flex-direction:column;gap:1rem}.admin-layout .sidebar h2{margin-bottom:1rem}.admin-layout .sidebar ul{list-style:none;padding:0;margin:0}.admin-layout .sidebar ul li{margin:.5rem 0}.admin-layout .sidebar ul li a{color:#cbd5e0;text-decoration:none}.admin-layout .sidebar ul li a:hover{text-decoration:underline}.admin-layout .content{flex:1;background:#f9fafb;display:flex;flex-direction:column}.admin-layout .content .topbar{background:#fff;padding:1rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.admin-layout .content .topbar button{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.admin-layout .content .topbar button:hover{background:#dc2626}.admin-layout .content .main-content{padding:2rem}.admin-product-page{max-width:600px;margin:40px auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:#222;background-color:#fefefe;border-radius:12px;box-shadow:0 8px 24px #0000001a}.admin-product-page .product-image{width:100%;height:320px;object-fit:cover;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#e5e7eb}.admin-product-page .placeholder{display:flex;justify-content:center;align-items:center;color:#6b7280;font-size:1.2rem;font-weight:500;height:320px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#e5e7eb;-webkit-user-select:none;user-select:none}.admin-product-page h2{margin:24px 0 12px;font-size:2rem;font-weight:700;color:#111827}.admin-product-page p{margin-bottom:16px;line-height:1.6;font-size:1rem;color:#4b5563}.admin-product-page p:last-of-type{font-weight:600;color:#1f2937}.admin-product-page .edit-form{display:flex;flex-direction:column;gap:1rem}.admin-product-page .edit-form label{display:flex;flex-direction:column;font-weight:700}.admin-product-page .edit-form input,.admin-product-page .edit-form textarea{margin-top:.5rem;padding:.75rem 1rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.admin-product-page .edit-form input:focus,.admin-product-page .edit-form textarea:focus{outline:none;border-color:#f15924}.admin-product-page .edit-form textarea{resize:vertical;min-height:120px}.admin-product-page .edit-form .form-actions{gap:1rem;display:flex;justify-content:center;align-items:center;margin-top:2rem}.admin-product-page .edit-form .form-actions button{margin:0 1.5rem;padding:.75rem 1.5rem;background-color:#fff;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600}.admin-product-page .edit-form .form-actions button:hover{background-color:#f15924;color:#fff;border-color:#f15924}.admin-product-page .edit-form .form-actions button:disabled{opacity:.6;cursor:not-allowed}.admin-product-page .edit-form .form-actions .save-button{background-color:#f15924;color:#fff;border:none;transition:background-color .2s}.admin-product-page .edit-form .form-actions .save-button:hover{background-color:#d8491c}.admin-product-page .edit-form .form-actions .remove-button{background-color:#fff;color:#f15924;border:1px solid #f15924}.admin-product-page .edit-form .form-actions .remove-button:hover{background-color:#f15924;color:#fff;border-color:#f15924}.product-card{background-color:#fff;border-radius:12px;box-shadow:0 6px 18px #00000014;cursor:pointer;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}.product-card:hover,.product-card:focus{transform:translateY(-6px);box-shadow:0 12px 24px #00000029;outline:none}.product-image.placeholder{display:flex;justify-content:center;align-items:center;background-color:#e2e8f0;color:#64748b;font-size:1rem;font-weight:600;height:180px;-webkit-user-select:none;user-select:none}.product-name{margin:16px;font-size:1.2rem;font-weight:700;color:#111827;flex-grow:1}.product-price{margin:0 16px 16px;font-size:1rem;color:#6b7280;font-weight:600}.container{max-width:600px;margin:4rem auto;padding:2rem;background-color:#fff;border-radius:1rem;box-shadow:0 8px 24px #00000014;font-family:Helvetica Neue,sans-serif}.container h1{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:#222}.container form,.container .form-section{display:flex;flex-direction:column;gap:1.5rem}.container form label,.container .form-section label{display:flex;flex-direction:column;font-weight:500;font-size:1rem;color:#444}.container form label input,.container form label textarea,.container .form-section label input,.container .form-section label textarea{margin-top:.5rem;padding:.75rem 1rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.container form label input:focus,.container form label textarea:focus,.container .form-section label input:focus,.container .form-section label textarea:focus{outline:none;border-color:#f15924}.container form label textarea,.container .form-section label textarea{resize:vertical;min-height:120px}.container .dropzone{border:2px dashed #ccc;border-radius:.75rem;padding:2rem;text-align:center;color:#888;font-size:1rem;transition:border-color .2s ease}.container .dropzone:hover{border-color:#f15924}.container .dropzone.active{border-color:#f15924;background-color:#fff7f3}.container .dropzone p{margin:0;font-size:.95rem}.container .preview{display:flex;flex-direction:column;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.container .preview .image-item{display:flex;flex-direction:row;cursor:grab;padding:1rem;background:#f9f9f9;border:1px solid #ddd;border-radius:.5rem;margin-bottom:1rem}.container .preview .image-item.main{border-color:#f15924;background-color:#fff7f3}.container .preview .image-item .image-preview{max-width:40%}.container .preview .image-item .image-preview img{height:auto;display:block;margin-bottom:.5rem}.container .preview .image-item .image-caption{flex-grow:1;margin:.5rem 1rem;display:flex;flex-direction:column;justify-content:center}.container .preview .image-item .image-caption input{flex:1;margin:.75rem;padding:.5rem;border:1px solid #ccc;border-radius:.25rem;font-size:.9rem}.container .preview .image-item .image-caption input:focus{outline:none;border-color:#f15924}.container .preview .image-item .image-caption .remove-button{margin:auto;padding:.5rem 1rem;background-color:#f15924;color:#fff;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .2s;font-size:.9rem}.container .preview .image-item .image-caption .remove-button:hover{background-color:#d8491c}.container .step-buttons{display:flex;justify-content:center;align-items:center;margin-top:2rem}.container .step-buttons .step-button{margin:0 1.5rem;padding:.75rem 1.5rem;background-color:#fff;color:#f15924;font-size:1rem;font-weight:600;border:1px solid #f15924;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.container .step-buttons .step-button:hover{background-color:#f15924;color:#fff;border-color:#f15924}.container .step-buttons .step-button:disabled{opacity:.6;cursor:not-allowed}.container .submit-button{margin-top:.5rem;padding:.75rem;width:100%;background-color:#f15924;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.container .submit-button:hover{background-color:#d8491c}.cart-page{max-width:800px;margin:4rem auto;padding:2rem;background-color:#fff;border-radius:1rem;box-shadow:0 8px 24px #00000014;font-family:Helvetica Neue,sans-serif}.cart-page h1{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:#222}.cart-page .cart-list{display:flex;flex-direction:column;gap:1.5rem}.cart-page .cart-list .cart-item{display:flex;align-items:center;justify-content:space-between;border:1px solid #eee;border-radius:.75rem;padding:1rem;background-color:#fafafa;gap:1rem}.cart-page .cart-list .cart-item .item-image{flex-shrink:0;width:80px;height:80px;border-radius:.5rem;overflow:hidden}.cart-page .cart-list .cart-item .item-image img{width:100%;height:100%;object-fit:cover;display:block}.cart-page .cart-list .cart-item .item-info{flex:1;display:flex;flex-direction:column}.cart-page .cart-list .cart-item .item-info .item-name{font-size:1.1rem;font-weight:600;color:#333}.cart-page .cart-list .cart-item .item-info .item-price{font-size:.95rem;color:#666}.cart-page .cart-list .cart-item .item-info .item-quantity{margin-top:.5rem}.cart-page .cart-list .cart-item .item-info .item-quantity input{width:60px;padding:.4rem;font-size:1rem;border:1px solid #ccc;border-radius:.5rem}.cart-page .cart-list .cart-item .remove-button{margin-left:1rem;padding:.5rem 1rem;background-color:#fff;color:#ff4136;border:1px solid #ff4136;border-radius:.5rem;cursor:pointer;font-size:.9rem}.cart-page .cart-list .cart-item .remove-button:hover{background-color:#ff4136;color:#fff}.cart-page .cart-summary{margin-top:2rem;text-align:center}.cart-page .cart-summary .total{font-size:1.2rem;font-weight:700;margin-bottom:1rem}.cart-page .cart-summary .button-group{display:flex;justify-content:center;gap:1rem}.cart-page .cart-summary .button-group button{margin-top:.75rem;padding:.75rem 2rem;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;border:none}.cart-page .cart-summary .button-group .checkout-button{background-color:#f15924;color:#fff}.cart-page .cart-summary .button-group .checkout-button:hover{background-color:#d8491c}.cart-page .cart-summary .button-group .checkout-button:disabled{opacity:.6;cursor:not-allowed}.cart-page .cart-summary .button-group .back-to-products-button{background:#f5f5f5;color:#333}.cart-page .cart-summary .button-group .back-to-products-button:hover{background:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.cart-page .cart-summary .clear-button{margin:auto;width:fit-content;color:#005ac1;cursor:pointer}.cart-page .cart-summary .clear-button:hover{text-decoration:underline}.cart-page .empty-message{text-align:center;font-size:1.1rem;color:#888;margin-top:2rem}.checkout-container{max-width:600px;margin:4rem auto;padding:2rem;background-color:#fff;border-radius:1rem;box-shadow:0 8px 24px #00000014;font-family:Helvetica Neue,sans-serif}.checkout-container h1{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:#222}.checkout-container form,.checkout-container .form-section{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1rem}.checkout-container form label,.checkout-container .form-section label{display:flex;flex-direction:column;font-weight:500;font-size:1rem;color:#444}.checkout-container form label input,.checkout-container form label textarea,.checkout-container .form-section label input,.checkout-container .form-section label textarea{padding:.75rem 1rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.checkout-container form label input:focus,.checkout-container form label textarea:focus,.checkout-container .form-section label input:focus,.checkout-container .form-section label textarea:focus{outline:none;border-color:#f15924}.checkout-container form label textarea,.checkout-container .form-section label textarea{resize:vertical;min-height:120px}.checkout-container form label select,.checkout-container .form-section label select{margin-top:.5rem;padding:.75rem 1rem;border:1px solid #ccc;border-radius:.5rem;font-size:1rem;font-family:inherit;background-color:#fff;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 14 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23444' stroke-width='2' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:.75rem;cursor:pointer;transition:border-color .2s}.checkout-container form label select:focus,.checkout-container .form-section label select:focus{outline:none;border-color:#f15924}.checkout-container form label select option,.checkout-container .form-section label select option{background-color:#fff;color:#333;font-size:1rem}.checkout-container .form-label{display:flex;flex-direction:column;gap:.4rem;font-size:.95rem;color:#333}.checkout-container .form-label-header{display:flex;align-items:baseline;gap:.5rem}.checkout-container .form-label-title{font-weight:600;font-size:1rem}.checkout-container .form-label-required{font-size:.8rem;color:#e53935;font-weight:500}.checkout-container .form-label-hint{font-size:.8rem;color:#666}.checkout-container .form-input{padding:.75rem 1rem;border:1.5px solid #ddd;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.checkout-container .form-input{margin-top:.25rem;padding:.75rem 1rem;border:1.5px solid #ddd;border-radius:.5rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.checkout-container .form-input:focus{border-color:#f15924;box-shadow:0 0 0 3px #f1592426;outline:none}.checkout-container .form-input.has-error{border-color:#e53935;box-shadow:0 0 0 3px #e5393526}.checkout-container .form-error{margin-top:.25rem;font-size:.85rem;color:#e53935;font-weight:500}.checkout-container .step-buttons{display:flex;justify-content:center;align-items:center;margin-top:2rem}.checkout-container .step-buttons .step-button{margin:0 1.5rem;padding:.75rem 1.5rem;background-color:#fff;color:#f15924;font-size:1rem;font-weight:600;border:1px solid #f15924;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.checkout-container .step-buttons .step-button:hover{background-color:#f15924;color:#fff;border-color:#f15924}.checkout-container .step-buttons .step-button:disabled{opacity:.6;cursor:not-allowed}.checkout-container .submit-button{margin-top:.5rem;padding:.75rem;width:100%;background-color:#f15924;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s}.checkout-container .submit-button:hover{background-color:#d8491c}.checkout-container .button-link{margin-top:.75rem;padding:.75rem;width:100%;color:#fff;font-size:1.05rem;font-weight:600;border:none;border-radius:.75rem;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 6px #00000014;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.checkout-container .button-linkbutton{width:100%}.checkout-container .button-linka{text-align:center;text-decoration:none}.checkout-container .button-link:disabled{background-color:#e0e0e0;color:#9e9e9e;cursor:not-allowed;box-shadow:none}.checkout-container .button-link.bright-colour{background:linear-gradient(135deg,#ff7043,#f15924)}.checkout-container .button-link.bright-colour:hover{background:linear-gradient(135deg,#f15924,#d84315);transform:translateY(-2px);box-shadow:0 4px 10px #f159244d}.checkout-container .button-link.dim-colour{background:#f5f5f5;color:#333}.checkout-container .button-link.dim-colour:hover{background:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.checkout-container .button-link.button-fit{width:auto;padding:.5rem 1rem}.confirm-page h2{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:#222}.confirm-page .cart-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.confirm-page .cart-list .cart-item{display:flex;align-items:center;border:1px solid #eee;border-radius:.75rem;padding:1rem;background-color:#fafafa;gap:1rem}.confirm-page .cart-list .cart-item .item-image{flex-shrink:0;width:80px;height:80px;border-radius:.5rem;overflow:hidden}.confirm-page .cart-list .cart-item .item-image img{width:100%;height:100%;object-fit:cover;display:block}.confirm-page .cart-list .cart-item .item-info{flex:1;display:flex;flex-direction:column}.confirm-page .cart-list .cart-item .item-info .item-name{font-size:1.1rem;font-weight:600;color:#333}.confirm-page .cart-list .cart-item .item-info .item-price,.confirm-page .cart-list .cart-item .item-info .item-quantity{font-size:.95rem;color:#666;margin-top:.3rem}.confirm-page .shipping-info{background-color:#f6f6f6;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;border:1px solid #ddd}.confirm-page .shipping-info h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.confirm-page .shipping-info p{margin:0;color:#333;font-size:1rem;white-space:pre-wrap}.confirm-page .shipping-info .edit-button{background-color:#0070f3}.confirm-page .shipping-info .edit-button:hover{background-color:#005ac1}.confirm-page .total{text-align:right;font-size:1.2rem;font-weight:700;margin-bottom:2rem;color:#000}.login-page{max-width:420px;margin:5rem auto;padding:3rem 2rem;background:linear-gradient(145deg,#fff,#fffaf5);border-radius:1.25rem;box-shadow:0 12px 32px #0000001a;font-family:Helvetica Neue,sans-serif}.login-page h1{text-align:center;font-size:2rem;font-weight:700;margin-bottom:2.5rem;color:#222}.login-page form{display:flex;flex-direction:column;gap:1.8rem}.login-page form label{font-size:.95rem;color:#555;font-weight:500}.login-page form label input{margin-top:.5rem;padding:.85rem 1rem;border:1px solid #ddd;border-radius:.75rem;font-size:1rem;background-color:#fafafa;transition:all .2s}.login-page form label input:focus{outline:none;border-color:#f15924;box-shadow:0 0 0 3px #f1592426;background-color:#fff}.login-page form label input::placeholder{color:#ccc}.login-page form .forgot-password{text-align:right;font-size:.85rem;color:#f15924;text-decoration:none;transition:color .2s}.login-page form .forgot-password:hover{color:#d8491c}.login-page form .submit-button{margin-top:1rem;padding:.85rem;width:100%;background-color:#f15924;color:#fff;font-size:1.05rem;font-weight:600;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s}.login-page form .submit-button:hover{background-color:#d8491c;box-shadow:0 6px 16px #f159244d}.login-page form .submit-button:active{transform:scale(.98)}.login-page form .divider{text-align:center;margin:1.5rem 0;font-size:.85rem;color:#aaa}.login-page form .divider:before,.login-page form .divider:after{content:"";display:inline-block;width:35%;height:1px;background-color:#eee;margin:0 .5em;vertical-align:middle}.login-page form .social-login{display:flex;gap:1rem}.login-page form .social-login button{flex:1;padding:.75rem;font-size:.95rem;border-radius:.75rem;border:1px solid #ddd;background-color:#fff;cursor:pointer;transition:all .2s}.login-page form .social-login button:hover{background-color:#f5f5f5}.login-page .signup-link{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#777}.login-page .signup-link a{color:#f15924;font-weight:500;text-decoration:none}.login-page .signup-link a:hover{color:#d8491c}.product-page{max-width:600px;margin:40px auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:#222;background-color:#fefefe;border-radius:12px;box-shadow:0 8px 24px #0000001a}.product-page .product-image{width:100%;height:320px;object-fit:cover;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#e5e7eb}.product-page .placeholder{display:flex;justify-content:center;align-items:center;color:#6b7280;font-size:1.2rem;font-weight:500;height:320px;border-top-left-radius:12px;border-top-right-radius:12px;background-color:#e5e7eb;-webkit-user-select:none;user-select:none}.product-page h2{margin:24px 0 12px;font-size:2rem;font-weight:700;color:#111827}.product-page p{margin-bottom:16px;line-height:1.6;font-size:1rem;color:#4b5563}.product-page p:last-of-type{font-weight:600;color:#1f2937}.product-page .buttons{padding:1rem}.product-page .view-cart-link{width:8rem;height:8rem;display:flex;flex-direction:column;margin-top:1rem;font-size:.95rem;font-weight:500;color:#f15924;border:1px solid #f15924;border-radius:1rem;text-decoration:none;transition:color .2s ease;align-items:center;justify-content:center;gap:.5rem}.product-page .view-cart-link:hover{text-decoration:underline}.product-page .item-quantity{display:flex;flex-direction:row;align-items:center}.product-page .button-link{margin-top:.75rem;padding:.75rem;width:100%;color:#fff;font-size:1.05rem;font-weight:600;border:none;border-radius:.75rem;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 6px #00000014;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.product-page .button-linkbutton{width:100%}.product-page .button-linka{text-align:center;text-decoration:none}.product-page .button-link:disabled{background-color:#e0e0e0;color:#9e9e9e;cursor:not-allowed;box-shadow:none}.product-page .button-link.bright-colour{background:linear-gradient(135deg,#ff7043,#f15924)}.product-page .button-link.bright-colour:hover{background:linear-gradient(135deg,#f15924,#d84315);transform:translateY(-2px);box-shadow:0 4px 10px #f159244d}.product-page .button-link.dim-colour{background:#f5f5f5;color:#333}.product-page .button-link.dim-colour:hover{background:#e0e0e0;transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.product-page .button-link.button-fit{width:auto;padding:.5rem 1rem}.products-page{width:80%;margin:0 auto;padding:40px 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:#222;background-color:#f9fafb;min-height:100vh}.page-header{text-align:center;margin-bottom:40px}.page-header h1{font-size:2.8rem;font-weight:700;margin-bottom:.3em;color:#111827}.page-header p{font-size:1.125rem;color:#6b7280;max-width:600px;margin:0 auto}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px}.product-card{background-color:#fff;border-radius:12px;box-shadow:0 8px 20px #00000014;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.product-image{width:100%;height:180px;object-fit:cover;flex-shrink:0}.product-title{margin:16px 16px 8px;font-size:1.25rem;font-weight:600;color:#111827;flex-grow:1}.product-price{margin:0 16px 16px;font-size:1rem;color:#6b7280;font-weight:500}
