@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@300;400;500;600;700&family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,600&display=swap');

:root {
    --brand-red: #B31312;
    --brand-red-dark: #8C0D0D;
    --brand-red-light: #C92A2A;
    --brand-yellow: #FFD200;
}

body {
    font-family: 'IBM Plex Sans', 'IBM Plex Sans Thai', sans-serif;
    color: #1f2937;
    background-color: #ffffff;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

/* Custom brand colors helper */
.bg-brand-red {
    background-color: var(--brand-red);
}

.bg-brand-red-dark {
    background-color: var(--brand-red-dark);
}

.text-brand-red {
    color: var(--brand-red);
}

.border-brand-red {
    border-color: var(--brand-red);
}

.text-brand-yellow {
    color: var(--brand-yellow);
}

/* Card hover animation */
.hover-lift {
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px -10px rgba(0, 0, 0, 0.15);
}

/* Smooth horizontal scroll */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Modal styling */
.modal-backdrop {
    background-color: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(4px);
    transition: opacity 0.3s ease;
}

.modal-content {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hero Badge icon subtle pulse */
.badge-item {
    transition: transform 0.2s ease;
}
.badge-item:hover {
    transform: scale(1.05);
}

/* Input focus ring */
.custom-input {
    transition: all 0.2s ease;
}
.custom-input:focus {
    box-shadow: 0 0 0 3px rgba(255, 210, 0, 0.5);
    outline: none;
}
