/* Font imports */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* Basic reset and font settings */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  background-color: #f9f7f2;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', 'Roboto', Arial, sans-serif;
  font-weight: 600;
  color: #06273B;
  margin-bottom: 15px;
}

/* Banner styling */
.product-banner {
  background-image: url('images/banners/banner-products.jpg');
  background-size: cover;
  background-position: center;
  height: 300px;
  position: relative;
  margin-bottom: 40px;
}

.product-banner-overlay {
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 15px;
}

.product-banner-overlay h1 {
  color: #fff;
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 15px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.product-banner-overlay p {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* Intro section */
.product-intro {
  margin-bottom: 40px;
  text-align: center;
}

.intro-text {
  font-size: 17px;
  line-height: 1.7;
  color: #444;
  font-weight: 400;
}

/* Category tabs */
.category-tabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 40px;
  padding: 0;
  border-bottom: 1px solid #ddd;
}

.category-tabs li {
  padding: 12px 24px;
  margin: 0 5px 10px;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: #555;
  border-radius: 4px 4px 0 0;
  transition: all 0.3s ease;
}

.category-tabs li.active {
  color: #06273B;
  font-weight: 600;
  border-bottom: 3px solid #f39c12;
  background-color: rgba(243, 156, 18, 0.1);
}

.category-tabs li:hover {
  color: #06273B;
  background-color: rgba(243, 156, 18, 0.05);
}

/* Product cards */
.product-card {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  margin-bottom: 30px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

.product-image {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.product-card:hover .product-image img {
  transform: scale(1.05);
}

.product-tags {
  position: absolute;
  top: 10px;
  left: 10px;
}

.product-tags span {
  display: inline-block;
  padding: 5px 10px;
  margin-right: 5px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 3px;
  color: #fff;
}

.tag-bestseller {
  background-color: #e74c3c;
}

.tag-new {
  background-color: #27ae60;
}

.tag-popular {
  background-color: #3498db;
}

.product-info {
  padding: 20px;
}

.product-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #06273B;
}

.product-specs {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
  font-size: 14px;
  color: #777;
}

.product-desc {
  margin-bottom: 15px;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
}

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

.price {
  font-size: 18px;
  font-weight: 700;
  color: #e74c3c;
}

.btn-add-to-cart {
  display: inline-block;
  padding: 8px 16px;
  background-color: #f39c12;
  color: #fff;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-add-to-cart:hover {
  background-color: #e67e22;
  color: #fff;
  text-decoration: none;
}

/* Info sections */
.info-box {
  background-color: #fff;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  margin-bottom: 30px;
  height: 100%;
}

.info-box h3 {
  color: #06273B;
  border-bottom: 2px solid #f39c12;
  padding-bottom: 10px;
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 600;
}

.info-box p {
  color: #444;
  font-size: 15px;
  line-height: 1.6;
}

/* Storage guide */
.product-size-guide {
  margin-top: 50px;
  margin-bottom: 50px;
}

.section-title {
  text-align: center;
  margin-bottom: 30px;
  color: #06273B;
  font-size: 28px;
  position: relative;
  padding-bottom: 15px;
}

.section-title:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background-color: #f39c12;
}

.storage-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.storage-icon {
  flex: 0 0 60px;
  margin-right: 15px;
}

.storage-icon img {
  max-width: 100%;
  height: auto;
}

.storage-content h4 {
  color: #06273B;
  font-size: 18px;
  margin-bottom: 10px;
}

.storage-content p {
  color: #555;
  font-size: 14px;
  line-height: 1.6;
}

/* Mobile responsive adjustments */
@media (max-width: 767px) {
  .product-banner {
    height: 200px;
  }
  
  .product-banner-overlay h1 {
    font-size: 28px;
  }
  
  .product-banner-overlay p {
    font-size: 16px;
  }
  
  .category-tabs li {
    padding: 8px 16px;
    font-size: 14px;
    margin-bottom: 5px;
  }
  
  .product-title {
    font-size: 16px;
  }
  
  .section-title {
    font-size: 24px;
  }
}

/* Fix Vietnamese font display */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
  unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Fix font rendering */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.banner_1 {
  background-repeat: no-repeat;
  padding: 5% 0%;
  display: flex;
  position: relative;
  align-items: center;
  min-height: 678px;
  background-size: 100% 100% !important;
  background: url("./images/products/san_pham_tu_chon/mooncake_2024/banner-1/background.png");
}

.banner_1 .right {
  padding-left: 30px;
  margin-top: 40px;
}

.banner_1 .icon-1 {
  position: absolute;
  top: 0px;
  left: 0px
}

.banner_1 .icon-2 {
  position: absolute;
  top: 0px;
  right: 10px;
}

.banner_1 .title {
  color: #E21B23;
  font-family: 'SVNPaulaNatalie';
}

.banner_1 .title .text_title {
  font-size: 44px;
  text-align: center;
}

.banner_1 .title .star-line {
  text-align: center;
  padding: 20px 0px;

  >img {
    width: 80%;
  }
}

.banner_1 .title_description {
  color: #E82E2D;
  font-size: 28px;
  font-family: 'SVNPaulaNatalie';
  margin: 25px 0px 10px;
}

.banner_1 .description {
  color: #754D24;
  font-size: 18px;
  font-family: "MyriadProBoldRegular";
  text-align: justify;
  line-height: 23px;
}

.banner_1 .product_1 {
  padding: 20px
}

.icon_phone {
  position: fixed;
  z-index: 19;
  bottom: 90px;
  right: 0;
}

.icon_phone>div>img {
  width: 96px;
}

.icon_phone>div>a>img {
  width: 96px;
}

.bg_product {
  background-repeat: no-repeat;
  padding-top: 50px;
  background-size: 100% 100% !important;
  background: url("./images/products/san_pham_tu_chon/mooncake_2024/banner-2/background-2.png");
}

.banner_2 {
  border: 4px solid #D0AB72;
  border-radius: 20px;
  padding: 20px;
  position: relative;
}

.banner_2 .product {
  >img {
    position: absolute;
    width: 25%;
    bottom: 0px;
    right: 0px;
  }

}

.banner_2 .header {
  width: 100%;
  margin-top: -46px;
  display: flex;
  justify-content: center;
}

.banner_2 .header .title_header {
  background: #00358F;
  color: #ffffff;
  padding: 5px 90px 5px;
  font-size: 26px;
  font-family: "UTM Bebas";
  border-radius: 30px
}

.banner_2 .product {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}

.banner_2 .product_1 {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.banner_2 .product .img_product {
  width: 210px
}

.banner_2 .product_1 .img_product {
  width: 360px;
}

.banner_2 .product_1 .info_product {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.banner_2 .info_product {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.banner_2 .info_product .header_info_product {
  display: flex;
  align-items: center;
  width: fit-content;
}

.banner_2 .info_product .header_info_product .ic_new {
  font-family: 'Roboto';
  font-style: italic;
  font-size: 10px;
  background: #E82E2D;
  border-radius: 6px 0px;
  color: #ffffff;
  font-weight: 700;
  padding: 0px 2px;
  margin-right: 3px;
  margin-bottom: 2px;
}

.banner_2 .info_product .header_info_product .name_product {
  font-family: 'MyriadProBold';
  font-size: 20px;
  color: #754D24;
  text-transform: uppercase;
}

.banner_2 .info_product .weight {
  font-family: 'UTM Times';
  font-size: 18px;
  margin-top: 5px;
  color: #754D24;
}

.banner_3 {
  min-height: 768px;
  display: flex;
  align-items: center;
  background-color: #00358F;
  position: relative;
}

.banner_3 .icon_1 {
  position: absolute;
  top: 0;
  left: 12%;
  width: 15%;
}

.banner_3 .icon_2 {
  position: absolute;
  top: 0;
  right: 12%;
  width: 15%;
}

.banner_3 .title_info {
  text-align: center;
  color: #ffffff;
  font-family: "UTM Bebas";
  font-size: 42px;
  margin-bottom: 50px;
}

.banner_3 .body_info {
  display: flex;
  justify-items: center;
  flex-direction: column;
  align-items: center;
}

.banner_3 .body_info .form {
  max-width: 550px;
  width: 100%;
}

.banner_3 .body_info .form>div>label {
  color: #ffffff;
  margin-top: 10px;
  font-weight: 400;
}

.banner_3 .body_info .footer_info>button {
  width: 214px;
  background: #1b77ff;
  border-radius: 10px;
  color: #ffffff;
  font-size: 18px;
  margin-top: 20px;
}

@media (min-width: 1900px) {}

@media (max-width: 1200px) {
  .banner_2 .product .img_product {
    width: 180px;
  }
}

@media (max-width: 992px) {
  .banner_1 {
    padding-top: 20%;
  }

  .banner_1 .title_description {
    text-align: center;
  }

  .banner_1 .right {
    padding-left: 0px;
  }

  .banner_1 .ic_mb_left {
    position: absolute;
    top: 5%;
    width: 20%;
  }

  .banner_1 .product_mb_1 {
    position: absolute;
    width: 50%;
    left: 15%;
    top: 40%;
    z-index: 222;
  }

  .banner_1 .product_1 {
    display: none;
  }

  .banner_1 .ic_mb_right {
    position: absolute;
    top: 30%;
    right: 0;
    width: 20%;
  }

  .banner_2 .info_product .header_info_product {
    display: block;
  }

  .banner_2 .info_product .header_info_product .ic_new {
    width: fit-content;
    height: 13px;
  }

  .banner_2 .product .img_product {
    width: 210px;
  }

  .banner_2 .product {
    >img {
      width: 45%;
    }
  }

  .banner_2 .info_product .header_info_product .name_product {
    font-size: 16px;
  }

  .banner_2 .product_1 .img_product {
    width: 280px
  }

  .banner_3 .icon_1 {
    width: 17%;
  }

  .banner_3 .icon_2 {
    width: 17%;
  }
}

@media (max-width: 767px) {
  .banner_2 .header {
    margin-top: -40px;
  }

  .banner_2 .header .title_header {
    padding: 5px 70px 5px;
    font-size: 20px;
  }

  .banner_2 .product_1 .img_product {
    width: 220px
  }

  .banner_3 {
    min-height: 678px;
  }

  .banner_3 .icon_1 {
    width: 22%;
  }

  .banner_3 .icon_2 {
    width: 22%;
  }
}

@media (max-width: 576px) {

  .banner_1 .icon-2 {
    > img {
      width: 80%;
    }
  }

  .bg_product .p-5 {
    padding: 1rem !important;
  }

  .banner_2 .row .col-xs-6 {
    padding-left: 5px;
    padding-right: 5px;
  }

  .banner_2 .info_product .weight {
    font-size: 14px;
  }

  .banner_1 {
    padding-top: 35%;
  }

  .banner_1 .ic_mb_left {
    width: 30%;
  }

  .banner_1 .description {
    font-size: 18px;
  }

  .banner_2 .product .img_product {
    width: 170px;
  }
}

@media (max-width: 475px) {
  .banner_2 .product .img_product {
    width: 130px;
  }

  .banner_2 .product {
    >img {
      width: 45%;
    }
  }

  .banner_2 .header .title_header {
    padding: 5px 50px 5px;
    font-size: 20px;
  }
}

@media (max-width: 420px) {
  .banner_2 .product .img_product {
    width: 110px;
  }

  .banner_2 .product {
    margin-top: 20px;
    >img {
      width: 50%;
    }
  }
}

.iframe>.container {
  width: 100% !important
}

.error {
  width: 100%;
  margin-top: 0.25rem;
  font-size: 10px;
  color: red;
}