@import 'https://fonts.googleapis.com/css?family=Raleway:400,500,600,700|Roboto:400,500,700';

body {
  background: #fff;
  font-family: 'Noto Sans TC', 'Raleway', sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 14px;
  line-height: 24px;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  scroll-behavior: smooth;

}

.img {
  max-width: 100%;
  transition: all 0.3s ease-out 0s;
}

a,
.btn {
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}

.btn {
  border-radius: 0px;
  font-size: 14px;
  padding: 0px 15px;
  height: 30px;
  line-height: 30px;
}

a:focus,
.btn:focus {
  text-decoration: none;
  outline: none;
}

a:focus,
a:hover {
  color: #131313;
  text-decoration: none;
}

a,
button,
input {
  outline: medium none;
  color: #666666;
}

.uppercase {
  text-transform: uppercase
}

.capitalize {
  text-transform: capitalize
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 10px;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: inherit
}

h1 {
  font-size: 48px;
  line-height: 1;
  font-weight: 600;
}

@media screen and (max-width: 992px) {
  h1 {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  h1 {
    font-size: 30px;
  }
}

h2 {
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
}

@media screen and (max-width: 992px) {
  h2 {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  h2 {
    font-size: 26px;
  }
}

h3 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

@media screen and (max-width: 992px) {
  h3 {
    font-size: 22px;
  }
}

@media screen and (max-width: 768px) {
  h3 {
    font-size: 22px;
  }
}

h4 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
}

@media screen and (max-width: 992px) {
  h4 {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  h4 {
    font-size: 18px;
  }
}

h5 {
  font-size: 18px;
}

@media screen and (max-width: 992px) {
  h5 {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {
  h5 {
    font-size: 14px;
  }
}

h6 {
  font-size: 14px;
}

@media screen and (max-width: 992px) {
  h6 {
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  h6 {
    font-size: 12px;
  }
}

p {
  font-size: 18px;
  /* font-weight: normal; */
  line-height: 1.5;
  color: #333333;
}

@media screen and (max-width: 992px) {
  p {
    font-size: 14px;
  }
}

@media screen and (max-width: 768px) {
  p {
    font-size: 14px;
  }
}

ul {
  margin: 0px;
  padding: 0px;
}

li {
  list-style: none;
}

hr {
  border-top: 1px dashed #c9ac6e
}

hr.style-2 {
  border-bottom: 1px dashed #eceff8;
}

hr.mp-0 {
  margin: 0;
  border-bottom: 1px solid #eceff8;
}

hr.mtb-40 {
  margin: 40px 0;
  border-bottom: 1px solid #eceff8;
  border-top: 0px;
}

label {
  color: #999;
  font-size: 14px;
  font-weight: 400;
}

*::-moz-selection {
  background: #4fc1f0;
  color: #fff;
  text-shadow: none;
}

::-moz-selection {
  background: #4fc1f0;
  color: #fff;
  text-shadow: none;
}

::selection {
  background: #4fc1f0;
  color: #fff;
  text-shadow: none;
}

button:focus {
  outline: none;
}

.mark,
mark {
  background: #131313 none repeat scroll 0 0;
  color: #fff;
}

span.tooltip-content {
  color: #131313;
  cursor: help;
  font-weight: 600;
}

.f-left {
  float: left
}

.f-right {
  float: right
}

.fix {
  overflow: hidden
}

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

.g-font-1 {
  font-family: "Raleway", sans-serif;
}

.g-font-2 {
  font-family: 'Roboto', sans-serif;
}

.font-w-5 {
  font-weight: 500;
}

.font-w-6 {
  font-weight: 600;
}

.font-w-7 {
  font-weight: 700;
}

.panel {
  border-radius: 0;
}

.section {
  float: left;
  width: 100%;
}

@media only screen and (min-width: 992px) {
  .container {
    --bs-gutter-x: 15px;
  }
}

@media only screen and (min-width: 992px) {
  .container .row {
    --bs-gutter-x: 30px;
  }
}

.breadcrumb>li+li:before {
  padding: 0 5px;
  color: #ccc;
  content: "/\00a0";
}

.progress {
  height: 20px;
  line-height: 20px;
  font-size: 14px;
}

input[type="checkbox"] {
  vertical-align: middle;
  margin-right: 5px;
}

a.button::after,
a.button-small::after {
  -webkit-transition: all 0.3s ease-out 0s;
  -moz-transition: all 0.3s ease-out 0s;
  -ms-transition: all 0.3s ease-out 0s;
  -o-transition: all 0.3s ease-out 0s;
  transition: all 0.3s ease-out 0s;
}

.share ul,
.share:hover ul {
  transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
}

a.button-border span,
a.button-border-white span,
input,
select,
textarea {
  -webkit-transition: all 0.5s ease-out 0s;
  -moz-transition: all 0.5s ease-out 0s;
  -ms-transition: all 0.5s ease-out 0s;
  -o-transition: all 0.5s ease-out 0s;
  transition: all 0.5s ease-out 0s;
}

a.button {
  background: #ec3b05;
  border: 0 none;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03) inset;
  color: rgb(255, 255, 255);
  cursor: pointer;
  display: inline-block;
  font-size: 20px;
  margin-right: 10px;
  overflow: hidden;
  padding: 0;
  position: relative;
}

a.button span {
  display: block;
  float: left;
  position: relative;
  z-index: 2;
  padding: 11px 20px;
  font-size: 15px;
  color: #fff;
  font-weight: normal;
}

a.button::after {
  background: rgba(0, 0, 0, 0.09) none repeat scroll 0 0;
  content: "";
  height: 100%;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  z-index: 1;
}

a.button:hover::after {
  width: 100%
}

a.button.button-white {
  border: 0 none;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03) inset;
  cursor: pointer;
  display: inline-block;
  margin-right: 10px;
  overflow: hidden;
  padding: 0;
  position: relative;
  background-color: #fff;
  color: #4FC1F0;
  font-size: 15px;
}

a.button.button-white i {
  background: rgba(0, 0, 0, 0.09);
  display: block;
  float: left;
  padding: 14px;
  font-size: 16px;
  color: #4FC1F0;
  font-weight: normal;
  width: 50px;
  text-align: center;
}

a.button.button-white span {
  display: block;
  float: left;
  position: relative;
  z-index: 2;
  padding: 11px 20px;
  font-size: 15px;
  color: #434343;
  font-weight: normal;
}

a.button.button-grey {
  border: 0 none;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03) inset;
  cursor: pointer;
  display: inline-block;
  margin-right: 10px;
  overflow: hidden;
  padding: 0;
  position: relative;
  background-color: #eceff7;
  color: #4FC1F0;
  font-size: 15px;
}

a.button.button-grey i {
  background: rgba(0, 0, 0, 0.09);
  display: block;
  float: left;
  padding: 14px;
  font-size: 16px;
  color: #4FC1F0;
  font-weight: normal;
  width: 50px;
  text-align: center;
}

a.button.button-grey span {
  display: block;
  float: left;
  position: relative;
  z-index: 2;
  padding: 11px 20px;
  font-size: 15px;
  color: #4FC1F0;
  font-weight: normal;
}

a.button.button-black {
  border: 0 none;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03) inset;
  cursor: pointer;
  display: inline-block;
  margin-right: 10px;
  overflow: hidden;
  padding: 0;
  position: relative;
  background-color: #575757;
  color: #4FC1F0;
  font-size: 15px;
}

a.button.button-black i {
  background: rgba(0, 0, 0, 0.3);
  display: block;
  float: left;
  padding: 14px;
  font-size: 16px;
  color: #fff;
  font-weight: normal;
  width: 50px;
  text-align: center;
}

a.button.button-black span {
  display: block;
  float: left;
  position: relative;
  z-index: 2;
  padding: 11px 20px;
  font-size: 15px;
  color: #fff;
  font-weight: normal;
}

a.button-border span {
  border: 0 none;
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  padding: 11px 20px;
  margin-right: 10px;
  overflow: hidden;
  position: relative;
  background-color: transparent;
  color: #4FC1F0;
  font-size: 15px;
  border: 1px solid #4FC1F0;
}

a.button-border span:hover {
  box-shadow: -200px 0 0 #4FC1F0 inset;
  color: #fff;
  border-color: #4FC1F0;
}

a.button-border-white span {
  border: 0 none;
  border-radius: 3px;
  cursor: pointer;
  display: inline-block;
  padding: 11px 20px;
  margin-right: 10px;
  overflow: hidden;
  position: relative;
  background-color: transparent;
  color: #fff;
  font-size: 15px;
  border: 1px solid #fff;
}

a.button-border-white span:hover {
  box-shadow: -200px 0 0 #fff inset;
  color: #4FC1F0;
  border-color: #fff;
}

a.button-small {
  border: 0 none;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03) inset;
  cursor: pointer;
  display: inline-block;
  margin-right: 10px;
  overflow: hidden;
  padding: 0;
  position: relative;
  background-color: #4FC1F0;
  color: #fff;
  font-size: 15px;
}

a.button-small i {
  background: rgba(0, 0, 0, 0.09);
  display: block;
  float: left;
  padding: 10px;
  font-size: 13px;
  color: #fff;
  font-weight: normal;
  width: 40px;
  text-align: center;
}

a.button-small span {
  display: block;
  float: left;
  position: relative;
  z-index: 2;
  padding: 8px 10px;
  font-size: 13px;
  color: #fff;
  font-weight: normal;
}

a.button-small:after {
  background: rgba(0, 0, 0, 0.09) none repeat scroll 0 0;
  content: "";
  height: 100%;
  right: 0;
  position: absolute;
  top: 0;
  width: 0;
  z-index: 1;
}

a.button-small:hover::after {
  width: 100%
}

a.button.large {
  margin-right: 0px;
}

a.button.large span {
  padding: 16px 80px;
  font-size: 18px;
}

a.button.large i {
  padding: 20px;
  width: 60px;
  font-size: 18px;
}

a.button.medium span {
  padding: 14px 60px;
  font-size: 16px;
}

a.button.medium i {
  padding: 17px;
  width: 50px;
  font-size: 16px;
}

a.button.small span {
  padding: 12px 40px;
}

a.button.small i {
  padding: 15px;
  width: 45px;
}

a.button.extra-small span {
  padding: 8px 30px;
  font-size: 14px;
}

a.button.extra-small i {
  padding: 11px;
  width: 38px;
  font-size: 13px;
}

.text-blue {
  color: #4FC1F0;
}

.text-white {
  color: #fff;
}

.text-black-1 {
  color: #575757;
}

.text-black-2 {
  color: #737373;
}

.text-black-3 {
  color: #434343;
}

.text-black-4 {
  color: #999;
}

.text-black-5 {
  color: #666;
}

.text-gray {
  color: #666;
}

.text-theme {
  color: #131313;
}

input[type="text"],
input[type="password"],
input[type="email"] {
  background: #fff none repeat scroll 0 0;
  border: 1px solid transparent;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  color: #999999;
  font-size: 16px;
  height: 40px;
  margin-bottom: 20px;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}

.form-group .form-control {
  font-size: 16px;
}

button {
  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
  border: medium none;
  font-family: raleway;
}

select,
select.form-control {
  border: 1px solid #eeeeee;
  color: #999999;
  font-size: 16px;
  height: 40px;
  padding-left: 10px;
}

option {
  background: #ffffff none repeat scroll 0 0;
  border: 0 solid #626262;
  font-size: 16px;
  padding-left: 10px;
}

.togglePassword {
  font-size: 16px;
  padding: 2px 12px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus {
  border: 1px solid #FFBF7F;
}

textarea {
  background: #ffffff none repeat scroll 0 0;
  border: 1px solid transparent;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  padding: 10px 10px 10px 20px;
  resize: vertical;
  width: 100%;
}

textarea:focus {
  border-color: #131313;
  outline: none;
}

.height-80 {
  height: 80px;
}

::-moz-placeholder {
  color: #444;
  font-size: 14px;
}

.submit-btn {
  background: rgb(255, 127, 0) none repeat scroll 0 0;
  border: medium none;
  color: rgb(255, 255, 255);
  font-size: 14px;
  font-weight: 700;
  height: 35px;
  padding: 0 20px;
  text-transform: uppercase;
  transition: all 0.3s ease 0s;
}

.btn-hover-1,
.btn-hover-2 {
  position: relative;
}

.btn-hover-1::before,
.btn-hover-2::before {
  background: #434343 none repeat scroll 0 0;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transition: all 0.5s ease 0s;
  width: 0;
  z-index: 9999;
}

.btn-hover-1:hover::before,
.btn-hover-2:hover::before {
  width: 100%;
}

.btn-hover-2::before {
  background: #131313 none repeat scroll 0 0;
}

.m-0 {
  margin: 0;
}

.p-0 {
  padding: 0;
}

.mt-0 {
  margin-top: 0
}

.mt-1 {
  margin-top: 1px
}

.mt-2 {
  margin-top: 2px
}

.mt-3 {
  margin-top: 3px
}

.mt-4 {
  margin-top: 4px
}

.mt-5 {
  margin-top: 5px
}

.mt-10 {
  margin-top: 10px
}

.mt-15 {
  margin-top: 15px
}

.mt-20 {
  margin-top: 20px
}

.mt-30 {
  margin-top: 30px
}

.mt-35 {
  margin-top: 35px
}

.mt-40 {
  margin-top: 40px
}

.mt-50 {
  margin-top: 50px
}

.mt-60 {
  margin-top: 60px
}

.mt-70 {
  margin-top: 70px
}

.mt-80 {
  margin-top: 80px
}

.mt-90 {
  margin-top: 90px
}

.mt-100 {
  margin-top: 100px
}

.mt-110 {
  margin-top: 110px
}

.mt-120 {
  margin-top: 120px
}

.mt-130 {
  margin-top: 130px
}

.mt-140 {
  margin-top: 140px
}

.mt-150 {
  margin-top: 150px
}

.mr-0 {
  margin-right: 0px
}

.mr-1 {
  margin-right: 1px
}

.mr-2 {
  margin-right: 2px
}

.mr-3 {
  margin-right: 3px
}

.mr-4 {
  margin-right: 4px
}

.mr-5 {
  margin-right: 5px
}

.mr-10 {
  margin-right: 10px
}

.mr-15 {
  margin-right: 15px
}

.mr-20 {
  margin-right: 20px
}

.mr-30 {
  margin-right: 30px
}

.mr-40 {
  margin-right: 40px
}

.mr-50 {
  margin-right: 50px
}

.mr-60 {
  margin-right: 60px
}

.mr-70 {
  margin-right: 70px
}

.mr-80 {
  margin-right: 80px
}

.mr-90 {
  margin-right: 90px
}

.mr-100 {
  margin-right: 100px
}

.mr-110 {
  margin-right: 110px
}

.mr-120 {
  margin-right: 120px
}

.mr-130 {
  margin-right: 130px
}

.mr-140 {
  margin-right: 140px
}

.mr-150 {
  margin-right: 150px
}

.mb-0 {
  margin-bottom: 0
}

.mb-1 {
  margin-bottom: 1px
}

.mb-2 {
  margin-bottom: 2px
}

.mb-3 {
  margin-bottom: 3px
}

.mb-4 {
  margin-bottom: 4px
}

.mb-5 {
  margin-bottom: 5px
}

.mb-10 {
  margin-bottom: 10px
}

.mb-15 {
  margin-bottom: 15px
}

.mb-20 {
  margin-bottom: 20px
}

.mb-25 {
  margin-bottom: 25px
}

.mb-30 {
  margin-bottom: 30px
}

.mb-35 {
  margin-bottom: 35px
}

.mb-40 {
  margin-bottom: 40px
}

.mb-50 {
  margin-bottom: 50px
}

.mb-60 {
  margin-bottom: 60px
}

.mb-70 {
  margin-bottom: 70px
}

.mb-80 {
  margin-bottom: 80px
}

.mb-90 {
  margin-bottom: 90px
}

.mb-100 {
  margin-bottom: 100px
}

.mb-110 {
  margin-bottom: 110px
}

.mb-120 {
  margin-bottom: 120px
}

.mb-130 {
  margin-bottom: 130px
}

.mb-140 {
  margin-bottom: 140px
}

.mb-150 {
  margin-bottom: 150px
}

.ml-0 {
  margin-left: 0
}

.ml-1 {
  margin-left: 1px
}

.ml-2 {
  margin-left: 2px
}

.ml-3 {
  margin-left: 3px
}

.ml-4 {
  margin-left: 4px
}

.ml-5 {
  margin-left: 5px
}

.ml-10 {
  margin-left: 10px
}

.ml-15 {
  margin-left: 15px
}

.ml-20 {
  margin-left: 20px
}

.ml-30 {
  margin-left: 30px
}

.ml-40 {
  margin-left: 40px
}

.ml-50 {
  margin-left: 50px
}

.ml-60 {
  margin-left: 60px
}

.ml-70 {
  margin-left: 70px
}

.ml-80 {
  margin-left: 80px
}

.ml-90 {
  margin-left: 90px
}

.ml-100 {
  margin-left: 100px
}

.ml-110 {
  margin-left: 110px
}

.ml-120 {
  margin-left: 120px
}

.ml-130 {
  margin-left: 130px
}

.ml-140 {
  margin-left: 140px
}

.ml-150 {
  margin-left: 150px
}

.pt-0 {
  padding-top: 0
}

.pt-10 {
  padding-top: 10px
}

.pt-15 {
  padding-top: 15px
}

.pt-20 {
  padding-top: 20px
}

.pt-30 {
  padding-top: 30px
}

.pt-40 {
  padding-top: 40px
}

.pt-50 {
  padding-top: 50px
}

.pt-55 {
  padding-top: 55px
}

.pt-60 {
  padding-top: 60px
}

.pt-70 {
  padding-top: 70px
}

.pt-80 {
  padding-top: 80px
}

.pt-90 {
  padding-top: 90px
}

.pt-100 {
  padding-top: 100px
}

.pt-110 {
  padding-top: 110px
}

.pt-120 {
  padding-top: 120px
}

.pt-130 {
  padding-top: 130px
}

.pt-140 {
  padding-top: 140px
}

.pt-150 {
  padding-top: 150px
}

.pt-160 {
  padding-top: 160px
}

.pr-0 {
  padding-right: 0
}

.pr-10 {
  padding-right: 10px
}

.pr-15 {
  padding-right: 15px
}

.pr-20 {
  padding-right: 20px
}

.pr-30 {
  padding-right: 30px
}

.pr-40 {
  padding-right: 40px
}

.pr-50 {
  padding-right: 50px
}

.pr-60 {
  padding-right: 60px
}

.pr-70 {
  padding-right: 70px
}

.pr-80 {
  padding-right: 80px
}

.pr-90 {
  padding-right: 90px
}

.pr-100 {
  padding-right: 100px
}

.pr-110 {
  padding-right: 110px
}

.pr-120 {
  padding-right: 120px
}

.pr-130 {
  padding-right: 130px
}

.pr-140 {
  padding-right: 140px
}

.pb-0 {
  padding-bottom: 0
}

.pb-10 {
  padding-bottom: 10px
}

.pb-15 {
  padding-bottom: 15px
}

.pb-20 {
  padding-bottom: 20px
}

.pb-25 {
  padding-bottom: 25px
}

.pb-30 {
  padding-bottom: 30px
}

.pb-40 {
  padding-bottom: 40px
}

.pb-50 {
  padding-bottom: 50px
}

.pb-55 {
  padding-bottom: 55px
}

.pb-60 {
  padding-bottom: 60px
}

.pb-70 {
  padding-bottom: 70px
}

.pb-80 {
  padding-bottom: 80px
}

.pb-90 {
  padding-bottom: 90px
}

.pb-100 {
  padding-bottom: 100px
}

.pb-110 {
  padding-bottom: 110px
}

.pb-120 {
  padding-bottom: 120px
}

.pb-130 {
  padding-bottom: 130px
}

.pb-140 {
  padding-bottom: 140px
}

.pb-150 {
  padding-bottom: 150px
}

.pb-160 {
  padding-bottom: 160px
}

.pl-0 {
  padding-left: 0
}

.pl-10 {
  padding-left: 10px
}

.pl-15 {
  padding-left: 15px
}

.pl-20 {
  padding-left: 20px
}

.pl-30 {
  padding-left: 30px
}

.pl-40 {
  padding-left: 40px
}

.pl-50 {
  padding-left: 50px
}

.pl-60 {
  padding-left: 60px
}

.pl-70 {
  padding-left: 70px
}

.pl-80 {
  padding-left: 80px
}

.pl-90 {
  padding-left: 90px
}

.pl-100 {
  padding-left: 100px
}

.pl-110 {
  padding-left: 110px
}

.pl-120 {
  padding-left: 120px
}

.pl-130 {
  padding-left: 130px
}

.pl-140 {
  padding-left: 140px
}

.pl-150 {
  padding-left: 150px
}

.ptb-0 {
  padding: 0
}

.ptb-5 {
  padding: 5px 0
}

.ptb-10 {
  padding: 10px 0
}

.ptb-20 {
  padding: 20px 0
}

.ptb-30 {
  padding: 30px 0
}

.ptb-40 {
  padding: 40px 0
}

.ptb-50 {
  padding: 50px 0
}

.ptb-60 {
  padding: 60px 0
}

.ptb-70 {
  padding: 70px 0
}

.ptb-80 {
  padding: 80px 0
}

.ptb-90 {
  padding: 90px 0
}

.ptb-100 {
  padding: 100px 0
}

.ptb-110 {
  padding: 110px 0
}

.ptb-120 {
  padding: 120px 0
}

.ptb-130 {
  padding: 130px 0
}

.ptb-140 {
  padding: 140px 0
}

.ptb-150 {
  padding: 150px 0
}

.ptb-160 {
  padding: 160px 0
}

.mtb-0 {
  margin: 0
}

.mtb-5 {
  margin: 5px 0
}

.mtb-10 {
  margin: 10px 0
}

.mtb-15 {
  margin: 15px 0
}

.mtb-20 {
  margin: 20px 0
}

.mtb-30 {
  margin: 30px 0
}

.mtb-35 {
  margin: 35px 0
}

.mtb-40 {
  margin: 40px 0
}

.mtb-50 {
  margin: 50px 0
}

.mtb-60 {
  margin: 60px 0
}

.mtb-70 {
  margin: 70px 0
}

.mtb-80 {
  margin: 80px 0
}

.mtb-90 {
  margin: 90px 0
}

.mtb-100 {
  margin: 100px 0
}

.mtb-110 {
  margin: 110px 0
}

.mtb-120 {
  margin: 120px 0
}

.mtb-130 {
  margin: 130px 0
}

.mtb-140 {
  margin: 140px 0
}

.mtb-150 {
  margin: 150px 0;
}

.mtb-160 {
  margin: 160px 0;
}

.plr-185 {
  padding: 0 185px;
}

.plr-200 {
  padding-left: 200px;
  padding-right: 200px
}

.ptblr-10-30 {
  padding: 10px 30px;
}

.ptblr-20-30 {
  padding: 20px 30px;
}

.p-20 {
  padding: 20px;
}

.p-30 {
  padding: 30px;
}

.mt--50 {
  margin-top: -50px;
}

#scrollUp {
  background: #ccc;
  bottom: 10px;
  color: #ffffff;
  font-size: 20px;
  height: 40px;
  right: 10px;
  text-align: center;
  transition: all 0.3s ease 0s;
  width: 40px;
}

#scrollUp i {
  line-height: 40px;
}

#scrollUp:hover {
  background: #131313 none repeat scroll 0 0;
  color: #ffffff;
}

.box-shadow {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

.theme-bg {
  background: #131313;
}

.black-bg {
  background: #222222;
}

.white-bg {
  background: #fff;
}

.gray-bg {
  background: #f6f6f6;
}

.blue-bg {
  background: #4FC1F0;
}

.default-bg {
  background: #f6f6f6;
}

.transparent-bg {
  background: transparent;
}

.footer-area .theme-bg p,
.footer-area .black-bg p,
.footer-area .theme-bg h4,
.footer-area .black-bg h4,
.footer-area .theme-bg .footer-menu li a,
.footer-area .black-bg .footer-menu li a,
.footer-area .theme-bg .footer-social li a,
.footer-area .black-bg .footer-social li a {
  color: #fff;
}

.footer-area .theme-bg .footer-social li a,
.footer-area .black-bg .footer-social li a {
  border: 1px solid #fff;
}

.footer-area .theme-bg .footer-menu li:hover a,
.footer-area .black-bg .footer-menu li:hover a,
.footer-area .theme-bg .footer-menu li:hover a i,
.footer-area .black-bg .footer-menu li:hover a i {
  color: #444;
}

.footer-area .theme-bg .footer-menu li a i,
.footer-area .black-bg .footer-menu li a i {
  color: #fff;
}

.bg-opacity-black-10,
.bg-opacity-black-20,
.bg-opacity-black-30,
.bg-opacity-black-40,
.bg-opacity-black-50,
.bg-opacity-black-60,
.bg-opacity-black-70,
.bg-opacity-black-80,
.bg-opacity-black-90,
.bg-opacity-white-10,
.bg-opacity-white-20,
.bg-opacity-white-30,
.bg-opacity-white-40,
.bg-opacity-white-50,
.bg-opacity-white-60,
.bg-opacity-white-70,
.bg-opacity-white-80,
.bg-opacity-white-90 {
  z-index: 9;
}

.bg-opacity-black-10:before,
.bg-opacity-black-20:before,
.bg-opacity-black-30:before,
.bg-opacity-black-40:before,
.bg-opacity-black-50:before,
.bg-opacity-black-60:before,
.bg-opacity-black-70:before,
.bg-opacity-black-80:before,
.bg-opacity-black-90:before,
.bg-opacity-white-10:before,
.bg-opacity-white-20:before,
.bg-opacity-white-30:before,
.bg-opacity-white-40:before,
.bg-opacity-white-50:before,
.bg-opacity-white-60:before,
.bg-opacity-white-70:before,
.bg-opacity-white-80:before,
.bg-opacity-white-90:before {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.bg-opacity-black-10:before {
  background: rgba(0, 0, 0, 0.1);
}

.bg-opacity-black-20:before {
  background: rgba(0, 0, 0, 0.2);
}

.bg-opacity-black-30:before {
  background: rgba(0, 0, 0, 0.3);
}

.bg-opacity-black-40:before {
  background: rgba(0, 0, 0, 0.4);
}

.bg-opacity-black-50:before {
  background: rgba(0, 0, 0, 0.5);
}

.bg-opacity-black-60:before {
  background: rgba(0, 0, 0, 0.6);
}

.bg-opacity-black-70:before {
  background: rgba(0, 0, 0, 0.7);
}

.bg-opacity-black-80:before {
  background: rgba(0, 0, 0, 0.8);
}

.bg-opacity-black-90:before {
  background: rgba(0, 0, 0, 0.9);
}

.bg-opacity-white-10:before {
  background: rgba(255, 255, 255, 0.1);
}

.bg-opacity-white-20:before {
  background: rgba(255, 255, 255, 0.2);
}

.bg-opacity-white-30:before {
  background: rgba(255, 255, 255, 0.3);
}

.bg-opacity-white-40:before {
  background: rgba(255, 255, 255, 0.4);
}

.bg-opacity-white-50:before {
  background: rgba(255, 255, 255, 0.5);
}

.bg-opacity-white-60:before {
  background: rgba(255, 255, 255, 0.6);
}

.bg-opacity-white-70:before {
  background: rgba(255, 255, 255, 0.7);
}

.bg-opacity-white-80:before {
  background: rgba(255, 255, 255, 0.8);
}

.bg-opacity-white-90:before {
  background: rgba(255, 255, 255, 0.9);
}

.bg-1 {
  background: url(../../images/bg/1.jpg);
}

.bg-2 {
  background: url(../../images/bg/2.jpg);
}

.bg-3 {
  background: url(../../images/bg/3.jpg);
}

.bg-4 {
  background: url(../../images/bg/4.jpg);
}

.bg-5 {
  background: url(../../images/bg/5.jpg);
}

.bg-6 {
  background: url(../../images/bg/6.jpg);
}

.bg-7 {
  background: url(../../images/bg/7.jpg);
}

.bg-8 {
  background: url(../../images/bg/8.jpg);
}

.bg-9 {
  background: url(../../images/bg/9.jpg);
}

.bg-10 {
  background: url(../../images/bg/10.jpg);
}

.bg-1,
.bg-2,
.bg-3,
.bg-4,
.bg-5,
.bg-6,
.bg-7,
.bg-8,
.bg-9,
.bg-10 {
  background-attachment: fixed;
  background-clip: initial;
  background-color: rgba(0, 0, 0, 0);
  background-origin: initial;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  z-index: 0;
}

.separator {
  position: relative;
  display: inline-block;
  clear: both;
  background: rgba(0, 0, 0, 0.07) none repeat scroll 0 0;
  bottom: 0;
  height: 1px;
  width: 33%;
}

.separator::before {
  background: #4fc1f0 none repeat scroll 0 0;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  transition: all 0.4s ease 0s;
  width: 100px;
}

.section-title:hover .separator::before {
  width: 75%;
}

.separator i {
  background: #ECEFF7 none repeat scroll 0 0;
  color: #4fc1f0;
  display: block;
  font-size: 20px;
  height: 40px;
  line-height: 40px;
  position: absolute;
  text-align: center;
  top: -20px;
  width: 40px;
}

.separator span {
  background: #ffffff none repeat scroll 0 0;
  border: 1px solid #4fc1f0;
  border-radius: 100%;
  display: block;
  height: 10px;
  position: absolute;
  top: -5px;
  width: 10px;
}

.separator i,
.separator span {
  left: 0;
  transform: none;
}

.text-center .separator::before,
.text-center .separator i,
.text-center .separator span {
  left: 50%;
  transform: translateX(-50%);
}

.text-end .separator::before,
.text-end .separator i,
.text-end .separator span {
  left: auto;
  transform: none;
  right: 0;
}

#header {
  background: rgb(255, 255, 255);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3000;
  border-bottom: 1px solid #33333312;
}

#header.active {
  background: rgb(255, 255, 255);
  box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px;
}

.navLogo {
  display: block;
  height: 60px;
  margin-right: 30px;
}

@media screen and (max-width: 768px) {
  .navLogo {
    height: 62px;
    margin-right: 12px;
  }
}

.navbar-nav {
  align-items: center;
}

.navbar-nav .nav-item {
  margin-right: 20px;
  font-size: 16px;
}

.navbar-nav .nav-item.headerMenu1 {
  border: none;
  min-width: auto;
  width: fit-content;
  text-align: center;
  position: relative;
}

#header.active .navbar-nav .nav-item.headerMenu1 {
  border: none;
}

.navbar-nav .nav-item .nav-link {
  color: #2c2c2c;
}

.navbar-nav .nav-item .nav-link p {
  font-size: 16px;
  color: #2c2c2c;
}

#header.active .navbar-nav .nav-item .nav-link {
  color: #2c2c2c;
}

.navbar-nav .nav-item:hover .nav-link {
  color: #2c2c2c;
}

/* 使用 inline-block 確保寬度正確計算 */
.navbar-nav .nav-item.headerMenu1>.nav-link {
  position: relative;
  display: inline-block;
}

/* 使用 scaleX 替代 width 動畫，效能更好且不會有寬度計算問題 */
.navbar-nav .nav-item.headerMenu1>.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #2c2c2c;
  transition: transform 0.3s ease;
  transform: scaleX(0);
  transform-origin: center;
}

.navbar-nav .nav-item.headerMenu1:hover>.nav-link::after {
  transform: scaleX(1);
}

/* 確保子選單不繼承底線 */
.dropdown-menu .nav-link::after {
  display: none !important;
}

.navbar-nav .nav-item.headerMenu1:hover .nav-link {
  color: #2c2c2c;
  background: transparent;
}

.navbar-nav .nav-item.headerMenu1:hover .headerMenu2 .nav-link {
  background: #ffffff;
}

#header.active .navbar-nav .nav-item.headerMenu1:hover .nav-link {
  color: #2c2c2c;
  background: transparent;
}

#header.active .navbar-nav .nav-item.headerMenu1 .headerMenu2 .nav-link {
  background: #ffffff;
  color: #333333;
}

#header.active .navbar-nav .nav-item.headerMenu1 .headerMenu2:hover .nav-link {
  color: #2c2c2c;
}

.navbar-nav .nav-item:hover .nav-link p {
  color: #2c2c2c;
}

.navbar-collapse {
  flex-grow: 0;
}

.dropdown:hover .dropdown-menu-login {
  display: block;
  margin-top: 0;
  padding: 8px 0;
  font-size: 15px;
  min-width: 120px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

/* 登入選單項目樣式 */
.dropdown-menu-login .dropdown-item {
  padding: 10px 16px;
  color: #333333;
  transition: all 0.15s ease;
  font-size: 14px;
}

.dropdown-menu-login .dropdown-item:hover {
  background: #4a4a4a;
  color: #ffffff;
}

.dropdown:hover .dropdown-menu1 {
  display: block;
  margin-top: 0;
  padding-top: 8px;
  font-size: 15px;
  min-width: 120px;
}

.headerMenu1.dropdown:hover .dropdown-menu1 {
  display: block;
  margin-top: 0;
  padding-top: 8px;
  font-size: 15px;
  min-width: 120px;

}

.dropdown-menu.dropdown-menu2,
.dropdown-menu.dropdown-menu3 {
  display: none;
  padding-top: 0;
}

.headerMenu2.dropdown.show .dropdown-menu2,
.headerMenu3.dropdown.show .dropdown-menu3 {
  display: block;
  padding-top: 0;
  width: fit-content;
  min-width: 140px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 8px 0;
}

/* 第二、第三層選單美化 - 加強優先級 */
#header .navbar-nav .dropdown-menu,
#header .navbar-nav .dropdown-menu.dropdown-menu1,
#header .navbar-nav .dropdown-menu.dropdown-menu2,
#header .navbar-nav .dropdown-menu.dropdown-menu3 {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  padding: 8px 0;
  min-width: 140px;
  margin-top: 0;
}

/* 下拉選單項目樣式 - 加強優先級 */
#header .navbar-nav .dropdown-menu li.nav-item {
  padding: 0;
  margin: 0;
}

#header .navbar-nav .dropdown-menu .nav-link,
#header .navbar-nav .dropdown-menu .dropdown-item {
  padding: 10px 35px 10px 16px;
  color: #333333;
  transition: all 0.15s ease;
  display: block;
  font-size: 14px;
  position: relative;
  background: transparent;
  border-radius: 0;
}

/* 有子選單的項目顯示右箭頭 - 只針對有 dropdown-toggle 的項目 */
#header .navbar-nav .dropdown-menu .nav-link.dropdown-toggle::after {
  content: '›' !important;
  font-family: inherit !important;
  font-weight: normal !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 18px !important;
  border: none !important;
  color: #999999 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

/* 沒有子選單的項目不顯示箭頭 */
#header .navbar-nav .dropdown-menu .nav-link:not(.dropdown-toggle)::after {
  display: none !important;
}

/* hover 效果 - 深灰色背景 + 白字 */
#header .navbar-nav .dropdown-menu .nav-link:hover,
#header .navbar-nav .dropdown-menu .nav-link:focus,
#header .navbar-nav .dropdown-menu .dropdown-item:hover,
#header .navbar-nav .dropdown-menu .dropdown-item:focus {
  background: #4a4a4a;
  color: #ffffff;
}

#header .navbar-nav .dropdown-menu .nav-link.dropdown-toggle:hover::after {
  color: #ffffff;
}

/* 語言選單和其他標準下拉選單 Hover 顯示 (桌面版) */
@media (min-width: 992px) {
  #header .navbar-nav .nav-item.dropdown:hover>.dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

.headerMenu2.dropdown.show .dropdown-menu2.show,
.headerMenu3.dropdown.show .dropdown-menu3.show {
  display: block;
  padding-top: 0;
}

@media screen and (max-width: 991px) {

  .dropdown-menu.dropdown-menu2,
  .dropdown-menu.dropdown-menu3 {
    display: block;
    padding-top: 0;
  }
}

.dropdown:hover .dropdown-menu .nav-link.dropdown-toggle {
  position: relative;
}

.dropdown .dropdown-submenu {
  padding: 0;
  margin: 0;
}

.dropdown .dropdown-submenu .nav-link {
  padding: 10px 16px;
  font-size: 15px;
  color: #333333;
  transition: all 0.2s ease;
}

.dropdown .dropdown-submenu:hover>.nav-link {
  background: #f5f5f5;
  color: #2c2c2c;
}

.navbar-nav .nav-item:hover .dropdown-submenu .nav-link {
  color: #333333;
}

.navbar-nav .nav-item:hover .dropdown-submenu:hover .nav-link {
  color: #2c2c2c;
}

.dropdown .dropdown-submenu .nav-link {
  padding: 0;
  font-size: 15px;
  color: #333333;
}

.dropdown:hover>.dropdown.dropdown-submenu>.dropdown-menu {
  display: block;
  left: 100%;
  top: 0;
}

@media screen and (max-width: 991px) {
  .dropdown-menu.dropdown-menu2 {
    opacity: 1;
    padding-top: 0;
  }

  .navbar-nav .nav-item .dropdown-submenu .nav-link {
    color: #2c2c2c;
    border-color: #2c2c2c;
  }

  .offcanvas-body .headerMenu2.nav-item.dropdown-submenu .dropdown-submenu {
    background: #f7f7f7;
  }

  .offcanvas-body .headerMenu2.nav-item.dropdown-submenu .dropdown-submenu.dropdown-menu {
    background: #f7f7f7;
  }
}

.dropdown .dropdown-menu .dropdown-item {
  font-size: 15px;
  padding: 10px 15px;
  min-width: 120px;
}

.dropdown .dropdown-menu .dropdown-item:active {
  background: #ec3b05;
}

/* 已移至上方統一設定 */

@media screen and (max-width: 991px) {
  /* 箭頭樣式已在上方統一設定 */
}

.mobile-function-menu {
  display: none;
}

@media screen and (max-width: 991px) {
  .navbar {
    padding: 12px 16px;
  }

  .navbar-collapse {
    display: none !important;
  }

  .navbar-collapse.show {
    display: none !important;
  }

  .navbar-nav {
    width: fit-content;
    height: 100%;
    background: rgb(255, 255, 255);
    margin: 0 !important;
  }

  .offcanvas-body {
    overflow-y: scroll;
    height: 80vh;
    flex-grow: 0;
  }

  .offcanvas-body .dropdown .dropdown-menu {
    display: block;
    margin-top: 0;
    padding-top: 8px;
  }

  .offcanvas-body .navbar-nav .nav-item {
    margin-right: 0;
    margin-bottom: 10px;
    padding: 5px 16px;
    background: #ffffff75;
    width: 100%;
    min-width: 200px;
    border-bottom: 1px solid #b5b5b5;

  }

  .offcanvas-body .headerMenu2.nav-item.dropdown-submenu {
    border-bottom: 1px solid #2c2c2c;
  }

  .offcanvas-body .headerMenu2.nav-item.dropdown-submenu.dropdown .nav-link {
    color: #2c2c2c;
  }

  .offcanvas-body .navbar-nav .nav-item .dropdown-menu {
    margin-right: 0;
    margin-bottom: 6px;
    background: #f7f7f7;
    width: 100%;
  }

  .offcanvas-body .navbar-nav .nav-item .dropdown-menu .dropdown-item {
    margin-right: 0;
    margin-bottom: 6px;
    border-bottom: 1px solid #2c2c2c;
    width: 100%;
    font-size: 14px;
    color: #2c2c2c;
  }

  .mobile-function-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 20px;
  }

  .mobile-function-menu .nav-item {
    margin: 0 12px;
  }

  .mobile-function-menu .nav-item.dropdown {
    margin: 0 6px;
  }

  .mobile-function-menu .nav-item .nav-link i {
    font-size: 18px;
  }

  .offcanvas {
    width: fit-content !important;
    height: 100vh;
  }

  .offcanvas-header {
    padding: 30px 16px;
    display: flex;
    justify-content: end;
  }
}

.desktop {
  display: block;
}

.mobile {
  display: none;
}

.desktopImg {
  display: block;
}

.mobileImg {
  display: none;
}

@media (max-width: 991px) {
  .desktop {
    display: none;
  }

  .mobile {
    display: block;
  }

  .desktopImg {
    display: none;
  }

  .mobileImg {
    display: block;
  }
}

.shop-content {
  border-radius: 10px;
  padding: 15px 15px;
}

.shop-content .product-item {
  background: #ffffff;
  border-radius: 0px;
  overflow: hidden;
}

.shop-content .product-item .product-info {
  background: #ffffff;
  padding: 15px;
}

.shop-content .product-item .product-info .product-title {
  /* font-size: 15px;
  font-weight: 400; */
  margin-top: 2px;
  margin-bottom: 12px;
  color: #333333;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-wrap: wrap;
  /* line-height: 24px;
  min-height: 48px; */
  line-height: 30px;
  min-height: 60px;
}

.shop-content .product-item .product-info h4 {
  /* font-size: 16px;
  line-height: 28px; */
  margin-top: 12px;
  margin-bottom: 12px;
  color: #303030;
  min-height: 56px;
  max-height: 56px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.single-product-area,
.message-box {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px 20px;
  height: fit-content;
  min-height: 400px;
}

@media screen and (max-width: 768px) {
  .shop-content {
    padding: 8px;
  }

  .shop-content .product-item .product-info {
    padding: 5px;
  }

  .shop-content .product-item .product-info .product-title {
    line-height: 24px;
    margin-top: 12px;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    /* font-size: 14px;
    line-height: 24px; */
    min-height: 72px;
  }

  .single-product-area,
  .message-box {
    padding: 5px;
    margin-bottom: 30px;
  }
}

.message-box-section {
  position: relative;
}

@media screen and (max-width: 768px) {
  .message-box-section {
    padding: 10px;
  }
}

.message-box {
  padding: 40px 60px;
}

.message-box input {
  margin-bottom: 10px;
}

.email-login-box {
  background: #fafafa;
  padding: 20px 20px;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-direction: column;
  margin: 10px;
  border-radius: 12px;
}

@media screen and (max-width: 768px) {
  .email-login-box {
    width: 100%;
    padding: 0px;
    margin: 0;
  }

  .email-login-box .row {
    width: 100%;
  }
}

.email-login-box.white-bg {
  background: #ffffff;
}

.login-box-title {
  /* font-size: 16px; */
  color: #333333;
  margin-bottom: 20px;
  margin-top: 12px;
  font-weight: 700;
  text-align: center;
}

.email-login-box .btnNormal.btn-w300 {
  margin: 0 0 10px 0;
  max-width: 300px;
}

@media screen and (max-width: 768px) {
  .email-login-box .btnNormal.btn-w300 {
    width: 100%;
    max-width: 100%;
  }
}

.single-product-main-image {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}

.single-product-image-tag {
  position: absolute;
  top: 10px;
  left: 12px;
  width: 65px;
  height: 65px;
  background: #2c2c2c;
  color: #ffffff;
  padding: 10px;
  border-radius: 99rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.single-product-image-tag.tag2 {
  position: absolute;
  top: 10px;
  left: 85px;
}

.imgs-zoom-area .img-fluid {
  border-radius: 12px;
}

.single-product-info {
  /* background: #ffffff; */
  /* border-radius: 10px; */
  padding: 20px 20px;
  height: 100%;
}

.single-product-info .main-title {
  /* font-size: 28px; */
  font-display: swap;
  color: #373737;
  font-weight: 700 !important;
  padding-bottom: 20px;
  margin-bottom: 12px;
  /* line-height: 50px; */
}

@media screen and (max-width: 768px) {
  .single-product-info {
    padding: 5px;
  }

  /* .single-product-info .main-title {
    font-size: 20px;
    line-height: 32px;
  } */
}

.single-product-info .pro-price {
  /* font-size: 24px; */
  color: #2c2c2c;
  font-weight: 700 !important;
  padding-bottom: 0;
  margin-bottom: 12px;
  line-height: 1;
}

.single-product-info .badge {
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 6px;
}

.single-product-info h6 {
  /* font-size: 16px; */
  color: #515151;
}

.single-product-tab .nav {
  border-bottom: 1.5px solid #C9AF76;
  padding-bottom: 12px;
  margin-bottom: 20px;
}


.single-product-tab .tab-content .tab-pane p {
  font-size: 16px;
  line-height: 28px;
}

.single-product-tab .tab-content .tab-pane img {
  max-width: 100% !important;
  max-width: min(100%, 1040px) !important;
  height: auto !important;
}

.widget-search {
  border-radius: 10px;
  overflow: hidden;
}

.widget-categories {
  background: #ffffff;
  border-radius: 0px;
}

.user-side-menu {
  background: #ffffff;
  border-left: 4px solid #2C2C2C;
  padding: 24px 20px;
}

.user-side-menu__header {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #f3f4f6;
}

.user-side-menu__title {
  margin: 0;
  font-size: 18px;
  font-weight: 800;
  color: #111111;
}

.user-side-menu__subtitle {
  margin: 6px 0 0 0;
  font-size: 12px;
  font-weight: 600;
  color: #9ca3af;
}

.user-side-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.user-side-menu__item {
  margin-bottom: 8px;
}

.user-side-menu__item:last-child {
  margin-bottom: 0;
}

.user-side-menu__item a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 6px;
  text-decoration: none;
  color: #111111;
  border: 1px solid transparent;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.user-side-menu__icon {
  width: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #c1c4cc;
  font-size: 16px;
}

.user-side-menu__text {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
}

.user-side-menu__arrow {
  margin-left: auto;
  font-size: 12px;
  color: #ffffff;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.3s, transform 0.3s;
}

.user-side-menu__item a:hover {
  background: #f4f4f4;
  border-color: #f4f4f4;
}

.user-side-menu__item a:hover .user-side-menu__icon {
  color: #111111;
}

.user-side-menu__item.is-active a {
  background: #2C2C2C;
  color: #ffffff;
}

.user-side-menu__item.is-active .user-side-menu__icon {
  color: #ffffff;
}

.user-side-menu__item.is-active .user-side-menu__arrow {
  opacity: 1;
  transform: translateX(0);
}

.user-side-menu__item.is-active a:hover {
  background: #2C2C2C;
  border-color: #2C2C2C;
}

.user-side-menu__divider {
  height: 1px;
  background: #e5e7eb;
  margin: 12px 0;
}

.widget-categories .categories-item {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 8px;
  margin-bottom: 0;
  margin-right: 10px;
  padding: 12px;
}

.widget-product {
  border-radius: 10px;
}

.widget-product .product-item {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 8px;
  margin-bottom: 0;
  margin-right: 10px;
  padding: 12px;
}

.widget-categories-select {
  background: #eae2d8;
  padding: 10px;
  border-radius: 10px;
}

@media screen and (max-width: 992px) {
  .widget-product .product-item {
    margin-bottom: 20px;
    margin-right: 0px;
  }

  .btn-group-category {
    width: 100%;
    background: #e2e2e2;
    border-radius: 10px;
  }

  .btn-group-category .btn {
    width: 100%;
    height: 48px;
    font-size: 16px;
    color: #333333;
    border-radius: 10px;
    text-align: left;
  }

  .btn-group-category .dropdown-menu {
    width: 100%;
    padding: 20px 16px;
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #b8b8b8;
  }

  .btn-group-category .dropdown-item {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    color: #333333;
  }

  .btn-group-category .product-cat-item a {
    font-size: 16px;
    padding: 12px;
    margin-bottom: 10px;
    display: block;
    background: #c5c5c5;
    color: #333333;
    border-radius: 8px;
  }

  .btn-group-category .product-cat-item ul .product-cat-item {
    padding-left: 20px;
  }

  .btn-group-category .product-cat-item ul .product-cat-item a {
    font-size: 16px;
    padding: 12px;
    margin-bottom: 10px;
    display: block;
    background: #d9d9d9;
    color: #000000;
    border-radius: 8px;
  }

  .btn-group-category .product-cat-item ul .product-cat-item ul .product-cat-item a {
    font-size: 16px;
    padding: 12px;
    margin-bottom: 10px;
    display: block;
    background: #f2f2f2;
    color: #000000;
    border-radius: 8px;
  }
}

.widget-product .product-item .product-img {
  width: 100%;
  position: relative;
  aspect-ratio: 1/1;
}

.widget-product .product-item .product-tag {
  position: absolute;
  top: 10px;
  left: 12px;
  width: 52px;
  height: 52px;
  background: #2c2c2c;
  color: #ffffff;
  padding: 8px;
  border-radius: 99rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
}

.widget-product .product-item .product-info {
  width: 100%;
  padding: 16px 10px;
}

.widget-product .product-item .product-info .product-title .product-title-link {
  /* font-size: 16px; */
  color: #1d1d1d;
  /* line-height: 24px; */
  margin-top: 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  text-wrap: wrap;
  min-height: 72px;
}

@media screen and (max-width: 768px) {
  .widget-product .product-item .product-info .product-title .product-title-link {
    /* font-size: 14px;
    line-height: 24px; */
    margin-top: 10px;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    line-height: 24px;
    min-height: 72px;
  }
}

.widget-product .product-item .product-info .pro-price {
  /* font-size: 18px; */
  color: #2c2c2c;
  font-weight: 600;
}

.product-cat ul li {
  list-style: none !important;
  padding: 0;
}

.product-cat .product-cat-item a {
  background: #c5c5c5;
  color: #121212;
  font-weight: 600;
  margin-bottom: 12px;
  border-radius: 0px;
  padding: 8px 10px;
  display: block;
}

.product-cat .product-cat-item ul {
  padding-left: 16px;
}

.product-cat .product-cat-item li a {
  background: #d9d9d9;
  border: 1px solid #d9d9d9;
}

.product-cat .product-cat-item .product-cat-item ul li a {
  background: #f2f2f2;
  border: 1px solid #f2f2f2;
}

.product-cat .product-cat-item li span {
  color: #000000;
}

.product-cat .product-cat-item li .text-danger {
  color: #000000 !important;
}

.product-cat .product-cat-item span {
  color: #121212;
  font-weight: 400;
}

.product-cat .product-cat-item.active {
  background: #121212;
  color: #ffffff;
}

.product-side-menu {
  background: #ffffff;
  border-left: 4px solid #2C2C2C;
  padding: 24px 20px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

.product-side-menu .widget-title {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 800;
  text-transform: none;
  padding-left: 0;
}

.product-side-menu .widget-title::before {
  display: none;
}

.product-side-menu .product-cat {
  margin-top: 0;
}

.product-side-menu .product-cat ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.product-side-menu .product-cat-item {
  margin-bottom: 0;
}

.product-side-menu .product-cat-item:last-child {
  margin-bottom: 0;
}

.product-side-menu .product-cat-item>a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 8px;
  border-radius: 0;
  border: 1px solid transparent;
  text-decoration: none;
  color: #111111;
  font-weight: 600;
  background: transparent;
  border-bottom: 1px solid #f1f1f1;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.product-side-menu .product-cat-item>a::after {
  content: none;
}

.product-side-menu .product-cat-item>a:hover {
  background: #f7f7f7;
  border-color: transparent;
}

.product-side-menu .product-cat>ul>.product-cat-item>a {
  background: transparent;
}

.product-side-menu .product-cat>ul>.product-cat-item>a:hover {
  background: #f2f2f2;
}

.product-side-menu .product-cat>ul>.product-cat-item.is-active>a {
  background: #000000;
  color: #ffffff;
}

.product-side-menu .product-cat-item span {
  color: inherit;
  font-weight: inherit;
}

.product-side-menu .product-cat-item .text-danger {
  color: inherit !important;
}

.product-side-menu .product-cat-item ul {
  margin-top: 0;
  padding-left: 16px;
  border-left: 1px solid #e5e7eb;
}

.product-side-menu .product-cat-item ul ul {
  margin-top: 0;
  padding-left: 16px;
  border-left: none;
}

.product-side-menu .product-cat-item ul .product-cat-item {
  margin-bottom: 0;
}

.product-side-menu .product-cat-item ul .product-cat-item:last-child {
  margin-bottom: 0;
}

.product-side-menu .product-cat-item ul .product-cat-item>a {
  font-size: 13px;
  padding: 10px 8px 10px 12px;
  background: transparent;
  border: none;
  border-radius: 0;
  font-weight: 500;
  line-height: 1.4;
  border-bottom: 1px solid #f5f5f5;
}

.product-side-menu .product-cat-item ul .product-cat-item>a::after {
  content: none;
}

.product-side-menu .product-cat-item ul .product-cat-item.is-active>a {
  background: transparent;
  color: #111111;
  font-weight: 700;
}

.product-side-menu .product-cat-item ul .product-cat-item.is-active>a::after {
  content: none;
}

.product-side-menu .product-cat-item.has-children>a::after {
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  color: #9ca3af;
  margin-left: auto;
}

.product-side-menu .product-cat-item.is-active.has-children>a::after,
.product-side-menu .product-cat-item ul .product-cat-item.is-active.has-children>a::after {
  color: #ffffff;
}

.pagination .page-item {
  width: 35px;
  height: 35px;
  background: #ffffff;
  border: 1px solid #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: -1px;
}

.pagination>.page-item-btn {
  width: fit-content;
  min-width: 100px;
}

.pagination>.page-item-btn>span {
  width: fit-content;
}

.pagination .page-item .page-link:hover {
  background: #575757;
  color: #ffffff
}

.pagination .page-item.active {
  background: #313131;
}

.pagination .page-item .page-link {
  width: 100%;
  height: 100%;
  border: none;
  background: none;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: roboto;
  font-size: 13px;
  font-weight: 400;
  line-height: 28px;
  text-align: center;
}

.pagination .page-item.active .page-link {
  color: #ffffff;
}

@media (max-width: 992px) {
  .pagination>.page-item-btn {
    width: fit-content;
    min-width: fit-content;
  }

  .pagination .page-item .page-link {
    width: 45px;
  }
}

.action-button-box {
  width: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .action-button-box {
    flex-direction: column;
    align-items: stretch;
  }

  .action-button-box .action-button {
    margin-bottom: 10px;
  }

  .action-button-box .action-button .btnKG-box {
    margin-right: 0;
  }
}

.action-button-box .action-button {
  display: flex;
  align-items: center;
  flex-grow: 1;
}

.action-button-box .action-button .btnKG-box {
  flex-grow: 1;
  margin-right: 10px;
}

.action-button-box .action-button .btnKG {
  flex-grow: 1;
  padding: 10px 15px;
}

.action-button-box .action-button .btnLike {
  padding: 10px 15px;
  margin-right: 0;
}

.product-item .btnLike-box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  height: 100%;
  aspect-ratio: 1 / 1;
  padding: 4px;
}

.product-item .btnLike {
  aspect-ratio: 1 / 1;
  background-color: #ffffff;
  border: 1px solid #2c2c2c;
  color: #2c2c2c;
  /* padding: 5px 16px; */
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  line-height: 14px;
  /* margin: 4px 5px 0 4px; */
  cursor: pointer;
  border-radius: 0rem;
  height: fit-content;
}

.btnSummit,
.btnNormal {
  width: 100%;
  max-width: 200px;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  margin: 4px auto;
  margin-right: 10px;
  cursor: pointer;
  border-radius: 0rem;
  height: fit-content;
  transition: all 0.3s ease 0s;
}

@media screen and (max-width: 767px) {

  .btnSummit,
  .btnNormal {
    max-width: 100%;
    margin-right: 0;
  }

  .product-item .btnLike {
    background-color: #ffffff;
    border: 1px solid #2c2c2c;
    color: #2c2c2c;
    padding: 15px 15px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    margin: 4px;
    cursor: pointer;
    border-radius: 0rem;
    width: auto;
    height: fit-content;
    aspect-ratio: auto;
  }

  .product-item .btnLike i {
    margin-right: 5px;
  }
}

.btnSummit.sm,
.btnNormal.sm {
  width: fit-content;
  padding: 5px 25px;
  font-size: 12px;
  border-radius: 99rem;
  height: fit-content;
}

.btnSummit.gold,
.btnNormal.gold {
  background-color: #313131;
  border: 1px solid #313131;
  color: #ffffff;
}

.btnSummit.gold:hover,
.btnNormal.gold:hover {
  background-color: #1e1e1e;
  color: #ffffff;
}

.gold-sec {
  background-color: #b0b0b0;
  border: 1px solid #b0b0b0;
  color: #ffffff;
}

.gold-sec:hover {
  background-color: #838383;
  color: #ffffff;
}

.btnSummit.red,
.btnNormal.red {
  background-color: #2c2c2c;
  border: 1px solid #2c2c2c;
  color: #ffffff;
}

.btnSummit.red:hover,
.btnNormal.red:hover {
  background-color: #a72808;
  color: #ffffff;
}

.btnCanNotBuy {
  width: 100%;
  max-width: 200px;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  margin: 4px auto;
  margin-right: 10px;
  cursor: pointer;
  border-radius: 0rem;
  height: fit-content;
  transition: all 0.3s ease 0s;
  background-color: #ff0000;
  border: 1px solid #ff0000;
  color: #ffffff;
}

.btnCanNotBuy:hover {
  background-color: #575757;
  color: #ffffff;
}

.delete-btn {
  border-radius: 20px;
  height: fit-content;
}

.text-primary {
  color: #333333 !important;
}

.shop-section {
  min-height: 50vh;
}

.shopping-cart-box {
  background: #ffffff;
  padding: 20px;
  border-radius: 10px;
}

.shopping-cart-box .divider {
  border-bottom: 1.5px solid #ecd6bf;
  padding-bottom: 24px;
}

.order-detail-page .order-back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  margin-bottom: 16px;
}

.order-detail-page .order-back-link:hover {
  color: #111111;
}

.order-header-card {
  background: #ffffff;
  border-left: 4px solid #2C2C2C;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  margin-bottom: 24px;
}

.order-header-content {
  flex: 1;
}

.order-header-title {
  margin: 0;
  font-size: 24px;
  font-weight: 800;
  color: #111111;
}

.order-header-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 10px;
  font-size: 13px;
  color: #9ca3af;
}

.order-meta-item {
  display: flex;
  gap: 8px;
  align-items: center;
}

.order-meta-value {
  color: #111111;
  font-weight: 600;
}

.order-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.order-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1px solid #111111;
  background: #111111;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
}

.order-action-btn--ghost {
  background: #ffffff;
  color: #111111;
}

.order-action-btn:hover {
  background: #2C2C2C;
  border-color: #2C2C2C;
  color: #ffffff;
}

.order-detail-grid {
  margin-top: 8px;
}

.order-card {
  background: #ffffff;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  padding: 16px 18px;
  margin-bottom: 24px;
}

.order-card-header {
  margin-bottom: 12px;
}

.order-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #111111;
}

.order-card-body {
  color: #111111;
}

.order-info-list,
.order-logistic-info {
  display: grid;
  gap: 12px;
}

.order-logistic-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #f1f1f1;
}

.order-logistic-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.order-logistic-method {
  align-items: flex-end;
  text-align: right;
}

.order-logistic-number {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}

.order-copy-btn {
  border: none;
  background: transparent;
  color: #9ca3af;
  cursor: pointer;
  padding: 0;
}

.order-copy-btn:hover {
  color: #111111;
}

.order-logistic-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: #111111;
  background: #f9fafb;
  width: fit-content;
}

.order-logistic-status {
  display: grid;
  gap: 8px;
}

.order-info-item {
  display: grid;
  gap: 4px;
}

.order-info-label {
  font-size: 12px;
  color: #9ca3af;
  font-weight: 600;
}

.order-info-value {
  font-size: 14px;
  color: #111111;
  font-weight: 600;
}

.order-info-sub {
  font-size: 13px;
  color: #6b7280;
  margin-top: 4px;
}

.order-logistic-extra {
  display: grid;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f1f1f1;
}

.order-timeline {
  list-style: none;
  margin: 0;
  padding: 0 0 0 18px;
  border-left: 1px solid #e5e7eb;
}

.order-timeline li {
  position: relative;
  padding: 0 0 16px 14px;
  color: #9ca3af;
  font-size: 13px;
}

.order-timeline li::before {
  content: "";
  position: absolute;
  left: -6px;
  top: 4px;
  width: 8px;
  height: 8px;
  background: #d1d5db;
  border-radius: 50%;
}

.order-timeline li.is-current {
  color: #111111;
  font-weight: 700;
}

.order-timeline li.is-current::before {
  background: #111111;
}

.order-timeline-title {
  font-size: 14px;
}

.order-timeline-time {
  margin-top: 4px;
  font-size: 12px;
  color: #c0c4cc;
}

.order-info-grid {
  margin-bottom: 8px;
}

.order-product-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.order-product-item {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  background: #ffffff;
}

.order-product-main {
  display: flex;
  gap: 16px;
  flex: 1 1 60%;
}

.order-product-thumb {
  width: 72px;
  height: 72px;
  border: 1px solid #f1f1f1;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.order-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-product-info {
  flex: 1;
}

.order-product-name {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.order-product-name a {
  color: #111111;
  font-weight: 700;
  text-decoration: none;
}

.order-product-attrs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
  font-size: 13px;
  color: #6b7280;
}

.order-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
  font-size: 12px;
  color: #9ca3af;
}

.order-product-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  min-width: 140px;
}

.order-product-subtotal {
  font-size: 18px;
  font-weight: 700;
  color: #111111;
}

.order-product-cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid #111111;
  background: #ffffff;
  color: #111111;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
}

.order-product-cart-btn:hover {
  background: #111111;
  color: #ffffff;
}

.order-product-soldout {
  font-size: 12px;
  font-weight: 700;
  color: #e11d48;
}

.order-summary-sticky {
  position: sticky;
  top: 80px;
}

.order-summary-card {
  background: #ffffff;
  border: 1px solid #f1f1f1;
  border-top: 4px solid #2C2C2C;
  padding: 16px 18px;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.order-summary-header {
  font-size: 16px;
  font-weight: 700;
  color: #111111;
  margin-bottom: 16px;
}

.order-summary-list {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #eeeeee;
}

.order-summary-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #6b7280;
  margin-bottom: 10px;
}

.order-summary-row span:last-child {
  color: #111111;
  font-weight: 600;
}

.order-summary-discount {
  color: #e11d48;
  font-weight: 700;
}

.order-summary-paymethod {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #eeeeee;
}

.order-summary-subtitle {
  font-size: 12px;
  color: #9ca3af;
  font-weight: 700;
  margin-bottom: 6px;
}

.order-summary-value {
  font-size: 14px;
  color: #111111;
  font-weight: 600;
}

.order-summary-note {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #6b7280;
}

.order-summary-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #eeeeee;
  font-weight: 700;
  color: #111111;
}

.order-summary-total-value {
  font-size: 24px;
}

.order-summary-status-value {
  font-size: 14px;
  font-weight: 700;
  color: #111111;
}

.order-summary-status-note {
  margin-top: 6px;
  font-size: 12px;
  color: #6b7280;
}

@media (max-width: 991px) {
  .order-summary-sticky {
    position: static;
    top: auto;
  }

  .order-header-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .order-header-actions {
    width: 100%;
  }

  .order-logistic-top {
    flex-direction: column;
    align-items: flex-start;
  }

  .order-product-item {
    flex-direction: column;
  }

  .order-product-summary {
    align-items: flex-start;
  }
}

@media (min-width: 1170px) and (max-width: 1400px) {
  .plr-185 {
    padding: 0 30px;
  }

  .plr-200 {
    padding-left: 45px;
    padding-right: 45px;
  }

  .footer-top-inner {
    padding: 30px;
  }

  .copyright {
    padding: 0 60px;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1170px;
  }
}

@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

@media (min-width: 992px) and (max-width: 1169px) {
  .plr-185 {
    padding: 0 30px;
  }

  .plr-200 {
    padding-left: 0;
    padding-right: 0;
  }

  .blog-desc p {
    margin-bottom: 10px;
  }

  .read-more {
    margin-bottom: 10px;
  }

  .widget-product .product-info {
    padding: 10px 0 0 10px;
  }

  .widget-product .product-title,
  .widget-product .pro-price {
    font-size: 13px;
  }

  .blog-item .blog-desc {
    padding: 20px;
  }

  .blog-item .blog-desc::before,
  .blog-item .blog-desc::after {
    bottom: 10px;
    left: 10px;
    right: 10px;
    top: 10px;
  }

  .blog-item .read-more {
    margin-bottom: 10px;
  }

  .dropdwn-repeat {
    left: 80%;
    width: 210px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .plr-185 {
    padding: 0 30px;
    height: fit-content;
  }

  .plr-200 {
    padding-left: 0;
    padding-right: 0;
  }

  .blog-desc p {
    margin-bottom: 10px;
  }

  .blog-item .read-more {
    margin-bottom: 25px;
  }

  .footer-top {
    background: #f6f6f6 none repeat scroll 0 0;
  }

  .footer-area .plr-185 {
    padding: 0;
  }

  .footer-top-inner {
    padding: 30px 15px;
  }

  .footer-about {
    padding-right: 15px;
  }

  .pagination {
    margin-bottom: 30px;
  }

  .payment-details {
    margin-top: 30px;
  }

  .widget-search {
    margin-top: 10px;
  }

  .logo {
    padding: 38px 0;
  }
}

@media (max-width: 767px) {
  .container {
    width: 100%;
    padding: 10px 16px;
  }

  /* h3 {
    font-size: 14px;
    line-height: 20px;
  }

  h4 {
    font-size: 14px;
    line-height: 20px;
  }

  p {
    font-size: 14px;
  } */

  .plr-185 {
    padding: 0px;
  }

  .plr-200 {
    padding-left: 0;
    padding-right: 0;
  }

  .mb-80 {
    margin-bottom: 30px;
  }

  .mb-40 {
    margin-bottom: 30px;
  }

  /* .product-title {
    font-size: 13px;
  } */

  .logo {
    padding: 2px 0;
    text-align: center;
  }

  .blog-item .blog-desc {
    padding: 20px;
  }

  .blog-item .blog-desc::before,
  .blog-item .blog-desc::after {
    bottom: 10px;
    left: 10px;
    right: 10px;
    top: 10px;
  }

  .blog-item .blog-desc p {
    margin-bottom: 10px;
  }

  .blog-item .read-more {
    margin-bottom: 5px;
  }

  .footer-area .plr-185 {
    padding: 0;
  }

  .footer-top-inner {
    padding: 30px 15px;
  }

  .footer-about {
    padding-right: 15px;
  }

  .footer-title {
    margin: 30px 0 10px;
  }

  .footer-menu li a {
    line-height: 24px;
  }

  .footer-menu li a span {
    font-size: 11px;
  }

  .copyright {
    padding: 0 15px;
  }

  .copyright-text p {
    text-align: center;
    line-height: 2.1;
  }

  .breadcrumbs-title {
    /* font-size: 20px; */
    padding: 50px 0 30px;
  }

  .breadcrumb-list {
    text-align: center;
  }

  .breadcrumb-list>li {
    font-size: 10px;
  }

  .pagination {
    margin-bottom: 30px;
  }

  .imgs-zoom-area {
    margin-bottom: 30px;
  }

  .blog-section-title {
    font-size: 16px;
  }

  .checkout-content {
    padding: 30px 15px;
  }

  .billing-details.pr-10 {
    padding-right: 0;
  }

  .billing-details.p-30 {
    padding: 15px;
  }

  .payment-details {
    margin-top: 30px;
    padding: 10px;
  }

  .message-box {
    width: fit-content;
    padding: 20px;
    max-width: 100%;
  }

  .login-account {
    padding: 30px 15px;
  }

}

@media only screen and (max-width: 479px) {
  .plus-minus-pro-action .sin-pro-action {
    float: left;
    margin-top: 20px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
  .container {
    width: 100%;
  }
}

.header-area {
  z-index: 999;
  position: relative;
  font-size: 18px;
}

.logo {
  padding: 12px 0;
  transition: all 0.3s ease 0s;
}

@media (max-width: 767px) {
  .logo {
    padding: 2px 0;
    text-align: center;
  }
}

.logo img {
  transition: all 0.3s ease 0s;
}

.cart-icon {
  font-size: 20px;
  line-height: 20px;
}

.cart-img {
  position: relative;
}

.cart-info {
  padding: 10px 0 0 20px;
}

.cart-info h6 {
  color: #666;
  font-weight: 500;
}

.cart-info p {
  margin: 0;
}

.cart-info p>span {
  display: inline-block;
  width: 56px;
}

.cart-info span strong {
  float: right;
  padding-right: 10px;
}



.footer-top-inner {
  padding: 30px 50px;
}

.footer-title {
  color: #000000;
  border-bottom: 1px solid #333333;
  margin-bottom: 30px;
}

.footer-info {
  margin-bottom: 20px;
}

.footer-info .footer-info-box {
  border-right: 1px solid #333333;
  padding: 10px;
}

.footer-info-box p {
  line-height: 1.5;
  word-break: break-all;
}

@media (min-width: 768px) and (max-width: 991px) {
  .footer-top-inner {
    padding: 30px 15px;
  }
}

@media screen and (max-width: 767px) {
  .footer-top-inner {
    padding: 30px 15px;
  }

  .footer-info .footer-info-box {
    border-right: none;
    border-bottom: 1px solid #333333;
    padding: 12px 10px;
  }

  .footer-info .footer-info-box p:last-child {
    margin-bottom: 0;
  }

}

.footer-info .footer-info-box:last-child {
  border-right: none;
}

.footer-about .footer-title h1 {
  /* font-size: 24px;
  font-weight: 700; */
  margin-bottom: 20px;
}

.footer-about .map {
  width: 100%;
  overflow: hidden;
}

.hbnBox {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer-logo {
  margin-bottom: 12px;
  max-width: 100%;
  max-width: 150px;
}

.footer-default-inner {
  padding: 32px 0 40px;
}

.footer-default-header {
  display: grid;
  grid-template-columns: 1.5fr 10.5fr;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #1a1a1a;
}

.footer-default-header-title {
  min-width: 0;
}

.footer-default-row {
  display: grid;
  grid-template-columns: 1.5fr 3.5fr 2.5fr 2fr 2.5fr;
  gap: 24px;
}

.footer-default-col {
  min-width: 0;
}

.footer-default-col--logo {
  display: flex;
  align-items: flex-start;
}

.footer-default-logo--stack {
  display: flex;
  align-items: flex-start;
}

.footer-default-logo {
  width: 175px;
  height: 210px;
  max-width: 100%;
  flex: 0 0 auto;
}

.footer-default-logo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block;
  object-fit: contain;
}

.footer-default-title {
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

.footer-default-map iframe {
  width: 100%;
  height: 200px;
  border: 0;
  border-radius: 10px;
}

.footer-default-block {
  height: 100%;
}

.footer-default-block-title {
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 12px;
  padding-left: 14px;
  position: relative;
}

.footer-default-block-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 14px;
  background: #1a1a1a;
}

.footer-default-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-default-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #666666;
  margin-bottom: 10px;
}

.footer-default-item p {
  line-height: 1.5;
}

.footer-default-icon {
  font-size: 20px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  margin-top: 2px;
  color: #1a1a1a;
}

.footer-default-social-list {
  margin: 0 0 16px;
  padding: 0;
}

.footer-default-line {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-default-line-info {
  min-width: 0;
}

.footer-default-line-label {
  color: #8a8a8a;
}

.footer-default-line-id {
  font-weight: 600;
  color: #00b900;
  word-break: break-all;
}

.footer-default-line-qr img {
  width: 92px;
  height: 92px;
  display: block;
  margin: 0 auto;
}

.footer-default-line-qr {
  padding: 8px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #f7f7f7;
  text-align: center;
}

.footer-default-line-tip {
  color: #8a8a8a;
  text-align: center;
  margin-top: 6px;
}

@media (max-width: 991px) {
  .footer-default-inner {
    padding: 24px 20px 32px;
  }

  .footer-default-header {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer-default-map iframe {
    height: 180px;
  }

  .footer-default-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .footer-default-row {
    grid-template-columns: 1fr;
  }

  .footer-default-line {
    flex-direction: column;
    align-items: flex-start;
  }
}

.footer-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.footer-social li {
  display: inline-block;
}

.footer-social li+li {
  margin-left: 10px;
}

.footer-social li a {
  border: 1px solid rgb(153, 153, 153);
  border-radius: 50%;
  color: #999;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  text-align: center;
  width: 40px;
}

.footer-social li a i {
  line-height: 40px;
  font-size: 28px;
}

.footer-social li a:hover {
  border-color: transparent;
  color: #fff;
}

.footer-social li a.footer-social-link {
  background: #fff;
  border-color: #e0e0e0;
  color: inherit;
  position: relative;
  transition: background-color 0.2s ease, border-color 0.2s ease;
  width: 45px;
  height: 45px;
}

.footer-social li a.footer-social-link:hover {
  background: #f5f5f5;
  border-color: #d6d6d6;
  color: inherit;
}

.footer-social li a.footer-social-link .footer-social-icon {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
}

.footer-social li a.footer-social-link .footer-social-icon-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.footer-social li a.footer-social-link .footer-social-icon-img--mono {
  opacity: 0;
}

.footer-social li a.footer-social-link:hover .footer-social-icon-img--mono {
  opacity: 1;
}

.footer-social li a.footer-social-link:hover .footer-social-icon-img--color {
  opacity: 0;
}

.facebook:hover {
  background: #3B5998;
}

.google-plus:hover {
  background: #DD493D;
}

.twitter:hover {
  background: #1DA1F2;
}

.rss:hover {
  background: #F36F24;
}

.pinterest:hover {
  background: #cb2027 none repeat scroll 0 0;
}

.line {
  background: #00C300;
  color: #ffffff;
}

.line:hover {
  background: #02a802ff;
}

.message {
  background: #416bc6;
  color: #ffffff;
}

.message:hover {
  background: #3B5998;
}

.footer-title {
  font-weight: 700;
  margin: 10px 0 30px;
  text-transform: uppercase;
}

.footer-menu>li {
  display: block;
}

.footer-menu li a {
  color: #666666;
  display: inline-block;
  line-height: 30px;
}

.footer-menu li a i {
  color: #999999;
  font-size: 5px;
  margin-right: 10px;
  position: relative;
  top: -3px;
}

.footer-menu li a span {
  font-size: 13px;
  font-weight: 500;
}

.footer-menu li:hover a,
.footer-menu li:hover a i {
  color: #131313;
}

.copyright {
  padding: 0 100px;
}

.copyright-text {
  padding: 14px 0;
}

.copyright-text p {
  line-height: 1.8;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .copyright {
    padding: 0 50px;
  }

  .copyright-text p {
    text-align: center;
    line-height: 2.1;
  }

  .map>iframe {
    width: 100% !important;
  }

}


.copyright-text p a {
  color: #999999;
  margin: 0 5px;
}

.copyright-text p a:hover {
  color: #ffffff;
}

.product-item {
  margin-bottom: 30px;
  transition: all 0.3s ease 0s;
}

.product-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border: 1px solid #dddddd;
}

.product-info {
  background: #f6f6f6 none repeat scroll 0 0;
  padding: 20px 0;
  text-align: center;
}

.product-title {
  color: #434343;
  /* font-size: 16px;
  font-weight: 700; */
  margin-bottom: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.pro-price {
  /* color: #666666; */
  color: #480A0A;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  /* line-height: 20px; */
  margin-bottom: 20px;
  z-index: 9;
}

.action-button {
  font-size: 13px;
}

.action-button>li {
  display: inline-block;
  margin-right: 10px;
}

.action-button>li:last-child {
  margin-right: 0;
}

.product-item:hover {
  box-shadow: 0px 8px 13px rgba(0, 0, 0, 0.15);
}

.blog-img>a {
  display: block;
}

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

.blog-title {
  text-transform: uppercase;
}

.blog-desc p {
  margin-bottom: 25px;
}

.blog-item .read-more {
  margin-bottom: 45px;
}

.read-more a {
  color: #2c2c2c;
  font-size: 16px;
  padding: 10px 16px;
  text-transform: uppercase;
}

.blog-item {
  margin-bottom: 30px;
  overflow: hidden;
  position: relative;
}

.blog-item img {
  width: 100%;
}

.blog-item .blog-desc {
  backface-visibility: hidden;
  background: rgba(255, 127, 0, 0.95) none repeat scroll 0 0;
  height: 100%;
  left: 0;
  padding: 40px;
  position: absolute;
  top: 0;
  width: 100%;
  opacity: 0;
  transition: all 0.5s ease 0s;
}

.blog-item .blog-desc::before,
.blog-item .blog-desc::after {
  bottom: 20px;
  content: "";
  left: 20px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 20px;
  top: 20px;
  transition: opacity 0.35s ease 0s, transform 0.5s ease 0s;
}

.blog-item .blog-desc::before {
  border-bottom: 1px solid #fefefe;
  border-top: 1px solid #fefefe;
  transform: scale(0, 1);
}

.blog-item .blog-desc::after {
  border-left: 1px solid #fefefe;
  border-right: 1px solid #fefefe;
  transform: scale(1, 0);
}

.blog-item:hover .blog-desc::before,
.blog-item:hover .blog-desc::after {
  opacity: 1;
  transform: scale(1);
}

.blog-item:hover .blog-desc {
  opacity: 1;
}

.blog-item .blog-title,
.blog-item .blog-desc p,
.blog-item .read-more a {
  color: #fefefe;
}

.blog-item .blog-title:hover a,
.blog-item .read-more a:hover {
  color: #ccc;
}

.brand-name {
  color: #999999;
  font-style: italic;
  text-transform: capitalize;
}

.owl-carousel-suggest .product-item {
  width: 100%;
  background: #ffffff;
  margin-bottom: 10px !important;
  box-shadow: none;
  border: 1px solid #dddddd;
}

@media screen and (max-width: 767px) {
  .owl-carousel-suggest .product-item {
    width: 100%;
    background: #ffffff;
    margin-bottom: 20px !important;
    box-shadow: none;
    border: 1px solid #dddddd;
  }

  .widget-title-more {
    color: #D1AD4B;
    font-weight: 600;
  }
}

.owl-carousel-btn-suggestbox {
  width: fit-content;
  display: flex;
}

.owl-carousel-btn-suggestbox .carousel-btn {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  border: none;
  width: 35px;
  height: 35px;
  cursor: pointer;
}

.owl-carousel-btn-suggestbox>.carousel-btn.right {
  background-image: url('../img/icon/arrow_R.svg');
  float: none;
}

.owl-carousel-btn-suggestbox>.carousel-btn.left {
  background-image: url('../img/icon/arrow_L.svg');
  margin-right: 1rem;
}

.blog-item-2 {
  margin-bottom: 30px;
  background: #ffffff;
  border-radius: 0px;
  overflow: hidden;
}

.blog-item-2 img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: all 0.3s ease 0s;
}

.blog-item-2 .blog-desc {
  text-align: start;
  padding: 10px 20px 10px 0;
}

.blog-title-2 {
  color: #333333;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: capitalize;
  white-space: nowrap;
}

.blog-title-2>a {
  padding-bottom: 4px;
}

.blog-title-2>a:hover {
  color: #2c2c2c;
}

.blog-desc>p {
  color: #333333;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.blog-item-2 .blog-image {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.date-box {
  margin: 8px;
  width: fit-content;
}

.date-text {
  margin-bottom: 0 !important;
  /* font-size: 14px; */
  text-align: end;
}

.read-more {
  width: 100px;
}

/* .read-more a {
  padding: 10px 16px;
} */

.blog-title-border {
  border-bottom: 1px solid #333333;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .blog-item-2 .blog-image {
    padding: 16px;
    border-radius: 10px;
    overflow: hidden;
  }

  .blog-item-2 .blog-image img {
    border-radius: 10px;
  }
}

.blog-item-2:hover img {
  opacity: 0.4;
  transform: scale3d(1.1, 1.1, 1);
}

.breadcrumbs-section {
  padding-top: 100px;
  background: #ffffff;
  background-position: 50% 18%;
  background-size: cover;
  margin-bottom: 40px;
}

.overlay-bg {
  position: relative;
}

.overlay-bg::before {
  background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
  content: "";
  height: 100%;
  left: 0;
  opacity: 0.6;
  position: absolute;
  top: 0;
  transition: all 0.3s ease 0s;
  width: 100%;
}

.breadcrumbs-inner {
  position: relative;
  z-index: 10;
}

.breadcrumbs-title {
  color: #580E0E;
  /* line-height: 45px; */
  margin-bottom: 0;
  padding: 55px 0;
  text-align: center;
  text-transform: uppercase;
  font-size: 35px;
  letter-spacing: 2px;
  font-display: swap;
}

.breadcrumbs-title::after,
.breadcrumbs-title::before {
  background: #580E0E;
}



@media (max-width: 767px) {
  .breadcrumbs-title {
    /* font-size: 28px;
    line-height: 40px; */
    padding: 8px 0;
  }
}

.breadcrumb-list {
  line-height: 1;
  padding-bottom: 20px;
}

.breadcrumb-list>li {
  color: #999999;
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  margin-right: 15px;
  text-transform: uppercase;
}

.breadcrumb-list>li::before {
  content: "_";
  left: 0;
  color: #666666;
  transition: all 0.3s ease 0s;
}

.breadcrumb-list>li:hover::before {
  color: #131313;
}

.breadcrumb-list>li>a {
  color: #666666;
}

.breadcrumb-list>li:hover>a {
  color: #131313;
}

.product-item .product-img a {
  width: 100%;
  height: 100%;
  display: block;
}

.product-item .product-img a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-item .product-img {
  position: relative;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  background: #ffffff;
}

.product-item .product-img .product-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 80px;
  height: fit-content;
  background: #2c2c2c;
  color: #ffffff;
  padding: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination {
  padding: 10px;
}

.pagination>li {
  display: inline-block;
  margin-right: 3px;
}

.pagination>li:last-child {
  margin-right: 0;
}

.pagination>li>a {
  border: 1px solid #eee;
  color: #999999;
  display: block;
  font-family: roboto;
  font-size: 13px;
  font-weight: 400;
  height: 30px;
  line-height: 28px;
  text-align: center;
  width: 30px;
}

.pagination>li>a i {
  line-height: 28px;
}

.pagination>li.active a,
.pagination>li:hover a {
  border-color: #131313;
  color: #131313;
}

.widget {
  padding: 20px 8px;
}

.widget-title {
  color: #000000;
  font-display: swap;
  /* font-size: 20px; */
  font-weight: 800;
  text-transform: uppercase;
  position: relative;
  padding-left: 5px;
}

.widget-title::before {
  background: #312525;
  content: "";
  display: none;
}

.widget-search {
  position: relative;
}

.widget-search input {
  height: 50px;
  margin-bottom: 0;
  padding-right: 50px;
}

.widget-search button {
  background: transparent none repeat scroll 0 0;
  color: #999;
  font-size: 20px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transition: all 0.3s ease 0s;
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
}

.widget-search button:hover {
  color: #131313;
}

.product-cat>ul>li>ul {
  padding-left: 20px;
}

.product-cat .treeview>li>a,
.product-cat .treeview>li>ul>li>a {
  color: #999999;
  display: inline-block;
  text-transform: capitalize;
}

.product-cat .treeview>li>a {
  font-size: 14px;
  line-height: 30px;
}

.product-cat .treeview>li>ul>li>a {
  font-size: 13px;
  line-height: 25px;
}

.product-cat .treeview li {
  position: relative;
}

.product-cat .hitarea {
  cursor: pointer;
  height: 30px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.product-cat .treeview .collapsable>a {
  color: #131313;
}

.widget-product .product-item {
  overflow: hidden;
}

.widget-product .product-item:last-child {
  margin-bottom: 0;
}

.widget-product .product-img {
  float: left;
  width: 35%;
}

.widget-product .product-info {
  background: #fff none repeat scroll 0 0;
  float: left;
  padding: 15px 0 0 10px;
  text-align: left;
  width: 65%;
}

.widget-product .product-title {
  color: #666;
  font-weight: 500;
  text-transform: capitalize;
}

.widget-product .pro-price {
  color: #999999;
  /* font-size: 16px; */
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0;
}

.imgs-zoom-area {
  width: 100%;
}

.imgs-zoom-area img {
  width: 100% !important;
}

.p-c {
  border: 1px solid #fff;
  padding: 0 5px;
  width: 105px;
}

.p-c a.active img {
  border: 1px solid #131313;
}

.single-product-info h3 {
  font-weight: 500;
  margin-bottom: 5px;
}

.reviews-tab li {
  display: inline-block;
  margin-right: 35px;
  font-size: 16px;
}

.reviews-tab li:last-child {
  margin-right: 0;
}

.reviews-tab li a {
  display: block;
  font-weight: 500;
  line-height: 20px;
  font-size: 20px;
  color: #b7b7b7;
  text-transform: uppercase;
  transition: all 0.3s ease 0s;
}

.reviews-tab li a.active {
  color: #755100;
  font-weight: 700;
  border: none;
}

.tab-content p {
  /* font-size: 16px; */
  color: #333333;
}

.saparator {
  margin: auto 5px;
}

.color-title {
  color: #575757;
  line-height: 25px;
  margin-bottom: 0;
  text-transform: uppercase;
  width: 70px;
}

.cart-plus-minus {
  border: 1px solid #cccccc;
  height: 32px;
  text-align: center;
  width: 90px;
  color: #666666;
  border-radius: 3px;
}

.sin-plus-minus p {
  font-size: 16px;
  color: #333333;
}

.qtybutton {
  background: #e6e6e6 none repeat scroll 0 0;
  height: 100%;
  width: 30%;
  line-height: 32px;
  cursor: pointer;
}

.dec.qtybutton {
  float: left;
}

.inc.qtybutton {
  float: right;
}

input.cart-plus-minus-box {
  background: transparent none repeat scroll 0 0;
  box-shadow: none;
  font-family: roboto;
  height: 100%;
  margin-bottom: 0;
  padding: 4px;
  text-align: center;
  width: 40%;
}

.cart-qty {
  align-items: center;
  display: flex;
  border: 1px solid #cccccc;
  border-radius: 10px;
  overflow: hidden;
}

.cart-qty .cart-plus-minus-box {
  height: 40px;
}

.cart-qty .qtybutton {
  height: 40px;
}

.table-content table,
.table-content table th,
.table-content table td {
  border: 1px solid #eee;
  border-collapse: collapse;
}

table {
  width: 100%
}

.payment-details,
.single-product-area {
  width: 100%;
  overflow-x: auto;
}

@media screen and (max-width: 768px) {

  .table-content table,
  .table-content table th,
  .table-content table td {
    min-width: 130px;
    width: fit-content;
  }

  .payment-details table th,
  .payment-details table td {
    min-width: 100px;
    width: fit-content;
    padding: 10px 5px;
  }

  .payment-details table {
    width: 100%;
  }

  .payment-details table td[colspan="3"],
  .table-content table td[colspan="3"] {
    min-width: 250px;
    width: fit-content;
  }

  .table-content table {
    width: 100%;
  }
}

.table-content table thead th {
  color: #666666;
  font-family: raleway;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 18px 5px;
  text-transform: uppercase;
}

.table-content table tr td {
  color: #999;
  padding: 18px 5px;
}

.table-content table tr td>a {
  color: #2c2c2c;
  text-align: center;
}

.table-content .table-notice {
  margin: 30px;
  font-weight: 700;
}

.product-thumbnail {
  width: 420px;
}

.pro-thumbnail-img {
  float: left;
  width: 20%;
}

.pro-thumbnail-img img {
  width: 100%;
}

.pro-thumbnail-info {
  float: left;
  padding-left: 20px;
  width: 72%;
  max-width: 300px;
}

.product-title-2 {
  color: #666666;
  font-weight: 500;
  margin-top: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.pro-thumbnail-info>p {
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-price,
.product-subtotal {
  font-family: roboto;
  font-size: 16px;
  font-weight: 700;
}

.product-remove a {
  color: #999;
  display: block;
  font-size: 18px;
  height: 20px;
  line-height: 20px;
  transition: all 0.3s ease 0s;
  width: 20px;
}

.product-remove a:hover {
  color: #131313;
}

.product-stock {
  font-weight: 600;
  text-transform: uppercase;
}

.product-add-cart a {
  color: #999;
  font-size: 25px;
}

.product-add-cart a:hover {
  color: #131313;
}

.coupon-discount input {
  margin-bottom: 10px;
}

.payment-details tr {
  border-bottom: 1px solid #eee;
}

.payment-details tr:last-child {
  border-bottom: 0 none;
}

.payment-details td {
  padding: 5px 0;
  color: #333333;
}

.td-title {
  color: #999;
  font-family: roboto;
  font-weight: 500;
  text-align: right;
}

.order-total {
  color: #2c2c2c;
  font-weight: 500;
  text-align: left;
}

.order-total-price {
  color: #2c2c2c;
  font-family: roboto;
  font-weight: 700;
  text-align: right;
}

.thank-you h5 {
  color: #2c2c2c;
  font-family: roboto;
  font-weight: 700;
}

.custom-textarea {
  height: 250px;
}

.order-info {
  border-bottom: 1px solid #eee;
  border-top: 1px solid #eee;
}

.dropdown-menu {
  border: 0 none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.dropdown-width {
  width: 270px;
}

.blog-details-area {
  background: #ffffff;
  border-radius: 10px;
  min-height: 300px;
  height: fit-content;
  padding: 40px 20px;
}

.blog-details-area .blog-details-title {
  font-size: 24px;
  line-height: 32px;
  color: #333333;
}

.blog-details-area .blog-description {
  font-size: 16px;
  line-height: 28px;
  color: #333333;
}

.blog-details-area .blog-description p img {
  width: auto;
  max-width: 100%;
  height: auto !important;
  aspect-ratio: auto;

}

.blog-details-area .blog-description img {
  width: auto;
  max-width: 100%;
  height: auto !important;
  aspect-ratio: auto;

}

@media screen and (max-width: 768px) {

  .blog-details-area {
    overflow-x: hidden;
  }

  .blog-details-area .blog-description p img {
    width: auto;
    max-width: 100%;
    height: auto !important;
    aspect-ratio: auto;
  }

  .blog-details-area .blog-descriptio img {
    width: auto;
    max-width: 100%;
    height: auto !important;
    aspect-ratio: auto;
  }
}

.blog-details-title {
  color: #666;
  /* font-size: 24px; */
  font-weight: 700;
  /* line-height: 16px; */
}

.blog-section-title {
  color: #575757;
  /* font-size: 18px; */
  font-weight: 700;
  /* line-height: 32px; */
  text-transform: uppercase;
}

.wrapper {
  background: #fff none repeat scroll 0 0;
}

.text-warp {
  word-break: break-all;
  word-wrap: break-word;
}

.text-muted {
  font-size: 16px;
  color: #333333 !important;
}

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}

a.badge:hover,
a.badge:focus {
  text-decoration: none;
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}

.badge-primary {
  color: #fff;
  background-color: #007bff;
}

a.badge-primary:hover,
a.badge-primary:focus {
  color: #fff;
  background-color: #0062cc;
}

a.badge-primary:focus,
a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.badge-secondary {
  color: #fff;
  background-color: #6c757d;
}

a.badge-secondary:hover,
a.badge-secondary:focus {
  color: #fff;
  background-color: #545b62;
}

a.badge-secondary:focus,
a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.badge-success {
  color: #fff;
  background-color: #28a745;
}

a.badge-success:hover,
a.badge-success:focus {
  color: #fff;
  background-color: #1e7e34;
}

a.badge-success:focus,
a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.badge-info {
  color: #fff;
  background-color: #17a2b8;
}

a.badge-info:hover,
a.badge-info:focus {
  color: #fff;
  background-color: #117a8b;
}

a.badge-info:focus,
a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.badge-warning {
  color: #1f2d3d;
  background-color: #ffc107;
}

a.badge-warning:hover,
a.badge-warning:focus {
  color: #1f2d3d;
  background-color: #d39e00;
}

a.badge-warning:focus,
a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.badge-danger {
  color: #fff;
  background-color: #dc3545;
}

a.badge-danger:hover,
a.badge-danger:focus {
  color: #fff;
  background-color: #bd2130;
}

a.badge-danger:focus,
a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.badge-light {
  color: #1f2d3d;
  background-color: #f8f9fa;
}

a.badge-light:hover,
a.badge-light:focus {
  color: #1f2d3d;
  background-color: #dae0e5;
}

a.badge-light:focus,
a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.badge-dark {
  color: #fff;
  background-color: #343a40;
}

a.badge-dark:hover,
a.badge-dark:focus {
  color: #fff;
  background-color: #1d2124;
}

a.badge-dark:focus,
a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.badge-purple {
  color: #ffffff;
  background-color: #6f42c1;
}

a.badge-purple:hover,
a.badge-purple:focus {
  color: #ffffff;
  background-color: #492788;
}

a.badge-purple:focus,
a.badge-purple.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(145, 44, 185, 0.5);
}

@media screen and (max-width: 480px) {
  .g-recaptcha {
    transform: scale(0.85);
    transform-origin: 0 0;
  }
}

.custom-arrow {
  background: none;
  border: none;
  font-size: 1.4rem;
  color: #888;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.slick-prev {
  left: -20px;
}

.slick-next {
  right: -20px;
}

.custom-arrow:hover {
  color: #007bff;
}

.spec-button>li {
  display: inline-block;
  margin-right: 10px;
}

.spec-button>li:last-child {
  margin-right: 0;
}

.spec-button>li>a {
  background: transparent;
  border: 1px solid #666666;
  border-radius: 10%;
  color: #666666;
  display: block;
  font-size: 13px;
  height: 30px;
  text-align: center;
  padding: 3px 5px;
}

.spec-button>li>a i {
  line-height: 28px;
}

.spec-button>li:hover>a {
  background: #131313;
  border-color: #131313;
  color: #fff;
}

.spec-button li a.active {
  background-color: #131313;
  color: #fff;
  border-color: #131313;
}

.cart-thumbnail-img {
  float: left;
}

.cart-thumbnail-img img {
  width: 50px;
}

.wish-thumbnail-img {
  float: left;
}

.wish-thumbnail-img img {
  width: 100px;
}

.page-wrapper {
  margin-top: 85px
}

.swiperPaginationBox {
  padding: 30px 0;
  margin-bottom: 10px;
}

.blockTitleBox .blockTitle.gold {
  color: #D2AD4B;
}

.blockTitleBox .blockTitle {
  font-size: 35px;
  /* font-family: HGPMinchoE; */
  font-display: swap;
}

@media screen and (max-width: 768px) {
  .blockTitleBox .blockTitle {
    font-size: 24px;
  }
}

.blockTitleBox .blockTitleBgBox .blockTitleBg {
  color: rgba(112, 112, 112, 0.0901960784);
  font-size: 150px;
  /* font-family: Sitka; */
  margin-top: -60px;
}

@media screen and (max-width: 992px) {
  .blockTitleBox .blockTitleBgBox {
    margin-top: -40px;
  }
}

@media screen and (max-width: 768px) {
  .blockTitleBox .blockTitleBgBox {
    margin-top: -30px;
  }
}

@media screen and (max-width: 992px) {
  .blockTitleBox .blockTitleBgBox .blockTitleBg {
    font-size: 80px;
  }
}

@media screen and (max-width: 768px) {
  .blockTitleBox .blockTitleBgBox .blockTitleBg {
    font-size: 40px;
  }
}

.blockTitleBgHtml {
  font-size: 115px !important;
  margin-top: -40px !important;
}

@media screen and (max-width: 992px) {
  .page-wrapper {
    margin-top: 89px;
  }
}

@media screen and (max-width: 768px) {
  .blockTitleBox {
    margin-top: 20px;
    padding-top: 50px;
  }
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

.blockMSpacing {
  margin-top: 60px;
}

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

.sgsBox .sgsBoxTitle {
  width: -moz-fit-content;
  width: fit-content;
  background: #F8F8F8;
  padding: 10px 20px;
  border-radius: 99rem;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sgsBox .sgsBoxTitle .triangle-down {
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 10px solid #DD8C06;
}

.sgsBox .sgsBoxTitle .sgsTitle {
  font-size: 16px;
  color: #A06400;
  font-family: HGPMinchoE;
  font-display: swap;
  margin-bottom: 0px;
  margin-left: 10px;
  margin-right: 10px;
}

.blockMSpacingXL {
  margin-top: 100px;
}

.secSwiper .swiper-wrapper {
  margin-bottom: 60px;
}

.secSwiper .swiper-scrollbar {
  margin-top: 50px;
}

.timelineBox {
  width: 100%;
  height: 100%;
  background: antiquewhite;
  aspect-ratio: 1/1;
  border-radius: 99rem;
}

.timelineBox .timelineImgBox {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 99rem;
}

.timelineBox .timelineImgBox .timelineImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.timelineBox .timelineTextBox {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 99rem;
  padding: 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .timelineBox .timelineTextBox {
    padding: 30px 20px 20px;
  }
}

.timelineBox .timelineTextBox::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 20%;
  background: #ffffff;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.timelineBox .timelineTextBox .year {
  font-size: 20px;
  color: #ffffff;
  background: #A06400;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 20px;
  border-radius: 99rem;
  font-family: HGPMinchoE;
  font-display: swap;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .timelineBox .timelineTextBox .year {
    font-size: 16px;
    margin-bottom: 16px;
  }
}

.timelineBox .timelineTextBox .text {
  font-size: 16px;
  line-height: 32px;
  color: #653F00;
}

@media screen and (max-width: 768px) {
  .timelineBox .timelineTextBox .text {
    font-size: 12px;
  }
}

.secSwiper .swiper-scrollbar-drag {
  background: #A06400;
}

.blockPSpacing {
  padding-top: 60px;
}

.blockTitleBox {
  margin-top: 20px;
  /* padding-top: 120px; */
  padding-top: 20px;
}

.blockTitleBox .blockTitle.orange {
  color: #2c2c2c;
}

.blockTitleBox .blockTitle {
  /* font-size: 35px; */
  /* font-family: HGPMinchoE; */
  font-display: swap;
}

@media screen and (max-width: 768px) {
  .blockTitleBox {
    margin-top: 10px;
    /* padding-top: 120px; */
    padding-top: 20px;
  }

  .blockTitleBox .blockTitle {
    /* font-size: 24px; */
  }
}

.blockLine-wrappe {
  display: flex;
  justify-content: center;
}

.blockLine {
  width: 2px;
  height: 80px;
  background: #2c2c2c;
  margin: 25px auto;
}

.containerText {
  max-width: 800px;
  margin: 0 auto;
}

.containerText p {
  color: #333333;
  /* font-size: 16px;
  line-height: 28px; */
}

.blockLineText {
  /* font-size: 60px; */
  color: #2c2c2c;
  font-family: HGPMinchoE;
  font-display: swap;
}

/* @media screen and (max-width: 768px) {
  .blockLineText {
    font-size: 40px;
  }
} */

.footerBg {
  background-color: #ffffff;
  background-image: url("../img/bg/bgFooter.png");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 40px;
  position: relative;
}

.footerBg::after {
  content: "";
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: 200px;
  display: block;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);
  z-index: -1000;
}

.footerBg .row {
  display: flex;
  flex-wrap: wrap;
}

.contactBox {
  background: rgba(255, 255, 255, 0.3725490196);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid #2c2c2c;
  padding: 15px 20px;
  border-radius: 20px;
  height: 100%;
}

.mapBox {
  display: flex;
  justify-content: center;
  align-items: center;
}

.mapBox .map {
  margin-right: 20px;
}


@media screen and (max-width: 768px) {
  .mapBox .map {
    margin-right: 0px;
  }
}

.mapBox .mapText {
  margin-top: 20px;
  color: #2c2c2c;
}

.mapBox .mapText h1 {
  color: #2c2c2c;
  margin: 0 0 20px;
  /* font-size: 25px;
  line-height: 45px; */
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .mapBox .mapText h1 {
    /* font-size: 18px; */
    line-height: 32px;
    margin: 0 0 12px;
  }
}

.mapBox .mapText p {
  color: #2c2c2c;
  /* font-size: 16px; */
}

.addfriendBox {
  display: flex;
  justify-content: flex-start;
  align-items: start;
}

.addfriendBox .addfriend {
  margin-right: 40px;
}

@media screen and (max-width: 768px) {
  .addfriendBox .addfriend {
    margin-right: 10px;
    width: 40%;
  }
}

.addfriendBox .addfriend .addfriendImg {
  width: 100%;
  height: 100%;
  max-height: 200px;
  -o-object-fit: contain;
  object-fit: contain;
}

.addfriendBox .addfriendText {
  margin-top: 20px;
}

.addfriendBox .addfriendText h1 {
  margin: 0 0 20px;
  font-size: 25px;
  font-weight: bold;
  color: #333333;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .addfriendBox .addfriendText h1 {
    font-size: 18px;
    line-height: 32px;
    margin: 0 0 12px;
  }
}

.addfriendBox .addfriendText p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 16px;
  color: #333333;
}

.btnKG:hover {
  background-color: #2c2c2c;
  color: #ffffff;
}

.btnKG:hover p {
  color: #ffffff !important;
}

.footer {
  padding: 20px 0;
}

.footer .footerLogo {
  margin-bottom: 30px;
}

.footer .footerLogo .footerLogoImg {
  max-width: 120px;
  display: block;
}

.footerInfoBox {
  margin: 20px auto;
  flex-direction: row;
}

@media screen and (max-width: 768px) {
  .footerInfoBox {
    flex-direction: column;
    align-items: center;
  }
}

.footerInfo p {
  color: #313131;
  font-size: 16px;
  margin-right: 12px;
}

.footerInfo p:last-child {
  margin-right: 0;
}

.footerInfo {
  margin-right: 20px;
  position: relative;
}

.footerInfo::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -10px;
  transform: translateY(-50%);
  width: 1px;
  height: 20px;
  background: #313131;
}

@media screen and (max-width: 768px) {
  .footerInfo {
    margin-right: 0;
    margin-bottom: 12px;
  }

  .footerInfo::after {
    display: none;
  }
}

.footerLink a {
  color: #313131;
  font-size: 16px;
  margin-right: 10px;
}

.footer .footerSocial .socialItem {
  width: 50px;
  height: 50px;
  margin-right: 15px;
}

.footer .footerSocial .socialItem .socialItemImgBox {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.footer .footerSocial .socialItem .socialItemImgBox:hover .socialItemImgH {
  opacity: 1;
  transition: 0.5s;
}

.footer .footerSocial .socialItem .socialItemImgBox .socialItemImg {
  display: block;
}

.footer .footerSocial .socialItem:last-child {
  margin-right: 0;
}

.footer .footerSocial .socialItem .socialItemImgBox .socialItemImgH {
  opacity: 0;
  transition: 0.5s;
}

.footer .footerSocial .socialItem .socialItemImgBox .socialItemImg,
.footer .footerSocial .socialItem .socialItemImgBox .socialItemImgH {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.copyRight {
  padding: 8px 0 20px;
}

.copyRight .elementorBox {
  display: block;
  text-decoration: none;
}

.copyRight .elementorBox .elementorText {
  font-size: 15px;
  color: #717171;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.productBigBlock {
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .productBigBlock {
    margin-bottom: 20px;
  }
}

.productBlockTitle {
  margin-bottom: 14px;
}

.productBlockTitle h1 {
  font-size: 20px;
  line-height: 1.6;
  color: #333333;
  font-weight: 600;
}

.productBlockTitle p {
  line-height: 20px;
  margin-left: 10px;
  border-left: 1px solid #1e1e1e;
  font-weight: 600;
  padding-left: 10px;
}

.productBox {
  text-decoration: none;
  display: block;
  margin-bottom: 30px;
  border: 1px solid #c6c6c6;
  background: #ffffff;
  border-radius: 0px;
}

.productBox:hover .productImgBox .productImg {
  transform: scale(1.08);

}

.productBox:hover .btnKG {
  background-color: #2c2c2c;
  color: #ffffff;
}

.productBox .productImgBox {
  width: 100%;
  height: auto;
  /* aspect-ratio: 16/9; */
  aspect-ratio: 1/1;
  border-radius: 0px;
  overflow: hidden;
  position: relative;
  overflow: hidden;
}

.productBox .productImgBox .productImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: .5s;
}

.productBox .productImgBox .productTag {
  position: absolute;
  top: 10px;
  left: 12px;
  width: 80px;
  height: fit-content;
  background: #2c2c2c;
  color: #ffffff;
  padding: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.productBox .productImgBox .productTag .productTagText {
  font-size: 14px;
  font-family: HGPMinchoE;
  font-display: swap;
  margin: 0px;
}

.productBox .productTitle {
  font-size: 20px;
  line-height: 36px;
  min-height: 72px;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 12px;
  color: #333333;
  padding: 0 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

@media screen and (max-width: 768px) {
  .productBox .productTitle {
    font-size: 16px;
    min-height: 60px;
    line-height: 28px;
    margin-top: 12px;
    margin-bottom: 8px;
  }
}

.productBox .productContent {
  font-size: 16px;
  color: #333333;
  min-height: 48px;
  padding: 0 12px;
  line-height: 24px;
  height: 48px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .productBox .productContent {
    font-size: 16px;
    min-height: 60px;
    line-height: 28px;
    margin-top: 12px;
    margin-bottom: 8px;
  }
}

.btnKG {
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #cdcdcd;
  color: #2c2c2c;
  /* padding: 10px 20px; */
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  /* margin: 4px auto; */
  cursor: pointer;
  border-radius: 0rem;
}

@media screen and (max-width: 768px) {
  .btnKG {
    width: auto;
    margin: 4px;
    padding: 10px;
  }

  .btnKG.btn-w100-mobile {
    width: 100%;
  }
}

.btnKG p {
  color: #2c2c2c !important;
}

.btnKG i {
  font-size: 16px;
  margin-right: 5px;
}

.btnKG:hover {
  background-color: #2c2c2c;
  color: #ffffff;
}

.btnLike {
  background-color: #ffffff;
  border: 1px solid #2c2c2c;
  color: #2c2c2c;
  padding: 10px 14px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 18px;
  cursor: pointer;
  border-radius: 99rem;
  margin-right: 10px;
}

.btnLike.like {
  background-color: #2c2c2c;
  border: 1px solid #2c2c2c;
  color: #ffffff;
}

.btnLike:hover {
  background-color: #2c2c2c;
  border: 1px solid #2c2c2c;
  color: #ffffff;
}

.btnKG-gold {
  width: 100%;
  background-color: #313131;
  border: 1px solid #313131;
  color: #ffffff;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  margin: 4px auto;
  cursor: pointer;
  border-radius: 0rem;
  height: fit-content;
}

.btnKG-gold:hover {
  background-color: #000000;
  color: #ffffff;
}

.btnKG.btn-soldout {
  background: #dddddd;
  color: #666666;
  border: 1px solid #666666;
}

.alertMessage {
  position: fixed;
  top: 120px;
  right: 50%;
  transform: translateX(50%);
  width: fit-content;
  border-radius: 99rem;
  overflow: hidden;
  z-index: 3000;
}

.alertMessage .alert {
  margin: 0;
  display: flex;
}

.innerpage-edit-box h2 {
  font-size: 22px;
  line-height: 42px;
  margin-bottom: 16px;
  color: #333333;
  font-weight: 800;
}

.innerpage-edit-box p,
.innerpage-edit-box li {
  font-size: 16px;
  line-height: 28px;
  color: #333333;
}

/* 公司資訊頁編輯器內容圖：超過 1335px 縮小，未超過維持原尺寸 */
.innerpage-edit-box img {
  max-width: 100% !important;
  max-width: min(100%, 1335px) !important;
  height: auto !important;
}

/* 編輯器內容：合作品牌/產品牆（features-grids） */
#page-content .blog-description .features-grids:has(.partner_item),
#page-content .innerpage-edit-box .features-grids:has(.partner_item),
.widget-text .widget-text-bg .features-grids:has(.partner_item) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 18px;
  margin: 22px 0;
  align-items: stretch;
}

#page-content .blog-description .features-grids .partner_item,
#page-content .innerpage-edit-box .features-grids .partner_item,
.widget-text .widget-text-bg .features-grids .partner_item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(201, 172, 110, 0.36);
  border-radius: 12px;
  background: #fffdfa;
}

#page-content .blog-description .features-grids .partner_image,
#page-content .innerpage-edit-box .features-grids .partner_image,
.widget-text .widget-text-bg .features-grids .partner_image {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(201, 172, 110, 0.28);
  border-radius: 10px;
  overflow: hidden;
}

#page-content .blog-description .features-grids .partner_image img,
#page-content .innerpage-edit-box .features-grids .partner_image img,
.widget-text .widget-text-bg .features-grids .partner_image img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  display: block;
}

#page-content .blog-description .features-grids .partner_name,
#page-content .innerpage-edit-box .features-grids .partner_name,
.widget-text .widget-text-bg .features-grids .partner_name {
  margin: 0;
  color: #6a1d15;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  word-break: break-word;
}

@media (max-width: 991px) {

  #page-content .blog-description .features-grids:has(.partner_item),
  #page-content .innerpage-edit-box .features-grids:has(.partner_item),
  .widget-text .widget-text-bg .features-grids:has(.partner_item) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }
}

@media (max-width: 575px) {

  #page-content .blog-description .features-grids:has(.partner_item),
  #page-content .innerpage-edit-box .features-grids:has(.partner_item),
  .widget-text .widget-text-bg .features-grids:has(.partner_item) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  #page-content .blog-description .features-grids .partner_item,
  #page-content .innerpage-edit-box .features-grids .partner_item,
  .widget-text .widget-text-bg .features-grids .partner_item {
    padding: 10px;
  }

  #page-content .blog-description .features-grids .partner_name,
  #page-content .innerpage-edit-box .features-grids .partner_name,
  .widget-text .widget-text-bg .features-grids .partner_name {
    font-size: 13px;
    line-height: 1.4;
  }
}

.banner-link {
  display: block;
  position: relative;
  overflow: hidden;
}

.banner-link {
  border-radius: 99rem;
  overflow: hidden;
}

@media screen and (max-width: 992px) {
  .banner-link {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
}

.banner-link img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu>.dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}

.dropdown-submenu:hover>.dropdown-menu {
  display: block;
}

.headerMenu2:hover>.dropdown-menu2,
.headerMenu3:hover>.dropdown-menu3 {
  display: block;
}




.function-btns-block {
  width: fit-content;
  margin: 0 auto;
  display: none;
  position: fixed;
  bottom: 80px;
  right: 10px;
  z-index: 10;
  transition: all 0.3s ease 0s;
}


.function-btns-block .btn-Fb {
  width: 60px;
  height: 60px;
  margin: 0 auto 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #6a1d15;
  border: 1px solid rgba(216, 185, 143, 0.8);
  z-index: 10;
  border-radius: 99rem;
  transition: all 0.3s ease 0s;
}

.function-btns-block .btn-Fb:hover {
  background: #5b170f;
}

.function-btns-block .btn-Fb img {
  width: 28px;
  height: 28px;
  aspect-ratio: 1/1;

}

@media screen and (max-width: 768px) {
  .function-btns-block .btn-Fb {
    width: 48px;
    height: 48px;
  }

  .function-btns-block .btn-Fb img {
    width: 22px;
    height: 22px;
    aspect-ratio: 1/1;
  }
}


.function-btns-block .btn-Line {
  width: 60px;
  height: 60px;
  margin: 0 auto 10px;
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #6a1d15;
  border: 1px solid rgba(216, 185, 143, 0.8);
  border-radius: 99rem;
  z-index: 10;
  transition: all 0.3s ease 0s;
  cursor: pointer;
}

.function-btns-block .btn-Line:hover {
  background: #5b170f;
}

.function-btns-block .btn-Line .Qrcode {
  width: 160px;
  height: auto;
  position: absolute;
  top: 0;
  left: -180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #e4e4e4;
  padding: 10px;
  border-radius: 10px;
  z-index: 10;
  transition: all 0.3s ease 0s;
  opacity: 0;
}

.function-btns-block .btn-Line .Qrcode.active {
  opacity: 1;
}

.function-btns-block .btn-Line .Qrcode img {
  width: 100%;
  height: auto;
  aspect-ratio: 154/197;
}

.function-btns-block .btn-Line img {
  width: 30px;
  height: 30px;
  aspect-ratio: 1/1;

}

@media screen and (max-width: 768px) {
  .function-btns-block .btn-Line {
    width: 48px;
    height: 48px;
  }

  .function-btns-block .btn-Line img {
    width: 22px;
    height: 22px;
    aspect-ratio: 1/1;
  }
}

.function-btns-block .btn-Phone {
  width: 60px;
  height: 60px;
  margin: 0 auto 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #6a1d15;
  border: 1px solid rgba(216, 185, 143, 0.8);
  border-radius: 99rem;
  z-index: 10;
  transition: all 0.3s ease 0s;
}

.function-btns-block .btn-Phone:hover {
  background: #5b170f;
}


.function-btns-block .btn-Phone img {
  width: 28px;
  height: 28px;
  aspect-ratio: 1/1;
}

.function-btns-block .btn-Expand {
  width: 60px;
  height: 60px;
  margin: 0 auto 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  background-image: url('../img/3ffood/open.png');
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  border: none;
  border-radius: 0;
  padding: 0 0 24px 0;
  z-index: 10;
  transition: all 0.3s ease 0s;
}

.function-btns-block .btn-Expand:hover {
  filter: brightness(0.95);
}

@media screen and (max-width: 768px) {
  .function-btns-block .btn-Phone {
    width: 48px;
    height: 48px;
  }

  .function-btns-block .btn-Phone img {
    width: 22px;
    height: 22px;
    aspect-ratio: 1/1;
  }

  .function-btns-block .btn-Expand {
    width: 48px;
    height: 48px;
  }

  .function-btns-block .btn-Expand img {
    width: 22px;
    height: 22px;
    aspect-ratio: 1/1;
  }
}

#scrollUp {
  width: 60px;
  height: 60px;
  border-radius: 99rem;
  margin-bottom: 10px;
  opacity: 0;
  transition: all 0.3s ease;
}

#scrollUp:hover {
  background: #555555;
}

#scrollUp.active {
  opacity: 1;
}

#scrollUp i {
  width: 60px;
  line-height: 60px;
}


@media screen and (max-width: 768px) {
  #scrollUp {
    width: 48px;
    height: 48px;
    border-radius: 99rem;
  }

  #scrollUp i {
    width: 48px;
    line-height: 48px;
  }
}

.function-btns-area {
  opacity: 1;
  transition: all 0.3s ease;
}

.function-btns-area.active .function-btns-block {
  transform: translateY(-70px);
}

.function-btns-block {
  position: fixed;
  right: 20px;
  bottom: -50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 1000;
}



.function-btns-block a,
.function-btns-block button {
  transition: all 0.3s ease;
  cursor: pointer;
}

.btn-Line,
.btn-Fb,
.btn-Phone {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
}

.function-btns-block.active .btn-Line,
.function-btns-block.active .btn-Fb,
.function-btns-block.active .btn-Phone {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* =========================================
   Mobile Sidebar Styles (Custom Implementation)
   ========================================= */

/* Overlay */
.mobile-sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1040;
  /* Bootstrap offcanvas is 1045, modal is 1055 */
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease;
}

.mobile-sidebar-overlay.visible {
  opacity: 1;
  visibility: visible;
}

/* Sidebar Aside */
.mobile-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 80%;
  /* Fallback for mobile mostly */
  max-width: 380px;
  /* Reasonable max width */
  background-color: #fff;
  z-index: 1050;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
  transform: translateX(100%);
  transition: transform 0.5s cubic-bezier(0.32, 0.72, 0, 1);
  display: flex;
  flex-direction: column;
  border-left: 1px solid #f3f4f6;
}

@media (min-width: 768px) {
  .mobile-sidebar {
    width: 35%;
    min-width: 320px;
  }
}

.mobile-sidebar.open {
  transform: translateX(0);
}

/* Header */
.sidebar-header {
  padding: 3rem 1.5rem 1rem 1.5rem;
  /* pt-12 pb-4 px-6 */
}

.sidebar-header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.sidebar-title {
  font-size: 13px;
  font-weight: 900;
  color: #9ca3af;
  /* gray-400 */
  text-transform: uppercase;
  letter-spacing: 3px;
}

.sidebar-close-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: #9ca3af;
  transition: color 0.3s;
}

.sidebar-close-btn:hover {
  color: #000;
}

.sidebar-divider {
  height: 2px;
  width: 2rem;
  background-color: #000;
}

/* Content Area */
.sidebar-content {
  flex: 1;
  overflow-y: auto;
  padding: 0.5rem 1rem;
}

/* Scrollbar hide */
.custom-scrollbar::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

/* Menu Level 1 */
.sidebar-menu-l1 {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-item-l1 {
  margin-bottom: 0.5rem;
}

/* 第 1 層選單容器 - 使用 flexbox 分離跳轉和展開按鈕 */
.menu-item-l1-wrapper {
  display: flex;
  align-items: stretch;
  transition: all 0.3s;
}

.menu-item-l1-wrapper:hover {
  background-color: #f9fafb;
}

/* 左側：跳轉連結區域 */
.menu-btn-l1-link {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: transparent;
  border: none;
  text-align: left;
  transition: all 0.3s;
  color: #6b7280;
  text-decoration: none;
}

.menu-btn-l1-link:hover {
  color: #111827;
}

/* 右側：展開按鈕區域 */
.menu-btn-l1-toggle {
  flex-shrink: 0;
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.3s;
  color: #6b7280;
  cursor: pointer;
}

.menu-btn-l1-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.menu-btn-l1-toggle.active {
  background-color: #000;
  color: #fff;
}

/* 當展開時，整個容器變黑 */
.menu-btn-l1-toggle.active~.menu-btn-l1-link,
.menu-item-l1-wrapper:has(.menu-btn-l1-toggle.active) {
  background-color: #000;
  color: #fff;
}

.menu-item-l1-wrapper:has(.menu-btn-l1-toggle.active) .menu-btn-l1-link {
  color: #fff;
}

.menu-icon-l1 {
  flex-shrink: 0;
  width: 18px;
  text-align: center;
}

.menu-label-l1 {
  flex: 1;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.arrow-icon {
  font-size: 14px;
  transition: transform 0.3s;
}

.menu-btn-l1-toggle:not(.active) .arrow-icon {
  opacity: 0.3;
}

/* Menu Level 2 */
.menu-container-l2 {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.sidebar-menu-l2 {
  list-style: none;
  padding-left: 1rem;
  margin: 0;
}

.menu-item-l2 {
  margin-bottom: 0.25rem;
}

/* 第 2 層選單容器 - 使用 flexbox 分離跳轉和展開按鈕 */
.menu-item-l2-wrapper {
  display: flex;
  align-items: stretch;
  transition: all 0.3s;
}

.menu-item-l2-wrapper:hover {
  background-color: rgba(0, 0, 0, 0.03);
}

/* 左側：跳轉連結區域 */
.menu-btn-l2-link {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0.625rem;
  background: transparent;
  border: none;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  color: #9ca3af;
  text-decoration: none;
  transition: all 0.3s;
}

.menu-btn-l2-link:hover {
  color: #111827;
}

/* 右側：展開按鈕區域 */
.menu-btn-l2-toggle {
  flex-shrink: 0;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  transition: all 0.3s;
  color: #9ca3af;
  cursor: pointer;
}

.menu-btn-l2-toggle:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.menu-btn-l2-toggle.active {
  background-color: rgba(0, 0, 0, 0.1);
  color: #111827;
}

.arrow-icon-l2 {
  font-size: 12px;
  transition: transform 0.3s;
}

.menu-btn-l2-toggle:not(.active) .arrow-icon-l2 {
  opacity: 0.3;
}

/* Menu Level 3 */
.menu-container-l3 {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  border-left: 2px solid #f3f4f6;
  /* border-gray-100 */
  margin-left: 0.5rem;
}

.sidebar-menu-l3 {
  list-style: none;
  padding-left: 1rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  margin: 0;
}

.menu-link-l3 {
  display: block;
  padding: 0.25rem 0;
  font-size: 13px;
  font-weight: 700;
  color: #9ca3af;
  /* gray-400 */
  text-transform: uppercase;
  letter-spacing: -0.025em;
  /* tracking-tight */
  text-decoration: none;
  transition: color 0.3s;
}

.menu-link-l3:hover {
  color: #000;
}

/* System Menu */
.sidebar-system-menu {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.menu-btn-system {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: transparent;
  border: none;
  color: #9ca3af;
  transition: color 0.3s;
}

.menu-btn-system:hover {
  color: #000;
}

.menu-label-system {
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
}

/* Footer */
.sidebar-footer {
  padding: 0;
  border-top: 1px solid #f3f4f6;
  background-color: #fff;
}

.user-info-section {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.75rem;
  cursor: pointer;
  background-color: #fff;
  transition: background-color 0.3s;
}

.user-info-section:hover {
  background-color: #f9fafb;
}

.user-info-section.active {
  background-color: #f9fafb;
}

.user-avatar-v2 {
  width: 3rem;
  height: 3rem;
  background-color: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.user-details {
  display: flex;
  flex-direction: column;
}

.user-name {
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  color: #111827;
  letter-spacing: 0.025em;
}

.user-role {
  font-size: 10px;
  color: #9ca3af;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-top: 0.125rem;
}

.user-toggle-icon {
  color: #9ca3af;
  transition: transform 0.3s;
}

.user-info-section.active .user-toggle-icon {
  transform: rotate(180deg);
}

/* Member Center Menu */
.member-center-menu {
  display: none;
  padding: 1.5rem;
  background-color: #fff;
  border-bottom: 1px solid #f3f4f6;
}

.member-center-menu.open {
  display: block;
}

.member-menu-header {
  font-size: 14px;
  color: #9ca3af;
  font-weight: 700;
  margin-bottom: 2rem;
  letter-spacing: 0.05em;
}

.member-group {
  margin-bottom: 2rem;
}

.member-group-title {
  font-size: 14px;
  font-weight: 900;
  color: #111827;
  margin-bottom: 1rem;
}

.member-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.member-menu-list li {
  margin-bottom: 0.75rem;
  padding-left: 1.5rem;
  border-left: 1px solid #f3f4f6;
}

.member-menu-list a {
  text-decoration: none;
  color: #9ca3af;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.3s;
}

.member-menu-list a:hover {
  color: #000;
}

.logout-btn-container {
  padding: 0 1.5rem 1.5rem 1.5rem;
}

.logout-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem;
  border: 1px solid #e5e7eb;
  /* border-gray-200 */
  background: transparent;
  color: #6b7280;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;
}

.logout-btn:hover {
  background-color: #000;
  color: #fff;
  border-color: #000;
}

.strong {
  font-weight: 700;
}

/* 三福 Footer 視覺改版（僅 CSS，不調整結構） */
#footer.footer-area,
#footer.footer-area.gray-bg,
#footer .footer-top,
#footer .footer-bottom.black-bg {
  background-color: #280300;
}

#footer.footer-area {
  color: #f6ece4;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

#footer .footer-top {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

#footer .footer-top .container-fluid.plr-185 {
  padding-left: 150px;
  padding-right: 150px;
}

#footer .footer-default-inner {
  padding: 42px 0 36px;
}

#footer .footer-default-header {
  display: grid;
  grid-template-columns: 1.2fr 10.8fr;
  align-items: center;
  margin-bottom: 28px;
  padding-bottom: 44px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

#footer .footer-default-title {
  margin: 0;
  color: #fff7ef !important;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.3;
  /* transform: translateY(10px); */
}

#footer .footer-default-title::before,
#footer .footer-default-title::after {
  background: #fff7ef;
  display: none
}

#footer .footer-default-header-title {
  padding-left: 50px;
}

#footer .footer-default-row {
  grid-template-columns: 1.2fr 3.2fr 2.6fr 1.9fr 3.1fr;
  gap: 26px 28px;
  align-items: flex-start;
}

#footer .footer-default-col--logo {
  padding-top: 0;
  transform: translate(50px, -122px);
  z-index: 2;
}

#footer .footer-default-col--contact {
  margin-left: -115px;
}

#footer .footer-default-col--service {
  margin-left: -80px;
}

#footer .footer-default-col--social {
  margin-left: -80px;
}

#footer .footer-default-logo {
  width: 112px;
  height: 112px;
}

#footer .footer-default-logo img {
  object-fit: contain;
}

#footer .footer-default-block-title {
  margin-bottom: 14px;
  padding-left: 0;
  color: #fff7ef;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.35;
}

#footer .footer-default-block-title::before {
  content: none;
}

#footer .footer-default-item {
  gap: 8px;
  margin-bottom: 6px;
  color: rgba(255, 244, 236, 0.88);
}

#footer .footer-default-item p {
  color: rgba(255, 244, 236, 0.88);
  font-size: 13px;
  line-height: 1.7;
}

#footer .footer-default-icon {
  width: 16px;
  height: 16px;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 16px;
}

#footer .footer-default-social-list {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
}

#footer .footer-social li {
  display: block;
}

#footer .footer-social li+li {
  margin-left: 0;
}

#footer .footer-social li a.footer-social-link {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.95);
  background: #ffffff;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.24);
}

#footer .footer-social li a.footer-social-link:hover {
  border-color: #f8ede2;
  background: #f8ede2;
  transform: translateY(-1px);
}

#footer .footer-social li a.footer-social-link .footer-social-icon {
  width: 17px;
  height: 17px;
}

#footer .footer-social li a.footer-social-link .footer-social-icon-img--color {
  opacity: 0;
}

#footer .footer-social li a.footer-social-link .footer-social-icon-img--mono {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(7%) sepia(76%) saturate(3605%) hue-rotate(355deg) brightness(64%) contrast(131%);
}

#footer .footer-social li a.footer-social-link:hover .footer-social-icon-img--color {
  opacity: 0;
}

#footer .footer-social li a.footer-social-link:hover .footer-social-icon-img--mono {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(7%) sepia(76%) saturate(3605%) hue-rotate(355deg) brightness(64%) contrast(131%);
}

#footer .footer-default-line {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

#footer .footer-default-line-label {
  color: rgba(255, 236, 220, 0.72);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#footer .footer-default-line-id {
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

#footer .footer-default-line-qr {
  margin-top: 2px;
  padding: 6px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 6px;
  background: #ffffff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.24);
}

#footer .footer-default-line-qr img {
  width: 82px;
  height: 82px;
}

#footer .footer-default-col--map {
  align-self: flex-start;
  margin-left: -60px;
}

#footer .footer-default-map {
  max-width: 390px;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

#footer .footer-default-map iframe {
  display: block;
  width: 390px;
  height: 220px;
  border: 0;
  border-radius: 8px;
  background: #ffffff;
}

#footer .footer-bottom .copyright {
  padding: 0;
}

#footer .footer-bottom .copyright-text {
  padding: 14px 0 18px;
}

#footer .copyright-text p,
#footer .copyright-text .copy-text {
  margin: 0;
  color: rgba(255, 238, 225, 0.68);
  font-size: 11px;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

#footer .copyright-text p a,
#footer .copyright-text p a.text-white {
  color: rgba(255, 238, 225, 0.78);
}

#footer .copyright-text p a:hover {
  color: #ffffff;
}

@media (max-width: 991px) {
  #footer .footer-top .container-fluid.plr-185 {
    padding-left: 44px;
    padding-right: 44px;
  }

  #footer .footer-default-inner {
    padding: 32px 0 26px;
  }

  #footer .footer-default-header {
    grid-template-columns: 1fr;
    margin-bottom: 20px;
    text-align: left;
  }

  #footer .footer-default-title {
    font-size: 20px;
    transform: none;
  }

  #footer .footer-default-header-title {
    padding-left: 0;
  }

  #footer .footer-default-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 22px;
  }

  #footer .footer-default-col--logo {
    transform: none;
    z-index: auto;
  }

  #footer .footer-default-col--contact {
    margin-left: 0;
  }

  #footer .footer-default-col--service,
  #footer .footer-default-col--social,
  #footer .footer-default-col--map {
    margin-left: 0;
  }

  #footer .footer-default-col--map {
    grid-column: 1 / -1;
  }

  #footer .footer-default-map,
  #footer .footer-default-map iframe {
    width: 100%;
    height: 220px;
  }
}

@media (max-width: 575px) {
  #footer .footer-top .container-fluid.plr-185 {
    padding-left: 26px;
    padding-right: 26px;
  }

  #footer .footer-default-inner {
    padding: 26px 0 20px;
  }

  #footer .footer-default-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  #footer .footer-default-col--logo {
    padding-top: 0;
  }

  #footer .footer-default-logo {
    width: 92px;
    height: 92px;
  }

  #footer .footer-default-col--service,
  #footer .footer-default-col--social,
  #footer .footer-default-col--map {
    margin-left: 0;
  }

  #footer .footer-default-title {
    font-size: 18px;
  }

  #footer .footer-default-block-title {
    font-size: 18px;
  }

  #footer .footer-default-map iframe {
    height: 220px;
  }

  #footer .footer-default-line {
    gap: 8px;
  }

  #footer .copyright-text p,
  #footer .copyright-text .copy-text {
    font-size: 10px;
    line-height: 1.9;
  }
}

/* 三福全站文字字型 */
body,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body span,
body a,
body li,
body dt,
body dd,
body label,
body th,
body td,
body strong,
body em,
body small,
body button,
body input,
body select,
body textarea {
  font-family: "Noto Serif JP", serif !important;
  font-optical-sizing: auto;
}

/* 三福 Header 仿圖改版（僅桌機） */
@media (min-width: 992px) {
  #header {
    background: #ffffff;
    border-bottom: 1px solid #e6e1db;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  }

  #header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, #dac8b1 0%, #efe5d9 45%, #d3b89a 100%);
    opacity: 0.9;
    pointer-events: none;
  }

  #header #navBar {
    padding: 0;
  }

  #header #navBar>.container-fluid.plr-185 {
    min-height: 85px;
    padding-left: 160px;
    padding-right: 160px;
    display: flex;
    align-items: center;
  }

  #header .logo {
    padding: 0;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
  }

  #header .navLogo {
    height: auto;
    width: auto;
    max-height: none;
    margin-right: 28px;
  }

  #header .navbar-collapse {
    display: block !important;
    flex: 1 1 auto;
  }

  #header #navbarSupportedContent>.navbar-nav {
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
  }

  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1 {
    margin: 0;
    padding: 0 16px;
    position: relative;
  }

  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1>.nav-link {
    padding: 0;
    color: #3e2318;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.01em;
  }

  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1>.nav-link::after {
    display: none !important;
  }

  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1+li.headerMenu1::before {
    content: "・";
    position: absolute;
    left: -2px;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #a58060;
    font-size: 13px;
    line-height: 1;
  }

  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1:hover>.nav-link,
  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1>.nav-link:focus {
    color: #5f3025;
  }

  #header #navbarSupportedContent>.navbar-nav>li.headerMenu1+li.nav-item:not(.headerMenu1) {
    margin-left: auto;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1) {
    margin: 0 0 0 8px;
    padding: 0;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1)>.nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 7px 14px;
    border-radius: 3px;
    border: 1px solid #dcd8d2;
    background: #ffffff;
    color: #3e2318;
    line-height: 1;
    font-size: 15px;
    font-weight: 600;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1)>.nav-link i {
    margin: 0;
    font-size: 14px;
    line-height: 1;
    order: 1;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1)>.nav-link p {
    display: none !important;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1)>.dropdown-toggle::after {
    display: none !important;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1)>.dropdown-menu {
    border: 1px solid #e5ddd2;
    border-radius: 8px;
    margin-top: 0;
    box-shadow: 0 10px 22px rgba(34, 20, 12, 0.14);
    min-width: 158px;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item.dropdown {
    position: relative;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item.dropdown:not(.headerMenu1)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 10px;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item.dropdown>.dropdown-menu {
    top: calc(100% - 1px);
    margin-top: 0 !important;
    padding: 8px 0;
    background: #fffdf9;
    border: 1px solid #e5ddd2;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(34, 20, 12, 0.14);
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item.dropdown:hover>.dropdown-menu {
    display: block;
  }

  #header #navbarSupportedContent .dropdown-menu .nav-link,
  #header #navbarSupportedContent .dropdown-menu .dropdown-item {
    padding: 10px 16px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
    color: #4a2a1d;
    background: transparent;
    border: 0;
    white-space: nowrap;
  }

  #header #navbarSupportedContent .dropdown-menu .nav-link.dropdown-toggle::after {
    right: 14px !important;
    color: #ad8d71 !important;
  }

  #header #navbarSupportedContent .dropdown-menu .nav-link:hover,
  #header #navbarSupportedContent .dropdown-menu .nav-link:focus,
  #header #navbarSupportedContent .dropdown-menu .dropdown-item:hover,
  #header #navbarSupportedContent .dropdown-menu .dropdown-item:focus {
    background: #6a1d15;
    color: #ffffff;
  }

  #header #navbarSupportedContent .dropdown-menu .nav-link.dropdown-toggle:hover::after,
  #header #navbarSupportedContent .dropdown-menu .nav-link.dropdown-toggle:focus::after {
    color: #ffffff !important;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a#navbarDropdownA::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a#navbarDropdownB::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a#navbarDropdownC::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a.nav-link.btn::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="購物車"]::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="聯絡我們"]::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="shoppingCarts"]::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="contactUs"]::before {
    order: 2;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: 0.01em;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a#navbarDropdownA::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a#navbarDropdownB::before {
    content: "會員中心";
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a#navbarDropdownC::before {
    content: "語言";
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="聯絡我們"]::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="contactUs"]::before {
    content: "聯絡我們";
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="購物車"]::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a.nav-link.btn::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="shoppingCarts"]::before {
    content: "購物車";
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a.nav-link.btn,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="購物車"],
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="shoppingCarts"] {
    background: #6a1d15;
    border-color: #6a1d15;
    color: #ffffff;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a.nav-link.btn i,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a.nav-link.btn::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="購物車"] i,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="shoppingCarts"] i,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="購物車"]::before,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="shoppingCarts"]::before {
    color: #ffffff;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item:not(.headerMenu1)>.nav-link:hover {
    border-color: #bcb2a6;
    color: #2f1a11;
    background: #fffaf3;
  }

  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a.nav-link.btn:hover,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[title="購物車"]:hover,
  #header #navbarSupportedContent>.navbar-nav>li.nav-item>a[href*="shoppingCarts"]:hover {
    background: #5b170f;
    border-color: #5b170f;
    color: #ffffff;
  }
}

/* 三福全站背景圖 */
body {
  background-color: #ffffff;
  background-image: url('../img/3ffood/BG.png');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* 三福 Widget 覆寫：BannerA 右下分頁虛線（可點擊） */
.widget-bannerA .owl-carousel-bannerA {
  position: relative;
}

.widget-bannerA .owl-carousel-bannerA .owl-nav {
  display: none !important;
}

.widget-bannerA .owl-carousel-bannerA .owl-dots {
  position: absolute;
  right: 90px;
  bottom: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 8px 10px;
  z-index: 8;
}

.widget-bannerA .owl-carousel-bannerA .owl-dots .owl-dot {
  width: 60px;
  height: 20px;
  margin: 0;
}

.widget-bannerA .owl-carousel-bannerA .owl-dots .owl-dot span {
  display: block;
  width: 56px;
  height: 3px;
  margin: 0;
  border-radius: 0;
  background: #c6c8cb;
  opacity: 1;
  pointer-events: none;
}

.widget-bannerA .owl-carousel-bannerA .owl-dots .owl-dot.active span,
.widget-bannerA .owl-carousel-bannerA .owl-dots .owl-dot:hover span {
  background: #7f332e;
}

.widget-bannerA .owl-carousel-bannerA .owl-dots.disabled {
  display: none !important;
}

@media screen and (max-width: 991px) {
  .widget-bannerA .owl-carousel-bannerA .owl-dots {
    right: 42px;
    bottom: 14px;
    gap: 8px;
    padding: 6px 8px;
  }

  .widget-bannerA .owl-carousel-bannerA .owl-dots .owl-dot {
    width: 44px;
    height: 18px;
  }

  .widget-bannerA .owl-carousel-bannerA .owl-dots .owl-dot span {
    width: 40px;
    height: 3px;
  }
}

/* 三福 Widget 覆寫：圖文 C 缺角與雙線條 */
.widget-imgTextC {
  padding: 120px 0;
}

.widget-imgTextC .imgTextC-imgBox {
  position: relative;
  overflow: visible;
}

.widget-imgTextC .imgTextC-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 圖文 C（右圖版）：文字區改為靠右 */
.widget-imgTextC .imgTextC-Title {
  color: #C9AF76;
}

.widget-imgTextC .imgTextC-Title::after,
.widget-imgTextC .imgTextC-Title::before {
  background: #C9AF76;
}

.imgTextC-textBox .imgTextC-Content {
  font-size: 20px;
  letter-spacing: 1.2px;
  line-height: 35px;
}

@media screen and (min-width: 992px) {
  .widget-imgTextC .row>div:first-child .imgTextC-textBox {
    width: 100%;
    max-width: 72ch;
    margin: 0 auto;
    align-items: center !important;
  }

  .widget-imgTextC .row>div:first-child .imgTextC-textBox .imgTextC-Title {
    width: 100%;
    text-align: center;
    margin-right: 0;
    margin-left: 0;
  }

  .widget-imgTextC .row>div:first-child .imgTextC-textBox .imgTextC-Content {
    width: 100%;
    /* text-align: right; */
    text-align: left;
    margin-right: 0;
    margin-left: 0;
  }

  .widget-imgTextC .row>div:first-child .imgTextC-textBox .imgTextC-BtnBox {
    width: 100%;
    justify-content: center !important;
  }
}

/* 左圖：左上缺角 + 右/下裝飾線 */
.widget-imgTextC .row>div:first-child .imgTextC-imgBox {
  border-top-left-radius: 96px;
}

.widget-imgTextC .row>div:first-child .imgTextC-img {
  border-top-left-radius: 96px;
}

.widget-imgTextC .row>div:first-child .imgTextC-imgBox::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 10px);
  height: calc(100% + 12px);
  border-right: 2px solid #c9ac6e;
  border-bottom: 2px solid #c9ac6e;
  pointer-events: none;
  z-index: 2;
}

/* 右圖：右下缺角 + 左/上裝飾線 */
.widget-imgTextC .row>div:last-child .imgTextC-imgBox {
  border-bottom-right-radius: 96px;
}

.widget-imgTextC .row>div:last-child .imgTextC-img {
  border-bottom-right-radius: 96px;
}

.widget-imgTextC .row>div:last-child .imgTextC-imgBox::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -12px;
  width: calc(100% + 10px);
  height: calc(100% + 12px);
  border-left: 2px solid #c9ac6e;
  border-top: 2px solid #c9ac6e;
  pointer-events: none;
  z-index: 2;
}

@media screen and (max-width: 991px) {
  .widget-imgTextC .imgTextC-imgBox {
    border-radius: 0;
    overflow: hidden;
  }

  .widget-imgTextC .imgTextC-img {
    border-radius: 0 !important;
  }

  .widget-imgTextC .row>div:first-child .imgTextC-imgBox::after,
  .widget-imgTextC .row>div:last-child .imgTextC-imgBox::before {
    display: none;
  }
}

/* 三福 Widget 覆寫：圖文 C 按鈕風格 */
.widget-imgTextC .imgTextC-textBox .imgTextC-BtnBox .btnC {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 56px 10px 22px;
  border: 1.5px solid #c9ac6e;
  border-radius: 6px;
  background: #6a1d15;
  color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 0 6px 14px rgba(50, 14, 10, 0.18);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.widget-imgTextC .imgTextC-textBox .imgTextC-BtnBox .btnC::after {
  content: "›";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: #f0e6d3;
  color: #9a763f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.widget-imgTextC .imgTextC-textBox .imgTextC-BtnBox .btnC:hover {
  background: #5b170f;
  border-color: #d7be87;
  color: #ffffff;
  box-shadow: 0 8px 16px rgba(50, 14, 10, 0.24);
}

.widget-imgTextC .imgTextC-textBox .imgTextC-BtnBox .btnC:focus-visible {
  outline: 2px solid #d9be82;
  outline-offset: 2px;
}

/* 三福全站標題主題：H1-H4 */
h1,
h2,
h3,
h4 {
  font-weight: 700;
  color: #6a1d15;
}

/* 鎖定「有菱形標題」文字顏色，避免被高權重區塊覆蓋 */
h1:not(.pro-price),
h2:not(.pro-price),
h3:not(.pro-price),
h4:not(.pro-price):not(.footer-default-block-title) {
  /* color: #6a1d15 !important; */
}

h1:not(.pro-price)::before,
h1:not(.pro-price)::after,
h2:not(.pro-price)::before,
h2:not(.pro-price)::after,
h3:not(.pro-price)::before,
h3:not(.pro-price)::after,
h4:not(.pro-price):not(.footer-default-block-title)::before,
h4:not(.pro-price):not(.footer-default-block-title)::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  /* background: #6a1d15; */
  vertical-align: middle;
  transform: translateY(-2px) rotate(45deg);
}

h1:not(.pro-price)::before,
h2:not(.pro-price)::before,
h3:not(.pro-price)::before,
h4:not(.pro-price):not(.footer-default-block-title)::before {
  margin-right: 14px;
}

h1:not(.pro-price)::after,
h2:not(.pro-price)::after,
h3:not(.pro-price)::after,
h4:not(.pro-price):not(.footer-default-block-title)::after {
  margin-left: 14px;
}

.widget-imgTextD .imgTextD-TitleBox .imgTextD-Title::after {
  position: static;
  top: auto;
  right: auto;
}

/* 排除菱形與標題主題：價格 */
h1.pro-price,
h2.pro-price,
h3.pro-price,
h4.pro-price {
  color: inherit;
  font-weight: inherit;
}

h1.pro-price::before,
h1.pro-price::after,
h2.pro-price::before,
h2.pro-price::after,
h3.pro-price::before,
h3.pro-price::after,
h4.pro-price::before,
h4.pro-price::after {
  content: none;
}

/* 排除菱形與標題主題：wishlist 按鈕型標題 */
.shopping-cart-box .table-content td.text-center h3:has(> button) {
  color: inherit !important;
  font-weight: inherit;
}

.shopping-cart-box .table-content td.text-center h3:has(> button)::before,
.shopping-cart-box .table-content td.text-center h3:has(> button)::after {
  content: none;
}

/* 排除菱形與標題主題：社群 badge 標題 */
.message-box h2:has(> .badge) {
  color: inherit !important;
  font-weight: inherit;
}

.message-box h2:has(> .badge)::before,
.message-box h2:has(> .badge)::after {
  content: none;
}

/* 排除菱形與標題主題：編輯器輸出內容區 */
#page-content .innerpage-edit-box h1::before,
#page-content .innerpage-edit-box h1::after,
#page-content .innerpage-edit-box h2::before,
#page-content .innerpage-edit-box h2::after,
#page-content .innerpage-edit-box h3::before,
#page-content .innerpage-edit-box h3::after,
#page-content .innerpage-edit-box h4::before,
#page-content .innerpage-edit-box h4::after,
#page-content .blog-description h1::before,
#page-content .blog-description h1::after,
#page-content .blog-description h2::before,
#page-content .blog-description h2::after,
#page-content .blog-description h3::before,
#page-content .blog-description h3::after,
#page-content .blog-description h4::before,
#page-content .blog-description h4::after,
#page-content .features-grids h1::before,
#page-content .features-grids h1::after,
#page-content .features-grids h2::before,
#page-content .features-grids h2::after,
#page-content .features-grids h3::before,
#page-content .features-grids h3::after,
#page-content .features-grids h4::before,
#page-content .features-grids h4::after,
#page-content .ck-content h1::before,
#page-content .ck-content h1::after,
#page-content .ck-content h2::before,
#page-content .ck-content h2::after,
#page-content .ck-content h3::before,
#page-content .ck-content h3::after,
#page-content .ck-content h4::before,
#page-content .ck-content h4::after {
  content: none !important;
}

/* 排除菱形：Widget 文字編輯器輸出（不一定在 #page-content 下） */
.widget-text .widget-text-bg h1::before,
.widget-text .widget-text-bg h1::after,
.widget-text .widget-text-bg h2::before,
.widget-text .widget-text-bg h2::after,
.widget-text .widget-text-bg h3::before,
.widget-text .widget-text-bg h3::after,
.widget-text .widget-text-bg h4::before,
.widget-text .widget-text-bg h4::after,
.widget-text .features-grids h1::before,
.widget-text .features-grids h1::after,
.widget-text .features-grids h2::before,
.widget-text .features-grids h2::after,
.widget-text .features-grids h3::before,
.widget-text .features-grids h3::after,
.widget-text .features-grids h4::before,
.widget-text .features-grids h4::after {
  content: none !important;
}

/* 三福 Widget 覆寫：圖文 B 上下標題風格 */
.widget-imgTextB .imgTextB-BoxTitle {
  width: fit-content;
  min-height: 46px;
  padding: 9px 22px;
  margin-bottom: 18px;
  border: none;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
}

.widget-imgTextB .imgTextB-BoxTitle .imgTextB-Title {
  margin: 0 12px;
  color: #6a1d15;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

.widget-imgTextB .imgTextB-BoxTitle .triangle-down {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 9px solid #c9ac6e;
  filter: drop-shadow(0 1px 0 rgba(42, 11, 7, 0.18));
}

.widget-imgTextB .imgTextB2-Box .imgTextB-BoxTitle {
  margin-top: 18px;
  margin-bottom: 0;
}

@media screen and (max-width: 991px) {
  .widget-imgTextB .imgTextB-BoxTitle {
    min-height: 42px;
    padding: 8px 16px;
    margin-bottom: 14px;
  }

  .widget-imgTextB .imgTextB-BoxTitle .imgTextB-Title {
    margin: 0 10px;
    font-size: 16px;
  }

  .widget-imgTextB .imgTextB2-Box .imgTextB-BoxTitle {
    margin-top: 14px;
  }
}


/* 第一批 Widget 覆寫：Banner B/C/D/E */
.widget-bannerB,
.widget-bannerC,
.widget-bannerD,
.widget-bannerE {
  position: relative;
  padding: 12px 0;
}

/* Banner B：深紅圓形按鈕，靠左下 */
.widget-bannerB .owl-stage-outer {
  border-radius: 16px;
  border: 1.5px solid rgba(201, 172, 110, 0.75);
  overflow: hidden;
}

.widget-bannerB .owl-carousel-bannerB .owl-nav {
  bottom: 14px;
  left: 16px;
  z-index: 5;
}

.widget-bannerB .owl-carousel-bannerB .owl-nav button.owl-prev,
.widget-bannerB .owl-carousel-bannerB .owl-nav button.owl-next {
  width: 40px;
  height: 40px;
  margin: 0 8px 0 0;
  border: 1.5px solid #c9ac6e !important;
  border-radius: 50%;
  background: #6a1d15 !important;
  color: #fff7ef !important;
  box-shadow: 0 4px 10px rgba(40, 3, 0, 0.26);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.widget-bannerB .owl-carousel-bannerB .owl-nav button.owl-prev:hover,
.widget-bannerB .owl-carousel-bannerB .owl-nav button.owl-next:hover {
  background: #4f130d !important;
  border-color: #d8bf86 !important;
  transform: translateY(-1px);
}

/* Banner C / E：中心聚焦 + 底部短線分頁 */
.widget-bannerC .owl-item .item,
.widget-bannerE .owl-item .item {
  border-radius: 16px;
  border: 1.5px solid rgba(201, 172, 110, 0.65);
  overflow: hidden;
}

.widget-bannerC .owl-carousel-bannerC .owl-item,
.widget-bannerE .owl-carousel-bannerE .owl-item {
  opacity: 0.42;
  filter: blur(2px);
}

.widget-bannerC .owl-carousel-bannerC .owl-item.center,
.widget-bannerE .owl-carousel-bannerE .owl-item.center {
  opacity: 1;
  filter: blur(0);
}

.widget-bannerC .owl-carousel-bannerC .owl-item.center .item,
.widget-bannerE .owl-carousel-bannerE .owl-item.center .item {
  box-shadow: 0 10px 26px rgba(40, 3, 0, 0.2);
}

.widget-bannerC .owl-carousel-bannerC .owl-dots,
.widget-bannerE .owl-carousel-bannerE .owl-dots {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin: 0;
}

.widget-bannerC .owl-carousel-bannerC .owl-dots .owl-dot,
.widget-bannerE .owl-carousel-bannerE .owl-dots .owl-dot {
  width: 42px;
  height: 18px;
  margin: 0;
}

.widget-bannerC .owl-carousel-bannerC .owl-dots .owl-dot span,
.widget-bannerE .owl-carousel-bannerE .owl-dots .owl-dot span {
  width: 40px;
  height: 3px;
  margin: 0;
  border-radius: 0;
  background: #c6c8cb;
  opacity: 1;
}

.widget-bannerC .owl-carousel-bannerC .owl-dots .owl-dot.active span,
.widget-bannerC .owl-carousel-bannerC .owl-dots .owl-dot:hover span,
.widget-bannerE .owl-carousel-bannerE .owl-dots .owl-dot.active span,
.widget-bannerE .owl-carousel-bannerE .owl-dots .owl-dot:hover span {
  background: #7f332e;
}

/* Banner D：白底浮動箭頭，置中左右（與 Banner B 明顯區隔） */
.widget-bannerD .owl-stage-outer {
  border-radius: 20px;
  overflow: hidden;
}

.widget-bannerD .owl-carousel-bannerD {
  position: relative;
}

.widget-bannerD .owl-carousel-bannerD .owl-nav {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 18px;
  margin-top: 0;
  z-index: 6;
}

.widget-bannerD .owl-carousel-bannerD .owl-nav button.owl-prev,
.widget-bannerD .owl-carousel-bannerD .owl-nav button.owl-next {
  width: 52px;
  height: 52px;
  margin: 0;
  border: 1.5px solid rgba(106, 29, 21, 0.45) !important;
  border-radius: 50%;
  background: rgba(255, 247, 239, 0.96) !important;
  color: #6a1d15 !important;
  box-shadow: 0 8px 22px rgba(27, 5, 3, 0.26);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.widget-bannerD .owl-carousel-bannerD .owl-nav button.owl-prev:hover,
.widget-bannerD .owl-carousel-bannerD .owl-nav button.owl-next:hover {
  background: #ffffff !important;
  border-color: #6a1d15 !important;
  transform: scale(1.03);
}

@media screen and (max-width: 991px) {
  .widget-bannerB .owl-carousel-bannerB .owl-nav {
    left: 10px;
    bottom: 8px;
  }

  .widget-bannerB .owl-carousel-bannerB .owl-nav button.owl-prev,
  .widget-bannerB .owl-carousel-bannerB .owl-nav button.owl-next {
    width: 34px;
    height: 34px;
  }

  .widget-bannerC .owl-carousel-bannerC .owl-dots,
  .widget-bannerE .owl-carousel-bannerE .owl-dots {
    gap: 6px;
    bottom: 8px;
  }

  .widget-bannerC .owl-carousel-bannerC .owl-dots .owl-dot,
  .widget-bannerE .owl-carousel-bannerE .owl-dots .owl-dot {
    width: 30px;
    height: 16px;
  }

  .widget-bannerC .owl-carousel-bannerC .owl-dots .owl-dot span,
  .widget-bannerE .owl-carousel-bannerE .owl-dots .owl-dot span {
    width: 28px;
    height: 3px;
  }

  .widget-bannerD .owl-carousel-bannerD .owl-nav button.owl-prev,
  .widget-bannerD .owl-carousel-bannerD .owl-nav button.owl-next {
    width: 42px;
    height: 42px;
  }
}

@media screen and (max-width: 768px) {
  .widget-bannerD .owl-carousel-bannerD .owl-nav {
    display: none !important;
  }
}

/* 三福 Widget 覆寫：圖文 A 外框線（保留既有形狀） */

.widget-imgTextA {
  padding: 60px 0 100px;
  /* background: rgba(201, 175, 118, 0.08); */
  
}

.widget-imgTextA .swiper {
  max-width: 1620px;
  width: 100%;
  margin: 0 auto;
}


.widget-imgTextA .imgTextA-Box {
  position: relative;
  background: transparent;
}

.widget-imgTextA .imgTextA1-Box::after, .widget-imgTextA .imgTextA2-Box::after{
  display: none;
}

.widget-imgTextA .imgTextA-Box:has(.imgTextA-TextBox) {
  background: linear-gradient(180deg, #f9f1ea 0%, #f2e4d7 100%);
}

.widget-imgTextA .imgTextA-TextBox .title {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #6a1d15;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
}

.widget-imgTextA .imgTextA-TextBox .title::before,
.widget-imgTextA .imgTextA-TextBox .title::after {
  content: "";
  width: 8px;
  height: 8px;
  background: #6a1d15;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.widget-imgTextA .imgTextA1-Box,
.widget-imgTextA .imgTextA2-Box {
  overflow: visible;
}

.widget-imgTextA .imgTextA1-Box::after,
.widget-imgTextA .imgTextA2-Box::after {
  content: "";
  position: absolute;
  inset: -8px;
  pointer-events: none;
  z-index: 2;
  border: 1.5px solid rgba(201, 172, 110, 0.88);
}

.widget-imgTextA .imgTextA1-Box::after {
  border-radius: 99rem;
}

.widget-imgTextA .imgTextA2-Box::after {
  border-radius: 22px;
}

.widget-imgTextA .imgTextA3-Box,
.widget-imgTextA .imgTextA4-Box {
  position: relative;
  box-shadow: inset 0 0 0 2px rgba(201, 172, 110, 0.92);
}

.widget-imgTextA .imgTextA3-Box::after,
.widget-imgTextA .imgTextA4-Box::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border: 1.5px solid rgba(201, 172, 110, 0.92);
  clip-path: inherit;
}

@media screen and (max-width: 991px) {

  .widget-imgTextA .imgTextA1-Box::after,
  .widget-imgTextA .imgTextA2-Box::after {
    inset: -5px;
  }

  .widget-imgTextA .imgTextA3-Box,
  .widget-imgTextA .imgTextA4-Box {
    box-shadow: inset 0 0 0 1.5px rgba(201, 172, 110, 0.82);
  }

  .widget-imgTextA .imgTextA3-Box::after,
  .widget-imgTextA .imgTextA4-Box::after {
    border-width: 1px;
  }
}

/* 三福 Widget image 滿版 */

.widget-image .container.container-1600 {
  max-width: none;
  width: 100%;
  overflow: hidden;
}

.widget-image .container.container-1600 .col-md-4.col-12 {
  padding: 0;
}


/* 三福 Widget 垂直節奏統一 */

@media screen and (min-width: 992px) {

  .widget-bannerA,
  .widget-bannerB,
  .widget-bannerC,
  .widget-bannerD,
  .widget-bannerE,
  .widget-text,
  /* .widget-image, */
  .widget-video,
  /* .widget-imgTextA, */
  .widget-imgTextB,
  /* .widget-imgTextC, */
  .widget-imgTextD,
  .oneImage,
  .productA,
  .productB,
  .productC {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 991px) {

  .widget-bannerA,
  .widget-bannerB,
  .widget-bannerC,
  .widget-bannerD,
  .widget-bannerE,
  .widget-text,
  /* .widget-image, */
  .widget-video,
  .widget-imgTextA,
  .widget-imgTextB,
  .widget-imgTextC,
  .widget-imgTextD,
  .oneImage,
  .productA,
  .productB,
  .productC {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

.widget-bannerA {
  padding-top: 0px;
  padding-bottom: 0px;
}

/* 文字模組標題樣式例外：上 20、下 0（所有斷點固定） */
.widget-block-title {
  padding-top: 20px;
  padding-bottom: 0;
}

/* 三福 最新產品用 */

/* .widget-block-title{
  background: rgba(201, 175, 118, 0.08);
} */

.widget-block-title h2{
  color: #755100;
}

.widget-block-title h2::after,
.widget-block-title h2::before {
  background: #755100;
}



/* 三福 Widget 覆寫：imgTextD 箭頭與分頁圈圈 */

.widget-imgTextD {
  padding: 60px 0;
}

/* .widget-imgTextD .swiper-slide {
  flex-direction: column-reverse;
} */

.widget-imgTextD .imgTextD-Box {
  position: relative;
  cursor: auto;
  border: 2px solid #C9AF76;
  display: flex;
  flex-direction: column-reverse;
  aspect-ratio: 490/545;
}


.swiper-slide:nth-child(odd) .imgTextD-Box .imgTextD-TextBox-Light {
  background: #ffffff;
}

.swiper-slide:nth-child(odd) .imgTextD-Box .imgTextD-TextBox-Light::after {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0)0%, rgba(255, 255, 255, 1) 80%);
}


.widget-imgTextD .imgTextD-Box .imgTextD-TextBox-Light {
  position: relative;
  background: #C9AF76;
  height: 50%;
}

.widget-imgTextD .imgTextD-Box .imgTextD-TextBox-Light::after {
  content: "";
  position: absolute;
  bottom: -90px;
  left: 0;
  width: 100%;
  height: 90px;
  background: linear-gradient(0deg, rgba(201, 175, 118, 0) 0%, rgba(201, 175, 118, 1) 80%);
}

.widget-imgTextD .imgTextD-Box .imgTextD-TextBox-Light .title {
  color: #C9AF76;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 16px;
}

.widget-imgTextD .imgTextD-Box .imgTextD-TextBox-Light .text {
  color: #4D4D4D;
  font-size: 16px;
  line-height: 28px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  box-sizing:border-box;
}

.swiper-slide:nth-child(even) .imgTextD-Box .imgTextD-TextBox-Light .title,
.swiper-slide:nth-child(even) .imgTextD-Box .imgTextD-TextBox-Light .text {
  color: #ffffff
}

.widget-imgTextD .swiper-nav-custom {
  gap: 10px;
}

.widget-imgTextD .swiper-nav-custom .swiper-main-button-prev,
.widget-imgTextD .swiper-nav-custom .swiper-main-button-next {
  width: 46px;
  height: 46px;
  margin: 0 !important;
  border: 1.5px solid #c9ac6e;
  border-radius: 999px;
  background: #6a1d15;
  color: #fff7ef;
  box-shadow: 0 6px 14px rgba(40, 3, 0, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.widget-imgTextD .swiper-nav-custom .swiper-main-button-prev:hover,
.widget-imgTextD .swiper-nav-custom .swiper-main-button-next:hover {
  background: #4f130d;
  border-color: #d9be82;
  transform: translateY(-1px);
}

.widget-imgTextD .swiper-nav-custom .swiper-main-button-prev img,
.widget-imgTextD .swiper-nav-custom .swiper-main-button-next img {
  width: 16px;
  height: 16px;
  filter: brightness(0) invert(1);
  opacity: 0.96;
}

.widget-imgTextD .swiper-pagination {
  justify-content: flex-start;
  margin-top: 22px;
  gap: 10px;
  padding: 3px 4px;
  overflow: visible;
}

.widget-imgTextD .swiper-pagination .swiper-pagination-bullet {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  background: #f6ece4 !important;
  border: 1.5px solid #c9ac6e;
  border-radius: 999px;
  opacity: 1 !important;
  outline: none !important;
  box-shadow: none !important;
  flex: 0 0 auto;
}

.widget-imgTextD .swiper-pagination .swiper-pagination-bullet-active {
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  background: #6a1d15 !important;
  border: 1.5px solid #c9ac6e !important;
  outline: none !important;
  box-shadow: inset 0 0 0 1px rgba(255, 247, 239, 0.2);
}

@media screen and (max-width: 991px) {
  .widget-imgTextD .swiper-pagination {
    margin-top: 16px;
    justify-content: center;
  }

  .widget-imgTextD .swiper-pagination .swiper-pagination-bullet,
  .widget-imgTextD .swiper-pagination .swiper-pagination-bullet-active {
    width: 12px !important;
    height: 12px !important;
  }
}

/* 三福商品頁按鈕（/products、/products/{id}） */
.shop-section .product-item .btnLike,
.single-product-info .action-button-box .btnLike {
  min-height: 50px;
  padding: 0 14px;
  border: 1.5px solid #6a1d15;
  border-radius: 8px;
  background: #ffffff;
  color: #6a1d15;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-size: 22px;
  line-height: 1;
  /* box-shadow: 0 4px 10px rgba(40, 3, 0, 0.08); */
}

.shop-section .product-item .btnLike i,
.single-product-info .action-button-box .btnLike i {
  color: #6a1d15;
  font-size: 24px;
  margin-right: 0;
  line-height: 1;
}

.shop-section .product-item .btnKG:not(.btn-soldout),
.single-product-info .action-button-box .btnKG:not(.btn-soldout) {
  min-height: 50px;
  padding: 0 24px;
  border: 1.5px solid #6a1d15;
  border-radius: 8px;
  background: #6a1d15;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  /* box-shadow: 0 6px 14px rgba(40, 3, 0, 0.2); */
}

.shop-section .product-item .btnKG:not(.btn-soldout) i,
.single-product-info .action-button-box .btnKG:not(.btn-soldout) i {
  color: #ffffff;
  font-size: 20px;
  margin-right: 0;
  line-height: 1;
}

.single-product-info .action-button-box .btnKG:not(.btn-soldout) {
  min-width: 168px;
}

.shop-section .product-item .btnKG:not(.btn-soldout):hover,
.single-product-info .action-button-box .btnKG:not(.btn-soldout):hover {
  background: #4f130d;
  border-color: #4f130d;
  color: #ffffff;
}

.shop-section .product-item .btnLike:hover,
.single-product-info .action-button-box .btnLike:hover {
  background: #f8ede2;
  border-color: #6a1d15;
  color: #6a1d15;
}

.shop-section .product-item .btnKG.btn-soldout,
.single-product-info .action-button-box .btnKG.btn-soldout {
  min-height: 50px;
  border-radius: 8px;
}

@media screen and (min-width: 768px) {

  .shop-section .product-item .btnLike,
  .single-product-info .action-button-box .btnLike {
    width: 48px;
    min-width: 48px;
    padding: 0;
  }
}

/* 三福 /products 商品卡片底色與圖片比例 */
.shop-section .shop-content .product-item {
  --card-arc-size: 60px;
  background: #fcf8f0;
  border-radius: 10px;
  border-top-left-radius: var(--card-arc-size);
  box-shadow: 0 4px 14px rgba(40, 3, 0, 0.08);
  padding: 10px 10px 14px;
  position: relative;
  overflow: hidden;
}

.shop-section .shop-content .product-item .product-img {
  --img-arc-size: 50px;
  width: 100%;
  margin: 0px auto 0;
  aspect-ratio: 1 / 1;
  background: #ffffff;
  border-radius: 0;
  border-top-left-radius: var(--img-arc-size);
  position: relative;
  overflow: hidden;
}

.shop-section .shop-content .product-item .product-img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-right: 2px solid rgba(201, 172, 110, 0.92);
  border-bottom: 2px solid rgba(201, 172, 110, 0.92);
  pointer-events: none;
  z-index: 2;
}

.shop-section .shop-content .product-item .product-img a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: relative;
  z-index: 1;
}

.shop-section .shop-content .product-item .product-img>img,
.shop-section .shop-content .product-item .product-img a img {
  border-radius: inherit;
  border: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #ffffff;
}

.shop-section .shop-content .product-item .product-info {
  background: transparent;
  padding: 14px 6px 0;
}

.shop-section .shop-content .product-item .product-info .product-title,
.shop-section .shop-content .product-item .product-info .product-title a {
  display: block;
  color: #C9AF76;
  font-weight: 700;
  line-height: 1.35;
  min-height: 0;
  max-height: none;
  margin-top: 0;
  margin-bottom: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  text-transform: none;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(201, 175, 118, 0.38);
}

.shop-section .shop-content .product-item .product-info .pro-price {
  color: #6a1d15;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
}

@media screen and (max-width: 767px) {
  .shop-section .shop-content .product-item {
    --card-arc-size: 66px;
    padding: 8px 8px 12px;
  }

  .shop-section .shop-content .product-item .product-img::after {
    border-right-width: 1.5px;
    border-bottom-width: 1.5px;
  }

  .shop-section .shop-content .product-item .product-img {
    --img-arc-size: 54px;
    width: 90%;
    margin-top: 6px;
  }

  .shop-section .shop-content .product-item .product-info {
    padding: 10px 6px 0;
  }
}

/* 三福商品頁分頁（/products） */
.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  background: transparent;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item,
.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item.active {
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  background: transparent;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item.page-item-btn {
  width: auto !important;
  min-width: 98px !important;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item>.page-link {
  height: 38px;
  min-width: 38px;
  padding: 0 12px;
  border: 1.5px solid rgba(201, 172, 110, 0.72);
  border-radius: 999px;
  background: #fffdfa;
  color: #8f744b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  transition: all 0.2s ease;
  white-space: nowrap;
  word-break: keep-all;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item:not(.page-item-btn)>.page-link {
  min-width: 40px;
  padding: 0 10px;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item>.page-link i {
  font-size: 16px;
  line-height: 1;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item.page-item-btn>.page-link .d-lg-block {
  white-space: nowrap;
  word-break: keep-all;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item.active>.page-link {
  border-color: #6a1d15;
  background: #6a1d15;
  color: #fff7ef;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item:not(.active):not(.disabled)>.page-link:hover {
  border-color: #c9ac6e;
  background: #f8ede2;
  color: #6a1d15;
}

.shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item.disabled>.page-link {
  opacity: 0.45;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30 {
    gap: 6px;
    margin-top: 16px;
  }

  .shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item>.page-link {
    height: 34px;
    min-width: 34px;
    padding: 0 9px;
    font-size: 13px;
  }

  .shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item.page-item-btn {
    min-width: 0 !important;
  }

  .shop-section .shop-content .pagination.justify-content-center.text-center.ptblr-10-30>.page-item>.page-link i {
    font-size: 15px;
  }
}

/* 三福商品標籤圓章樣式 */
.shop-section .shop-content .product-item .product-img .product-tag,
.widget-product .product-item .product-tag,
.single-product-image-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
  word-break: break-all;
  line-height: 1.22;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #a06400;
  border-radius: 999px;
  border: 2px dashed rgba(201, 172, 110, 0.92);
  background: rgba(252, 248, 240, 0.95);
  box-shadow: 0 3px 8px rgba(40, 3, 0, 0.08);
  padding: 8px;
}

.shop-section .shop-content .product-item .product-img .product-tag {
  top: auto;
  left: auto;
  right: 10px;
  bottom: 10px;
  width: 76px;
  height: 76px;
  font-size: 18px;
  z-index: 3;
}

.widget-product .product-item .product-tag {
  top: auto;
  left: auto;
  right: 10px;
  bottom: 10px;
  width: 64px;
  height: 64px;
  font-size: 13px;
}

.single-product-image-tag {
  top: auto;
  left: auto;
  right: 12px;
  bottom: 12px;
  width: 76px;
  height: 76px;
  font-size: 16px;
}

.single-product-image-tag.tag2 {
  left: auto;
  right: 96px;
  bottom: 12px;
}

/* 三福商品頁側欄（搜尋＋分類）- 日式簡約 */
.shop-section .widget-search {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.shop-section .widget-search form {
  position: relative;
}

.shop-section .widget-search input {
  height: 46px;
  border: 1px solid rgba(139, 118, 83, 0.35);
  border-radius: 2px;
  background: #fffdfa;
  color: #5c3a27;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 0 44px 0 14px;
  box-shadow: none;
}

.shop-section .widget-search input::placeholder {
  color: #9c8b71;
}

.shop-section .widget-search input:focus {
  border-color: #c9ac6e;
  box-shadow: 0 0 0 2px rgba(201, 172, 110, 0.16);
  background: #ffffff;
}

.shop-section .widget-search button {
  right: 12px;
  width: 24px;
  color: #8f744b;
  font-size: 18px;
}

.shop-section .widget-search button:hover {
  color: #6a1d15;
}

.shop-section .product-side-menu {
  background: #fffdfa;
  border: 1px solid rgba(139, 118, 83, 0.24);
  border-radius: 0;
  padding: 18px 14px;
  box-shadow: none;
}

.shop-section .product-side-menu .widget-title {
  margin: 0 0 12px 0;
  padding: 0 2px 10px;
  color: #5e2e24;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(201, 172, 110, 0.45);
}

.shop-section .product-side-menu .widget-title::before {
  display: none;
}

.shop-section .product-side-menu .product-cat>ul>.product-cat-item>a {
  margin-bottom: 0;
  padding: 12px 4px;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid rgba(201, 172, 110, 0.3);
  background: transparent;
  color: #4a2c20;
  font-weight: 600;
  line-height: 1.45;
}

.shop-section .product-side-menu .product-cat>ul>.product-cat-item>a:hover {
  background: rgba(201, 172, 110, 0.1);
  color: #6a1d15;
}

.shop-section .product-side-menu .product-cat>ul>.product-cat-item.is-active>a {
  position: relative;
  background: rgba(201, 172, 110, 0.16);
  background:
    linear-gradient(rgba(201, 175, 118, .1) 50%, transparent 0),
    linear-gradient(90deg, rgba(201, 175, 118, .1) 50%, transparent 0);
  background-size: 100% 10px, 10px 100%;
  border-bottom-color: #580E0E;
  color: #6a1d15;
  color: #580E0E;
  font-weight: 700;
  box-shadow: none;
  padding-left: 12px;
}

.shop-section .product-side-menu .product-cat>ul>.product-cat-item.is-active>a::before {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translateY(-50%)rotate(45deg);
  background: #580E0E;
}

.shop-section .product-side-menu .product-cat-item ul {
  margin-top: 2px;
  padding-left: 14px;
  border-left: 1px solid rgba(201, 172, 110, 0.35);
}

.shop-section .product-side-menu .product-cat-item ul .product-cat-item>a {
  padding: 9px 4px;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(201, 172, 110, 0.25);
  border-radius: 0;
  color: #6b5a44;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}

.shop-section .product-side-menu .product-cat-item ul .product-cat-item>a:hover {
  color: #6a1d15;
  border-bottom-color: rgba(106, 29, 21, 0.38);
}

.shop-section .product-side-menu .product-cat-item ul .product-cat-item.is-active>a {
  color: #6a1d15;
  font-weight: 700;
  background: transparent;
  border-radius: 0;
  border-bottom-color: rgba(106, 29, 21, 0.38);
  padding-left: 4px;
}

.shop-section .product-side-menu .product-cat-item.has-children>a::after {
  color: #b39666;
}

.shop-section .product-side-menu .product-cat-item.is-active.has-children>a::after,
.shop-section .product-side-menu .product-cat-item ul .product-cat-item.is-active.has-children>a::after {
  color: #a2824d;
}

.shop-section .product-side-menu .product-cat-item .text-danger {
  color: inherit !important;
}

/* 手機分類下拉維持同語言 */
.shop-section .btn-group-category {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.shop-section .btn-group-category .btn {
  height: 46px;
  border: 1px solid rgba(139, 118, 83, 0.35);
  border-radius: 2px;
  color: #5e2e24;
  font-weight: 600;
  background: #fffdfa;
  box-shadow: none;
}

.shop-section .btn-group-category .dropdown-menu {
  margin-top: 6px;
  border-radius: 2px;
  border: 1px solid rgba(139, 118, 83, 0.28);
  background: #fffdfa;
  padding: 8px;
  box-shadow: 0 10px 20px rgba(40, 3, 0, 0.08);
}

.shop-section .btn-group-category .product-cat-item>a,
.shop-section .btn-group-category .dropdown-item {
  border-radius: 0;
  color: #5a3a2a;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(201, 172, 110, 0.3);
  font-weight: 500;
  padding: 10px 6px;
}

.shop-section .btn-group-category .product-cat-item>a:hover,
.shop-section .btn-group-category .dropdown-item:hover {
  background: rgba(201, 172, 110, 0.1);
}

.shop-section .btn-group-category .product-cat-item.is-active>a,
.shop-section .btn-group-category .dropdown-item:active {
  background: rgba(201, 172, 110, 0.18);
  color: #6a1d15;
  border-color: transparent;
  font-weight: 700;
}

@media screen and (max-width: 991px) {
  .shop-section .widget-search {
    margin-bottom: 10px;
  }

  .shop-section .product-side-menu {
    padding: 14px 10px;
  }

  .shop-section .product-side-menu .widget-title {
    font-size: 20px;
  }
}

/* 三福麵包屑區塊：保留全站背景 */
.breadcrumbs-section {
  background: transparent;
}

.breadcrumbs-section .breadcrumbs {
  background: transparent;
}

.breadcrumbs-section .breadcrumbs.overlay-bg::before {
  display: none;
}

/* 三福 /posts 清單：一列一張（日式資訊卡） */
#page-content.section>.blog-section>.container>.row>.col-md-6 {
  flex: 0 0 100%;
  max-width: 100%;
}

#page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 26px;
  padding: 0 0 24px;
  background: transparent;
  border-radius: 0;
  border-bottom: 1px solid rgba(201, 172, 110, 0.56);
  position: relative;
  overflow: visible;
}

#page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row {
  margin: 0;
  display: flex;
  align-items: center;
  column-gap: 36px;
}

#page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row>[class*="col-lg-6"] {
  padding: 0;
}

#page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row>[class*="col-lg-6"]:first-child {
  flex: 0 0 230px;
  max-width: 230px;
}

#page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row>[class*="col-lg-6"]:last-child {
  flex: 1 1 auto;
  max-width: none;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-image {
  width: 230px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  border: 1.5px solid rgba(201, 172, 110, 0.9);
  background: #fffdfa;
  overflow: hidden;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2:hover img {
  opacity: 1;
  transform: none;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-desc {
  padding: 0 190px 0 0;
  min-height: 220px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-title-2 {
  margin: 0 0 14px;
  color: #C9AF76;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-transform: none;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-title-2>a {
  color: inherit;
  padding: 0;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-title-2>a:hover {
  color: #8f6f3a;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-desc>p {
  margin-bottom: 0;
  color: #755100;
  font-size: 18px;
  line-height: 1.75;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .read-more {
  width: auto;
  margin: 0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .read-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 138px;
  height: 52px;
  padding: 0 20px;
  border-radius: 6px;
  border: 1.5px solid #6a1d15;
  background: #6a1d15;
  color: #fff7ef;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .read-more a::after {
  content: "▶";
  font-size: 10px;
  color: #c9ac6e;
  line-height: 1;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .read-more a:hover {
  background: #4f130d;
  border-color: #4f130d;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-box {
  position: absolute;
  left: -124px;
  top: -14px;
  margin: 0;
  width: 88px;
  height: 88px;
  border-radius: 999px;
  border: 1.5px dashed rgba(127, 51, 46, 0.7);
  background: rgba(255, 253, 250, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-text {
  margin: 0 !important;
  color: #7f332e;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: center;
  word-break: normal;
  white-space: normal;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-text .date-year,
#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-text .date-md {
  display: block;
}

#page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-text .date-year {
  margin-bottom: 4px;
}

@media (max-width: 1199px) {
  #page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row {
    column-gap: 24px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row>[class*="col-lg-6"]:first-child {
    flex-basis: 210px;
    max-width: 210px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-image {
    width: 210px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-desc {
    padding-right: 170px;
    min-height: 206px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .read-more a {
    min-width: 124px;
    height: 48px;
    padding: 0 16px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-box {
    left: -112px;
    width: 80px;
    height: 80px;
  }
}

@media (max-width: 991px) {
  #page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2 {
    padding-bottom: 18px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row {
    display: block;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row>[class*="col-lg-6"]:first-child,
  #page-content.section>.blog-section>.container>.row>.col-md-6>.blog-item-2>.row>[class*="col-lg-6"]:last-child {
    max-width: 100%;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    margin-bottom: 14px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 img {
    aspect-ratio: 16 / 9;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .blog-desc {
    padding: 0;
    min-height: 0;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .read-more {
    position: static;
    transform: none;
    margin-top: 12px;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-box {
    position: static;
    width: auto;
    height: auto;
    border: none;
    background: transparent;
    padding: 0;
    margin: 10px 0 0;
    justify-content: flex-start;
  }

  #page-content.section>.blog-section>.container>.row>.col-md-6 .blog-item-2 .date-text {
    color: #8f744b;
    word-break: normal;
    text-align: left;
  }
}

/* 三福 /posts 文章內頁：文章分享區塊 */
#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block {
  padding-left: 0;
  padding-right: 0;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product {
  width: 100%;
  max-width: 1200px;
  margin: 20px auto 30px !important;
  padding: 24px 24px 28px;
  background: rgba(255, 253, 250, 0.95) !important;
  border: 1.5px solid rgba(201, 172, 110, 0.45);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(40, 3, 0, 0.06);
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product>.d-flex {
  margin-bottom: 16px !important;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(201, 172, 110, 0.48);
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title {
  margin: 0;
  padding-left: 0;
  color: #6a1d15;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title::before {
  display: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8f744b;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more i {
  color: #c9ac6e;
  font-size: 13px;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more:hover {
  color: #6a1d15;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-item {
  margin-right: 0;
  margin-bottom: 0 !important;
  padding: 10px;
  background: #fcf8f0;
  border: 1px solid rgba(201, 172, 110, 0.5);
  border-radius: 10px;
  border-top-left-radius: 44px;
  box-shadow: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img {
  float: none;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  border-top-left-radius: 34px;
  background: #ffffff;
  overflow: hidden;
  position: relative;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-right: 1.5px solid rgba(201, 172, 110, 0.92);
  border-bottom: 1.5px solid rgba(201, 172, 110, 0.92);
  pointer-events: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img a {
  display: block;
  width: 100%;
  height: 100%;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img .desktopImg {
  display: none !important;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img .mobileImg {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-info {
  float: none;
  width: 100%;
  background: transparent;
  padding: 12px 2px 2px;
  text-align: left;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-title {
  margin: 0;
  color: #6a1d15;
  font-weight: 700;
  line-height: 1.45;
  text-transform: none;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  min-height: 2.9em;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-title a {
  color: inherit;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox {
  gap: 10px;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox .carousel-btn {
  width: 44px;
  height: 44px;
  margin: 0;
  border: 1.5px solid #c9ac6e;
  border-radius: 999px;
  background: #fffdfa;
  background-image: none !important;
  position: relative;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.left::before,
#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.right::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -65%);
  color: #8f744b;
  font-size: 22px;
  line-height: 1;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.left::before {
  content: "‹";
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.right::before {
  content: "›";
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox .carousel-btn:hover {
  background: #6a1d15;
  border-color: #6a1d15;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox .carousel-btn:hover::before {
  color: #fff7ef;
}

@media (max-width: 991px) {
  #page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product {
    padding: 16px 12px 20px;
    border-radius: 10px;
  }

  #page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title {
    font-size: 24px;
  }

  #page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-item {
    border-top-left-radius: 34px;
  }

  #page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img {
    border-top-left-radius: 26px;
  }
}

/* 三福 /posts 文章內頁：文章分享區塊（新聞卡片版） */
#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product {
  width: 100%;
  max-width: 1200px;
  margin: 24px auto 30px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product>.d-flex {
  margin-bottom: 16px !important;
  padding: 0 2px 12px;
  border-bottom: 1px solid rgba(201, 172, 110, 0.48);
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title {
  margin: 0;
  padding-left: 0;
  color: #6a1d15;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title::before {
  display: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid rgba(201, 172, 110, 0.55);
  border-radius: 999px;
  color: #8f744b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  background: rgba(255, 253, 250, 0.65);
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more i {
  color: #c9ac6e;
  font-size: 12px;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more:hover {
  color: #6a1d15;
  background: #fff8ef;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-item {
  margin: 0;
  padding: 0;
  background: #fffdfa;
  border: 1px solid rgba(201, 172, 110, 0.46);
  border-radius: 10px;
  box-shadow: none;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-item:hover {
  transform: translateY(-3px);
  border-color: rgba(201, 172, 110, 0.8);
  box-shadow: 0 10px 20px rgba(40, 3, 0, 0.08);
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img {
  float: none;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 0;
  border: 0;
  overflow: hidden;
  background: #ffffff;
  position: relative;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img::after {
  display: none;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img a {
  display: block;
  width: 100%;
  height: 100%;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img .desktopImg {
  display: none !important;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-img .mobileImg {
  display: block !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-info {
  float: none;
  width: 100%;
  padding: 12px 14px 14px;
  background: transparent;
  text-align: left;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-title {
  margin: 0;
  color: #6a1d15;
  font-weight: 700;
  line-height: 1.55;
  text-transform: none;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  min-height: 3.1em;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-suggest .product-title a {
  color: inherit;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox {
  gap: 8px;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox .carousel-btn {
  width: 42px;
  height: 42px;
  margin: 0;
  border: 1px solid rgba(201, 172, 110, 0.72);
  border-radius: 999px;
  background: #fffdfa;
  background-image: none !important;
  position: relative;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.left::before,
#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.right::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -65%);
  color: #8f744b;
  font-size: 22px;
  line-height: 1;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.left::before {
  content: "‹";
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox>.carousel-btn.right::before {
  content: "›";
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox .carousel-btn:hover {
  border-color: #6a1d15;
  background: #6a1d15;
}

#page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .owl-carousel-btn-suggestbox .carousel-btn:hover::before {
  color: #fff7ef;
}

@media (max-width: 991px) {
  #page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title {
    font-size: 24px;
  }

  #page-content.section .blog-section .col-lg-12.col-12.order-2.d-block>.widget.widget-product .widget-title-more {
    padding: 6px 10px;
    font-size: 13px;
  }
}

/* 三福商品內頁主圖區 */
.shop-section .single-product-area {
  /* background: rgba(252, 248, 240, 0.92);
  border: 1px solid rgba(201, 172, 110, 0.32);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(40, 3, 0, 0.05); */
  padding: 28px 28px 24px;
  background: transparent;
}

.shop-section .single-product-main-image {
  --detail-arc-size: 82px;
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  border-radius: 0;
}

.shop-section .single-product-main-image::after {
  content: "";
  position: absolute;
  inset: 0;
  border-right: 2px solid rgba(201, 172, 110, 0.92);
  border-bottom: 2px solid rgba(201, 172, 110, 0.92);
  pointer-events: none;
  z-index: 2;
}

.shop-section .single-product-main-image #main-image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  height: auto;
  background: #ffffff;
  border-radius: 0px
}

.shop-section .imgs-zoom-area .img-fluid {
  border-radius: 0;
  border-top-left-radius: inherit;
}

.shop-section .single-product-image-tag {
  z-index: 3;
}

.shop-section .thumb-slider-wrapper {
  margin-top: 14px;
}

.shop-section #product-thumbnails {
  /* padding: 0 40px; */
  padding: 10px 0;
}

.shop-section .p-c {
  width: 92px;
  padding: 0;
  margin-right: 10px;
  border: 0;
  background: transparent;
}

.shop-section .p-c .thumb-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  cursor: pointer;
  padding: 0;
  background: #ffffff;
  border: 1px solid rgba(201, 172, 110, 0.5);
  border-radius: 0;
  /* border-top-left-radius: 24px; */
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.shop-section .p-c .thumb-img:hover,
.shop-section #product-thumbnails .slick-current .thumb-img {
  border-color: rgba(201, 172, 110, 0.95);
  border: 1px solid #C9AF76;
  /* box-shadow: 0 6px 12px rgba(40, 3, 0, 0.08);
  transform: translateY(-2px); */
}


.shop-section #product-thumbnails .slick-slide .thumb-img {
  opacity: .8;
}

.shop-section #product-thumbnails .slick-current .thumb-img {
  /* opacity: 1; */
  border: 1px solid #C9AF76;
}

.shop-section #product-thumbnails .slick-prev.custom-arrow,
.shop-section #product-thumbnails .slick-next.custom-arrow {
  width: 34px;
  height: 34px;
  border: 1.5px solid rgba(201, 172, 110, 0.8);
  border-radius: 999px;
  background: #fffdfa;
  color: #8f744b;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  z-index: 5;
}

.shop-section #product-thumbnails .slick-prev.custom-arrow:hover,
.shop-section #product-thumbnails .slick-next.custom-arrow:hover {
  background: #6a1d15;
  border-color: #6a1d15;
  color: #fff7ef;
}

.shop-section #product-thumbnails .slick-prev.custom-arrow::before,
.shop-section #product-thumbnails .slick-next.custom-arrow::before {
  display: none;
}

@media screen and (max-width: 991px) {
  .shop-section .single-product-area {
    padding: 18px 14px 18px;
    border-radius: 12px;
  }

  .shop-section .single-product-main-image {
    --detail-arc-size: 58px;
  }

  .shop-section #product-thumbnails {
    padding: 0 24px;
  }

  .shop-section .p-c {
    width: 78px;
    margin-right: 8px;
  }

  .shop-section .p-c .thumb-img {
    border-top-left-radius: 18px;
  }
}

/* 三福商品內頁資訊區控制元件 */
.shop-section .single-product-info .main-title {
  font-size: 36px;
  line-height: 1.18;
  padding-bottom: 14px;
  margin-bottom: 14px;
  color: #C9AF76;
  font-weight: 700;
}

.shop-section .single-product-info .main-title::after,
.shop-section .single-product-info .main-title::before {
  content: "";
  display: none;
}

.shop-section .single-product-info .brand-name {
  color: #8f744b;
  font-size: 17px;
  line-height: 1.9;
  margin-bottom: 0;
}

.shop-section .single-product-info>hr.mb-5,
.shop-section .single-product-info>hr.mb-4 {
  border-top: 1px dashed #671313;
  border-bottom: none;
  opacity: 1;
}

.shop-section .single-product-info>hr.mb-5 {
  margin-bottom: 20px !important;
}

.shop-section .single-product-info>hr.mb-4 {
  margin-top: 18px;
  margin-bottom: 20px !important;
}

.shop-section .single-product-info>hr.mb-5+span {
  display: inline-block;
  color: #b79a67;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.shop-section .single-product-info>hr.mb-5+span+span {
  display: inline-block;
  margin-left: 6px;
  color: #b79a67;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.1;
  text-decoration: line-through;
  text-decoration-color: rgba(183, 154, 103, 0.65);
  text-decoration-thickness: 1px;
}

.shop-section .single-product-info .pro-price {
  color: #6a1d15;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.25;
  margin: 10px 0 12px;
  padding-bottom: 0;
}

.shop-section .single-product-info .pro-price #productPrice,
.shop-section .single-product-info .pro-price .text-danger {
  color: #cf4337 !important;
  font-size: 40px;
  font-weight: 700;
  line-height: 0.95;
}

.shop-section .single-product-info .badge {
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1.5px solid rgba(201, 172, 110, 0.72);
  background: #fffdfa;
  color: #6a1d15;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  box-shadow: none;
}

.shop-section .single-product-info .badge.badge-info {
  border-color: rgba(67, 164, 179, 0.28);
  background: #edf8fb;
  color: #2d8d99;
}

.shop-section .single-product-info .badge.badge-purple {
  border-color: rgba(118, 101, 181, 0.24);
  background: #f2effd;
  color: #6a57a4;
}

.shop-section .single-product-info .plus-minus-pro-action {
  margin-bottom: 12px !important;
}

.shop-section .single-product-info .plus-minus-pro-action .sin-plus-minus {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.shop-section .single-product-info .plus-minus-pro-action .f-left {
  float: none !important;
}

.shop-section .single-product-info .color-title {
  width: auto;
  min-width: 48px;
  color: #6a1d15;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: none;
}

.shop-section .single-product-info .spec-button {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.shop-section .single-product-info .spec-button>li {
  margin-right: 0;
}

.shop-section .single-product-info .spec-button>li>a {
  min-width: 58px;
  height: 38px;
  padding: 0 14px;
  border: 1.5px solid rgba(201, 172, 110, 0.72);
  border-radius: 10px;
  background: #fffdfa;
  color: #8f744b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
}

.shop-section .single-product-info .spec-button>li:hover>a {
  background: #f8ede2;
  border-color: #c9ac6e;
  color: #6a1d15;
}

.shop-section .single-product-info .spec-button li a.active {
  background: #6a1d15;
  border-color: #6a1d15;
  color: #fff7ef;
  box-shadow: 0 6px 12px rgba(40, 3, 0, 0.12);
}

.shop-section .single-product-info .cart-plus-minus {
  width: 126px;
  height: 42px;
  border: 1.5px solid rgba(201, 172, 110, 0.72);
  border-radius: 10px;
  background: #fffdfa;
  color: #6a1d15;
  display: inline-flex;
  align-items: stretch;
  justify-content: space-between;
  overflow: hidden;
}

.shop-section .single-product-info .qtybutton {
  width: 36px;
  min-width: 36px;
  background: #f6ece4;
  color: #8f744b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  height: 100%;
  float: none;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.shop-section .single-product-info .qtybutton:hover {
  background: #e9d9bf;
  color: #6a1d15;
}

.shop-section .single-product-info .dec.qtybutton,
.shop-section .single-product-info .inc.qtybutton {
  float: none;
}

.shop-section .single-product-info input.cart-plus-minus-box {
  width: 54px;
  min-width: 54px;
  min-height: auto !important;
  height: 100%;
  border: 0 !important;
  border-radius: 0 !important;
  border-left: 1px solid rgba(201, 172, 110, 0.35);
  border-right: 1px solid rgba(201, 172, 110, 0.35);
  background: #fffdfa;
  color: #6a1d15;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  padding: 0;
  margin: 0;
  box-shadow: none;
  text-align: center;
}

.shop-section .single-product-info .action-button-box {
  gap: 10px;
  display: flex;
  align-items: stretch;
}

.shop-section .single-product-info .action-button-box .action-button {
  display: flex;
  align-items: stretch;
  flex-grow: 1;
  margin: 0;
  padding: 0;
  min-height: 50px;
  list-style: none;
}

.shop-section .single-product-info .action-button-box .btnKG-box {
  margin-right: 0;
}

.shop-section .single-product-info .action-button-box .btnKG:not(.btn-soldout) {
  height: 50px;
  min-height: 50px;
  margin: 0;
  box-sizing: border-box;
}

.shop-section .single-product-info .btnKG-gold {
  height: 50px;
  min-height: 50px;
  min-width: 168px;
  padding: 0 24px;
  margin: 0;
  border: 1.5px solid #c9ac6e;
  border-radius: 8px;
  color: #c9ac6e;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: nowrap;
  box-sizing: border-box;
  width: 100%;
  background: #f6ece4;
  /* box-shadow: 0 6px 14px rgba(40, 3, 0, 0.12); */
}

.shop-section .single-product-info .btnKG-gold:hover {
  background: #c9ac6e;
  border-color: #c9ac6e;
  color: #fff7ef;
}

.shop-section .single-product-info form.action-button {
  margin: 0;
}

/* 三福商品內頁：相關商品區塊（僅 CSS） */
.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 {
  margin-top: 24px !important;
  padding: 24px 24px 20px !important;
  /* background: rgba(252, 248, 240, 0.76) !important;
  border: 1px solid rgba(201, 172, 110, 0.32) !important;
  border-radius: 18px !important; */
  box-shadow: none !important;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20>.d-flex {
  margin-bottom: 18px !important;
  padding-bottom: 12px;
  border-bottom: 1.5px solid #C9AF76;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .widget-title {
  color: #6a1d15;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .widget-title-more {
  color: #8f744b;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .widget-title-more i {
  color: #c9ac6e;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-img-item {
  height: 100%;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-item {
  --card-arc-size: 60px;
  height: 100%;
  padding: 10px 10px 14px;
  background: #fcf8f0;
  border: 0;
  border-radius: 10px;
  border-top-left-radius: var(--card-arc-size);
  /* box-shadow: 0 4px 14px rgba(40, 3, 0, 0.08); */
  position: relative;
  overflow: hidden;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img {
  --img-arc-size: 52px;
  float: none;
  width: 100%;
  margin: 0px auto 2px;
  aspect-ratio: 1 / 1;
  background: #ffffff;
  border: 0;
  border-radius: 0;
  border-top-left-radius: var(--img-arc-size);
  overflow: hidden;
  position: relative;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-right: 2px solid rgba(201, 172, 110, 0.92);
  border-bottom: 2px solid rgba(201, 172, 110, 0.92);
  pointer-events: none;
  z-index: 2;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  position: relative;
  z-index: 1;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img img {
  border-radius: inherit;
  border: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #ffffff;
  display: block;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-info {
  width: 100%;
  float: none;
  padding: 14px 10px 0;
  background: transparent;
  text-align: left;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-title {
  margin: 0;
  color: #a2824d;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  min-height: calc(1.45em * 2);
  max-height: calc(1.45em * 2);
  margin-top: 0;
  margin-bottom: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  text-transform: none;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-title .product-title-link {
  display: -webkit-box;
  height: calc(1.45em * 2);
  max-height: calc(1.45em * 2);
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
  line-height: inherit;
  color: inherit;
  text-decoration: none;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-title .product-title-link:hover {
  color: #8f744b;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .pro-price {
  margin-bottom: 20px;
  color: #480A0A;
  font-size: calc(1.3rem + 0.6vw);
  font-weight: 700;
  line-height: 1;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img .product-tag {
  right: 10px;
  bottom: 10px;
  width: 76px;
  height: 76px;
  font-size: 18px;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox {
  display: flex;
  align-items: center;
  gap: 8px;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox .carousel-btn {
  width: 38px;
  height: 38px;
  margin: 0;
  border: 1.5px solid rgba(201, 172, 110, 0.8);
  border-radius: 999px;
  background: #fffdfa !important;
  background-image: none !important;
  position: relative;
  float: none;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox>.carousel-btn.left {
  margin-right: 0;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox>.carousel-btn.left::before,
.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox>.carousel-btn.right::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -52%);
  color: #8f744b;
  font-size: 22px;
  line-height: 1;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox>.carousel-btn.left::before {
  content: "<";
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox>.carousel-btn.right::before {
  content: ">";
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox .carousel-btn:hover {
  border-color: #6a1d15;
  background: #6a1d15 !important;
}

.shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .owl-carousel-btn-suggestbox .carousel-btn:hover::before {
  color: #fff7ef;
}

@media screen and (max-width: 991px) {
  .shop-section .single-product-info .main-title {
    font-size: 30px;
    line-height: 1.22;
  }

  .shop-section .single-product-info .pro-price {
    font-size: 19px;
  }

  .shop-section .single-product-info .pro-price #productPrice,
  .shop-section .single-product-info .pro-price .text-danger {
    font-size: 36px;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 {
    padding: 20px 18px 18px !important;
  }
}

@media screen and (max-width: 767px) {
  .shop-section .single-product-info .main-title {
    font-size: 28px;
  }

  .shop-section .single-product-info .brand-name {
    font-size: 16px;
    line-height: 1.8;
  }

  .shop-section .single-product-info>hr.mb-5+span+span {
    font-size: 20px;
  }

  .shop-section .single-product-info .pro-price {
    font-size: 18px;
  }

  .shop-section .single-product-info .pro-price #productPrice,
  .shop-section .single-product-info .pro-price .text-danger {
    font-size: 32px;
  }

  .shop-section .single-product-info .action-button-box {
    gap: 10px;
  }

  .shop-section .single-product-info .btnKG-gold {
    width: 100%;
    min-width: 0;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 {
    padding: 18px 14px 16px !important;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .widget-title {
    font-size: 20px;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-item {
    --card-arc-size: 66px;
    padding: 8px 8px 12px;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-title {
    font-size: 16px;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img {
    --img-arc-size: 54px;
    width: 90%;
    margin-top: 6px;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .product-img::after {
    border-right-width: 1.5px;
    border-bottom-width: 1.5px;
  }

  .shop-section .col-lg-10.col-12.order-2.d-block>.widget.widget-product.bg-white.mb-30.mt-20 .pro-price {
    margin-bottom: 14px;
  }
}

/* ==================================================
   3ffood Final Global Overrides（全站最終收斂）
   僅覆寫樣式，不更動 Blade / JS
   ================================================== */
:root {
  --sf-color-primary: #6a1d15;
  --sf-color-primary-hover: #4f130d;
  --sf-color-accent: #c9ac6e;
  --sf-color-surface: #fffdfa;
  --sf-color-surface-soft: #f6ece4;
  --sf-color-text: #5b3a1b;
  --sf-color-text-light: #fff7ef;
  --sf-color-muted: #8f744b;
  --sf-color-border: rgba(201, 172, 110, 0.72);
  --sf-color-border-soft: rgba(201, 172, 110, 0.38);
  --sf-shadow-soft: 0 10px 24px rgba(106, 29, 21, 0.08);
}

/* 保留 3ffood 背景，不讓內頁段落回退成純白底 */
#page-content.section,
#page-content.section>.shop-section,
#page-content.section>.blog-section,
#page-content.section>.message-box-section {
  background: transparent !important;
}

.breadcrumbs-section,
.breadcrumbs-section .breadcrumbs,
.breadcrumbs-section .breadcrumbs-inner,
.breadcrumbs-section .breadcrumbs-title {
  background: transparent !important;
}

/* ---------- 按鈕系統 ---------- */
#page-content .btn-hover-1::before,
#page-content .btn-hover-2::before {
  display: none !important;
}

#page-content .btnSummit,
#page-content .btnNormal,
#page-content .submit-btn,
#page-content .btn-submit,
#page-content .apply-btn,
#page-content .check-btn,
#page-content .btnCanNotBuy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 24px;
  border-radius: 10px !important;
  border: 1.5px solid var(--sf-color-border);
  background: var(--sf-color-surface);
  color: var(--sf-color-primary);
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
  box-shadow: 0 6px 14px rgba(106, 29, 21, 0.06);
  width: auto;
  max-width: none;
  margin-right: 10px;
}

#page-content .btnSummit.gold,
#page-content .btnNormal.red,
#page-content .submit-btn.btnSummit.gold,
#page-content .submit-btn.btn.btn-primary,
#page-content .submit-btn.btn-primary,
#page-content .check-btn,
#page-content .apply-btn {
  background: var(--sf-color-primary) !important;
  border-color: var(--sf-color-primary) !important;
  color: var(--sf-color-text-light) !important;
}

#page-content .btnNormal.gold-sec,
#page-content .btn-secondary.btnNormal,
#page-content .btn.btn-secondary.btnNormal {
  background: var(--sf-color-surface) !important;
  color: var(--sf-color-primary) !important;
  border-color: var(--sf-color-border) !important;
}

#page-content .btnCanNotBuy {
  background: #c8c0b4 !important;
  border-color: #c8c0b4 !important;
  color: #7a6a57 !important;
  cursor: not-allowed;
  box-shadow: none;
}

#page-content .btnSummit:hover,
#page-content .btnNormal:hover,
#page-content .submit-btn:hover,
#page-content .btn-submit:hover,
#page-content .apply-btn:hover,
#page-content .check-btn:hover {
  background: var(--sf-color-primary-hover) !important;
  border-color: var(--sf-color-primary-hover) !important;
  color: var(--sf-color-text-light) !important;
  transform: translateY(-1px);
}

#page-content .btnNormal.gold-sec:hover,
#page-content .btn-secondary.btnNormal:hover,
#page-content .btn.btn-secondary.btnNormal:hover {
  background: #f7ecdf !important;
  border-color: var(--sf-color-accent) !important;
  color: var(--sf-color-primary) !important;
}

#page-content .btnSummit:focus-visible,
#page-content .btnNormal:focus-visible,
#page-content .submit-btn:focus-visible,
#page-content .btn-submit:focus-visible,
#page-content .apply-btn:focus-visible,
#page-content .check-btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(201, 172, 110, 0.35);
}

#page-content .btnSummit[disabled],
#page-content .btnNormal[disabled],
#page-content .submit-btn[disabled],
#page-content .btn-submit[disabled],
#page-content .apply-btn[disabled],
#page-content .check-btn[disabled] {
  opacity: 0.58;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* 社群登入按鈕改為一致的日式簡約語言 */
#page-content .email-login-box a.btnNormal.sm {
  width: 100%;
  max-width: 320px;
  margin: 0 0 10px;
  padding: 10px 16px;
  border: 1.5px solid var(--sf-color-border-soft);
  border-radius: 10px !important;
  background: var(--sf-color-surface);
  color: var(--sf-color-primary);
  box-shadow: none;
}

#page-content .email-login-box a.btnNormal.sm:hover {
  background: #f8eee2;
  border-color: var(--sf-color-accent);
  color: var(--sf-color-primary-hover);
}

/* ---------- 表單系統 ---------- */
#page-content label {
  color: var(--sf-color-primary);
  font-weight: 700;
  margin-bottom: 6px;
}

#page-content .form-control,
#page-content .custom-textarea,
#page-content textarea,
#page-content input[type="text"],
#page-content input[type="email"],
#page-content input[type="password"],
#page-content input[type="number"],
#page-content select {
  background: var(--sf-color-surface);
  border: 1.5px solid var(--sf-color-border-soft);
  color: var(--sf-color-text);
  border-radius: 10px;
  min-height: 44px;
  box-shadow: none;
}

#page-content textarea,
#page-content .custom-textarea {
  min-height: 160px;
  padding: 12px 14px;
}

#page-content .form-control::placeholder,
#page-content textarea::placeholder {
  color: #b09779;
}

#page-content .form-control:focus,
#page-content textarea:focus,
#page-content input[type="text"]:focus,
#page-content input[type="email"]:focus,
#page-content input[type="password"]:focus,
#page-content select:focus {
  border-color: var(--sf-color-primary) !important;
  box-shadow: 0 0 0 3px rgba(201, 172, 110, 0.26);
  outline: none;
}

#page-content .input-group .form-control {
  border-right: 0;
}

#page-content .input-group .input-group-text {
  background: var(--sf-color-surface-soft);
  border: 1.5px solid var(--sf-color-border-soft);
  border-left: 0;
  color: var(--sf-color-muted);
  border-radius: 0 10px 10px 0;
}

#page-content .invalid-feedback {
  color: #8d2e24;
  font-size: 13px;
  font-weight: 600;
}

#page-content .is-invalid,
#page-content .form-control.is-invalid,
#page-content textarea.is-invalid {
  border-color: #b54f45 !important;
}

#page-content input[type="file"] {
  width: 100%;
  padding: 8px 10px;
  border: 1.5px dashed var(--sf-color-border);
  border-radius: 10px;
  background: #fff9f1;
  color: var(--sf-color-muted);
  margin-bottom: 10px;
}

/* ---------- 會員/聯絡我們與通用容器 ---------- */
#page-content .message-box,
#page-content .contactBox,
#page-content .shopping-cart-box,
#page-content .payment-details,
#page-content .coupon-discount,
#page-content .user-side-menu,
#page-content .blog-details-area,
#page-content .innerpage-edit-box {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-border-soft);
  border-radius: 14px;
  box-shadow: var(--sf-shadow-soft);
}

#page-content .widget-categories {
  background: none;
  box-shadow: none;
  border: none;
}

#page-content .message-box {
  min-height: 0;
}

#page-content .email-login-box {
  background: #fff8ef;
  border: 1px solid rgba(201, 172, 110, 0.25);
  border-radius: 12px;
}

#page-content .login-box-title,
#page-content .blog-section-title,
#page-content .widget-title,
#page-content .user-side-menu__title {
  color: var(--sf-color-primary);
  font-weight: 700;
  text-transform: none;
}

#page-content .blog-section-title.border-left,
#page-content .user-side-menu {
  border-left-color: var(--sf-color-accent);
}

#page-content .user-side-menu__subtitle {
  color: #af9779;
}

#page-content .user-side-menu__item a {
  color: var(--sf-color-text);
  border-color: transparent;
  border-radius: 10px;
}

#page-content .user-side-menu__item a:hover {
  background: #f7ecdf;
  border-color: rgba(201, 172, 110, 0.5);
}

#page-content .user-side-menu__item.is-active a,
#page-content .user-side-menu__item.is-active a:hover {
  background: var(--sf-color-primary);
  border-color: var(--sf-color-primary);
  color: var(--sf-color-text-light);
}

#page-content .user-side-menu__item.is-active .user-side-menu__icon,
#page-content .user-side-menu__item.is-active .user-side-menu__arrow {
  color: var(--sf-color-text-light);
}

/* ---------- 購物流程 / 願望清單 / 訂單 ---------- */
#page-content .shopping-cart-box .divider {
  border-bottom-color: var(--sf-color-border-soft);
}

#page-content .table-content table,
#page-content .table-content table th,
#page-content .table-content table td {
  border-color: rgba(201, 172, 110, 0.3);
}

#page-content .table-content table thead th {
  background: rgba(246, 236, 228, 0.9);
  color: #7f332e;
  text-transform: none;
  font-size: 15px;
  font-weight: 700;
  padding: 14px 10px;
}

#page-content .table-content table tr td {
  color: var(--sf-color-text);
  padding: 14px 10px;
  vertical-align: middle;
}

#page-content .table-content table tr td>a {
  color: var(--sf-color-primary);
}

#page-content .table-content table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.56);
}

#page-content .pro-thumbnail-img,
#page-content .cart-thumbnail-img,
#page-content .wish-thumbnail-img {
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid rgba(201, 172, 110, 0.3);
  background: #ffffff;
}

#page-content .product-title-2 {
  color: var(--sf-color-primary);
  font-weight: 700;
  text-transform: none;
  margin-top: 8px;
  white-space: normal;
  line-height: 1.42;
}

#page-content .pro-thumbnail-info>p {
  color: #7f6652;
  white-space: normal;
  line-height: 1.35;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

#page-content .badge.badge-success,
#page-content .badge.badge-info,
#page-content .badge.badge-purple {
  border-radius: 999px;
  border: 1px solid rgba(201, 172, 110, 0.6);
  background: #fff8ef;
  color: #8f744b;
  font-weight: 700;
  font-size: 12px;
}

#page-content .cart-qty {
  display: inline-grid !important;
  grid-template-columns: 32px 44px 32px;
  align-items: stretch;
  justify-content: center;
  width: fit-content !important;
  max-width: fit-content;
  flex: 0 0 auto;
  margin: 0 auto;
  height: 38px;
  border: 1.5px solid var(--sf-color-border);
  border-radius: 12px;
  background: #f6ede2;
  overflow: hidden;
}

#page-content .cart-qty .qtybutton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  min-width: 32px;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-size: 0;
  border: 0;
  border-radius: 0;
  color: #8f744b;
  font-weight: 700;
  background: #f6ede2;
}

#page-content .cart-qty .qtybutton::before {
  display: block;
  font-size: 18px;
  line-height: 1;
  color: #8f744b;
}

#page-content .cart-qty .qtybutton.dec::before {
  content: "−";
}

#page-content .cart-qty .qtybutton.inc::before {
  content: "+";
}

#page-content .cart-qty .qtybutton.dec {
  border-right: 1px solid rgba(201, 172, 110, 0.35);
}

#page-content .cart-qty .qtybutton.inc {
  border-left: 1px solid rgba(201, 172, 110, 0.35);
}

#page-content .cart-qty .qtybutton:hover {
  background: #efe2d2;
}

#page-content .cart-qty input.cart-plus-minus-box {
  width: 44px;
  min-width: 44px;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: center;
  line-height: 1;
  font-size: 20px;
  background: #fffdfa;
  color: var(--sf-color-primary);
  font-weight: 700;
}

#page-content .payment-details tr {
  border-bottom-color: rgba(201, 172, 110, 0.28);
}

#page-content .payment-details td,
#page-content .td-title,
#page-content .td-title-1 {
  color: var(--sf-color-text);
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}

#page-content .order-total,
#page-content .order-total-price {
  color: var(--sf-color-primary);
  font-weight: 700;
}

#page-content .coupon-discount input {
  border-bottom: 1.5px solid var(--sf-color-border);
}

#page-content .shopping-cart-box .table-content td.text-center h3>button {
  width: 40px;
  height: 40px;
  border: 1.5px solid var(--sf-color-border);
  border-radius: 999px;
  background: var(--sf-color-surface);
  color: var(--sf-color-primary);
}

#page-content .shopping-cart-box .table-content td.text-center h3>button:hover {
  background: var(--sf-color-primary);
  border-color: var(--sf-color-primary);
  color: var(--sf-color-text-light);
}

/* 訂單明細卡片系統收斂 */
#page-content .order-back-link {
  color: var(--sf-color-muted);
}

#page-content .order-back-link:hover {
  color: var(--sf-color-primary);
}

#page-content .order-header-card {
  background: var(--sf-color-surface);
  border-left: 4px solid var(--sf-color-accent);
  box-shadow: var(--sf-shadow-soft);
}

#page-content .order-header-title,
#page-content .order-meta-value,
#page-content .order-card-title,
#page-content .order-product-name a,
#page-content .order-product-subtotal,
#page-content .order-summary-total,
#page-content .order-summary-total-value,
#page-content .order-summary-value,
#page-content .order-summary-row span:last-child,
#page-content .order-summary-status-value {
  color: var(--sf-color-primary);
}

#page-content .order-header-meta,
#page-content .order-info-label,
#page-content .order-summary-subtitle,
#page-content .order-summary-note,
#page-content .order-timeline-time,
#page-content .order-product-attrs,
#page-content .order-product-meta {
  color: #a18666;
}

#page-content .order-action-btn,
#page-content .order-product-cart-btn {
  border: 1.5px solid var(--sf-color-primary);
  background: var(--sf-color-primary);
  color: var(--sf-color-text-light);
  border-radius: 10px;
}

#page-content .order-action-btn--ghost {
  background: var(--sf-color-surface);
  color: var(--sf-color-primary);
  border-color: var(--sf-color-border);
}

#page-content .order-action-btn:hover,
#page-content .order-product-cart-btn:hover {
  background: var(--sf-color-primary-hover);
  border-color: var(--sf-color-primary-hover);
  color: var(--sf-color-text-light);
}

#page-content .order-card,
#page-content .order-product-item,
#page-content .order-summary-card,
#page-content .order-product-thumb {
  border-color: rgba(201, 172, 110, 0.35);
  background: var(--sf-color-surface);
}

#page-content .order-summary-card {
  border-top-color: var(--sf-color-accent);
}

#page-content .order-logistic-tag {
  border-color: rgba(201, 172, 110, 0.6);
  background: #fff6ea;
  color: var(--sf-color-muted);
}

#page-content .order-timeline {
  border-left-color: rgba(201, 172, 110, 0.48);
}

#page-content .order-timeline li::before {
  background: #d8bf8e;
}

#page-content .order-timeline li.is-current::before {
  background: var(--sf-color-primary);
}

/* orderFinish：卡片區塊拉開間距，避免區塊彼此過近 */
#page-content .order-complete-content>.thank-you {
  margin-bottom: 20px;
}

#page-content .order-complete-content>.row {
  --bs-gutter-x: 24px;
  --bs-gutter-y: 24px;
  row-gap: 24px;
}

#page-content .order-complete-content>.text-center {
  margin-top: 24px;
}

/* ---------- 分頁系統 ---------- */
#page-content ul.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 26px 0 0;
  padding: 0 !important;
  list-style: none;
  background: transparent !important;
  box-shadow: none !important;
}

#page-content ul.pagination>.page-item {
  margin: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
  float: none;
}

#page-content ul.pagination>.page-item>.page-link,
#page-content ul.pagination>.page-item>span.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1.5px solid var(--sf-color-border);
  border-radius: 999px;
  background: var(--sf-color-surface);
  color: var(--sf-color-muted);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  word-break: keep-all;
  box-shadow: none;
}

#page-content ul.pagination>.page-item:not(.page-item-btn)>.page-link,
#page-content ul.pagination>.page-item:not(.page-item-btn)>span.page-link {
  min-width: 44px;
  padding: 0 10px;
}

#page-content ul.pagination>.page-item.active>.page-link,
#page-content ul.pagination>.page-item.active>span.page-link {
  background: var(--sf-color-primary) !important;
  border-color: var(--sf-color-primary) !important;
  color: var(--sf-color-text-light) !important;
  font-weight: 700;
}

#page-content ul.pagination>.page-item:not(.active):not(.disabled)>.page-link:hover {
  background: #f8eee2;
  border-color: var(--sf-color-accent);
  color: var(--sf-color-primary);
}

#page-content ul.pagination>.page-item.disabled>.page-link,
#page-content ul.pagination>.page-item.disabled>span.page-link {
  opacity: 0.45;
  background: #f7f2ea;
  color: #b9a88f;
}

#page-content ul.pagination>.page-item>.page-link i,
#page-content ul.pagination>.page-item>span.page-link i {
  font-size: 16px;
  line-height: 1;
}

/* ---------- 內容頁（posts/articles/company 等） ---------- */
#page-content .blog-details-area {
  min-height: 0;
}

#page-content .blog-details-area .blog-details-title {
  color: var(--sf-color-primary);
  font-weight: 700;
}

#page-content .blog-details-area .blog-description,
#page-content .innerpage-edit-box p,
#page-content .innerpage-edit-box li {
  color: var(--sf-color-text);
}

#page-content .blog-item-2 .blog-title-2>a {
  color: var(--sf-color-primary);
  font-weight: 700;
}

#page-content .blog-item-2 .blog-title-2>a:hover {
  color: var(--sf-color-primary-hover);
}

#page-content .blog-item-2 .read-more a {
  border-color: var(--sf-color-primary);
  background: var(--sf-color-primary);
  color: var(--sf-color-text-light);
}

#page-content .blog-item-2 .read-more a:hover {
  border-color: var(--sf-color-primary-hover);
  background: var(--sf-color-primary-hover);
}

/* ---------- 手機/平板 ---------- */
@media (max-width: 991px) {

  #page-content .btnSummit,
  #page-content .btnNormal,
  #page-content .submit-btn,
  #page-content .btn-submit,
  #page-content .apply-btn,
  #page-content .check-btn,
  #page-content .btnCanNotBuy {
    min-height: 42px;
    padding: 9px 16px;
    font-size: 14px;
    margin-right: 6px;
  }

  #page-content .message-box,
  #page-content .shopping-cart-box,
  #page-content .payment-details,
  #page-content .coupon-discount,
  #page-content .widget-categories,
  #page-content .user-side-menu,
  #page-content .blog-details-area,
  #page-content .innerpage-edit-box {
    border-radius: 12px;
    padding: 14px !important;
  }

  #page-content .table-content table thead th,
  #page-content .table-content table tr td {
    font-size: 14px;
    padding: 10px 8px;
  }

  #page-content .product-title-2 {
    font-size: 16px;
  }

  #page-content ul.pagination {
    gap: 8px;
  }

  #page-content ul.pagination>.page-item>.page-link,
  #page-content ul.pagination>.page-item>span.page-link {
    min-height: 38px;
    padding: 0 12px;
    font-size: 14px;
  }

  #page-content ul.pagination>.page-item:not(.page-item-btn)>.page-link,
  #page-content ul.pagination>.page-item:not(.page-item-btn)>span.page-link {
    min-width: 38px;
  }

  #page-content .order-complete-content>.thank-you {
    margin-bottom: 14px;
  }

  #page-content .order-complete-content>.row {
    --bs-gutter-x: 14px;
    --bs-gutter-y: 16px;
    row-gap: 16px;
  }

  #page-content .order-complete-content>.text-center {
    margin-top: 16px;
  }
}