/*
  Ref: https://getbootstrap.com/docs/4.0/utilities/flex/#justify-content

  Color Variables:
    text-red: --e-global-color-b21dd65
    nichi-bg: --e-global-color-c7f4475
    bg-buy-now: --e-global-color-28e697a
    bg-add-cart: --e-global-color-28561f1
    bg-discount: --e-global-color-d1ac525
    product-card-title: --e-global-color-7e0566b
    product-card-subtitle: --e-global-color-04fbd88

  Font Presets:
    product-card-title: --e-global-typography-d4b0721
    product-card-subtitle: --e-global-typography-9dc07af
*/

/* START HEADER */
header:not(.cs_sticky_header) .no-search-toggle .cs_header_search_form_wrap {
  visibility: visible;
  opacity: 1;
  border: none;
  padding: 0 10px;
}
.no-search-toggle .cs_mobile_search_toggle {
  display: none;
}

.cs_white_logo {
  max-height: 32px;
}

.cs_bottom_header_right {
  display: none;
}
@media screen and (min-width: 1400px) {
  .cs_bottom_header_right {
    display: block;
  }
}

@media screen and (min-width: 992px) {
  .cs_nav .cs_nav_list .cs_mega_wrapper a,
  .cs_nav .cs_nav_list .cs_mega_wrapper h2 {
    padding: 6px 0;
  }
  .cs_nav .cs_nav_list .cs_mega_wrapper h2 > a {
    padding: 0;
  }
  .cs_sticky_header.cs_sticky_active .cs_main_header_in {
    height: 60px;
  }
  .cs_sticky_header.cs_sticky_active .cs_header_search_field {
    height: 42px;
    min-height: initial;
  }
  .cs_sticky_header.cs_sticky_active .cs_bottom_header {
    height: 50px;
  }
  .cs_white_logo {
    max-height: 35px;
  }

  .admin-bar .cs_site_header.cs_sticky_active {
    top: 32px;
  }
  .admin-bar .cs_site_header.cs_sticky_active .cs_top_header {
    display: none;
  }
  .admin-bar :not(.cs_site_header.cs_sticky_active) .cs_top_header {
    margin-top: 32px;
  }
}

@media screen and (max-width: 991px) {
  header:not(.cs_sticky_header) .cs_header_search_form_wrap.active {
    position: absolute;
    border-bottom: none;
    padding-left: 0;
    padding-right: 0;
  }
  .cs_header_cart_fragment {
    display: none;
  }
  .cs_header_credential_btns svg,
  .cs_cart_btn svg {
    height: 24px;
    width: 24px;
  }
  .cs_mobile_search_toggle svg {
    height: 22px;
    width: 22px;
  }
  .cs_site_header.cs_style_1 .cs_bottom_header {
    border-top: 0;
  }
  .cs_site_header.cs_style_1 .cs_main_header_in {
    padding-right: 0;
    justify-content: center;
    gap: 0;
    height: 60px; // reference .cs_header_search_form_wrap:top, #page:padding-top
  }
  .cs_header_search_form_wrap {
    padding: 10px 15px;
    top: 60px; // reference .cs_main_header_in:height, #page:padding-top
  }
  /* Offset for header */
  #page {
    padding-top: 74px; // reference .cs_main_header_in:height, .cs_header_search_form_wrap:top
  }
  .cs_header_search_field {
    height: 42px;
    min-height: initial;
    border-radius: 21px;
  }
  .cs_site_header.cs_style_1 .cs_menu_toggle {
    display: none;
  }

  /* CR: hide header icons */
  .cs_header_list {
    display: none;
  }
}

/* Main menu */
.main-menu > .menu-item > a {
  text-transform: uppercase;
}

/* Quick Links */
.cs_menu_quicklinks {
  margin-top: 56px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--br-color);
}
.cs_menu_quicklinks li a {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.header-quicklinks-menu {
  font-size: 14px;
  justify-content: space-between;
  color: var(--secondary);
}
@media screen and (min-width: 992px) {
  .cs_menu_quicklinks {
    display: none;
  }
}
/* END HEADER */

/* START BRAND */
.cs_brand img {
  max-height: 60px;
}
/* END BRAND */

/* START SLIDER */
.n2-ss-slider-controls .n2-ss-widget:hover,
.n2-ss-slider-controls .n2-ss-widget:active {
  background: var(--accent-color) !important;
}
/* END SLIDER */

/* PRELOADER */
.cs_preloader::before {
  background-color: var(--e-global-color-72be944) !important;
}
.cs_preloader_in span {
  background-color: var(--e-global-color-df75df8) !important;
}
/* END PRELOADER */

/* PRODUCT GRID */
.cs_grid_5_column {
  gap: 20px 0px !important;
}
.cs_grid_5_column {
  grid-template-columns: repeat(2, 1fr) !important;
}
@media (min-width: 767px) and (max-width: 1024px) {
  .cs_grid_5_column {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* PRODUCT CARD */
.cs_grid_5_column,
.home .cs_slider {
  padding-top: 20px;
  padding-bottom: 20px;
}
.cs_product_card.cs_style_3 {
  background: transparent;
  margin-left: 5px;
  margin-right: 5px;
  border: 1px solid transparent;
  box-shadow: none;
}
.cs_product_card.cs_style_3:hover {
  box-shadow: none;
  background-color: transparent;
  /* box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5); */
  /* border: 1px solid var(--e-global-color-b21dd65); */
}
.cs_product_card.cs_style_3 .cs_product_thumb {
  position: relative;
  height: unset;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: var(--white-color, #fff);
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  padding: 0;
}
.cs_product_card.cs_style_3 .cs_product_card_in {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.cs_product_card.cs_style_3 .cs_product_thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}
/* product badge: sold out / pre-order — sibling after cs_product_thumb, overlays bottom of thumb */
.cs_product_card.cs_style_3 .cs_product_badge {
  display: block;
  position: relative;
  z-index: 2;
  margin-top: -28px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #fff;
  padding: 4px 0;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  width: 100%;
}
.cs_product_badge.cs_badge_soldout {
  background: rgb(164, 164, 164);
}
.cs_product_badge.cs_badge_preorder {
  background: var(--e-global-color-28e697a, #e8a245);
}
/* quick add-to-cart button */
.cs_product_card.cs_style_3 .cs_product_thumb .cs_quick_cart {
  position: absolute !important;
  bottom: 36px;
  right: 8px;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  min-height: 36px;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--e-global-color-b21dd65, #d9534f) !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  z-index: 3;
  transition: background 0.2s, transform 0.2s;
  cursor: pointer;
  border: 1.5px solid var(--e-global-color-b21dd65, #d9534f) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0;
  line-height: 1;
  text-decoration: none !important;
}
.cs_product_card.cs_style_3 .cs_product_thumb .cs_quick_cart:hover {
  background: var(--e-global-color-b21dd65, #d9534f) !important;
  color: #fff !important;
  transform: scale(1.1);
}
.cs_product_card.cs_style_3 .cs_product_thumb .cs_quick_cart svg {
  width: 18px !important;
  height: 18px !important;
  pointer-events: none;
  flex-shrink: 0;
}
/* homepage: hide cart button, show discount badge */
body.home .cs_product_card.cs_style_3 .cs_product_thumb .cs_quick_cart {
  display: none !important;
}
/* non-homepage: hide discount badge, show cart button */
body:not(.home) .cs_product_card.cs_style_3 .cs_label {
  display: none;
}
.cs_product_card.cs_style_3 .cs_product_info {
  padding: 8px;
}
/* hide product rating */
.cs_product_card .cs_product_ratings {
  display: none !important;
}
/* adjust spacing */
.cs_product_card.cs_style_3 .cs_product_title {
  margin-bottom: 0;
}
/* hide add cart buttons */
.cs_product_card.cs_style_3:hover .cs_product_price,
.cs_product_card.cs_style_3:hover .cs_product_ratings {
  opacity: 1;
}
.cs_product_card.cs_style_3 .cs_products_btns,
.cs_product_card.cs_style_3:hover .cs_products_btns,
.cs_product_card.cs_style_3:hover .cs_hover_icon {
  display: none;
}
/* slider dots as circle (like swiper) */
.cs_pagination.cs_style_1 ul {
  margin-top: 10px;
  margin-bottom: 10px;
}

.cs_pagination.cs_style_1 li,
.cs_product_details_layout .slick-dots li {
  border-radius: 50%;
  width: var(
    --swiper-pagination-bullet-width,
    var(--swiper-pagination-bullet-size, 6px)
  );
  height: var(
    --swiper-pagination-bullet-height,
    var(--swiper-pagination-bullet-size, 6px)
  );
  background: var(--swiper-pagination-bullet-inactive-color, #000000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
.cs_pagination.cs_style_1 li.slick-active,
.cs_product_details_layout .slick-dots li.slick-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(
    --swiper-pagination-color,
    var(--swiper-theme-color, #000000)
  );
}
/* adjust font-size */
.cs_product_card.cs_style_3 .cs_product_title {
  font-size: 13px;
  width: 100%;
  margin-bottom: 5px;
  line-height: 1.2;
  text-transform: none;
  overflow-wrap: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--e-global-color-04fbd88, var(--secondary));
  font-family: var(--e-global-typography-9dc07af-font-family), sans-serif;
  font-weight: 400;
}
.cs_product_card.cs_style_3 .cs_product_category {
  font-size: 14px;
  margin-bottom: 2px;
  color: var(--e-global-color-7e0566b, var(--primary)) !important;
  font-family: var(--e-global-typography-d4b0721-font-family), sans-serif !important;
  font-weight: 600 !important;
}
.cs_product_card.cs_style_3 .cs_product_price {
  font-size: 14px;
  color: var(--e-global-color-b21dd65);
  gap: 8px;
}
.cs_product_card.cs_style_3 .cs_product_price small,
.cs_product_card.cs_style_3 .cs_product_price dell .amount,
.wc-block-components-product-price__regular {
  font-size: 12px;
  color: var(--secondary);
}
/* hide product category links, except the last one */
.cs_product_card.cs_style_3 .cs_product_category a {
  display: none;
}
.cs_product_card.cs_style_3 .cs_product_category a:last-child {
  display: inline;
}
.cs_product_card.cs_style_3 .cs_product_title,
.cs_product_card.cs_style_3 .cs_product_price,
.cs_product_card.cs_style_3 .cs_product_category {
  -webkit-box-pack: center;
  text-align: center;
}
.cs_product_card.cs_style_3 .cs_product_price,
.cs_product_card.cs_style_3 .cs_product_category {
  display: flex;
  justify-content: center !important;
}
/* discount badge */
.cs_product_card.cs_style_3 .cs_label {
  border-radius: 50%;
  height: 32px;
  width: 32px;
  min-width: 32px;
  font-size: 12px;
  background: var(--e-global-color-d1ac525);
}
.cs_details .cs_product_title {
  font-size: 20px;
  line-height: unset;
}
/* product detail review */
.cs_product_comments_review {
  display: none !important;
}

/* Flash Sale  */
.elementor-widget-sp-countdown .cs_section_heading_right {
  gap: 10px;
}
.elementor-widget-sp-countdown h3,
.cs_countdown.cs_style_1 {
  font-size: 14px !important;
  gap: 10px;
}
.cs_countdown.cs_style_1 .cs_countdown_box {
  height: unset;
  min-width: unset;
  background: unset;
  color: var(--e-global-color-b21dd65);
  padding: 0;
  min-width: 24px;
}
.cs_countdown.cs_style_1 .cs_countdown_number {
  font-size: 18px;
}
.cs_countdown.cs_style_1 .cs_countdown_box:not(:last-child)::before {
  top: 2px;
  right: -6px;
}
@media screen and (min-width: 992px) {
  .elementor-widget-sp-countdown h3,
  .cs_countdown.cs_style_1 {
    font-size: 18px !important;
  }
  .cs_countdown.cs_style_1 .cs_countdown_box {
    height: 40px;
    min-width: 40px;
  }
}

/* Blogs */
.elementor-post-info__item--type-date {
  color: var(--secondary);
}
.elementor-widget-theme-post-excerpt p {
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.25;
  color: var(--secondary);
}

/* Bottom bar */
@media screen and (max-width: 991px) {
  .cs_bottom_bar .cs_menu_toggle {
    position: static;
  }
  .elementor-menu-cart__container {
    display: none !important;
  }
  .cs_bottom_bar .cs_menu_toggle {
    height: unset;
  }
}

/* Common Pages */

/* Breadcrumb */
.cs_breadcamp_wrap {
  padding: 0 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.cs_breadcamp_title {
  margin-bottom: 0 !important;
  font-size: 30px !important;
  text-transform: uppercase;
}
.container > .cs_breadcamp_wrap.cs_style_1 {
  min-height: unset;
  background: transparent;
  justify-content: center;
}
.breadcrumb,
.breadcrumb-item {
  display: inline !important;
}
.breadcrumb-item {
  font-size: 14px;
  padding-left: 0 !important;
  text-transform: capitalize;
}
.breadcrumb-item:before {
  float: unset !important;
  padding-right: 0 !important;
}
.breadcrumb-item.active {
  color: inherit !important;
}
.breadcrumb-item.active:before {
  padding-right: 5px !important;
}
@media screen and (min-width: 992px) {
  .cs_breadcamp_title {
    font-size: 48px !important;
  }
}

/* Pagination */
.pagination-main {
  margin-bottom: 50px;
}

.cs_section_bg {
  background: var(--e-global-color-5cad04a);
}
.cs_rating .cs_rating_percentage,
i.cs_accent_color,
.woocommerce p.stars a {
  color: rgb(255, 196, 0);
}
@media screen and (max-width: 991px) {
  .cs_mega_wrapper .elementor-heading-title > a {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Product Details */
.cs_product_details_layout .cs_slider {
  padding-top: 0;
  padding-bottom: 0;
}
.cs_product_details_layout .cs_slider img {
  max-height: 40vh;
  margin: 0 auto;
}
.single_variation_wrap {
  padding: 0 10px;
}
.single_variation .woocommerce-variation-description,
.single_variation .woocommerce-variation-price,
.single_variation .woocommerce-variation-availability {
  margin-bottom: 1rem;
}
.reset_variations {
  display: none !important;
}
.woocommerce-variation-price {
  display: flex;
  justify-content: flex-start;
}
.woocommerce-variation-price:before {
  display: block;
  content: "Đơn giá";
  min-width: calc(38% + 5px);
  font-weight: bold;
}
.cs_product_price,
.cs_product_price > .amount,
.cs_product_price > ins,
.nc_price ins,
.wishlist_view .item-details-table ins,
.wishlist_view .item-details-table .amount,
.wc-block-components-product-price__value,
.woocommerce-variation-price .amount,
.woocommerce-variation-price ins {
  color: var(--e-global-color-b21dd65);
  text-decoration: none;
}
.cs_product_price small .amount,
.cs_product_price del,
.nc_price del,
.wishlist_view .item-details-table del,
.wishlist_view .item-details-table del .amount,
.woocommerce-variation-price del,
.woocommerce-variation-price del .amount {
  font-size: 12px;
  color: var(--secondary);
  font-weight: 300;
}
.cs_discount small {
  color: var(--secondary);
  font-weight: 300;
}
.woocommerce-variation-price del,
.woocommerce-variation-price del .amount {
  font-size: 16px;
  font-weight: 300;
  color: var(--primary);
}
.cs_details.cs_style_1 .cs_product_price > * {
  margin-bottom: 0;
  font-size: 1.5rem;
}
.cs_like_btn {
  height: unset;
}
.cs_like_btn .yith-add-to-wishlist-button-block {
  margin-top: 0;
  margin-bottom: 0;
}
.cs_btn.cs_style_1.cs_fs_18 {
  font-size: 16px;
}
.cs_pagination.cs_style_2 ul {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.nc_related_products {
  padding-top: 50px;
  padding-bottom: 50px;
  margin-top: 50px;
  background: var(--e-global-color-5cad04a);
}
.cs_products_view {
  grid-gap: 20px 0 !important;
}
.cs_products_view > li {
  min-width: 0;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .cs_products_view {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .cs_product_details_layout .cs_btn_group_1 {
    position: fixed;
    bottom: 0;
    background: white;
    display: flex;
    width: 100%;
    left: 0;
    z-index: 10;
    padding: 5px 10px;
    gap: 0;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
  }
  /* cart button */
  .cs_product_details_layout .cs_btn_group_1 .cs_btn_wow,
  .cs_product_details_layout .cs_btn_group_1 .cs_btn_wow:hover {
    flex: 1;
    background: var(--e-global-color-28561f1);
  }
  /* buy now button */
  .cs_product_details_layout .cs_btn_group_1 .cs_btn[name="buy_now"] {
    flex: 1;
    background: var(--e-global-color-28e697a);
    color: rgb(250, 250, 250);
  }
  .cs_product_details_layout .cs_btn_group_1 .cs_btn[type="submit"] {
    color: rgb(250, 250, 250);
  }
  .cs_product_details_layout .cs_btn_group_1 .cs_btn[type="submit"] {
    padding: 10px 5px;
    min-width: unset;
  }
  .cs_product_details_layout .cs_btn_group_1 button {
    border-radius: 0;
    border: none;
  }
}
@media screen and (min-width: 992px) and (max-width: 1199px) {
  .cs_products_view {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .wishlist-title-container {
    max-width: 1140px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1200px) {
  .cs_products_view {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media screen and (min-width: 1500px) {
  .cs_products_view {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}

/* Wishlist */
.cs_product_card .cs_stock_status,
.wishlist_view .additional-info-wrapper > table,
.woocommerce-wishlist .wishlist-title-container {
  display: none;
}
.wishlist_view .item-details-table tr > td.label {
  font-weight: 500 !important;
}
.wishlist_view .product-add-to-cart a {
  border-radius: 8px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.wishlist_view .product-remove a {
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 1rem;
}
.wishlist_view .product-thumbnail {
  max-width: 50%;
}
.wishlist_view .product-thumbnail a {
  display: flex !important;
  justify-content: center;
}

/* Checkout */
.checkout .woocommerce-input-wrapper select {
  padding-left: 15px !important;
  padding-right: 15px !important;
  width: 100% !important;
}
.checkout .woocommerce-additional-fields {
  margin-top: 0;
}
.checkout h3 {
  font-size: 24px !important;
}
@media screen and (max-width: 991px) {
  .checkout .woocommerce-billing-fields h3:not(#ship-to-different-address) {
    text-align: center;
  }
}
.checkout #billing_postcode_field,
.checkout #billing_country_field,
.checkout #shipping_country_field {
  display: none !important;
}
.woocommerce-account-fields .woocommerce-form__input[type="checkbox"],
#ship-to-different-address .woocommerce-form__input[type="checkbox"] {
  width: 16px;
  height: 16px;
  padding: 0 !important;
  margin-right: 0 !important;
}
.woocommerce-account-fields .woocommerce-form__label,
#ship-to-different-address .woocommerce-form__label {
  display: inline-flex;
  gap: 6px;
  font-size: 1rem;
  line-height: 1;
  align-items: center;
  margin-bottom: 0;
}
.nc-create-account-note {
  margin: 2px 0 12px !important;
}
#ship-to-different-address {
  margin-bottom: 0;
}
.checkout .form-row {
  padding: 0 !important;
  margin-bottom: 1rem !important;
}
.woocommerce-account-fields .create-account {
  margin-bottom: 0 !important;
}
.checkout .cs_order_summary_list_title {
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 12px;
}
/* =============================================
   Checkout – Unified order summary card
   ============================================= */

/* Card container */
@media (max-width: 991px) {
  .cs_order_card {
    padding: 24px 20px !important;
  }
}

/* Hide subtotal (baked into payment method amounts) */
.custom-review-table > .cs_card_price_list {
  display: none !important;
}

/* ---- Product list ---- */
.custom-review-table .cs_order_summary li {
  padding: 10px 0 !important;
}
.custom-review-table .cs_order_summary li > * {
  margin-bottom: 0 !important;
}
.nc-checkout-product-name {
  font-size: 14px;
  font-weight: 400;
  color: #333;
  line-height: 1.45;
}
.nc-checkout-product-qty {
  color: #999;
  margin-left: 3px;
  font-size: 14px;
}
.nc-checkout-product-price,
.nc-checkout-product-price .woocommerce-Price-amount,
.nc-checkout-product-price .woocommerce-Price-amount bdi {
  font-size: 14px;
  font-weight: 600;
  color: var(--e-global-color-b21dd65, #d9534f) !important;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ---- Section blocks (shipping + payment) ---- */
.nc-checkout-section {
  margin-top: 4px;
  padding-top: 4px;
}
.nc-checkout-section-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  color: #222 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}

/* ---- Shipping methods (override WooCommerce ul#shipping_method) ---- */
ul#shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
ul#shipping_method li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 7px 0 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
  list-style: none !important;
}
ul#shipping_method li input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  min-width: 18px;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: var(--e-global-color-b21dd65, #d9534f);
  vertical-align: top;
  background: transparent !important;
}
ul#shipping_method li label {
  display: inline !important;
  font-size: 14px;
  line-height: 1.45;
  margin: 0 !important;
  cursor: pointer;
  color: #333;
  font-weight: 300;
}

/* ---- Payment methods list ---- */
.nc-payment-inline .wc_payment_methods {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.nc-payment-inline .wc_payment_method {
  display: block !important;
  padding: 7px 0 !important;
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.45;
  color: #333;
}

/* ---- Payment section: merge into parent card ---- */
.nc-payment-inline {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* Checkbox → radio override (parent theme cs_custom_checkbox) */
.nc-payment-inline .cs_custom_checkbox {
  display: flex !important;
  width: 100%;
  min-height: auto !important;
}
.nc-payment-inline .cs_custom_checkbox > span {
  display: flex !important;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  padding-left: 28px !important;
  font-size: 14px;
  line-height: 1.45;
}
/* The circle (::before) */
.nc-payment-inline .cs_custom_checkbox > span::before {
  height: 18px !important;
  width: 18px !important;
  border-radius: 50% !important;
  border: 2px solid #bbb !important;
  background: transparent !important;
  top: 1px !important;
  left: 0 !important;
  transition: border-color .15s !important;
}
/* The dot (::after) — hidden by default */
.nc-payment-inline .cs_custom_checkbox > span::after {
  width: 10px !important;
  height: 10px !important;
  border: none !important;
  border-radius: 50% !important;
  background: var(--e-global-color-b21dd65, #d9534f) !important;
  top: 5px !important;
  left: 4px !important;
  transform: none !important;
  opacity: 0;
  transition: opacity .15s !important;
}
/* Checked state */
.nc-payment-inline .cs_custom_checkbox input:checked + span {
  color: #222 !important;
}
.nc-payment-inline .cs_custom_checkbox input:checked + span::before {
  border-color: var(--e-global-color-b21dd65, #d9534f) !important;
  background: transparent !important;
}
.nc-payment-inline .cs_custom_checkbox input:checked + span::after {
  opacity: 1 !important;
}

/* ---- Total row ---- */
.nc-checkout-total-list {
  margin-top: 6px !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
}
.nc-checkout-total-list .cs_total_price {
  padding-top: 14px !important;
  margin-top: 6px !important;
  border-top: none !important;
}
.nc-checkout-total-list .cs_total_price::before {
  display: none !important;
}
.nc-checkout-total-list .cs_total_price > span:first-child {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #222 !important;
}
.nc-total-amount,
.nc-total-amount .woocommerce-Price-amount,
.nc-total-amount .woocommerce-Price-amount bdi {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--e-global-color-b21dd65, #d9534f) !important;
}

/* ---- Place-order area ---- */
.nc-payment-inline .place-order {
  margin-top: 18px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}
.nc-payment-inline .place-order .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 14px;
}
.nc-payment-inline .place-order .woocommerce-privacy-policy-text {
  padding-top: 0;
}
.nc-payment-inline .place-order .woocommerce-privacy-policy-text p {
  font-size: 12px;
  line-height: 1.5;
  color: #777;
}

/* ---- Payment method total (woo-payment-discount plugin override) ---- */
/* Override plugin's inline CSS — our PHP filter transforms <div> to inline <span> */
.nc-payment-inline .wcpd-method-total {
  margin-left: auto !important;
  margin-top: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  color: var(--e-global-color-b21dd65, #d9534f) !important;
  display: block !important;
  flex-shrink: 0 !important;
}
.nc-payment-inline .wcpd-method-total span,
.nc-payment-inline .wcpd-method-total .woocommerce-Price-amount,
.nc-payment-inline .wcpd-method-total .woocommerce-Price-amount bdi {
  display: inline !important;
  white-space: nowrap !important;
  color: var(--e-global-color-b21dd65, #d9534f) !important;
}
/* Override plugin's original spacing rules */
.nc-payment-inline .wc_payment_method + .wc_payment_method {
  margin-top: 0 !important;
}
.nc-payment-inline .cs_custom_checkbox > span {
  display: flex !important;
}

/* ---- Next-tier hint ---- */
.wcpd-next-tier-hint {
  font-size: 13px !important;
  padding: 4px 0 0 !important;
}

/* Checkout error notice — popup overlay */
.woocommerce-NoticeGroup-checkout.nc-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  animation: nc-fade-in 0.2s ease;
}
@keyframes nc-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.woocommerce-NoticeGroup-checkout.nc-popup .nc-popup-close-wrap {
  text-align: center;
  margin-top: 12px;
  list-style: none;
}
.woocommerce-NoticeGroup-checkout.nc-popup .nc-popup-close {
  padding: 8px 24px;
  border: 1px solid #991b1b;
  border-radius: 6px;
  background: none;
  color: #991b1b;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.woocommerce-NoticeGroup-checkout.nc-popup .nc-popup-close:hover {
  background: #991b1b;
  color: #fff;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error {
  background: #fef2f2;
  border: 1px solid #fca5a5;
  border-radius: 12px;
  color: #991b1b;
  padding: 16px 20px;
  list-style: none;
  font-size: 14px;
  line-height: 1.6;
  max-width: 380px;
  width: 90%;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  margin: 0 auto;
  flex-direction: column;
  gap: 0;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error li {
  display: block !important;
  float: none !important;
  width: 100% !important;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error li + li {
  margin-top: 8px;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error a {
  color: #dc2626;
  font-weight: 600;
}
.woocommerce-NoticeGroup-checkout .woocommerce-error a:hover {
  color: #b91c1c;
}
/* After close: static fallback */
.woocommerce-NoticeGroup-checkout:not(.nc-popup) .nc-popup-close {
  display: none;
}
.woocommerce-NoticeGroup-checkout:not(.nc-popup) .woocommerce-error {
  max-width: none;
  width: auto;
  box-shadow: none;
  margin-bottom: 16px;
}

/* Reset Admin Bar */
@media screen and (max-width: 991px) {
  .admin-bar .site {
    margin-top: -46px;
  }
}

/* Set offset for bottom-bar */
@media screen and (max-width: 992px) {
  .wp-singular footer {
    margin-bottom: 81px !important;
  }
  /* Hide bottom bar on single product, show sticky add-to-cart instead */
  .single-product .cs_bottom_bar {
    display: none !important;
  }
  .single-product footer {
    margin-bottom: 60px !important;
  }
}

/* ========== Cart Page (FaSoLa style) ========== */
.nc-cart {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 16px 120px; /* bottom padding for sticky bar */
}

/* --- Cart item --- */
.nc-cart-items {
  border-top: 1px solid #e5e5e5;
}
.nc-cart-item {
  display: flex;
  gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid #e5e5e5;
  position: relative;
}

/* Image */
.nc-cart-item__image {
  flex-shrink: 0;
  width: 100px;
  position: relative;
}
.nc-cart-item__image a {
  display: block;
  border: 1px solid #e8e8e8;
  padding: 6px;
  background: #fff;
}
.nc-cart-item__image img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
  display: block;
}
.nc-cart-item__wishlist {
  position: absolute;
  top: 4px;
  right: 4px;
  background: none;
  border: none;
  color: #e75b7e;
  cursor: pointer;
  padding: 2px;
  line-height: 1;
}

/* Details */
.nc-cart-item__details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nc-cart-item__brand {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.nc-cart-item__name {
  font-size: 14px;
  color: #333;
  line-height: 1.4;
}
.nc-cart-item__name a {
  color: inherit;
  text-decoration: none;
}
.nc-cart-item__price {
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin-top: 2px;
}
.nc-cart-item__price del {
  font-weight: 400;
  color: #999;
  font-size: 13px;
}
.nc-cart-item__price ins {
  text-decoration: none;
  color: var(--e-global-color-b21dd65, #d9534f);
}

/* Bottom row: quantity + delete */
.nc-cart-item__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}

/* Quantity selector */
.nc-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
  height: 34px;
}
.nc-qty__btn {
  width: 34px;
  height: 34px;
  border: none;
  background: #f5f5f5;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
}
.nc-qty__btn:hover {
  background: #e8e8e8;
}
.nc-qty__input {
  width: 40px;
  height: 34px;
  text-align: center;
  border: none;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 15px;
  font-weight: 600;
  color: #111;
  background: #fff;
  -moz-appearance: textfield;
  padding: 0;
}
.nc-qty__input::-webkit-outer-spin-button,
.nc-qty__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove button — same height as quantity selector (34px) */
.nc-cart-item__remove {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 11px;
  color: #666;
  text-decoration: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 0 8px;
  height: 34px;
  background: #fff;
  transition: border-color 0.15s, color 0.15s;
}
.nc-cart-item__remove:hover {
  color: #d9534f;
  border-color: #d9534f;
}

/* --- Summary bar --- */
.nc-cart-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #faf5ee;
  padding: 20px 20px;
  margin-top: 8px;
  border-radius: 4px;
}
.nc-cart-summary__label {
  font-size: 16px;
  font-weight: 500;
  color: #333;
  padding-left: 12px;
  border-left: 3px solid #333;
}
.nc-cart-summary__amount {
  font-size: 24px;
  font-weight: 700;
  color: #111;
}

/* --- Checkout button --- */
.nc-cart-checkout-btn {
  display: block;
  width: 100%;
  padding: 16px;
  margin-top: 16px;
  background: #222;
  color: #fff !important;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.15s;
}
.nc-cart-checkout-btn:hover {
  background: #000;
  color: #fff !important;
}

/* --- Continue shopping --- */
.nc-cart-continue-btn {
  display: block;
  width: 100%;
  padding: 14px;
  margin-top: 12px;
  background: #fff;
  color: #333 !important;
  text-align: center;
  font-size: 15px;
  text-decoration: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  transition: border-color 0.15s;
}
.nc-cart-continue-btn:hover {
  border-color: #999;
  color: #111 !important;
}

/* --- Sticky bottom bar (mobile) --- */
.nc-cart-sticky {
  display: none;
}
@media (max-width: 991px) {
  .nc-cart-sticky {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    border-top: 1px solid #e5e5e5;
    padding: 10px 16px;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
  }
  .nc-cart-sticky__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .nc-cart-sticky__count {
    font-size: 12px;
    color: #666;
  }
  .nc-cart-sticky__total {
    font-size: 18px;
    font-weight: 700;
    color: #111;
  }
  .nc-cart-sticky__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    background: #222;
    color: #fff !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 4px;
    white-space: nowrap;
  }
  .nc-cart-sticky__btn:hover {
    background: #000;
    color: #fff !important;
  }
}

/* Hide parent theme cart styles that might leak through */
.woocommerce-cart .cs_main_header_in + .cs_height_40 {
  display: none;
}

/* Product attribute badge */
.variable-item.badge-variable-item {
  width: unset !important;
  padding-left: 5px !important;
  padding-right: 5px !important;
  border-radius: 4px;
}

/* Float Buttons */
#wp-nt-aio-wrapper {
  z-index: 1000;
}
@media screen and (max-width: 1300px) {
  #wp-nt-aio-wrapper {
    right: 20px !important;
  }
  #wp-nt-aio-wrapper .nt-aio-item .nt-aio-item-icon,
  #wp-nt-aio-wrapper .nt-aio-active,
  #wp-nt-aio-wrapper.nt-aio-active .nt-aio-active {
    width: 40px;
    height: 40px;
  }
  #wp-nt-aio-wrapper .nt-aio-item .nt-aio-item-icon {
    background-size: 20px 20px !important;
  }
  #wp-nt-aio-wrapper.nt-aio-show-list .nt-aio-content .nt-aio-item:first-child {
    -webkit-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    transform: translateY(-50px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(2) {
    -webkit-transform: translateY(-100px);
    -ms-transform: translateY(-100px);
    transform: translateY(-100px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(3) {
    -webkit-transform: translateY(-150px);
    -ms-transform: translateY(-150px);
    transform: translateY(-150px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(4) {
    -webkit-transform: translateY(-200px);
    -ms-transform: translateY(-200px);
    transform: translateY(-200px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(5) {
    -webkit-transform: translateY(-250px);
    -ms-transform: translateY(-250px);
    transform: translateY(-250px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(6) {
    -webkit-transform: translateY(-300px);
    -ms-transform: translateY(-300px);
    transform: translateY(-300px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(7) {
    -webkit-transform: translateY(-350px);
    -ms-transform: translateY(-350px);
    transform: translateY(-350px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(8) {
    -webkit-transform: translateY(-400px);
    -ms-transform: translateY(-400px);
    transform: translateY(-400px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(9) {
    -webkit-transform: translateY(-450px);
    -ms-transform: translateY(-450px);
    transform: translateY(-450px);
  }
  #wp-nt-aio-wrapper.nt-aio-show-list
    .nt-aio-content
    .nt-aio-item:nth-child(10) {
    -webkit-transform: translateY(-500px);
    -ms-transform: translateY(-500px);
    transform: translateY(-500px);
  }
}

/* Items Indicator Bubble */
.elementor-menu-cart--items-indicator-bubble
  .elementor-menu-cart__toggle
  .elementor-button-icon
  .elementor-button-icon-qty[data-counter] {
  background-color: var(--e-global-color-d1ac525, #d9534f) !important;
}

/* Product Details - Extra List */
.cs_extra_list .elementor-icon-list-item {
  line-height: 1.3;
  background: var(--e-global-color-5cad04a);
  padding: 10px !important;
  border-radius: 8px;
  border: dashed 1px var(--e-global-color-primary);
}
.cs_extra_list .elementor-icon-list-item + .elementor-icon-list-item {
  margin-top: 5px;
}

/* Search History */
.cs_search_history {
  margin-top: 10px;
  margin-bottom: 0;
  padding-left: 0;
  list-style-type: none;
  box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.2);
  margin-left: -10px;
  margin-right: -10px;
}
.cs_history_icon {
  margin-right: 0.5rem;
  width: 16px !important;
  height: 16px !important;
}
.cs_history_item {
  padding: 0.625rem 1rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.woocommerce-page .glowify-internal-area .entry-content .e-con-inner{
  padding-top: 0;
  padding-bottom: 2rem;
}

/* Thank-you page — header */
.nc-thankyou-header {
  text-align: center;
  padding: 2rem 1rem 1.5rem;
  padding-top: 0;
}
.nc-thankyou-header--failed { padding-bottom: 2rem; }
.nc-thankyou-icon {
  display: inline-block;
  margin-bottom: 0.75rem;
}
.nc-thankyou-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 0.375rem;
}
.nc-thankyou-subtitle {
  font-size: 0.875rem;
  color: #666;
  margin: 0;
}
.nc-thankyou-failed-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.25rem;
}
.nc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.15s;
  cursor: pointer;
}
.nc-btn--primary {
  background: #222;
  color: #fff !important;
  border: 1px solid #222;
}
.nc-btn--primary:hover { background: #000; }
.nc-btn--outline {
  background: #fff;
  color: #333 !important;
  border: 1px solid #d1d5db;
}
.nc-btn--outline:hover { background: #f9fafb; }

/* Thank-you page — order summary card */
.nc-order-card {
  max-width: 480px;
  margin: 0 auto 1.5rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}
.nc-order-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  border-top: 1px solid #f3f4f6;
}
.nc-order-row:first-child { border-top: none; }
.nc-order-row--highlight {
  background: #f9fafb;
}
.nc-order-row--total {
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  padding: 14px 20px;
}
.nc-order-label {
  font-size: 13px;
  color: #6b7280;
  flex-shrink: 0;
  margin-right: 12px;
}
.nc-order-value {
  font-size: 14px;
  color: #111;
  font-weight: 500;
  text-align: right;
  word-break: break-word;
}
.nc-order-value--code {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  letter-spacing: 0.3px;
}
.nc-order-value--total {
  font-size: 16px;
  font-weight: 700;
  color: var(--e-global-color-b21dd65, #dc2626);
}
.nc-order-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 20px;
  line-height: 1.5;
  white-space: nowrap;
}

/* Hide default WooCommerce order-received message (replaced by our header) */
.woocommerce-order .woocommerce-thankyou-order-received {
  display: none;
}

/* Thank-you page — order details */
.woocommerce-order-details .wcpd-method-total {
  display: none;
}
.woocommerce-order-details {
  max-width: 480px;
  margin: 1.5rem auto;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  padding: 0 !important;
  box-shadow: none !important;
}
.woocommerce-order-details__title {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  padding: 16px 20px;
  color: #111;
  border-bottom: 1px solid #f3f4f6;
}
/* Product item rows */
.nc-order-row--item {
  gap: 12px;
}
.nc-order-item-name {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  color: #111;
  line-height: 1.4;
}
.nc-order-item-name a {
  color: #111;
  text-decoration: none;
  font-weight: 500;
}
.nc-order-item-name a:hover {
  text-decoration: underline;
}
.nc-order-item-qty {
  color: #6b7280;
  font-weight: 400;
  font-size: 13px;
}
.nc-order-item-name .wc-item-meta {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  font-size: 12px;
  color: #6b7280;
}
.nc-order-item-name .wc-item-meta li { margin: 0; }
.nc-order-item-name .wc-item-meta li p { display: inline; }
/* Purchase note */
.nc-order-row--note {
  padding: 8px 20px !important;
  font-size: 13px;
  color: #6b7280;
}
.nc-order-row--note p {
  margin: 0;
}
/* Action buttons row */
.nc-order-row--actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  padding: 14px 20px !important;
  border-top: 1px solid #e5e7eb !important;
}
.nc-btn--cancel {
  background: none;
  color: #991b1b !important;
  border: 1px solid #fca5a5;
}
.nc-btn--cancel:hover {
  background: #fef2f2;
}

/* Thank-you page — customer details */
.woocommerce-customer-details {
  max-width: 480px;
  margin: 1.5rem auto;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  padding: 20px;
}
.woocommerce-customer-details .woocommerce-column__title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111;
  margin: 0 !important;
  padding: 0 0 10px;
  text-transform: none !important;
  letter-spacing: 0;
}
.woocommerce-customer-details address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  color: #374151;
  margin: 0;
  padding: 0;
}
.woocommerce-customer-details address p {
  margin: 0;
}
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  margin-top: 6px !important;
  color: #6b7280;
  font-size: 13px;
}
/* Two-column layout (billing + shipping) — reset WooCommerce floats */
.woocommerce-customer-details .col2-set {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0;
  width: 100% !important;
  float: none !important;
}
.woocommerce-customer-details .col2-set::after,
.woocommerce-customer-details .col2-set::before {
  display: none !important;
}
.woocommerce-customer-details .col2-set .col-1,
.woocommerce-customer-details .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  padding: 0;
}
.woocommerce-customer-details .col2-set .col-2 {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f3f4f6;
}

/* Desktop tweaks */
@media screen and (min-width: 768px) {
  .nc-thankyou-title { font-size: 1.5rem; }
  .nc-thankyou-subtitle { font-size: 0.9375rem; }
  .nc-order-card { max-width: 520px; }
  .woocommerce-order-details { max-width: 520px; }
  .woocommerce-customer-details { max-width: 520px; }
}

/* VietQR Payment */
.nc_vietqr_payment {
  text-align: center;
  margin-bottom: 1.5rem;
  padding: 1.5rem 1rem;
  border-radius: 12px;
  border: 1px dashed var(--br-color, #ddd);
}
.nc_vietqr_title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--primary);
}
.nc_vietqr_img {
  display: block;
  margin: 0 auto 1rem;
  max-width: 260px;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.nc_vietqr_note {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--secondary);
  margin-bottom: 0;
  word-break: break-word;
}
.nc_vietqr_note b {
  color: var(--primary);
}
.nc_vietqr_confirm {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 1rem auto 0;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  background: #16a34a;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s;
}
.nc_vietqr_confirm:hover {
  background: #15803d;
}
.nc_vietqr_confirm:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.nc_vietqr_confirmed {
  margin-top: 1rem !important;
  padding: 12px 16px;
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-radius: 8px;
  color: #166534;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nc_vietqr_payment {
    padding: 2rem;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
  }
  .nc_vietqr_title {
    font-size: 1.25rem;
  }
  .nc_vietqr_img {
    max-width: 300px;
  }
  .nc_vietqr_note {
    font-size: 1rem;
  }
}

/* Subscribe form — inline layout for CF7 */
.cs_subscribe_form p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  width: 100%;
}
.cs_subscribe_form .wpcf7-form-control-wrap {
  flex: 1;
  min-width: 0;
}
.cs_subscribe_form input[type="email"] {
  width: 100%;
}
.cs_subscribe_form .wpcf7-submit {
  flex-shrink: 0;
  white-space: nowrap;
}
.cs_subscribe_form br {
  display: none;
}
.cs_subscribe_form .wpcf7-not-valid-tip {
  display: none !important;
}
.cs_subscribe_form .wpcf7-spinner {
  filter: brightness(3);
}
.cs_subscribe_form + .wpcf7-response-output {
  margin: 8px 0 0 !important;
  font-size: 13px;
  padding: 10px 14px !important;
  border-radius: 6px;
  border-width: 1px !important;
  border-style: solid !important;
}
/* Error / invalid */
form.invalid .cs_subscribe_form + .wpcf7-response-output,
form.unaccepted .cs_subscribe_form + .wpcf7-response-output {
  border-color: #f87171 !important;
  background: rgba(248, 113, 113, 0.15) !important;
  color: #fca5a5 !important;
}
/* Success */
form.sent .cs_subscribe_form + .wpcf7-response-output {
  border-color: #4ade80 !important;
  background: rgba(74, 222, 128, 0.15) !important;
  color: #86efac !important;
}
/* Failed / aborted */
form.failed .cs_subscribe_form + .wpcf7-response-output,
form.aborted .cs_subscribe_form + .wpcf7-response-output {
  border-color: #f87171 !important;
  background: rgba(248, 113, 113, 0.15) !important;
  color: #fca5a5 !important;
}
/* Spam */
form.spam .cs_subscribe_form + .wpcf7-response-output {
  border-color: #fb923c !important;
  background: rgba(251, 146, 60, 0.15) !important;
  color: #fdba74 !important;
}
@media screen and (max-width: 991px) {
  .cs_subscribe_form p {
    flex-direction: column;
  }
  .cs_subscribe_form .wpcf7-form-control-wrap,
  .cs_subscribe_form input[type="email"],
  .cs_subscribe_form .wpcf7-submit {
    width: 100% !important;
  }
}

/* Contact form */
.nc-contact-form {
  max-width: 600px;
  margin: 0 auto;
}
.nc-contact-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nc-contact-field {
  margin-bottom: 16px;
}
.nc-contact-field label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 4px;
}
.nc-contact-field br {
  margin: 0;
  display: none;
}
.nc-contact-field .wpcf7-form-control-wrap {
  display: block;
}
.nc-required {
  color: var(--e-global-color-b21dd65, #dc2626);
}
.nc-contact-field .wpcf7-form-control-wrap {
  display: block;
}
.nc-contact-field input[type="text"],
.nc-contact-field input[type="email"],
.nc-contact-field input[type="tel"],
.nc-contact-field select,
.nc-contact-field textarea {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: #111;
  transition: border-color 0.15s;
  outline: none;
}
.nc-contact-field input:focus,
.nc-contact-field select:focus,
.nc-contact-field textarea:focus {
  border-color: var(--e-global-color-primary, #e8628c);
  box-shadow: 0 0 0 3px rgba(232, 98, 140, 0.1);
}
.nc-contact-field textarea {
  resize: vertical;
  min-height: 120px;
}
.nc-contact-field .wpcf7-not-valid {
  border-color: #fca5a5;
}
.nc-contact-field .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #dc2626;
  margin-top: 4px;
}
.nc-contact-submit {
  margin-top: 8px;
}
.nc-contact-form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 10px 14px !important;
  border-radius: 8px;
  font-size: 14px;
}
.nc-contact-form .wpcf7-spinner {
  margin: 12px 0 0;
}
@media screen and (max-width: 991px) {
  .nc-contact-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
