/* ============================================================
   ĐIỀU HÀNH FLYCAM - GLOBAL DESIGN TOKENS & UTILITIES
   Shared across all pages. Load AFTER site.css to override.
   ============================================================ */

:root {
    /* Brand palette */
    --dhf-navy: #0a2540;
    --dhf-blue: #0061af;
    --dhf-blue-700: #004f8f;
    --dhf-cyan: #00a8d8;
    --dhf-sky: #7be8ff;
    --dhf-green: #7dc734;
    --dhf-green-700: #4a9d2e;
    --dhf-gold: #f59e0b;
    --dhf-red: #ef4444;

    /* Neutral */
    --dhf-ink: #1e293b;
    --dhf-muted: #64748b;
    --dhf-line: #e2e8f0;
    --dhf-bg-soft: #f8fbff;

    /* Radii */
    --dhf-r-sm: 10px;
    --dhf-r-md: 14px;
    --dhf-r-lg: 18px;
    --dhf-r-xl: 24px;

    /* Elevation */
    --dhf-shadow-sm: 0 2px 8px rgba(15, 42, 79, 0.08);
    --dhf-shadow-md: 0 8px 24px rgba(15, 42, 79, 0.12);
    --dhf-shadow-lg: 0 20px 60px rgba(10, 37, 64, 0.18);
}

/* ============ GLOBAL UTILITIES ============ */

.dhf-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 16px; border-radius: 999px;
    background: rgba(123, 232, 255, 0.15);
    border: 1px solid rgba(123, 232, 255, 0.45);
    color: var(--dhf-sky); font-weight: 600; letter-spacing: 1px;
    font-size: 0.78rem; text-transform: uppercase;
}

/* Brand CTA buttons - used across all pages for consistency */
.btn-dhf {
    background: linear-gradient(135deg, var(--dhf-green) 0%, var(--dhf-green-700) 100%);
    color: #fff; border: none; border-radius: var(--dhf-r-md);
    padding: 14px 28px; font-weight: 600;
    box-shadow: 0 8px 24px rgba(125, 199, 52, 0.4);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
    cursor: pointer;
}
.btn-dhf:hover, .btn-dhf:focus {
    transform: translateY(-2px); color: #fff;
    box-shadow: 0 12px 30px rgba(125, 199, 52, 0.55);
}
.btn-dhf-ghost {
    background: rgba(255, 255, 255, 0.1); color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.4); border-radius: var(--dhf-r-md);
    padding: 14px 28px; font-weight: 600;
    transition: background .2s ease, border-color .2s ease;
    cursor: pointer;
}
.btn-dhf-ghost:hover, .btn-dhf-ghost:focus {
    background: rgba(255, 255, 255, 0.22); color: #fff; border-color: #fff;
}

/* ============ BRAND OVERRIDES on Bootstrap ============ */
/* Make Bootstrap .btn-primary match brand blue (instead of default #0d6efd) */
.btn-primary {
    background: linear-gradient(135deg, var(--dhf-blue) 0%, var(--dhf-cyan) 100%) !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(0, 97, 175, 0.25) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg, var(--dhf-blue-700) 0%, var(--dhf-blue) 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 97, 175, 0.35) !important;
}
/* Outline primary */
.btn-outline-primary {
    color: var(--dhf-blue) !important;
    border-color: var(--dhf-blue) !important;
}
.btn-outline-primary:hover {
    background: var(--dhf-blue) !important;
    color: #fff !important;
}
.text-success { color: var(--dhf-green) !important; }

/* Brand text accent */
.text-primary { color: var(--dhf-blue) !important; }

/* ============ ACCESSIBILITY ============ */

/* Visible focus ring for keyboard navigation (a11y requirement) */
*:focus-visible {
    outline: 3px solid rgba(0, 168, 216, 0.55);
    outline-offset: 2px;
    border-radius: 6px;
}
.btn:focus-visible,
.btn-dhf:focus-visible,
.btn-dhf-ghost:focus-visible {
    outline: 3px solid rgba(123, 232, 255, 0.85);
    outline-offset: 3px;
}

/* Reduced motion - respect user OS preference */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001s !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001s !important;
        scroll-behavior: auto !important;
    }
}

/* ============ LEGACY PAGE OVERRIDES ============ */
/* Make old .feature-title (used in BangGia, etc.) consistent with brand */
.feature-title {
    color: var(--dhf-navy) !important;
    font-weight: 800 !important;
    letter-spacing: 0.3px;
}

/* Pricing card hover-pointer on CTA */
.pricing-btn, .pricing-link { cursor: pointer; }

/* Breadcrumb consistency */
.breadscrumb-title { color: var(--dhf-navy); font-weight: 700; }
.breadcrumb-item a { color: var(--dhf-blue); text-decoration: none; }
.breadcrumb-item a:hover { color: var(--dhf-blue-700); text-decoration: underline; }

/* Zalo floating button - tune to brand */
.zalo-button { transition: transform .2s ease; }
.zalo-button:hover { transform: scale(1.08); }
