body {
    font-family: 'Roboto', sans-serif;
}
.no-bottom, .no-bottom-row > .col {
	padding-bottom: 0 !important;
}
.col-bt-10,.row-bt-10 > .col{
	padding-bottom: 10px;
}
.col-bt-20,.row-bt-20 > .col {
	padding-bottom: 20px;
}
.main-tt h2 {
	font-size: clamp(1.4rem,4vw,2.5rem);
	color: var(--primary-color);
	margin: 0;
}
.rad-12-img {
	border-radius: 12px;
	overflow: hidden;
}
.center-ct > .col-inner {
	display: flex;
	justify-content:center;
}
.main-btn {
	margin: 0;
    border-radius: 99px !important;
    padding: 6px 6px 4px 15px !important;
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 8px;
    line-height: 1 !important;
	    text-transform: uppercase !important;
    background: #fff;
    border: 2px solid var(--primary-color);
	color: var(--primary-color);
	box-shadow: none !important;
}
.main-btn:hover {
	color: #fff;
	background: var(--primary-color);
}
.main-btn i {
    background: var(--primary-color);
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    font-size: 24px;
    align-items: center;
    margin: 0 !important;
    transition: .3s all;
}
.main-btn:hover i {
	color: var(--primary-color);
    background: #fff;
}


/* product small */
.product-small.box {
	padding: 16px;
	border: 1px solid #f1f1f1;
	box-shadow: 0 0 8px rgba(0,0,0,0.05);
	border-radius: 8px;
	overflow: hidden;
	background:#fff;
}
.product-small.box .box-image {
	aspect-ratio: 1 / 1;
	overflow: visible;
	display: flex;
    align-items: center;
}
.product-small.box .box-image img{
	object-fit: contain;
}
.product-small.box .box-text {
	padding: 0;
}
.product-small .add_to_cart_button{
	border: none;
	margin: 0;
    font-size:0;
	background: #FFEDE5 !important;
	color: var(--fs-color-secondary);
	width: 36px !important;
    height: 36px;
	display: flex;
	justify-content:center;
	align-items:center;
	border-radius: 4px;
}

.product-small .add_to_cart_button:before,
.product-small .product_type_simple:before{
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    content:"\f217";
    font-size:16px;
}
.product-small .add_to_cart_button:hover {
	background: var(--fs-color-secondary) !important;
}
.quick-view{
	font-size: 0 !important;
    width: 36px !important;
    height: 36px;
    border-radius: 50%;
    display: flex !important;
    justify-content: center;
    align-items: center;
    background: none !important;
    color: #111 !important;
    border: 1px solid #333;
}
.quick-view:before{
    content:"\f06e";
    font-family:"Font Awesome 6 Free";
    font-weight:500;
    font-size:16px;
}
.product-small .image-tools:has(.quick-view){
	top: -10px !important;
    right: -10px !important;
	transform: unset !important;
    width: fit-content;
}
.product-small .box-image .image-fade_in_back > a >img {
	transition: .5s all;
}
.product-small:hover .box-image .image-fade_in_back > a >img:first-child {
	opacity: 0;
}
.product-small .action-ct {
	display: flex;
	justify-content: space-between;
	align-items:center;
}
.product-small .action-ct .price-wrapper {
	height: auto !important;
}
.product-small .action-ct .price-wrapper > .price {
	display: flex;
    flex-direction: column-reverse;
    gap: 5px;
	position: relative;
}
.product-small .product-label{
    margin-top: 15px;
    padding: 5px 10px;
    border: 1px solid #eee;
    border-radius: 999px;
    background: #f9f9f9;
    color: #444;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}
.product-small .price span.amount {
	color: var(--fs-color-secondary);
	font-weight: 600;
	font-size: 1rem;
}
.product-small .price del span.amount {
	font-size: .85rem;
	color: #555;
	font-weight: 300;
}
.product-small .action-ct .price-wrapper .sale-percent {
	position: absolute;
        right: -40px;
    bottom: -3px;
	padding: 4px 8px;
	background: #ff0000;
	color: #fff;
	font-size: 12px;
	border-radius: 99px;
}
.product-small .product-title {
	margin: 10px 0;
}
.product-small .product-title > a {
	margin: 0;
	font-weight: 500;
	font-size: 1.05rem;
	color: #111;
	display: -webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow: hidden;
}
.product-small:hover .product-title > a {
	color: var(--primary-color);
}
.product-small .box-text {
	text-align: left;
}
/* Ẩn nút Xem giỏ hàng sau khi thêm sản phẩm */
a.added_to_cart,
.added_to_cart.wc-forward{
    display:none !important;
}



/* blog posts */
.box-blog-post{
    background:#fff;
    border:1px solid #ececec;
    border-radius:8px;
    overflow:hidden;
    transition:.3s;
    height:100%;
}

.box-blog-post:hover{
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transform:translateY(-3px);
}

/* Ảnh */
.box-blog-post .box-image{
    overflow:hidden;
}

.box-blog-post .box-image img{
    width:100%;
    transition:.4s;
}

.box-blog-post:hover .box-image img{
    transform:scale(1.06);
}

/* Nội dung */
.box-blog-post .box-text{
    padding:16px;
    text-align:left !important;
}

/* Tiêu đề */
.box-blog-post .post-title{
    margin:0 0 15px;
    line-height:1.45;
}

.box-blog-post .post-title a{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
	font-weight: 600;
	margin: 0 !important;
}

/* Mô tả */
.box-blog-post .from_the_blog_excerpt{
    margin:0;
    color:#555;
    font-size:15px;
    line-height:1.7;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* Footer */
.blog-card-footer{
    margin:16px 0 0 !important;
    padding-top:16px;
    border-top:1px solid #ececec;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* Ngày */
.blog-card-date{
    display:flex;
    align-items:center;
    gap:8px;
    color:#555;
    font-size:14px;
}

.blog-card-date i{
    font-size:14px;
}

/* Button */
.blog-card-btn{
    height: 40px;
    padding: 0 20px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    border: 1px solid #3558d8;
    border-radius: 6px;
    color: #3558d8;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: .25s;
}

.blog-card-btn:hover{
    background:#3558d8;
    color:#fff;
}

/* Mobile */
@media(max-width:849px){
    .blog-card-footer{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }
    .blog-card-btn{
        width:100%;
    }
}
@media(max-width:549px){
    .blog-card-footer{
        flex-direction:row;
        align-items:center;
    }
	.blog-card-btn{
        width:fit-content;
    }
}


/* home */
.h-slide h2 {
	color: #fce3b3;
	margin: 0;
	font-size: 1.3rem;
}
.h-sec1 .icon-box h4 {
	margin-bottom: 0;
	font-weight: 600;
	font-size: 1rem;
}
.h-sec1 .icon-box p {
	font-size: .9rem;
}
.h-sec3 .fl-ct > .col-inner {
	overflow: hidden;
}
.h-sec3 .product-small.box {
	box-shadow: 0 0 8px rgba(0,0,0,0.05);
	border-color: #ddd;
}
.h-sec4 .flickity-button {
	margin-top: 0 !important;
}
.h-sec4 .flickity-page-dots .dot {
	width: 35px;
	height: 4px;
	border-radius: 99px;
}
.h-sec5 .box {
	border-radius: 12px;
	overflow: hidden;
}
.h-sec7 .slider-marquee .flickity-slider > .col > .col-inner {
	border-radius: 8px;
	overflow: hidden;
	padding: 20px;
	background: #fff;
	border: 1px solid #f1f1f1;
	box-shadow: 0 0 8px rgba(0,0,0,0.05);
	height: 90px;
	display: flex;
	justify-content:center;
	align-items:center;
}
.h-sec7 .slider-marquee {
    overflow: hidden;
    padding: 0;
    border-radius: 12px;
    mask-image: linear-gradient(to right, transparent, #000 2%, #000 98%, transparent);
}

@media(max-width:849px) {
	.h-sec1 .icon-box {
		flex-direction: column;
    	align-items: center;
    	text-align: center !important;
	}
	.h-sec4 .product-category {
		padding-bottom: 0 !important;
	}
	.h-sec4 .flickity-page-dots {
		bottom: -30px;
	}
}


/* footer */
.footer-sec .ux-logo-link {
	padding: 0 0 15px !important;
}
.copyright-footer {
	color:#333;
}
.footer-sec p {
	margin: 0;
}
.footer-sec h3 {
	font-size: 1.1rem;
	margin-bottom: 5px;
}
.footer-sec ul,.contact-page ul {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	list-style: none;
	margin: 0;
}
.footer-sec ul li,.contact-page ul li {
	margin: 0 !important;
}
.footer-sec ul li a, .contact-page ul li a {
	color: #222;
}
.footer-sec ul li a:hover,.contact-page ul li a:hover {
	color: var(--primary-color);
}
.footer-sec .social-icons {
	display: flex; 
	gap: 10px;
}
.footer-sec .social-icons a {
	margin: 0;
}
.footer-secondary {
	padding: 0 !important;
}
.absolute-footer {
	border-top: 1px solid #e1e1e1;
	padding-top: 15px;
}
.newsletter-form{
    position:relative;
    display:flex;
    align-items:center;
}

.newsletter-form p{
    margin:0 !important;
    padding:0;
    line-height:1;
}

.newsletter-form .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.newsletter-form input[type="email"]{
    width:100%;
    height:42px;
    margin:0 !important;
    padding:0 60px 0 15px;
    border:1px solid #e5e5e5;
    border-radius:999px;
    background:#fff;
    box-shadow:none;
    font-size:15px;
}

.newsletter-form input[type="email"]:focus{
    border-color:#2f5db8;
    box-shadow:none;
}

.newsletter-form .newsletter-submit{
	position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0 999px 999px 0;
    background: #2f5db8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: .3s;
}

.newsletter-form .newsletter-submit:hover{
    background:#234b98;
}

.newsletter-form .newsletter-submit i{
    margin:0;
    font-size:17px;
    line-height:1;
}

.newsletter-form br{
    display:none;
}

.wpcf7-spinner{
    display:none !important;
}

.newsletter-form .wpcf7-response-output{
    margin:12px 0 0 !important;
}
.wpcf7-form {
	margin: 0 !important;
}
.wpcf7-response-output {
	margin: 10px 0 0 !important;
}


/* header */
.header-nav-main .header-button > a.button {
	display: flex;
	align-items:center;
	justify-content:center;
	height: 40px;
}
.header-nav-main > .has-dropdown > .nav-dropdown {
    border: none;
    border-radius: 12px;
    padding: 10px;
}
.header-nav-main > .has-dropdown:before {
	border: none !important;
}


.header-contact{
    display:flex;
    align-items:center;
    gap:30px;
    white-space:nowrap;
	font-weight: 600;
}

.header-contact a{
    display:flex;
    align-items:center;
    gap:6px;
    color:inherit;
    text-decoration:none;
    transition:.3s;
	color: #fff;
}

.header-contact a:hover{
    color:#faa634;
}

.header-contact span{
    font-size:15px;
    line-height:1.4;
}

.header-contact strong{
    font-weight:700;
}

.header-bottom .header-bottom-nav > .menu-item {
	font-weight: 600;
}
.header-bottom .drawer-btn {
	margin: 0;
    padding: 0;
    min-height: unset;
    height: auto;
    color: #fff !important;
    font-size: 1rem;
    display: flex;
    align-items: center;
    background: none !important;
    box-shadow: none !important;
	text-transform: none !important;
	font-weight: 600;
	border: none !important;
}
@media(max-width:849px) {
	.header-main .drawer-btn{
		background: none;
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    border-radius: 4px;
    margin: 0;
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: 0 !important;
    min-height: unset !important;
    line-height: 1 !important;
    height: 35px;
    width: 35px;
	}
	.header-main .drawer-btn i {
		margin: 0;
	}
	.header-main .header-cart-link {
		display: flex !important;
    justify-content: center;
    align-items: center;
		height: 35px;
    width: 35px;
	}
	.header-main .mobile-nav.nav-right {
		display: flex;
		gap: .3rem;
	}
	.header-main .mobile-nav.nav-right > li {
		margin: 0;
	}
}


/* drawer button */
.my-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s ease;z-index:100000;}
        .my-drawer-overlay.is-open{opacity:1;visibility:visible;}
        .my-drawer{position:fixed;top:0;bottom:0;max-width:90vw;background:#fff;z-index:100001;box-shadow:0 0 40px rgba(0,0,0,.25);transition:transform .3s ease;overflow-y:auto;padding:24px 24px 24px;}
        .my-drawer--right{right:0;transform:translateX(100%);}
        .my-drawer--left{left:0;transform:translateX(-100%);}
        .my-drawer.is-open{transform:translateX(0);}
        .my-drawer-close{    position: absolute;
    top: 5px;
    right: 5px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    line-height: 1;
    background: #eee;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    color: #333;
    transition: background .2s;
    z-index: 2;
    margin: 0;
    min-height: unset;
    max-width: unset;
    padding: 0;}
        .my-drawer-close:hover{background:#e0e0e0;}
        .my-drawer-inner{padding-top:8px;}
        body.my-drawer-lock{overflow:hidden;}



/* drawer menu*/
	 .drawer-menu{display:flex;flex-direction:column;min-height:calc(100vh - 48px);margin:-8px -8px 0;}
	.drawer-menu ul{list-style:none;margin:0;padding:0;}
	.drawer-menu a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#222;}
	/* Menu chính */
	.drawer-menu .dm-main > li > a{padding:6px 0;font-weight:600;font-size:15px; color:#222;}
.drawer-menu .dm-main > li:last-child > a{
border: none;}
	.drawer-menu .dm-main > li > a i{width:22px;text-align:center;font-size:18px;color:#333;}
	/* Menu phụ */
	.drawer-menu .dm-sec{border-top:1px solid #aaa;margin-top:4px;}
	.drawer-menu .dm-sec > li > a{padding:8px 0;font-weight:600;font-size:14px;color:#222;}
	.drawer-menu .dm-sec > li > a i{width:22px;text-align:center;font-size:16px;}
	/* Mũi tên cho mục có menu con */
	.drawer-menu .menu-item-has-children > a{position:relative;}
	.drawer-menu .menu-item-has-children > a::after{content:"\203A";margin-left:auto;font-size:20px;color:#bbb;line-height:1;}
	/* Ẩn menu con trong drawer (nếu không muốn xổ ra) */
	.drawer-menu .sub-menu{display:none;}
	/* Footer 2 nút */
	.drawer-menu .dm-footer{margin-top:auto;display:flex;border-top:1px solid #eee;}
	.drawer-menu .dm-footer a{flex:1;flex-direction:column;gap:6px;justify-content:center;padding:16px 8px;font-size:13px;color:#333;text-align:center;}
	.drawer-menu .dm-footer a i{font-size:20px;color:#0a3d7a;}
	.drawer-menu .dm-footer a + a{border-left:1px solid #eee;}
	.drawer-menu .dm-footer .dm-hotline b{color:#0a3d7a;}



/* shop page */
.woocommerce .shop-page-title .woocommerce-breadcrumb {
	font-size: 1rem;
	text-transform: none !important;
	font-weight: 400 !important;
}
.woocommerce .shop-page-title {
	margin-bottom: 5px;
}


/* breadcrumbs */
.bc-sec {
	padding: 10px 0 0 !important;
}
.bc-sec .rank-math-breadcrumb > p {
	margin: 0;
}
.bc-sec .archive-title {
	margin: 5px 0 0;
}



/* archive */
.dc-blog-sidebar {
    background: #fff;
    padding: 16px;
    border-radius: 12px;
}

.dc-blog-sidebar h3{
    margin:0 0 5px;
    text-transform:capitalize;
}

.dc-blog-sidebar hr {
    margin: 15px 0;
    border: 0;
    border-top: 1px solid #333;
}

.dc-blog-cats{
	padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.dc-blog-cats li{
    margin: 0 !important;
	line-height: 1;
}

.dc-blog-cats a{
    color:#111;
    text-decoration:none;
    font-size:16px;
    transition:.25s;
}

.dc-blog-cats a:hover,
.dc-blog-cats .current-cat>a{
    color:var(--primary-color);
}

.dc-blog-posts{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.dc-post-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    text-decoration:none;
}

.dc-thumb{
    width:92px;
    flex:0 0 92px;
}

.dc-thumb img{
    width:100%;
    height:60px;
    object-fit:cover;
    display:block;
}

.dc-info{
    flex:1;
}

.dc-info h4 {
    margin: 0;
    font-size: .9rem;
    line-height: 1.3;
    font-weight: 600;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dc-post-item:hover h4{
    color:var(--primary-color);
}



/* single page */
.single-page-ct {
	padding: 30px;
    background: #fff;
    border-radius: 12px;
}
.page-template-default .single-page-ct h1 {
	    margin: 0 0 10px;
    text-transform: none;
}
.single-post .entry-header {
	display: none;
}
.single-post .entry-content {
	padding: 30px;
    background: #fff;
    border-radius: 12px;
}


/* product page */
.woocommerce .wcc {
	padding-top: 20px;
}

.shop-sidebar-ct{padding: 20px;border-radius:12px;background:#fff;}
.shop-sidebar-ct .ss-block{border-bottom:1px solid #eee;padding-bottom: 15px;}
.shop-sidebar-ct .ss-brand,.shop-sidebar-ct .ss-price{
	padding-top: 12px;
}
.shop-sidebar-ct .ss-block:last-child{border-bottom:0;padding-bottom: 0;}
.shop-sidebar-ct .ss-title{font-weight:700;font-size:1.2rem;margin:0 0 5px;color:#111;}
.shop-sidebar-ct ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.shop-sidebar-ct .ss-cats li {
    position: relative;
    margin: 0;
}
.shop-sidebar-ct .ss-cats a {
    display: block;
    color: #333;
    text-decoration: none;
    color: #222;
}
.shop-sidebar-ct .ss-cats a:hover{color:#0a3d7a;}
.shop-sidebar-ct .ss-cats .children{display:none;padding-left:14px;border-left:1px solid #f0f0f0;margin-left:2px;}
.shop-sidebar-ct .ss-cats li.ss-open > .children{display:block;}
.shop-sidebar-ct .ss-cats .current-cat > a,
.shop-sidebar-ct .ss-cats .current-cat-parent > a{color:#0a3d7a;font-weight:600;}
.shop-sidebar-ct .ss-cat-toggle{position:absolute;top:6px;right:0;width:24px;height:24px;border:0;background:none;cursor:pointer;font-size:16px;color:#999;line-height:1;transition:transform .2s;}
.shop-sidebar-ct li.ss-open > .ss-cat-toggle{transform:rotate(90deg);}
.shop-sidebar-ct .ss-brand label {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    cursor: pointer;
    margin: 0;
}.shop-sidebar-ct .ss-brand input{width:16px;height:16px;margin:0;cursor:pointer;}
.shop-sidebar-ct .ss-morebrands {
    background: none;
    border: 0;
    color: #0a3d7a;
    font-weight: 600;
    cursor: pointer;
    padding: 8px 0 0;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    height: auto;
    min-height: unset;
    line-height: 1;
    text-transform: none;
}
.shop-sidebar-ct .ss-morebrands .fa-chevron-down{transition:transform .2s;font-size:12px;}
.shop-sidebar-ct .ss-morebrands.is-open .fa-chevron-down{transform:rotate(180deg);}
.shop-sidebar-ct .ss-price label{display:flex;align-items:center;gap:10px;padding:5px 0;cursor:pointer;margin: 0;}
.shop-sidebar-ct .ss-price input{width:16px;height:16px;margin:0;cursor:pointer;}


.ss-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;width:100%;}
.ss-chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid #ddd;border-radius:4px;padding:7px 12px;font-size:14px;color:#222;text-decoration:none;line-height:1.4;}
.ss-chip .x{color:#999;font-size:15px;line-height:1;}
.ss-chip:hover{border-color:#c0392b;}
.ss-chip:hover .x{color:#c0392b;}
.ss-clear-all{color:#c0392b;font-weight:600;font-size:14px;text-decoration:none;margin-left:2px;}
.ss-clear-all:hover{text-decoration:underline;}



/* cart & checkout */
 
/* ---- Bảng sản phẩm ---- */
.woocommerce-cart table.cart{margin:0;border:0;}
.woocommerce-cart table.cart thead th{
    border:0;
    border-bottom:2px solid #eceef2;
    padding:16px 12px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#8a94a6;
}
.woocommerce-cart table.cart td{
    border:0;
    border-bottom:1px solid #eceef2;
    padding:20px 12px;
    vertical-align:middle;
}
.woocommerce-cart table.cart .cart_item:hover{background:#fafbfc;}
 

.woocommerce-cart td.product-name a:hover{color:var(--primary-color);}
 
/* ---- Giá & tạm tính ---- */
.woocommerce-cart td.product-subtotal .amount{color:var(--fs-color-secondary);font-weight:700;}
 
/* ---- Nút xoá sản phẩm (dấu ×) ---- */
.woocommerce-cart td.product-remove .remove{
    display:inline-flex !important;
    align-items:center;justify-content:center;
    width:28px;height:28px;
    border-radius:50%;
    background:#f3f4f6;
    color:#9aa3b2 !important;
    font-size:18px;line-height:1;
    transition:all .2s;
}
.woocommerce-cart td.product-remove .remove:hover{
    background:#fdecea;
    color:#e0392b !important;
    transform:rotate(90deg);
}
 
/* ---- Ô số lượng (viên thuốc) ---- */
.woocommerce-cart .ux-quantity.quantity{
    display:inline-flex;align-items:center;
    border:1px solid #eceef2;
    border-radius:999px;overflow:hidden;background:#fff;
}
.woocommerce-cart .ux-quantity .ux-quantity__button{
    width:38px;height:40px;
    border:0 !important;background:transparent !important;
    color:#5a6472 !important;font-size:18px;
    box-shadow:none !important;
    transition:background .2s,color .2s;
}
.woocommerce-cart .ux-quantity .ux-quantity__button:hover{
    background:var(--primary-color) !important;color:#fff !important;
}
.woocommerce-cart .ux-quantity input.qty{
    width:46px;height:40px;
    border:0 !important;background:transparent;
    text-align:center;font-weight:600;color:#1f2733;
    box-shadow:none !important;
}
 
/* ---- Hàng nút hành động (Tiếp tục / Cập nhật) ---- */
.woocommerce-cart td.actions{padding:22px 12px !important;border-bottom:0 !important;}
.woocommerce-cart td.actions .button-continue-shopping{
    border-radius:999px;
    border:2px solid var(--primary-color);
    color:var(--primary-color);
    font-weight:600;padding:5px 20px;
    transition:all .2s;
}
.woocommerce-cart td.actions .button-continue-shopping:hover{
    background:var(--primary-color);color:#fff;
}
.woocommerce-cart td.actions button[name="update_cart"]{
    border-radius:999px;background:#eef2f7;color:#3a4658;
    font-weight:600;padding:5px 20px;border:0;
    transition:all .2s;margin-left:12px;
}
.woocommerce-cart td.actions button[name="update_cart"]:hover:not([disabled]){
    background:var(--primary-color);color:#fff;
}
.woocommerce-cart td.actions button[name="update_cart"][disabled]{opacity:.5;cursor:not-allowed;}
 
/* ---- Cột phải: khối tổng tiền dạng card ---- */
.woocommerce-cart .cart-sidebar.col-inner{
    background:#fff;
    border:1px solid #eceef2;
    border-radius:12px;
    padding:26px 24px;
    box-shadow:0 6px 24px rgba(20,30,50,.06);
}
/* Ẩn bảng tiêu đề rỗng (quirk của Flatsome) để khỏi lặp tiêu đề */
.woocommerce-cart .cart_totals table:not(.shop_table){display:none;}
.woocommerce-cart .cart_totals h2{
    font-size:18px;font-weight:700;color:#1f2733;
    margin:0 0 18px;padding-bottom:14px;
    border-bottom:2px solid #eceef2;
}
.woocommerce-cart .cart_totals table{border:0;margin:0;}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td{border:0;padding:12px 0;font-size:15px;}
.woocommerce-cart .cart_totals table th{color:#5a6472;font-weight:500;}
.woocommerce-cart .cart_totals tr.cart-subtotal{border-bottom:1px dashed #eceef2;}
.woocommerce-cart .cart_totals tr.order-total th{font-size:16px;font-weight:700;color:#1f2733;}
.woocommerce-cart .cart_totals tr.order-total .amount{
    font-size:22px;font-weight:800;color:var(--secondary-color);
}
 
/* ---- Nút Tiến hành thanh toán (giữ màu secondary của Flatsome, chỉ chỉnh dáng) ---- */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
    display:block;width:100%;text-align:center;
    border-radius:999px;
    padding:5px 20px;
    font-size:16px;font-weight:700;letter-spacing:.02em;
    box-shadow:0 8px 20px rgba(20,30,50,.15);
    transition:transform .15s, box-shadow .2s, filter .2s;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{
    filter:brightness(1.05);
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(20,30,50,.22);
}
 
/* ---- Ô mã ưu đãi ---- */
.woocommerce-cart .ux-cart-coupon{
    margin-top:22px;padding-top:22px;border-top:1px solid #eceef2;
}
.woocommerce-cart .ux-cart-coupon .widget-title{
    font-size:15px;font-weight:700;color:#1f2733;
    display:flex;align-items:center;gap:8px;margin-bottom:12px;
	    border-bottom: 1px solid #ddd;
}
.woocommerce-cart .ux-cart-coupon .widget-title i{color:var(--secondary-color);}
.woocommerce-cart .ux-cart-coupon input#coupon_code{
    flex:1;height:48px;
    border:1px solid #eceef2;border-radius:999px;
    padding:0 18px;margin:0;box-shadow:none;background:#fff;
}
.woocommerce-cart .ux-cart-coupon input#coupon_code:focus{
    border-color:var(--primary-color);
    box-shadow:0 0 0 3px rgba(0,0,0,.06);
}
.woocommerce-cart .ux-cart-coupon button[name="apply_coupon"]{
    height:48px;border-radius:999px;
    background:var(--primary-color);color:#fff;
    font-weight:600;padding:0 26px;border:0;
    white-space:nowrap;transition:filter .2s;
	margin: 15px 0 0;
}
.woocommerce-cart .ux-cart-coupon button[name="apply_coupon"]:hover{filter:brightness(1.08);}
 
/* ---- Responsive (mobile) ---- */
@media (max-width:849px){
    .woocommerce-cart .cart-wrapper{padding:4px 12px;}
    .woocommerce-cart td.product-thumbnail img{width:64px;height:64px;}
    .woocommerce-cart td.actions button[name="update_cart"]{margin-left:0;margin-top:10px;}
    .woocommerce-cart .cart-sidebar.col-inner{margin-top:20px;}
}
 



/* ---- Tiêu đề mục ---- */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading{
    font-size:18px;font-weight:700;color:#1f2733;
    margin:0 0 18px;padding-bottom:14px;
    border-bottom:2px solid #eceef2;padding-top: 0;
}
.woocommerce-checkout .woocommerce-additional-fields h3{margin-top:30px;}
 
/* ---- Label ---- */
.woocommerce-checkout .form-row label{
    font-size:13px;font-weight:600;color:#3a4658;
    margin-bottom:6px;display:block;
}
.woocommerce-checkout .form-row .optional{color:#9aa3b2;font-weight:400;}
.woocommerce-checkout .required{color:var(--secondary-color);}
 
/* ---- Ô nhập (input / textarea) ---- */
.woocommerce-checkout .input-text,
.woocommerce-checkout textarea.input-text{
    width:100%;
    height:48px;
    border:1px solid #dfe3ea;
    border-radius:10px;
    padding:0 16px;
    background:#fff;
    color:#1f2733;
    box-shadow:none;
    transition:border-color .2s, box-shadow .2s;
}
.woocommerce-checkout textarea.input-text{height:auto;padding:12px 16px;min-height:80px;margin: 0;}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout textarea.input-text:focus{
    border-color:var(--primary-color);
    box-shadow:0 0 0 3px rgba(0,0,0,.06);
    outline:0;
}
.woocommerce-checkout .input-text::placeholder{color:#aab2bf;}
 
/* ---- Khoảng cách giữa các hàng ---- */
.woocommerce-checkout .form-row{margin-bottom:0;padding:0;}
.woocommerce-checkout #billing_address_1_field {
	width: 100%;
}
/* ---- Ẩn field quốc gia (đã khoá VN bằng hook) ---- */
.woocommerce-checkout #billing_country_field{display:none !important;}
 
/* ---- Select2 (dropdown) cho khớp input ---- */
.woocommerce-checkout .select2-container--default .select2-selection--single{
    height:48px;
    border:1px solid #dfe3ea;
    border-radius:10px;
    display:flex;align-items:center;
    padding:0 12px;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height:normal;color:#1f2733;padding:0;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;}
 
/* ---- Cột phải: khối "Đơn hàng của bạn" dạng card ---- */
.woocommerce-checkout .col-inner.has-border{
    border:1px solid #eceef2 !important;
    border-radius:12px;
    padding:26px 24px;
    background:#fff;
    box-shadow:0 6px 24px rgba(20,30,50,.06);
	margin-top: 15px;
}
 
/* ---- Bảng tóm tắt đơn hàng ---- */
.woocommerce-checkout .woocommerce-checkout-review-order-table{border:0;margin:0 0 20px;}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td{
    border:0;
    border-bottom:1px solid #eceef2;
    padding:12px 0;
    font-size:14px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{
    font-size:12px;text-transform:uppercase;letter-spacing:.05em;
    color:#8a94a6;font-weight:700;
    border-bottom:2px solid #eceef2;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name{color:#3a4658;}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-quantity{color:#8a94a6;font-weight:600;}
.woocommerce-checkout .cart-subtotal th{color:#5a6472;font-weight:500;}
 
/* Mã giảm giá */
.woocommerce-checkout .cart-discount th{color:#5a6472;font-weight:500;}
.woocommerce-checkout .woocommerce-remove-coupon{
    color:var(--primary-color);font-size:12px;margin-left:6px;text-decoration:none;
}
.woocommerce-checkout .woocommerce-remove-coupon:hover{text-decoration:underline;}
 
/* Tổng cộng */
.woocommerce-checkout .order-total th{font-size:16px;font-weight:700;color:#1f2733;}
.woocommerce-checkout .order-total .amount{font-size:22px;font-weight:800;color:var(--fs-color-secondary);}
.woocommerce-checkout .order-total td,
.woocommerce-checkout .order-total th{border-bottom:0;padding-top:16px;}
 
/* ---- Ô thông báo (không có phương thức thanh toán / info) ---- */
.woocommerce-checkout .woocommerce-info{
    background:#fff7ed;
    border:1px solid #fde3c4;
    border-left:4px solid var(--secondary-color);
    border-radius:10px;
    padding:14px 16px;
    color:#7a5320;
    font-size:14px;
}
 
/* ---- Nút Đặt hàng (giữ màu secondary, chỉnh dáng) ---- */
.woocommerce-checkout #place_order{
    display:block;width:100%;text-align:center;
    border-radius:999px;
    padding:16px 20px;
    font-size:16px;font-weight:700;letter-spacing:.02em;
    margin-top:8px;
    box-shadow:0 8px 20px rgba(20,30,50,.15);
    transition:transform .15s, box-shadow .2s, filter .2s;
}
.woocommerce-checkout #place_order:hover{
    filter:brightness(1.05);
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(20,30,50,.22);
}
 
/* ---- Dòng chính sách riêng tư ---- */
.woocommerce-checkout .woocommerce-privacy-policy-text p{
    font-size:12px;color:#9aa3b2;line-height:1.6;margin-top:16px;
}
.woocommerce-checkout .woocommerce-privacy-policy-link{color:var(--primary-color);}
 
/* ---- Responsive (mobile) ---- */
@media (max-width:849px){
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last{width:100%;float:none;}
    .woocommerce-checkout .col-inner.has-border{margin-top:24px;}
}
.woocommerce-checkout .woocommerce-billing-fields {
	border: none;
}
.woocommerce-checkout .woocommerce-form-coupon .input-text,.woocommerce-checkout .woocommerce-checkout .expand{
	height: 40px !important;
	border-radius: 0;
}


/* ---- Dòng lời cảm ơn / phương thức đầu trang ---- */
.woocommerce-order-received .woocommerce-order > .row > .large-7 > p:first-child{
    font-size:15px;color:#5a6472;margin-bottom:24px;
}
 
/* ---- Tiêu đề mục ---- */
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title{
    font-size:19px;font-weight:700;color:#1f2733;
    margin:0 0 18px;padding-bottom:14px;
    border-bottom:2px solid #eceef2;
}
.woocommerce-order-received .woocommerce-customer-details{margin-top:34px;}
 
/* ---- Bảng chi tiết đơn hàng ---- */
.woocommerce-order-received .order_details{border:0;margin:0;}
.woocommerce-order-received .order_details th,
.woocommerce-order-received .order_details td{
    border:0;border-bottom:1px solid #eceef2;
    padding:13px 4px;font-size:14px;
}
.woocommerce-order-received .order_details thead th{
    font-size:12px;text-transform:uppercase;letter-spacing:.05em;
    color:#8a94a6;font-weight:700;border-bottom:2px solid #eceef2;
}
.woocommerce-order-received .order_details .product-name a{
    color:var(--primary-color);font-weight:600;text-decoration:none;
}
.woocommerce-order-received .order_details .product-name a:hover{text-decoration:underline;}
.woocommerce-order-received .order_details .product-quantity{color:#8a94a6;font-weight:600;}
.woocommerce-order-received .order_details tfoot th{color:#5a6472;font-weight:500;text-align:left;}
 
/* Dòng Tổng cộng nổi bật (dòng áp chót của tfoot: Tổng cộng) */
.woocommerce-order-received .order_details tfoot tr:nth-last-child(2) th{
    font-size:16px;font-weight:700;color:#1f2733;
}
.woocommerce-order-received .order_details tfoot tr:nth-last-child(2) td .amount{
    font-size:20px;font-weight:800;color:var(--secondary-color);
}
 
/* ---- Địa chỉ thanh toán ---- */
.woocommerce-order-received .woocommerce-customer-details address{
    border:1px solid #eceef2;
    border-radius:12px;
    padding:20px 22px;
    font-style:normal;
    line-height:1.9;
    color:#3a4658;
    background:#fafbfc;
}
.woocommerce-order-received .woocommerce-customer-details--phone,
.woocommerce-order-received .woocommerce-customer-details--email{
    margin:8px 0 0;color:#5a6472;
}
 
/* ---- Cột phải: card tóm tắt ---- */
.woocommerce-order-received .is-well.col-inner{
    background:#fff !important;
    border:1px solid #eceef2;
    border-radius:12px;
    padding:28px 26px;
    box-shadow:0 6px 24px rgba(20,30,50,.06);
}
 
/* Lời cảm ơn thành công */
.woocommerce-order-received .woocommerce-thankyou-order-received{
    font-size:16px;line-height:1.5;
    color:#1f8a5b;
    background:#eafaf1;
    border:1px solid #c5ecd6;
    border-radius:10px;
    padding:16px 18px;
    margin-bottom:22px;
}
 
/* Danh sách thông tin đơn */
.woocommerce-order-received .woocommerce-order-overview{
    list-style:none;margin:0;padding:0;border:0;
}
.woocommerce-order-received .woocommerce-order-overview li{
    display:flex;justify-content:space-between;align-items:center;gap:14px;
    border:0;border-bottom:1px dashed #e4e8ee;
    padding:13px 0;margin:0;
    text-transform:none;font-size:14px;color:#5a6472;
    width:100%;float:none;
}
.woocommerce-order-received .woocommerce-order-overview li:last-child{border-bottom:0;}
.woocommerce-order-received .woocommerce-order-overview li strong{
    color:#1f2733;text-align:right;
}
.woocommerce-order-received .woocommerce-order-overview__total strong .amount{
    color:var(--secondary-color);font-size:18px;font-weight:800;
}
 
/* ---- Responsive ---- */
@media (max-width:849px){
    .woocommerce-order-received .is-well.col-inner{margin-top:24px;}
}



/* ============================================================
   CUSTOM SINGLE PRODUCT — Flatsome custom style
   Dán vào: Flatsome > Advanced > Custom CSS
   Biến màu Flatsome: var(--fs-color-primary) / var(--fs-color-secondary)
   Scope: .single-product
   ============================================================ */

/* ---- Tiêu đề full-width ---- */
.single-product .page-title-inner {
	padding-top: 10px;
	min-height: unset;
}
.single-product .page-title-inner .woocommerce-breadcrumb a {
	color: var(--primary-color);
}
.single-product .page-title-inner .woocommerce-breadcrumb a:hover {
	color: #222;
}
.single-product .page-title-inner .woocommerce-breadcrumb * {
	color: #222;
}
.single-product .ct-product-header .product_title{margin:5px 0;
}
.single-product .ct-head-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:#8a94a6;}
.single-product .ct-head-meta a{color:var(--fs-color-primary);text-decoration:none;}
.single-product .ct-head-meta a:hover{text-decoration:underline;}

/* ---- GALLERY: khung + khoảng cách + tỉ lệ 1:1 ---- */
.single-product .product-gallery,
.single-product .woocommerce-product-gallery{
    background:#fff;
    border:1px solid #eceef2;
    border-radius:16px;
    padding:24px !important;
}
.single-product .woocommerce-product-gallery__image,
.single-product .product-gallery-slider .slide,
.single-product .product-gallery-slider .img{
    aspect-ratio:1/1;
    overflow:hidden;
    background:#fff;
    border-radius:10px;
}
.single-product .woocommerce-product-gallery__image img,
.single-product .product-gallery-slider img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}
/* thumbnail nhỏ dưới gallery — ép vuông đều nhau */
.single-product .product-thumbnails .col a,
.single-product .product-thumbnails .col > img{
    display:block;aspect-ratio:1/1;overflow:hidden;
    border-radius:8px;border:1px solid #eceef2;background:#fff;
}
.single-product .product-thumbnails .col a img{
    width:100% !important;height:100% !important;object-fit:cover;display:block;
}
.single-product .product-thumbnails .col.is-nav-selected a,
.single-product .product-thumbnails .col.is-selected a{border-color:var(--fs-color-primary);}

/* ---- 3 BADGE dưới gallery ---- */
.single-product .ct-badges{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:2px;}
.single-product .ct-badges li{
    display:flex;align-items:center;gap:12px;
    padding:12px 16px;border:1px solid #eceef2;background:#fafbfc;
    font-size:14px;color:#3a4658;border-radius:10px;
}
.single-product .ct-badges li i{color:var(--fs-color-primary);font-size:18px;width:22px;text-align:center;}

/* ---- PANEL chung (đặc điểm/thông số & mô tả) ---- */
.single-product .ct-panel{
    margin-top:22px;background:#fff;border:1px solid #eceef2;
    border-radius:14px;padding:22px 24px;
}
.single-product .ct-section-title{
    font-size:19px;font-weight:800;color:#1f2733;margin:0 0 16px;
}
.single-product .ct-block-title{
    font-size:16px;font-weight:700;color:#1f2733;
    margin:20px 0 12px;display:flex;align-items:center;gap:8px;
}
.single-product .ct-block-title:first-child{margin-top:0;}
.single-product .ct-block-title i{color:var(--fs-color-secondary);font-size:15px;}
.single-product .ct-richtext{color:#3a4658;font-size:14.5px;line-height:1.75;}
.single-product .ct-richtext ul{padding-left:20px;}
.single-product .ct-richtext table{width:100%;border-collapse:collapse;margin:6px 0;}
.single-product .ct-richtext table th,
.single-product .ct-richtext table td{border:1px solid #eceef2;padding:10px 12px;text-align:left;font-size:14px;}
.single-product .ct-richtext table tr:nth-child(odd) td{background:#fafbfc;}

/* ---- Mở rộng / thu gọn ---- */
.single-product .ct-collapse{position:relative;}
.single-product .ct-collapse.is-collapsed .ct-collapse__inner{
    max-height:var(--ct-max,300px);overflow:hidden;
    -webkit-mask-image:linear-gradient(#000 60%, transparent);
            mask-image:linear-gradient(#000 60%, transparent);
}
.single-product .ct-collapse__toggle{
    display:inline-flex;align-items:center;gap:8px;
    margin:0;background:#fff;border:1px solid var(--fs-color-primary);
    color:var(--fs-color-primary);font-weight:600;font-size:14px;
    padding:0 20px;border-radius:999px;cursor:pointer;transition:all .2s;
}
.single-product .ct-collapse__toggle:hover{background:var(--fs-color-primary);color:#fff;}
.single-product .ct-collapse__toggle i{transition:transform .2s;font-size:12px;}
.single-product .ct-collapse.is-open .ct-collapse__toggle i{transform:rotate(180deg);}
.single-product .ct-collapse.is-full .ct-collapse__toggle{display:none;}

/* ============ CỘT PHẢI ============ */

/* ---- Hộp giá flash-sale ---- */
.single-product .product-summary {
	margin-left: 30px;
	background: #fff;
    border: 1px solid #eceef2;
    border-radius: 16px;
    padding: 24px !important;
	position:sticky;
        top:100px;              /* chừa khoảng cho header dính; chỉnh theo chiều cao header của anh */
        align-self:flex-start;
}
.single-product .ct-flash{
    border:1px solid #ffd9c9;border-radius:14px;overflow:hidden;background:#fff;
}
.single-product .ct-flash__top{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    background:linear-gradient(90deg,var(--fs-color-secondary),#ff8a4d);
    color:#fff;padding:10px 16px;font-weight:700;font-size:14px;
}
.single-product .ct-flash__label{display:inline-flex;align-items:center;gap:7px;}
.single-product .ct-countdown{display:inline-flex;align-items:center;gap:2px;font-weight:800;}
.single-product .ct-countdown b{
    background:rgba(0,0,0,.22);border-radius:6px;padding:3px 7px;min-width:28px;text-align:center;
    font-variant-numeric:tabular-nums;
}
.single-product .ct-countdown i{font-style:normal;opacity:.8;padding:0 1px;}
.single-product .ct-countdown.no-day .d,
.single-product .ct-countdown.no-day .d + i{display:none;}
.single-product .ct-flash__price{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px;}
.single-product .ct-flash__price .ct-price-now,
.single-product .ct-flash__price .ct-price-now .amount{
    font-size:28px;font-weight:800;color:var(--fs-color-secondary);
}
.single-product .ct-flash__price .ct-price-old,
.single-product .ct-flash__price .ct-price-old .amount{
    font-size:15px;color:#9aa3b2;text-decoration:line-through;font-weight:500;
}
.single-product .ct-price-pct{
    background:#ffe8de;color:var(--fs-color-secondary);font-weight:700;font-size:13px;
    padding:3px 9px;border-radius:6px;
}

/* ---- Quà tặng khuyến mãi ---- */
.single-product .ct-promo{margin-top:16px;border:1px solid #cfe0f5;border-radius:14px;overflow:hidden;}
.single-product .ct-promo__head{
    background:var(--fs-color-primary);color:#fff;font-weight:700;font-size:14px;
    padding:11px 16px;display:flex;align-items:center;gap:8px;
}
.single-product .ct-promo__list{margin:0;padding:12px;background:#f4f8fd;}
.single-product .ct-promo__list li{font-size:13.5px;color:#3a4658;padding:0;line-height:1.5;}

/* ---- Hàng coupon ---- */
.single-product .ct-coupon-row{display:flex;align-items:center;gap:12px;margin-top:16px;}
.single-product .ct-coupon-row__label{font-size:14px;color:#5a6472;white-space:nowrap;}
.single-product .ct-coupon-chips{display:flex;align-items:center;gap:8px;cursor:pointer;flex-wrap:wrap;}
.single-product .ct-chip{
    border:1px dashed var(--fs-color-secondary);color:var(--fs-color-secondary);
    background:#fff7f2;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;
    letter-spacing:.02em;
}
.single-product .ct-chip--more{
    border-style:solid;background:#eef2f7;border-color:#dfe3ea;color:#5a6472;
    padding:5px 9px;
}

/* ---- Khu mua hàng ---- */
.single-product .ct-buy{margin-top:18px;}
.single-product .ct-stock{font-size:14px;color:#5a6472;margin-bottom:14px;}
.single-product .ct-stock .in{color:#1f8a5b;font-weight:700;}
.single-product .ct-stock .out{color:#c0392b;font-weight:700;}
/* Ô số lượng + nút thêm giỏ + Mua ngay (nút gốc Flatsome) */
.single-product .ct-buy form.cart{
    display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;
}
.single-product .ct-buy .quantity{border:1px solid #dfe3ea;border-radius:999px;overflow:hidden;flex:0 0 auto;}
/* Nút "Thêm vào giỏ": GIỮ màu cam gốc của Flatsome (.button.alt), chỉ chỉnh dáng */
.single-product .ct-buy form.cart .single_add_to_cart_button{
    flex:1 1 150px;border-radius:999px;
    font-weight:700;padding:0;
    box-shadow:0 6px 16px rgba(20,30,50,.14);transition:filter .2s,transform .15s;
	height: 45px;
	display: flex;
	align-items:center;
	justify-content:center;
}
.single-product .ct-buy form.cart .single_add_to_cart_button:hover{filter:brightness(1.05);transform:translateY(-1px);}
/* Nút "Mua ngay" gốc Flatsome (ux-buy-now) */
.single-product .ct-buy form.cart .ux-buy-now-button{
    flex:1 1 150px;border-radius:999px;
    font-weight:700;padding:0;margin-left:0 !important;
    transition:filter .2s,transform .15s;
	height: 45px;
	display: flex;
	align-items:center;
	justify-content:center;
}
.single-product .quantity .button {
	height: 45px;
	box-shadow: none;
	background: #fff;
	width: 50px;
	border: none;
}
.single-product .quantity .button:hover {
	background:var(--primary-color);
	color:#fff;
}
.single-product .quantity input.qty {
    box-shadow: none;
    height: 45px;
    border-right: 1px solid #eee;
    border-left: 1px solid #eee;
    border-top: none;
    border-bottom: none;
}
.single-product .ct-buy form.cart .ux-buy-now-button:hover{filter:brightness(1.05);transform:translateY(-1px);}

/* Trả góp 0% — full width dưới cùng */
.single-product .ct-buy-actions{margin-top:2px;}
.single-product .ct-btn-installment{
    display:flex;width:100%;justify-content:center;
	align-items:center;
	height: 45px;
    border-radius:999px;padding:0;
    font-weight:700;font-size:14px;text-decoration:none;transition:all .2s;
    border:2px solid var(--fs-color-primary);color:var(--fs-color-primary);background:#fff;
}
.single-product .ct-btn-installment:hover{background:var(--fs-color-primary);color:#fff;}

/* ============ DRAWER COUPON ============ */
.ct-coupon-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s;z-index:100000;}
.ct-coupon-overlay.is-open{opacity:1;visibility:visible;}
.ct-coupon-drawer{
    position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;
    background:#f4f6f9;z-index:100001;transform:translateX(100%);transition:transform .3s;
    display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.25);
}
.ct-coupon-drawer.is-open{transform:translateX(0);}
.ct-coupon-drawer__head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px;background:#fff;border-bottom:1px solid #eceef2;
}
.ct-coupon-drawer__head h3{margin:0;font-size:17px;font-weight:700;color:#1f2733;}
.ct-coupon-drawer__close{
background: #f1f1f1;
    border: 0;
    width: 45px !important;
    height: 40px !important;
    border-radius: 50%;
    font-size: 20px;
    color: #333;
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: unset;
    line-height: 1;
    max-width: unset;
    padding: 0 !important;
}
.ct-coupon-drawer__close:hover{background:#e0e0e0;}
.ct-coupon-drawer__body{padding:16px;overflow-y:auto;display:grid;gap:12px;}
.ct-coupon-card{
    display:flex;align-items:stretch;gap:0;background:#fff;border-radius:12px;
    border:1px solid #e6ebf1;
}
.ct-coupon-card__left{
    flex:0 0 96px;display:flex;align-items:center;justify-content:center;text-align:center;
    background:#eaf1fb;color:var(--fs-color-primary);font-weight:800;font-size:15px;
    padding:10px;position:relative;
}
.ct-coupon-card__left:after{
    content:"";position:absolute;right:-6px;top:0;bottom:0;width:12px;
    background:radial-gradient(circle at 0 6px, transparent 6px, #fff 6px) repeat-y;
    background-size:12px 18px;
}
.ct-coupon-card__mid{flex:1;padding:12px 14px;}
.ct-coupon-card__mid p{margin:0 0 4px;font-size:13.5px;color:#3a4658;line-height:1.5;}
.ct-coupon-card__exp{font-size:12px;color:#9aa3b2;}
.ct-coupon-copy{
    flex:0 0 auto;align-self:center;margin:0 12px;border:0;cursor:pointer;
    background:var(--fs-color-primary);color:#fff;font-weight:600;font-size:13px;
    padding:5px 15px;border-radius:999px;white-space:nowrap;transition:filter .2s;
}
.ct-coupon-copy:hover{filter:brightness(1.08);}
.ct-coupon-copy.copied{background:#1f8a5b;}
.ct-empty{text-align:center;color:#9aa3b2;padding:30px 0;}

/* ============ RELATED PRODUCTS (Woo tự xuất) ============ */
.single-product .related.products > h2,
.single-product .up-sells > h2{
    font-size:20px;font-weight:800;color:#1f2733;
    padding-bottom:14px;border-bottom:2px solid #eceef2;margin-bottom:24px;
}



/* ============ Responsive ============ */
@media (max-width:849px){
    .single-product .product-gallery,
    .single-product .woocommerce-product-gallery{padding:14px;border-radius:12px;}
    .single-product .ct-buy-actions{flex-direction:column;}
    .single-product .ct-flash__price .ct-price-now,
    .single-product .ct-flash__price .ct-price-now .amount{font-size:24px;}
}


/* contact form */
.map-embed > p {
	margin: 0;
}

.dc-contact-form p{
    margin:0 0 12px;
}

.dc-contact-form .wpcf7-form-control{
    width:100%;
    margin:0;
}

.dc-contact-form input:not([type="submit"]),
.dc-contact-form textarea{
    width:100%;
    border:1px solid #e5e5e5;
    border-radius:4px;
    background:#fff;
    box-shadow:none;
    padding:0 16px;
    font-size:16px;
    color:#333;
    transition:.25s;
}

.dc-contact-form input:not([type="submit"]){
    height:40px;
}

.dc-contact-form textarea{
    height:80px;
    padding-top:14px;
    resize:vertical;
}

.dc-contact-form input:focus,
.dc-contact-form textarea:focus{
    border-color:#2953a6;
    box-shadow:none;
}

.dc-contact-form input::placeholder,
.dc-contact-form textarea::placeholder{
    color:#777;
}

.dc-contact-form input[type="submit"]{
    background:#2953a6;
    color:#fff;
    border:none;
    border-radius:4px;
    padding:0 26px;
    height:48px;
    line-height:48px;
    font-size:18px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
    margin:8px 0 0;
}

.dc-contact-form input[type="submit"]:hover{
    background:#1f4285;
}

.dc-contact-form .wpcf7-spinner{
    margin:12px 0 0 12px;
    vertical-align:middle;
}

.dc-contact-form .wpcf7-response-output{
    margin:20px 0 0 !important;
}



.dc-appt .dc-field{margin:0 0 16px;}
.dc-appt .dc-label{display:block;font-weight:700;color:#1f2733;font-size:14px;margin-bottom:6px;}
.dc-appt .dc-req{color:#e0392b;}
.dc-appt .wpcf7-form-control-wrap{display:block;position:relative;}

.dc-appt .dc-input{
    width:100%;height:48px;border:1px solid #dfe3ea;border-radius:8px;
    padding:0 14px;font-size:14px;color:#1f2733;background:#fff;box-shadow:none;
    transition:border-color .2s, box-shadow .2s;
}
.dc-appt textarea.dc-input{min-height:110px;padding:12px 14px;resize:vertical;}
.dc-appt .dc-input:focus{border-color:var(--fs-color-primary);box-shadow:0 0 0 3px rgba(0,0,0,.07);outline:0;}
.dc-appt .dc-input::placeholder{color:#aab2bf;}

/* 2 cột Email + SĐT */
.dc-appt .dc-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* Select mũi tên riêng */
.dc-appt select.dc-input{
    -webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer;
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path d="M1 1l5 5 5-5" stroke="%23888" stroke-width="1.6" fill="none"/></svg>');
    background-repeat:no-repeat;background-position:right 14px center;
}



/* Nút Đăng ký */
.dc-appt .dc-submit{
    width:100%;background:var(--fs-color-primary);color:#fff;border:0;border-radius:8px;
    height:50px;font-weight:700;font-size:15px;cursor:pointer;transition:filter .2s;
}
.dc-appt .dc-submit:hover{filter:brightness(1.06);}
.dc-appt .dc-submit-wrap{margin-top:6px;}

/* CF7 báo lỗi gọn hơn */
.dc-appt .wpcf7-not-valid{border-color:#e0392b !important;}
.dc-appt .wpcf7-not-valid-tip{font-size:12px;color:#e0392b;margin-top:4px;display:block;}

@media(max-width:549px){.dc-appt .dc-grid-2{grid-template-columns:1fr;}}