/*
Theme Name: Bafu Ginseng Child
Template: bafu-ginseng
Author: JayJay Ang
Version: 1.0
*/

/* Web Font */

@font-face {
  font-family: "ziti";
  src: url("./assets/css/webfonts/ZiTiQuanWeiJunHei-W3-2.ttf");
}

@font-face {
  font-family: "siyuan";
  src: url("./assets/css/webfonts/SourceHanSansSC-Bold-2.otf");
}

@font-face {
  font-family: "dingding jinbuti";
  src: url("./assets/css/webfonts/DingTalk JinBuTi.ttf");
}

@font-face {
  font-family: "dingding";
  src: url("./assets/css/webfonts/DingTalk Sans.ttf");
}

/* Default */

body {
  background-image: url("../../uploads/2026/02/bafu-background-scaled.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  font-size: 16px;
  position: relative;
  scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  background-clip: text;
  -webkit-background-clip: text;
  background-image: linear-gradient(90deg, #df301e 10%, #800000 50%);
  color: transparent;
  font-family: "ziti", sans-serif;
  margin: 0 0 10px;
  position: relative;
  width: fit-content;
  width: -webkit-fit-content;
}

/* H1 styling */

h1 {
  background: linear-gradient(90deg, #df301e 10%, #800000 50%);
  background-clip: text;
  -webkit-background-clip: text;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  color: transparent;
  display: inline-block;
  font-family: "ziti", sans-serif;
  margin: 0 0 10px;
  position: relative;
}

h1::before {
  background-color: #df301e;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transform: scaleX(0);
  transform-origin: left;
  width: 100%;
  z-index: 1;
}

h1.reveal-active {
  animation: textAppear 0.1s linear forwards;
  animation-delay: 0.5s;
}

h1.reveal-active::before {
  animation: boxSlide 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

/* --- KEYFRAMES (Same as before) --- */
@keyframes boxSlide {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  45% {
    transform: scaleX(1);
    transform-origin: left;
  }
  55% {
    transform: scaleX(1);
    transform-origin: right;
  }
  100% {
    transform: scaleX(0);
    transform-origin: right;
  }
}

@keyframes textAppear {
  to {
    background-size: 100% 100%;
  }
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin: 0;
}

.container {
  max-width: 1600px;
}

a {
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:visited {
  color: unset;
}

p {
  font-size: 16px;
  margin: 0 0 10px;
}

p:last-child {
  margin: 0;
}

/* Header & Footer */

nav.navbar a.navbar-brand img {
  margin: auto;
  max-width: 80px;
  width: 100%;
}

nav.navbar ul#menu-bafu-menu {
  align-items: center;
  display: flex;
  gap: 50px;
  justify-content: center;
  margin: 0;
  width: 100%;
}

nav.navbar ul#menu-bafu-menu li a {
  background-clip: text;
  -webkit-background-clip: text;
  background-image: linear-gradient(90deg, #df301e 0%, #800000 40%);
  color: transparent;
  font-family: "Lexend", sans-serif;
  font-weight: 700;
}

nav.navbar .socmed ul {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 20px;
  margin: 0;
  padding: 0;
}

nav.navbar .socmed ul li {
  background-color: #800000;
  border-radius: 50%;
  list-style: none;
  padding: 10px;
}

nav.navbar .socmed ul li img {
  max-width: 32px;
  width: 100%;
}

nav.navbar button.navbar-toggler {
  border: none;
  border-color: unset;
}

nav.navbar button.navbar-toggler:focus {
  box-shadow: none;
}

.footer-contact {
  background: linear-gradient(90deg, #df301e 10%, #800000 50%);
  padding: 40px 0;
}

.footer-contact ul {
  margin: 0 0 0 50px;
  padding: 0;
}

.footer-contact ul li {
  list-style: none;
  margin: 0 0 15px;
  position: relative;
}

.footer-contact ul li:before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: " ";
  left: -30px;
  height: 24px;
  position: absolute;
  top: 0;
  width: 24px;
}

.footer-contact ul li:last-child {
  margin: 0;
}

.footer-contact .social-media ul li.fb:before {
  background-image: url("../../../wp-content/uploads/2026/03/facebook.png");
}

.footer-contact .social-media ul li.whatsapp:before {
  background-image: url("../../../wp-content/uploads/2026/04/whatsapp2.png");
}

.footer-contact .op-hours ul li.clock:before {
  background-image: url("../../../wp-content/uploads/2026/04/clock.png");
}

.footer-contact .contact-info ul li.email:before {
  background-image: url("../../../wp-content/uploads/2026/04/mail.png");
}

.footer-contact .contact-info ul li.address:before {
  background-image: url("../../../wp-content/uploads/2026/04/location.png");
}

.footer-contact p,
.footer-contact p a {
  color: #ffffff;
}

footer {
  background-color: #fce9b6;
  padding: 25px 0;
}

footer ul {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

footer ul li a {
  background-clip: text;
  -webkit-background-clip: text;
  background-image: linear-gradient(90deg, #df301e 0%, #800000 40%);
  color: transparent;
  font-family: "Lexend", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
}

footer ul li a:hover {
  background-clip: text;
  -webkit-background-clip: text;
  background-image: linear-gradient(90deg, #df301e 0%, #800000 40%);
  color: transparent;
}

footer p.copyright {
  background-clip: text;
  -webkit-background-clip: text;
  background-image: linear-gradient(90deg, #df301e 0%, #800000 40%);
  color: transparent;
  font-weight: 700;
  margin: auto 0 auto auto;
  text-align: right;
  text-transform: uppercase;
  width: fit-content;
  width: -webkit-fit-content;
}

@media all and (max-width: 991px) {
  nav.navbar a.navbar-brand img {
    max-width: 60px;
  }

  nav.navbar ul#menu-bafu-menu {
    gap: 10px;
  }

  nav.navbar .socmed {
    justify-content: center;
    margin: 20px auto 10px;
  }

  nav.navbar button.navbar-toggler {
    align-items: center;
    display: flex;
  }

  nav.navbar button.navbar-toggler p {
    background-clip: text;
    -webkit-background-clip: text;
    background-image: linear-gradient(90deg, #df301e 0%, #800000 40%);
    color: transparent;
    font-family: "Lexend", sans-serif;
    font-weight: 700;
    margin: 0;
  }
}

@media all and (max-width: 767px) {
  .footer-contact ul {
    margin: 0 0 35px 50px;
  }

  footer ul {
    justify-content: center;
  }

  footer p.copyright {
    font-size: 14px;
    margin: 15px auto 0;
    text-align: center;
  }
}

/* Home */

.banner-wrapper .banner-content {
  margin: 3rem auto auto;
  position: relative;
  text-align: center;
  z-index: 1;
}

.banner-wrapper .banner-content h1 {
  font-size: 90px;
  margin: auto;
}

.banner-wrapper .banner-visual {
  margin: -11% auto auto;
  text-align: center;
}

.target-aud {
  padding: 5rem 0 2rem;
  text-align: center;
}

.target-aud h1 {
  font-size: 90px;
  margin: auto;
}

.point-list {
  padding: 0 0 5rem;
}

.point-list .point-card {
  background-color: #fff7ca;
  padding: 8px;
  --r: 20px;
  -webkit-mask:
    radial-gradient(circle at top left, transparent var(--r), #000 0) top left,
    radial-gradient(circle at top right, transparent var(--r), #000 0) top right,
    radial-gradient(circle at bottom right, transparent var(--r), #000 0) bottom
      right,
    radial-gradient(circle at bottom left, transparent var(--r), #000 0) bottom
      left;
  -webkit-mask-size: 51% 51%;
  -webkit-mask-repeat: no-repeat;
  mask:
    radial-gradient(circle at top left, transparent var(--r), #000 0) top left,
    radial-gradient(circle at top right, transparent var(--r), #000 0) top right,
    radial-gradient(circle at bottom right, transparent var(--r), #000 0) bottom
      right,
    radial-gradient(circle at bottom left, transparent var(--r), #000 0) bottom
      left;
  mask-size: 51% 51%;
  mask-repeat: no-repeat;
}

.point-list .bg-img {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  height: 180px;
  width: 100%;
  --r: 20px;
  -webkit-mask:
    radial-gradient(circle at top left, transparent var(--r), #000 0) top left,
    radial-gradient(circle at top right, transparent var(--r), #000 0) top right,
    linear-gradient(#000 0 0) bottom; /* Fills the bottom half */

  -webkit-mask-size:
    51% 51%,
    51% 51%,
    100% 51%; /* The last one is the bottom filler */
  -webkit-mask-repeat: no-repeat;

  mask:
    radial-gradient(circle at top left, transparent var(--r), #000 0) top left,
    radial-gradient(circle at top right, transparent var(--r), #000 0) top right,
    linear-gradient(#000 0 0) bottom;
  mask-size:
    51% 51%,
    51% 51%,
    100% 51%;
  mask-repeat: no-repeat;
}

.point-list .point-title {
  background-color: #ffffff;
  padding: 10px;
  --r: 20px;
  -webkit-mask:
    linear-gradient(#000 0 0) top,
    /* Fills the top half */
    radial-gradient(circle at bottom right, transparent var(--r), #000 0) bottom
      right,
    radial-gradient(circle at bottom left, transparent var(--r), #000 0) bottom
      left;

  -webkit-mask-size:
    100% 51%,
    51% 51%,
    51% 51%;
  -webkit-mask-repeat: no-repeat;

  mask:
    linear-gradient(#000 0 0) top,
    radial-gradient(circle at bottom right, transparent var(--r), #000 0) bottom
      right,
    radial-gradient(circle at bottom left, transparent var(--r), #000 0) bottom
      left;
  mask-size:
    100% 51%,
    51% 51%,
    51% 51%;
  mask-repeat: no-repeat;
}

.point-list .point-title h3 {
  font-family: "siyuan", sans-serif;
  font-size: 32px;
  margin: auto;
  text-align: center;
}

.point-list .point-result {
  margin: 3rem auto auto;
  text-align: center;
}

.effect {
  text-align: center;
}

.effect h1 {
  font-size: 90px;
  margin: auto;
}

.effect-point {
  padding: 0 0 10rem;
}

.effect-point ul {
  margin: 0;
  padding: 0;
}

.effect-point ul li {
  list-style: none;
}

.effect-point ul li {
  margin: -70px auto auto;
}

.effect-img {
  align-items: center;
  display: flex;
}

.effect-img img {
  margin: 30% auto auto -30px;
  max-width: 550px;
  width: 100%;
}

@media all and (max-width: 1024px) {
  .banner-wrapper .banner-content h1,
  .target-aud h1,
  .effect h1 {
    font-size: 60px;
  }

  .target-aud {
    padding: 3rem 0 2rem;
  }

  .point-list,
  .effect-point {
    padding: 0 0 3rem;
  }

  .effect-img img {
    margin: 20px auto auto -30px;
  }
}

@media all and (max-width: 991px) {
  .effect-img {
    display: none;
  }
}

@media all and (max-width: 767px) {
  .point-list .bg-img {
    height: 140px;
  }

  .point-list .point-title h3 {
    font-size: 26px;
  }

  .banner-wrapper .banner-content h1,
  .target-aud h1,
  .effect h1 {
    font-size: 40px;
  }

  .effect-point ul li {
    margin: -30px auto auto;
  }
}

@media all and (max-width: 500px) {
  .banner-wrapper .banner-content h1,
  .target-aud h1,
  .effect h1 {
    font-size: 30px;
  }

  .point-list .point-title h3 {
    font-size: 18px;
  }

  .effect-point ul li {
    margin: -15px auto auto;
  }
}

/* Product */

.pro-point {
  margin: 3rem auto 2rem;
  max-width: 1000px;
}

.pro-point .col {
  text-align: center;
}

.pro-point img {
  display: block;
  height: auto;
  margin: auto;
  max-width: 250px;
  width: 100%;

  /* 1. Initial State: Hidden & Pushed Down */
  opacity: 0;
  transform: translateY(40px); /* Moves image down 40px */

  /* 2. Transition Settings */
  transition:
    opacity 0.8s ease-out,
    transform 0.8s ease-out;
  will-change: opacity, transform; /* Optimization for smooth animation */
}

.pro-point img.reveal-active {
  opacity: 1;
  transform: translateY(0);
}

.pro-point .col:nth-child(2) img {
  transition-delay: 0.2s;
}

.pro-point .col:nth-child(3) img {
  transition-delay: 0.4s;
}

.benefit-bg {
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: 90%;
  padding: 5rem 0 0;
}

.ben-title h1 {
  align-items: center;
  display: flex;
  font-size: 90px;
  margin: auto auto 2rem;
}

.ben-title h1 span {
  font-size: 120px;
}

.benefit-bg .tech-card {
  margin: 0 0 30px;
}

.benefit-bg .tech-card h3 {
  font-family: "dingding jinbuti";
  font-size: 40px;
  line-height: 1;
}

.benefit-bg .tech-card h3 span {
  font-family: "dingding";
  font-size: 30px;
}

.main-int {
  padding: 5rem 0;
}

.main-int h1 {
  font-size: 90px;
  margin: auto auto 2rem;
  text-align: center;
}

.main-int .col {
  text-align: center;
  padding: 10px;
}

.main-int img {
  transition: transform 0.4s ease-in-out;
  width: 80%;
  cursor: pointer;
}

.highlight-row .col:first-child img {
  transform: scale(1.2);
}

.highlight-row:hover .col:first-child img {
  transform: scale(1);
}

.highlight-row .col:hover img {
  transform: scale(1.2);
}

.compare .compare-img {
  align-items: center;
  display: flex;
}

.compare .compare-img img {
  width: 100%;
}

.compare .compare-img:nth-child(3) img {
  max-width: 70%;
  width: 100%;
}

.compare,
.pro-rec,
.secure-prove,
.asia-brand {
  padding: 2rem 0 5rem;
}

.compare h1,
.pro-rec h1,
.secure-prove h1,
.asia-brand h1 {
  font-size: 90px;
  margin: auto auto 2rem;
}

.asia-brand h1 span {
  font-size: 70px;
}

.pro-rec .vid {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  display: flex;
  height: 400px;
  margin: auto;
  max-width: 90%;
  position: relative;
  width: 100%;
}

.pro-rec .vid:before {
  background-image: url("../../../wp-content/uploads/2026/02/play.png");
  background-position: center;
  background-size: 100%;
  content: " ";
  height: 80px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 80px;
}

.vid-box .modal-content {
  background-color: transparent;
  border: none;
  box-shadow: none;
  margin: auto;
  max-width: 500px;
}

.vid-box .video-wrapper {
  background: black;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.vid-box video {
  display: block;
  max-height: 80vh;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.vid-box .btn-close {
  background-color: white;
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  opacity: 1;
  padding: 10px;
  transform: translate(50%, -50%);
}

.brand-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 10px 0;
}

.brand-list li {
  display: flex;
  flex: 0 0 calc(10% - 20px);
  justify-content: center;
  max-width: calc(10% - 40px);
}

.brand-list li img {
  object-fit: contain;
  max-height: 80px;
  max-width: 100%;
  width: auto;
}

.secure-prove h5 {
  font-family: "dingding jinbuti";
  font-size: 40px;
  margin: auto;
}

.asia-brand h1 {
  line-height: 1;
  text-align: center;
}

.asia-brand .group-photo {
  padding: 2rem 0 0;
}

@media all and (max-width: 1200px) {
  .brand-list {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .brand-list li {
    flex: 1;
    margin-bottom: 0;
    max-width: none;
  }
}

@media all and (max-width: 1024px) {
  .ben-title h1,
  .main-int h1,
  .compare h1,
  .pro-rec h1,
  .secure-prove h1,
  .asia-brand h1 {
    font-size: 60px;
  }

  .asia-brand h1 span {
    font-size: 50px;
  }
}

@media all and (max-width: 991px) {
  .pro-point {
    margin: 3rem auto 1rem;
  }

  .pro-rec .vid {
    height: 300px;
  }

  .benefit-bg {
    padding: 3rem 0 0;
  }

  .main-int {
    padding: 3rem 0;
  }

  .secure-prove h5 {
    font-size: 26px;
  }

  .benefit-bg .tech-card h3 {
    font-size: 30px;
  }

  .benefit-bg .tech-card h3 span {
    font-size: 24px;
  }

  .compare .compare-img:nth-child(3) img {
    max-width: 100%;
  }

  .compare,
  .pro-rec,
  .secure-prove,
  .asia-brand {
    padding: 2rem 0;
  }
}

@media all and (max-width: 767px) {
  .pro-point img {
    max-width: 200px;
  }

  .ben-title h1,
  .main-int h1,
  .compare h1,
  .pro-rec h1,
  .secure-prove h1,
  .asia-brand h1 {
    font-size: 40px;
  }

  .ben-title h1 span {
    font-size: 90px;
  }

  .asia-brand h1 span {
    font-size: 30px;
  }

  .pro-point img {
    margin: auto auto 20px;
  }

  .brand-list {
    flex-wrap: wrap;
  }

  .brand-list li {
    flex: 0 0 calc(25% - 15px);
    max-width: calc(25% - 15px);
  }

  .asia-brand .group-photo {
    padding: 0;
  }

  .asia-brand img {
    margin: auto auto 15px;
  }

  .pro-rec .vid {
    margin: 0 auto 1rem;
  }
}

@media all and (max-width: 500px) {
  .pro-point img {
    max-width: 160px;
  }

  .benefit-bg .tech-card h3 {
    font-size: 18px;
  }

  .benefit-bg .tech-card h3 span {
    font-size: 16px;
  }

  .ben-title h1,
  .main-int h1,
  .compare h1,
  .pro-rec h1,
  .secure-prove h1,
  .asia-brand h1 {
    font-size: 30px;
  }

  .ben-title h1 span {
    font-size: 70px;
  }

  .asia-brand h1 span {
    font-size: 20px;
  }
}

/* Testimonial */

.symptom {
  padding: 3rem 0;
}

.symptom .question {
  text-align: center;
}

.symptom .question h3 {
  color: #411900;
  font-family: "siyuan", sans-serif;
  font-size: 40px;
  margin: auto auto 3rem;
}

.symptom .answer h3 {
  color: #800000;
  font-family: "siyuan", sans-serif;
  font-size: 40px;
  margin: auto auto 1rem;
}

.symptom .answer h5 {
  font-family: "dingding jinbuti", sans-serif;
  font-size: 30px;
  margin: auto;
}

.testimonial {
  background-image: linear-gradient(90deg, #df301e 0%, #800000 70%);
  padding: 4rem;
}

.testimonial h1 {
  color: #ffffff;
  font-size: 90px;
  margin: auto auto 2rem;
}

.testimonial .testimonial-image {
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  display: flex;
  margin: 0 auto 1rem;
  min-height: 400px;
  position: relative;
}

.testimonial .testimonial-image:before {
  background-image: url("../../../wp-content/uploads/2026/02/play-button.png");
  background-position: center;
  background-size: 100%;
  content: " ";
  height: 80px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 80px;
}

.product-sample .sample-box {
  padding: 5rem 0;
}

.product-sample .sample-box ul {
  align-items: center;
  background-color: #fffad4;
  border: 5px solid #fae6a3;
  border-radius: 50px;
  display: flex;
  flex-direction: row;
  margin: 0 0 2rem;
  padding: 0;
}

.product-sample .sample-box ul:nth-child(2) {
  flex-direction: row-reverse;
}

.product-sample .sample-box ul:last-child {
  margin: 0;
}

.product-sample .sample-box ul li {
  list-style: none;
  width: 100%;
}

.product-sample .sample-box ul > li:first-child {
  padding: 0 20px;
}

.product-sample .sample-box ul li h4 {
  font-size: 45px;
}

.product-sample .sample-box ul li p {
  color: #800000;
  font-family: "dingding jinbuti", sans-serif;
  font-size: 24px;
  line-height: 1.2;
}

.product-sample .sample-box ul li .product-bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-bottom-right-radius: 44px;
  border-top-right-radius: 44px;
  min-height: 160px;
}

.product-sample .sample-box ul:nth-child(2) li .product-bg {
  border-bottom-left-radius: 44px;
  border-bottom-right-radius: unset;
  border-top-left-radius: 44px;
  border-top-right-radius: unset;
}

.baking-powder {
  background-position: right;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 4rem 0;
}

.baking-powder h1 {
  font-size: 90px;
  margin: auto auto 2rem;
}

.baking-powder .tech-card {
  margin: 0 0 20px;
}

.baking-powder .tech-item {
  margin-bottom: 10px;
}

.baking-powder .tech-item h3 {
  font-family: "dingding jinbuti", sans-serif;
  font-size: 34px;
}

.baking-powder .imperial-banner {
  padding: 0 15px;
  text-align: center;
}

.baking-powder .imperial-banner h3 {
  color: #fae6a3;
  font-family: "dingding jinbuti", sans-serif;
}

.product-price {
  padding: 5rem 0;
}

.product-price h1 {
  font-size: 90px;
  margin: auto auto 2rem;
}

.product-price .col {
  position: relative;
  text-align: center;
  z-index: 1;
}

.product-price .col img {
  max-width: 80%;
  transition: transform 0.3s ease;
  width: 100%;
}

.product-price .col:last-child img {
  position: relative;
  transform: scale(1.2);
  transform-origin: bottom center;
  z-index: 10;
}

@media all and (max-width: 1024px) {
  .testimonial h1,
  .baking-powder h1,
  .product-price h1 {
    font-size: 60px;
  }

  .baking-powder {
    background-position: 60% 100%;
  }

  .product-sample .sample-box ul li h4 {
    font-size: 30px;
  }

  .product-price .col img {
    max-width: 90%;
  }
}

@media all and (max-width: 767px) {
  .testimonial h1,
  .baking-powder h1,
  .product-price h1 {
    font-size: 40px;
  }

  .symptom .question h3 {
    margin: auto auto 1rem;
  }

  .symptom .answer h5 {
    font-size: 24px;
  }

  .testimonial,
  .baking-powder {
    padding: 2rem;
  }

  .product-sample .sample-box,
  .product-price {
    padding: 3rem 0;
  }

  .baking-powder .tech-item h3 {
    font-size: 30px;
  }

  .product-price .col:last-child img {
    transform: scale(1);
  }

  .testimonial img {
    margin: 0 0 1rem;
  }

  .testimonial .text-center:last-child img {
    margin: 0;
  }

  .product-sample .sample-box ul,
  .product-sample .sample-box ul:nth-child(2) {
    flex-direction: column-reverse;
  }

  .product-sample .sample-box ul > li:first-child {
    padding: 0 15px 15px;
    text-align: center;
  }

  .product-sample .sample-box ul li h4 {
    margin: auto auto 15px;
  }

  .product-sample .sample-box ul li .product-bg {
    border-bottom-right-radius: 0;
    border-top-left-radius: 44px;
    border-top-right-radius: 44px;
    margin: 0 0 1rem;
  }

  .product-sample .sample-box ul:nth-child(2) li .product-bg {
    border-bottom-left-radius: unset;
    border-bottom-right-radius: unset;
    border-top-left-radius: 44px;
    border-top-right-radius: 44px;
  }

  .product-price .col img {
    margin: 0 0 1rem;
    max-width: 400px;
  }

  .baking-powder .imperial-banner h3 {
    font-size: 22px;
  }
}

@media all and (max-width: 500px) {
  .baking-powder {
    padding: 2rem 15px;
  }

  .baking-powder .tech-item h3 {
    font-size: 20px;
  }

  .baking-powder .imperial-banner h3 {
    font-size: 20px;
  }
}

/* FAQ */

.faq {
  padding: 5rem 0;
}

.faq h1 {
  font-size: 90px;
  margin: auto auto 2rem;
}

.faq .faq-list {
  margin: 0;
  padding: 0;
}

.faq .faq-list li {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0 0 2rem;
  position: relative;
}

.faq .faq-list li .ask {
  margin: 0 0 5px;
}

.faq .faq-list li .ask span {
  position: relative;
  width: 100%;

  /* 1. Font Settings */
  font-family: "ziti", sans-serif; /* Use your custom font */
  font-weight: 900; /* You need a thick font for this to look good */

  /* 2. The Colors */
  color: #fffbe0; /* The Light Cream/Yellow Fill */

  /* 3. The Border (Stroke) */
  -webkit-text-stroke: 4px #800000; /* 4px thickness, Dark Red color */

  /* 4. THE SECRET INGREDIENT */
  /* This ensures the stroke is drawn BEHIND the fill */
  /* If you remove this, the red border will make the yellow text look thin */
  paint-order: stroke fill;

  /* Optional: Adds a tiny drop shadow for extra 3D pop */
  filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.2));
}

.faq .faq-list li .ask span:before {
  border-bottom: 2px dotted #800000;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

.faq .faq-list li .ask,
.faq .faq-list li .ans {
  align-items: center;
  display: flex;
  font-size: 22px;
  min-height: 50px;
  padding: 0 0 0 60px;
}

.faq .faq-list li .ask {
  font-size: 30px;
}

.faq .faq-list li .ans {
  color: #800000;
  font-family: "dingding jinbuti", sans-serif;
  line-height: 1.2;
}

.faq .faq-list li:last-child {
  margin: 0;
}

.faq .faq-list .ask:before {
  align-items: center;
  background-color: #fae6a3;
  border-radius: 50px;
  display: flex;
  color: #800000;
  content: "问";
  font-family: "ziti", sans-serif;
  font-size: 25px;
  height: 50px;
  justify-content: center;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  width: 50px;
}

.faq .faq-list .ans:before {
  align-items: center;
  background-color: #800000;
  border-radius: 50px;
  display: flex;
  color: #ffffff;
  content: "答";
  font-family: "ziti", sans-serif;
  font-size: 25px;
  height: 50px;
  justify-content: center;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  width: 50px;
}

@media all and (max-width: 1024px) {
  .faq h1 {
    font-size: 60px;
  }
}

@media all and (max-width: 767px) {
  .faq {
    padding: 3rem 0;
  }

  .faq h1 {
    font-size: 40px;
  }

  .faq .faq-list li .ask {
    font-size: 26px;
  }

  .faq .faq-list li .ask,
  .faq .faq-list li .ans {
    align-items: flex-start;
  }

  .faq .faq-list .ask:before,
  .faq .faq-list .ans:before {
    font-size: 22px;
    height: 40px;
    width: 40px;
  }
}

@media all and (max-width: 500px) {
  .faq h1 {
    font-size: 30px;
  }

  .faq .faq-list li .ans {
    font-size: 20px;
  }
}

/************/

.imperial-banner {
  align-items: center;
  background: linear-gradient(to right, #df301e, #800000);
  border: 2px solid #fff7ca;
  border-radius: 40px;
  box-shadow: 3px 3px 0px #000000;
  display: flex;
  height: 70px;
  width: fit-content;
  width: -webkit-fit-content;
}

.tech-bracket {
  /* 1. Define the size of the "L" */
  width: 100%; /* Length of the horizontal bottom line */
  max-width: 600px; /* Cap the width */
  height: 100px; /* Height of the vertical left line */

  /* 2. Create the L-Shape using borders */
  border-left: 3px solid #df301e; /* The vertical line */
  border-bottom: 3px solid #df301e; /* The horizontal line */

  /* 3. The Curve */
  border-bottom-left-radius: 30px; /* Adjust this to make the curve tighter or wider */

  /* 4. Setup for the extra 'tick' mark */
  position: relative;
  box-sizing: border-box;

  /* Optional: Transparent background so it sits over things */
  background: transparent;
}

/* 3. The "Tick" Mark (The small line sticking out) */
.tech-bracket::before {
  content: "";
  position: absolute;

  /* Position it on the vertical line */
  top: 40px; /* How far down from the top the tick appears */
  left: 0; /* Aligns with the left border */

  /* Size of the tick */
  width: 20px; /* How long the tick is */
  height: 3px; /* Thickness (should match border thickness) */

  /* Color */
  background-color: #df301e;
}

/**/

/* 1. The Main Container (The Big Red L) */
.tech-card {
  /* Define the L-border */
  border-left: 2px solid #df301e;
  border-bottom: 2px solid #df301e;

  /* The big curve at the bottom left */
  border-bottom-left-radius: 50px;

  /* Spacing: This pushes the text away from the red line */
  padding: 30px 20px 20px 40px;

  /* Layout */
  width: 100%;
  /*max-width: 700px;*/
  position: relative; /* Anchor for the top tick mark */
  box-sizing: border-box;
}

.tech-item {
  position: relative; /* Needed for the connectors to position themselves */
  margin-bottom: 30px;
}

.tech-item:last-child {
  margin: 0;
}

/* Typography styles */
.tech-item h3 {
  margin: 0;
  font-size: 24px;
  color: #800000; /* Dark Red */
  font-weight: bold;
  line-height: 1.4;
}

.tech-item p {
  margin: 0;
  font-size: 16px;
  color: #8b0000;
  font-style: italic;
}

/* 4. The "Bridge" Connectors (For items with class .has-connector) */
.tech-item.has-connector::before {
  content: "";
  position: absolute;

  /* Positioning: Reach left towards the main border */
  left: -40px; /* Matches the container's left-padding */
  top: 50%; /* Center vertically */

  /* Size of the connector line */
  width: 25px;
  height: 2px;
  background-color: #df301e;
}

.tech-item.has-connector:has(h3 br)::before {
  top: 20%; /* Adjust this to match the height of your first line */
}

.page .prev-page {
  padding: 0 0 0 60px;
  position: relative;
  text-align: left;
}

.page .prev-page:before {
  background-image: url("../../../wp-content/uploads/2026/02/prev.png");
  background-position: center;
  background-size: 100%;
  bottom: 0;
  content: " ";
  height: 21px;
  left: 10px;
  position: absolute;
  width: 40px;
}

.page .next-page {
  padding: 0 60px 0 0;
  position: relative;
  text-align: right;
}

.page .next-page:before {
  background-image: url("../../../wp-content/uploads/2026/02/next.png");
  background-position: center;
  background-size: 100%;
  bottom: 0;
  content: " ";
  height: 21px;
  position: absolute;
  right: 10px;
  width: 40px;
}

.page .prev-page a,
.page .next-page a {
  color: #800000;
  font-weight: 800;
}

@media all and (min-width: 768px) {
  .page {
    display: none;
  }
}
