/*
Theme Name: Thiện Phú
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

@import url('https://fonts.googleapis.com/css2?family=Carattere&family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap');
body, p {font-family: "Google Sans Flex", sans-serif;font-weight: 400;font-style: normal;letter-spacing: normal;}
em {font-family: "Carattere", cursive;font-weight: 400;font-style: normal;}
.nav > li > a, .nav-top-link, .nav-bottom-link, .button, button, input[type="submit"] {font-weight: 700;letter-spacing: normal;}
p {margin-bottom: 12px;}
blockquote {padding-left: 15px;font-size: 16px;}
figure {text-align: center;}
table {width: 100%;border: 1px solid;}
th, td {padding: 10px;text-transform: none;letter-spacing: normal;}
td {width: fit-content !important;}
td:first-child, th:first-child {padding-left: 10px;}
ul {padding-left: 20px;}
.banner h1, .banner h2, .banner h3, .banner h4, .banner h5, .banner h6,
h1, h2, h3, h4, h5, h6 {font-family: "Google Sans Flex", sans-serif;font-weight: 900;font-style: normal;letter-spacing: normal;}
.button span {line-height: unset;}
.button.is-link:hover {opacity: 1 !important;}
a.button {margin: 0;}
a.button.secondary {color: #111;}
a.button.secondary span {color: #111;}
a.button.secondary.is-outline {color: #ffc928;}
a.button.secondary.is-outline span {color: #ffc928;}
a.button.secondary.is-outline:hover {color: #111;}
a.button.secondary.is-outline:hover span {color: #111;}
.shop-page-title.category-page-title {font-size: 0;height: 30px;}
.tp-hotline-top {align-items: center;}
.tp-hotline-top .icon-box-img img {padding-top: 0;}
.tp-hotline-top .icon-box-text.last-reset {padding-left: 10px;}
.tp-hotline-top .icon-box-img {border: 1px solid #fecb008f;background: #38495c;height: 40px;width: 40px !important;padding: 7px;border-radius: 50%;}
.header.transparent:not(.stuck) .tp-hotline-top .icon-box-text.last-reset {color: #fff;}
.tp-title-hero h2 {font-size: 58px;margin-bottom: 5px;color: #ffcc00;}
.tp-box-tieu-chi.icon-box-left {display: flex;align-items: center;}
.tp-box-tieu-chi.icon-box-left>.icon-box-text {padding-left: 7px;}
.tp-box-tieu-chi.icon-box-left>.icon-box-text h4 {font-size: 12px;font-weight: 800;}
.tp-box-tieu-chi.icon-box-left>.icon-box-text p {font-size: 11px;}
.overlay-tools {margin-top: 0;}
.product-small.box {/* padding: 15px 20px 0; */border-radius: 12px;background: #fff;box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);}
.product-small.box:hover {transform: translateY(-10px);box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.1);}
.product-small.col.product_cat-san-pham.has-post-thumbnail .product-small.box .box-text.box-text-products {padding: 10px 15px 20px;}
.product-small.box .box-text .title-wrapper {letter-spacing: normal;}
a.button.custom-explore-btn {margin-top: 10px;border: 0;padding: 0;font-size: 16px;color: #ffc928;}
a.button.custom-explore-btn:hover {background: none;color: #002147;}
.section-title a {font-size: 13px;color: #f5bc05;}
.icon-angle-right:before {content: "\f061";font-family: "FontAwesome";font-size: 11px;}
.product-small.box.tp-product-home:hover {transform:none;}
.tp-product-home .box-image .shade {background: linear-gradient(180deg, rgba(6, 18, 29, 0.1) 0%, rgba(6, 18, 29, 0.4) 50%, rgba(6, 18, 29, 0.95) 100%);opacity: 1;}
.tp-product-home .box-text {padding: 10px 15px 15px;}
.tp-product-home .box-text a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {font-size: 13px;text-transform: capitalize;font-weight: 800;color: #fff;}
.tp-product-home .box-text:hover a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {color: #f5bc05;}
.tp-product-home .box-text .price-wrapper {max-width: 84%;margin-top: 5px;}
.tp-product-home .box-text .price-wrapper .product-subtitle {font-size: 11px;line-height: normal;}
.tp-product-home a.button.custom-explore-btn {position: absolute;right: 10px;bottom: 15px;line-height: 1;min-height: auto;margin-top: 0;}
.tp-product-home a.button.custom-explore-btn i {background-color: rgb(255 255 255 / 0.1);margin: 0;font-size: 11px;color: #fff;border-radius: 50%;height: 30px;width: 30px;display: flex;align-items: center;justify-content: center;border: 1px solid rgb(255 255 255 / 0.2);}
.tp-product-home a.button.custom-explore-btn:hover i {background: #f5bc05;color: #071722;transition: all .35s ease-out;}
.tp-product-home .custom-explore-btn span {display: none;}
.box-image img {border-radius: 12px 12px 0 0;}
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {text-transform: uppercase;font-size: 20px;color: #002147;font-weight: 800;}
.product-small.box .box-text .price-wrapper {letter-spacing: normal;}
.price-wrapper span.price {display: flex;flex-wrap: wrap;}
.product-small.box .box-excerpt {font-weight: 400;font-size: 14px;line-height: normal;color: #444;margin-top: 10px;margin-bottom: 10px;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
h1.product-title.product_title {text-transform: capitalize;font-size: 32px;}
#accordion-description-content {padding: 20px 0;}
.product-small.col.product_cat-san-pham.has-post-thumbnail .product-small.box .box-image {padding-top: 70%;}
.post-meta:before {content: "\f017";font-family: 'FontAwesome';margin-right: 5px;font-size: 11px;}
.product-info.product-summary .price-wrapper {background-color: #f7f8fa;padding: 8px 20px 15px;border-radius: 12px;margin-bottom: 20px;border: 1px solid #eee;}
.product-info.product-summary .price-wrapper p.price {margin: 0;}
.product-summary .woocommerce-Price-currencySymbol {font-size: 24px;vertical-align: baseline;}
.product-info.product-summary form.cart {display: none;}
.product-short-description {font-size: 14px;}
.product-info .price-prefix {font-size: 20px;margin-right: 10px;}
.product-info .woocommerce-Price-amount.amount {font-size: 32px;}
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper .flickity-viewport {height: 380px !important;}
.flickity-slider>div:not(.col) {height: 380px;}
.product-gallery-slider img {object-fit: cover;height: 100%;border-radius: 7px;}
.product-thumbnails.thumbnails.slider.row {margin: 0 -5px;}
.product-thumbnails.thumbnails.slider>.flickity-viewport {height: 90px !important;}
.row-slider .flickity-prev-next-button {top: 25%;}
.product-thumbnails.thumbnails.slider>.flickity-viewport>.flickity-slider>.col {padding: 0 5px;}
.product-thumbnails.thumbnails.slider>.flickity-viewport>.flickity-slider>.col>a {height: 90px;border-color: #f4c026;border-radius: 7px;}
.product-thumbnails.thumbnails.slider>.flickity-viewport>.flickity-slider>.col>a img {height: 100%;object-fit: cover;transform: translateY(0);border-radius: 7px;}
.box-text-inner.blog-post-inner .post-title a {overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
/* BOX DỰ ÁN */
.tp-port-row {margin-top: 50px;}
.tp-du-an-home .section-title-container {margin-bottom: -55px;}
.tp-du-an-home .portfolio-element-wrapper ul.nav.filter-nav>li.active>a {background: #ffc928;color: #002147;border: 1px solid #dbaa46;}
.tp-du-an-home .portfolio-element-wrapper ul.nav.filter-nav>li {margin-left: 8px;}
.tp-du-an-home .portfolio-element-wrapper ul.nav.filter-nav>li>a {border: 1px solid #e2e8f0;padding: 0 17px;text-transform: capitalize;color: #002147;}
.portfolio-box.box .box-image .shade {
    opacity: 1;
    background: linear-gradient(180deg, rgba(6, 18, 29, 0.02) 0%, rgba(6, 18, 29, 0.12) 48%, rgba(6, 18, 29, 0.92) 100%);
}
h6.portfolio-box-title {max-width: 90%;text-transform: capitalize;opacity: 1;font-size: 15px;letter-spacing: normal;font-weight: 700;position: relative;}
h6.portfolio-box-title:after {content: "\f061";position: absolute;right: -30px;bottom: 5px;font-family: 'FontAwesome';font-size: 13px;border-radius: 50%;height: 30px;width: 30px;line-height: 30px;text-align: center;border: 1px solid rgb(255 255 255 / 0.2);background-color: rgb(255 255 255 / 0.1);}
h6.portfolio-box-title:hover {color:#ffc928;}
h6.portfolio-box-title:hover:after {background: #ffc928;color: #111;}
/* --- FORM TRANG LIÊN HỆ --- */
.form-inner-box {background: #ffffff;padding: 30px 40px;border-radius: 16px;box-shadow: 0 10px 40px rgba(0,0,0,0.06);}
.contact-main-title {font-size: 32px;font-weight: 700;margin-bottom: 10px;text-transform: uppercase;}
.contact-col-title {font-size: 24px;font-weight: 700;}
/* Cột Contact Form 7 */
.custom-contact-form .form-row {display: flex;margin-left: -10px;margin-right: -10px;flex-wrap: wrap;}
.custom-contact-form .form-col {padding: 0 10px;width: 50%;}
.custom-contact-form .full-width {margin: 0 auto;}
.custom-contact-form .full-width .form-col {width: 100%;padding: 0;}
.custom-contact-form label {display: block;font-size: 14px;font-weight: 600;color: #333;margin-bottom: 8px;}
.custom-contact-form .form-submit-wrap {margin-top: 10px;}
.custom-contact-form input,.custom-contact-form select, .custom-contact-form textarea {width: 100%;height:45px;background-color: #fff;border: 1px solid #e2e8f0;border-radius: 8px;padding: 0 15px;font-size: 14px;color: #333;box-shadow: none;transition: all 0.3s ease;}
.custom-contact-form textarea {padding-top: 12px;min-height: 90px;}
.custom-submit-btn {width: 100%;background-color: #071722;color: #ffffff;font-size: 16px;font-weight: 700;text-transform: uppercase;padding: 10px 15px;border-radius: 8px;border: none;display: flex;align-items: center;justify-content: center;gap: 10px;cursor: pointer;transition: background 0.3s ease;}
.custom-submit-btn i {font-size: 16px;}
.custom-submit-btn:hover {background-color: #002147;}
/* Footer */
.ms-ct-footer p {display: grid;align-items: baseline;grid-auto-flow: column;justify-content: start;gap: 5px;}
.flex-row.form-flat.ms-ct-form input {margin-bottom: 0;border-radius: 5px 0 0 5px;}
.flex-row.form-flat.ms-ct-form .flex-col {padding-right: 0;}
.flex-row.form-flat.ms-ct-form .flex-col button {border: 0;margin: 0;padding: 0;width: 100%;background: #ed0000;border-radius: 0 5px 5px 0;}
/* Box Quy Trình SP */
.tp-quy-trinh .icon-box.featured-box>.icon-box-text {padding-left: 45px;position: relative;padding-bottom: 20px;}
.tp-quy-trinh .icon-box.featured-box:last-child .icon-box-text {padding-bottom: 0;}
.tp-quy-trinh .icon-box.featured-box>.icon-box-text>h5 {position: absolute;left: 0;font-size: 13px;display: inline-flex;width: 38px;height: 38px;line-height: normal;border-radius: 50%;background: #ffc928;color: #071722;align-items: center;justify-content: center;margin-bottom: 0;}
.tp-quy-trinh .icon-box.featured-box>.icon-box-text:before {content: '';position: absolute;width: 2px;height: 100%;background: rgb(255 255 255 / 0.1);left: 17px;}
/* ACF Sản phẩm */
.tp-box-list-ks ul {list-style: none;display: flex;padding-left: 0;margin: 10px auto 0;gap: 15px;font-size: 11px;font-weight: 700;}
.tp-box-list-ks ul>li {margin: 0;}
.product-info-boxes {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 14px;margin: 18px 0 26px;}
.product-info-box {display: flex;align-items: center;min-height: 78px;padding: 10px;border: 1px solid #edf1f5;border-radius: 8px;background: #f8fafc;}
.product-info-icon {flex: 0 0 40px;width: 40px;height: 40px;margin-right: 10px;border-radius: 6px;background: #fff7df;color: #ffc107;display: flex;align-items: center;justify-content: center;font-size: 18px;}
.product-info-title {margin-bottom: 5px;color: #657386;font-size: 13px;font-weight: 800;line-height: 1.2;text-transform: uppercase;}
.product-info-text {color: #061225;font-size: 12px;font-weight: 500;}
.woocommerce-Reviews.row #comments {flex-basis: 100%;max-width: 100%;}
.woocommerce-Reviews.row #review_form_wrapper {flex-basis: 100%;max-width: 100%;}
.tp-about-left {padding: 15px 20px;}
.related-post .post-title {font-size: 14px;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
.related-post .col .col-inner {border-radius: 12px;background: none;}
.related-post .box-blog-post {border-radius: 12px;}
.featured-title .page-title-bg .title-bg.bg-top {background-image: url(/wp-content/uploads/2026/05/hero-banner.webp) !important;background-position: center;}
.featured-title .page-title-bg .title-overlay {background-color: #000000ba !important;}
.tp-bo-dem-row {border-radius: 15px;background: linear-gradient(to right, #ffe47a , #ffc928);}
.tp-ft-menu .ux-menu-link__link {min-height: auto;font-size: 12px;}
p.tg-form-title {font-size: 11px;margin-bottom: 10px;}
.installment-form .form-submit {background: #efb606;text-align: center;border-radius: 4px;}
.installment-submit-btn {font-size: 12px;color: #111;margin: 0;padding: 3px 10px 2px;}
.installment-form input {margin-bottom: 7px;height: 33px;font-size: 12px;border-radius: 4px;background: #ffffff0f;border-color: #ffffff1f;}

@media (max-width: 767px) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	.button span {font-size: 18px;line-height: 40px;}
	.section-title a {padding: 10px 0 8px;}
	h5.post-title {font-size: 20px;}
	.tp-so-lieu-sc {padding: 0 15px;}
	.related-post .post-title {font-size: 18px;}
	.duong-line h4 {font-size: 24px;}
	.blog-featured-title+#main .post-sidebar {padding-top: 0;}
    .tp-title-hero h2 {font-size: 32px;letter-spacing: normal;}
    .tp-box-tieu-chi.icon-box-left>.icon-box-text h4 {font-size: 10px;margin-bottom: 0;}
    .tp-box-tieu-chi.icon-box-left>.icon-box-text p {font-size: 10px;}
	.tp-product-home .box-text {padding-bottom: 25px;}	
	.tp-product-home .box-text a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {font-size: 20px;}
	.tp-product-home .box-text .price-wrapper .product-subtitle {font-size: 14px;}
	.tp-product-home a.button.custom-explore-btn {right: 15px;bottom: 27px;}
	.tp-product-home a.button.custom-explore-btn i {font-size: 14px;width: 38px;height: 38px;}
	.woocommerce-product-gallery .woocommerce-product-gallery__wrapper .flickity-viewport {height: 220px !important;}
    .flickity-slider>div:not(.col) {height: 220px;}
    .product-thumbnails.thumbnails.slider>.flickity-viewport {height: 60px !important;}
    .product-thumbnails.thumbnails.slider>.flickity-viewport>.flickity-slider>.col>a {height: 60px;}
	.product-info-boxes {grid-template-columns: 1fr;}
	.tp-du-an-home .section-title-container {margin-bottom: 15px;}
	.tp-du-an-home .portfolio-element-wrapper ul.nav.filter-nav {justify-content: flex-start;overflow: scroll;flex-wrap: nowrap;padding-bottom: 8px;}
	.tp-du-an-home .portfolio-element-wrapper ul.nav.filter-nav>li {flex: none;}
	.tp-du-an-home .portfolio-element-wrapper ul.nav.filter-nav>li>a {white-space:pre-wrap;}
	h6.portfolio-box-title {font-size: 13px;max-width: 100%;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
	h6.portfolio-box-title:after {width: 25px;height: 25px;line-height: 25px;font-size: 10px;right: 0;bottom: 100%;}
}
