/**

 * ATRAHI DESIGN - Theme Bug Fixes & Enhancements

 * Fix các lỗi hiện tại và cải thiện giao diện

 * Version 3.0.0

 * 

 * @package ATH_ATRAHI_DESIGN

 */



/* ==========================================================================

   FIX: HEADER OVERLAP & STICKY ISSUES

   ========================================================================== */

body {

    padding-top: 0 !important;

}



/* Fix header z-index stacking */

.site-header {

    position: relative;

    z-index: 1000;

}



.header-topbar {

    position: relative;

    z-index: 1001;

}



.main-nav {

    position: sticky;

    top: 0;

    z-index: 999;

    background: var(--ath-white);

    will-change: transform;

}



.main-nav.scrolled {

    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);

}



/* Prevent content from going under fixed header */

main,

.site-content {

    position: relative;

    z-index: 1;

}



/* ==========================================================================

   FIX: MEGA MENU DISPLAY ISSUES

   ========================================================================== */

.mega-menu {

    opacity: 0;

    visibility: hidden;

    transform: translateY(10px);

    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    pointer-events: none;

}



.has-mega-menu:hover .mega-menu,

.has-mega-menu:focus-within .mega-menu {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

    pointer-events: auto;

}



.mega-menu-inner {

    background: var(--ath-white);

    border-radius: var(--radius-2xl);

    box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.15);

    padding: 1.5rem;

    border: 1px solid var(--ath-gray-100);

}



.mega-item {

    display: flex;

    align-items: center;

    gap: 1rem;

    padding: 0.875rem;

    border-radius: var(--radius-xl);

    text-decoration: none;

    transition: all 0.2s ease;

}



.mega-item:hover {

    background: var(--ath-gray-50);

    transform: translateX(4px);

}



.mega-item-icon {

    width: 48px;

    height: 48px;

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 1.25rem;

    flex-shrink: 0;

}



.mega-item-content h4 {

    font-size: 0.9375rem;

    font-weight: 700;

    color: var(--ath-dark);

    margin: 0 0 0.25rem 0;

}



.mega-item-content p {

    font-size: 0.8125rem;

    color: var(--ath-gray-500);

    margin: 0;

}



/* ==========================================================================

   FIX: HERO SECTION IMPROVEMENTS

   ========================================================================== */

.hero-section,

.hero-v2 {

    min-height: calc(100vh - var(--header-height) - var(--topbar-height));

    display: flex;

    align-items: center;

    padding: 4rem 0;

    overflow: hidden;

}



/* Ensure hero text is readable */

.hero-section h1,

.hero-v2 h1,

.hero-title {

    font-size: clamp(2.5rem, 7vw, 4.5rem);

    font-weight: 900;

    color: var(--ath-dark);

    line-height: 1.05;

    letter-spacing: -0.03em;

    text-transform: uppercase;

}



.hero-desc {

    font-size: clamp(1rem, 1.5vw, 1.25rem);

    color: var(--ath-gray-600);

    line-height: 1.7;

    max-width: 540px;

}



/* Hero Stats */

.hero-stats {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 2rem;

    margin-top: 3rem;

    padding-top: 2rem;

    border-top: 1px solid var(--ath-gray-200);

}



.hero-stat {

    text-align: left;

}



.hero-stat-number {

    font-size: clamp(2rem, 4vw, 3rem);

    font-weight: 900;

    color: var(--ath-gold);

    line-height: 1;

    display: block;

}



.hero-stat-label {

    font-size: 0.6875rem;

    font-weight: 800;

    color: var(--ath-gray-500);

    text-transform: uppercase;

    letter-spacing: 0.1em;

    margin-top: 0.5rem;

    display: block;

}



/* ==========================================================================

   FIX: SERVICES/SOLUTIONS CARD IMPROVEMENTS

   ========================================================================== */

.services-section,

.solutions-section {

    padding: 6rem 0;

}



.services-grid,

.solutions-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));

    gap: 1.5rem;

}



@media (min-width: 1024px) {

    .services-grid,

    .solutions-grid {

        grid-template-columns: repeat(3, 1fr);

    }

}



@media (min-width: 1280px) {

    .services-grid,

    .solutions-grid {

        grid-template-columns: repeat(4, 1fr);

    }

}



.service-card,

.solution-card {

    background: var(--ath-white);

    border-radius: var(--radius-2xl);

    padding: 2rem;

    text-decoration: none;

    border: 1px solid var(--ath-gray-100);

    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    display: flex;

    flex-direction: column;

    position: relative;

    overflow: hidden;

}



.service-card::before,

.solution-card::before {

    content: '';

    position: absolute;

    inset: 0;

    background: var(--ath-dark);

    opacity: 0;

    transition: opacity 0.4s ease;

    z-index: 0;

}



.service-card:hover,

.solution-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.2);

    border-color: transparent;

}



.service-card:hover::before,

.solution-card:hover::before {

    opacity: 1;

}



.service-card > *,

.solution-card > * {

    position: relative;

    z-index: 1;

}



.service-icon,

.solution-icon {

    width: 56px;

    height: 56px;

    background: var(--ath-gray-100);

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--ath-gold);

    margin-bottom: 1.5rem;

    font-size: 1.5rem;

    transition: all 0.4s ease;

}



.service-card:hover .service-icon,

.solution-card:hover .solution-icon {

    background: var(--ath-gold);

    color: var(--ath-white);

}



.service-title,

.solution-title {

    font-size: 1.25rem;

    font-weight: 800;

    color: var(--ath-dark);

    margin-bottom: 0.75rem;

    transition: color 0.4s ease;

    text-transform: uppercase;

    letter-spacing: -0.01em;

}



.service-card:hover .service-title,

.solution-card:hover .solution-title {

    color: var(--ath-white);

}



.service-desc,

.solution-desc {

    font-size: 0.9375rem;

    color: var(--ath-gray-500);

    line-height: 1.6;

    transition: color 0.4s ease;

    flex-grow: 1;

}



.service-card:hover .service-desc,

.solution-card:hover .solution-desc {

    color: var(--ath-gray-400);

}



.service-link,

.solution-link {

    display: inline-flex;

    align-items: center;

    gap: 0.5rem;

    font-size: 0.6875rem;

    font-weight: 800;

    color: var(--ath-gold);

    text-transform: uppercase;

    letter-spacing: 0.2em;

    margin-top: 1.5rem;

    transition: gap 0.3s ease;

}



.service-card:hover .service-link,

.solution-card:hover .solution-link {

    gap: 1rem;

}



/* ==========================================================================

   FIX: PORTFOLIO/GALLERY SECTION

   ========================================================================== */

.portfolio-section,

.gallery-section {

    padding: 6rem 0;

    background: var(--ath-gray-50);

}



.portfolio-grid {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));

    gap: 1.5rem;

}



.portfolio-item {

    position: relative;

    border-radius: var(--radius-2xl);

    overflow: hidden;

    aspect-ratio: 4/3;

    cursor: pointer;

}



.portfolio-item img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);

}



.portfolio-item:hover img {

    transform: scale(1.08);

}



.portfolio-overlay {

    position: absolute;

    inset: 0;

    background: linear-gradient(0deg, rgba(26, 26, 26, 0.9) 0%, rgba(26, 26, 26, 0.3) 50%, transparent 100%);

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    padding: 1.5rem;

    opacity: 0;

    transition: opacity 0.4s ease;

}



.portfolio-item:hover .portfolio-overlay {

    opacity: 1;

}



.portfolio-title {

    font-size: 1.125rem;

    font-weight: 700;

    color: var(--ath-white);

    margin: 0 0 0.25rem 0;

    transform: translateY(20px);

    transition: transform 0.4s ease 0.1s;

}



.portfolio-category {

    font-size: 0.75rem;

    font-weight: 600;

    color: var(--ath-gold);

    text-transform: uppercase;

    letter-spacing: 0.1em;

    transform: translateY(20px);

    transition: transform 0.4s ease;

}



.portfolio-item:hover .portfolio-title,

.portfolio-item:hover .portfolio-category {

    transform: translateY(0);

}



/* Portfolio Filters */

.portfolio-filters {

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 0.5rem;

    margin-bottom: 3rem;

}



.portfolio-filter {

    padding: 0.625rem 1.25rem;

    font-size: 0.8125rem;

    font-weight: 600;

    color: var(--ath-gray-600);

    background: var(--ath-white);

    border: 1px solid var(--ath-gray-200);

    border-radius: var(--radius-full);

    cursor: pointer;

    transition: all 0.3s ease;

}



.portfolio-filter:hover {

    border-color: var(--ath-gold);

    color: var(--ath-gold);

}



.portfolio-filter.active {

    background: var(--ath-gold);

    border-color: var(--ath-gold);

    color: var(--ath-white);

}



/* ==========================================================================

   FIX: PROCESS/TIMELINE SECTION

   ========================================================================== */

.process-section {

    padding: 6rem 0;

    background: var(--ath-white);

}



.process-steps {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

    gap: 2rem;

    counter-reset: step;

}



@media (min-width: 1024px) {

    .process-steps {

        grid-template-columns: repeat(6, 1fr);

        gap: 1rem;

    }

}



.process-step {

    text-align: center;

    position: relative;

    counter-increment: step;

}



.process-step::before {

    content: counter(step, decimal-leading-zero);

    display: block;

    font-size: 3rem;

    font-weight: 900;

    color: var(--ath-gold);

    opacity: 0.15;

    line-height: 1;

    margin-bottom: 1rem;

}



.process-icon {

    width: 64px;

    height: 64px;

    background: var(--ath-gray-100);

    border-radius: var(--radius-2xl);

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0 auto 1rem;

    font-size: 1.5rem;

    transition: all 0.3s ease;

}



.process-step:hover .process-icon {

    background: var(--ath-gold);

    transform: scale(1.1);

}



.process-step:hover .process-icon svg {

    color: var(--ath-white);

}



.process-title {

    font-size: 0.875rem;

    font-weight: 800;

    color: var(--ath-dark);

    text-transform: uppercase;

    letter-spacing: 0.05em;

    margin-bottom: 0.5rem;

}



.process-desc {

    font-size: 0.8125rem;

    color: var(--ath-gray-500);

    line-height: 1.5;

}



/* Connector Line */

@media (min-width: 1024px) {

    .process-step:not(:last-child)::after {

        content: '';

        position: absolute;

        top: 5.5rem;

        right: -1.5rem;

        width: 3rem;

        height: 2px;

        background: linear-gradient(90deg, var(--ath-gold) 0%, var(--ath-gold-light) 100%);

        opacity: 0.3;

    }

}



/* ==========================================================================

   FIX: PRICING SECTION

   ========================================================================== */

.pricing-section {

    padding: 6rem 0;

    background: var(--ath-gray-50);

}



.pricing-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));

    gap: 2rem;

    max-width: 1100px;

    margin: 0 auto;

}



.pricing-card {

    background: var(--ath-white);

    border-radius: var(--radius-3xl);

    padding: 2.5rem;

    text-align: center;

    border: 1px solid var(--ath-gray-200);

    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    position: relative;

}



.pricing-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.15);

}



.pricing-card.featured {

    background: var(--ath-dark);

    border-color: var(--ath-dark);

    color: var(--ath-white);

    transform: scale(1.05);

}



.pricing-card.featured:hover {

    transform: scale(1.05) translateY(-8px);

}



.pricing-badge {

    position: absolute;

    top: -12px;

    left: 50%;

    transform: translateX(-50%);

    background: var(--ath-gold);

    color: var(--ath-white);

    font-size: 0.6875rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.1em;

    padding: 0.5rem 1.25rem;

    border-radius: var(--radius-full);

}



.pricing-name {

    font-size: 0.75rem;

    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: 0.2em;

    color: var(--ath-gray-500);

    margin-bottom: 1rem;

}



.pricing-card.featured .pricing-name {

    color: var(--ath-gold);

}



.pricing-price {

    font-size: 2.5rem;

    font-weight: 900;

    color: var(--ath-dark);

    line-height: 1;

    margin-bottom: 0.5rem;

}



.pricing-card.featured .pricing-price {

    color: var(--ath-white);

}



.pricing-unit {

    font-size: 0.875rem;

    color: var(--ath-gray-500);

    margin-bottom: 2rem;

}



.pricing-features {

    list-style: none;

    padding: 0;

    margin: 0 0 2rem 0;

    text-align: left;

}



.pricing-features li {

    display: flex;

    align-items: flex-start;

    gap: 0.75rem;

    padding: 0.75rem 0;

    font-size: 0.9375rem;

    color: var(--ath-gray-600);

    border-bottom: 1px solid var(--ath-gray-100);

}



.pricing-card.featured .pricing-features li {

    color: var(--ath-gray-300);

    border-color: rgba(255, 255, 255, 0.1);

}



.pricing-features li:last-child {

    border-bottom: none;

}



.pricing-features li svg {

    color: var(--ath-gold);

    flex-shrink: 0;

    margin-top: 0.125rem;

}



/* ==========================================================================

   FIX: CONTACT SECTION

   ========================================================================== */

.contact-section {

    padding: 6rem 0;

    background: var(--ath-white);

}



.contact-grid {

    display: grid;

    grid-template-columns: 1fr;

    gap: 4rem;

}



@media (min-width: 1024px) {

    .contact-grid {

        grid-template-columns: 1fr 1fr;

    }

}



.contact-info {

    display: flex;

    flex-direction: column;

    gap: 2rem;

}



.contact-item {

    display: flex;

    align-items: flex-start;

    gap: 1rem;

}



.contact-icon {

    width: 48px;

    height: 48px;

    background: var(--ath-gold-100);

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--ath-gold);

    flex-shrink: 0;

}



.contact-label {

    font-size: 0.75rem;

    font-weight: 700;

    color: var(--ath-gray-500);

    text-transform: uppercase;

    letter-spacing: 0.1em;

    margin-bottom: 0.25rem;

}



.contact-value {

    font-size: 1.125rem;

    font-weight: 600;

    color: var(--ath-dark);

}



.contact-value a {

    color: inherit;

    text-decoration: none;

    transition: color 0.3s ease;

}



.contact-value a:hover {

    color: var(--ath-gold);

}



/* Contact Form */

.contact-form {

    background: var(--ath-gray-50);

    border-radius: var(--radius-3xl);

    padding: 2.5rem;

}



.contact-form .form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 1rem;

}



@media (max-width: 639px) {

    .contact-form .form-row {

        grid-template-columns: 1fr;

    }

}



/* ==========================================================================

   FIX: FAQ/ACCORDION SECTION

   ========================================================================== */

.faq-section {

    padding: 6rem 0;

    background: var(--ath-gray-50);

}



.faq-list {

    max-width: 800px;

    margin: 0 auto;

}



.faq-item {

    background: var(--ath-white);

    border-radius: var(--radius-xl);

    margin-bottom: 1rem;

    overflow: hidden;

    border: 1px solid var(--ath-gray-100);

    transition: all 0.3s ease;

}



.faq-item:hover {

    border-color: var(--ath-gray-200);

}



.faq-item.active {

    border-color: var(--ath-gold);

    box-shadow: 0 10px 40px -10px rgba(185, 157, 99, 0.2);

}



.faq-question {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 1rem;

    padding: 1.25rem 1.5rem;

    font-size: 1rem;

    font-weight: 600;

    color: var(--ath-dark);

    background: none;

    border: none;

    width: 100%;

    text-align: left;

    cursor: pointer;

    transition: color 0.3s ease;

}



.faq-question:hover {

    color: var(--ath-gold);

}



.faq-question svg {

    flex-shrink: 0;

    transition: transform 0.3s ease;

    color: var(--ath-gray-400);

}



.faq-item.active .faq-question svg {

    transform: rotate(180deg);

    color: var(--ath-gold);

}



.faq-answer {

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.4s ease, padding 0.4s ease;

}



.faq-item.active .faq-answer {

    max-height: 500px;

}



.faq-answer-content {

    padding: 0 1.5rem 1.5rem;

    font-size: 0.9375rem;

    color: var(--ath-gray-600);

    line-height: 1.7;

}



/* ==========================================================================

   FIX: FOOTER IMPROVEMENTS

   ========================================================================== */

.site-footer {

    background: var(--ath-dark);

    color: var(--ath-gray-300);

    padding: 5rem 0 2rem;

}



.footer-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

    gap: 3rem;

    margin-bottom: 3rem;

}



.footer-brand {

    max-width: 320px;

}



.footer-logo {

    height: 70px;

    margin-bottom: 1.5rem;

}



.footer-desc {

    font-size: 0.9375rem;

    line-height: 1.7;

    color: var(--ath-gray-400);

    margin-bottom: 1.5rem;

}



.footer-socials {

    display: flex;

    gap: 0.75rem;

}



.footer-social {

    width: 40px;

    height: 40px;

    background: rgba(255, 255, 255, 0.05);

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    color: var(--ath-gray-400);

    transition: all 0.3s ease;

}



.footer-social:hover {

    background: var(--ath-gold);

    color: var(--ath-white);

}



.footer-title {

    font-size: 0.75rem;

    font-weight: 800;

    color: var(--ath-white);

    text-transform: uppercase;

    letter-spacing: 0.15em;

    margin-bottom: 1.5rem;

}



.footer-links {

    list-style: none;

    padding: 0;

    margin: 0;

}



.footer-links li {

    margin-bottom: 0.75rem;

}



.footer-links a {

    color: var(--ath-gray-400);

    text-decoration: none;

    font-size: 0.9375rem;

    transition: all 0.3s ease;

    display: inline-flex;

    align-items: center;

    gap: 0.5rem;

}



.footer-links a:hover {

    color: var(--ath-gold);

    padding-left: 0.5rem;

}



.footer-bottom {

    padding-top: 2rem;

    border-top: 1px solid rgba(255, 255, 255, 0.1);

    display: flex;

    flex-wrap: wrap;

    justify-content: space-between;

    align-items: center;

    gap: 1rem;

}



.footer-copyright {

    font-size: 0.875rem;

    color: var(--ath-gray-500);

}



/* ==========================================================================

   FIX: MOBILE NAVIGATION

   ========================================================================== */

.mobile-nav {

    position: fixed;

    top: 0;

    right: 0;

    width: 100%;

    max-width: 360px;

    height: 100vh;

    background: var(--ath-white);

    z-index: 9999;

    transform: translateX(100%);

    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);

    overflow-y: auto;

    box-shadow: -20px 0 60px rgba(0, 0, 0, 0.15);

}



.mobile-nav.active {

    transform: translateX(0);

}



.mobile-nav-overlay {

    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, 0.5);

    opacity: 0;

    visibility: hidden;

    transition: all 0.3s ease;

    z-index: 9998;

}



.mobile-nav-overlay.active {

    opacity: 1;

    visibility: visible;

}



.mobile-nav-header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 1.25rem 1.5rem;

    border-bottom: 1px solid var(--ath-gray-100);

}



.mobile-nav-close {

    width: 40px;

    height: 40px;

    background: var(--ath-gray-100);

    border: none;

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    transition: all 0.3s ease;

}



.mobile-nav-close:hover {

    background: var(--ath-gray-200);

}



.mobile-nav-menu {

    list-style: none;

    padding: 1rem 0;

    margin: 0;

}



.mobile-nav-item {

    border-bottom: 1px solid var(--ath-gray-100);

}



.mobile-nav-link {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 1rem 1.5rem;

    font-size: 1rem;

    font-weight: 600;

    color: var(--ath-dark);

    text-decoration: none;

    transition: all 0.3s ease;

}



.mobile-nav-link:hover {

    background: var(--ath-gray-50);

    color: var(--ath-gold);

}



.mobile-submenu {

    list-style: none;

    padding: 0;

    margin: 0;

    background: var(--ath-gray-50);

    max-height: 0;

    overflow: hidden;

    transition: max-height 0.4s ease;

}



.mobile-nav-item.active .mobile-submenu {

    max-height: 1000px;

}



.mobile-submenu a {

    display: block;

    padding: 0.75rem 1.5rem 0.75rem 2.5rem;

    font-size: 0.9375rem;

    color: var(--ath-gray-600);

    text-decoration: none;

    transition: all 0.3s ease;

}



.mobile-submenu a:hover {

    color: var(--ath-gold);

    padding-left: 3rem;

}



/* Hamburger Button */

.nav-toggle {

    display: none;

    width: 44px;

    height: 44px;

    background: none;

    border: none;

    cursor: pointer;

    position: relative;

    z-index: 100;

}



@media (max-width: 1023px) {

    .nav-toggle {

        display: flex;

        align-items: center;

        justify-content: center;

    }

    

    .nav-center,

    .nav-actions {

        display: none;

    }

}



/* Hamburger - DISABLED old style, using span-based hamburger in modern-minimal.css */

/*

.hamburger {

    width: 24px;

    height: 2px;

    background: var(--ath-dark);

    position: relative;

    transition: all 0.3s ease;

}



.hamburger::before,

.hamburger::after {

    content: '';

    position: absolute;

    width: 24px;

    height: 2px;

    background: var(--ath-dark);

    left: 0;

    transition: all 0.3s ease;

}



.hamburger::before {

    top: -7px;

}



.hamburger::after {

    bottom: -7px;

}



.nav-toggle.active .hamburger {

    background: transparent;

}



.nav-toggle.active .hamburger::before {

    transform: rotate(45deg);

    top: 0;

}



.nav-toggle.active .hamburger::after {

    transform: rotate(-45deg);

    bottom: 0;

}

*/



/* ==========================================================================

   FIX: CTA BUTTONS MOBILE

   ========================================================================== */

.mobile-cta {

    position: fixed;

    bottom: 0;

    left: 0;

    right: 0;

    background: var(--ath-white);

    padding: 1rem;

    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);

    z-index: 900;

    display: none;

}



@media (max-width: 767px) {

    .mobile-cta {

        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 0.75rem;

    }

    

    body {

        padding-bottom: 80px;

    }

}



.mobile-cta-btn {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 0.5rem;

    padding: 0.875rem 1rem;

    font-size: 0.875rem;

    font-weight: 700;

    text-decoration: none;

    border-radius: var(--radius-lg);

    transition: all 0.3s ease;

}



.mobile-cta-phone {

    background: var(--ath-gold);

    color: var(--ath-white);

}



.mobile-cta-zalo {

    background: #0068ff;

    color: var(--ath-white);

}



/* ==========================================================================

   FIX: SCROLL TO TOP BUTTON

   ========================================================================== */

.scroll-top {

    position: fixed;

    bottom: 100px;

    right: 1.5rem;

    width: 48px;

    height: 48px;

    background: var(--ath-gold);

    color: var(--ath-white);

    border: none;

    border-radius: var(--radius-lg);

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    opacity: 0;

    visibility: hidden;

    transform: translateY(20px);

    transition: all 0.3s ease;

    z-index: 800;

    box-shadow: 0 4px 15px rgba(185, 157, 99, 0.4);

}



.scroll-top.visible {

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}



.scroll-top:hover {

    background: var(--ath-gold-dark);

    transform: translateY(-4px);

}



@media (max-width: 767px) {

    .scroll-top {

        bottom: 110px;

        right: 1rem;

        width: 44px;

        height: 44px;

    }

}



/* ==========================================================================

   FIX: TEXT VISIBILITY ISSUES

   ========================================================================== */

/* Ensure all text is visible */

body,

p,

span,

li,

td,

th,

label {

    color: var(--ath-gray-700);

}



h1, h2, h3, h4, h5, h6 {

    color: var(--ath-dark);

}



a {

    color: var(--ath-gold);

}



/* Dark sections text */

.section-dark,

.section-dark p,

.section-dark span,

.section-dark li {

    color: var(--ath-gray-300);

}



.section-dark h1,

.section-dark h2,

.section-dark h3,

.section-dark h4,

.section-dark h5,

.section-dark h6 {

    color: var(--ath-white);

}



.section-dark a {

    color: var(--ath-gold);

}



/* ==========================================================================

   FIX: IMAGE LOADING & LAZY LOAD

   ========================================================================== */

img {

    max-width: 100%;

    height: auto;

}



img[loading="lazy"] {

    opacity: 0;

    transition: opacity 0.4s ease;

}



img[loading="lazy"].loaded,

img:not([loading]) {

    opacity: 1;

}



/* Placeholder for lazy images */

.img-placeholder {

    background: linear-gradient(

        90deg,

        var(--ath-gray-100) 0%,

        var(--ath-gray-50) 50%,

        var(--ath-gray-100) 100%

    );

    background-size: 200% 100%;

    animation: shimmer 1.5s infinite;

}



/* ==========================================================================

   FIX: WORDPRESS ADMIN BAR - Moved to modern-minimal.css for smart header

   ========================================================================== */

/* Admin bar styles are now in modern-minimal.css with smart header feature */



/* ==========================================================================

   FIX: WOOCOMMERCE INTEGRATION

   ========================================================================== */

.woocommerce .products {

    display: grid;

    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));

    gap: 1.5rem;

}



.woocommerce .product {

    background: var(--ath-white);

    border-radius: var(--radius-2xl);

    overflow: hidden;

    border: 1px solid var(--ath-gray-100);

    transition: all 0.3s ease;

}



.woocommerce .product:hover {

    box-shadow: var(--shadow-lg);

    transform: translateY(-4px);

}



.woocommerce .product img {

    border-radius: 0;

}



.woocommerce .product .woocommerce-loop-product__title {

    font-size: 1rem;

    font-weight: 600;

    padding: 1rem;

    margin: 0;

}



.woocommerce .product .price {

    padding: 0 1rem 1rem;

    font-weight: 700;

    color: var(--ath-gold);

}



.woocommerce .button {

    background: var(--ath-gold) !important;

    border-radius: var(--radius-lg) !important;

    padding: 0.75rem 1.5rem !important;

    font-weight: 600 !important;

}



.woocommerce .button:hover {

    background: var(--ath-gold-dark) !important;

}



/* ==========================================================================

   FIX: CONTACT FORM 7 STYLING

   ========================================================================== */

.wpcf7-form {

    max-width: 100%;

}



.wpcf7-form .wpcf7-form-control {

    width: 100%;

    padding: 0.875rem 1rem;

    font-family: var(--font-body);

    font-size: 1rem;

    color: var(--ath-dark);

    background: var(--ath-white);

    border: 2px solid var(--ath-gray-200);

    border-radius: var(--radius-lg);

    transition: all 0.3s ease;

}



.wpcf7-form .wpcf7-form-control:focus {

    border-color: var(--ath-gold);

    box-shadow: 0 0 0 4px var(--ath-gold-100);

    outline: none;

}



.wpcf7-form .wpcf7-submit {

    background: var(--ath-gold);

    color: var(--ath-white);

    font-weight: 700;

    cursor: pointer;

    border: none;

}



.wpcf7-form .wpcf7-submit:hover {

    background: var(--ath-gold-dark);

}



.wpcf7-response-output {

    border-radius: var(--radius-lg) !important;

    padding: 1rem !important;

}



/* ==========================================================================

   FIX: ELEMENTOR COMPATIBILITY

   ========================================================================== */

.elementor-section {

    padding: 0;

}



.elementor-widget-container {

    font-family: var(--font-body);

}



.elementor-heading-title {

    font-family: var(--font-body);

    color: var(--ath-dark);

}



/* ==========================================================================

   FIX: MISC UI IMPROVEMENTS

   ========================================================================== */



/* Selection Color */

::selection {

    background: var(--ath-gold);

    color: var(--ath-white);

}



::-moz-selection {

    background: var(--ath-gold);

    color: var(--ath-white);

}



/* Scrollbar Styling */

::-webkit-scrollbar {

    width: 10px;

    height: 10px;

}



::-webkit-scrollbar-track {

    background: var(--ath-gray-100);

}



::-webkit-scrollbar-thumb {

    background: var(--ath-gray-300);

    border-radius: 5px;

}



::-webkit-scrollbar-thumb:hover {

    background: var(--ath-gray-400);

}



/* Focus States */

a:focus,

button:focus,

input:focus,

select:focus,

textarea:focus {

    outline: none;

}



a:focus-visible,

button:focus-visible {

    outline: 3px solid var(--ath-gold);

    outline-offset: 2px;

}



/* Disable text selection on interactive elements */

button,

.btn,

.nav-link {

    user-select: none;

}



/* Smooth page transitions */

.page-transition-enter {

    opacity: 0;

    transform: translateY(20px);

}



.page-transition-enter-active {

    opacity: 1;

    transform: translateY(0);

    transition: all 0.4s ease;

}

/* ==========================================================================
   HEADER & FOOTER FIXES v4.0 - Cross-page compatibility
   ========================================================================== */

/* --- FIX 1: Mega Menu Grid - 3 items in 3 columns --- */
.mega-menu-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 12px !important;
}

/* --- FIX 2: Mobile Submenu .active support (JS uses .active, CSS had .open) --- */
.has-submenu.active .toggle-icon,
.has-submenu.active .submenu-toggle svg {
    transform: rotate(180deg);
    color: #b99d63;
}

.has-submenu.active .mobile-submenu {
    max-height: 600px;
}

.has-submenu.active > .menu-item-wrapper > a {
    color: #b99d63;
}

/* --- FIX 3: Mobile nav container height overflow --- */
@media (max-width: 768px) {
    .mobile-nav-container {
        max-height: calc(100vh - var(--header-height, 64px));
        overflow-y: auto;
    }
}

/* --- FIX 4: Footer CTA text contrast on gold background --- */
.footer-cta-content p {
    color: #1a1a1a !important;
    text-shadow: none;
}

.footer-cta-content h2 {
    color: #fff;
}

/* --- FIX 5: Header positioning consistency for all pages --- */
/* Inner pages: header relative, nav sticky - ensure smooth behavior */
body:not(.home) .site-header {
    position: relative;
    z-index: 1000;
}

body:not(.home) .main-nav {
    position: sticky;
    top: 0;
    z-index: 1001;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

body:not(.home) .main-nav.scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Homepage: fixed header with proper body offset */
body.home .site-header {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
}

/* --- FIX 6: Scroll progress bar z-index --- */
.scroll-progress {
    z-index: 1002 !important;
}

/* --- FIX 7: Mega menu responsive --- */
@media (max-width: 1024px) {
    .mega-menu-grid {
        grid-template-columns: 1fr !important;
    }
}

/* --- FIX 8: Footer social links uniform sizing --- */
.footer-socials .social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.footer-socials .social-link svg {
    width: 20px;
    height: 20px;
}

