/* ==========================================================================
   HƯNG THỊNH HR JSC - BRAND STYLESHEET
   Màu sắc chuẩn nhận diện Logo:
   - Xanh Lục Bảo / Emerald Green: #017536 (Địa cầu, máy bay & slogan Đồng Hành Cùng Phát Triển)
   - Đỏ Ruby / Crimson Red: #CE0110 (Chữ HUNG THINH HR)
   - Xanh Rừng Đậm / Deep Forest: #062b1a
   ========================================================================== */

:root {
    --brand-green: #017536;
    --brand-green-dark: #005a28;
    --brand-green-light: #029445;
    --brand-green-bg: #ecfdf5;
    --brand-red: #CE0110;
    --brand-red-dark: #a8000b;
    --brand-red-light: #ef233c;
    --brand-dark: #062b1a;
    --brand-navy-dark: #0a192f;
    --text-dark: #1e293b;
    --text-muted: #64748b;
    --bg-light: #f8fafc;
}

body {
    font-family: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--text-dark);
    background-color: #ffffff;
    overflow-x: hidden;
}

/* Smooth Transitions */
a, button, .transition-all {
    transition: all 0.25s ease-in-out;
}

/* Gradients theo tông màu logo Hưng Thịnh */
.bg-gradient-brand {
    background: linear-gradient(135deg, #062b1a 0%, #017536 60%, #0a4f29 100%);
}

.bg-gradient-brand-red {
    background: linear-gradient(135deg, #CE0110 0%, #a8000b 100%);
}

.bg-gradient-brand-green {
    background: linear-gradient(135deg, #017536 0%, #005a28 100%);
}

.text-brand-green {
    color: #017536;
}

.text-brand-red {
    color: #CE0110;
}

.border-brand-green {
    border-color: #017536;
}

.border-brand-red {
    border-color: #CE0110;
}

/* Card Hover Effects */
.job-card {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

.job-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 25px -5px rgba(1, 117, 54, 0.12), 0 8px 10px -6px rgba(1, 117, 54, 0.08);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #017536;
}

/* Pulsing Phone Ring Animation */
@keyframes pulse-ring {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(206, 1, 16, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 16px rgba(206, 1, 16, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(206, 1, 16, 0);
    }
}

.animate-pulse-ring {
    animation: pulse-ring 2s infinite cubic-bezier(0.45, 0, 0.55, 1);
}

/* Phone Ringing Vibration Animation */
@keyframes phone-ring-shake {
    0% { transform: rotate(0) scale(1); }
    5% { transform: rotate(-22deg) scale(1.1); }
    10% { transform: rotate(22deg) scale(1.1); }
    15% { transform: rotate(-22deg) scale(1.1); }
    20% { transform: rotate(22deg) scale(1.1); }
    25% { transform: rotate(0) scale(1); }
    100% { transform: rotate(0) scale(1); }
}

.animate-phone-ring {
    display: inline-block;
    animation: phone-ring-shake 1.8s infinite ease-in-out;
    transform-origin: center center;
}

/* Zalo Wave Animation */
@keyframes zalo-pulse-ring {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 104, 255, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 16px rgba(0, 104, 255, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 104, 255, 0);
    }
}

.animate-zalo-ring {
    animation: zalo-pulse-ring 2.2s infinite cubic-bezier(0.45, 0, 0.55, 1);
}

/* Safe area padding for mobile iPhone home bar */
.safe-area-bottom {
    padding-bottom: calc(0.6rem + env(safe-area-inset-bottom, 0px));
}

/* Floating Quick Contact Widget (Desktop) */
.floating-contact-buttons {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.floating-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
    cursor: pointer;
    position: relative;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.floating-btn:hover {
    transform: scale(1.08);
}

.floating-btn.btn-hotline {
    background: linear-gradient(135deg, #ef233c 0%, #CE0110 100%);
}

.floating-btn.btn-zalo {
    background: linear-gradient(135deg, #0084ff 0%, #0068ff 100%);
}

.floating-btn.btn-apply {
    background: linear-gradient(135deg, #029445 0%, #017536 100%);
}

/* Desktop Hotline Capsule */
.hotline-pill-capsule {
    display: inline-flex;
    align-items: center;
    background: #ffffff;
    border-radius: 9999px;
    padding: 4px 18px 4px 6px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
    border: 1.5px solid rgba(206, 1, 16, 0.25);
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
}

.hotline-pill-capsule:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 12px 35px rgba(206, 1, 16, 0.25);
    border-color: rgba(206, 1, 16, 0.6);
}

/* Hero Badge */
.hero-badge {
    background: rgba(1, 117, 54, 0.15);
    border: 1px solid rgba(1, 117, 54, 0.4);
    color: #34d399;
}

/* Section Title Underline */
.section-title-underline {
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}

.section-title-underline::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: #017536;
    border-radius: 2px;
}

.section-title-center .section-title-underline::after {
    left: 50%;
    transform: translateX(-50%);
}

/* Sticky Header styling */
.site-header.is-sticky {
    position: sticky;
    top: 0;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
