/* Page title */
.page-title {
    font-weight: 800;
    font-size: 40px;
}

.page-title-container {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;

    display: flex;
    justify-content: center;   /* horizontal center */
    align-items: center;       /* vertical center (optional) */
    text-align: center;        /* ensures text stays centered */
}

.level-1-title {
    font-weight: 600;
    font-size: 30px;   /* adjust size as needed */
    margin-bottom: 12px;
}

.level-2-title {
    font-weight: 600;
    font-size: 24px;   /* adjust as needed */
    margin-bottom: 10px;
}

.custom-alert {
    background-color: #e4f0fa !important;
    border: 1px solid #82b9ea !important;  /* add border + color */
    color: #0a539c !important;
    border-radius: 8px !important;
}



/* each row */
.field-chat-box-metric-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 6px;
}

/* label (left side) */
.field-chat-box-metric-label {
    min-width: 160px;
    font-weight: 600;
    color: #5b6b7a;
}

/* value (number) */
.field-chat-box-metric-value {
    font-weight: 700;
    color: #0a539c;
}

/* explanation text */
.field-chat-box-metric-text {
    color: #1f2d3d;
    font-weight: 600;
}


/* ABOUT TEXT */
.about-text a {
    color: inherit; 
    text-decoration: none; 
    font-weight: bold;
    transition: color 0.2s ease;
}

.about-text a:hover {
    color: #92D050; 
}


/* CARD IMAGE */
.tool-card-img {
    height: 180px;
    object-fit: contain;
    padding: 15px;
    background-color: #f8f9fa;
}


/* CARD BODY */
.tool-card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}


/* TITLE */
.tool-card-title {
    font-weight: 700;
    margin-bottom: 10px;
}


/* DESCRIPTION */
.tool-card-desc {
    min-height: 60px;
}


/* BUTTON */
.tool-card-btn {
    margin-top: auto;
    width: auto;
    align-self: flex-start;
    padding: 6px 16px;
}


/* CARD STYLE */
.tool-card {
    border-radius: 10px;
}


/* CARD HOVER EFFECT */
.tool-card:hover {
    transform: translateY(-4px);
    transition: 0.2s ease;
    box-shadow: 0 12px 28px rgba(0,0,0,0.15);
}


/* =========================
   PV Pathway Detail Panel
   ========================= */

/* Desktop */
@media (min-width: 768px) {
  .pv-pathway-detail-panel {
    height: 450px;
    min-height: 450px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .pv-pathway-detail-panel {
    height: auto;
    min-height: unset;
    overflow-y: visible;
  }
}

/* Graph loading blur effect */
.dash-loading .dash-graph {
    filter: blur(4px);
    opacity: 0.6;
    transition: all 0.3s ease;
}

/* layout slide in  */
.slide-in-up {
    animation: slideInUp 0.5s ease-out;
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* alert slide in  */
.slide-in-top {
    animation: slideInTop 0.4s ease-out;
    animation-delay: 0.05s;
    animation-fill-mode: both;
}

@keyframes slideInTop {
    from {
        opacity: 0;
        transform: translateY(-15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}