/* Dalil360 Calculator - Minimal Styles (Theme Compatible) */

/* Basic wrapper */
.d360-wrapper {
    padding: 20px 0;
}

/* Form grid layout */
.d360-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-bottom: 20px;
}

.d360-section {
    margin-bottom: 20px;
}

.d360-field {
    margin-bottom: 15px;
}

.d360-field label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}

.d360-field .req {
    color: #e53935;
}

/* Actions */
.d360-actions,
.d360-result-actions,
.d360-recalc {
    text-align: center;
    margin: 25px 0;
}

.d360-result-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

/* Quote section */
.d360-quote {
    border: 1px solid #f26c57;
    padding: 25px;
    margin-bottom: 20px;
}

.d360-quote-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ddd;
    flex-wrap: wrap;
    gap: 15px;
}

.d360-client-info {
    background: #263997;;
    padding: 15px;
    margin-bottom: 20px;
}

.d360-client-info h4 {
    margin: 0 0 10px;
    font-size: 14px;
    color: #f26c57;
}

.d360-client-info p {
    margin: 3px 0;
}

/* Table - use theme defaults */
.d360-table {
    width: 100%;
    border-collapse: collapse;
}

.d360-table th,
.d360-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

.d360-table th:last-child,
.d360-table td:last-child {
    text-align: right;
}

.d360-table .grand-total-row {
    background: #333;
    color: #fff;
}

.d360-table .grand-total-row td {
    border: none;
    font-weight: bold;
}

/* Footer */
.d360-footer {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
    text-align: center;
    font-size: 13px;
    color: #888;
}

.d360-footer p {
    margin: 5px 0;
}

/* Status messages */
.d360-status {
    text-align: center;
    padding: 12px;
    margin: 15px 0;
}

.d360-status.success {
    background: #e8f5e9;
    color: #2e7d32;
}

.d360-status.error {
    background: #ffebee;
    color: #c62828;
}

/* Loading state */
.btn-load {
    display: inline-block;
}

/* Print Styles */
@media print {

    .d360-form,
    .d360-result-actions,
    .d360-status,
    .d360-recalc {
        display: none !important;
    }

    .d360-results {
        display: block !important;
    }
}

/* Responsive */
@media (max-width: 600px) {
    .d360-quote-header {
        flex-direction: column;
    }

    .d360-result-actions {
        flex-direction: column;
    }
}