/**
Theme Name: Hygge Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hygge-child
Template: astra
*/
.banner-title {
  text-transform: uppercase;
}

.hygge-modal__content > p:last-child,
.hygge-modal__dialog > p,
.hygge-edit-card-form p,
.hygge-edit-card-form br,
.woocommerce-message {
  display: none;
}

#page .site-content {
  background: #f7f5f3;
}

.woocommerce-js .woocommerce-breadcrumb {
  margin: 32px 0 24px !important;
  font-size: 16px;
  line-height: 150%; /* 24px */
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Source Serif 4";
  font-weight: 300;
}

.js-voucher-fields {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.js-voucher-fields .form-group {
  width: 100%;
}

.js-voucher-fields .form-group:nth-child(1),
.js-voucher-fields .form-group:nth-child(2) {
  width: calc((50% - 8px));
}

.single-product.woocommerce-js .woocommerce-breadcrumb {
  margin-top: 0 !important;
}

.woocommerce-js .woocommerce-breadcrumb a {
  color: #666;
}

.woocommerce-products-header__title.page-title {
  color: #37584c;
  font-weight: 300;
  line-height: 150%; /* 48px */
  text-transform: uppercase;
  margin: 0;
}

.woocommerce-js .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  border-radius: 8px;
  border: 1px solid #d0d8c4;
  background: #fff;
  padding: 0 12px 0 44px;
  height: 48px;
  line-height: 48px;
  color: #000;
  font-family: "Source Serif 4";
  font-weight: 300;
  text-transform: capitalize;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
  column-gap: 24px;
  margin: 0;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-radius: 8px;
  border: 1px solid var(--Light-Green, #e1dcd4);
  background: var(--White, #fff);
  overflow: hidden;
  padding: 16px;
  margin-bottom: 24px;
}

.woocommerce-js ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  color: var(--Black, #111);
  font-size: 20px;
  font-weight: 400;
  line-height: 150%; /* 30px */
  margin-bottom: 16px;
  font-family: "Source Serif 4";
}

.woocommerce-js ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  margin-bottom: 16px;
}

.woocommerce-js ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  margin: 0 0 8px;
  color: var(--Newest, #37584c);
  font-size: 20px;
  font-weight: 400;
  line-height: 150%; /* 30px */
  font-family: "Source Serif 4";
}

.woocommerce-js ul.products li.product .price del {
  display: block;
  color: #000;
  opacity: 0.5;
  font-size: 14px;
  line-height: 21px;
  font-family: "Source Serif 4";
  font-weight: 400;
}

.woocommerce-js ul.products li.product .price ins {
  font-weight: 500;
}

.ast-on-card-button.ast-onsale-card {
  border-radius: 4px;
  background: #b63b3b;
  left: auto;
  right: 24px;
  top: 24px;
  color: var(--White, #fff);
  font-size: 20px;
  font-weight: 800;
  line-height: 120%;
  padding: 4px 8px;
  text-transform: uppercase;
}

.products.columns-3 .ast-on-card-button.ast-onsale-card,
.related.products .ast-on-card-button.ast-onsale-card {
  font-size: 12px;
}

.woocommerce-js div.product {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.woocommerce-js div.product div.summary {
  order: 1;
  margin: 0;
  width: calc(50% - 16px) !important;
}

.woocommerce-js div.product div.images.woocommerce-product-gallery {
  order: 2;
  margin: 0;
  width: calc(50% - 16px) !important;
  border-radius: 16px;
  border: 1px solid var(--Newest, #37584c);
  overflow: hidden;
}

.woocommerce-js div.product .woocommerce-tabs {
  order: 3;
  margin: 0;
  padding: 0;
}

.woocommerce-js div.product .related.products {
  order: 4;
  border-top: 1px solid #e1dcd4;
  margin-top: 16px;
  padding-top: 48px;
  width: 100%;
}

.woocommerce-js div.product .related.products > h2 {
  color: var(--Newest, #37584c);
  text-align: center;
  font-size: 32px;
  font-weight: 300;
  line-height: 150%; /* 48px */
  text-transform: uppercase;
}

.woocommerce-js div.product .product_title {
  color: var(--Black, #37584c);
  font-size: 32px;
  font-weight: 300;
  line-height: 150%; /* 48px */
  text-transform: uppercase;
  margin-bottom: 16px;
}

.woocommerce-js
  div.product
  div.summary
  .woocommerce-product-details__short-description
  :last-child {
  margin-bottom: 24px;
  color: var(--Black, #111);
  font-family: "Source Serif 4";
  font-size: 16px;
  font-weight: 300;
  line-height: 180%; /* 28.8px */
}

.woocommerce-js div.product .product_meta {
  border: none;
  border-bottom: 1px solid #d0d8c4;
  padding: 0 0 8px;
  margin-bottom: 24px;
}

.woocommerce-js div.product .product_meta > span {
  margin: 0 0 16px;
  display: flex;
  gap: 16px;
  color: var(--Black, #111);
  font-family: "Source Serif 4";
  font-size: 16px;
  line-height: 150%; /* 24px */
  font-weight: 300;
}

.woocommerce-js div.product .product_meta > span > span {
  font-weight: 400;
}

.woocommerce-js div.product p.price {
  color: #37584c;
  font-size: 32px;
  font-weight: 400;
  line-height: 150%; /* 48px */
  margin-bottom: 32px;
  font-family: "Source Serif 4";
}

.woocommerce-js div.product p.price del {
  display: block;
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  font-family: "Source Serif 4";
}

.woocommerce-js div.product p.price ins,
.woocommerce-js div.product span.price ins {
  font-weight: 400;
}

.woocommerce-js div.product div.images .woocommerce-product-gallery__trigger {
  top: 24px;
  left: 24px;
}

/* Quantity Selector với nút +/- */
.hygge-quantity-wrapper {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
}

.hygge-quantity-label {
  color: var(--Black, #111);
  font-size: 16px;
  font-weight: 300;
  line-height: 150%;
  font-family: "Source Serif 4";
  margin: 0;
}

.hygge-quantity-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hygge-quantity-btn {
  padding: 0;
  width: 32px;
  height: 32px;
  font-size: 0;
  outline: none;
  box-shadow: none;
  background-color: transparent !important;
  background-position: center center;
  background-repeat: no-repeat;
}

.hygge-quantity-minus {
  background-image: url("assets/images/Minus.svg");
}

.hygge-quantity-plus {
  background-image: url("assets/images/Plus.svg");
}

.hygge-quantity-input-wrapper .quantity {
  margin: 0 !important;
}

.hygge-quantity-input-wrapper .quantity input[type="number"] {
  width: 48px;
  height: 32px;
  padding: 0;
  border-radius: 4px;
  border: 1px solid var(--Light-Green, #d0d8c4);
  text-align: center;
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  color: #111;
  background: #fff;
  appearance: textfield;
  -moz-appearance: textfield;
  font-family: "Source Serif 4";
}

.hygge-quantity-input-wrapper
  .quantity
  input[type="number"]::-webkit-outer-spin-button,
.hygge-quantity-input-wrapper
  .quantity
  input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Buttons */
.hygge-add-to-cart-buttons {
  display: flex;
  gap: 16px;
}

.hygge-btn {
  border-radius: 32px;
  border: none;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 600;
  line-height: 150%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  transition: opacity 0.2s;
  text-decoration: none;
  font-family: "Source Serif 4";
}

.hygge-btn:hover {
  opacity: 0.9;
  background: #37584c;
}

.hygge-btn-add-to-cart {
  background: #37584c;
  color: #fff;
  flex: 1;
}

.hygge-btn-buy-now {
  background: #37584c;
  color: #fff;
  flex: 1;
}

.hygge-btn svg {
  flex-shrink: 0;
}

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
  padding: 16px 32px;
  display: flex;
  gap: 16px;
  margin: 0;
  border-radius: 32px;
  background: var(--Newest, #37584c);
}

.woocommerce-js div.product .woocommerce-tabs ul.tabs:before {
  background: #e1dcd4;
}

.woocommerce-js div.product .woocommerce-tabs .panel {
  max-width: 900px;
  margin: 0 auto;
  font-weight: 300;
}

.woocommerce-js div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-js .woocommerce-breadcrumb::before,
.woocommerce-js .woocommerce-result-count {
  display: none !important;
}

/**
 * Product Description H2 Headings with Icons
 */
.woocommerce-Tabs-panel--description .hygge-product-detail-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 32px;
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 300;
  line-height: 150%;
  color: #111;
  position: relative;
}

.woocommerce-Tabs-panel--description .hygge-product-detail-heading::before {
  content: "";
  width: 32px;
  height: 32px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Icon for "Chi tiết sản phẩm" - Clipboard with pen */
.woocommerce-Tabs-panel--description
  .hygge-product-detail-heading.icon-details::before {
  background-image: url("assets/images/ClipboardText.svg");
}

/* Icon for "Lợi ích, công dụng" - Menu with star */
.woocommerce-Tabs-panel--description
  .hygge-product-detail-heading.icon-benefits::before {
  background-image: url("assets/images/ListStar.svg");
}

/* Icon for "Hướng dẫn sử dụng" - Open book */
.woocommerce-Tabs-panel--description
  .hygge-product-detail-heading.icon-guide::before {
  background-image: url("assets/images/BookBookmark.svg");
}

/* Icon for "Thời hạn sử dụng" - Hourglass */
.woocommerce-Tabs-panel--description
  .hygge-product-detail-heading.icon-expiry::before {
  background-image: url("assets/images/HourglassMedium.svg");
}

/* Consultation Modal - Available for all products */
.hygge-consultation-wrapper {
  margin-top: 24px;
}

.hygge-btn-consultation {
  border-radius: 32px;
  background: var(--Newest, #37584c);
  width: 100%;
  color: var(--White, #fff);
  font-family: "Source Serif 4";
  font-size: 16px;
  font-weight: 600;
  line-height: 150%; /* 24px */
  height: 56px;
}

.hygge-btn-consultation:hover {
  opacity: 0.8;
  background: var(--Newest, #37584c);
}

.hygge-btn-consultation img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.hygge-consultation-modal {
  position: fixed;
  inset: 0;
  background: rgba(12, 24, 11, 0.55);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 9999;
}

.hygge-consultation-modal.is-open {
  display: flex;
}

.hygge-consultation-modal .hygge-modal__dialog {
  background: #fff;
  border-radius: 16px;
  width: min(800px, 100%);
  position: relative;
  padding: 32px;
  max-height: 90vh;
  overflow-y: auto;
}

.hygge-consultation-modal .hygge-modal__content {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.hygge-consultation-modal .hygge-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: #37584c;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  transition: color 0.2s ease;
}

.hygge-consultation-modal .hygge-modal__close:hover {
  color: #2d463a;
}

.hygge-consultation-modal .hygge-modal__title {
  color: var(--Newest, #37584c);
  font-family: "Plus Jakarta Sans";
  font-size: 24px;
  font-weight: 300;
  line-height: 150%;
  margin: 0 0 16px;
}

.hygge-consultation-modal .hygge-modal__description {
  color: var(--Black, #111);
  font-family: "Source Serif 4";
  font-size: 16px;
  font-weight: 300;
  line-height: 180%;
  margin: 0 0 24px;
}

.hygge-consultation-modal .hygge-modal__description strong {
  font-weight: 400;
}

.hygge-consultation-form .form-group {
  margin-bottom: 20px;
}

.hygge-consultation-form .form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 300;
  font-family: "Source Serif 4";
  color: #111;
  font-size: 16px;
  line-height: 150%;
}

.hygge-consultation-form .form-group label .required {
  color: #d32f2f;
  margin-left: 2px;
}

.hygge-consultation-form .form-group input {
  width: 100%;
  padding: 0 16px;
  font-size: 16px;
  background: #fff;
  font-family: inherit;
  color: #111;
  transition: all 0.2s ease;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  line-height: 1.5;
  border-radius: 8px;
  border: 1px solid var(--Border, #e1dcd4);
  background: var(--White, #fff);
  height: 48px;
  font-family: "Source Serif 4";
}

.hygge-consultation-form .form-group input:hover {
  border-color: #c0c7c0;
}

.hygge-consultation-form .form-group input:focus {
  outline: none;
  border-color: #37584c;
  box-shadow: 0 0 0 3px rgba(55, 88, 76, 0.1);
}

.hygge-consultation-form .form-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
}

.hygge-consultation-form .btn {
  font-family: "Source Serif 4";
  font-size: 16px;
  font-weight: 600;
  line-height: 150%;
  padding: 15px 32px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: none;
  border-radius: 32px;
  min-width: 160px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hygge-consultation-form .btn-secondary {
  background: #fff;
  color: #37584c;
  border: 1px solid #37584c;
}

.hygge-consultation-form .btn-secondary:hover {
  background: #37584c;
  color: #fff;
}

.hygge-consultation-form .btn-primary {
  background: #37584c;
  color: #fff;
}

.hygge-consultation-form .btn-primary:hover {
  background: #2d463a;
}

.hygge-consultation-form .btn-primary:disabled {
  background: #9ca5a0;
  cursor: not-allowed;
}

.hygge-consultation-form .form-message {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
}

.hygge-consultation-form .form-message.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.hygge-consultation-form .form-message.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}

body.hygge-modal-open {
  overflow: hidden;
}

.hygge-badges {
  gap: 16px;
  display: flex;
  align-items: center;
  justify-content: end;
}

.hygge-badges .badge-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #37584c;
  border-radius: 50%;
  position: relative;
}

.hygge-badges .badge-count {
  position: absolute;
  top: -10px;
  right: -8px;
  display: flex;
  width: 21px;
  height: 21px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  background: #b63b3b;
  color: var(--BG2, #ebe6e0);
  font-family: "Plus Jakarta Sans";
  font-size: 14px;
  font-weight: 700;
  line-height: 120%; /* 16.8px */
}

.lang-toggle {
  position: relative;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.25) !important;
  display: inline-flex;
  padding: 4px 32px 4px 8px !important;
  align-items: center;
  gap: 8px;
  border: none;
  color: var(--Black, #111);
  font-family: "Plus Jakarta Sans";
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  text-transform: uppercase;
  cursor: pointer;
}

.lang-toggle::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("assets/images/CaretDown.svg");
  background-position: center center;
  background-repeat: no-repeat;
}

.lang-toggle > .lang-flag {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hygge-lang-switcher {
  position: relative;
}

.hygge-lang-switcher .lang-list {
  position: absolute;
  top: 100%;
  right: 0;
  list-style: none;
  margin: 0;
  padding: 0px 8px;
  width: 100%;
  background: #ebe6e0;
  border: 1px solid #fff;
  display: none;
}

.hygge-lang-switcher:hover .lang-list {
  display: block;
}

.hygge-lang-switcher .lang-list li a {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hygge-lang-switcher .lang-name {
  color: var(--Black, #111);
  font-family: "Plus Jakarta Sans";
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-transform: uppercase;
}

.hygge-social-contact-buttons {
  position: fixed;
  z-index: 123;
  right: 20px;
  bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hygge-social-contact-buttons a {
  border-radius: 50%;
  background: #fff;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hygge-social-contact-buttons a:hover {
  background: #37584c;
}

.hygge-social-contact-buttons a span {
  font-size: 14px;
}

.hygge-social-contact-buttons a:hover span,
.hygge-social-contact-buttons a:hover svg {
  fill: #ffffff;
  color: #ffffff;
}

/* Responsive for consultation modal */
@media (max-width: 768px) {
  .hygge-consultation-modal .hygge-modal__dialog {
    padding: 24px;
  }

  .hygge-consultation-form .form-actions {
    flex-direction: column;
  }

  .hygge-consultation-form .btn {
    width: 100%;
  }

  .hygge-product-categories-sidebar {
    display: none;
  }

  .woocommerce-js div.product .related.products > h2,
  .woocommerce-js div.product .product_title,
  .woocommerce-products-header__title.page-title {
    margin-bottom: 16px;
    font-size: 24px;
    line-height: 36px;
  }

  .woocommerce-js div.product div.summary,
  .woocommerce-js div.product div.images.woocommerce-product-gallery {
    width: 100% !important;
  }

  .ast-on-card-button.ast-onsale-card {
    top: 48px;
  }

  .woocommerce-js div.product {
    padding-top: 24px;
    gap: 24px;
  }

  .woocommerce-js div.product div.images.woocommerce-product-gallery {
    order: 1;
  }
  .woocommerce-js div.product div.summary {
    order: 2;
  }

  .hygge-add-to-cart-buttons {
    flex-direction: column;
  }

  .woocommerce-Tabs-panel--description .hygge-product-detail-heading {
    font-weight: 700;
  }

  .ast-container .woocommerce ul.products:not(.elementor-grid),
  .woocommerce-page ul.products:not(.elementor-grid),
  .woocommerce.tablet-columns-3 ul.products:not(.elementor-grid) {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .hygge-lang-switcher {
    border-radius: 4px;
    background: var(--White, #fff);
  }
  .menu-mobile-hygge-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 123;
    background-color: #ebe6e0;
    display: none;
  }
  .menu-mobile-hygge-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-bottom: 1px solid #ddd;
  }
  .menu-mobile-hygge-header > div {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
  }
  .menu-mobile-hygge-footer {
    padding: 32px 20px;
  }
  .menu-mobile-hygge-footer .menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
  .menu-mobile-hygge-footer .menu li a {
    display: block;
    color: var(--Black, #111);
    font-family: "Josefin Sans";
    font-size: 20px;
    font-weight: 400;
    line-height: 150%; /* 30px */
    letter-spacing: 0.6px;
    text-transform: uppercase;
  }
}
