/*
 * Nsubiza Ltd — Brand & Premium Polish Overrides
 *
 * Color palette:
 *   Primary: #0D7C7C (Deep Teal) — trust, competence, sophistication
 *   Dark:    #095A5A — hover states, emphasis
 *   Accent:  #1B5E20 (Rwanda Green) + #C8973E (Warm Gold)
 *   Secondary: #13c296 — success indicators
 */

:root {
    --color-primary: #0D7C7C;
    --color-blue-dark: #095A5A;
}

/* ===== Navbar Logo ===== */
.navbar-logo img {
    filter: brightness(0) invert(1);
    transition: filter 0.3s ease;
}

/* ===== Sticky Navbar ===== */
.ud-header.sticky {
    background-color: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}
.ud-header.sticky .navbar-logo img {
    filter: none;
}
.ud-header.sticky .ud-menu-scroll {
    color: #637381;
}
.ud-header.sticky .ud-menu-scroll:hover {
    color: #0D7C7C;
    opacity: 1;
}

/* ===== Stat Cards ===== */
.nsubiza-stat-card {
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.nsubiza-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* ===== Service Cards ===== */
.nsubiza-service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.nsubiza-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
    border-color: rgba(13, 124, 124, 0.2);
}

/* ===== Portfolio Cards ===== */
.nsubiza-portfolio-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.nsubiza-portfolio-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
    border-color: rgba(13, 124, 124, 0.2);
}

/* ===== Portfolio Logo Wrap ===== */
.nsubiza-logo-wrap {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.3s ease;
}
.nsubiza-portfolio-card:hover .nsubiza-logo-wrap {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* ===== Form Inputs ===== */
.nsubiza-input {
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.nsubiza-input:focus {
    box-shadow: 0 0 0 3px rgba(13, 124, 124, 0.08);
}

/* ===== Buttons ===== */
.nsubiza-btn {
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}
.nsubiza-btn:hover {
    box-shadow: 0 4px 12px rgba(13, 124, 124, 0.2);
}
.nsubiza-btn:active {
    transform: translateY(0) scale(0.99);
}

/* ===== Selection Color ===== */
::selection {
    background-color: rgba(13, 124, 124, 0.15);
    color: #090E34;
}

/* ===== Smooth Global Transitions ===== */
a {
    transition: color 0.2s ease;
}

/* ===== Back-to-top refinement ===== */
.back-to-top {
    border-radius: 8px;
    transition: background-color 0.3s ease, opacity 0.3s ease;
}
