/*
 Theme Name:   Astra Child
 Theme URI:    https://example.com/astra-child
 Description:  Child theme for Astra. Safe place for custom CSS/JS/PHP without touching the parent theme.
 Author:       Your Name
 Author URI:   https://example.com
 Template:     astra
 Version:      1.0.0
 Text Domain:  astra-child
*/


#ast-desktop-header .sub-menu{
	max-height: 400px;
	overflow-y: scroll;
}
#ast-desktop-header .sub-menu li a{
	text-transform: capitalize !important;
	padding: 10px 20px 0;
}
#ast-desktop-header .sub-menu li:last-child a{
	padding-bottom: 20px;
}
 ::-webkit-scrollbar {
  width: 3px;
  height: 8px;
}

 ::-webkit-scrollbar-track {
  background: #f0f0f0;
}

 ::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.uagb-button__icon.uagb-button__icon-position-after>svg{
	transform: rotate(-45deg);
    transform-origin: center;
}
.pl-120{
	padding-left: 120px;
}
.search-form
 {
    margin-top: 80px;
}
.ast-header-search .slide-search .search-form {
    border: 2px solid var(--ast-global-color-3);
}
input:focus,  input[type="search"]:focus{
	border-style: none;
}
.search-form .search-field {
    outline: 0;
}
input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select{
	height: 50px !important;
}
.uagb-forms-phone-flex select{
	display: none !important;
}
.uagb-forms__outer-wrap .uagb-forms-main-form .uagb-forms-phone-wrap .uagb-forms-phone-input {
	width: 100% !important;
}
.swiper-pagination-bullet-active{
	background: #FF0000 !important;
}
/* Sapo  */
.wp-block-uagb-container.sapo{
	position: relative;
    margin-bottom: 80px !important;
	margin-top: 0 !important;
}
.wp-block-uagb-container.sapo>div{
	position: absolute !important;
    top: -50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (max-width: 1024px) {
	.wp-block-uagb-container.sapo{
		margin-bottom: 0 !important;
	}
	.wp-block-uagb-container.sapo>div{
     	position: relative !important;
    	top: 0%; 
     	left: 0%;
     	transform: translate(0%, 0%); 
}
	.pl-120{
		padding-left: 0;
	}
}
.sapo h1.uagb-heading-text{
	margin-bottom: 0px !important;
}

/* Giao diện Banner */
.bn{
	position: relative;
}
.bn .bn-btn-ct{
	position: absolute !important;
    z-index: 10;
    left: 35%;
    top: 60%;
	width: auto !important;
}
@media (max-width: 1140px) {
	.bn .bn-btn-ct{
		left: 20%;
	}
}
.uagb-marketing-btn__link.wp-block-button__link{
	width: 100% !important;
}
/* Swiper slide */
.mySwiper  .swiper-slide iframe {
    min-height: 565px;
    overflow: hidden;
    border-radius: 16px;
	width: 100%;
}
.mySwiper  .swiper-button-prev ,
.mySwiper  .swiper-button-next {
	font-size: 16px;
	color: #f37021;
    width: 35px !important;
    height: 35px !important;
    border-radius: 50%;
}
.mySwiper  .swiper-button-next{
	right: 10px !important;
}
.mySwiper  .swiper-button-next::after, .swiper-button-prev::after{
	font-size: 16px !important;
	font-weight: bold;
}
/* Footer */
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row {
    max-width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.footer-widget-area[data-section="section-fb-html-1"] .ast-builder-html-element{
	text-align: left !important;
}
.site-footer#colophon{
	padding: 0;
}
.site-footer li{
	list-style: none;
}
.site-footer ul{
	margin: 0 !important;
}
.site-footer .ast-builder-html-element{
	background: #000;
}
/* =========================================
   1. GLOBAL & GRID SYSTEM (QUAN TRỌNG: GIÚP THẲNG HÀNG)
   ========================================= */
.footer-grid {
    max-width: 1200px;
    margin: 0 auto !important;
    padding: 60px 20px 0;
    font-family: sans-serif;
    color: #fff;
    /* GRID SETTING CHO DESKTOP */
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* 3 cột bằng nhau */
    column-gap: 40px; /* Khoảng cách giữa các cột */
    row-gap: 40px;    /* Khoảng cách giữa các hàng */
    align-items: start; /* Căn lề trên */
}
.ast-footer-copyright p,
.ast-footer-copyright p a{
	text-align: center !important;
	color: #fff;
}
/* --- VỊ TRÍ CÁC Ô TRÊN PC (Desktop) --- */
@media (min-width: 992px) {
    /* Hàng 1 */
    .item-fanpage   { grid-column: 1; grid-row: 1; }
    .item-info      { grid-column: 2; grid-row: 1; }
    .item-about     { grid-column: 3; grid-row: 1; }

    /* Hàng 2 */
    /* Form cho phép dãn xuống hàng 3 nếu dài, nhưng vẫn bắt đầu ở hàng 2 */
    .item-form      { grid-column: 1; grid-row: 2 / span 2; } 
    .item-services  { grid-column: 2; grid-row: 2; }
    .item-projects  { grid-column: 3; grid-row: 2; }

    /* Hàng 3 (Kiến thức) */
    .item-knowledge-1 { grid-column: 2; grid-row: 3; }
    .item-knowledge-2 { grid-column: 3; grid-row: 3; }
    
    /* Ẩn tiêu đề kiến thức ở cột 3 trên PC & Bù khoảng trống để thẳng hàng */
    .item-knowledge-2 .heading { visibility: hidden; } 
    .item-knowledge-2 { margin-top: -20px; /* Tinh chỉnh nhỏ để khớp dòng với cột bên cạnh */ }
}

/* --- MOBILE & TABLET (Dưới 992px) --- */
@media (max-width: 991px) {
    .footer-grid {
        display: flex;
        flex-direction: column;
        gap: 40px;
    }
    
    /* Riêng phần Kiến thức chia đôi trên mobile cho đẹp */
    .item-knowledge-1, .item-knowledge-2 {
        width: 48%;
        display: inline-block;
        vertical-align: top;
    }
    .item-knowledge-2 .heading { display: none; }
    .item-knowledge-2 { padding-top: 55px; } /* Bù chiều cao tiêu đề bị ẩn */
}

/* =========================================
   2. STYLE CHO CHỮ & TIÊU ĐỀ
   ========================================= */
.heading {
    font-size: 16px; 
    font-weight: 700; 
    text-transform: uppercase;
    margin-bottom: 20px; 
    padding-bottom: 10px;
    border-bottom: 1px solid #999; /* Gạch chân màu xám sáng */
    color: #fff;
    line-height: 1.4;
}

/* Tên công ty (Cột 2) */
.company-name-highlight {
    font-weight: 700; 
    text-transform: uppercase; 
    color: #fff;
    margin-bottom: 15px; 
    font-size: 15px; 
    line-height: 1.5;
}

/* Link thương hiệu (Cột 3) */
.brand-link-highlight {
    font-size: 18px !important; 
    font-weight: 700;
    text-transform: uppercase; 
    color: #fff !important;
    display: block; 
    margin-bottom: 5px;
}

.desc-text, .info-list p, .link-list a, .nav-list a, .info-list p a {
    color: #fff !important; /* Màu xám nhạt dễ đọc trên nền đen */
    font-size: 15px; 
    line-height: 1.6; 
    text-decoration: none;
    transition: 0.3s;
}
.info-list p { margin-bottom: 6px; }
.link-list li, .nav-list li { margin-bottom: 8px; }
.link-list a:hover, .nav-list a:hover { color: #fff; padding-left: 5px; }

/* =========================================
   3. FORM STYLE (GIAO DIỆN ĐEN - VIỀN TRẮNG)
   ========================================= */
.form-card {
    background-color: #000; /* Nền form ĐEN */
    padding: 20px;
    border: 1px solid #fff; /* Khung viền TRẮNG */
    border-radius: 4px;
    margin-bottom: 15px;
}

.wpcf7-form label { 
    color: #fff; 
    font-weight: 500; 
    font-size: 14px; 
    margin-bottom: 5px; 
    display: block; 
}

/* Ô nhập liệu: Nền đen, Viền trắng, Chữ trắng */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form select,
.wpcf7-form textarea {
    width: 100%;
    background: #000; 
    border: 1px solid #fff; 
    color: #fff; 
    padding: 8px 10px;
    border-radius: 2px;
    margin-bottom: 15px;
    box-sizing: border-box; /* Đảm bảo padding không làm vỡ khung */
    outline: none;
}

/* Placeholder màu xám */
.wpcf7-form input::placeholder { color: #aaa; }

/* Nút GỬI: Viền trắng, Nền đen */
.wpcf7-form input[type="submit"] {
    background-color: #000;
    color: red;
    border: 1px solid red;
    padding: 8px 35px;
    text-transform: uppercase;
    font-weight: bold;
    cursor: pointer;
    margin-top: 5px;
    transition: 0.3s;
}
.wpcf7-form input[type="submit"]:hover {
    background-color: #fff;
    color: #000;
}

/* Checkbox */
.wpcf7-list-item { display: block; margin: 0 0 5px 0 !important; }
.wpcf7-list-item label { display: inline-block; font-weight: normal; color: #fff; }
/* Button contact */
.buttonizer.buttonizer-group{
	right: 25px !important;
	bottom: 130px !important;
}
.buttonizer-button.buttonizer-button-0-0-6{
	width: 45px !important;
	height: 45px !important;
}



/* SLIDER BÀI VIẾT LIÊN QUAN CUỐI BÀI VIẾT */
.related-posts-section {
     padding-top: 40px;
    border-top: 1px solid #e1e8ed;
	margin-top: 40px ;
    margin-bottom: 60px;
}
.related-posts-slider{
	margin-top: 12px;
}
.related-posts-slider .swiper-slide {
  background: #fff;
  text-align: center;
	height: auto;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0px 6px 15px -2px rgba(16, 24, 40, 0.05);
}

.related-posts-slider .swiper-slide .swiper-wrapper{
	align-items: stretch;
}
.related-post .thumbnail{
	overflow: hidden;
}
.related-post .thumbnail:hover img{
	transform: scale(1.1);
    transition: transform .5s ease;
}
    
.related-post .thumbnail img {
  max-width: 100%;
  height: auto;
  width: 100%;
  transform: scale(1);
  transition: transform .5s ease;
}
.related-post .title {
  font-size: 16px;
  margin-top: 10px;
  color: #333;
  font-weight: 600;
	text-align: left;
	padding: 12px 16px 0;
  line-height: 1.3;
}
.related-post .excerpt {
  font-size: 14px;
  color: #666;
  margin-top: 6px;
	padding: 0 16px;
  line-height: 1.4;
}
.related-posts-slider .swiper-button-next, .related-posts-slider .swiper-button-prev{
	
	background: rgba(0, 0, 0, 0.1);
	width: 35px !important;
	height: 35px !important;
	border-radius: 50%;
}
.related-posts-slider .swiper-button-next::after, .related-posts-slider .swiper-button-prev::after{
	font-size: 16px !important;
	font-weight: bold;
	color: var(--ast-global-color-0) !important;
}
.link-arrow-2{
	display: flex;
    align-items: center;
    gap: 4px;
    color: white;
}
.box_kien_thuc .box_content h3{
	font-size: 18px !important;
}
.box_kien_thuc .box_content p,
.box_kien_thuc .box_content a{
	font-size: 13px !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
	color: #fff !important;
}

.ast-scroll-to-top-right{
	right: 24px !important;
    bottom: 70px !important;
}
input:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="number"]:focus, textarea:focus, .wp-block-search__input:focus, [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus, .ast-mobile-popup-drawer.active .menu-toggle-close:focus, #ast-scroll-top:focus, #coupon_code:focus, #ast-coupon-code:focus,
.ast-menu-toggle:focus{
	outline: none !important;
	border: none !important;
	
}
input#search-field::placeholder{
	color: var(--ast-global-color-1) !important;
}
button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"], a:where(.wp-block-button__link){
	box-shadow: none !important;
}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg{
	fill: #fff !important;
}
#ez-toc-container a.ez-toc-toggle{
	outline: none !important;
	box-shadow: none !important;
}
#ez-toc-container .ez-toc-js-icon-con, #ez-toc-container .ez-toc-toggle label{
	border: 1px solid var(--ast-global-color-1);
}
.entry-meta .author-name{
	color: var(--ast-global-color-1) !important;
}
.swiper-button-next, .swiper-button-prev{
	color: var(--ast-global-color-1) !important;
	background: #cccccc9e;
	border-radius: 50% !important;
}
.swiper-button-next{
	right: 0 !important;
}
.swiper-button-prev{
	left: 0 !important;
}
.uagb-post__text.uagb-post-grid-byline,
.single-post .navigation.post-navigation{
	display: none;
}
body p{
	text-align: justify !important;
}
input[type="search"]:focus {
    border-style: none !important;
}
 .ast-header-search .slide-search .search-form{
	border: 1px solid var(--ast-global-color-1) !important;
	outline: none !important;
}
.main-header-menu .sub-menu .menu-link{
	text-transform: capitalize;
}
.single-post article .wp-block-heading, .single-post article .uagb-heading-text, .single-post article .wp-block-list{
	margin-top: 0 !important;
}
.wp-block-uagb-image.aligncenter  {
	margin-bottom: 0 !important;
}
.trail-item.trail-end {
    display: none !important;
}
.trail-items .trail-item:not(.trail-end):nth-last-of-type(2)::after {
    content: none;
}
.entry-meta, .entry-meta *{
	color: #000 !important;
	font-weight: 400 !important;
}
.entry-meta .author-name{
	font-weight: 700 !important;
}
.wp-block-button .wp-block-button__link{
	padding: 4px 8px !important;
}
.submenu-after-sapo {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
}

.submenu-after-sapo > :nth-last-child(3):nth-child(5n + 1) {
    grid-column-start: 2;
}
@media (max-width: 567px){
	.ast-search-menu-icon.slide-search .search-form{
		top: 120% !important;
	}
}
@media(min-width: 1024px){
	.ast-grid-right-section{
		margin-right: 40px;
	}
}