/* Custom CSS for Joomoki Stock Portal */

body {
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #f8f9fa;
    color: #333;
}

.hero-section {
    background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
    height: 60vh;
    padding-top: 80px;
    /* Navbar height */
    margin-bottom: -50px;
}

.hero-section h1 {
    font-family: 'Poppins', sans-serif;
    letter-spacing: -1px;
}

.section-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
}

.card {
    transition: transform 0.2s, box-shadow 0.2s;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

.table th {
    font-weight: 600;
    color: #495057;
}

.stock-up {
    color: #dc3545;
    /* Red for up */
    font-weight: 600;
}

.stock-down {
    color: #0d6efd;
    /* Blue for down */
    font-weight: 600;
}

.stock-neutral {
    color: #6c757d;
}

.recommendation-card {
    border-left: 5px solid #198754;
}

/* Modal styling */
.modal-content {
    border-radius: 15px;
}

/* Spinner */
.spinner-border {
    width: 3rem;
    height: 3rem;
}

/* Mobile Optimization */
@media (max-width: 768px) {
    .hero-section {
        height: auto;
        padding-bottom: 50px;
        margin-bottom: 0;
    }

    .hero-section h1 {
        font-size: 2rem;
    }

    /* Card view instead of table for mobile */
    .table thead {
        display: none;
    }

    .table,
    .table tbody,
    .table tr,
    .table td {
        display: block;
        width: 100%;
    }

    .table tr {
        margin-bottom: 15px;
        background-color: #fff;
        border-radius: 10px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        padding: 10px;
    }

    .table td {
        text-align: right;
        padding-left: 50%;
        position: relative;
        border-bottom: 1px solid #f1f1f1;
    }

    .table td::before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        text-align: left;
        font-weight: bold;
        color: #6c757d;
    }

    /* Hide mini chart on very small screens if needed, or adjust */
    canvas[id^="miniChart-"] {
        max-width: 100px;
        margin-left: auto;
    }
}