/*
 Theme Name:   Woostify Child
 Theme URI:    https://woostify.com/
 Description:  Child theme of Woostify
 Author:       Your Name
 Template:     woostify
 Version:      1.0.0
 Text Domain:  woostify-child
*/

/* CSS tùy chỉnh để sau */
@font-face {
    font-family: 'ProximaNova Rg';
    src: url('fonts/ProximaNova-BoldIt.woff2') format('woff2'),
    url('fonts/ProximaNova-BoldIt.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova Bl';
    src: url('fonts/ProximaNova-Black.woff2') format('woff2'),
    url('fonts/ProximaNova-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova Bl';
    src: url('fonts/ProximaNova-BlackIt.woff2') format('woff2'),
    url('fonts/ProximaNova-BlackIt.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova Bl';
    src: url('fonts/ProximaNova-Black.woff2') format('woff2'),
    url('fonts/ProximaNova-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('fonts/ProximaNova-Bold.woff2') format('woff2'),
    url('fonts/ProximaNova-Bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('fonts/ProximaNova-ExtraBold.woff2') format('woff2'),
    url('fonts/ProximaNova-ExtraBold.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('fonts/ProximaNova-Regular.woff2') format('woff2'),
    url('fonts/ProximaNova-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('fonts/ProximaNova-Light.woff2') format('woff2'),
    url('fonts/ProximaNova-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

body, button, input, textarea {
    font-family: ProximaNova, sans-serif;
}

body .site-header-inner .woostify-container {
    min-height: 150px;
}
.logged-in.admin-bar #shop-cart-sidebar {
    top: 0px!important;
}
@media (max-width: 768px) {
    body .site-header-inner .woostify-container {
        min-height: 100px;
    }

}

body.has-header-layout-4 .header-layout-4 .site-navigation {
    flex: 8;
    text-align: center;
}

body.has-header-layout-4 .header-layout-4 .site-tools {
    flex: 1;
}
.has-header-layout-4 .header-layout-4 .woostify-container {
    background: #fff;
}
h2 {
    font-size: 30px;
    font-weight: 700;
    margin: 0px 0;
    color: #000000;
}
.has-sticky-header.sticky-header-for-all-devices .site-header-inner.fixed {
    background-color: #fff!important;
}
/* Ẩn page header chỉ ở trang chủ */
body.home .page-header {
    display: none;
}
body.tax-product_cat .page-header {
    display: none;
}
.woostify-container .onsale {
    background-color: rgba(238, 77, 45, 1);
}
.woostify-container .product-summary .price {
    color: #95274e;
    font-size: 30px;
    font-weight: 600;
}
.promotion {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    background: #fff8f9;
    border: 1px solid #f1d5db;
    border-radius: 12px;
    padding: 20px 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.promotion p {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.promotion img {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}
.woostify-sorting {
    display: none;
}
body.home .wp-block-group .wp-block-heading {
    position: relative;
}
body.home .wp-block-group .wp-block-heading:before {
    width: 100px;
    left: 0;
    position: absolute;
    content: '';
    height: 2px;
    background-color: #95274e;
    bottom: -5px;
}

.promotion a {
    text-decoration: none;
    font-weight: 600;
    color: #95274e;
    transition: color 0.3s ease;
    font-size: 25px;
}

.promotion a:hover {
    color: #cc4b6e;
}

.promotion:hover {
    box-shadow: 0 8px 20px rgba(149, 39, 78, 0.1);
}

.promotion p:hover img {
    transform: scale(1.15);
}

.woostify-container {
    max-width: 1200px!important;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.woostify-social-icon a:before {
    display: none;
    content: unset;
}
.woostify-footer-social-icon li a {
    border: unset!important;
}
.woostify-footer-social-icon li a:hover {
    color: transparent!important;
    background-color: transparent!important;
}
.site-header-inner {
    background-color: transparent !important;
}

.special-text {
    font-weight: bold;
    font-size: 96px;
    line-height: 96px;
    width: 100%;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #95274e;
    color: transparent;
}

/* General styles for the menu */
body.has-header-layout-4 .header-layout-4 .site-navigation .main-navigation {
    background-color: #ffffff; /* Background color */
    font-family: 'ProximaNova', sans-serif;
}

body.has-header-layout-4 .header-layout-4 .site-navigation .primary-navigation {
    display: flex;
    justify-content: center; /* Align items to center */
    list-style: none; /* Remove default list style */
    padding: 0;
    margin: 0;
}

/* Menu Item Styles */
body.has-header-layout-4 .header-layout-4 .site-navigation .primary-navigation li {
    position: relative;
    margin: 0 20px;
}

body.has-header-layout-4 .header-layout-4 .site-navigation .primary-navigation li a {
    display: block;
    text-decoration: none;
    color: #333; /* Dark text color */
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase; /* Uppercase for a professional look */
    transition: color 0.3s ease, transform 0.3s ease; /* Smooth hover effects */
    padding: 0px;
    margin: 0px;
}

/* Hover effects */
body.has-header-layout-4 .header-layout-4 .site-navigation .primary-navigation li a:hover,
body.has-header-layout-4 .header-layout-4 .site-navigation .primary-navigation li a:focus {
    color: #ff9900; /* Highlight color */
    transform: translateY(-3px); /* Subtle hover effect */
}

/* Active menu item */
body.has-header-layout-4 .header-layout-4 .site-navigation .primary-navigation li a.active {
    color: #ff9900; /* Highlight active link */
    font-weight: 700; /* Make it bold */
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button {
    background-color: #95274e;
    color: #fff;
    width: 220px;
    margin: 0 auto;
    margin-top: 20px;
    border: 1px solid #95274e;
    width: 100%;
}

.site-footer-widget .widget-icon-box-item .widget-info-box-content {
    display: inline;
}

.site-footer-widget .widget-icon-box-item i {
    color: #95274e;
    padding-right: 10px;
}

.site-footer-widget .widget-icon-box-wrap {
    padding: 0;
}

.site-footer-widget .site-infor-col {
    display: none;
}

/*#shipping-company, #shipping-postcode {*/
/*    display: none;*/
/*}*/

.contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.contact-col {
    flex: 1;
    min-width: 300px;
}

.contact-map iframe {
    width: 100%;
    height: 100%;
    min-height: 400px;
    border: 0;
}

.contact-item.contact-item-2 {
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

.contact-item {
    margin-bottom: 15px;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-item i {
    color: #d9534f;
    font-size: 30px;
}

.contact-info a, .contact-info p {
    text-decoration: none;
    font-weight: 600;
    color: #000000;
    display: block;
}

.contact-info a:hover {
    color: var(--wp--preset--color--primary);
}

/* ====== CONTACT FORM STYLE ====== */
.wpcf7-form {
    max-width: 600px;
    margin: 0 auto;
    margin-top: 40px;
}

.wpcf7-form p {
    margin: 0;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    background: #fafafa;
    border-radius: 5px;
    font-size: 16px;
    transition: 0.3s;
    font-family: inherit;
    margin-bottom: 15px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-color: #ff6600;
    background: #fff;
    outline: none;
    box-shadow: 0 0 4px rgba(255, 102, 0, 0.3);
}

/* Placeholder styling */
.wpcf7 ::placeholder {
    color: #999;
}

/* Submit button */
.wpcf7  .submit-contact {
    background-color: #95274e;
    color: #fff;
    margin: 0 auto;
    margin-top: 20px;
    border: 1px solid #95274e;
    width: 100%;
    height: 50px;
}

.wpcf7 .submit-contact:hover, .wpcf7  .submit-contact:focus, .wpcf7  .submit-contact:active {
    background-color: #95274e;
    color: #fff;
    margin: 0 auto;
    margin-top: 20px;
    border: 1px solid #95274e;
    width: 100%;
    height: 50px;
}
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
    margin-bottom: 10px;
}
.wpcf7-not-valid-tip, .wpcf7-validation-errors {
    margin: 0!important;
}
/* Success / Error messages */
.wpcf7-response-output {
    margin-top: 15px;
    padding: 12px 15px;
    border-radius: 5px;
}

.wpcf7-not-valid-tip {
    font-size: 13px;
    color: #e74c3c;
    margin-top: -10px;
    margin-bottom: 10px;
    display: block;
}

.hidden-fields-container {
    display: none;
}

/* Loading spinner */
.wpcf7-spinner {
    margin-left: 10px;
}
.woocommerce-terms-and-conditions-wrapper {
    display: none;
}
.woocommerce .woocommerce-form-coupon-toggle {
    display: none;
}
.woocommerce .shop_table  .woocommerce-form-coupon-toggle {
    /*display: block;*/
}
.woocommerce-checkout .woocommerce-account-fields {
    display: none;
}
.cart_item .product-name .product-checkout-image-wrapper{
    display: inline-block;
    width: 60px;
    height: 60px;
}
.cart_item .product-name .product-checkout-name-wrapper{
    display: inline-block;
}
.page-id-9 .page-header{
    display: none;

}
.page-id-10 form.ajax-auth {
    position: unset;
}
/* Mobile */
@media (max-width: 768px) {
    .submit-contact {
        font-size: 16px;
    }
}

@media (min-width: 992px) {
    .footer-widget-col-2 #block-9 {
        width: 50% !important;
    }
    .footer-widget-col-2 #block-10 {
        width: 25% !important;
    }
    .footer-widget-col-2 #block-11 {
        width: 25% !important;
    }
    .footer-widget-col-2 .widget:nth-of-type(2n+3) {
        clear: unset!important;
    }
}
@media (min-width: 992px) {
    .woocommerce-checkout #customer_details {
        float: left;
        width: calc(100% - 500px);
        padding-right: 40px;
    }
    .woocommerce-checkout #order_review {
        float: left;
        width: 500px;
    }
}

/* ==== FORM WRAPPER ==== */
#lwp_activate {
    background: #ffffff;
    padding: 25px 30px;
    border-radius: 12px;
    max-width: 380px;
    margin: 0 auto;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    font-family: Arial, sans-serif;
}

/* ==== TITLE ==== */
#lwp_activate .lh1 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
    color: #333;
}

/* ==== LABEL ==== */
#lwp_activate .lwp_labels {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #444;
}

/* ==== INPUT ==== */
#lwp_activate input[type="password"] {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    margin-bottom: 15px;
    font-size: 15px;
    transition: all .2s ease-in-out;
}

#lwp_activate input[type="password"]:focus {
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0,122,255,0.15);
}

/* ==== BUTTON ==== */
#lwp_activate .submit_button {
    width: 100%;
    padding: 12px;
    background-color: #95274E;
    color: #ffffff;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .2s;
}
.submit_button {
    width: 100%;
    padding: 12px;
    background-color: #95274E;
    color: #ffffff;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: .2s;
}
.lwp_forms_login .iti__selected-flag {
    display: none;
}
html body .lwp_forms_login .iti--allow-dropdown input, .lwp_forms_login .iti--allow-dropdown input[type=tel] {
    padding-left: 10px!important;
}
#lwp_activate .submit_button:hover {
}

/* ==== CHANGE PHONE LINK ==== */
#lwp_activate .lwp_bottom_activation {
    text-align: center;
    margin-top: 15px;
}

#lwp_activate .lwp_bottom_activation a {
    color: #007aff;
    font-size: 14px;
    text-decoration: none;
}

#lwp_activate .lwp_bottom_activation a:hover {
    text-decoration: underline;
}

/* ==== CLOSE BUTTON ==== */
#lwp_activate a.close {
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 18px;
    color: #aaa;
    text-decoration: none;
}

#lwp_activate a.close:hover {
    color: #555;
}

/* ==== FORM WRAPPER ==== */
#lwp_enter_password {
    background: #ffffff;
    padding: 25px 30px;
    border-radius: 12px;
    max-width: 380px;
    margin: 0 auto;
    position: relative;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    font-family: Arial, sans-serif;
}

/* ==== TITLE ==== */
#lwp_enter_password .lh1 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
    color: #333;
}

/* ==== LABEL ==== */
#lwp_enter_password .lwp_labels {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #444;
}

/* ==== INPUT WRAPPER ==== */
#lwp_enter_password .lwp-inside-form-input {
    margin-bottom: 20px;
}

/* ==== INPUT ==== */
#lwp_enter_password input[type="password"] {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 15px;
    margin-bottom: 10px;
    transition: all .2s ease-in-out;
}

#lwp_enter_password input[type="password"]:focus {
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0,122,255,0.15);
}


#lwp_login.ajax-auth input.lwp_username {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ddd;
    font-size: 15px;
    margin-bottom: 10px;
    transition: all .2s ease-in-out;
    height: 42px;
}

#lwp_login.ajax-auth input.lwp_username:focus {
    border-color: #007aff;
    box-shadow: 0 0 0 3px rgba(0,122,255,0.15);
}
/* ==== MAIN BUTTON ==== */
#lwp_enter_password .submit_button {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 12px;
    transition: .2s;
}

/* Đăng nhập button */
#lwp_enter_password .login_with_pass {
    background-color: #95274E;
    color: #fff;
}

.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
    background-color: #95274E;
    color: #ffffff;
    border-radius: 0px;
}

#lwp_enter_password .login_with_pass:hover {
    background: #005fcc;
}

/* Quên mật khẩu button */
#lwp_enter_password .forgot_password {
    background: #f5f5f5;
    color: #333;
}

#lwp_enter_password .forgot_password:hover {
    background: #e4e4e4;
}

/* ==== HR LINE ==== */
#lwp_enter_password .lwp_line {
    margin: 20px 0;
    border: 0;
    height: 1px;
    background: #e5e5e5;
}

/* ==== BOTTOM LINKS ==== */
#lwp_enter_password .lwp_bottom_activation {
    text-align: center;
    display: flex;
    justify-content: space-between;
    font-size: 14px;
}

#lwp_enter_password .lwp_bottom_activation a {
    color: #007aff;
    text-decoration: none;
}

#lwp_enter_password .lwp_bottom_activation a:hover {
    text-decoration: underline;
}

/* ==== CLOSE BUTTON ==== */
#lwp_enter_password a.close {
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 18px;
    color: #aaa;
    text-decoration: none;
}

#lwp_enter_password a.close:hover {
    color: #555;
}

/* ----------------------------------------------------- */
/* Style mô phỏng Block Coupon cho Trang Checkout */
/* ----------------------------------------------------- */

.wc-block-components-totals-coupon {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 15px;
}

.wc-block-components-panel__button {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    font-weight: 600;
    cursor: pointer;
}

.wc-block-components-panel__button-icon {
    width: 20px;
    height: 20px;
    fill: currentColor;
    margin-right: 8px;
}

.wc-block-components-panel__content {
    border-top: 1px solid #eee;
}

.wc-block-components-totals-coupon__content {
    padding: 15px;
}

/* Bố cục Input và Button (Flexbox) */
.wc-block-components-totals-coupon__form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wc-block-components-totals-coupon__input {
    flex-grow: 1;
    position: relative;
}

.wc-block-components-totals-coupon__input input {
    width: 100%;
    height: 40px;
    padding: 10px 15px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* Ẩn label screen reader */
.wc-block-components-totals-coupon__input label[for="coupon_code"] {
    display: none;
}

/* Style nút Áp dụng */
.wc-block-components-totals-coupon__button {
    height: 40px;
    padding: 0 15px;
    background-color: #0073AA; /* Màu chính */
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 600;
    line-height: 1;
}

.checkout_coupon.woocommerce-form-coupon {
    border: unset;
    margin: 0;
    padding: 0;
}
.wc-block-components-totals-coupon {
    border: unset;
    margin: 0;
    border-radius: unset;
}
#custom-coupon-toggle-btn, #custom-coupon-form-row {
    border: unset;
}
#custom-coupon-toggle-btn th, #custom-coupon-toggle-btn td {
    border: unset;
}
.custom-woocommerce-error {
    color: red;
}
.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image), .wc-block-grid__product .wc-block-grid__product-title{
    font-size: 16px;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart, .wc-block-grid__product .wc-block-grid__product-onsale, .wc-block-grid__product .wc-block-grid__product-price, .wc-block-grid__product .wc-block-grid__product-rating {
    color: #95274E;
    font-size: 30px;
}
.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
    font-size: 16px!important;
}
.woocommerce-MyAccount-navigation-link--edit-address {
    display: none;
 }

@media (max-width: 768px) {
    .has-header-layout-4 .header-layout-4 .site-branding .custom-logo-link img{
        width: 50px;
    }
}

.logged-in.admin-bar #woostify-overlay .woostify-svg-icon {
    display: none;
}

.products.tablet-columns-2 .has-equal-image-height img {
    object-fit: contain;
}
.woocommerce .product .product-loop-meta .price .woocommerce-Price-amount, .woocommerce .product .product-loop-meta .price del {
    font-size: 22px;
}
.woocommerce .product .woocommerce-loop-product__title {
    height: 45px;
}
.product-loop-content {
    padding: 5px 15px 25px 15px;
}
.widget-area .widget.widget_price_filter {
    display: none;
}
/* Mobile <768px: 2 cột */
@media (max-width: 600px) {
    .products.tablet-columns-2 .product{
        width: calc((100% - 30px) / 2 - 0.01px)!important;;
        margin-right: 10px!important;;
    }
    .products.mobile-columns-1 .product:nth-of-type(1n + 2) {
        clear: unset!important;
    }
    .products.tablet-columns-2 .product .has-equal-image-height {
        height: 200px;
    }
    .products.tablet-columns-2 .product  .product-loop-content {
        padding: 5px;
    }
}

/* Mobile <768px: 2 cột */
@media (max-width: 375px) {
    .product-loop-content {
        min-height: 100px;
    }
    
    .woocommerce .product .woocommerce-loop-product__title {
        font-size: 12px;
    }
    .product-loop-meta.no-transform .button, .product-loop-meta.no-transform .added_to_cart {
        font-size: 10px;
    }
}