/* ======================================== CJ'S BREW & BBQ - SAUSAGE SCALER REDESIGN Unified with Recipe Form Design ======================================== */ :root { --color-primary-orange: #f97316; --color-primary-brown: #8b4513; --color-bg-light: #faf9f7; --color-bg-card: #ffffff; --color-border-light: #e8e8e8; --color-text-dark: #2c2c2c; --color-text-muted: #666666; --color-success: #10b981; --color-error: #ef4444; } /* ======================================== GLOBAL ======================================== */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; color: var(--color-text-dark); background: linear-gradient(135deg, var(--color-bg-light) 0%, #f5f0eb 100%); line-height: 1.6; } /* ======================================== CALCULATOR CONTAINER ======================================== */ .sausage-scaler-wrapper { max-width: 900px; margin: 40px auto; padding: 20px; } .sausage-scaler-container { background: white; border-radius: 16px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); overflow: hidden; } /* ======================================== HEADER ======================================== */ .calculator-header { background: linear-gradient(135deg, var(--color-primary-orange) 0%, #ea8c3e 100%); color: white; padding: 40px; text-align: center; } .calculator-header h1 { font-size: 2.2rem; font-weight: 700; margin-bottom: 8px; letter-spacing: -0.5px; } .calculator-header p { font-size: 1.05rem; opacity: 0.95; } /* ======================================== CALCULATOR CONTENT ======================================== */ .calculator-content { padding: 40px; } /* ======================================== SECTION CARDS ======================================== */ .calc-section { margin-bottom: 32px; padding: 28px; background: linear-gradient(135deg, #fff8f0 0%, #fef4e8 100%); border: 2px solid var(--color-primary-orange); border-radius: 12px; transition: all 0.2s ease; } .calc-section:hover { box-shadow: 0 4px 16px rgba(249, 115, 22, 0.15); transform: translateY(-2px); } .calc-section.results-section { background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); border-color: #0284c7; } .calc-section.input-section { background: linear-gradient(135deg, #fef9f3 0%, #fef4e8 100%); } .section-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 2px solid rgba(139, 69, 19, 0.2); } .section-icon { font-size: 1.8rem; } .section-title { font-size: 1.35rem; font-weight: 700; color: var(--color-primary-brown); } .section-subtitle { font-size: 0.85rem; color: var(--color-text-muted); font-weight: 500; } /* ======================================== FORM ELEMENTS ======================================== */ .calc-form-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 20px; } .calc-form-group { display: flex; flex-direction: column; } .calc-label { font-size: 0.9rem; font-weight: 700; color: var(--color-text-dark); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.3px; } .calc-input, .calc-select { padding: 12px 14px; border: 1px solid var(--color-border-light); border-radius: 8px; font-size: 1rem; font-family: inherit; color: var(--color-text-dark); background: white; transition: all 0.2s ease; } .calc-input:focus, .calc-select:focus { outline: none; border-color: var(--color-primary-orange); box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1); background: #fafafa; } .calc-input::placeholder { color: #999; } .calc-input-unit { font-size: 0.85rem; color: var(--color-text-muted); margin-top: 4px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } /* ======================================== CASCADING DROPDOWN ======================================== */ .dropdown-wrapper { position: relative; } .dropdown-select { width: 100%; padding: 12px 14px; border: 1px solid var(--color-border-light); border-radius: 8px; font-size: 1rem; background: white; cursor: pointer; appearance: none; background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b4513' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 10px center; background-size: 20px; padding-right: 36px; transition: all 0.2s ease; } .dropdown-select:hover { border-color: var(--color-primary-orange); background-color: #fafafa; } .dropdown-select:focus { outline: none; border-color: var(--color-primary-orange); box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1); } /* ======================================== RATIO SLIDER ======================================== */ .ratio-slider-wrapper { margin: 20px 0; } .ratio-slider { width: 100%; height: 8px; border-radius: 5px; background: linear-gradient(to right, #91918e 0%, var(--color-primary-orange) 50%, var(--color-primary-brown) 100%); outline: none; -webkit-appearance: none; appearance: none; margin: 20px 0; } .ratio-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 28px; height: 28px; border-radius: 50%; background: var(--color-primary-orange); cursor: pointer; box-shadow: 0 2px 10px rgba(249, 115, 22, 0.4); transition: all 0.2s ease; } .ratio-slider::-webkit-slider-thumb:hover { transform: scale(1.2); box-shadow: 0 4px 16px rgba(249, 115, 22, 0.5); } .ratio-slider::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%; background: var(--color-primary-orange); cursor: pointer; border: none; box-shadow: 0 2px 10px rgba(249, 115, 22, 0.4); transition: all 0.2s ease; } .ratio-slider::-moz-range-thumb:hover { transform: scale(1.2); box-shadow: 0 4px 16px rgba(249, 115, 22, 0.5); } .ratio-display { text-align: center; font-size: 2.2rem; font-weight: 700; color: var(--color-primary-orange); margin: 16px 0; font-family: 'Monaco', 'Courier New', monospace; letter-spacing: 2px; } .ratio-labels { display: flex; justify-content: space-between; font-size: 0.85rem; color: var(--color-text-muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; } /* ======================================== RESULTS TABLE ======================================== */ .results-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; } .results-table th { background: linear-gradient(135deg, var(--color-primary-orange) 0%, #ea8c3e 100%); color: white; padding: 14px 16px; text-align: left; font-weight: 700; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.5px; } .results-table tbody tr { border-bottom: 1px solid var(--color-border-light); transition: background 0.2s ease; } .results-table tbody tr:hover { background: rgba(249, 115, 22, 0.04); } .results-table td { padding: 14px 16px; font-size: 0.95rem; } .results-table .ingredient-name { font-weight: 600; color: var(--color-primary-brown); } .results-table .amount-input { width: 100%; padding: 8px 10px; border: 1px solid var(--color-border-light); border-radius: 6px; font-size: 0.9rem; font-family: 'Monaco', monospace; text-align: center; } .results-table .amount-input:focus { outline: none; border-color: var(--color-primary-orange); background: #fafafa; } .amount-unit { font-size: 0.85rem; color: var(--color-text-muted); font-weight: 600; text-align: center; min-width: 50px; } /* ======================================== INFO BOXES ======================================== */ .info-box { background: rgba(249, 115, 22, 0.08); border-left: 4px solid var(--color-primary-orange); padding: 16px; border-radius: 8px; margin-bottom: 16px; font-size: 0.95rem; color: #78350f; } .info-box strong { color: var(--color-primary-brown); } .warning-box { background: rgba(245, 158, 11, 0.08); border-left: 4px solid #f59e0b; padding: 16px; border-radius: 8px; margin-bottom: 16px; font-size: 0.95rem; color: #78350f; } /* ======================================== BUTTONS ======================================== */ .calc-button-group { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; } .calc-btn { padding: 12px 20px; border: none; border-radius: 8px; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; font-family: inherit; } .calc-btn-primary { background: var(--color-primary-orange); color: white; flex: 1; justify-content: center; min-width: 150px; } .calc-btn-primary:hover { background: #ea8c3e; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3); } .calc-btn-secondary { background: var(--color-border-light); color: var(--color-text-dark); } .calc-btn-secondary:hover { background: #d8d8d8; transform: translateY(-2px); } .calc-btn-outline { background: transparent; border: 2px solid var(--color-primary-orange); color: var(--color-primary-orange); } .calc-btn-outline:hover { background: var(--color-primary-orange); color: white; } /* ======================================== COPY TO CLIPBOARD ======================================== */ .copy-container { display: flex; gap: 8px; margin-bottom: 16px; } .copy-textarea { flex: 1; padding: 12px; border: 1px solid var(--color-border-light); border-radius: 8px; font-family: 'Monaco', monospace; font-size: 0.85rem; resize: vertical; min-height: 80px; background: #f9f9f9; } .copy-textarea:focus { outline: none; border-color: var(--color-primary-orange); background: white; } .copy-btn { padding: 12px 16px; background: var(--color-primary-orange); color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: 600; transition: all 0.2s ease; white-space: nowrap; } .copy-btn:hover { background: #ea8c3e; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(249, 115, 22, 0.3); } /* ======================================== FOOTER ======================================== */ .calculator-footer { padding: 24px 40px; background: linear-gradient(135deg, var(--color-bg-light) 0%, #f5f0eb 100%); border-top: 1px solid var(--color-border-light); text-align: center; } .calculator-footer p { font-size: 0.9rem; color: var(--color-text-muted); } .calculator-footer strong { color: var(--color-primary-brown); } /* ======================================== RESPONSIVE DESIGN ======================================== */ @media (max-width: 768px) { .calculator-content { padding: 24px; } .calculator-header { padding: 30px 20px; } .calculator-header h1 { font-size: 1.8rem; } .calc-section { padding: 20px; margin-bottom: 24px; } .calc-form-row { grid-template-columns: 1fr; gap: 16px; } .section-title { font-size: 1.15rem; } .ratio-display { font-size: 1.8rem; } .results-table { font-size: 0.85rem; } .results-table th, .results-table td { padding: 10px 12px; } .calc-button-group { flex-direction: column; } .calc-btn { width: 100%; justify-content: center; } .copy-container { flex-direction: column; } .copy-btn { width: 100%; } .calculator-footer { padding: 20px; } } @media (max-width: 480px) { .calculator-header { padding: 24px 16px; } .calculator-header h1 { font-size: 1.5rem; } .calculator-content { padding: 16px; } .calc-section { padding: 16px; margin-bottom: 20px; } .section-icon { font-size: 1.4rem; } .section-title { font-size: 1rem; } .calc-label { font-size: 0.8rem; } .ratio-display { font-size: 1.6rem; } } /* ======================================== UTILITY CLASSES ======================================== */ .text-center { text-align: center; } .mt-20 { margin-top: 20px; } .mb-20 { margin-bottom: 20px; } .hidden { display: none !important; } .opacity-50 { opacity: 0.5; } https://cjsbrewnbbq.com/post-sitemap.xml 2025-05-30T01:47:46+00:00 https://cjsbrewnbbq.com/page-sitemap.xml 2025-12-26T07:55:42+00:00 https://cjsbrewnbbq.com/kadence_element-sitemap.xml 2025-01-13T22:17:56+00:00 https://cjsbrewnbbq.com/product-sitemap.xml 2025-03-10T22:06:39+00:00 https://cjsbrewnbbq.com/category-sitemap.xml 2025-05-30T01:47:46+00:00