/*
Theme Name: Vela Beauty
Theme URI: https://example.com/vela-theme/
Author: Your Name or Company
Author URI: https://example.com/
Description: A modern and elegant beauty and cosmetics WordPress theme inspired by the Vela design. This theme is fully responsive and built with a strong design system for easy customization.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: e-commerce, beauty, cosmetics, responsive-layout, custom-colors, one-column, two-columns, accessibility-ready
Text Domain: thoitrang
*/


/*
==============================================
11.0 - Component: Top Announcement Bar
==============================================
*/
.top-announcement-bar {
  background-color: var(--color-accent-hover);
  /* Using your brand's primary surface color */
  color: var(--color-text-inverse);
  /* White text from your brand's palette */
  padding: var(--spacing-sm) 0;
  font-size: var(--font-size-xs);
  font-family: var(--font-family-primary);
}

.top-bar-content {
  text-align: center;
  text-transform: uppercase;
}

.top-bar-message {
  flex-grow: 1;
  /* Allow message to take available space */
  text-align: left;
}

.top-bar-right {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  /* Prevent shrinking */
  gap: var(--spacing-lg);
}

.top-bar-contact a {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  transition: color var(--transition-fast);
}

.top-bar-contact a:hover {
  color: var(--color-surface-secondary);
  /* Example hover color */
}

.top-bar-contact .material-icons {
  font-size: 20px;
  /* Adjust icon size */
}

.post-featured-image img {
  max-height: 600px;
  width: 100%;
  object-fit: cover;
}
.top-bar-social {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
  padding-left: var(--spacing-lg);
}

.top-bar-social a img {
  width: 18px;
  /* Standard social icon size */
  height: 18px;
  display: block;
  transition: opacity var(--transition-fast);
}

.top-bar-social a:hover img {
  opacity: 0.8;
}

/* ========================================= */
/*      RESPONSIVE FOR TOP BAR               */
/* ========================================= */

/* Tablet View */
@media (max-width: 992px) {
  .top-bar-content {
    flex-direction: column;
    /* Stack elements */
    justify-content: center;
    gap: var(--spacing-sm);
  }

  .top-bar-message {
    text-align: center;
    /* Center align text */
    width: 100%;
    margin-bottom: var(--spacing-sm);
  }

  .top-bar-right {
    gap: var(--spacing-md);
  }

  .top-bar-social {
    padding-left: var(--spacing-md);
    border-left-width: 1px;
  }
}

/* Mobile View */
@media (max-width: 576px) {
  .top-announcement-bar {
    font-size: calc(var(--font-size-xs) * 0.9);
    /* Slightly smaller font size */
  }

  .top-bar-right {
    flex-direction: column;
    align-items: center;
    width: 100%;
    gap: var(--spacing-md);
  }

  .top-bar-social {
    border-left: none;
    /* Remove vertical divider */
    padding-left: 0;
    margin-top: var(--spacing-sm);
  }
}


/*
==============================================
14.0 - Component: Site Header (Logo Left Aligned)
==============================================
*/

/* --- 14.1. Header Layout --- */
.site-header {
  background-color: var(--color-background);
  padding: var(--spacing-md) 0;
  position: sticky;
  top: 0;
  z-index: 999;
}

.site-header__inner {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
}

.site-header__logo img {
  max-height: 100px;
  width: auto;
  flex-shrink: 0;
  /* Prevent logo from shrinking */
}

/* --- 14.2. Main Navigation --- */
.site-header__navigation {
  margin: 0 auto;
  /* Important: automatically centers the menu */
}

.main-navigation .primary-menu {
  display: flex;
  align-items: center;
  gap: var(--spacing-xl);
}

.main-navigation .primary-menu a {
  font-family: 'Title-Small';
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-sm);
  text-transform: uppercase;
  color: var(--color-text-primary);
  display: flex;
  align-items: center;
  gap: 4px;
  /* Spacing between text and dropdown arrow */
  transition: color var(--transition-fast);
}

.main-navigation .menu-item-has-children>a::after {
  content: 'expand_more';
  font-family: 'Material Icons';
  font-size: 20px;
}

.main-navigation .primary-menu .current-menu-item>a,
.main-navigation .primary-menu a:hover {
  color: var(--color-accent-hover);
}

/* --- 14.3. Header Actions & Cart Button --- */
.site-header__actions {
  flex-shrink: 0;
  /* Prevent shrinking */
}

.header-actions-list {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
}

.header-cart {
  background: var(--color-accent-hover);
  border-radius: var(--border-radius-lg);
  height: 45px;
  padding: 0 var(--spacing-sm);
  display: flex;
}

.header-action-item .material-icons {
  font-size: 28px;
  transition: color var(--transition-fast);
}

.header-action-item:hover .material-icons {
  color: var(--color-accent-pink);
}

.header-cart-button .cart-text {
  color: var(--color-white);
  padding: var(--spacing-sm) var(--spacing-md) var(--spacing-sm) var(--spacing-sm);
  display: block;
  white-space: nowrap;
  margin-right: var(--spacing-sm);
}

.header-cart-button .cart-icon-wrapper {
  background-color: var(--color-dark);
  color: var(--color-white);
  height: 32px;
  width: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  margin-left: -15px;
  z-index: 2;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform var(--transition-smooth);
}

.header-cart-button:hover .cart-icon-wrapper {
  transform: scale(1.1);
}

/* --- 14.4. Responsive --- */
.mobile-nav-toggle {
  display: none;
  /* Hidden on desktop */
}

@media (max-width: 992px) {
  .site-header__inner {
    justify-content: space-between;
    /* Push logo and mobile button to opposite sides */
  }

  .site-header__navigation,
  .site-header__actions {
    display: none;
    /* Hide navigation and actions on mobile */
  }

  .mobile-nav-toggle {
    display: block;
    /* Show hamburger icon */
  }
}

@media (max-width: 576px) {
  .header-cart-button .cart-text {
    display: none;
    /* Hide cart text on small screens */
  }

  .header-cart-button {
    background-color: var(--color-dark);
    border-radius: 50%;
    height: 45px;
    width: 45px;
  }

  .header-cart-button .cart-icon-wrapper {
    margin-left: 0;
    width: 100%;
    height: 100%;
    box-shadow: none;
  }

  .header-actions-list {
    gap: var(--spacing-md);
  }
}


/*
==============================================
7.0 - Component: Hero Slider (Multi-item view)
==============================================
*/

.site-hero-section {

  /* ThÃªm khoáº£ng Ä‘á»‡m trÃªn dÆ°á»›i cho section */
  background-color: var(--color-background);
}

.hero-container {
  position: relative;
  /* Quan trá»ng Ä‘á»ƒ Ä‘á»‹nh vá»‹ cÃ¡c icon vÃ  nÃºt */
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

/* Wrapper cho slider vÃ  cÃ¡c mÅ©i tÃªn */
.hero-slider-wrapper {
  position: relative;
  width: 100%;
}

.hero-slider.swiper {
  width: 100%;
  height: auto;
}

.swiper-slide {
  background: transparent;
  /* Bá» background vÃ¬ chÃºng ta dÃ¹ng tháº» <img> */

  overflow: hidden;
  /* Äáº£m báº£o áº£nh bo gÃ³c theo slide */
  box-shadow: var(--box-shadow-subtle);
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth);
}

.swiper-slide:hover {
  transform: translateY(-5px);
  box-shadow: var(--box-shadow-medium);
}

.slide-image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  /* Giá»¯ tá»· lá»‡ khung hÃ¬nh cho áº£nh, trÃ¡nh bá»‹ mÃ©o */
  aspect-ratio: 3 / 4;
  /* Tá»· lá»‡ 3:4 (chiá»u rá»™ng:chiá»u cao), báº¡n cÃ³ thá»ƒ thay Ä‘á»•i */
  object-fit: cover;
  /* Cáº¯t áº£nh Ä‘á»ƒ vá»«a khung, khÃ´ng lÃ m mÃ©o áº£nh */
}

/*
 * CÃ¡c icon chá»©c nÄƒng (gÃ³c trÃªn bÃªn pháº£i)
*/
.hero-action-icons {
  position: absolute;
  top: -10px;
  /* Äiá»u chá»‰nh vá»‹ trÃ­ so vá»›i top cá»§a container */
  right: var(--container-padding-x);
  z-index: 10;
  display: flex;
  gap: var(--spacing-sm);
}

.hero-icon-btn {
  width: 40px;
  height: 40px;
  background-color: var(--color-white);
  color: var(--color-dark);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-full);
  display: grid;
  place-items: center;
  box-shadow: var(--box-shadow-subtle);
  transition: all var(--transition-fast);
}

.hero-icon-btn:hover {
  background-color: var(--color-accent-hover);
  color: var(--color-white);
  border-color: var(--color-accent-hover);
}

.hero-icon-btn .material-icons {
  font-size: 22px;
}

/*
 * MÅ©i tÃªn Ä‘iá»u hÆ°á»›ng
*/
.hero-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: var(--color-dark);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  z-index: 10;
  transition: all var(--transition-fast);
}

.hero-nav-arrow:hover {
  background-color: var(--color-accent-hover);
  color: var(--color-white);
}

.hero-nav-arrow::after {
  font-size: 20px !important;
  /* Ghi Ä‘Ã¨ kÃ­ch thÆ°á»›c icon mÅ©i tÃªn cá»§a Swiper */
  font-weight: bold;
}

.swiper-button-prev.hero-nav-arrow {
  left: -22px;
  /* Äáº©y mÅ©i tÃªn ra ngoÃ i má»™t ná»­a */
}

.swiper-button-next.hero-nav-arrow {
  right: -22px;
  /* Äáº©y mÅ©i tÃªn ra ngoÃ i má»™t ná»­a */
}

/* áº¨n phÃ¢n trang (dáº¥u cháº¥m) náº¿u khÃ´ng cáº§n */
.hero-pagination {
  display: none;
}


/* Responsive cho mobile */
@media (max-width: 768px) {
  .site-hero-section {
    padding: var(--spacing-lg) 0;
  }

  .hero-action-icons {
    top: -40px;
    /* Äáº©y lÃªn cao hÆ¡n trÃªn mobile */
  }

  .swiper-button-prev.hero-nav-arrow {
    left: 10px;
    /* ÄÆ°a mÅ©i tÃªn vÃ o trong trÃªn mÃ n hÃ¬nh nhá» */
  }

  .swiper-button-next.hero-nav-arrow {
    right: 10px;
    /* ÄÆ°a mÅ©i tÃªn vÃ o trong trÃªn mÃ n hÃ¬nh nhá» */
  }
}


/*
==============================================
7.1 - Slide Overlay on Hover
==============================================
*/

/* Container cho áº£nh vÃ  overlay pháº£i lÃ  relative Ä‘á»ƒ Ä‘á»‹nh vá»‹ overlay bÃªn trong */
.slide-image-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  /* Äáº£m báº£o overlay khÃ´ng bá»‹ trÃ n ra ngoÃ i */
}

/* Lá»›p phá»§ chá»©a ná»™i dung (TiÃªu Ä‘á»,...) */
.slide-overlay-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--spacing-lg);

  /* Táº¡o lá»›p ná»n má» chuyá»ƒn tá»« trong suá»‘t sang Ä‘en */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);

  color: var(--color-white);
  text-align: right;
  /* CÄƒn lá» pháº£i giá»‘ng trong hÃ¬nh */

  /* --- Hiá»‡u á»©ng máº·c Ä‘á»‹nh: áº¨n Ä‘i --- */
  opacity: 0;
  transform: translateY(15px);
  /* HÆ¡i Ä‘áº©y xuá»‘ng dÆ°á»›i má»™t chÃºt */
  transition: opacity var(--transition-smooth), transform var(--transition-smooth);
}

/* --- Khi hover vÃ o link chá»©a áº£nh --- */
.slide-image-link:hover .slide-overlay-content {
  /* --- Hiá»‡n lá»›p phá»§ ra --- */
  opacity: 1;
  transform: translateY(0);
  /* ÄÆ°a vá» vá»‹ trÃ­ cÅ© */
}

/* ThÃªm hiá»‡u á»©ng phÃ³ng to nháº¹ cho áº£nh khi hover */
.slide-image-link:hover img {
  transform: scale(1.05);
}

.slide-image-link img {
  transition: transform var(--transition-smooth);
}


/* Äá»‹nh dáº¡ng cho TiÃªu Ä‘á» vÃ  TiÃªu Ä‘á» phá»¥ trong lá»›p phá»§ */
.slide-overlay-title {
  font-family: var(--font-family-title);
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-bold);
  color: var(--color-white);
  margin: 0 0 var(--spacing-xs) 0;
  line-height: 1.2;
}

.slide-overlay-subtitle {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-sm);
  color: var(--color-white);
  opacity: 0.8;
  display: block;
  /* Äá»ƒ nÃ³ xuá»‘ng dÃ²ng */
}


==============================================8.0 - Minimal Product Grid==============================================*/ .minimal-product-grid-section {
  padding: var(--spacing-xl) 0;
}

.minimal-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 cá»™t trÃªn desktop */
  border-top: 1px dashed var(--color-border);
}

.minimal-product-card {
  border-right: 1px dashed var(--color-border);
  position: relative;
}

.minimal-product-card:first-child {
  border-left: 1px dashed var(--color-border);
}

.minimal-product-card__inner {
  padding: var(--spacing-xl) var(--spacing-lg);
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* --- VÃ¹ng chá»©a áº£nh --- */
.minimal-product-card__image-wrapper {
  position: relative;
  text-align: center;
  margin-bottom: var(--spacing-lg);
  flex-grow: 1;
  /* Äáº©y ná»™i dung xuá»‘ng dÆ°á»›i */
  display: flex;
  align-items: center;
  justify-content: center;
}

.minimal-product-card__image-wrapper img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transition: opacity var(--transition-fast);
}

.minimal-product-card__image-wrapper a:hover img {
  opacity: 0.8;
}

/* --- Badge "Sale" vÃ  "Sold" --- */
.minimal-product-badge {
  position: absolute;
  top: -10px;
  right: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-white);
  text-transform: uppercase;
  z-index: 2;
}

.minimal-product-badge.sale {
  background-color: #8B0000;
  /* MÃ u Ä‘á» rÆ°á»£u */
}

.minimal-product-badge.sold {
  background-color: var(--color-surface-primary);
  /* MÃ u xanh Ä‘áº­m */
}

/* --- VÃ¹ng thÃ´ng tin (TÃªn, GiÃ¡, Icon) --- */
.minimal-product-card__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: var(--spacing-lg);
}

.minimal-product-card__title {
  margin-bottom: 0;
}

.minimal-product-card__title a {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
  display: block;
}

.minimal-product-card__title a:hover {
  color: var(--color-accent-hover);
}

/* --- Äá»‹nh dáº¡ng giÃ¡ --- */
.minimal-product-card__price {
  font-family: 'Times New Roman', Times, serif;
  /* Font giá»‘ng trong hÃ¬nh */
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.minimal-product-card__price .read-more {
  font-style: italic;
  color: var(--color-text-secondary);
}

/* Äá»‹nh dáº¡ng giÃ¡ sale cá»§a WooCommerce */
.minimal-product-card__price del {
  opacity: 0.6;
  margin-right: var(--spacing-sm);
}

.minimal-product-card__price ins {
  text-decoration: none;
  font-weight: bold;
  color: var(--color-text-primary);
}


/* --- Äá»‹nh dáº¡ng icon hÃ nh Ä‘á»™ng --- */
.minimal-product-card__actions .add_to_cart_button,
.minimal-product-card__actions .action-icon-plus {
  font-family: 'Material Icons';
  font-size: 20px;
  color: var(--color-text-secondary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: color var(--transition-fast);
}

.minimal-product-card__actions .action-icon-plus {
  font-family: 'Times New Roman', Times, serif;
  font-size: 24px;
  font-weight: lighter;
}

.minimal-product-card__actions .add_to_cart_button:hover,
.minimal-product-card__actions .action-icon-plus:hover {
  color: var(--color-accent-hover);
}

/* áº¨n chá»¯ "Add to cart" vÃ  chá»‰ hiá»‡n icon */
.minimal-product-card__actions .add_to_cart_button .material-icons {
  font-size: 22px;
}

/* Giáº¥u cÃ¡c tráº¡ng thÃ¡i loading cá»§a ajax add to cart */
.minimal-product-card__actions .add_to_cart_button.loading::after,
.minimal-product-card__actions .add_to_cart_button.added::after {
  display: none;
}


/* --- Responsive --- */
@media (max-width: 992px) {
  .minimal-product-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2 cá»™t trÃªn tablet */
    border-bottom: 1px dashed var(--color-border);
  }

  .minimal-product-card:nth-child(2n) {
    border-right: none;
  }

  .minimal-product-card:nth-child(2n+1) {
    border-left: 1px dashed var(--color-border);
  }
}

@media (max-width: 576px) {
  .minimal-product-grid {
    grid-template-columns: 1fr;
    /* 1 cá»™t trÃªn mobile */
  }

  .minimal-product-card {
    border-right: 1px dashed var(--color-border) !important;
  }
}



/*
==============================================
8.0 - Minimal Category Grid
==============================================
*/
.minimal-category-grid-section {
  padding: 4rem 0;
}

.minimal-category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 cá»™t trÃªn desktop */
  border-top: 1px dashed var(--color-border);
  border-bottom: 1px dashed var(--color-border);
}

.minimal-category-card {
  border-right: 1px dashed var(--color-border);
  position: relative;
}

.minimal-category-card:first-child {
  border-left: 1px dashed var(--color-border);
}

/* ToÃ n bá»™ tháº» lÃ  má»™t link */
.minimal-category-card__link {
  display: block;
  height: 100%;
  text-decoration: none;
}

.minimal-category-card__inner {
  padding: .5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: center;
}

/* --- VÃ¹ng chá»©a áº£nh --- */
.minimal-category-card__image-wrapper {
  position: relative;
  margin-bottom: var(--spacing-lg);
  flex-grow: 1;
  /* Äáº©y tÃªn danh má»¥c xuá»‘ng dÆ°á»›i */
  display: flex;
  align-items: center;
  justify-content: center;
}

.minimal-category-card__image-wrapper img {
  max-width: 100%;
  height: auto;
  max-height: 500px;
  /* Giá»›i háº¡n chiá»u cao tá»‘i Ä‘a cá»§a áº£nh */
  object-fit: contain;
  /* Äáº£m báº£o áº£nh khÃ´ng bá»‹ mÃ©o */
  transition: transform var(--transition-smooth), opacity var(--transition-smooth);
}

/* Hiá»‡u á»©ng hover */
.minimal-category-card__link:hover .minimal-category-card__image-wrapper img {
  opacity: 0.8;
  transform: scale(1.01);
}

.minimal-category-card__link:hover .minimal-category-card__title {
  color: var(--color-accent-hover);
}


/* --- VÃ¹ng thÃ´ng tin (TÃªn) --- */
.minimal-category-card__info {
  /* padding-top: var(--spacing-lg); */
}

.minimal-category-card__title {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-primary);
  margin: 0;
  transition: color var(--transition-fast);
}


/* --- Responsive --- */
@media (max-width: 992px) {
  .minimal-category-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2 cá»™t trÃªn tablet */
    border-bottom: 1px dashed var(--color-border);
  }

  .minimal-category-card:nth-child(2n) {
    border-right: none;
  }

  .minimal-category-card:nth-child(2n+1) {
    border-left: 1px dashed var(--color-border);
  }
}

@media (max-width: 576px) {
  .minimal-category-grid {
    grid-template-columns: 1fr;
    /* 1 cá»™t trÃªn mobile */
  }

  .minimal-category-card {
    border-right: 1px dashed var(--color-border) !important;
  }
}



/*
==============================================
8.0 - Minimal Product Grid (CSS Final)
==============================================
*/
.product-grid-section {
  padding: var(--spacing-xl) 0;
}

.minimal-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px dashed var(--color-border);
}

.minimal-product-card {
  border-right: 1px dashed var(--color-border);
  position: relative;
}

.minimal-product-card:first-child {
  border-left: 1px dashed var(--color-border);
}

.minimal-product-card__inner {
  padding: var(--spacing-xl) var(--spacing-lg);
  display: flex;
  flex-direction: column;
  height: 100%;
  border-bottom: 1px dashed var(--color-border);
}

/* --- Image Wrapper --- */
.minimal-product-card__image-wrapper {
  position: relative;
  text-align: center;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.minimal-product-card__image-wrapper img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transition: opacity var(--transition-fast);
}

.minimal-product-card__image-wrapper a:hover img {
  opacity: 0.8;
}

/* --- Info (Title, Price) --- */
.minimal-product-card__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0;
}

.minimal-product-card__details {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem;
}

.minimal-product-card__actions {
  display: flex;
}

.minimal-product-card__title a {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
  display: block;
}

.minimal-product-card__title a:hover {
  color: var(--color-accent-hover);
}

.minimal-product-card__price {
  font-family: 'Times New Roman', Times, serif;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.minimal-product-card__price del {
  opacity: 0.6;
  margin-right: var(--spacing-sm);
}

.minimal-product-card__price ins {
  text-decoration: none;
  font-weight: bold;
  color: var(--color-text-primary);
}


/*
==============================================
CSS CHO ACTION BUTTON Gá»C Cá»¦A Báº N
==============================================
*/
/* --- Style chung cho cáº£ 2 loáº¡i nÃºt --- */
.minimal-product-card__actions .add_to_cart_button,
.minimal-product-card__actions .btn--quick-view {
  background: none !important;
  border: none;
  padding: 0;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.minimal-product-card__actions .add_to_cart_button:hover,
.minimal-product-card__actions .btn--quick-view:hover {
  color: var(--color-accent-hover);
}

/* --- Xá»­ lÃ½ nÃºt cho sáº£n pháº©m SIMPLE --- */
.minimal-product-card__actions .add_to_cart_button {
  text-indent: -9999px;
  /* áº¨n chá»¯ "Add to cart" */
  position: relative;
}

.minimal-product-card__actions .add_to_cart_button::before {
  content: 'shopping_bag';
  font-family: 'Material Icons';
  text-indent: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  font-size: 22px;
  display: grid;
  place-items: center;
}

.minimal-product-card__actions .add_to_cart_button.loading::before,
.minimal-product-card__actions .add_to_cart_button.added::before {
  content: 'check';
  /* Icon khi Ä‘Ã£ thÃªm vÃ o giá» */
}


/* --- Xá»­ lÃ½ nÃºt cho sáº£n pháº©m VARIABLE --- */
.minimal-product-card__actions .btn--quick-view {
  font-size: 0;
  /* áº¨n chá»¯ "ADD TO CART" */
  text-decoration: none;
}

.minimal-product-card__actions .btn--quick-view .material-icons {
  font-size: 22px;
  /* Äáº£m báº£o icon `local_mall` hiá»ƒn thá»‹ */
  /* Icon `local_mall` cá»§a báº¡n sáº½ Ä‘Æ°á»£c giá»¯ láº¡i á»Ÿ Ä‘Ã¢y */
}

/* --- Responsive --- */
@media (max-width: 992px) {
  .minimal-product-grid {
    grid-template-columns: repeat(2, 1fr);
    border-bottom: 1px dashed var(--color-border);
  }

  .minimal-product-card:nth-child(2n) {
    border-right: none;
  }

  .minimal-product-card:nth-child(2n+1) {
    border-left: 1px dashed var(--color-border);
  }
}

@media (max-width: 576px) {
  .minimal-product-grid {
    grid-template-columns: 1fr;
  }

  .minimal-product-card {
    border-right: 1px dashed var(--color-border) !important;
  }
}

.section-header {
  text-align: center;
  /* Khoáº£ng cÃ¡ch giá»¯a khá»‘i tiÃªu Ä‘á» vÃ  ná»™i dung bÃªn dÆ°á»›i */
  margin-bottom: var(--spacing-xl);
}

/* Äá»‹nh dáº¡ng cho tiÃªu Ä‘á» chÃ­nh */
.section-header .section-title {
  /* Káº¿ thá»«a tá»« h2, nhÆ°ng Ä‘áº£m báº£o cÃ³ khoáº£ng cÃ¡ch vá»›i tiÃªu Ä‘á» phá»¥ */
  margin-top: var(--spacing-sm);
  color: var(--color-text-primary);
}

.section-title h3 {
  font-size: 30px;
  font-family: 'Title-Small';
}


/*
==============================================
9.0 - Features Section
==============================================
*/

.features-section {
  /* ThÃªm má»™t Ä‘Æ°á»ng viá»n trÃªn vÃ  dÆ°á»›i Ä‘á»ƒ tÃ¡ch biá»‡t section */
  padding: var(--spacing-xl) 0;
  /* Khoáº£ng Ä‘á»‡m trÃªn dÆ°á»›i cho section */

  /* Má»™t mÃ u ná»n ráº¥t nháº¡t */
  background: var(--color-rating);
}

/* --- Bá»‘ cá»¥c LÆ°á»›i --- */
.features-grid {
  display: grid;
  /* 4 cá»™t trÃªn desktop */
  grid-template-columns: repeat(4, 1fr);
  /* Khoáº£ng cÃ¡ch giá»¯a cÃ¡c cá»™t */
  gap: var(--spacing-lg);
}

/* --- Tá»«ng má»¥c "Feature" --- */
.feature-item {
  display: flex;
  /* CÄƒn giá»¯a icon vÃ  ná»™i dung theo chiá»u dá»c */
  align-items: center;
  /* Khoáº£ng cÃ¡ch giá»¯a icon vÃ  khá»‘i text */
  gap: var(--spacing-md);
  padding: var(--spacing-md);
}

/* --- Icon --- */
.feature-icon {
  /* Äáº£m báº£o icon khÃ´ng bá»‹ co láº¡i */
  flex-shrink: 0;
}

.feature-icon img {
  width: 48px;
  /* KÃ­ch thÆ°á»›c cá»§a icon */
  height: 48px;
  object-fit: contain;
}

/* --- TiÃªu Ä‘á» vÃ  MÃ´ táº£ --- */
.feature-title {
  font-family: var(--font-family-title);
  font-size: var(--font-size-base);
  /* KÃ­ch thÆ°á»›c chá»¯ vá»«a pháº£i */
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-xs);
  /* Khoáº£ng cÃ¡ch nhá» giá»¯a tiÃªu Ä‘á» vÃ  mÃ´ táº£ */
}

.feature-description {
  font-size: var(--font-size-sm);
  /* Chá»¯ mÃ´ táº£ nhá» hÆ¡n */
  color: var(--color-text-secondary);
  margin: 0;
  /* Bá» margin máº·c Ä‘á»‹nh cá»§a tháº» <p> */
}

/*
==============================================
Responsive cho Features Section
==============================================
*/

/* --- Cho Tablet (mÃ n hÃ¬nh nhá» hÆ¡n 992px) --- */
@media (max-width: 992px) {
  .features-grid {
    /* Chuyá»ƒn thÃ nh 2 cá»™t */
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md);
  }
}

/* --- Cho Mobile (mÃ n hÃ¬nh nhá» hÆ¡n 576px) --- */
@media (max-width: 576px) {
  .features-grid {
    /* Chuyá»ƒn thÃ nh 1 cá»™t */
    grid-template-columns: 1fr;
  }

  .feature-item {
    /* ThÃªm Ä‘Æ°á»ng viá»n dÆ°á»›i Ä‘á»ƒ phÃ¢n tÃ¡ch cÃ¡c má»¥c trÃªn mobile */
    border-bottom: 1px solid var(--color-border);
    padding: var(--spacing-lg) 0;
  }

  .feature-item:last-child {
    border-bottom: none;
    /* Bá» viá»n cho má»¥c cuá»‘i cÃ¹ng */
  }
}




















/*
==============================================
12.0 - Footer Styles
==============================================
*/

/* --- Main Footer Wrapper --- */
.main-footer {
  padding: var(--spacing-xxl) 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  border-top: 1px solid var(--color-border);
  padding-bottom: 1rem;
  margin-top: var(--spacing-xl);
}

.footer-container {
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 var(--container-padding-x);
  display: grid;
  /* Split layout into 4 columns based on HTML */
  grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
  gap: var(--spacing-xl);
}

/* --- General Column Styles --- */
.footer-column h4 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
  margin-bottom: var(--spacing-lg);
}

/* --- Column 1: Company Info --- */
.company-info img {
  max-width: 150px;
  /* Adjust logo size if needed */
  margin-bottom: var(--spacing-lg);
  max-height: 150px;
}

.company-info .contact-block,
.company-info .address-block {
  margin-bottom: var(--spacing-md);
}

.company-info h4 {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-accent);
  margin: 0;
  white-space: nowrap;
  font-family: 'Title';
}

.company-info span,
.company-info span a {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-normal);
  font-family: var(--font-family-primary);
}

.company-info span a:hover {
  color: var(--color-accent);
}

/* --- Column 2 & 3: Menu Links --- */
.footer-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-column ul li {
  margin-bottom: var(--spacing-xs);
  font-family: 'Title';
}

.footer-column ul li a {
  color: var(--color-black);
  transition: color var(--transition-fast);
  font-size: var(--font-size-sm);
  font-family: var(--font-family-primary);
}

.footer-column ul li a:hover {
  color: var(--color-accent-hover);
}

/* --- Column 4: Newsletter & Social --- */
.newsletter-description {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-base);
  margin: var(--spacing-md) 0;
  color: var(--color-text-secondary);
  font-family: var(--font-family-primary);
  margin-bottom: 2rem!important;
}

.newsletter-form .input-group {
  display: flex;
  align-items: center;
  background-color: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius-sm);
  padding: var(--spacing-xs) var(--spacing-md);
}

.newsletter-form .input-group .material-icons {
  font-size: 22px;
  color: var(--color-text-secondary);
  margin-right: var(--spacing-sm);

}

.newsletter-form input[type="email"] {
  flex-grow: 1;
  border: none;
  background: transparent;
  padding: var(--spacing-sm) 0;
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
  outline: none;
  width: 175px;
  font-family: var(--font-family-primary);
  padding-left: 5px;
}

.newsletter-form input[type="email"]::placeholder {
  color: var(--color-text-secondary);
}

.newsletter-form button[type="submit"] {
  background: transparent;
  border: none;
  color: var(--color-accent);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  cursor: pointer;
  padding: var(--spacing-sm);
  text-transform: uppercase;
  transition: color var(--transition-fast);
}

.newsletter-form button[type="submit"]:hover {
  color: var(--color-accent-hover);
}

.social-follow {
  margin-top: var(--spacing-xl);
}

.social-icons {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.social-icons a img {
  width: 30px;
  height: 30px;
  opacity: .8;
  transition: opacity var(--transition-fast);
}

.social-icons a:hover img {
  opacity: 1;
}

.footer-bottom {
  border-top: 1px solid var(--color-white);
  padding-top: var(--spacing-md);
  margin-top: var(--spacing-md);
  /* Create space with the columns above */
  text-align: center;
}

.footer-wrraper {
  padding: var(--spacing-xl) 0;
  border-top: 1px solid var(--color-accent-hover);
}

.footer-bottom .container {
  /* Ensure content in the container is centered */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-logo {
  font-size: 2.5rem;
  /* Font size for the logo */
  font-weight: var(--font-weight-bold);
  letter-spacing: 2px;
  line-height: 1;
  color: var(--color-text-primary);
  text-transform: uppercase;
  margin-bottom: var(--spacing-md);
}

.footer-logo .logo-v {
  color: var(--color-accent);
  /* Accent color for the letter 'V' */
}

.copyright-text {
  font-size: var(--font-size-xl);
  color: var(--color-text-secondary);
  margin: 0 0 var(--spacing-xs) 0;
  /* Remove default top/bottom margin of the p tag */
}

.payment-methods {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-md);
  /* Space between icons */
}

.footer-logo {
  height: 60px;
  width: 60px;
}

.payment-methods img {
  height: 24px;
  /* Fixed height for icons */
  width: auto;
}

/* 
----------------------------------------------
Responsive for Footer
----------------------------------------------
*/

@media (max-width: 992px) {
  .footer-container {
    /* Switch to 2 columns on tablet */
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .footer-container {
    /* Switch to 1 column on mobile */
    grid-template-columns: 1fr;
  }

  .company-info h4 {
    white-space: normal;
  }
}

.site-footer {
  padding: var(--section-padding-y) 0;
  padding-bottom: 0;
}


/*
==============================================
10.0 - Product Slider Section (Dá»±a trÃªn cáº¥u trÃºc má»›i)
==============================================
*/

/* --- Section & Header --- */
.product-slider-section .section-header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

.product-slider-section .section-header .section-title {
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: var(--line-height-heading);
  font-weight: var(--font-weight-normal);
  max-width: 900px;
  margin: var(--spacing-sm) auto 0;
  color: var(--color-text-primary);
}

/* --- Wrapper & Swiper Container --- */
.product-slider-wrapper {
  position: relative;

  /* ThÃªm khoáº£ng trá»‘ng hai bÃªn cho cÃ¡c mÅ©i tÃªn */
}

.swiper.product-swiper {
  padding: var(--spacing-xl) 0;
  /* ThÃªm padding trÃªn dÆ°á»›i cho swiper */
}

.swiper-wrapper {
  align-items: stretch;
  /* Äáº£m báº£o cÃ¡c slide cÃ³ chiá»u cao báº±ng nhau */
}

.swiper-slide {
  height: auto;
  /* Äá»ƒ slide tá»± co giÃ£n theo ná»™i dung */
}

/* --- Ãp dá»¥ng Style cho Tháº» Sáº£n Pháº©m BÃªn Trong Slider --- */
.product-swiper .minimal-product-card {
  border-top: 1px dashed var(--color-border);
  border-right: 1px dashed var(--color-border);
  border-bottom: 1px dashed var(--color-border);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  /* Quan trá»ng: lÃ m cho cÃ¡c tháº» cao báº±ng nhau */
}

/* ThÃªm viá»n trÃ¡i cho slide Ä‘áº§u tiÃªn Ä‘ang hiá»ƒn thá»‹ */
.product-swiper .swiper-slide-active .minimal-product-card {
  border-left: 1px dashed var(--color-border);
}


/* --- CÃ¡c thÃ nh pháº§n bÃªn trong tháº» sáº£n pháº©m (TÃ¡i sá»­ dá»¥ng code cÅ©) --- */
.minimal-product-card__inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 0;
}

.minimal-product-card__image-wrapper {
  position: relative;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
}

.minimal-product-card__image-wrapper img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  transition: opacity var(--transition-fast);
}

.minimal-product-card__image-wrapper a:hover img {
  opacity: 0.8;
}

.minimal-product-card__info {}

.minimal-product-card__details {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.minimal-product-card__price {
  font-family: 'Times New Roman', Times, serif;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}

.minimal-product-card__title {
  padding: var(--spacing-md) var(--spacing-lg) var(--spacing-xl);
  margin-top: auto;
}

.minimal-product-card__title a {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.minimal-product-card__title a:hover {
  color: var(--color-accent-hover);
}

/* --- Action Buttons (Giá»¯ nguyÃªn) --- */
.minimal-product-card__actions .add_to_cart_button,
.minimal-product-card__actions .btn--quick-view {
  background: none !important;
  border: none;
  padding: 0;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  text-decoration: none;
}

.minimal-product-card__actions .add_to_cart_button:hover,
.minimal-product-card__actions .btn--quick-view:hover {
  color: var(--color-accent-hover);
}

.minimal-product-card__actions .add_to_cart_button {
  text-indent: -9999px;
  position: relative;
}

.minimal-product-card__actions .add_to_cart_button::before {
  content: 'shopping_bag';
  font-family: 'Material Icons';
  text-indent: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  font-size: 22px;
  display: grid;
  place-items: center;
}

.minimal-product-card__actions .add_to_cart_button.loading::before,
.minimal-product-card__actions .add_to_cart_button.added::before {
  content: 'check';
}

.minimal-product-card__actions .btn--quick-view {
  font-size: 0;
}

.minimal-product-card__actions .btn--quick-view .material-icons {
  font-size: 22px;
}


/* --- NÃºt Ä‘iá»u hÆ°á»›ng & PhÃ¢n trang cá»§a Slider --- */
.product-slider-nav {
  color: var(--color-dark);
  top: 50%;
  /* Chá»‰nh vá»‹ trÃ­ mÅ©i tÃªn */
}

.product-slider-nav::after {
  font-size: 24px !important;
}

.swiper-button-prev.product-slider-nav {
  left: 0;
}

.swiper-button-next.product-slider-nav {
  right: 0;
}

.product-slider-pagination {
  position: relative;
  bottom: auto;
  margin-top: var(--spacing-xl);
}

.product-slider-pagination .swiper-pagination-bullet {
  background-color: var(--color-border);
  opacity: 1;
  width: 10px;
  height: 10px;
  transition: background-color var(--transition-fast);
}

.product-slider-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-accent-hover);
}


/* --- Responsive cho Slider --- */
@media (max-width: 768px) {
  .product-slider-wrapper {
    padding: 0;
  }

  .product-slider-nav {
    display: none;
  }
}


/*
==============================================
11.0 - Latest Blog Section
==============================================
*/

.latest-blog-section .section-header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}

/* --- Wrapper & Swiper Container --- */
.blog-slider-wrapper {
  position: relative;
  padding: 0 40px;
}

.swiper.blog-swiper {
  padding-bottom: 50px;
  /* Thêm padding dưới cho pagination */
}

.blog-swiper .swiper-wrapper {
  align-items: stretch;
  /* Đảm bảo các card cao bằng nhau */
}

.blog-swiper .swiper-slide {
  height: auto;
}

/* --- Thẻ bài viết (Áp dụng style quen thuộc) --- */
.blog-post-card {
  border: 1px dashed var(--color-border);
  display: flex;
  flex-direction: column;
  height: 100%;
  /* Quan trọng: làm cho các thẻ cao bằng nhau */
  background-color: var(--color-background);
}

/* --- Ảnh bài viết --- */
.blog-post-card__image-wrapper {
  display: block;
  aspect-ratio: 16 / 10;
  /* Giữ tỷ lệ khung hình nhất quán */
  overflow: hidden;
}

.blog-post-card__image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-smooth);
}

.blog-post-card:hover .blog-post-card__image-wrapper img {
  transform: scale(1.05);
}

/* --- Nội dung bài viết --- */
.blog-post-card__content {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  /* Quan trọng: đẩy nút Read More xuống dưới cùng */
}

/* Meta: Category, Date */
.blog-post-card__meta {
  display: flex;
  gap: var(--spacing-md);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  margin-bottom: var(--spacing-md);
  text-transform: uppercase;
}

.blog-post-card__meta .category {
  font-weight: var(--font-weight-bold);
  color: var(--color-accent-hover);
}

/* Title */
.blog-post-card__title {
  font-size: var(--font-size-h3);
  margin: 0;
  line-height: var(--line-height-heading);
}

.blog-post-card__title a {
  text-decoration: none;
  color: var(--color-text-primary);
  transition: color var(--transition-fast);
}

.blog-post-card__title a:hover {
  color: var(--color-accent-hover);
}

/* Excerpt */
.blog-post-card__excerpt {
  margin: var(--spacing-md) 0;
  flex-grow: 1;
  /* Quan trọng: Đẩy nút xuống dưới */
}

/* Actions: Nút Read More */
.blog-post-card__actions {
  margin-top: auto;
  /* Đảm bảo nó luôn ở dưới cùng */
}

.btn-read-more {
  font-family: var(--font-family-title);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  text-decoration: none;
  position: relative;
  padding-bottom: 5px;
}

/* Tạo gạch chân */
.btn-read-more::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-accent-hover);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-smooth);
}

.blog-post-card:hover .btn-read-more::after {
  transform: scaleX(1);
}


/* --- Nút điều hướng & Phân trang của Slider --- */
.blog-slider-nav {
  color: var(--color-dark);
  top: 40%;
  /* Chỉnh vị trí mũi tên */
}

.blog-slider-nav::after {
  font-size: 24px !important;
}

.swiper-button-prev.blog-slider-nav {
  left: 0;
}

.swiper-button-next.blog-slider-nav {
  right: 0;
}

.blog-slider-pagination {
  bottom: 0 !important;
  /* Đặt pagination ở dưới cùng */
}

.blog-slider-pagination .swiper-pagination-bullet {
  background-color: var(--color-border);
  opacity: 1;
  transition: background-color var(--transition-fast);
}

.blog-slider-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-accent-hover);
}


/* --- Responsive --- */
@media (max-width: 768px) {
  .blog-slider-wrapper {
    padding: 0;
  }

  .blog-slider-nav {
    display: none;
  }
}

/* Container chứa nội dung để căn giữa hoặc căn chỉnh tùy ý */
.slide-overlay-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; /* Căn giữa nút và chữ */
    text-align: center;
}

.btn-shop-now-wrapper {
    margin-top: 20px; /* Khoảng cách từ chữ đến nút */
}

.shop-now-button {
    display: inline-block;
    padding: 12px 30px;
    background-color: #000; /* Màu nền nút (ví dụ màu đen) */
    color: #fff;            /* Màu chữ trắng */
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 0px;     /* Để 0 nếu muốn nút vuông, hoặc 5px nếu muốn bo góc */
    transition: all 0.3s ease;
    border: 1px solid #000;
}

/* Hiệu ứng khi hover vào slide thì cái nút đổi màu */
.slide-image-link:hover .shop-now-button {
    background-color: #fff;
    color: #000;
    border-color: #000;
}