/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

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

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/
	
}

/* ===== PSF Home Category ===== */

.psf-homecate {
	max-width: 1220px;
	margin: 0 auto;
  background: #fff;
  padding: 12px 15px;
	border-radius: 15px;
}

/* Desktop: grid đứng yên */
.psf-homecate__grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-auto-rows: auto;
  gap: 10px;
}

.psf-homecate__item {
  display: block;
  text-align: center;
  padding: 8px;
  border-radius: 8px;
	text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.psf-homecate__item:hover {
	background: rgba(255, 143, 171, 0.15);
  transform: translateY(-2px);
}

.psf-homecate__item img {
  width: 50px;
  height: 50px;
  object-fit: contain;
	display: block;
  margin: 0 auto;
}

.psf-homecate__name {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mobile: 1 hàng – 4.5 item – vuốt mượt */
@media (max-width: 768px) {
  .psf-homecate__grid {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding: 0 12px 6px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
		padding-left: 15px;
    padding-right: 15px;
  }

  .psf-homecate__item {
    flex: 0 0 22.5%; /* 4.5 item / màn */
    scroll-snap-align: start;
  }

  .psf-homecate__grid::-webkit-scrollbar {
    display: none;
  }
}

/*************** END CODE ***************/

/* Feature Category Tabs */
.nav-tabs+.tab-panels {
    border-radius: 15px;
}

/* Tabs Blog Border Radius */
.nav-outline>li>a {
    border-radius: 10px;
}

/* Fix emoji */
.entry-content img.emoji {
	display: inline-block;
	width: 1em;   /* theo cỡ chữ */
	height: 1em;
	margin: 0 0.07em;
	vertical-align: -0.1em;
}

/*************** END CODE ***************/

/* Cart page customed */
.is-large.wc-block-cart {
    background-color: #ffffff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Thêm chút bóng để nhìn đẹp hơn */
}

/* Nền trắng + bo góc 8px cho giỏ hàng trên mobile */
.is-medium.wc-block-components-sidebar-layout, 
.is-mobile.wc-block-components-sidebar-layout, 
.is-small.wc-block-components-sidebar-layout {
    background-color: #ffffff !important;
    border-radius: 8px !important;
    padding: 15px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Thêm chút bóng cho đẹp */
}

/* Nếu muốn áp dụng chỉ khi màn hình nhỏ */
@media (max-width: 768px) {
    .is-medium.wc-block-components-sidebar-layout, 
    .is-mobile.wc-block-components-sidebar-layout, 
    .is-small.wc-block-components-sidebar-layout {
        padding: 10px !important;
    }
}

/*************** END CODE ***************/

/* Ẩn thông báo đã thêm hoặc xóa khỏi giỏ hàng */
.woocommerce-message {
display: none !important;
}

/* CSS Giỏ hàng trống */
.empty-cart-gbh {
    width: 450px !important;
    padding: 5px 5px !important; /* Kích thước nút */
	  margin-bottom: -20px;
	  text-transform: none;
}

.text-cart-gbh{
	font-size: 11px;
}

/*************** END CODE ***************/

/* One Page Cart + Checkout */
/* Ẩn một số phần không cần thiết trong giỏ hàng & thanh toán */
.woocommerce .cart-auto-refresh {
    max-width: 100%;
    flex-basis: 100%;
}

/* Hide cart items in checkout but keep coupon */
.woocommerce-info, .woocommerce-checkout-review-order-table .cart_item, .continue-shopping.pull-left.text-left,
.woocommerce-checkout-review-order-table thead, #billing_first_name_field, .ux-cart-coupon .widget-title {
    display: none;
}

/* Tùy chỉnh ô nhập thông tin thanh toán */
	.woocommerce-billing-fields__field-wrapper input,
	#coupon_code,
	.woocommerce-shipping-fields input,
	#order_comments_field textarea {
		box-shadow: none;
		border: 1px solid #dcdcdc;
		padding: 20px 10px;
		font-size: 14px;
}

	.woocommerce-billing-fields__field-wrapper input:focus,
	#coupon_code:focus,
	.woocommerce-shipping-fields input:focus,
	#order_comments_field textarea:focus {
    box-shadow: none;
    border: 1px solid #1f1f1f;
}

/* Tùy chỉnh nút bấm */
.is-form,
	button.is-form,
	input[type='submit'].is-form,
	input[type='reset'].is-form,
	input[type='button'].is-form {
	border-radius: 10px;
}

.woocommerce-checkout .large-7  {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
	margin-bottom: -30px;
}

.woocommerce-checkout .large-5 {
	width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
	margin-top: -10px;
}
/*  FINAL COUPON FIX – INPUT DÀI, BUTTON GỌN */

.ux-cart-coupon .coupon {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* COUPON – FINAL, KHÓA TỈ LỆ CỨNG */

.ux-cart-coupon .coupon {
    display: grid !important;
    grid-template-columns: 1fr 140px; /* input | button */
    gap: 10px;
    align-items: center;
}

/* input full cell */
.ux-cart-coupon .fl-wrap {
    width: 100% !important;
}

.ux-cart-coupon #coupon_code {
    width: 100% !important;
    height: 44px;
}

/* button khóa cứng */
.ux-cart-coupon button.expand,
.ux-cart-coupon button[name="apply_coupon"] {
    width: 140px !important;
    max-width: 140px !important;
    white-space: nowrap;
	background-color: #f48fb1!important; /* màu nền */
    color: #fff !important;
}

@media (max-width: 769px) {
    .ux-cart-coupon .coupon {
        grid-template-columns: 1fr 110px;
				margin-top: -20px;
    }
    .ux-cart-coupon button[name="apply_coupon"] {
        width: 110px !important;
        max-width: 110px !important;
    }
}

/* Province helper – gọn góc dưới phải */
#billing_province_field {
    position: relative;
    padding-bottom: 1px; /* chừa chỗ cho helper */
}

#billing_province_field .description {
    position: absolute;
    right: 2px;
    bottom: 0;
    font-size: 10px;
    line-height: 1.5;
    color: #1e73be;
    margin: 0;
    pointer-events: none; /* không cản click */
}

/*************** END CODE ***************/

/* Khoảng cách đầu trang thank you */
body.woocommerce-order-received .woocommerce .text-center.pt.pb {
  padding-top: 15px;
  padding-bottom: 0px;
}

.woocommerce .return-to-shop {
  margin-bottom: 0px;
}

/* Địa chỉ thanh toán */
.customer-details-table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-customer-details .customer-details-table {
    margin-bottom: 30px;
}

.customer-details-table th,
.customer-details-table td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  text-align: left;
}

.customer-details-table th {
  background: #f8f8f8;
  font-weight: bold;
  width: 100px;
	font-size: 0.7em;
}

.customer-details-table td.phone {
  color: red;
  font-weight: bold;
}

.customer-details-table td.email {
  color: blue;
}

.woocommerce-customer-details > address > p.woocommerce-customer-details--phone,
.woocommerce-customer-details > address > p.woocommerce-customer-details--email {
    display: none;
}

/* Chi tiết thanh toán */
body.woocommerce-order-received .woocommerce-order-details .order_details {
    width: 100%;
    border-collapse: collapse; /* để viền giữa 2 cột hiển thị */
}

/* Border và padding cho tất cả thẻ */
body.woocommerce-order-received .woocommerce-order-details .order_details th,
body.woocommerce-order-received .woocommerce-order-details .order_details td {
    border: 1px solid #ddd; /* giữ viền giữa 2 cột */
    padding: 12px 10px;
    text-align: left;
    vertical-align: middle;
}

/* Header bảng */
body.woocommerce-order-received .woocommerce-order-details .order_details thead th {
    background-color: #f5f5f5;
    color: #333;
    font-weight: 600;
}

/* Width riêng cho từng cột */
body.woocommerce-order-received .woocommerce-order-details .order_details th.product-name,
body.woocommerce-order-received .woocommerce-order-details .order_details td.product-name {
    width: 75%;
}

body.woocommerce-order-received .woocommerce-order-details .order_details th.product-total,
body.woocommerce-order-received .woocommerce-order-details .order_details td.product-total {
    width: 25%;
}


/* ==========================
   Responsive cho Mobile
   ========================== */
@media (max-width: 768px) {
    body.woocommerce-order-received .woocommerce-order-details .order_details th.product-name,
    body.woocommerce-order-received .woocommerce-order-details .order_details td.product-name {
        width: 60%;
    }

    body.woocommerce-order-received .woocommerce-order-details .order_details th.product-total,
    body.woocommerce-order-received .woocommerce-order-details .order_details td.product-total {
        width: 40%;
    }

    body.woocommerce-order-received .woocommerce-order-details .order_details th,
    body.woocommerce-order-received .woocommerce-order-details .order_details td {
        padding: 10px 6px;
        font-size: 14px;
    }
}

/*************** END CODE ***************/
/* Single Product Ẩn Số Lượng */
.woocommerce div.product form.cart div.quantity {
    display: none !important;
    pointer-events: none;
}

/* Tabs sản phẩm - đổi màu border & text khi active */
.tabs-product-olfix .nav-outline > li.active > a {
  border-color: #DD2264;
  color: #DD2264;
}

/*************** END CODE ***************/

/* Điều chỉnh kích thước nút trên mobile */
@media (max-width: 768px) {
    .fb-like {
        transform: scale(0.9) !important; /* Thu nhỏ */
        transform-origin: left center !important;
        width: auto !important;
        height: auto !important;
        display: inline-block !important;
    }
}

/*************** END CODE ***************/

/* Định dạng chung cho cả 2 nút Cart & Buynow */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product .ux-buy-now-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 210px;
    height: 60px;
    padding: 10px;
    font-size: 14px;
    border-radius: 8px;
    text-transform: none;
    text-align: center;
    border: 2px solid #2a83e9;
    background: #fff;
    color: #2a83e9;
    font-weight: normal;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* Icon giỏ hàng */
.woocommerce div.product .single_add_to_cart_button::before {
    content: "\f217"; /* Mã icon giỏ hàng */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    margin-bottom: -10px;
}

/* Nút Mua ngay */
.woocommerce div.product .ux-buy-now-button {
    background: #fc7600;
    color: #fff;
    border-color: #fc7600;
}

/* Hiệu ứng hover */
.woocommerce div.product .single_add_to_cart_button:hover {
    background: #2a83e9;
    color: #fff;
}

.woocommerce div.product .ux-buy-now-button:hover {
    background: #ff5722;
    border-color: #ff5722;
}

/* Căn chỉnh 2 nút trên mobile */
.woocommerce div.product .cart {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product .ux-buy-now-button {
    flex: 1;
    min-width: 150px;
    max-width: 210px;
    text-align: center;
	margin-top: 10px;
}

/* Responsive cho mobile */
@media (max-width: 768px) {
    .woocommerce div.product .cart {
        justify-content: space-between;
    }

    .woocommerce div.product .single_add_to_cart_button,
    .woocommerce div.product .ux-buy-now-button {
        flex: 1;
        min-width: auto;
        max-width: 50%; /* Mỗi nút chiếm 50% */
    }
}

/*************** END CODE ***************/

/* Tên sản phẩm tại danh mục */
p.name.product-title a {
    display: block;
    margin-bottom: 10px;
    color: #1d2939;
    line-height: 1.4;
    transition: color 0.3s ease, transform 0.2s ease; /* Hiệu ứng mượt mà */
}

p.name.product-title a:hover {
    color: #288ad6; /* Đổi màu chữ khi hover (màu đỏ) */
}

/* Giá gốc bị gạch ngang (trang danh mục) */
.cate-col-border-main .price del {
    font-size: 14px;
    color: #777;
    text-decoration: line-through;
}

/* Nhãn giảm giá (trang danh mục) */
.cate-col-border-main .discount-label {
    font-size: 14px;
    color: #dc2d2d;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 5px;
}

/* Giá khuyến mãi trên trang sản phẩm đơn */
.woocommerce div.product p.price ins {
    font-size: 25px;
    font-weight: bold;
    color: red;
    display: inline-block;
    margin-bottom: 5px;
}

/* Giá gốc trên trang sản phẩm đơn */
.woocommerce div.product p.price del {
    font-size: 14px;
    color: #888;
    text-decoration: line-through;
}

/* Nhãn giảm giá trên trang sản phẩm đơn */
.woocommerce div.product p.price .discount-label {
    font-size: 15px;
    color: #eb5757;
}

/* Ký hiệu đ nhỏ lại */
.woocommerce-Price-currencySymbol {
    font-size: 80%; /* Giảm kích thước ký hiệu tiền tệ */
		margin-left: -3px;
}

/* Màu nổi bật cho danh mục đang xem */
.woocommerce-breadcrumb a:last-of-type {
    color: #000000;
}

/*************** END CODE ***************/
/* Bảng thuộc tính sản phẩm */
.pinkstr-table {
    width: 100%;
    font-size: 16px;
    line-height: 1.4; /* Giảm khoảng cách dòng để bảng gọn hơn */
    border-collapse: collapse; /* Loại bỏ khoảng trống giữa các ô */
}

/* Ô tiêu đề và giá trị */
.pinkstr-table th, 
.pinkstr-table td {
    padding: 10px 0; /* Giảm padding để bảng gọn hơn */
    text-align: left;
	border-bottom: 1px solid #ddd;
}

/* Ô tiêu đề */
.pinkstr-table th {
    width: 30%;
    text-transform: none !important; /* Giữ nguyên chữ thường */
    font-weight: 600; /* Làm đậm tiêu đề */
}

/* Ô giá trị */
.pinkstr-table td {
    font-size: 16px; /* Giữ chữ của giá trị nhỏ gọn */
}

/* Responsive: Hiển thị tốt hơn trên mobile */
@media (max-width: 768px) {
    .pinkstr-table td {
        padding-left: 10px;
    }
}

/*************** END CODE ***************/

/* Product Main page PRC */
body:not(.single-product) ins .woocommerce-Price-amount {
	font-size: 20px;
	font-weight: bold;
	display: inline-block;
    margin-bottom: 10px;
}

body:not(.single-product) del .woocommerce-Price-amount:before {
    content: "\A"; /* Ký tự xuống dòng */
    white-space: pre;
}

/*************** END CODE ***************/

/* Banner before Group Khối Lượng*/
.img .img-inner img{
    border-radius: 15px;/* Điều chỉnh độ bo góc theo ý muốn */
}

/*************** END CODE ***************/

/* Tạo border áp dụng khi ở trang danh mục sản phẩm hoặc trang cửa hàng */
.product-archive .box,
.cate-col-border-main .box {
    width: auto;
    border: 1px solid #cbcbcb;
    padding: 30px 10px;
    border-radius: 5px;
    height: auto;
    box-sizing: border-box;
}

.row.cate-col-border-main.row-small:not(.row-collapse) {
    margin-left: -5px;
    margin-right: -5px;
}

.post-type-archive-product .products.row.row-small:not(.row-collapse),
.tax-product_cat .products.row.row-small:not(.row-collapse) {
	padding-left: 7px;
    padding-right: 7px;
}

@media (max-width: 768px) {
    .product-archive .box,
    .cate-col-border-main .box {
        padding: 15px 5px;
        border-radius: 3px;
        min-height: 150px;
    }
}

.product-archive .box img,
.cate-col-border-main .box img {
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease-in-out;
    max-width: 100%;
    height: auto;
}

.product-archive .box:hover img,
.cate-col-border-main .box:hover img {
    animation: bounce-up 0.5s ease-out forwards;
    will-change: transform;
}

@keyframes bounce-up {
    0% { transform: translateY(0); }
    50%, 100% { transform: translateY(-10px); }
}

/* Chỉ áp dụng nền khi ở trang danh mục sản phẩm hoặc trang cửa hàng */
.archive .products, 
.woocommerce-page .products {
    background: #ffffff; /* Nền trắng */
    border-radius: 5px; /* Bo góc 5px */
    padding: 25px 25px 5px 25px; /* Thêm khoảng cách bên trong */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); /* Đổ bóng nhẹ */
}

/* Giảm khoảng cách dưới cùng của .box-text cho desktop */
.cate-col-border-main .box-text {
    margin-bottom: -40px;
}

/* Điều chỉnh khoảng cách cho mobile và tablet (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) { 
    .cate-col-border-main .box-text {
        margin-bottom: -30px; /* Giảm nhẹ để tránh lỗi hiển thị */
    }
}

/* Khoảng cách giữa các ô sản phẩm */
.row-small>.col, .row-small>.flickity-viewport>.flickity-slider>.col {
    margin-bottom: 0;
    padding: 0 6px 15px;
}

@media (max-width: 390px) { 
.row-small>.col, .row-small>.flickity-viewport>.flickity-slider>.col {
    padding: 0 3px 15px;
	}
}

/*************** END CODE ***************/

/* New Label Single Product */
.label-single-new-ps {
    background-color: #fef3f2; /* Màu nền */
    color: #d92d20; /* Màu chữ */
    font-size: 14px;
    padding: 2px 8px;
    margin-left: 5px;
    line-height: 1;
    border-radius: 16px;
    font-weight: normal;
    display: inline-block; /* Giữ label không bị vỡ layout */
}

h1.product-title {
    display: inline;
}

/* Nhãn sản phẩm */
.labels-container-ps {
    display: block;
    gap: 10px;
    font-size: 14.5px;
    font-weight: normal;
}

.label-sales-ps, .label-review-star-ps {
	margin-right: 12px;
	display: inline-block;
}

.label-sales-ps {
    color: #98a2b3;
}

.label-review-star-ps {
    color: #FFA41C;
}

@media (max-width: 768px) { 
    .labels-container-ps {
        margin-top: 5px;
		margin-left: 5px;
    }
	.label-sales-ps, .label-review-star-ps {
	margin-right: 8px;
	}
}

/* Ẩn nhãn ở một số khu vực */
.recently-viewed-container .label-sales-ps,
.recently-viewed-container .label-review-star-ps,
.recently-viewed-container .labels-container-ps
{
    display: none !important;
}

/*************** END CODE ***************/

/* Khung đánh giá to hơn */
@media (max-width: 768px) {
.accordion-inner {
        padding: 5px;
    }
}

/* Ẩn tại tiêu đề đánh giá */
.woocommerce-Reviews .labels-container-ps {
    display: none;
}

/* Chiều cao ảnh thumnails */
.product-title {
    min-height: 45px; /* Độ cao tối thiểu, giúp đồng bộ các tiêu đề */
}

.archive .product-title{
    min-height: 45px; /* Độ cao tối thiểu, giúp đồng bộ các tiêu đề */
}

/* Ẩn New Sidebar */
.nav-sidebar .label-single-new-ps {
    display: none !important;
}

/* Đổi màu tổng tiền checkout */
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount  {
    font-size: 22px !important;
    color: red !important;
    font-weight: bold !important;
}

/* Overlay main menu */
.header-vertical-menu__opener {
    position: relative;
    z-index: 999; /* Đảm bảo nằm trên overlay */
	border-top-left-radius: 10px;  /* Bo góc trên bên trái */
    border-top-right-radius: 10px; /* Bo góc trên bên phải */
}

/* Bỏ H1 tại tiêu đề Moble */
@media (max-width: 768px) {
    .product-title-mobile  {
       	display: inline; /* Chỉ hiện trên mobile */
		font-size: 1.4em;
		font-weight: bold;
    }
}

/* Content mô tả sản phẩm chi tiết */
div#accordion-description-content.accordion-inner{
	padding: 1em 0em;
}

/*************** END CODE ***************/

/* Tùy chỉnh lại khu vực recent product single */
 .recently-viewed-slider .swiper-slide {
          display: flex;
          align-items: center;
          border: 1px solid #eee;
          padding: 2px;
          border-radius: 10px;
          background: #fff;
}

.recently-viewed-slider .product-thumbnail img {
          width: 55px;
          height: 55px;
          object-fit: cover;
          border-radius: 8px;
}

.recently-viewed-slider .product-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 1;
}

.recently-viewed-slider .product-title {
        font-size: 12px;
        font-weight: 500;
        margin: 0 0 5px;
		line-height: 1.5;
        margin-bottom: -8px;
		color: #000000;
}

.recently-viewed-slider .price {
            font-size: 12px;
}

@media (max-width: 430px) {
.recently-viewed-slider .swiper-slide {
	flex-direction: row;
   }
.recently-viewed-slider .product-thumbnail img {
            width: 45px;
            height: 45px;
            object-fit: cover;
            border-radius: 8px;
	}
	
.recently-viewed-slider .product-title {
        font-size: 11.5px;
	}
	
.recently-viewed-slider .price {
            font-size: 11px;
						display: inline-block;
	}
}

/*************** END CODE ***************/

/* Tabs nội dung single product */
.tabs-single-details-ps .nav-outline > li > a {
    display: block;
    text-align: center;
    margin: 0 15px 0 0;
    width: 245px;
    font-size: 15px;
    background-color: #f9f9f9; /* Màu nền mặc định */
    border: 1px solid #e5e5e5;
    transition: background-color 0.3s ease, border-color 0.3s ease; /* Hiệu ứng chuyển màu */
}

/* Đặc biệt cho tab đang active */
.tabs-single-details-ps .nav-outline > li.active > a {
    border-color: var(--fs-color-primary); /* Đổi màu viền */
    color: var(--fs-color-primary); /* Đổi màu chữ khi active */
    background-color: #ffffff; /* Màu nền của tab active */
    border: 2px solid var(--fs-color-primary); /* Đổi viền khi active */
}

/* Responsive cho các màn hình nhỏ (768px) */
@media (max-width: 768px) {
    .tabs-single-details-ps .nav-outline > li > a {
        width: auto;
        font-size: 14px;
        margin: 0 10px 0 0;
        display: inline-block;
    }
}

/*************** END CODE ***************/

/* Dịch vụ bổ sung */
.pinkstr-options {
    padding: 10px;
    border: 1px solid #eaecf0;
    border-radius: 8px;
    font-size: 15px;
		padding-bottom: 5px;
}

.pinkstr-titledv {
	  font-weight: bold;
    margin-bottom: 10px;
    font-size: 15px;
		color: #344054;		
}

.pinkstr-options label {
    display: block;
    margin-bottom: 5px;
		padding: 0 5px 0 5px;
    font-weight: 500;
}

.pinkstr-options select {
    margin-top: 5px;
    padding: 5px 8px;
    border: 1px solid #bbb;
    border-radius: 4px;
}

.pinkstr-price {
    color: #f97316;
    font-weight: bold;
    font-size: 15px;
		float: right;
}

@media (max-width: 768px){
	.pinkstr-options select {
		font-size: 12.5px;
	}
}

/*************** END CODE ***************/

/* 3 Nút Liên Hệ Trang Chủ */
.pinkstr-contact-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.pinkstr-btn {
    position: relative;
    width: 50px;
    height: 50px;
    text-align: center;
    display: inline-block;
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer;
}

/* Hai sóng lan tỏa */
.pinkstr-btn::before,
.pinkstr-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #e60808; /* Mặc định đỏ */
    opacity: 0.6;
    z-index: 0;
    animation: pinkstr-pulse 2.4s infinite ease-in-out;
}

.pinkstr-btn::after {
    animation-delay: 1.2s; /* So le nhau 1/2 chu kỳ */
}

/* Icon container */
.pinkstr-img-circle {
    width: 50px;
    height: 50px;
    position: relative;
    z-index: 2;
    background-color: #e60808;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Icon */
.pinkstr-img-circle img {
    width: 26px;
    height: 26px;
    animation: pinkstr-icon-shake 2s infinite ease-in-out;
}

/* Màu riêng cho Zalo và Facebook */
.pinkstr-zalo::before,
.pinkstr-zalo::after,
.pinkstr-zalo .pinkstr-img-circle {
    background-color: #0084ff;
}

.pinkstr-facebook::before,
.pinkstr-facebook::after,
.pinkstr-facebook .pinkstr-img-circle {
    background-color: #1877f2;
}

.pinkstr-circle-fill {
    background: rgba(255, 255, 255, 0.2); /* nền nhạt lại */
    animation: pinkstr-pulse 1.5s ease-out infinite;
}

@keyframes pinkstr-pulse {
    0% {
        transform: scale(1);
        opacity: 0.15; /* nhạt hơn nữa */
    }
    60% {
        transform: scale(1.4); /* nhỏ hơn */
        opacity: 0;
    }
    100% {
        transform: scale(1.4);
        opacity: 0;
    }
}

@keyframes pinkstr-icon-shake {
    0%, 100% { transform: translate(0, 0); }
    30% { transform: translate(-0.5px, 0.5px); }
    60% { transform: translate(0.5px, -0.5px); }
}

/*************** END CODE ***************/

/* Cấu hình Mega Menu dọc trang chủ */
/* Cấu hình cho các icon box trong stack menu ngang */
.stack-menu-vert .icon-box, .stack-menu-vert a {
    flex-basis: 20%;
}

.stack-menu-vert {
    display: flex;
    justify-content: space-between;
    margin: 10px 0px 0px -20px;
    text-align: center;
    gap: 0; /* nếu có khoảng trống thì thêm hoặc điều chỉnh ở đây */
}

/* Hover effect */
.stack-menu-vert .icon-box,
.stack-menu-vert a {
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.stack-menu-vert .icon-box:hover,
.stack-menu-vert a:hover {
background: linear-gradient(to bottom, #ffe4ec, #fafafa);
    border-radius: 8px;
		color: #ff8fab;
}

/* Layer hiển thị menu dọc phía trên các phần khác */
.header-vertical-menu__fly-out {
	z-index: 99;
}

/* Cấu hình item cấp 1 trong menu dọc */
.header-vertical-menu__fly-out .nav-vertical-fly-out>li.menu-item {
	border-left: 3px solid #ff8fab;
	line-height: 20px;
	font-size: 16.5px;
}

/* Gạch ngang phân cách giữa các item menu */
.header-vertical-menu__fly-out .nav-vertical-fly-out > li:not(:last-child) {
  border-bottom: 1px solid rgba(141, 141, 141, 0.23);
}

/* Ẩn mũi tên chỉ xuống trong menu có submenu */
.header-vertical-menu__fly-out .nav-vertical-fly-out>li.menu-item>a>i.icon-angle-down {
	display: none;
}

/* Viền trái cho menu con dạng dropdown */
.nav-dropdown-has-border .nav-dropdown{
		 border-left: 10px solid rgb(204 204 204 / 0.3);
		border-top: 0px;
		border-bottom: 0px;
		border-right: 0px;
}

/* Đổ bóng dropdown */
.nav-dropdown-has-shadow .nav-dropdown {
	box-shadow: none;
}

/* Hover & trạng thái active của item menu */
.header-vertical-menu__fly-out .nav-vertical-fly-out > li.menu-item:hover > a,
.header-vertical-menu__fly-out .nav-vertical-fly-out > li.menu-item.current-dropdown > a {
  font-weight: 700;
  background-color: #fff;
  color: #ff8fab;
}

.pinkstr-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.6);
  z-index: 999;
  display: none;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

/*************** END CODE ***************/

/* --- Readmore Box (Pinkstr) --- */
.pinkstr-readmore-wrapper {
    overflow: hidden;
    position: relative;
    padding-bottom: 25px;
	padding-top: 30px;
    transition: max-height 0.5s ease-in-out;
}
.pinkstr-readmore-content {
	max-height: 150px;
    overflow: hidden;
}
.pinkstr-readmore-box {
    text-align: center;
    cursor: pointer;
    position: absolute;
    z-index: 10;
    bottom: 0;
    width: 100%;
    background: #f8f9fa;
    color: #ff8fab;
}
.pinkstr-readmore-box:before {
    height: 55px;
    margin-top: -45px;
    content: "";
    background: linear-gradient(to bottom, rgba(248,249,250,0) 0%, rgba(248,249,250,1) 100%);
    display: block;
}
.pinkstr-readmore-box a {
    color: #ff8fab;
    display: block;
}
.pinkstr-readmore-more a:after {
    content: '';
    width: 0;
    border-top: 6px solid #ff8fab;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    display: inline-block;
    vertical-align: middle;
    margin: -2px 0 0 5px;
}
.pinkstr-readmore-less a:after {
    content: '';
    width: 0;
    border-bottom: 6px solid #ff8fab;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    display: inline-block;
    vertical-align: middle;
    margin: -2px 0 0 5px;
}
.pinkstr-readmore-less:before {
    display: none;
}

/*************** END CODE ***************/

/* --- TOC Danh mục sản phẩm & blog --- */
.pinkcate-toc-wrap {
    background: #fff;
    padding: 10px;
    border: 1px solid #fff5f7;
    margin-bottom: 20px;
    border-radius: 6px;
    font-size: 15.2px;
    color: #ff8fab;
    max-width: 500px;
}
.pinkcate-toc-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.pinkcate-toc-header strong {
    font-size: 20px;
    color: #ff8fab;
}
.pinkcate-toc-toggle {
    display: flex;
    align-items: center;
    text-decoration: none;
}
.pinkcate-toc-toggle svg {
    fill: currentColor;
}
.pinkcate-toc-arrow {
    transform-origin: center;
    display: inline-block;
    transition: transform 0.25s ease;
}
.pinkcate-toc-icon {
    display: flex;
    align-items: center;
    gap: 2px;
    border: 1px solid #ff8fab;
    border-radius: 5px;
    padding: 2px;
    color: #ff8fab;
}
.pinkcate-toc-wrap ul {
    list-style: none;
    margin: 0;
    overflow: hidden;
    height: auto;
    transition: height 0.3s ease, opacity 0.3s ease;
}
.pinkcate-toc-wrap ul.collapsed {
    height: 0 !important;
    opacity: 0;
    padding: 0;
}
.pinkcate-toc-wrap li {
    margin: 4px 0;
}
.pinkcate-toc-wrap li.h2 {
    font-size: 95%;
		margin-left: 0.5em;
}
.pinkcate-toc-wrap li.h3 {
    padding-left: 15px;
    font-size: 90%;
		margin-left: 0.5em;
}
.pinkcate-toc-wrap a {
    text-decoration: none;
    color: #000;
    transition: color 0.2s;
}
.pinkcate-toc-wrap a:hover {
    color: #ff8fab;
    text-decoration: underline;
}
.pinkcate-toc-wrap a.clicked {
    color: #b35f6d;
}
@media (max-width: 768px) {
    .pinkcate-toc-wrap {
        font-size: 14px;
        padding: 10px;
    }
    .pinkcate-toc-header strong {
        font-size: 18px;
    }
}

/*************** END CODE ***************/
/* --- Ẩn H1 tại danh mục sản phẩm --- */
.psf-cate-hidden-h1 {
    position: absolute;
    left: -9999px;
    top: -9999px;
    height: 1px;
    width: 1px;
    overflow: hidden;
    visibility: hidden;
}

/*************** END CODE ***************/
/* Tiêu đề bài viết trên trang chủ */
.home .blog-post-inner .post-title {
  font-size: 14px;
  font-weight: normal;
  color: #000;
}

/* Ẩn divider trong toàn bộ blog / archive */
.blog-post-inner .post-title + .is-divider {
  display: none;
}

/* Ẩn divider trong trang chi tiết bài viết */
.single-post .entry-divider,
.single-post .is-divider {
  display: none;
}

/* Tiêu đề bài viết chi tiết */
.single-post .entry-title {
  font-size: 22px;
  font-weight: 600;
}

/* Đẩy metadata gần tiêu đề bài */
.single-post .pinkstr-meta {
  margin-top: -50px;
}

/* Canh lề và căn trái text header trong single post */
.single-post .entry-header-text.text-center {
  padding-left: 0;
  padding-right: 0;
  text-align: left;
}

/* Breadcrumb blog - màu chữ mờ, không gạch chân */
.woocommerce-breadcrumb-blog a {
  color: rgba(74, 74, 74, 0.8);
  text-decoration: none;
}

/* Hover breadcrumb đổi màu chữ */
.woocommerce-breadcrumb-blog a:hover {
  color: #000;
}

/* Container breadcrumb blog */
.pinkstr-breadcrumb-blog-wrap {
  margin-top: -10px;
  margin-bottom: -20px;
  font-size: .8em;
  color: rgba(74, 74, 74, 0.8);
  padding: 0 15px;
}

@media (max-width: 768px) {
  .pinkstr-breadcrumb-blog-wrap {
    padding: 0;
  }
}

/* Category cuối cùng trong breadcrumb (active) */
.woocommerce-breadcrumb-blog a:last-child {
  color: #000;
  font-weight: 500;
}

/* Ẩn tiêu đề và header trang danh mục */
.archive .page-title,
.archive .page-header {
  display: none;
}

/* Card bài viết trong trang danh mục */
.blog-archive .post-item .col-inner {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 10px;
  transition: all 0.3s ease;
  margin-top: -20px;
}

/* Hiệu ứng hover card bài viết */
.blog-archive .post-item .col-inner:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}

/* Chỉnh max-width cột trong blog archive */
.blog-archive .large-10.col {
  max-width: 100%;
  flex: 0 0 100%;
}

/* Text hiển thị "x thời gian trước" */
.post-time-ago {
  font-size: 13px;
  color: #888;
  margin-top: 6px;
}

/* Bỏ padding dưới box-text trong blog archive */
.blog-archive .box-text{
  padding-bottom: 0px;
}

/* Tabs blog - đổi màu border & text khi active */
.tabs-blog-main-ps .nav-outline > li.active > a {
  border-color: #DD2264;
  color: #DD2264;
}

/* Badge ngày tháng blog - màu chữ hồng đậm mặc định */
.tabs-blog-main-ps .badge-frame .badge-inner,
.tabs-blog-main-ps .badge-outline .badge-inner {
  color: #DD2264;
}

/* Badge ngày tháng blog - hover: nền & viền hồng, chữ trắng */
.tabs-blog-main-ps .has-hover:hover .badge-outline .badge-inner {
  background-color: #DD2264;
  border-color: #DD2264;
  color: #fff;
}

/* Nút "Xem thêm" blog - màu chữ hồng thương hiệu */
.tabs-blog-main-ps .btn-rdmore-blog {
  color: #DD2264;
}

/*************** END CODE ***************/
/* Label mẫu mới & hàng lạnh */
.pinkstr-product-label-stack {
    position: absolute;
    top: -190px;
    left: 0px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 10;
}

.pinkstr-label {
    display: inline-block;
	align-self: flex-start;
    line-height: 1.2;
    padding: 2px 4px;
    border-radius: 2px;
    white-space: nowrap;
	font-size: 12px;
	font-weight: 400;
}

.pinkstr-label-cold {
    background: #e6f4ff;
    color: #0b5394;
}

.pinkstr-label-new {
    background: #ffebee;
    color: #dd2f2c;
}

/* Label mẫu mới & hàng lạnh tại danh mục sp*/
.product-archive .pinkstr-product-label-stack {
		top: -218px; /* Cách mép trên*/
}

@media (max-width: 768px) {
    .pinkstr-label {
        font-size: 11px;
        padding: 2px 3px;
    }
    .pinkstr-product-label-stack,
    .product-archive .pinkstr-product-label-stack {
        top: -235px;
    }
}

@media (max-width: 430px) {
    .pinkstr-product-label-stack,
    .product-archive .pinkstr-product-label-stack {
        top: -190px;
    }
}

@media (max-width: 390px) {
    .pinkstr-product-label-stack,
    .product-archive .pinkstr-product-label-stack {
        top: -175px;
    }
}

@media (max-width: 370px) {
    .pinkstr-product-label-stack,
    .product-archive .pinkstr-product-label-stack {
        top: -165px;
    }
}

/* Label hết hàng tại trang chủ vs danh mục*/
.pinkstr-label-oos {
    background: #222;
    color: #fff;
    font-size: 12px;
    padding: 2px 4px;
    border-radius: 2px;
    font-weight: 400;
}

.pinkstr-label-oos-wrap {
    left: auto;
    right: 0px;
}

/* Ẩn label Hết hàng mặc định của Flatsome – chỉ HOME + ARCHIVE */
.home .out-of-stock-label,
.archive .out-of-stock-label,
.post-type-archive-product .out-of-stock-label {
    display: none !important;
}

@media (max-width: 768px) {
	.pinkstr-label-oos {
		font-size: 11px;
		padding: 2px 3px;
	}
}

/* Text giao hàng lạnh */
.pinkstr-hang-lanh-note{
		color: #111;
		margin-top: -15px;
		margin-bottom: 14px;
    font-size: 14px;
}

.psf-emt-4h {
    color: #0b5394;

}

.psf-emt-kg {
    color: #d35400;
}

/*************** END CODE ***************/
/* Thay đổi text hết hàng tại sảng phẩm đơn*/
.pinkstr-out-of-stock-notice {
    padding: 16px 18px;
    background: #fff2cc; /* đậm hơn nền cam kết */
    border-left: 5px solid #d48806;
    color: #4b3a1f;
    font-size: 14.5px;
    line-height: 1.6;
    border-radius: 6px;
		margin-bottom: 15px;
}

.pinkstr-out-of-stock-notice strong {
    font-weight: 600;
		color: b54708;
		font-size: 1.4em;
		letter-spacing: 0.2px;
}

/*************** END CODE ***************/
/* Hiển thị sub banner tại trang chủ */
.psf-promo-row {
  max-width: 1220px;
  margin: 15px auto 0;
  overflow: hidden;
}

.psf-promo-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.psf-promo-item {
  flex: 0 0 40%; /* desktop ~2.5 banner */
  scroll-snap-align: start;
}

.psf-promo-item img {
  width: 100%;
  height: 230px;
  border-radius: 15px;
  display: block;
}

/* Mobile chỉnh lại độ rộng */
@media (max-width: 768px) {
 	.psf-promo-item {
    	flex: 0 0 90%;
  }
  	.psf-promo-track {
    	scrollbar-width: none;   /* Firefox */
  }
  	.psf-promo-track::-webkit-scrollbar {
   		display: none;           /* Chrome, Safari */
  }
	.psf-promo-item img {
		height: 200px;
	}
	.psf-promo-row {
		margin-top: 0.5em; 
	}
}

@media (max-width: 390px) {
	.psf-promo-item img {
		height: 180px;
	}
}

/* Desktop: ẩn hero */
@media (min-width: 769px) {
  .psf-hero {
    display: none;
  }
}

/* Mobile: hiện hero + đẩy lên đầu */
@media (max-width: 768px) {
  .psf-hero {
    display: block;
    order: -1; /* hero luôn nằm đầu */
  }

  .psf-sub {
    order: 1;
  }
}
/*************** END CODE ***************/
