@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Space+Mono:wght@400;700&display=swap'); :root { --color-background: #fafafa; --color-text: #0f0f0f; --color-white: #ffffff; --color-neutral-lightest: #fafafa; --color-neutral-light: #b2b2b2; --color-neutral-dark: #575757; --color-neutral-darkest: #0f0f0f; --color-primary: #fb3737; --color-border: #b2b2b2; --section-padding: 112px; --page-padding: 20px; --text-regular: 18px; --heading-4: 40px; --heading-6: 24px; /* Brand colors */ --color-brand--copper: #8b5f38; --color-brand--copper-light: #ae7747; --color-brand--copper-lighter: #c99d6b; --color-brand--copper-dark: #6b4a2a; /* Neutral colors */ --color-neutral--neutral: #b2b2b2; --color-neutral--neutral-dark: #575757; --color-neutral--neutral-darker: #3a3a3a; --color-neutral--neutral-darkest: #0f0f0f; /* Text colors */ --text-primary-color: #fafafa; /* Border radius */ --border--radius--2: 2px; --border--radius--16: 16px; /* Fonts */ --heimat-mono: 'Space Mono', monospace; } * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background-color: var(--color-background); color: var(--color-text); line-height: 1.5; font-size: var(--text-regular); } .container { width: 100%; min-height: 100vh; display: flex; flex-direction: column; align-items: center; padding: var(--section-padding) 0; } .forms-wrapper { width: 100%; max-width: 1024px; padding: 0 var(--page-padding); display: flex; flex-direction: column; gap: 48px; } .form-content { width: 100%; display: flex; flex-direction: column; gap: 32px; scroll-margin-top: 20px; } /* Progress Section */ .progress-section { width: 100%; display: flex; flex-direction: column; gap: 8px; align-items: center; } .progress-container { width: 100%; height: 4px; background-color: var(--color-neutral-lightest); position: relative; overflow: hidden; } .progress-bar { position: absolute; top: 0; left: 0; height: 100%; background-color: var(--color-neutral-darkest); transition: width 0.3s ease; } .step-text { width: 100%; font-size: var(--text-regular); line-height: 1.5; color: var(--color-text); } /* Content Section */ .content-section { width: 100%; display: flex; flex-direction: column; gap: 32px; align-items: center; } .section-title { font-family: 'Space Mono', monospace; font-size: var(--heading-4); font-weight: 700; line-height: 1; letter-spacing: -0.4px; text-transform: uppercase; color: var(--color-text); width: 100%; text-align: center; } /* Form */ .form { width: 100%; display: flex; flex-direction: column; gap: 24px; } .form-row { display: flex; gap: 24px; width: 100%; } .form-row.divider { border-top: 1px solid var(--color-border); padding-top: 24px; } .form-input { flex: 1; display: flex; flex-direction: column; gap: 8px; } .form-input.full-width { width: 100%; } .form-input label { font-size: var(--text-regular); line-height: 1.5; color: var(--color-text); } /* Select Input */ .select-wrapper { position: relative; width: 100%; } .select-input { width: 100%; padding: 8px 40px 8px 12px; background-color: var(--color-white); border: 1px solid var(--color-neutral-light); font-size: var(--text-regular); line-height: 1.5; color: var(--color-neutral-darkest); appearance: none; cursor: pointer; } .select-input:disabled { opacity: 0.5; cursor: not-allowed; } .select-arrow { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--color-neutral-darkest); } /* Text Input */ .text-input { width: 100%; padding: 8px 12px; background-color: var(--color-white); border: 1px solid var(--color-neutral-light); font-size: var(--text-regular); line-height: 1.5; color: var(--color-neutral-darkest); font-family: inherit; } .text-input:focus, .select-input:focus { outline: none; border-color: var(--color-neutral-dark); } /* Textarea */ .textarea-input { width: 100%; min-height: 180px; padding: 12px; background-color: var(--color-white); border: 1px solid var(--color-neutral-light); font-size: var(--text-regular); line-height: 1.5; color: var(--color-neutral-darkest); font-family: inherit; resize: vertical; } .textarea-input:focus { outline: none; border-color: var(--color-neutral-dark); } /* Color Selector */ .color-selector-wrapper { display: flex; gap: 16px; width: 100%; align-items: flex-start; } .color-grid { display: flex; flex-wrap: wrap; width: 384px; gap: 0; } .color-swatch { width: 96px; height: 96px; border: 1px solid var(--color-background); position: relative; cursor: pointer; display: flex; align-items: flex-end; justify-content: flex-end; padding: 8px; } .color-checkbox { width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; } .checkbox-empty { width: 18px; height: 18px; border: 1px solid rgba(255, 255, 255, 0.5); background-color: transparent; } .color-info { display: flex; flex-direction: column; gap: 16px; flex: 1; } .color-info-text { display: flex; flex-direction: column; gap: 8px; min-width: 192px; } .color-info-text p:first-child { font-size: var(--text-regular); line-height: 1.5; color: var(--color-text); } .color-name { font-weight: 700; font-size: var(--text-regular); line-height: 1.5; color: var(--color-text); } .color-code { font-weight: 700; font-size: var(--text-regular); line-height: 1.5; color: var(--color-text); } .product-image-wrapper { width: 392px; height: 392px; background-color: var(--color-white); border: 1px solid var(--color-border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .product-image { width: 100%; height: 100%; object-fit: contain; object-position: center; } /* Checkboxes */ .checkboxes-group { display: flex; gap: 16px; flex-wrap: wrap; } .checkbox-label { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: var(--text-regular); line-height: 1.5; color: var(--color-neutral-darkest); } .checkbox-input { width: 18px; height: 18px; cursor: pointer; accent-color: var(--color-primary); } /* Buttons */ .form-actions { display: flex; justify-content: flex-end; align-items: flex-end; gap: 16px; height: 48px; } .btn { padding: 10px 24px; font-family: 'Space Mono', monospace; font-size: 16px; font-weight: 700; line-height: 1.5; text-transform: uppercase; border: none; cursor: pointer; white-space: nowrap; transition: opacity 0.2s; } .btn:disabled { opacity: 0.5; cursor: not-allowed; } .btn:hover:not(:disabled):not(.btn-primary):not(.btn-secondary) { opacity: 0.9; } .btn-secondary { border-top-style: solid; border-top-width: 1px; border-top-color: var(--color-neutral--neutral-darker); border-right-style: solid; border-right-width: 1px; border-right-color: var(--color-neutral--neutral-darker); border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: var(--color-neutral--neutral-darker); border-left-style: solid; border-left-width: 1px; border-left-color: var(--color-neutral--neutral-darker); border-top-left-radius: var(--border--radius--2); border-top-right-radius: var(--border--radius--2); border-bottom-left-radius: var(--border--radius--2); border-bottom-right-radius: var(--border--radius--2); background-color: var(--color-neutral--neutral-dark); background-image: linear-gradient(180deg, var(--color-neutral--neutral-dark), var(--color-neutral--neutral-darkest)); box-shadow: inset 0 2px 0 0 var(--color-neutral--neutral); font-family: var(--heimat-mono); color: var(--text-primary-color); font-size: 16px; text-transform: uppercase; white-space: nowrap; border-image-source: linear-gradient(#332626 0%, #000 100%); border-image-slice: 1; padding: 8px 20px; font-weight: 700; line-height: 1.5em; transition-property: all; transition-duration: 0.2s; transition-timing-function: ease; display: inline-flex; } .btn-secondary:hover:not(:disabled) { box-shadow: inset 0 0 10px 0 var(--color-neutral--neutral-darkest); opacity: 1; } .btn-primary { border-top-style: solid; border-top-width: 1px; border-top-color: var(--color-brand--copper); border-right-style: solid; border-right-width: 1px; border-right-color: var(--color-brand--copper); border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: var(--color-brand--copper); border-left-style: solid; border-left-width: 1px; border-left-color: var(--color-brand--copper); background-color: var(--color-brand--copper-light); background-image: linear-gradient(180deg, var(--color-brand--copper-light), var(--color-brand--copper) 100%, var(--color-brand--copper)); box-shadow: inset 0 2px 0 0 var(--color-brand--copper-lighter); font-family: var(--heimat-mono); color: var(--color-neutral-darkest); font-size: 16px; text-align: center; text-transform: uppercase; border-image-source: linear-gradient(#ae7747 100%, #8b5f38 100%); border-image-slice: 1; border-radius: 2px; justify-content: center; align-items: center; margin-right: 0; padding: 8px 20px; font-weight: 700; text-decoration: none; transition-property: all; transition-duration: 0.2s; transition-timing-function: ease; display: inline-flex; } .btn-primary:hover:not(:disabled) { box-shadow: inset 0 0 10px 0 var(--color-brand--copper-dark); opacity: 1; } .btn-primary:active:not(:disabled) { background-color: #43464d; } .btn-submit { min-width: 400px; } /* Form Layout for Step 3 */ .form-layout { display: flex; gap: 32px; width: 100%; align-items: flex-start; } .form-column { flex: 1; display: flex; flex-direction: column; gap: 24px; } .summary-column { width: 400px; flex-shrink: 0; display: flex; flex-direction: column; gap: 24px; } .summary-title { font-family: 'Space Mono', monospace; font-size: var(--heading-6); font-weight: 700; line-height: 1.1; letter-spacing: -0.24px; text-transform: uppercase; color: var(--color-text); } .summary-table { width: 100%; display: flex; flex-direction: column; } .summary-row { display: flex; gap: 16px; padding: 4px 0; border-bottom: 1px solid var(--color-border); align-items: center; } .summary-row-image { align-items: center; } .summary-label { font-family: 'Space Mono', monospace; font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--color-text); width: 128px; flex-shrink: 0; } .summary-value { font-family: 'Space Mono', monospace; font-size: 16px; font-weight: 400; text-transform: uppercase; color: var(--color-text); flex: 1; } .summary-image-wrapper { width: 120px; height: 120px; background-color: var(--color-white); border: 1px solid var(--color-border); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .summary-image { width: 100%; height: 100%; object-fit: contain; object-position: center; } /* Responsive */ @media (max-width: 1024px) { .form-layout { flex-direction: column; } .summary-column { width: 100%; } .color-selector-wrapper { flex-direction: column; } .color-grid { width: 100%; } .product-image-wrapper { width: 100%; max-width: 392px; } .btn-submit { min-width: auto; } } @media (max-width: 768px) { .form-row { flex-direction: column; } .color-grid { width: 100%; } .color-swatch { width: calc(25% - 0px); } }