.container{align-items:center;justify-content:center;gap:1rem;min-height:100vh}.app-container,.container{display:flex;flex-direction:column}.app-container{height:100vh}.main-content{display:flex;width:100%;flex:1 1;padding-bottom:50px;overflow:hidden;justify-content:center;gap:1rem;max-width:1200px;margin-left:auto;margin-right:auto}.inputs-panel{flex:0 0 400px;max-width:400px;padding:1rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;border:1px solid #ccc;border-radius:8px}.colour-position-controls{display:flex;flex-direction:column;gap:.25rem}.position-buttons-wrapper{display:flex;justify-content:center}.labels-row{display:flex;justify-content:flex-start;gap:.5rem}.inputs-row{display:flex;align-items:center;justify-content:space-evenly;gap:.5rem}.colour-position-controls-label{display:flex;align-items:flex-start}.viewer-panel{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;max-width:800px}.viewer-canvas-row{display:flex;flex-direction:row;align-items:center;gap:1rem;width:100%;height:100%}.canvas-wrapper{position:relative;display:inline-block;width:100%;height:100%}.camera-controls{position:absolute;bottom:1rem;right:1rem;z-index:1}.input-group{display:flex;flex-direction:column}.input-with-counter{position:relative;display:flex;align-items:center}.input-with-counter .text-input{padding-right:50px;width:100%;box-sizing:border-box}.char-counter{position:absolute;right:10px;font-size:.8rem;color:#888}.text-box{border:2px solid #666;border-radius:8px;box-shadow:0 4px 16px 0 rgba(0,0,0,.12),0 1.5px 4px 0 rgba(0,0,0,.1);padding:1rem;gap:.5rem}.box-label{font-weight:700;margin-bottom:.5rem}.control-label{font-size:.8rem;margin-top:.5rem}.checkbox-label{display:flex;align-items:center;font-size:.8rem;margin-bottom:.5rem;gap:.5rem}.extra-info{font-style:italic;margin-left:1rem;color:#555}.separator{border:none;border-top:1px solid #ccc;margin:1rem 0}.text-input{padding:.5rem 1rem;font-size:1rem}.continue-button{padding:1rem;font-size:1.2rem;font-weight:700;background-color:#ff5722;color:#fff}.continue-button:hover{background-color:#e64a19}.continue-button:disabled{background-color:#a23a1a;cursor:not-allowed;opacity:.8}.back-button{align-self:center;padding:.5rem 1rem;font-size:1rem;border:1px solid}:root[data-theme=dark] .back-button{background-color:#2a2a2a;color:#fff;border-color:#555}:root[data-theme=light] .back-button{background-color:#e0e0e0;color:#111;border-color:#ccc}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%}.title-container{position:relative;display:flex;justify-content:space-between;align-items:stretch}.header-main{flex-grow:1;position:relative}.header-right{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:.5rem 1rem .5rem 0}.contact-link{background:none;border:none;cursor:pointer;font-size:1rem;color:#888;text-decoration:none;white-space:nowrap}.contact-link:hover{text-decoration:underline}.theme-toggle{background:none;border:none;font-size:1.5rem;cursor:pointer}.title{display:flex;justify-content:center;align-items:center;padding:1rem 0 0}.title img{height:150px}.input-row{display:flex;align-items:center;gap:1rem}@keyframes shake{0%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}to{transform:translateX(0)}}.email-error-input{border:2px solid #851810!important;animation:shake .3s}.position-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem}.final-title{font-weight:700;font-size:1.2rem;margin-bottom:.25rem}.final-subtitle{font-size:.9rem;margin-bottom:.5rem}.privacy-note{font-size:.8rem;margin-bottom:.5rem;color:#555}.price-display{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:700;padding:.5rem 0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:.5rem 0}.price-amount{color:#ff5722}.reassurance-notes{font-size:.8rem;margin:.5rem 0;color:#4caf50}.reassurance-notes .note{color:inherit;font-style:normal;font-size:1em}.note{font-style:italic;color:#555;font-size:.9rem}.note a{color:inherit;text-decoration:underline}.dimensions-display{font-size:.9rem;color:#555;margin-top:.75rem;padding:.5rem;border-radius:4px;text-align:center}@media (max-width:768px){.header-right{flex-direction:row;align-items:center;position:static;padding-right:.5rem;gap:.5rem}.contact-link{position:static;font-size:1rem}.title img{height:50px}.app-container{overflow:hidden}.main-content{flex:1 1;min-height:0;flex-direction:column-reverse;align-items:center;padding:0 10px;box-sizing:border-box}.viewer-panel{width:100%;max-width:none;flex:0 0 20vh}.viewer-panel .camera-controls{display:none}.inputs-panel{width:100%;max-width:none;border:none;flex:1 1;min-height:0;overflow-y:auto;padding-bottom:100px}}.delivery-options{display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.delivery-options label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid;border-radius:4px;cursor:pointer;transition:border-color .2s ease-in-out,background-color .2s ease-in-out}.delivery-options input[type=radio]{display:none}:root[data-theme=light] .delivery-options label{border-color:#ccc;background-color:#fff}:root[data-theme=dark] .delivery-options label{border-color:#555;background-color:#242424}:root[data-theme=light] .delivery-options label:has(input[type=radio]:checked){border-color:#ff5722;background-color:#fdf8f6}:root[data-theme=dark] .delivery-options label:has(input[type=radio]:checked){border-color:#ff5722;background-color:#333}.loading-placeholder{font-size:1.2rem;color:#888}#splash-screen,.loading-placeholder{display:flex;justify-content:center;align-items:center;width:100%;height:100%}#splash-screen{position:fixed;top:0;left:0;background-color:#242424;z-index:9999;transition:opacity .5s ease-out}#splash-screen img{width:200px}#splash-screen.hidden,.content-hidden{opacity:0;pointer-events:none}.content-hidden{visibility:hidden}.color-buttons{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}.colour-position-controls .color-buttons{margin-top:0}.color-button{width:2rem;height:2rem;border:1px solid #ccc;border-radius:50%;cursor:pointer;padding:0}.color-button.black{background-color:#000}.color-button.white{background-color:#fff}.color-button.blue{background-color:blue}.color-button.orange{background-color:orange}.color-button.yellow{background-color:#ff0}.color-button.lightgreen{background-color:#90ee90}.color-button.darkgreen{background-color:#006400}.color-button.red{background-color:red}.color-button.pink{background-color:#e605c4}.color-button.grey{background-color:grey}.color-button.active{border:2px solid #666}.font-select{position:relative;margin-top:.5rem;width:100%}.font-select-display{padding:.5rem 1rem;font-size:1rem;border-radius:4px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M2 2l8 8 8-8' stroke='%23666' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.65rem;border:1px solid #ccc;cursor:pointer}.font-options{position:absolute;top:calc(100% + 2px);left:0;right:0;max-height:200px;overflow-y:auto;border:1px solid #ccc;border-radius:4px;list-style:none;padding:0;margin:0;z-index:10}:root[data-theme=dark] .font-options{background:#242424;color:hsla(0,0%,100%,.87)}:root[data-theme=light] .font-options{background:#fff;color:#213547}.font-options li{padding:.5rem 1rem;cursor:pointer}:root[data-theme=dark] .font-options li:hover{background:#444}:root[data-theme=light] .font-options li:hover{background:#eee}.position-buttons{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);grid-gap:.2rem;gap:.2rem}.position-buttons button{width:50px;height:50px;padding:0;font-size:1.2rem;margin:6px}.arrow-label,.position-buttons button{display:flex;align-items:center;justify-content:center}.arrow-label{height:100%;text-align:center;font-size:1rem;font-weight:700}.blob-container{top:0;left:0}.blob-container,.blob-main{position:absolute;width:100%;height:100%}.blob-main{pointer-events:none;overflow:hidden;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default}.blob{will-change:transform;transform:translate(-50%,-50%)}.blob,.inner-dot{position:absolute}.collapsible-section{border:1px solid #ccc;border-radius:8px;margin-bottom:1rem}.collapsible-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem;border:none;cursor:pointer;font-size:1.2rem;font-weight:700;background-color:transparent;color:inherit}.collapsible-title{flex-grow:1;text-align:left}.collapsible-icon{font-size:1.5rem}.collapsible-content{padding:1rem}.carousel-container{overflow-x:auto;white-space:nowrap;padding-bottom:1rem}.carousel-track{display:inline-flex;gap:1rem}.carousel-item{flex:0 0 auto;width:150px;height:150px;overflow:hidden;border-radius:8px}.carousel-item img{width:100%;height:100%;object-fit:cover}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.8);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{position:relative}.modal-content img{max-width:90vw;max-height:90vh;display:block}.modal-arrow{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:4rem;cursor:pointer;z-index:1001;padding:1rem}.modal-arrow.prev{left:1rem}.modal-arrow.next{right:1rem}.modal-close{position:absolute;top:-2rem;right:-2rem;background:none;border:none;color:#fff;font-size:3rem;cursor:pointer}:root{--col-gap:5%;--row-gap:5%;--cube-perspective:99999999px;--cube-face-border:1px solid #fff;--cube-face-bg:#060010}.default-animation{position:relative;width:100%;height:100%}.default-animation--scene{display:grid;width:100%;height:100%;grid-column-gap:var(--col-gap);column-gap:var(--col-gap);grid-row-gap:var(--row-gap);row-gap:var(--row-gap);perspective:var(--cube-perspective);grid-auto-rows:1fr}.cube{position:relative;width:100%;height:100%;aspect-ratio:1/1;transform-style:preserve-3d}.cube:before{content:"";position:absolute;top:-36px;right:-36px;bottom:-36px;left:-36px}.default-animation .cube-face{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--cube-face-bg);border:var(--cube-face-border);opacity:1}.default-animation .cube-face--top{transform:translateY(-50%) rotateX(90deg)}.default-animation .cube-face--bottom{transform:translateY(50%) rotateX(-90deg)}.default-animation .cube-face--left{transform:translateX(-50%) rotateY(-90deg)}.default-animation .cube-face--right{transform:translateX(50%) rotateY(90deg)}.default-animation .cube-face--back,.default-animation .cube-face--front{transform:rotateY(-90deg) translateX(50%) rotateY(90deg)}@media (max-width:768px){.default-animation{width:90%}}.inputs-loading-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative}.inputs-cubes-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.inputs-loading-text{position:relative;z-index:2;color:#fff;font-size:1.2rem;font-family:Helvetica,Arial,sans-serif;text-shadow:0 0 10px hsla(0,0%,100%,.5);background-color:rgba(0,0,0,.6);padding:1rem 2rem;border-radius:8px;text-align:center}.spinner{border-radius:50%;border:4px solid hsla(0,0%,100%,.3);border-top-color:#fff;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem;position:relative;z-index:2}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.zoom-controls{display:flex;flex-direction:row;gap:.5rem}.zoom-controls button{background-color:hsla(0,0%,100%,.8);border:1px solid #ccc;border-radius:4px;padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.zoom-controls button:hover{background-color:#fff}.admin-login-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f0f2f5;color:#333}.login-form{padding:2rem;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;flex-direction:column;gap:1rem;width:300px}.login-form h1{text-align:center;margin-bottom:1rem;color:#333}.login-form input{padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;color:#333}.login-form button{padding:.75rem;border:none;border-radius:4px;background-color:#007bff;color:#fff;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.login-form button:hover{background-color:#0056b3}.admin-container{padding:2rem;font-family:sans-serif;background-color:#f8f9fa;color:#333;min-height:100vh}.admin-container h1{color:#343a40;margin-bottom:2rem;text-align:center}.filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.search-bar{padding:.75rem;width:300px;border:1px solid #ced4da;border-radius:4px;font-size:1rem;color:#333}.status-filters{display:flex;gap:.5rem}.status-filters button{padding:.5rem 1rem;border:1px solid #dee2e6;background-color:#fff;color:#495057;border-radius:20px;cursor:pointer;transition:all .2s ease-in-out}.status-filters button:hover{background-color:#e9ecef}.status-filters button.active{background-color:#007bff;color:#fff;border-color:#007bff}.orders-table{width:100%;border-collapse:collapse;background:#fff;color:#333;box-shadow:0 2px 4px rgba(0,0,0,.05);border-radius:8px;overflow:hidden}.orders-table td,.orders-table th{padding:1rem;text-align:left;border-bottom:1px solid #dee2e6;color:#333;background-color:#fff}.orders-table th{background-color:#f8f9fa;color:#495057;font-weight:600}.orders-table tr:last-child td{border-bottom:none}.orders-table tr:hover td{background-color:#f1f3f5}.download-btn{padding:.5rem 1rem;border:none;border-radius:4px;background-color:#28a745;color:#fff;cursor:pointer;transition:background-color .2s}.download-btn:hover{background-color:#218838}.error-message{color:#dc3545;text-align:center}.status-select{padding:.5rem;border-radius:4px;border:1px solid #ccc;background-color:#fff;cursor:pointer;color:#333}.status-select.status-paid{background-color:#d4edda;border-color:#c3e6cb}.status-select.status-pending{background-color:#fff3cd;border-color:#ffeeba}.status-select.status-completed{background-color:#d1ecf1;border-color:#bee5eb}.status-select.status-failed{background-color:#f8d7da;border-color:#f5c6cb}.info-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000}.info-modal-content{background-color:var(--background-color);padding:20px;border-radius:8px;max-width:500px;text-align:center;position:relative}.info-modal-content img{max-width:100%;border-radius:4px}.info-modal-content p{background-color:rgba(0,0,0,.1);padding:1rem;border-radius:4px;color:#fff}.power-user-note{margin-top:1rem;font-size:.8rem}.power-user-note a{color:#aaa;text-decoration:underline}.info-modal-close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;cursor:pointer;color:#fff}.contact-page-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);overflow-y:auto;padding:2rem 0}.contact-page-card{background-color:var(--background-color,#fff);color:var(--text-color,#000);padding:2rem 3rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);text-align:center;max-width:600px;width:90%;position:relative;border:1px solid var(--border-color,#ddd)}.contact-page-card h1{margin-bottom:1rem;color:var(--primary-color,#ff5722)}.contact-page-card p{margin-bottom:1.5rem;line-height:1.6}.contact-page-card a{color:var(--primary-color,#ff5722);text-decoration:none;font-weight:700}.contact-page-card a:hover{text-decoration:underline}.home-button{display:inline-block;margin-top:1rem;padding:12px 24px;background-color:var(--primary-color,#ff5722);color:#fff;border:none;border-radius:8px;text-decoration:none;font-weight:700;cursor:pointer;transition:background-color .3s ease}.home-button:hover{background-color:#e64a19}.close-button{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text-color-secondary,#888)}