.thietke-archive .container {
    max-width: 1310px;
    margin-bottom: 30px;
}

.thietke-archive {
    padding-top: 50px;
}

h1 {
    font-size: 40px;
    line-height: 1;
}
.section-top-description:not(:has(+ .section-bts .bottom-description)) {
    border: none;
    padding-bottom: 0px;
}

section.section-top-description {
    padding-bottom: 30px;
    border-bottom: 1px solid #707070;
}
.top-description {
    max-width: 980px;
    margin: auto;
    text-align: center;
}
.top-description p:last-child {
    margin-bottom: 0px !important;
}

section.section-top-description a.btn-tvdk {
    margin-top: 30px;
}

.cat-parent-grid {
    display: flex;
    gap: 30px;
    padding-top: 40px;
	justify-content: center;
}

.cat-parent-grid .item {
    width: 300px;
}

.cat-parent-grid .item .image-box {
    width: 100%;
    height: auto;
    border-radius: 20px;
    aspect-ratio: 1/1;
    overflow: hidden;
}

.cat-parent-grid img {
    width: auto;
    height: 100%;
    border-radius: 20px;
    object-fit: cover;
}
.cat-parent-grid .item:hover .image-box img {
    transform: scale(1.1);
    transition: ease-in .3s;
}

.cat-parent-grid .item p {
    text-align: center;
    padding: 12.5px 15px 0px 15px;
	margin-bottom: 0px !important;
    font-size: 16px;
    line-height: 24px;
    color: #191919;
    font-weight: 600;
}
.cat-parent-grid .item:hover p {
    color: #976729;
}

a.btn-tvdk {
    display: block;
    padding: 13px 39px;
    border-radius: 25px;
    font-size: 18px;
    line-height: 24px;
    background: transparent linear-gradient(180deg, #E0B15F 0%, #976729 100%) 0% 0% no-repeat padding-box;
    width: fit-content;
    margin: auto;
    cursor: pointer;
}

a.btn-tvdk:hover {
    color: white;
    background: transparent linear-gradient(
360deg, #E0B15F 0%, #976729 100%) 0% 0% no-repeat padding-box;
}


.section-top-description ~ .section-bts {
    padding-top: 30px;
}

section.section-bts {
    padding-top: 0;
}

.bottom-description {
    max-width: 980px;
    margin: auto;
    text-align: center;    
	padding-bottom: 30px;
}

section.section-noidung {
    margin-top: 30px;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 20px;
}
section.video-danhmuc:has(iframe) {
    padding: 40px 0px;
}

section.video-danhmuc iframe {
    border-radius: 20px;
}

section.section-quy-trinh {
    padding: 50px 0px;
    background: url(/wp-content/uploads/2026/04/backgroud-quy-tring.webp);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
    position: relative;
}

section.section-quy-trinh:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgb(241 241 237 / 86%);
    z-index: -1;
    top: 0;
}

section.section-quy-trinh .intro {
    max-width: 980px;
    text-align: center;
    margin: auto;
}

section.section-quy-trinh .steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 26px;
    row-gap: 83px;
}

section.section-quy-trinh .steps .step {
	text-align: center;
	position: relative;
}

section.section-quy-trinh .steps .step p.title-step {
    font-size: 20px;
    line-height: 27px;
    margin-bottom: 15px !important;
    color: #424146;
    text-transform: uppercase;
    font-weight: 600;
}

section.section-quy-trinh .steps .step .image-step {
    position: relative;
    margin-bottom: 10px;
    isolation: isolate;
}
section.section-quy-trinh .steps .step .image-step img {
    border-radius: 25px;
    width: 100px;
    aspect-ratio: 1/1;
}

section.section-quy-trinh .steps .step p {
    margin-bottom: 0px !important;
}

section.section-quy-trinh .steps .step .image-step:before {
    content: "";
    border: 1px dashed;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    z-index: -1;
}
.step.active img {
    transform: scale(1.1);
}

section.section-quy-trinh .steps .step:nth-child(4n) .image-step:before {
    width: 0px;
}

section.section-quy-trinh .steps .step.active .image-step:after{
    content:"";
    width:120px;
    height:120px;
    background:#d7a857;
    position:absolute;
    left:calc(50% - 60px);
    top:-10px;
    z-index:-1;
    border-radius:15px;
    filter:blur(10px);
    opacity:.8;
}

section.section-bang-gia .intro {
    max-width: 980px;
    text-align: center;
    margin: auto;
    padding-bottom: 20px;
}

section.section-bang-gia .intro p:last-child {
    margin-bottom: 0px !important;
}
.swiper.package-swiper {
    padding: 20px 0px;
}
.swiper.package-swiper:has(.swiper-button-lock) {
    padding-bottom: 0px;
}
.swiper.package-swiper:has(.swiper-button-next) {
    padding-bottom: 76px;
}


section.section-bang-gia .packages .package {
    padding: 25px 22px;
    border: 1px solid #976729;
    border-radius: 15px;
    background: white;
}
section.section-bang-gia .packages .package:hover {
    transform: translateY(-10px);
    box-shadow: 0 3px 6px -4px rgba(0, 0, 0, .16), 0 3px 6px rgba(0, 0, 0, .23);
    transition: ease-in .2s;
}
section.section-bang-gia .packages .package:hover img {
    transform: scale(1.1);
    transition: ease-in .3s;
}
section.section-bang-gia .packages .package .image-box {
    width: auto;
    border-radius: 15px;
    margin-top: 15px;
    overflow: hidden;
    aspect-ratio: 4/3;
}
section.section-bang-gia .packages .package img {
    width: 100;
    height: auto;
    border-radius: 15px;
    aspect-ratio: 4 / 3;
}

section.section-bang-gia .packages .package p {
    text-align: center;
    margin-bottom: 0px !important;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
}
section.section-bang-gia .packages .package .gia-thiet-ke p {
    font-size: 22px;
    line-height: 24px;
    color: #976729;
    margin-top: 15px;
}

section.section-hang-muc-thi-cong {
    background: white;
    padding: 20px;
    border-radius: 15px;
    margin-top: 25px;
}

.title-hang-muc {
    display: flex;
    gap: 12px;
    width: 100%;
    background: transparent linear-gradient(180deg, #E0B15F 0%, #976729 100%) 0% 0% no-repeat padding-box;
    padding: 16px;
    border-radius: 15px;
    margin-bottom: 20px;
}

.title-hang-muc img {
    width: 24px;
    height: 24px;
}

.title-hang-muc p {margin-bottom: 0px !important;font-size: 18px;font-weight: 600;line-height: 24px;color: #191919;}

.thietke-swiper {
    padding-bottom: 86px !important;
}
.thietke-swiper .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.thietke-swiper .item .image-item{	
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 15px;
    overflow: hidden;
}

.thietke-swiper .item:hover img {
    transform: scale(1.1);
    transition: ease-in .3s;
}
.thietke-swiper .item img {
    height: auto;
    aspect-ratio: 1 / 1;
}


.thietke-swiper .grid .item h3 {
    font-size: 18px;
    line-height: 25px;
    color: #1d2327;
    padding-top: 5px;
    font-weight: 600;
    margin-bottom: 0px !important;
}
.thietke-swiper .item:hover h3 {
    color: #9b6d32;
}

.thietke-swiper .grid .item p.cat-name {
    font-size: 14px;
    line-height: 19px;
    color: #976729;
    padding-top: 10px;
    margin-bottom: 5px !important;
}
.row.row-hang-muc .col.large-12 {
    max-height: 60px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.row.row-hang-muc .col.large-12.active {
    max-height: 1000px; /* đủ lớn */
}

/* Hiệu ứng lấp lánh chạy liên tục */
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes lineGrow {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
/* mobile */
@media (max-width: 966px) {
	section.section-quy-trinh .steps .step p.title-step {
		font-size: 15px;
	}
}
@media (max-width: 768px) {
    .thietke-swiper .grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
	.cat-parent-grid {
		flex-direction: column;
	}

	.cat-parent-grid .item {
		width: auto;
	}

	.cat-parent-grid .item img {
		width: 100%;
	}

	section.section-quy-trinh .steps {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 25px;
		row-gap: 25px;
	}

	section.section-quy-trinh .steps .step:nth-child(2n) .image-step:before {
		width: 0px;
	}
	section.section-quy-trinh .steps .step:nth-child(2n) .image-step:after {
		display: none;
	}

	section.section-quy-trinh .steps .step p.title-step {
		font-size: 16px;
	}
	section.video-danhmuc iframe {
		height: auto;
		aspect-ratio: 4 / 3;
	}

}
@media only screen and (max-width: 398px) {
	section.section-quy-trinh .steps .step:last-child p.title-step {
		margin-bottom: calc(54px - 27px + 15px) !important;
	}
}
