/* ---------------- CARD CONTAINER ---------------- */
.engineering-tool-card {
    max-width: 600px;
    margin: 1rem auto;
    padding: 1rem;
    background: #fafafa;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    font-family: Arial, sans-serif;
}

.engineering-tool-card h2 {
    text-align: center;
    margin-bottom: 1rem;
    font-size: 1.5rem;
}

/* ---------------- SECTION ---------------- */
.section {
    margin-bottom: 1rem;
}

.section label {
    display: block;
    margin-bottom: 0.6rem;
    font-weight: 500;
}

.section input,
.section select {
    width: 100%;
    padding: 0.5rem;
    border-radius: 6px;
    border: 1px solid #ccc;
    margin-top: 0.2rem;
    font-size: 1rem;
    box-sizing: border-box;
}

/* ---------------- TOGGLE SLIDE ---------------- */
.toggle-section {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    padding: 0 0;
    margin-top: 0.5rem;
}

.toggle-section.show {
    max-height: 500px; /* large enough to fit content */
    padding: 0.5rem 0;
}

/* ---------------- BUTTONS ---------------- */
.toggle-btn,
.calculate-btn,
.reset-btn {
    width: 100%;
    padding: 0.6rem;
    border-radius: 6px;
    border: none;
    font-size: 1rem;
    cursor: pointer;
    margin-top: 0.5rem;
    transition: background 0.3s;
}

/* Toggle buttons */
.toggle-btn {
    background-color: #0077cc;
    color: #fff;
}

.toggle-btn:hover {
    background-color: #005fa3;
}

/* Calculate + Reset buttons container */
.button-group {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.6rem;
}

/* Calculate button */
.calculate-btn {
    background-color: #28a745;
    color: white;
    flex: 1;
}

.calculate-btn:hover {
    background-color: #218838;
}

/* Reset button */
.reset-btn {
    background-color: #ff4d4d;
    color: white;
    flex: 1;
}

.reset-btn:hover {
    background-color: #e60000;
}

/* ---------------- OUTPUT BOX ---------------- */
.output-box {
    margin-top: 1rem;
    padding: 0.6rem;
    background: #f0f0f0;
    border-radius: 6px;
    border: 1px solid #ddd;
}

.output-box p {
    margin: 0.3rem 0;
    font-weight: 500;
}

/* ---------------- MOBILE RESPONSIVE ---------------- */
@media (max-width: 480px) {
    .button-group {
        flex-direction: column;
    }
}