html { font-size: 14px; } @media (min-width: 768px) { html { font-size: 16px; } } .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; } html { position: relative; min-height: 100%; } body { margin-bottom: 60px; background-color: #f8f9fa; } /* Recipe Cards */ .recipe-card { transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; border: 1px solid #dee2e6; } .recipe-card:hover { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); } .recipe-info { font-size: 0.875rem; } .ingredients-preview { font-size: 0.8rem; max-height: 3rem; overflow: hidden; } /* Search Panel */ .card { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } /* Ingredient Checklist */ .ingredient-check { cursor: pointer; } /* Instructions */ .instruction-step { border-left: 3px solid #007bff; padding-left: 1rem; margin-left: 1rem; } .step-number { margin-left: -2rem; } /* Filter badges */ .badge { font-size: 0.8rem; } /* Responsive improvements */ @media (max-width: 768px) { .container-fluid { padding-left: 15px; padding-right: 15px; } .recipe-card { margin-bottom: 1rem; } } /* Form improvements */ .form-label { font-weight: 600; color: #495057; } .form-control:focus { border-color: #007bff; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, .25); } /* Footer */ .footer { position: absolute; bottom: 0; width: 100%; white-space: nowrap; line-height: 60px; background-color: #f8f9fa; }