/*
Theme Name: Flatsome Child (Sunwin)
Theme URI: 
Description: This is a child theme for Flatsome, custom built for the Sunwin brand.
Author: admin test2
Author URI: 
Template: flatsome
Version: 2.0.0
*/

/* ==========================================================================
   GLOBAL TYPOGRAPHY
   ========================================================================== */
body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: #e0e0e0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    line-height: 1.2;
    color: #fff; /* Ensuring headings are bright on dark bg */
}

h1, .h1 { font-size: clamp(1.8rem, 5vw, 2.5rem); }
h2, .h2 { font-size: clamp(1.5rem, 4vw, 2.1rem); }
h3, .h3 { font-size: clamp(1.3rem, 3vw, 1.7rem); }
h4, .h4 { font-size: clamp(1.1rem, 2vw, 1.4rem); }
h5, .h5 { font-size: 1.1rem; }
h6, .h6 { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; }

/* Article specific heading adjustments for mobile */
@media (max-width: 768px) {
    h1, .h1 { font-size: 1.7rem; }
    h2, .h2 { font-size: 1.4rem; }
    h3, .h3 { font-size: 1.2rem; }
}

.gh-btn {
    font-family: 'Montserrat', sans-serif;
}

/* ==========================================================================
   GLOBAL HEADER PORTAL
   ========================================================================== */
.global-header-portal {
    background: linear-gradient(180deg, #1a0000 0%, #3d0000 100%);
    border-bottom: 2px solid #b8860b;
    padding: 10px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 999;
}

.gh-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
}

.gh-logo a {
    text-decoration: none;
    display: inline-block;
}

.gh-logo .logo-text {
    font-size: 28px;
    font-weight: 900;
    font-family: 'Montserrat', sans-serif;
    color: #ffdf00;
    /* Gold */
    text-transform: uppercase;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 10px #ffdf00;
    letter-spacing: 2px;
}

.gh-actions {
    display: flex;
    gap: 20px;
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
}

.gh-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 12px 30px;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    min-height: 50px;
    white-space: normal; /* Changed to allow wrapping if necessary but centered */
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.5px;
}

.gh-btn:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
}

.btn-dang-ky {
    background: linear-gradient(180deg, #ffef00 0%, #ff9900 100%);
    color: #4a0000 !important;
    border: 2px solid #fff;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    animation: pulseGold 2.5s infinite;
}

.btn-dang-ky:hover {
    background: linear-gradient(180deg, #ffffff 0%, #ffef00 100%);
    color: #000 !important;
}

.btn-dang-nhap {
    background: linear-gradient(180deg, #4a0000 0%, #2a0000 100%);
    color: #ffef00 !important;
    border: 2px solid #ffef00;
}

.btn-dang-nhap:hover {
    background: linear-gradient(180deg, #6a0000 0%, #4a0000 100%);
    border-color: #ffffff;
    color: #ffffff !important;
}

@keyframes pulseGold {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 239, 0, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(255, 239, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 239, 0, 0);
    }
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .gh-container {
        padding: 0 10px;
    }

    .gh-logo .logo-text {
        font-size: 22px;
    }

    .gh-actions {
        gap: 10px;
        flex-direction: column;
        width: 100%;
    }

    .gh-btn {
        width: 100%;
        min-width: 0;
        padding: 10px 15px;
        font-size: 13px;
        min-height: 44px;
        white-space: normal;
        text-align: center;
    }
}