/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/
@import url('https://fonts.googleapis.com/css2?family=Forum&family=Noto+Sans+TC:wght@100..900&family=Noto+Serif+TC:wght@200..900&display=swap');
:root {
  --primary-color: #896546;
  --secondary-color: #fbf8f1;
  --nav-color: #222222;
  --text-color: #69615D;
  --accent-color: #C9A581;
  --dark-color: #262121;
  --dark-color2: rgba(38, 33, 33, .8);
  --accent-secondary-color: #E4CCB4;
  --divider-color: #FFFFFF24;
  --dark-divider-color: #FFFFFF1A;
  --error-color: rgb(230, 87, 87);
  --default-font: "Noto Sans TC", sans-serif;
  --default-font2: "Noto Serif TC", serif;
  --accent-font: "Forum", serif;
  --story-card-bg: #FFFFFF;
  --story-overlay-bg: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
  --filter-btn-color: var(--primary-color);
  --filter-btn-bg: transparent;
  --filter-btn-border: #D8C7B7;
  --filter-btn-active-bg: var(--accent-color);
  --filter-btn-active-color: white;
}
/************************************/
/*** 	   02. General css		  ***/
/************************************/
body {
  font-family: var(--default-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1em;
  background-color: var(--secondary-color);
  color: var(--text-color);
}
::-webkit-scrollbar-track {
  background-color: var(--primary-color);
  border-left: 1px solid var(--primary-color);
}
::-webkit-scrollbar {
  width: 7px;
  background-color: var(--primary-color);
}
::-webkit-scrollbar-thumb {
  background: var(--accent-color);
}
::selection {
  color: var(--secondary-color);
  background-color: var(--primary-color);
  filter: invert(1);
}
p {
  line-height: 1.8em;
  margin-bottom: 1.4em;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: 500;
  line-height: 1.2em;
  color: var(--primary-color);
}
figure {
  margin: 0;
}
img {
  max-width: 100%;
}
a {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  outline: 0;
}
a:focus {
  text-decoration: none;
  outline: 0;
}
html, body {
  width: 100%;
  overflow-x: clip;
}
.container {
  max-width: 1300px;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
  padding-right: 15px;
  padding-left: 15px;
}
.image-anime {
  position: relative;
  overflow: hidden;
}
.image-anime:after {
  content: "";
  position: absolute;
  width: 200%;
  height: 0%;
  left: 50%;
  top: 50%;
  background-color: rgba(255, 255, 255, .3);
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 1;
}
.image-anime:hover:after {
  height: 250%;
  transition: all 600ms linear;
  background-color: transparent;
}
.reveal {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  visibility: hidden;
  overflow: hidden;
}
.reveal img {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform-origin: left;
  transform-origin: left;
}
.row {
  margin-right: -15px;
  margin-left: -15px;
}
.row > * {
  padding-right: 15px;
  padding-left: 15px;
}
.row.no-gutters {
  margin-right: 0px;
  margin-left: 0px;
}
.row.no-gutters > * {
  padding-right: 0px;
  padding-left: 0px;
}
.btn-default {
  position: relative;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1em;
  text-transform: capitalize;
  background: linear-gradient(-45deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
  background-size: 200% auto;
  color: var(--secondary-color);
  border: none;
  border-radius: 100px;
  padding: 16px 40px;
  overflow: hidden;
  transition: all 0.4s ease-in-out;
  z-index: 1;
  font-family: var(--default-font2);
  letter-spacing: 1px;
}
.btn-default:hover {
  background-position: right center;
}
.btn-default.btn-highlighted {
  background: transparent;
  border: 1.5px solid var(--accent-color);
  color: var(--accent-color);
  padding: 16px 30px;
}
.btn-default.btn-highlighted:hover {
  color: var(--secondary-color);
}
.btn-default.btn-highlighted:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  right: 50%;
  opacity: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 100px;
  transition: all 0.4s ease-in-out;
  z-index: -1;
}
.btn-default.btn-highlighted:hover:before {
  left: -5px;
  right: -5px;
  opacity: 1;
}
.btn-dark {
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white;
}
.btn-dark:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(137, 101, 70, 0.2);
}
.readmore-btn {
  position: relative;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4em;
  color: var(--accent-color);
  text-transform: capitalize;
  display: inline-block;
  padding-right: 30px;
  transition: all 0.4s ease-in-out;
  font-family: var(--default-font2);
}
.readmore-btn::before {
  content: '\f178';
  position: absolute;
  right: 0;
  top: 50%;
  font-family: 'Font Awesome 6 Free';
  font-size: 16px;
  line-height: normal;
  font-weight: 600;
  color: var(--accent-color);
  background-position: center center;
  border-radius: 50%;
  transform: translate(-3px, -50%);
  transition: all 0.4s ease-in-out;
}
.readmore-btn:hover {
  color: var(--primary-color);
}
.readmore-btn:hover::before {
  color: var(--primary-color);
  transform: translate(0, -50%);
}
.cb-cursor:before {
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
}
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.loading-container, .loading {
  height: 150px;
  position: relative;
  width: 150px;
  border-radius: 100%;
}
.loading-container {
  margin: 40px auto;
}
.loading {
  border: 1px solid transparent;
  border-color: transparent var(--secondary-color) transparent var(--secondary-color);
  animation: rotate-loading 1.5s linear 0s infinite normal;
  transform-origin: 50% 50%;
}
.loading-container:hover .loading, .loading-container .loading {
  transition: all 0.5s ease-in-out;
}
#loading-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 150px;
  transform: translate(-50%, -50%);
}
.mb-0 {
  margin-bottom: 0 !important;
}
@keyframes rotate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.light-bg-section {
  position: relative;
}
.light-bg-section::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--primary-color);
  opacity: 2%;
  z-index: 0;
}
.light-bg-section .container {
  position: relative;
  z-index: 1;
}
.section-row {
  margin-bottom: 80px;
}
.section-row .section-title {
  margin-bottom: 0;
}
.section-row .section-title {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  text-align: center;
}
.section-btn {
  text-align: end;
}
.section-title-content p {
  margin: 0;
}
.section-title {
  margin-bottom: 40px;
}
.section-title h3 {
  position: relative;
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6em;
  text-transform: capitalize;
  color: var(--primary-color);
  padding-left: 30px;
  margin-bottom: 5px;
}
.section-title h3::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url('../images/icon-logo.svg');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% auto;
  width: 22px;
  height: 22px;
}
.section-title h1 {
  font-family: var(--accent-font);
  font-size: 70px;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1.1em;
  margin-bottom: 0;
  cursor: none;
}
.section-title h2 {
  font-family: var(--default-font2);
  font-size: 32px;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 0;
  cursor: none;
  line-height: 1.5;
}
.section-title h2.big {
  font-family: var(--default-font2);
  font-size: 55px;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 0;
  cursor: none;
  line-height: 1.4;
  margin-left: 20px;
}
.section-title p {
  margin-top: 20px;
  margin-bottom: 0;
}
.help-block.with-errors ul {
  margin: 0;
  text-align: left;
}
.help-block.with-errors ul li {
  color: var(--error-color);
  font-weight: 500;
  font-size: 14px;
}
/************************************/
/**** 	   03. Header css		 ****/
/************************************/
.topbar {
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  padding: 10px 0;
}
.topbar-contact-info ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 30px;
}
.topbar-contact-info ul li {
  font-size: 16px;
  color: var(--secondary-color);
  display: flex;
  align-items: center;
}
.topbar-contact-info ul li a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}
.topbar-contact-info ul li a:hover {
  color: var(--primary-color);
}
.topbar-contact-info ul li img {
  width: 100%;
  max-width: 20px;
  margin-right: 10px;
  transition: all 0.3s ease-in-out;
}
.topbar-contact-info ul li a:hover img {
  filter: brightness(0) invert(1);
}
.topbar-social-links {
  text-align: right;
}
.topbar-social-links ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.topbar-social-links ul li {
  display: inline-block;
  border-right: 1px solid var(--secondary-color);
  margin-right: 15px;
  padding-right: 15px;
}
.topbar-social-links ul li:last-child {
  border-right: none;
  margin-right: 0px;
  padding-right: 0px;
}
.topbar-social-links ul li a {
  color: inherit;
}
.topbar-social-links ul li a i {
  font-size: 18px;
  color: var(--secondary-color);
  transition: all 0.3s ease-in-out;
}
.topbar-social-links ul li a:hover i {
  color: var(--primary-color);
}
header.main-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  background-color: transparent;
}
/* 滾動固定狀態 */
header.main-header .header-sticky.active {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 0;
  background-color: rgba(251, 248, 241, 0.8);
  border-bottom: 1px solid var(--divider-color);
}
/* 隱藏時的樣式 */
header.main-header .header-sticky.hide {
  top: -110px;
  transition: top 0.4s ease-in-out;
}
/* 確保 slider 從頂部開始 */
.hero.hero-slider-layout {
  margin-top: 0;
  padding-top: 0;
}
.navbar {
  padding: 12px 0;
  align-items: center;
}
.navbar-brand {
  padding: 0;
  margin: 0;
}
.navbar-brand img {
  height: 52px;
}
.main-menu .nav-menu-wrapper {
  flex: 1;
  text-align: right;
  margin: 0 60px;
}
.main-menu .nav-menu-wrapper > ul {
  align-items: center;
  display: inline-flex;
}
.main-menu ul li {
  margin: 0;
  position: relative;
}
.main-menu ul li.nav-item a {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: normal;
  padding: 15px 20px !important;
  color: var(--nav-color);
  text-transform: uppercase;
  transition: all 0.3s ease-in-out;
}
.main-menu ul li.submenu > a:after {
  content: '\f107';
  font-family: 'FontAwesome';
  font-weight: 900;
  font-size: 14px;
  margin-left: 8px;
  margin-top: 4px;
}
.main-menu ul li a:hover, .main-menu ul li a:focus {
  color: var(--primary-color);
}
.main-menu ul ul {
  visibility: hidden;
  opacity: 0;
  transform: scaleY(0.8);
  transform-origin: top;
  padding: 8px 0 12px !important;
  margin: 0;
  list-style: none;
  min-width: 200px;
  border-radius: 0px;
  position: absolute;
  left: 0;
  top: 100%;
  background: linear-gradient(90deg, var(--primary-color) 0%, var(--accent-color) 100%);
  text-align: left;
  transition: all 0.3s ease-in-out;
}
.main-menu ul li.submenu:first-child ul {
  width: 230px;
}
.main-menu ul ul ul {
  left: 100%;
  top: 0;
  text-align: left;
}
.main-menu ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  transform: scaleY(1);
  padding: 5px 0;
}
.main-menu ul li.submenu ul li.submenu > a:after {
  content: '\f105';
  float: right;
}
.main-menu ul ul li {
  margin: 0;
  padding: 0;
}
.main-menu ul ul li.nav-item a {
  color: var(--secondary-color);
  padding: 6px 20px !important;
  transition: all 0.3s ease-in-out;
}
.main-menu ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  transform: scaleY(1);
  padding: 5px 0;
}
.main-menu ul ul li a:hover, .main-menu ul ul li a:focus {
  color: var(--secondary-color);
  background-color: transparent;
  padding: 6px 20px 6px 23px !important;
}
.main-menu ul li.highlighted-menu {
  display: none;
}
.header-button-box {
  display: none;
}
.header-sidebar-btn .btn-popup {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  z-index: 100;
}
.header-sidebar-btn .offcanvas-backdrop {
  z-index: 100;
}
.header-sidebar-btn .btn-popup {
  padding: 0;
  margin-left: 15px;
  border: none;
  display: inline-flex;
}
.header-sidebar-btn .btn-popup img {
  max-width: 36px;
}
body:has(:not(.offcanvas)) {
  padding-right: initial !important;
}
body:has(.offcanvas) {
  padding-right: 0 !important;
}
.header-sidebar-btn .offcanvas {
  position: fixed;
  top: 0;
  bottom: 0;
  left: auto;
  right: -15px;
  background: var(--primary-color);
  border-radius: 0;
  opacity: 100%;
  width: 100% !important;
  height: 100vh !important;
  max-width: 300px;
  border: none;
  padding: 0px 10px 0px;
  transform: translateX(100%) !important;
  z-index: 9999;
  transition: all 0.3s ease-in-out !important;
  overflow-y: scroll;
}
.offcanvas.show:not(.hiding), .offcanvas.showing {
  transform: translateX(0) !important;
}
.navbar-expand-lg .offcanvas .offcanvas-body {
  text-align: center;
  display: block;
  width: 100%;
}
.header-sidebar-btn .offcanvas .btn-close {
  position: absolute;
  top: 10px;
  left: 00px;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 100%;
  box-shadow: none;
  padding: 0;
  transition: all 0.4s ease-in-out;
}
.header-title-box, .header-sidebar-info {
  background: url(../images/icon-coffee-beans.svg) no-repeat;
  background-position: center bottom 27px;
  background-size: 16px auto;
  padding-bottom: 70px;
}
.header-title-box h2 {
  font-family: var(--accent-font);
  font-size: 44px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--accent-color);
  margin-bottom: 10px;
}
.header-title-box p {
  color: var(--secondary-color);
  margin-bottom: 0;
}
.header-sidebar-info h2 {
  font-size: 34px;
  font-weight: 600;
  color: var(--accent-color);
  margin-bottom: 30px;
}
.header-sidebar-info h2 a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}
.header-sidebar-info h2 a:hover {
  color: var(--secondary-color);
}
.header-sidebar-info ul li a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}
.header-sidebar-info ul li a:hover {
  color: var(--accent-secondary-color);
}
.header-sidebar-info ul, .header-sidebar-timing ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-sidebar-info ul li, .header-sidebar-timing ul li {
  margin-bottom: 15px;
}
.header-sidebar-info ul li:last-child, .header-sidebar-timing ul li:last-child {
  margin-bottom: 0;
}
.header-sidebar-social-list {
  margin-top: 60px;
  margin-bottom: 20px;
}
.header-sidebar-social-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-sidebar-social-list ul li {
  line-height: 1em;
  margin-right: 20px;
  padding-right: 20px;
  border-right: 1px solid rgba(255, 255, 255, .5);
}
.header-sidebar-social-list ul li:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}
.header-sidebar-social-list ul li a {
  color: inherit;
}
.header-sidebar-social-list ul li i {
  font-size: 20px;
  color: var(--secondary-color);
  transition: all 0.4s ease-in-out;
}
.header-sidebar-social-list ul li:hover i {
  color: var(--accent-color);
}
.header-sidebar-social-list img {
  width: 26px;
  height: auto;
}
.responsive-menu, .navbar-toggle {
  display: none;
}
.responsive-menu {
  top: 0;
  position: relative;
}
.slicknav_btn {
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
  background-size: 200% auto;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
}
.navbar-toggle a.slicknav_btn.slicknav_open {
  background-position: right center;
}
.slicknav_icon .slicknav_icon-bar {
  display: block;
  width: 100%;
  height: 3px;
  width: 22px;
  background-color: var(--secondary-color);
  border-radius: 6px;
  margin: 4px auto !important;
  transition: all 0.1s ease-in-out;
}
.slicknav_icon .slicknav_icon-bar:first-child {
  margin-top: 0 !important;
}
.slicknav_icon .slicknav_icon-bar:last-child {
  margin-bottom: 0 !important;
}
.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1) {
  transform: rotate(-45deg) translate(-5px, 5px);
}
.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2) {
  opacity: 0;
}
.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3) {
  transform: rotate(45deg) translate(-5px, -5px);
}
.slicknav_menu {
  position: absolute;
  width: 100%;
  padding: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
}
.slicknav_menu ul {
  margin: 5px 0;
}
.slicknav_menu ul ul {
  margin: 0;
}
.slicknav_nav .slicknav_row, .slicknav_nav li a {
  position: relative;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: capitalize;
  padding: 6px 20px;
  color: var(--secondary-color);
  line-height: normal;
  margin: 0;
  border-radius: 0 !important;
  transition: all 0.3s ease-in-out;
}
.slicknav_nav a:hover, .slicknav_nav a:focus, .slicknav_nav .slicknav_row:hover {
  background-color: transparent;
  color: var(--primary-color);
}
.slicknav_menu ul ul li a {
  padding: 6px 20px 6px 30px;
}
.slicknav_arrow {
  font-size: 0 !important;
}
.slicknav_arrow:after {
  content: '\f107';
  font-family: 'FontAwesome';
  font-weight: 900;
  font-size: 12px;
  margin-left: 8px;
  color: var(--dark-color);
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s ease-out;
}
.slicknav_open > a .slicknav_arrow:after {
  transform: translateY(-50%) rotate(-180deg);
  color: var(--secondary-color);
}
/* 初始狀態 - 完全透明 */
header.main-header .header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transform: translateY(0); /* 初始位置為頂部 */
  transition: transform 0.4s ease, background-color 0.4s ease, box-shadow 0.4s ease;
  background-color: rgba(251, 248, 241, 0.8);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
header.main-header.header-tr .header-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  transform: translateY(0); /* 初始位置為頂部 */
  transition: transform 0.4s ease, background-color 0.4s ease, box-shadow 0.4s ease;
  background-color: rgba(251, 248, 241, 0);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
}
header.main-header .header-sticky:not(.hide) {
  transform: translateY(0);
  transition: transform 0.4s ease-in-out;
}
header.main-header .header-sticky.active {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 0;
  background-color: rgba(251, 248, 241, 0.8); /* 半透明 */
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-bottom: 1px solid var(--divider-color);
}
header.main-header .header-sticky.hide {
  transform: translateY(-100%);
  transition: transform 0.4s ease;
}
/************************************/
/***        04. Hero css	      ***/
/************************************/
.hero {
  position: relative;
  background: url('../images/hero-bg.jpg') no-repeat;
  background-position: center center;
  background-size: auto;
  padding: 210px 0;
}
.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--secondary-color);
  opacity: 80%;
  z-index: 1;
}
.hero.hero-video .hero-bg-video {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}
.hero.hero-video .hero-bg-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero.hero-slider-layout {
  background: none;
  padding: 0;
}
.hero.hero-slider-layout .hero-slide {
  position: relative;
  background: url('../images/index-slider-1.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 0;
  min-height: 100vh;
}
.hero.hero-slider-layout .hero-slide.slide-2 {
  background: url('../images/index-slider-2.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.hero.hero-slider-layout .hero-slide::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: var(--secondary-color);
  opacity: 0%;
  z-index: 1;
}
.hero.hero-slider-layout .hero-slide .hero-slider-image {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
.hero.hero-slider-layout .hero-slide .hero-slider-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero.hero-slider-layout .hero-pagination {
  position: absolute;
  bottom: 50px;
  padding-left: calc(((100vw - 1300px) / 2) + 15px);
  z-index: 2;
}
.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: var(--divider-color);
  opacity: 1;
  transition: all 0.3s ease-in-out;
  margin: 0 5px;
}
.hero.hero-slider-layout .hero-pagination .swiper-pagination-bullet-active {
  background: var(--accent-color);
}
.hero-content {
  position: relative;
  z-index: 2;
  padding-top: 300px;
}
.hero-btn {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
/************************************/
/***   05. Scrolling Ticker css   ***/
/************************************/
.our-scrolling-ticker {
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  padding: 25px 0;
}
.scrolling-ticker-box {
  --gap: 30px;
  position: relative;
  display: flex;
  overflow: hidden;
  user-select: none;
  gap: var(--gap);
  align-items: center;
}
.scrolling-content {
  flex-shrink: 0;
  display: flex;
  gap: var(--gap);
  min-width: 100%;
  animation: scroll 50s linear infinite;
}
.scrolling-content span {
  font-family: var(--accent-font);
  display: inline-flex;
  align-items: center;
  font-size: 44px;
  line-height: 1.2em;
  text-transform: uppercase;
  color: var(--secondary-color);
  vertical-align: middle;
}
.scrolling-content span img {
  width: 100%;
  max-width: 30px;
  margin-right: 30px;
}
@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(calc(-100% - var(--gap)));
  }
}
/************************************/
/***       06. About Us css	      ***/
/************************************/
.about-us {
  background: url(../images/bg-about.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
  padding: 120px 0 120px;
}
.about-us-content {
  margin-right: 40px;
}
.about-body-item {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.about-body-item:last-child {
  margin-bottom: 0;
}
.about-body-item .icon-box {
  position: relative;
  width: 60px;
  height: 60px;
  background: var(--dark-divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 30px;
}
.about-body-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.about-body-item:hover .icon-box::before {
  transform: scale(1);
}
.about-body-item .icon-box img {
  position: relative;
  width: 100%;
  max-width: 30px;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
.about-body-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.about-body-list-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
  line-height: 1.5;
}
.about-body-list-content p {
  margin-bottom: 0;
  line-height: 1.8;
}
.about-us-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
  margin-top: 40px;
}
.video-play-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.video-play-button a {
  position: relative;
  height: 50px;
  width: 50px;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border: 1px solid var(--accent-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: none;
  margin-right: 30px;
}
.video-play-button a:before {
  content: '';
  position: absolute;
  top: -53%;
  left: -53%;
  width: 160%;
  height: 160%;
  border: 50px solid var(--divider-color);
  border-radius: 50%;
  transform: scale(0.6);
  z-index: -1;
  animation: border-zooming 1.2s infinite linear;
}
.video-play-button a:after {
  content: '';
  position: absolute;
  top: -53%;
  left: -53%;
  width: 160%;
  height: 160%;
  border: 50px solid var(--divider-color);
  border-radius: 50%;
  transform: scale(0.6);
  z-index: -1;
  animation: border-zooming 1.2s infinite linear;
  animation-delay: .3s;
}
@keyframes border-zooming {
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.video-play-button i {
  font-size: 18px;
  color: var(--secondary-color);
  margin-left: 3px;
}
.video-play-button p {
  font-size: 16px;
  font-weight: 500;
  text-transform: capitalize;
  color: var(--primary-color);
  margin: 0;
}
.about-us-image {
  position: relative;
  padding-left: 70px;
}
.about-us-image.news-image {
  position: relative;
  padding-left: 0px;
  padding-right: 70px;
}
.about-us-img figure {
  border-radius: 400px 400px 0 0;
  display: block;
}
.about-us-img img {
  width: 100%;
  aspect-ratio: 1 / 1.237;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.opening-time-box {
  position: absolute;
  top: 210px;
  left: -80px;
  width: 100%;
  max-width: 210px;
  padding: 0px;
  z-index: 1;
  /* 動畫 */
  animation: bird-flying 15s linear 0s infinite;
  transition: filter 0.3s ease;
}
.opening-time-box:hover {
  filter: brightness(1.1);
}
.opening-time-box .icon-box {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--secondary-color);
  border-radius: 50%;
  margin-bottom: 15px;
}
.opening-time-box .icon-box i {
  font-size: 24px;
  color: var(--primary-color);
}
.opening-time-box2 {
  position: absolute;
  top: -27px;
  left: 37%;
  width: 100%;
  max-width: 234px;
  padding: 0px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.opening-time-box3 {
  position: absolute;
  top: -27px;
  left: 160px;
  width: 100%;
  max-width: 234px;
  padding: 0px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.opening-time-box4 {
  position: absolute;
  bottom: 180px;
  left: -80px;
  width: 100%;
  max-width: 150px;
  padding: 0px;
  z-index: 1;
  /* 動畫 */
  animation: bird-flying 15s linear 0s infinite;
  transition: filter 0.3s ease;
}
/* 懸停時稍微改變動畫效果 */
.opening-time-box4:hover {
  filter: brightness(1.1);
}
.opening-time-box5 {
  position: absolute;
  top: 450px;
  right: -10px;
  width: 100%;
  max-width: 120px;
  padding: 0px;
  z-index: 1;
  /* 動畫 */
  animation: bird-flying 15s linear 0s infinite;
  transition: filter 0.3s ease;
}
.opening-time-box5:hover {
  filter: brightness(1.1);
}
/* 線性飛鳥動畫 - 前後上下移動 */
@keyframes bird-flying {
  0% {
    transform: translateY(0) scale(1);
  }
  25% {
    transform: translateY(-15px) scale(1.05);
  }
  50% {
    transform: translateY(0) scale(1);
  }
  75% {
    transform: translateY(15px) scale(0.95);
  }
  100% {
    transform: translateY(0) scale(1);
  }
}
.opening-time-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  color: var(--secondary-color);
  margin-bottom: 20px;
}
.opening-time-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.opening-time-content ul li {
  color: var(--secondary-color);
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.opening-time-content ul li:last-child {
  margin-bottom: 0;
}
.opening-time-content ul li span {
  width: 45%;
}
/************************************/
/***     07. Why Choose Us css    ***/
/************************************/
.why-choose-us {
  position: relative;
  padding: 0px 0 80px;
}
.why-choose-us::before {
  content: '';
  position: absolute;
  bottom: -150px;
  left: -10px;
  width: 600px;
  height: 600px;
  background-image: url('../images/culture-1.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0;
}
.why-choose-content {
  position: sticky;
  top: 20px;
  margin-right: 20px;
}
.why-choose-list {
  display: flex;
  flex-wrap: wrap;
}
.why-choose-item {
  width: 50%;
  padding: 30px 30px 30px 0;
  border-bottom: 1px solid var(--divider-color);
  border-right: 1px solid var(--divider-color);
}
.why-choose-item:nth-of-type(2n + 2) {
  padding: 30px 0 30px 30px;
  border-right: none;
}
.why-choose-item:nth-last-child(-n + 2) {
  padding-bottom: 0;
  border-bottom: none;
}
.why-choose-item:nth-child(-n + 2) {
  padding-top: 0;
}
.why-choose-item .icon-box {
  position: relative;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 20px;
}
.why-choose-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.why-choose-item:hover .icon-box::before {
  transform: scale(1);
}
.why-choose-item .icon-box img {
  max-width: 30px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.why-choose-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.why-choose-item-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.why-choose-item-content p {
  margin: 0;
}
/************************************/
/***      08. Intro Video css     ***/
/************************************/
.intro-video {
  position: relative;
  padding: 200px 0 100px;
  background-image: url(../images/index-slider-2.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.intro-video:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: var(--dark-color);
  opacity: 80%;
  z-index: 0;
}
.intro-video .container {
  position: relative;
  z-index: 1;
}
.intro-video-content .section-title {
  margin-bottom: 55px;
  text-align: center;
}
.intro-video-content .section-title h3 {
  color: var(--accent-color);
}
.intro-video-box.about-intro-video {
  text-align: end;
}
.intro-video-box.about-intro-video .video-play-button p {
  font-size: 20px;
}
.intro-video-counters {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  border-top: 1px solid var(--divider-color);
  margin-top: 200px;
  padding-top: 40px;
}
.video-counter-item {
  width: calc(25% - 22.5px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.video-counter-item .icon-box {
  position: relative;
  width: 60px;
  height: 60px;
  background: var(--dark-divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
}
.video-counter-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.video-counter-item:hover .icon-box::before {
  transform: scale(1);
}
.video-counter-item .icon-box img {
  position: relative;
  width: 100%;
  max-width: 30px;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}
.video-counter-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.video-counter-content {
  width: calc(100% - 80px);
}
.video-counter-content h2 {
  font-family: var(--accent-font);
  font-size: 44px;
}
.video-counter-content p {
  color: var(--primary-color);
  text-transform: capitalize;
  margin: 0;
}
/************************************/
/***      09. Our Pricing css     ***/
/************************************/
.our-pricing {
  padding: 105px 0 110px;
}
.our-support-nav {
  margin-bottom: 80px;
}
.our-pricing-box .nav-tabs {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 30px;
  background: var(--secondary-color);
  border: none;
}
.our-pricing-box ul li button {
  border: none;
}
.our-pricing-box .nav-tabs .nav-item .btn-default.btn-highlighted.active {
  color: var(--secondary-color);
}
.our-pricing-box .nav-tabs .nav-item .btn-default.btn-highlighted.active:before, .our-pricing-box .nav-tabs .nav-item .btn-default.btn-highlighted:focus:before {
  left: -5px;
  right: -5px;
  opacity: 1;
}
.pricing-image {
  margin-right: 95px;
  position: relative;
}
.pricing-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.pricing-image img {
  width: 100%;
  aspect-ratio: 1 / 1.296;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.menu-list-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px dashed var(--divider-color);
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.menu-list-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.menu-list-image {
  margin-right: 30px;
}
.menu-list-image figure {
  display: block;
  max-width: 170px;
  border-radius: 50%;
}
.menu-list-image img {
  width: 100%;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.menu-item-body {
  width: calc(100% - 200px);
}
.menu-item-title {
  width: 100%;
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
  flex-direction: column;
}
.menu-item-title h3 {
  font-family: var(--default-font2);
  width: 100%;
  font-size: 20px;
  max-width: fit-content;
  line-height: 1.5;
  color: var(--primary-color);
}
.menu-item-title h3 a {
  color: var(--primary-color);
}
.menu-item-title hr {
  height: 1px;
  width: 40%;
  color: var(--dark-divider-color);
  border-style: dashed;
  margin: 0;
  opacity: 1;
}
.menu-item-title span {
  font-weight: 700;
  font-size: 16px;
  color: var(--accent-color);
}
.menu-item-content p {
  margin: 0;
}
.section-footer-text {
  margin-top: 80px;
  text-align: center;
}
.section-footer-text p {
  text-transform: capitalize;
  margin-bottom: 0;
  font-family: var(--default-font2);
  font-size: 16px;
  font-weight: 500;
}
.section-footer-text p a {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: var(--accent-color);
  transition: all 0.4s ease-in-out;
}
.section-footer-text p a:hover {
  color: var(--primary-color);
}
/************************************/
/***  10. Interactive Process css ***/
/************************************/
.interactive-process-layout .interactive-process-item {
  width: 25%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-right: 1px solid var(--dark-divider-color);
  position: relative;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  overflow: hidden
}
.interactive-process-layout .interactive-process-item:nth-child(4n + 4) {
  border-right: none;
}
.interactive-process-layout .interactive-inner-process {
  padding: 540px 0 0;
  position: relative;
  z-index: 3;
}
.process-content-wap {
  position: relative;
  padding: 60px 40px 30px;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}
.process-content-wap::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgba(251, 248, 241, .6) 8%, transparent 100%);
  height: 0;
  width: 100%;
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.interactive-process-layout .interactive-inner-process.activate .process-content-wap::before {
  height: 100%;
}
.interactive-process-layout .interactive-inner-process.activate .process-content-wap p {
  color: var(--primary-color);
}
.process-inner-content-wap {
  position: relative;
  z-index: 1;
}
.process-content-wap p {
  font-size: 15px;
  font-weight: 500;
  color: var(--accent-color);
  margin-bottom: 5px;
}
.process-content-wap h2 {
  font-family: var(--default-font2);
  font-size: 28px;
  text-transform: uppercase;
  color: var(--primary-color);
  font-weight: 500;
  line-height: 1.2em;
}
.process-content-wap h2 a {
  color: inherit;
}
.interactive-process-layout .interactive-con {
  position: relative;
  z-index: 1;
  padding-bottom: 0 !important;
}
.interactive-process-layout .interactive-con-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  z-index: 2
}
.interactive-process-layout .interactive-con-inner:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(56, 54, 54, 0) 0%, #383636 100%);
  opacity: .2;
  z-index: 1
}
.interactive-process-layout .interactive-process-list-image {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden
}
.interactive-process-layout .interactive-process-list-image .interactive-process-image {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  z-index: -1;
  -ms-transition: all .7s ease;
  -o-transition: all .7s ease;
  -moz-transition: all .7s ease;
  -webkit-transition: all .7s ease;
  transition: all .7s ease
}
.interactive-process-layout .interactive-process-list-image .interactive-process-image:first-child {
  z-index: 1
}
.interactive-process-layout .interactive-process-list-image .interactive-process-image.show {
  z-index: 2;
  opacity: 1;
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -webkit-transform: scale(1.05);
  transform: scale(1.05)
}
/************************************/
/***      11. Our Offers css      ***/
/************************************/
.our-offers {
  background: url('../images/offer-bg-image.png') no-repeat;
  background-position: center center;
  background-size: 100% auto;
  padding: 100px 0;
}
.offers-accordion .accordion-item {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 30px;
  margin-bottom: 30px;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
.offers-accordion .accordion-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.offers-accordion .accordion-header .accordion-button {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4em;
  text-transform: capitalize;
  background: transparent;
  padding-left: 30px;
  color: var(--primary-color);
}
.offers-accordion .accordion-button:not(.collapsed) {
  padding-bottom: 10px;
}
.offers-accordion .accordion-item .accordion-button::after, .offers-accordion .accordion-item .accordion-button.collapsed::after {
  content: '\2b';
  font-family: 'FontAwesome';
  font-size: 20px;
  font-weight: 900;
  color: var(--accent-color);
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.4s ease-in-out;
}
.offers-accordion .accordion-button:not(.collapsed)::after {
  content: '\f068';
}
.offers-accordion .accordion-body p {
  color: var(--text-color);
  margin: 0;
}
.offer-button {
  margin-top: 60px;
}
.our-offers-images {
  position: relative;
  padding: 0 80px 0 60px;
  margin-left: 65px;
}
.offer-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.offer-image img {
  width: 100%;
  aspect-ratio: 1 / 1.405;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.offer-circle-image-1, .offer-circle-image-2 {
  position: absolute;
  border: 8px solid var(--primary-color);
  border-radius: 50%;
  z-index: 1;
}
.offer-circle-image-1 {
  top: 80px;
  right: 0;
}
.offer-circle-image-2 {
  left: 0;
  bottom: 80px;
}
.offer-circle-image-1 figure, .offer-circle-image-2 figure {
  display: block;
  border-radius: 50%;
}
.offer-circle-image-1 img, .offer-circle-image-2 img {
  width: 100%;
  max-width: 165px;
  object-fit: cover;
}
/************************************/
/***   12. About Restaurant css   ***/
/************************************/
.about-restaurant {
  background: url(../images/about-restaurant-bg-image.svg) no-repeat;
  background-position: left bottom 120px;
  background-size: 80px auto;
  padding: 100px 0;
}
.about-restaurant .container .row {
  align-items: center;
}
.about-restaurant-content, .restaurant-timing-box {
  text-align: center;
}
.about-restaurant-info {
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
  margin-bottom: 40px;
}
.about-restaurant-info h3 {
  font-size: 20px;
  line-height: 1.4em;
  margin-bottom: 30px;
}
.about-restaurant-info p:last-child {
  margin-bottom: 0;
}
.about-author-box img {
  width: 100%;
  max-width: 140px;
  margin-bottom: 10px;
}
.about-author-box h3 {
  font-size: 20px;
  text-transform: uppercase;
  color: var(--accent-color);
}
.about-restaurant-image {
  margin: 0 15px;
}
.about-restaurant-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.about-restaurant-image img {
  width: 100%;
  aspect-ratio: 1 / 1.795;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.restaurant-time-body {
  border-top: 1px solid var(--divider-color);
  padding-top: 40px;
}
.restaurant-time-body h3 {
  font-size: 20px;
  line-height: 1.4em;
  margin-bottom: 30px;
}
.restaurant-time-body h3:last-child {
  margin-bottom: 0;
}
.restaurant-time-body ul {
  position: relative;
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  list-style: none;
}
.restaurant-time-body ul::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  height: 1px;
  transform: translateX(-50%);
  background: var(--accent-color);
}
.restaurant-time-body ul li {
  line-height: 1.4em;
  margin-bottom: 15px;
}
.restaurant-time-body ul li:last-child {
  margin-bottom: 0;
}
/************************************/
/***   13. Our Testimonials css   ***/
/************************************/
.our-testimonials {
  position: relative;
  padding: 100px 0;
  background: url('../images/testimonial-bg.jpg') no-repeat;
  background-position: center center;
  background-size: cover;
}
.our-testimonials:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: var(--secondary-color);
  opacity: 80%;
}
.our-testimonials .container {
  position: relative;
  z-index: 1;
}
.our-testimonials .section-title h3 {
  color: var(--accent-color);
}
.testimonial-slider {
  position: relative;
}
.testimonial-slider .swiper {
  position: static;
  margin: 0 120px;
}
.testimonial-slider .swiper-wrapper {
  cursor: none;
}
.testimonial-item {
  text-align: center;
}
.testimonial-content p {
  font-size: 36px;
  line-height: 1.2em;
  margin: 0;
}
.author-info {
  margin-top: 20px;
}
.author-info p {
  text-transform: capitalize;
  margin: 0;
}
.testimonial-btn-prev, .testimonial-btn-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.testimonial-btn-prev {
  left: 0;
}
.testimonial-btn-next {
  right: 0;
}
.testimonial-btn-prev:hover, .testimonial-btn-next:hover {
  background-color: var(--primary-color);
}
.testimonial-btn-prev::before, .testimonial-btn-next::before {
  font-family: 'FontAwesome';
  content: '\f053';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 20px;
  color: var(--accent-color);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}
.testimonial-btn .testimonial-btn-next::before {
  transform: rotate(180deg);
}
.testimonial-pagination {
  position: relative;
  text-align: center;
  margin-top: 60px;
}
.testimonial-pagination .swiper-pagination-bullet {
  height: 10px;
  width: 10px;
  background: var(--secondary-color);
  opacity: 1;
  margin: 0 3px;
  transition: all 0.4s ease-in-out;
}
.testimonial-pagination .swiper-pagination-bullet-active {
  background: var(--accent-color);
}
/************************************/
/***        14. CTA Box css	      ***/
/************************************/
.cta-box {
  position: relative;
  padding: 100px 0;
}
.cta-box::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(../images/cta-bg-image.png) no-repeat;
  background-position: center right;
  background-size: cover;
  height: 390px;
  width: 240px;
  z-index: 0;
}
.cta-box-content {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
}
.cta-box-content .section-title {
  margin-bottom: 60px;
}
.cta-box-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
.cta-box-buttons .btn-default {
  display: flex;
  align-items: center;
  padding: 15px 30px;
}
.cta-box-buttons .btn-default i {
  font-size: 20px;
  margin-right: 10px;
}
/************************************/
/***        15. Footer css	      ***/
/************************************/
.main-footer {
  position: relative;
  background: url(../images/bg-footer.jpg) repeat;
  background-position: center center;
  background-size: 80px auto;
  padding: 90px 0 35px;
  color: var(--dark-color2);
}
.main-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #3c2818;
  opacity: 0%;
  z-index: 0;
}
.main-footer .container {
  position: relative;
  z-index: 1;
}
.footer-contact-list {
  display: flex;
  gap: 30px 15px;
  flex-wrap: wrap;
}
.footer-contact-item {
  width: calc(33.33% - 10px);
  border-right: 1px solid var(--divider-color);
  text-align: center;
  padding-right: 15px;
}
.footer-contact-item:last-child, .footer-contact-item:nth-child(3n + 3) {
  border-right: none;
  padding: 0;
}
.footer-contact-item .icon-box, .footer-contact-detail {
  margin-bottom: 20px;
}
.footer-contact-item .icon-box img {
  width: 100%;
  max-width: 60px;
}
.footer-contact-detail h3 {
  font-family: var(--accent-font);
  font-size: 30px;
  color: var(--accent-color);
  text-transform: uppercase;
  margin-bottom: 10px;
}
.footer-contact-detail p {
  font-family: var(--accent-font);
  font-size: 24px;
  line-height: 1.4em;
  color: var(--primary-color);
  margin-bottom: 2px;
}
.footer-contact-detail p:last-child {
  margin-bottom: 0;
}
.footer-contact-detail p a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}
.footer-contact-detail p a:hover {
  color: var(--accent-secondary-color);
}
.footer-contact-button a {
  text-transform: uppercase;
}
.footer-copyright {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--divider-color);
  padding: 80px 0 100px;
  margin-top: 80px;
}
.footer-copyright-text p {
  color: var(--primary-color);
  margin-bottom: 0;
}
.footer-logo img {
  width: 100%;
  max-width: 192px;
}
.footer-social-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-social-links ul li {
  display: inline-block;
  margin-right: 15px;
  transition: all 0.3s ease-in-out;
}
.footer-social-links ul li:last-child {
  margin-right: 0;
}
.footer-social-links ul li a {
  color: var(--primary-color);
  background-color: var(--accent-color);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}
.footer-social-links ul li a:hover {
  background-color: var(--primary-color);
  color: var(--secondary-color);
}
.footer-social-links ul li a i {
  font-size: 24px;
  color: inherit
}
/************************************/
/***    16. About Us Page css     ***/
/************************************/
.page-header {
  position: relative;
  background-image: url('../images/page-header-bg.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 220px 0 130px;
}
.page-header::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--dark-color);
  opacity: 50%;
  width: 100%;
  height: 100%;
  z-index: 0;
}
.page-header-box {
  position: relative;
  z-index: 1;
  padding: 0 .8rem;
  text-align: center;
}
.page-header-box h1 {
  display: inline-block;
  color: var(--accent-color);
  /*color: var(--primary-color);*/
  font-family: var(--accent-font);
  font-size: 65px;
  font-weight: 400;
  line-height: 1.1em;
  text-transform: uppercase;
  margin-bottom: 10px;
  cursor: none;
}
.page-header-box ol {
  margin: 0;
  padding: 0;
}
.page-header-box ol li.breadcrumb-item {
  font-size: 18px;
  font-weight: 400;
  text-transform: capitalize;
  line-height: normal;
  color: var(--secondary-color);
  opacity: 60%;
}
.page-header-box ol li.breadcrumb-item a {
  color: inherit;
}
.page-header-box ol .breadcrumb-item + .breadcrumb-item::before {
  color: var(--secondary-color);
  opacity: .4
}
.our-scrolling-ticker.subpages-scrolling-ticker {
  padding: 15px 0;
}
.our-scrolling-ticker.subpages-scrolling-ticker .scrolling-ticker-box {
  --gap: 15px;
}
.our-scrolling-ticker.subpages-scrolling-ticker .scrolling-content span {
  font-size: 26px;
}
.our-scrolling-ticker.subpages-scrolling-ticker .scrolling-content span img {
  width: 100%;
  max-width: 22px;
  margin-right: 15px;
}
.our-approach {
  padding: 80px 0;
  background-image: url(../images/bg-stores.jpg);
  background-size: cover;
  background-attachment: fixed;
}
.mission-vision-item {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 30px;
}
.mission-vision-item:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px;
  border-bottom: none;
}
.mission-vision-item .icon-box {
  position: relative;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-right: 30px;
}
.mission-vision-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.mission-vision-item:hover .icon-box::before {
  transform: scale(1);
}
.mission-vision-item .icon-box img {
  width: 100%;
  max-width: 30px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.mission-vision-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.mission-vision-content {
  width: calc(100% - 90px);
}
.mission-vision-content h3 {
  font-size: 20px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.mission-vision-content p {
  margin: 0;
}
.our-approach-image {
  margin-left: 100px;
}
.our-approach-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.our-approach-image img {
  width: 100%;
  aspect-ratio: 1 / 1.166;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.our-team {
  background: url('../images/offer-bg-image.png') no-repeat;
  background-position: center center;
  background-size: 100% auto;
  padding: 100px 0 70px;
}
.team-item {
  position: relative;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  overflow: hidden;
}
.team-image {
  position: relative;
}
.team-image a {
  display: block;
  cursor: none;
  border-radius: 0px;
  overflow: hidden;
}
.team-image figure:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, .9) 100%);
  z-index: 99;
}
.team-image img {
  width: 100%;
  aspect-ratio: 1 / 1.5;
  object-fit: cover;
  transition: all 0.4s ease-in-out;
}
.team-item:hover .team-image img {
  transform: scale(1.1);
}
.team-body {
  position: absolute;
  right: 20px;
  bottom: 25px;
  left: 20px;
  text-align: center;
  z-index: 99;
}
.team-social-icon {
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease-in-out;
}
.team-item:hover .team-social-icon {
  opacity: 1;
  visibility: visible;
  margin-bottom: 30px;
}
.team-social-icon ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.team-social-icon ul li {
  display: inline-block;
  margin-right: 10px;
}
.team-social-icon ul li:last-child {
  margin-right: 0;
}
.team-social-icon ul li a {
  width: 40px;
  height: 40px;
  color: var(--primary-color);
  background: var(--accent-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}
.team-social-icon ul li a:hover {
  background: var(--primary-color);
  color: var(--secondary-color);
}
.team-social-icon ul li a i {
  color: inherit;
  font-size: 18px;
}
.team-content h3 {
  color: var(--accent-color);
  font-size: 20px;
  text-transform: capitalize;
  margin-bottom: 5px;
  font-family: var(--default-font2);
  font-weight: 600;
}
.team-content h3 a {
  color: inherit;
}
.team-content p {
  text-transform: capitalize;
  margin: 0;
  font-size: 16px;
  font-family: var(--default-font2);
  font-weight: 700;
  color: var(--secondary-color);
  opacity: .4;
  letter-spacing: 0.05rem;
}
.our-story {
  padding: 100px 0;
}
.our-story-image {
  margin-right: 100px;
}
.our-story-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.our-story-image img {
  width: 100%;
  aspect-ratio: 1 / 1.509;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.story-item {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--divider-color);
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.story-item:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px;
  border-bottom: none;
}
.story-item .icon-box {
  position: relative;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-right: 30px;
}
.story-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.story-item:hover .icon-box::before {
  transform: scale(1);
}
.story-item .icon-box img {
  width: 100%;
  max-width: 30px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.story-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.story-item-content {
  width: calc(100% - 90px);
}
.story-item-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.story-item-content p {
  margin: 0;
}
.our-story-btn {
  margin-top: 40px;
}
.our-faqs {
  padding: 100px 0;
}
.faq-accordion .accordion-item {
  position: relative;
  background: var(--secondary-color);
  border: 1px solid var(--divider-color);
  border-radius: 10px;
  margin-bottom: 30px;
  padding: 0;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
}
.faq-accordion .accordion-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 50%, transparent 100%);
  height: 100%;
  width: 100%;
}
.faq-accordion .accordion-item:last-child {
  margin-bottom: 0;
}
.faq-accordion .accordion-header .accordion-button {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4em;
  background: transparent;
  color: var(--primary-color);
  padding: 15px 50px 15px 20px;
  transition: all 0.3s ease-in-out;
}
.faq-accordion .accordion-header .accordion-button.collapsed {
  background: var(--secondary-color);
}
.faq-accordion .accordion-item .accordion-button::after, .faq-accordion .accordion-item .accordion-button.collapsed::after {
  content: '\f068';
  font-family: "FontAwesome";
  position: absolute;
  right: 20px;
  top: 16px;
  bottom: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 400;
  line-height: normal;
  width: 24px;
  height: 24px;
  color: var(--secondary-color);
  background-color: var(--accent-color);
  border-radius: 50%;
  transition: all 0.4s ease-in-out;
}
.faq-accordion .accordion-item .accordion-button.collapsed::after {
  content: '\2b';
  color: var(--primary-color);
}
.faq-accordion .accordion-item .accordion-body {
  position: relative;
  padding: 5px 50px 15px 20px;
  z-index: 1;
}
.faq-accordion .accordion-item .accordion-body p {
  margin: 0;
}
.faqs-image {
  margin-left: 90px;
}
.faqs-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.faqs-image img {
  width: 100%;
  aspect-ratio: 1 / 1.132;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
/************************************/
/***     17. Services Page css    ***/
/************************************/
.page-services {
  padding: 100px 0 70px;
}
.service-item {
  border: 1px solid var(--divider-color);
  border-radius: 26px;
  height: calc(100% - 30px);
  margin-bottom: 30px;
  padding: 40px;
}
.service-item .icon-box {
  position: relative;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 50px;
}
.service-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.service-item:hover .icon-box::before {
  transform: scale(1);
}
.service-item .icon-box img {
  width: 100%;
  max-width: 30px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.service-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.service-content {
  margin-bottom: 30px;
}
.service-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.service-content h3 a {
  color: inherit;
}
.service-content p {
  margin: 0;
}
/************************************/
/***    18. Service Single css    ***/
/************************************/
.page-service-single {
  padding: 100px 0;
}
.page-single-sidebar {
  position: sticky;
  top: 30px;
  margin-right: 30px;
}
.page-category-list {
  border-radius: 26px;
}
.page-category-list h3 {
  font-size: 22px;
  text-transform: capitalize;
  color: var(--primary-color);
  border-bottom: 1px solid var(--divider-color);
  padding: 20px 30px;
}
.page-category-list ul {
  list-style: none;
  margin: 0;
  padding: 20px 30px 30px;
}
.page-category-list ul li {
  padding-bottom: 0px;
  margin-bottom: 0px;
}
.page-category-list ul li:last-child {
  border: none;
  margin: 0;
  padding: 0;
}
.page-category-list ul li a {
  display: block;
  color: var(--text-color);
  line-height: 1.4em;
  text-transform: capitalize;
  transition: all 0.3s ease-in-out;
}
.page-category-list ul li a:hover {
  color: var(--accent-color);
}
.sidebar-cta-box {
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
  background-size: 200% auto;
  border-radius: 26px;
  padding: 40px 30px;
  transition: all 0.4s ease-in-out;
}
.sidebar-cta-box:hover {
  background-position: right center;
}
.cta-client-images {
  display: inline-flex;
  margin-bottom: 20px;
}
.cta-client-img {
  margin-left: -16px;
}
.cta-client-img:first-child {
  margin: 0;
}
.cta-client-img figure {
  display: block;
  border: 1px solid var(--secondary-color);
  border-radius: 50%;
  overflow: hidden;
}
.cta-client-img img {
  max-width: 50px;
  border-radius: 50%;
}
.sidebar-cta-body {
  margin-bottom: 30px;
}
.sidebar-cta-body h3 {
  font-size: 22px;
  color: var(--secondary-color);
  margin-bottom: 10px;
}
.sidebar-cta-body p {
  color: var(--secondary-color);
  margin-bottom: 0;
}
.sidebar-cta-body p a {
  font-weight: 700;
  text-transform: capitalize;
  color: var(--secondary-color);
  transition: all 0.3s ease-in-out;
}
.sidebar-cta-body p a:hover {
  color: var(--primary-color);
}
.sidebar-cta-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.sidebar-cta-footer ul li {
  color: var(--secondary-color);
  margin-bottom: 20px;
}
.sidebar-cta-footer ul li:last-child {
  margin-bottom: 0;
}
.sidebar-cta-footer ul li a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}
.sidebar-cta-footer ul li a:hover {
  color: var(--primary-color);
}
.sidebar-cta-footer ul li img {
  max-width: 30px;
  margin-right: 20px;
}
.service-feature-image {
  margin-bottom: 20px;
}
.service-feature-image figure {
  display: block;
  border-radius: 26px;
}
.service-feature-image img {
  width: 100%;
  aspect-ratio: 1 / 0.483;
  object-fit: cover;
  border-radius: 26px;
}
.service-entry {
  margin-bottom: 60px;
}
.service-entry p {
  margin-bottom: 20px;
}
.service-entry p:last-child {
  margin-bottom: 0;
}
.service-entry h2 {
  font-family: var(--accent-font);
  font-size: 44px;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 20px;
}
.service-entry ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.service-entry ul li {
  position: relative;
  line-height: 1.5em;
  text-transform: capitalize;
  color: var(--text-color);
  padding-left: 30px;
  margin-bottom: 15px;
}
.service-entry ul li:last-child {
  margin-bottom: 0;
}
.service-entry ul li::before {
  content: '\f00c';
  font-family: 'FontAwesome';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 20px;
  color: var(--accent-color);
}
.coffee-industry-info {
  margin-top: 60px;
}
.service-entry-box {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  border-top: 1px solid var(--divider-color);
  border-bottom: 1px solid var(--divider-color);
  padding: 40px 0;
  margin: 40px 0;
}
.service-entry-item {
  width: calc(50% - 15px);
}
.service-entry-item .icon-box {
  position: relative;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 50px;
}
.service-entry-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.service-entry-item:hover .icon-box::before {
  transform: scale(1);
}
.service-entry-item .icon-box img {
  max-width: 30px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.service-entry-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.service-entry-item-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.service-entry-item-content p {
  margin: 0;
}
/************************************/
/***       19. Menu Page css      ***/
/************************************/
.page-menu {
  padding: 100px 0;
}
.page-menu-box {
  display: flex;
  flex-direction: column;
  gap: 100px;
}
.page-menu-item .section-title {
  text-align: center;
}
.page-menu-image {
  margin-bottom: 40px;
}
.page-menu-image figure {
  display: block;
  border-radius: 26px;
}
.page-menu-image img {
  width: 100%;
  aspect-ratio: 1 / 0.37;
  object-fit: cover;
  border-radius: 26px;
}
.page-menu-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.page-menu-list .our-menu-list {
  width: calc(50% - 15px);
}
/************************************/
/***     20. Blog Archive css     ***/
/************************************/
.page-blog {
  padding: 0;
}
.post-item {
  height: calc(100% - 40px);
  margin-bottom: 40px;
}
.post-featured-image, .post-item-content {
  margin-bottom: 20px;
}
.post-featured-image a {
  display: block;
  cursor: none;
}
.post-featured-image figure {
  border-radius: 0px;
  overflow: hidden;
}
.post-featured-image img {
  width: 100%;
  aspect-ratio: 1 / 0.825;
  object-fit: cover;
  object-position: center top;
  border-radius: 0px;
  transition: all 0.4s ease-in-out;
}
.post-item:hover .post-featured-image img {
  transform: scale(1.08);
}
.post-item-content h2 {
  font-size: 22px;
  line-height: 1.5;
  font-family: var(--default-font2);
}
.post-item-content h2 a {
  color: inherit;
}
.post-item-content .text-day {
  font-family: var(--default-font2);
  font-size: 15px;
  font-weight: 600;
  margin: 5px 0 12px;
  color: var(--accent-color);
  display: block;
}
.post-item-content p {
  color: var(--text-color);
  font-size: 1rem;
}
.page-pagination {
  margin-top: 20px;
  text-align: center;
}
.page-pagination ul {
  justify-content: center;
  padding: 0;
  margin: 0;
}
.page-pagination ul li a, .page-pagination ul li span {
  display: flex;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  background: var(--dark-divider-color);
  color: var(--primary-color);
  border-radius: 999px;
  width: 40px;
  height: 40px;
  margin: 0 5px;
  font-weight: 700;
  line-height: 1em;
  transition: all 0.3s ease-in-out;
}
.page-pagination ul li.active a, .page-pagination ul li a:hover {
  color: var(--secondary-color);
  background: var(--accent-color);
}
/************************************/
/***     21. Blog Archive css     ***/
/************************************/
.page-single-post {
  padding: 0;
  max-width: 1100px;
  margin: 0 auto;
}
.post-single-meta ol li {
  font-size: 18px;
  color: var(--primary-color);
  margin-right: 15px;
}
.post-single-meta ol li:last-child {
  margin-right: 0;
}
.post-single-meta ol li i {
  font-size: 18px;
  color: var(--accent-color);
  margin-right: 5px;
}
.page-single-post h1, .page-single-post h2, .page-single-post h3 {
  font-family: var(--default-font2);
  line-height: 1.4;
}
.page-single-post .text-day {
  font-family: var(--default-font2);
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0px 0 12px;
  color: var(--accent-color);
  display: block;
}
.post-image {
  position: relative;
  margin-bottom: 30px;
}
.post-image figure {
  display: block;
  border-radius: 0px;
  overflow: hidden;
}
.post-image img {
  width: 100%;
  aspect-ratio: 1 / 0.50;
  object-fit: cover;
  border-radius: 0px;
}
.post-content {
  width: 100%;
  max-width: 1100px;
  margin: 30px auto;
}
.post-entry {
  border-bottom: 1px solid var(--divider-color);
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.post-entry:after {
  content: '';
  display: block;
  clear: both;
}
.post-entry a {
  color: var(--accent-color);
}
.post-entry h1, .post-entry h2, .post-entry h3, .post-entry h4, .post-entry h5, .post-entry h6 {
  font-weight: 500;
  line-height: 1.2em;
  margin: 0 0 0.455em;
}
.post-entry h1 {
  font-family: var(--accent-font);
  font-size: 44px;
  font-weight: 400;
  text-transform: uppercase;
}
.post-entry h2 {
  font-family: var(--accent-font);
  font-size: 38px;
  font-weight: 400;
  text-transform: uppercase;
}
.post-entry h3 {
  font-family: var(--accent-font);
  font-weight: 400;
  font-size: 32px;
}
.post-entry h4 {
  font-family: var(--accent-font);
  font-weight: 400;
  font-size: 28px;
}
.post-entry h5 {
  font-family: var(--accent-font);
  font-weight: 400;
  font-size: 24px;
}
.post-entry h6 {
  font-family: var(--accent-font);
  font-weight: 400;
  font-size: 20px;
}
.post-entry p {
  margin-bottom: 15px;
  line-height: 1.9
}
.post-entry p:last-child {
  margin-bottom: 0;
}
.post-entry p strong {
  color: var(--primary-color);
  font-size: 18px;
  font-weight: 600;
}
.post-entry ol {
  margin: 0 0 30px;
}
.post-entry ul {
  padding: 0;
  margin: 20px 0 20px;
  padding-left: 20px;
}
.post-entry ol li, .post-entry ul li {
  position: relative;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5em;
  color: var(--text-color);
  margin-bottom: 15px;
}
.post-entry ul li:last-child {
  margin-bottom: 0;
}
.post-entry ul ul, .post-entry ul ol, .post-entry ol ol, .post-entry ol ul {
  margin-top: 20px;
  margin-bottom: 0;
}
.post-entry ul ul li:last-child, .post-entry ul ol li:last-child, .post-entry ol ol li:last-child, .post-entry ol ul li:last-child {
  margin-bottom: 0;
}
.post-entry blockquote {
  background: url('../images/icon-blockquote.svg'), var(--secondary-color);
  background-repeat: no-repeat;
  background-position: 35px 25px;
  background-size: 50px;
  border: 1px solid var(--divider-color);
  backdrop-filter: blur(200px);
  -webkit-backdrop-filter: blur(200px);
  border-radius: 20px;
  padding: 30px 30px 30px 100px;
  margin-bottom: 20px;
  font-family: var(--default-font2);
}
.post-entry blockquote p {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--primary-color);
}
.post-entry blockquote p:last-child {
  margin-bottom: 0;
}
.tag-links {
  font-family: var(--accent-font);
  font-size: 22px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--primary-color);
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.post-tags .tag-links a {
  display: inline-block;
  font-family: var(--default-font);
  font-size: 1rem;
  font-weight: 400;
  text-transform: capitalize;
  line-height: 1em;
  background-size: 200% auto;
  color: var(--accent-color);
  border-radius: 100px;
  padding: 0 2px 5px;
  transition: all 0.3s ease-in-out;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.post-tags .tag-links a:hover {
  background-position: right center;
  color: var(--primary-color);
}
.post-social-sharing {
  text-align: right;
}
.post-social-sharing ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.post-social-sharing ul li {
  display: inline-block;
  margin-right: 10px;
}
.post-social-sharing ul li:last-child {
  margin-right: 0;
}
.post-social-sharing ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: linear-gradient(-45deg, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
  background-size: 200% auto;
  color: var(--secondary-color);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  transition: all 0.3s ease-in-out;
}
.post-social-sharing ul li:hover a {
  background-position: right center;
}
.post-social-sharing ul li a i {
  font-size: 18px;
  color: inherit;
}
/************************************/
/***     22. Projects Page css    ***/
/************************************/
.page-projects {
  padding: 100px 0 70px;
}
.our-Project-nav {
  text-align: center;
  margin-bottom: 80px;
  overflow: hidden;
}
.our-Project-nav ul {
  list-style: none;
  text-align: center;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 60px;
  padding: 0;
  margin: 0;
}
.our-Project-nav ul li a {
  position: relative;
  display: inline-block;
  color: var(--text-color);
  line-height: 1.4em;
  font-weight: 400;
  text-transform: capitalize;
  transition: all 0.3s ease-in-out;
}
.our-Project-nav ul li a::before {
  content: '/';
  position: absolute;
  top: 0;
  bottom: 0;
  right: -35px;
  font-weight: 400;
  color: var(--text-color);
}
.our-Project-nav ul li:last-child a:before {
  display: none;
}
.our-Project-nav ul li a.active-btn, .our-Project-nav ul li a:hover {
  color: var(--accent-secondary-color);
}
.project-item {
  position: relative;
  height: calc(100% - 30px);
  margin-bottom: 30px;
}
.project-image a {
  position: relative;
  display: block;
  cursor: none;
  border-radius: 26px;
  overflow: hidden;
}
.project-image figure::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, #000000 100%);
  width: 100%;
  height: 100%;
  z-index: 1;
}
.project-image img {
  width: 100%;
  aspect-ratio: 1 / 0.825;
  object-fit: cover;
  transition: all 0.4s ease-in-out;
}
.project-item:hover .project-image img {
  transform: scale(1.1);
}
.project-content {
  position: absolute;
  right: 40px;
  bottom: 40px;
  left: 40px;
  z-index: 2;
}
.project-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  color: var(--primary-color);
}
.project-content h3 a {
  color: inherit;
  transition: all 0.3s ease-in-out;
}
.project-content h3 a:hover {
  color: var(--accent-color);
}
/************************************/
/***    23. Projects Single css   ***/
/************************************/
.page-project-single {
  padding: 100px 0;
}
.project-detail-box {
  border: 1px solid var(--divider-color);
  border-radius: 26px;
  padding: 30px;
  margin-bottom: 40px;
}
.project-detail-item {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.project-detail-item:last-child {
  margin-bottom: 0;
}
.project-detail-item .icon-box {
  margin-right: 20px;
}
.project-detail-item .icon-box img {
  width: 100%;
  max-width: 50px;
}
.project-detail-item-content {
  width: calc(100% - 70px);
}
.project-detail-item-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 5px;
}
.project-detail-item-content p {
  margin-bottom: 0;
}
.project-featured-image {
  margin-bottom: 20px;
}
.project-featured-image figure {
  display: block;
  border-radius: 26px;
}
.project-featured-image img {
  width: 100%;
  aspect-ratio: 1 / 0.483;
  object-fit: cover;
  border-radius: 26px;
}
.project-entry {
  margin-bottom: 60px;
}
.project-entry p {
  margin-bottom: 20px;
}
.project-entry p:last-child {
  margin-bottom: 0;
}
.project-entry h2 {
  font-family: var(--accent-font);
  font-size: 44px;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 20px;
}
.project-entry ul {
  list-style: none;
  margin: 40px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 30px;
}
.project-entry ul li {
  position: relative;
  width: calc(50% - 15px);
  line-height: 1.5em;
  text-transform: capitalize;
  color: var(--text-color);
  padding-left: 30px;
}
.project-entry ul li::before {
  content: '\f00c';
  font-family: 'FontAwesome';
  position: absolute;
  top: 0;
  left: 0;
  font-size: 20px;
  color: var(--accent-color);
}
.project-connection-box {
  margin-top: 60px;
}
/************************************/
/***       24. Team Page css      ***/
/************************************/
.page-team {
  position: relative;
  padding: 120px 0 120px;
  background-image: url(../images/bg-products.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.page-team:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: var(--dark-color);
  opacity: 80%;
  z-index: 0;
}
/************************************/
/***      25. Team Single css     ***/
/************************************/
.page-team-single {
  padding: 100px 0;
}
.team-sidebar-image {
  margin-bottom: 40px;
}
.team-sidebar-image figure {
  display: block;
  border-radius: 26px;
}
.team-sidebar-image img {
  width: 100%;
  aspect-ratio: 1 / 1.34;
  border-radius: 26px;
  object-fit: cover;
}
.team-single-entry {
  border-bottom: 1px solid var(--divider-color);
  margin-bottom: 40px;
  padding-bottom: 40px;
}
.member-content-body ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.member-content-body ul li {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.member-content-body ul li:last-child {
  margin-bottom: 0;
}
.member-content-body ul li img {
  width: 100%;
  max-width: 26px;
  margin-right: 15px;
}
.member-content-body ul li span {
  width: 28%;
  font-size: 22px;
  font-weight: 500;
  text-transform: capitalize;
  color: var(--primary-color);
  display: flex;
  align-items: center;
}
.member-social-links {
  margin-top: 40px;
}
.member-social-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.member-social-links ul li {
  display: inline-block;
  margin-right: 15px;
  transition: all 0.3s ease-in-out;
}
.member-social-links ul li:last-child {
  margin-right: 0;
}
.member-social-links ul li a {
  color: var(--primary-color);
  background-color: var(--accent-color);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out;
}
.member-social-links ul li a:hover {
  background-color: var(--primary-color);
  color: var(--secondary-color);
}
.member-social-links ul li a i {
  font-size: 20px;
  color: inherit
}
/************************************/
/***     26. Image Gallery css    ***/
/************************************/
.page-gallery {
  padding: 100px 0 70px;
}
.page-gallery-box .photo-gallery {
  height: calc(100% - 30px);
  margin-bottom: 30px;
}
.page-gallery-box .photo-gallery a {
  cursor: none;
}
.page-gallery-box .photo-gallery figure {
  display: block;
  border-radius: 26px;
}
.page-gallery-box .photo-gallery img {
  width: 100%;
  aspect-ratio: 1 / 0.825;
  object-fit: cover;
  border-radius: 26px;
}
/************************************/
/***     27. Video Gallery css    ***/
/************************************/
.page-video-gallery {
  padding: 100px 0 70px;
}
.video-gallery-image {
  height: calc(100% - 30px);
  margin-bottom: 30px;
  overflow: hidden;
}
.video-gallery-image a {
  position: relative;
  display: block;
  cursor: none;
}
.video-gallery-image a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--secondary-color);
  border-radius: 26px;
  opacity: 0%;
  visibility: hidden;
  width: 100%;
  height: 100%;
  z-index: 1;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
}
.video-gallery-image:hover a::before {
  opacity: 40%;
  visibility: visible;
  transform: scale(1);
}
.video-gallery-image a::after {
  content: '\f04b';
  font-family: 'FontAwesome';
  position: absolute;
  top: 50%;
  left: 50%;
  right: 0;
  transform: translate(-50%, -50%);
  font-size: 20px;
  background: var(--accent-color);
  color: var(--primary-color);
  border-radius: 50%;
  height: 60px;
  width: 60px;
  cursor: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  z-index: 1;
}
.video-gallery-image:hover a::after {
  opacity: 1;
  visibility: visible;
}
.video-gallery-image img {
  aspect-ratio: 1 / 0.825;
  object-fit: cover;
  border-radius: 26px;
}
/************************************/
/***       28. FAQs Page css      ***/
/************************************/
.page-faqs {
  padding: 100px 0;
}
.faqs-category-list ul {
  padding: 30px;
}
.faq-accordion.page-faq-accordion {
  margin-bottom: 60px;
}
.faq-accordion.page-faq-accordion:last-child {
  margin-bottom: 0;
}
/************************************/
/***    29. Contact Us Page css   ***/
/************************************/
.page-contact-us {
  padding: 100px 0 50px;
}
.contact-info-body {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.contact-info-box-1, .contact-info-box-2 {
  position: relative;
  width: 100%;
  border: 1px solid var(--divider-color);
  border-radius: 26px;
  padding: 30px 40px;
  overflow: hidden;
}
.contact-info-box-1 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 60px;
}
.contact-info-item {
  position: relative;
  width: calc(50% - 30px);
}
.contact-info-box-1 .contact-info-item::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(30px, -50%);
  height: 80%;
  width: 1px;
  background-color: var(--divider-color);
}
.contact-info-box-1 .contact-info-item:last-child:before, .contact-info-box-1 .contact-info-item:nth-child(2n + 2):before {
  display: none;
}
.contact-info-box-2 .contact-info-item {
  display: flex;
  width: 100%;
}
.contact-info-item .icon-box {
  position: relative;
  background-color: var(--dark-divider-color);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 20px;
}
.contact-info-item .icon-box::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transition: all 0.4s ease-in-out;
  z-index: 0;
}
.contact-info-item:hover .icon-box::before {
  transform: scale(1);
}
.contact-info-item .icon-box img {
  width: 100%;
  max-width: 30px;
  transition: all 0.4s ease-in-out;
  z-index: 1;
}
.contact-info-item:hover .icon-box img {
  filter: brightness(0) invert(0);
}
.contact-info-box-2 .icon-box {
  margin: 0 20px 0 0;
}
.contact-info-box-2 .contact-item-content {
  width: calc(100% - 80px);
}
.contact-item-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.contact-item-content p {
  margin: 0;
}
.contact-item-content p a {
  color: inherit;
  transition: all 0.4s ease-in-out;
}
.contact-item-content p a:hover {
  color: var(--accent-color);
}
.contact-us-form {
  border: 1px solid var(--divider-color);
  border-radius: 26px;
  padding: 40px;
  overflow: hidden;
}
.contact-form-content {
  margin-bottom: 40px;
}
.contact-form-content h3 {
  font-size: 22px;
  text-transform: capitalize;
  margin-bottom: 10px;
}
.contact-form-content p {
  color: var(--primary-color);
  margin: 0;
}
.contact-us-form .form-control {
  font-size: 18px;
  font-weight: 400;
  color: var(--primary-color);
  padding: 0 0 15px 0;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid var(--divider-color);
  border-radius: 0px;
  outline: none;
  box-shadow: none;
}
.contact-us-form .form-control::placeholder {
  color: var(--primary-color);
}
.google-map {
  padding: 50px 0 100px;
}
.google-map-iframe, .google-map-iframe iframe {
  width: 100%;
  height: 600px;
  border-radius: 26px;
}
.google-map-iframe iframe {
  filter: grayscale(1);
  transition: all 0.4s ease-in-out;
}
.google-map-iframe iframe:hover {
  filter: grayscale(0);
}
/************************************/
/***    30. Book Table Page css   ***/
/************************************/
.page-book-table {
  padding: 100px 0;
}
.book-table-image {
  margin-right: 95px;
}
.book-table-image figure {
  display: block;
  border-radius: 400px 400px 0 0;
}
.book-table-image img {
  width: 100%;
  aspect-ratio: 1 / 1.34;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.book-table-content .section-title p b {
  font-weight: 700;
}
.book-table-content .section-title p a {
  color: var(--accent-color);
  transition: all 0.4s ease-in-out;
}
.book-table-content .section-title p a:hover {
  color: var(--primary-color);
}
.contact-us-form .form-control.form-select {
  background-position: right 10px top 8px;
}
.contact-us-form .form-control.form-select option {
  background: var(--primary-color);
  color: var(--secondary-color);
}
/************************************/
/***    31. 404 Error Page css    ***/
/************************************/
.error-page {
  padding: 100px 0;
}
.error-page-image {
  text-align: center;
  margin-bottom: 40px;
}
.error-page-image img {
  width: 100%;
  max-width: 50%;
}
.error-page-content {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  text-align: center;
}
.error-page-content .section-title {
  margin-bottom: 10px;
}
.error-page-content-body p {
  color: var(--primary-color);
  margin-bottom: 20px;
}
/************************************/
/***      32. Custom css      ***/
/************************************/
.main-menu ul li.nav-item.top-link {
  width: auto;
  margin-left: 40px;
}
.main-menu ul li.nav-item.top-link a {
  position: relative;
  display: inline-block;
  margin-left: 29px;
  letter-spacing: 0em;
  padding: 0 !important;
}
.main-menu ul li.nav-item.top-link img {
  width: 24px;
  height: 24px;
  vertical-align: middle;
}
.cart-count {
  position: absolute;
  top: -3px;
  right: -10px;
  background-color: #896546;
  color: white;
  font-size: 11px;
  padding: 3px;
  border-radius: 999px;
  width: 18px;
  height: 18px;
  line-height: 1;
  display: block;
  text-align: center;
}
.news-image {
  position: relative;
  padding-left: 70px;
}
.news-img figure {
  border-radius: 400px 400px 0 0;
  display: block;
}
.news-img img {
  width: 100%;
  aspect-ratio: 1 / 1.237;
  object-fit: cover;
  border-radius: 400px 400px 0 0;
}
.menu-item-title .text-day {
  font-family: var(--default-font2);
  font-size: 15px;
  font-weight: 600;
  margin-top: 5px;
}
.search-box {
  position: absolute;
  top: 51px;
  right: -34px;
  background: #fff;
  border-radius: 0px;
  padding: 14px 15px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  gap: 8px !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 999;
  width: 280px;
  max-width: 90vw;
}
.search-box.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.search-box input {
  flex: 1;
  padding: 12px 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.search-box input:focus {
  border-color: #a66b39;
}
.search-box button {
  padding: 12px 16px;
  background-color: var(--primary-color);
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.search-box button:hover {
  background-color: #8b552f;
}
.footer-main {
  position: relative;
  background: url(../images/footer-bg.svg), var(--accent-color);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom center;
  padding: 80px 0 0 0;
}
.main-footer .section-title {
  margin-bottom: 5px;
}
.main-footer .section-title h2 {
  font-size: 36px;
}
.main-footer p {
  margin-bottom: 0 !important;
}
.main-footer {
  font-size: 15px;
}
.main-footer a {
  transition: all 0.4s ease-in-out;
  color: var(--dark-color2);
}
.main-footer a:hover {
  color: var(--primary-color);
}
.logo-footer {
  width: 420px;
  max-width: 100%;
  height: auto;
  margin: 0 40px -5px 0;
}
.footer-info-1 {
  margin: 0 60px 0 40px;
  position: relative;
  padding-top: 10px;
  padding-left: 8px;
}
.footer-info-1:before {
  content: "";
  position: absolute;
  width: 90%;
  height: 1px;
  background-color: #483525;
  top: 0;
  left: 0;
}
.footer-info-2 {
  margin: 0 40px 0 60px;
  position: relative;
  padding-top: 10px;
  padding-left: 8px;
}
.footer-info-2:before {
  content: "";
  position: absolute;
  width: 90%;
  height: 1px;
  background-color: #483525;
  top: 0;
  left: 0;
}
.footer-social {
  padding: 15px 0;
}
.footer-social a {
  margin-right: 32px;
}
.footer-social img {
  width: 26px;
  height: auto;
}
.footer-bottom {
  text-align: center;
  padding: 90px 0 0;
  line-height: 1.8;
  color: var(--dark-color2);
}
.footer-bottom a {
  color: var(--dark-color2);
}
.title-1 {
  font-family: "Noto Serif TC", serif !important;
  font-size: 16px;
  color: var(--dark-color2);
  letter-spacing: 0.05rem;
}
.text-copyright a {
  transition: all 0.4s ease-in-out;
  color: var(--primary-color);
}
.text-copyright a:hover {
  color: var(--dark-color);
}
.phone-nav {
  text-align: left;
  margin-bottom: 0;
  padding: 0 0 0 8px;
}
.phone-nav li {
  padding: 14px 0;
}
.phone-nav li ul li {
  padding: 9px 0;
  font-size: 16px;
}
.phone-nav li ul li a {
  font-size: 17px;
}
.phone-nav li ul {
  color: #fff;
  padding-left: 21px;
}
.phone-nav a {
  font-size: 18px;
  color: var(--secondary-color);
}
.logo-phone {
  width: 170px;
  max-width: 100%;
  margin-top: 35px;
}
.phone-nav .dropdown-toggle {
  width: 100%;
  position: relative;
}
.phone-nav .dropdown-toggle::after {
  display: inline-block;
  vertical-align: .255em;
  border: none;
  position: absolute;
  content: '\f107';
  font-family: 'FontAwesome';
  font-weight: 500;
  font-size: 16px;
  margin-left: 8px;
  margin-top: 4px;
  margin-right: 0;
  right: 10px;
  color: #fbf8f1;
  opacity: .6;
}
.phone-nav li ul {
  margin: 12px 0 0;
}
.phone-search .btn.btn-light {
  background-color: var(--accent-color) !important;
  border-color: var(--accent-color) !important;
  color: #fff;
}
.phone-search {
  margin-bottom: 20px;
  margin-top: 20px;
}
.phone-search input {
  padding: .6rem .8rem;
}
.copyright-line {
  display: inline-block;
}
.carousel.phone-slider {
  display: none;
}
.phone-slider .carousel-item {
  height: auto;
}
.phone-slider .carousel-item img {
  height: 90vh;
  width: 100%;
  object-fit: cover;
}
.phone-slider .carousel-indicators {
  position: absolute;
  bottom: -45px;
  z-index: 15;
}
.phone-slider .carousel-indicators [data-bs-target] {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: transparent;
  border: 1px solid var(--primary-color); /* 外框顏色，可調整 */
  opacity: 1;
  transition: background-color 0.3s, transform 0.3s;
  margin: 0 6px;
}
.phone-slider .carousel-indicators .active {
  background-color: var(--primary-color); /* 實心顏色，可調整 */
  transform: scale(1.2); /* 選中的稍微放大更精緻 */
}
.phone-slider .carousel-caption {
  position: absolute;
  bottom: 0%;
  left: 0%;
  z-index: 10;
  text-align: center;
  padding: 20px 10px 15px;
  width: 100%;
}
.phone-slider .carousel-caption::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(0deg, var(--secondary-color) 5%, transparent 95%);
  z-index: -1;
  border-radius: 0px;
}
.phone-slider .carousel-caption h2 {
  font-size: 28px;
}
.content-in {
  padding: 105px 0 110px;
}
.content-in-nopadding {
  padding: 0 0 0;
}
/* 主圖片和第二張圖片的切換效果 */
.team-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
/* 當有第二張圖片時的樣式 */
.team-image .image-anime.has-secondary {
  position: relative;
}
.team-image .image-anime.has-secondary .primary-image {
  position: relative;
  z-index: 2;
  opacity: 1;
}
.team-image .image-anime.has-secondary .secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  transform: scale(1.1);
}
/* 懸停效果 */
.team-image:hover .image-anime.has-secondary .primary-image {
  opacity: 0;
  transform: scale(1.1);
}
.team-image:hover .image-anime.has-secondary .secondary-image {
  opacity: 1;
  transform: scale(1);
}
/* ===== 產品標籤系統 ===== */
.product-badges {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.product-badge {
  display: inline-block;
  width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 999px;
  text-align: center;
  line-height: 50px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: white;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  animation: badgePulse 2s infinite ease-in-out;
  background-color: rgba(0, 0, 0, .8)
}
.badge-new {
  background: linear-gradient(135deg, var(--new-color) 0%, #20c997 100%);
}
.badge-sale {
  background: linear-gradient(135deg, var(--sale-color) 0%, #fd7e14 100%);
}
.badge-hot {
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
}
.badge-limited {
  background: linear-gradient(135deg, #6c5ce7 0%, #a29bfe 100%);
}
@keyframes badgePulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
.btn-ch {
  font-size: 1rem;
  font-family: var(--default-font);
  font-weight: 500 !important;
}
/* --- Back to Top 按鈕樣式 --- */
.back-to-top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  background: var(--accent-color);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  text-decoration: none;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease-in-out;
}
.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top:hover {
  background: var(--primary-color);
  color: white;
  transform: translateY(-5px);
}
/* --- 側邊欄 Sidebar --- */
.member-sidebar {
  position: relative;
}
.member-sidebar .main-content {
  padding: 30px 0 40px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
}
.member-sidebar .pic-text {
  position: relative;
  width: 100%;
  text-align: center;
  margin-bottom: -5px;
}
.member-sidebar .pic-text img {
  height: 25px;
}
.member-info-card {
  text-align: center;
  padding: 15px 20px;
  border-bottom: 1px solid var(--divider-color);
}
.member-avatar i {
  font-size: 50px;
  color: var(--bs-body-bg);
  margin-bottom: 15px;
  opacity: .8;
}
.member-details h4 {
  font-size: 18px;
  font-weight: 500;
  color: var(--bs-body-bg);
  margin-bottom: 5px;
}
.member-details p {
  font-size: 14px;
  color: var(--bs-body-bg);
  margin-bottom: 3px;
  word-break: break-all;
}
.member-level {
  background-color: var(--accent-color);
  color: white;
  padding: 3px 12px;
  border-radius: 99px;
  font-size: 12px;
  display: inline-block;
  margin-top: 10px;
}
.page-category-list ul {
  list-style: none;
  padding: 15px 20px;
  margin: 0;
}
.page-category-list li a {
  display: block;
  padding: 12px 20px;
  color: var(--bs-body-bg) !important;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 500;
  transition: background-color 0.3s, color 0.3s;
}
.page-category-list li a:hover {
  color: #ede2d3 !important;
}
.page-category-list li a.active {
  background-color: rgba(255, 255, 255, .3);
  color: var(--bs-body-bg) !important;
  font-weight: 500;
  border-radius: 999px;
}
.page-category-list li a i {
  margin-right: 12px;
  width: 20px;
  text-align: center;
}
/* 登入頁面樣式 */
.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 80px 0 80px;
  position: relative;
  overflow: hidden;
  background-image: url(../images/bg-about.jpg);
  background-size: cover;
  background-attachment: fixed;
}
.login-page::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="%23896546" opacity="0.05"/></svg>') repeat;
  animation: float 30s linear infinite;
  z-index: 1;
}
@keyframes float {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(-100px, -100px) rotate(360deg);
  }
}
.login-container {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  margin: 60px auto 0;
}
.login-card {
  border-radius: 0;
  overflow: hidden;
  min-height: 600px;
}
.pic-text-2 {
  width: 100%;
  position: relative;
  text-align: center;
  margin-bottom: -5px;
}
.pic-text-2 img {
  height: 30px;
}
.login-image {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 110px 40px 110px;
  text-align: center;
  border-radius: 999px 999px 0 0;
}
.image-content {
  position: relative;
  z-index: 1;
  color: white;
}
.brand-logo {
  width: 180px;
  margin-bottom: 30px;
  filter: brightness(0) invert(1);
}
.welcome-text h2 {
  font-family: var(--default-font2);
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, .9);
  line-height: 1.3;
}
.welcome-text p {
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.9;
  margin-bottom: 30px;
}
.features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}
.features-list li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  font-size: 14px;
  opacity: 0.9;
}
.features-list li i {
  width: 20px;
  margin-right: 15px;
}
.login-form-container {
  padding: 30px 50px 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.form-header {
  text-align: center;
  margin-bottom: 0px;
}
.form-title {
  font-family: var(--default-font2);
  font-size: 28px;
  color: var(--primary-color);
  margin-bottom: 10px;
  font-weight: 600;
}
.form-subtitle {
  color: var(--text-color);
  font-size: 15px;
}
.demo-notice {
  background: linear-gradient(135deg, #e8f5e8 0%, #f0f8f0 100%);
  border: 1px solid #c3e6c3;
  border-radius: 12px;
  padding: 15px;
  margin: 20px 0;
  text-align: center;
}
.demo-notice p {
  color: #2d5016;
  font-size: 14px;
  margin: 0;
  font-weight: 500;
}
.demo-notice i {
  color: #52c41a;
  margin-right: 8px;
}
.form-group {
  margin-bottom: 15px;
  position: relative;
}
.form-group label {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 14px;
}
.form-group input {
  width: 100%;
  padding: 15px 20px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  font-size: 16px;
  color: var(--text-color);
  transition: all 0.3s ease;
  background: white;
}
.form-group input:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
textarea.form-control {
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  font-size: 16px;
  color: var(--text-color);
  transition: all 0.3s ease;
  background: white;
  padding: 15px 20px;
}
textarea.form-control:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
.form-group select {
  width: 100%;
  padding: 15px 20px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  font-size: 16px;
  color: var(--text-color);
  transition: all 0.3s ease;
  background-color: #ffffff;
}
.form-group input:focus, .form-group select:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
.form-group select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  appearance: none;
}
.form-group select.hight2 {
  padding: 18px 20px
}
.password-toggle {
  position: absolute;
  right: 15px;
  top: 38px;
  background: none;
  border: none;
  color: var(--text-color);
  cursor: pointer;
  padding: 5px;
}
.password-strength {
  margin-top: 10px;
  display: none;
}
.strength-bar {
  height: 4px;
  border-radius: 2px;
  background: #e0e0e0;
  margin-bottom: 8px;
  overflow: hidden;
}
.strength-fill {
  height: 100%;
  transition: all 0.3s ease;
  border-radius: 2px;
}
.strength-text {
  font-size: 12px;
  color: var(--text-color);
}
.security-tips {
  background: linear-gradient(135deg, rgba(201, 165, 129, 0.3), rgba(228, 204, 180, 0.3));
  border-radius: 0 999px 999px 0;
  padding: 20px 30px;
  margin: 20px 0;
}
.security-tips h5 {
  color: var(--primary-color);
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 600;
}
.security-tips ul {
  margin: 0;
  padding-left: 20px;
}
.security-tips ul li {
  margin-bottom: 8px;
  color: var(--text-color);
  font-size: 14px;
}
.form-options {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 5px 25px;
  font-size: 15px;
}
.remember-me {
  display: flex;
  align-items: center;
  color: var(--text-color);
}
.remember-me input {
  margin-right: 8px;
  width: auto;
  transform: scale(1.1);
  accent-color: var(--accent-color);
}
.forgot-password {
  color: var(--accent-color);
  text-decoration: none;
  transition: all 0.3s ease;
  font-weight: 500;
}
.forgot-password:hover {
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.login-btn {
  width: 100%;
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
  color: white;
  border: none;
  padding: 16px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 10px;
}
.login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.3);
}
.login-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.divider {
  text-align: center;
  margin: 30px 0;
  position: relative;
  color: var(--text-color);
}
.divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(137, 101, 70, 0.3);
  z-index: 1;
}
.divider span {
  background: var(--secondary-color);
  padding: 0 20px;
  position: relative;
  z-index: 2;
  font-size: 15px;
}
.social-login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  margin-bottom: 30px;
}
.social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  border: 1.5px solid var(--accent-color);
  border-radius: 999px;
  background: white;
  color: var(--text-color);
  text-decoration: none;
  transition: all 0.3s ease;
}
.social-btn:hover {
  border-color: var(--accent-color);
  color: var(--primary-color);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.1);
}
.social-btn i {
  margin-right: 8px;
}
.social-btn.facebook {
  border-color: #1877F2;
  color: #1877F2;
}
.social-btn.facebook:hover {
  background-color: #1877F2;
  color: #fff;
}
.social-btn.line {
  border-color: #00B900;
  color: #00B900;
}
.social-btn.line:hover {
  background-color: #00B900;
  color: #fff;
}
.register-link {
  text-align: center;
  color: var(--text-color);
}
.register-link a {
  color: var(--accent-color);
  transition: all 0.3s ease;
  font-weight: 500;
}
.register-link a:hover {
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.loading-spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid #ffffff;
  border-top: 2px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-right: 10px;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 【新增】彈跳式提示框樣式 */
.custom-popup {
  position: fixed;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  padding: 15px 25px;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 400 !important;
  transition: top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  max-width: 90%;
  text-align: center;
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
}
.custom-popup.show {
  top: 30px;
}
.custom-popup-icon {
  font-size: 1.2rem;
}
/* 成功樣式 */
.popup-success {
  background: rgba(0, 0, 0, 0.8);
  color: #fbf8f1;
  line-height: 1.4;
}
/* 錯誤樣式 */
.popup-error {
  background: rgba(0, 0, 0, 0.8);
  color: #fbf8f1;
}
.fade-in {
  animation: fadeInUp 0.6s ease-out;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --- 全局容器樣式 --- */
.page-container {
  padding: 80px 0 60px;
  min-height: auto;
  background-image: url(../images/bg-about.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-attachment: fixed;
}
.member-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
/* 【修改】標題區塊樣式調整 */
.page-title-section {
  margin: 12px 0 60px;
  text-align: left; /* 容器整體靠左 */
}
.page-title {
  font-size: 2rem;
  font-weight: 500;
  color: var(--primary-color);
  font-family: var(--default-font2);
  margin-top: 10px; /* 與麵包屑的間距 */
}
.breadcrumb {
  justify-content: center;
  background-color: transparent;
  padding: 0;
  margin-bottom: 0;
  font-size: 14px !important;
}
.breadcrumb-item a {
  color: var(--accent-color);
  text-decoration: none;
}
.breadcrumb-item.active {
  color: var(--light-text);
}
.member-container .breadcrumb {
  justify-content: flex-start
}
/* 【新增】變更密碼按鈕樣式 */
.btn-change-password {
  display: inline-block;
  padding: 12px 25px;
  border: 1.5px solid #e9ab70;
  color: #e9ab70;
  background-color: transparent;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s;
}
.btn-change-password:hover {
  background-color: #e9ab70;
  color: white;
}
.btn-change-password .fas {
  margin-right: 8px;
}
.member-container .section-header {
  padding: 0px 0px 20px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--accent-color);
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}
.member-container .section-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color);
  margin: 0;
}
.member-container .section-title2 {
  font-size: 18px;
  font-weight: 500;
  color: var(--primary-color);
  margin: 0 0 20px 0;
}
.member-container .section-content {
  padding: 0px 40px 50px;
}
/* --- 表單優化 --- */
.profile-form .form-section-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--dark-text);
  margin: 25px 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--divider-color);
}
.profile-form {
  margin-top: 30px;
}
/* 表單分隔線 */
.form-divider {
  border-top: 1px solid rgba(137, 101, 70, 0.2);
  margin: 10px 0;
}
.profile-form .row + .row {
  border-top: 1px solid rgba(137, 101, 70, 0.08);
  padding-top: 20px;
  margin-top: 20px;
}
.profile-form .form-group {
  margin-bottom: 20px;
  position: relative;
}
.profile-form .form-label {
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 14px;
}
.profile-form .form-control {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  background-color: #fcfcfc !important;
  transition: all 0.3s;
}
/* 下拉選單樣式 */
.profile-form .form-select {
  background-color: white;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  appearance: none;
}
.profile-form .form-control:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 4px rgba(201, 165, 129, 0.15);
  background-color: white;
  outline: none;
}
.form-control:read-only {
  /*background-color: var(--divider-color);*/
  opacity: 1;
}
.form-text {
  font-size: 13px;
  color: var(--primary-color);
  margin-top: 6px;
  position: relative;
  display: block;
  opacity: .9
}
.form-text i.outline {
  border: 1px solid var(--primary-color);
  width: 16px;
  height: 16px;
  line-height: 14px;
  border-radius: 999px;
  text-align: center;
  font-size: 10px;
  top: -1px;
  position: relative;
  opacity: .8;
  margin: 0 1px;
}
.profile-actions {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}
.red {
  color: #FF6127;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/");
  opacity: .6
}
/* 相關連結 */
.related-culture {
  padding: 120px 0 130px;
  background-color: rgba(251, 248, 241, 0.5);
  background-image: url(../images/bg-seasonal.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
  z-index: 9;
}
.related-culture .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}
.culture-card {
  height: 100%;
}
.culture-image {
  position: relative;
  border-radius: 0px;
  overflow: hidden;
  height: 400px;
}
.culture-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease-in-out;
}
.culture-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--secondary-color);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.culture-card:hover .culture-overlay {
  opacity: 1;
}
.culture-card:hover .culture-image img {
  transform: scale(1.1);
}
.culture-overlay h4 {
  font-size: 28px;
  margin-bottom: 15px;
  color: var(--accent-color);
  font-family: var(--default-font2);
}
.culture-overlay p {
  font-size: 16px;
  margin-bottom: 25px;
  opacity: 0.9;
}
/* ===== 產品 ===== */
.immersive-hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.immersive-hero:before {
  content: "1212";
  background: linear-gradient(to bottom, var(--dark-color) 100%, var(--dark-color) 100%);
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 9;
  opacity: .4;
}
.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}
.floating-elements {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.floating-sachima {
  position: absolute;
  width: 120px;
  height: 120px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="8" fill="%23d4b896" opacity="0.3"/><circle cx="30" cy="30" r="4" fill="%23c9a581" opacity="0.4"/><circle cx="70" cy="70" r="6" fill="%23f0e6d6" opacity="0.3"/></svg>') no-repeat center;
  background-size: contain;
  opacity: 0.15;
  animation: floatAround 20s infinite ease-in-out;
}
.floating-sachima:nth-child(1) {
  top: 10%;
  left: 15%;
  animation-delay: 0s;
}
.floating-sachima:nth-child(2) {
  top: 20%;
  right: 10%;
  animation-delay: 5s;
}
.floating-sachima:nth-child(3) {
  bottom: 30%;
  left: 8%;
  animation-delay: 10s;
}
.floating-sachima:nth-child(4) {
  bottom: 15%;
  right: 20%;
  animation-delay: 15s;
}
@keyframes floatAround {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
  25% {
    transform: translate(30px, -20px) rotate(90deg) scale(1.1);
  }
  50% {
    transform: translate(-20px, -40px) rotate(180deg) scale(0.9);
  }
  75% {
    transform: translate(-30px, 20px) rotate(270deg) scale(1.05);
  }
}
.immersive-hero .hero-content {
  position: relative;
  z-index: 10;
  text-align: center;
  color: white;
  max-width: 800px;
  margin: 0 auto;
  padding: 80px 20px 0;
}
.immersive-hero .hero-subtitle {
  font-size: 18px;
  color: var(--accent-secondary-color);
  margin-bottom: 20px;
  opacity: 0;
  animation: slideUpFade 1s ease-out 0.5s forwards;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.immersive-hero .hero-title {
  font-family: var(--default-font2);
  font-size: 60px;
  font-weight: 400;
  margin-bottom: 30px;
  background-clip: text;
  opacity: 0;
  animation: slideUpFade 1s ease-out 0.8s forwards;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  color: var(--accent-color);
  letter-spacing: 5px !important;
}
.immersive-hero .hero-description {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 50px;
  opacity: 0;
  animation: slideUpFade 1s ease-out 1.1s forwards;
  font-weight: 400;
  color: rgba(255, 255, 255, .7);
}
.scroll-indicator {
  position: absolute;
  bottom: 30px;
  left: 48.5%;
  transform: translateX(-50%);
  color: white;
  opacity: 0.7;
  animation: bounce 2s infinite;
  z-index: 10;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
}
.scroll-indicator i {
  display: block;
  margin-bottom: 8px;
  font-size: 20px;
}
@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  40% {
    transform: translateX(-50%) translateY(-10px);
  }
  60% {
    transform: translateX(-50%) translateY(-5px);
  }
}
.pic-text-3 {
  width: 100%;
  position: relative;
  text-align: center;
  margin-bottom: -5px;
}
.pic-text-3 img {
  width: auto;
  height: 30px;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: 0;
}
.our-approach-content {
  margin: 1rem;
}
/* --- 全局背景 --- */
.stories-page-container {
  padding: 120px 0 100px;
  background-repeat: no-repeat;
  background-image: url("../images/bg-seasonal.png");
  background-size: auto 350px;
  background-position: center 100px;
  background-repeat: repeat-x
}
.stories-page-container-in {
  padding: 150px 0 0;
  background-repeat: no-repeat;
  background-image: url("../images/bg-seasonal.png");
  background-size: auto 130px;
  background-position: center 100px;
  background-repeat: repeat-x
}
/* --- =stories-hero 樣式 --- */
.stories-hero {
  /*background: linear-gradient(135deg, rgba(201, 165, 129, 0.3), rgba(228, 204, 180, 0.3));*/
  padding: 60px 40px 40px;
  text-align: center;
  margin-bottom: 80px;
  position: relative;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center center
}
@keyframes float {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(-20px, -20px) rotate(180deg);
  }
}
.stories-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}
.hero-subtitle {
  font-size: 16px;
  color: var(--primary-color);
  font-weight: 400;
  margin-bottom: 15px;
  letter-spacing: 2px;
  font-family: var(--default-font2);
}
.hero-title {
  font-size: 48px;
  font-weight: 400 !important;
  color: var(--primary-color);
  margin-bottom: 25px;
  line-height: 1.2;
  font-family: var(--default-font2);
}
.hero-description {
  font-size: 16px;
  color: var(--text-color);
  line-height: 2;
  margin-bottom: 0;
}
/* --- [保留] 篩選器樣式 --- */
.story-filter-alt {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 40px;
}
.filter-btn {
  padding: 14px 25px;
  border: 1.5px solid var(--filter-btn-border);
  border-radius: 50px;
  background-color: var(--filter-btn-bg);
  color: var(--filter-btn-color);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  margin: 3px;
  display: inline-block;
}
.filter-btn:hover, .filter-btn.active {
  background-color: var(--filter-btn-active-bg);
  color: var(--filter-btn-active-color);
  border-color: var(--filter-btn-active-bg);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
/* --- [還原] Untitled-3.html 的卡片樣式 --- */
.story-grid-masonry {
  width: 100%;
}
.story-card-alt {
  width: calc(33.333% - 20px);
  margin-bottom: 30px;
  border-radius: 0px;
  overflow: hidden;
  position: relative; /* Isotope 需要這個 */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  color: white; /* 因為文字在圖片上，預設白色 */
  text-decoration: none;
  display: block;
}
.story-card-alt:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
}
.story-card-alt .card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.story-card-alt:hover .card-image {
  transform: scale(1.05);
}
.story-card-alt .card-category {
  position: absolute;
  top: 20px;
  left: 20px;
  background: var(--dark-color);
  color: rgba(255, 255, 255, .8);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 500;
  z-index: 2;
  opacity: .9;
}
.story-card-alt .card-content-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 80px 25px 25px;
  z-index: 2;
  background: var(--story-overlay-bg);
  transform: translateY(30%);
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.story-card-alt:hover .card-content-overlay {
  transform: translateY(0);
  opacity: 1;
}
.story-card-alt .card-title {
  font-family: var(--default-font2);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 5px;
  color: var(--accent-color)
}
.story-card-alt .card-meta {
  font-family: var(--default-font2);
  font-size: 15px;
  font-weight: 600;
  margin: 5px 0 12px;
  display: block;
  opacity: .8
}
/* 產品內頁 */
.product-detail-section {
  padding: 60px 0 0;
}
.main-product-image {
  position: relative;
  margin-bottom: 10px;
  border-radius: 0px;
  overflow: hidden;
  aspect-ratio: 1 / 1.5;
  cursor: zoom-in;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease-in-out;
}
.main-product-image:hover {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  transform: translateY(-5px);
}
.main-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease-in-out;
}
.main-product-image:hover img {
  transform: scale(1.05);
}
.product-badge2 {
  position: absolute;
  top: 20px;
  left: 20px;
  background: linear-gradient(135deg, rgba(0, 0, 0, .9) 0%, rgba(0, 0, 0, .7) 100%);
  color: var(--secondary-color);
  padding: 0;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 400;
  z-index: 2;
  width: 70px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  letter-spacing: 1px;
  text-transform: uppercase;
  animation: badgePulse 2s infinite ease-in-out;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
}
@keyframes badgePulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
  }
}
.thumbnail-item {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
  border: 3px solid transparent;
  transition: all 0.3s ease-in-out;
  position: relative;
}
.thumbnail-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}
.thumbnail-item:hover::before {
  opacity: 1;
}
.thumbnail-item.active, .thumbnail-item:hover {
  border-color: var(--accent-color);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(201, 165, 129, 0.4);
}
.thumbnail-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.thumbnail-item:hover img {
  transform: scale(1.1);
}
.product-info {
  padding-left: 40px;
}
.product-title {
  font-size: 2rem;
  font-weight: 600;
  color: var(--primary-color);
  font-family: var(--default-font2);
  margin-bottom: 15px;
  line-height: 1.5;
}
.product-title2 {
  font-size: 1.4rem;
  margin-top: 8px;
  font-weight: 400;
  color: #ef4444;
  font-family: var(--default-font);
  margin-bottom: 15px;
  line-height: 1.5;
  letter-spacing: 1px;
}
.product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.stars {
  color: #FFD700;
  font-size: 18px;
}
.rating-text {
  color: var(--text-color);
  font-size: 14px;
}
.product-price-section {
  margin: 20px 0 30px;
}
.current-price {
  font-size: 24px;
  font-weight: 700;
  color: var(--accent-color);
  margin-right: 10px;
  font-family: var(--default-font2);
}
.original-price {
  font-size: 18px;
  color: #999;
  text-decoration: line-through;
  margin-right: 15px;
  font-family: var(--default-font2);
}
.discount-badge {
  background: #FF4757;
  color: white;
  padding: 4px 8px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
}
.egg-badge {
  background: #e9ab70;
  color: white;
  padding: 6px 18px 9px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  font-family: var(--default-font2);
  display: inline-block;
}
.product-description {
  font-size: 16px;
  line-height: 1.8;
  color: var(--text-color);
  margin-bottom: 30px;
  padding: 30px 0;
  border-top: 1px solid var(--accent-color);
  border-bottom: 1px solid var(--accent-color);
}
.product-options {
  margin-bottom: 20px;
}
.product-options .option-label {
   min-width: 80px; 
}
.option-group {
  margin-bottom: 20px;
}
.option-label {
  font-weight: 600;
  margin-bottom: 0px;
  display: block;
  font-size: 16px;
  align-content: center
}
.flavor-options {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}
.flavor-option {
  position: relative;
}
.flavor-option input[type="radio"] {
  display: none;
}
.flavor-option label {
  display: flex;
  align-items: center;
  padding: 8px 14px;
  border: 1.5px solid var(--divider-color);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background: var(--secondary-color);
  font-size: 15px;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 20px;
  position: relative;
  overflow: hidden;
}
.flavor-option label::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transform: translateX(-100%) translateY(-100%) rotate(45deg);
  transition: transform 0.6s ease;
}
.flavor-option label:hover::before {
  transform: translateX(100%) translateY(100%) rotate(45deg);
}
.flavor-option label:hover {
  border: 1.5px solid var(--accent-color);
  background-color: rgba(201, 165, 129, 0.1);
  color: var(--primary-color);
  box-shadow: 0 4px 15px rgba(201, 165, 129, 0.3);
  transform: translateY(-2px);
}
.flavor-option input[type="radio"]:checked + label {
  border-color: var(--accent-color);
  background-color: rgba(201, 165, 129, 0.1);
  color: var(--primary-color);
  box-shadow: 0 4px 15px rgba(201, 165, 129, 0.4);
  transform: translateY(-2px);
}
.flavor-option input[type="radio"]:disabled + label {
  background: rgba(201, 165, 129, 0.1);
  color: #999;
  cursor: not-allowed;
  opacity: 0.7;
}
.flavor-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: 5px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0);
}
.flavor-dot.chocolate {
  background: #8B4513;
}
.flavor-dot.pineapple {
  background: #FFD700;
}
.flavor-dot.mango {
  background: #FFA500;
}
.flavor-dot.banana {
  background: #FFFF00;
}
.flavor-dot.brown-sugar {
  background: #A0522D;
}
.flavor-dot.maple {
  background: #D2691E;
}
.flavor-dot.nuts {
  background: #DEB887;
}
.size-options {
  display: flex;
  gap: 15px;
}
.size-option input[type="radio"] {
  display: none;
}
.size-option label {
  display: block;
  padding: 15px 25px;
  border: 2px solid var(--divider-color);
  border-radius: 15px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background: var(--secondary-color);
  text-align: center;
  min-width: 120px;
  margin-bottom: 0;
}
.size-option input[type="radio"]:checked + label {
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  border-color: var(--accent-color);
  color: var(--secondary-color);
}
.size-price {
  font-weight: 600;
  color: var(--accent-color);
  margin-top: 5px;
  display: block;
}
.shipping-options {
  display: flex;
  gap: 10px;
}
.shipping-option {
  flex: 1;
}
.shipping-option input[type="radio"] {
  display: none;
}
.shipping-option label {
  display: block;
  padding: 10px 24px;
  border: 1.5px solid var(--divider-color);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  background: var(--secondary-color);
  text-align: center;
  margin-bottom: 0;
  font-size: 15px;
  line-height: 20px;
  position: relative;
  overflow: hidden;
}
.shipping-option label::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transform: translateX(-100%) translateY(-100%) rotate(45deg);
  transition: transform 0.6s ease;
}
.shipping-option label:hover::before {
  transform: translateX(100%) translateY(100%) rotate(45deg);
}
.shipping-option label:hover {
  border: 1.5px solid var(--accent-color);
  background: rgba(201, 165, 129, 0.1);
  color: var(--primary-color);
  box-shadow: 0 4px 15px rgba(201, 165, 129, 0.3);
  transform: translateY(-2px);
}
.shipping-option input[type="radio"]:checked + label {
  border-color: var(--accent-color);
  background: rgba(201, 165, 129, 0.1);
  color: var(--primary-color);
  box-shadow: 0 4px 15px rgba(201, 165, 129, 0.4);
  transform: translateY(-2px);
}
.shipping-title {
  font-weight: 600;
  margin-bottom: .1rem;
}
.shipping-desc {
  font-size: 14px;
  color: var(--text-color);
  margin-bottom: 8px;
}
.shipping-price {
  font-weight: 600;
  color: var(--accent-color);
}
.quantity-selector {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 30px;
}
.quantity-control {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--accent-color);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(201, 165, 129, 0.2);
}
.quantity-btn {
  width: 45px;
  height: 45px;
  background: var(--secondary-color);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  font-size: 18px;
  color: var(--primary-color);
}
.quantity-btn:hover {
  background: var(--accent-color);
  color: var(--secondary-color);
  transform: scale(1.1);
}
.quantity-input {
  width: 180px;
  height: 45px;
  border: none;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  background: var(--secondary-color);
  color: var(--primary-color);
}
.product-actions {
  display: flex;
  gap: 15px;
  margin: 10px 0;
}
.btn-add-cart {
  flex: 2;
  padding: 15px 30px;
  background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  background-size: 200% auto;
  color: var(--secondary-color);
  border: none;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
  position: relative;
  overflow: hidden;
}
.btn-add-cart::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  transition: left 0.5s ease;
}
.btn-add-cart:hover::before {
  left: 100%;
}
.btn-add-cart:hover {
  background-position: right center;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(201, 165, 129, 0.4);
}
.btn-buy-now {
  flex: 2;
  padding: 15px 30px;
  background: var(--primary-color);
  color: var(--secondary-color);
  border: none;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.4s ease-in-out;
  position: relative;
  overflow: hidden;
}
.btn-buy-now::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.5s ease;
}
.btn-buy-now:hover::before {
  left: 100%;
}
.btn-buy-now:hover {
  background: var(--primary-color);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
/* 超級閃亮的我的最愛按鈕 */
.btn-wishlist {
  width: 55px;
  height: 55px;
  background: linear-gradient(135deg, var(--secondary-color) 0%, #ffffff 100%);
  border: 2px solid var(--divider-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  font-size: 20px;
  color: var(--primary-color);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.btn-wishlist::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.8) 0%, transparent 70%);
  transform: scale(0);
  transition: transform 0.6s ease;
}
.btn-wishlist::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(212, 70, 69, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  transition: all 0.8s ease;
  transform: translate(-50%, -50%);
}
.btn-wishlist:hover {
  border-color: #d44645;
  color: #d44645;
  background: linear-gradient(135deg, rgba(255, 71, 87, 0.1) 0%, rgba(255, 255, 255, 0.9) 100%);
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 25px rgba(212, 70, 69, 0.3);
}
.btn-wishlist:hover::before {
  transform: scale(1);
}
.btn-wishlist:hover::after {
  width: 100px;
  height: 100px;
}
.btn-wishlist.active {
  border-color: #d44645;
  color: #d44645;
  background: linear-gradient(135deg, rgba(255, 71, 87, 0.2) 0%, rgba(255, 255, 255, 0.9) 100%);
  transform: scale(1.1);
  box-shadow: 0 10px 30px rgba(212, 70, 69, 0.4);
  animation: heartBeat 1.5s ease-in-out infinite;
}
.btn-wishlist.active::after {
  width: 120px;
  height: 120px;
  animation: heartPulse 2s ease-in-out infinite;
}
@keyframes heartBeat {
  0%, 100% {
    transform: scale(1.1);
  }
  14% {
    transform: scale(1.2);
  }
  28% {
    transform: scale(1.1);
  }
  42% {
    transform: scale(1.2);
  }
  70% {
    transform: scale(1.1);
  }
}
@keyframes heartPulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.3;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.1;
  }
}
@keyframes heartSparkle {
  0% {
    transform: scale(1);
    filter: brightness(1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  }
  25% {
    transform: scale(1.15);
    filter: brightness(1.3) drop-shadow(0 0 8px #ff4757);
    box-shadow: 0 8px 25px rgba(212, 70, 69, 0.4);
  }
  50% {
    transform: scale(1.1);
    filter: brightness(1.5) drop-shadow(0 0 12px #ff4757) drop-shadow(0 0 20px #ff69b4);
    box-shadow: 0 12px 30px rgba(212, 70, 69, 0.6);
  }
  75% {
    transform: scale(1.15);
    filter: brightness(1.3) drop-shadow(0 0 8px #ff4757);
    box-shadow: 0 8px 25px rgba(212, 70, 69, 0.4);
  }
  100% {
    transform: scale(1.1);
    filter: brightness(1);
    box-shadow: 0 10px 30px rgba(212, 70, 69, 0.4);
  }
}
.product-features {
  display: flex;
  gap: 20px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.feature-item {
  display: flex;
  align-items: center;
  padding: 12px 20px;
  background: linear-gradient(135deg, rgba(251, 248, 241, 0.8) 0%, rgba(251, 248, 241, 0.4) 100%);
  border-radius: 15px;
  border: 1px solid var(--divider-color);
  transition: all 0.3s ease;
}
.feature-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(201, 165, 129, 0.2);
}
.feature-icon {
  width: 24px;
  height: 24px;
  margin-right: 10px;
  color: var(--accent-color);
}
.feature-text {
  font-size: 14px;
  color: var(--primary-color);
  font-weight: 500;
}
.product-tabs {
  margin-top: 60px;
}
.nav-tabs {
  border-bottom: 2px solid var(--divider-color);
  margin-bottom: 30px;
  display: flex;
}
.nav-tabs .nav-item {
  flex: 1;
}
.nav-tabs .nav-link {
  border: none;
  border-radius: 0;
  color: var(--text-color);
  font-weight: 600;
  padding: 20px 30px;
  transition: all 0.3s ease-in-out;
  text-align: center;
  width: 100%;
  font-size: 1.2rem;
  position: relative;
}
.nav-tabs .nav-link::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 3px;
  background: var(--accent-color);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}
.nav-tabs .nav-link:hover::before, .nav-tabs .nav-link.active::before {
  width: 100%;
}
.nav-tabs .nav-link.active {
  background: transparent;
  color: var(--accent-color);
}
.tab-content {
  padding: 0;
}
.tab-section {
  padding: 5px;
  font-size: 1rem;
  line-height: 1.8;
}
.tab-section h1, .tab-section h2, .tab-section h3 {
  font-family: var(--default-font2);
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 20px;
  position: relative;
}
.tab-section h4 {
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 10px;
  position: relative;
  font-size: 20px;
}
.tab-section p {
  margin-bottom: 10px;
}
.related-products {
  margin-top: 80px;
}
.related-products .section-title {
  text-align: center;
  margin-bottom: 50px;
}
.related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
}
.related-item {
  background: var(--secondary-color);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease-in-out;
}
.related-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}
.related-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.related-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease-in-out;
}
.related-item:hover .related-image img {
  transform: scale(1.1);
}
.related-info {
  padding: 20px;
}
.related-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 8px;
}
.related-title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.related-title a:hover {
  color: var(--accent-color);
}
.related-price {
  font-size: 18px;
  font-weight: 700;
  color: var(--accent-color);
}
/* Image Zoom Modal */
.image-zoom-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  cursor: zoom-out;
  backdrop-filter: blur(5px);
}
.image-zoom-modal img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 0px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.image-zoom-close {
  position: absolute;
  top: 20px;
  right: 30px;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 10000;
  transition: all 0.3s ease;
}
.image-zoom-close:hover {
  color: var(--accent-color);
  transform: scale(1.1);
}
@keyframes bounce {
  0%, 20%, 60%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  80% {
    transform: translateY(-5px);
  }
}
/* 購物車頁面樣式*/
.cart-page {
  padding: 170px 0 100px;
  min-height: 100vh;
  position: relative;
  background-image: url(../images/bg-bride.png);
  background-repeat: no-repeat;
  background-size: 880px auto;
  background-position: -40% 120px;
  background-attachment: fixed;
}
.cart-page .section-row {
  margin-bottom: 60px;
}
.cart-container {
  max-width: 1240px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  padding: 0 20px;
}
/* 購物流程指示 */
.cart-steps {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
  position: relative;
}
.cart-steps::before {
  content: '';
  position: absolute;
  top: 25px;
  left: 25%;
  right: 25%;
  height: 3px;
  background: linear-gradient(90deg, var(--accent-color), #e5e7eb);
  z-index: 1;
  border-radius: 2px;
}
.step {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  max-width: 220px;
}
.step-number {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: white;
  font-family: var(--default-font2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #9ca3af;
  margin-bottom: 15px;
  font-size: 16px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
}
.step.active .step-number {
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white;
  transform: scale(1.1);
  box-shadow: 0 12px 35px rgba(137, 101, 70, 0.3);
}
.step-text {
  font-weight: 600;
  color: #9ca3af;
  text-align: center;
  font-size: 14px;
}
.step.active .step-text {
  color: var(--primary-color);
}
/* 主要內容區域 */
.cart-page .main-content {
  background: white;
  border-radius: 20px;
  box-shadow: 0 32px 64px rgba(137, 101, 70, 0.12);
  overflow: hidden;
  margin-bottom: 30px;
  display: block;
  position: relative;
}
.cart-page .main-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));
}
.cart-page .section-header {
  padding: 30px 40px 20px;
  border-bottom: 1px solid rgba(137, 101, 70, 0.15);
  display: flex;
  align-items: center;
  gap: 10px;
}
.cart-page .section-header i {
  margin-top: 2px;
}
.cart-page .section-title {
  font-size: 22px;
  font-weight: 500;
  color: var(--primary-color);
  margin: 0;
}
.cart-page .section-content {
  padding: 30px 40px 35px;
}
.cart-page .section-content.car-1 {
  padding: 10px 40px 10px;
}
.cart-page .section-content.car-2 {
  padding: 30px 30px 35px;
}
/* 購物清單 */
.cart-item {
  display: flex;
  align-items: center;
  gap: 0px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(137, 101, 70, 0.1);
  justify-content: space-between;
}
.item-box {
  display: flex;
  align-items: center;
}
.item-box2 {
  display: flex;
  align-items: center;
}
.item-box2 .item-btn {
  margin: 0 15px;
}
.item-box3 {
  display: inline-flex;
}
.cart-item:last-child {
  border-bottom: none;
}
.item-image {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  margin-right: 20px;
}
.item-info {
  flex: 1;
}
.item-name {
  font-weight: 500;
  color: var(--primary-color);
  font-size: 15px;
  margin-bottom: 8px;
  transition: color 0.3s ease;
  line-height: 1.4;
}
.item-specs {
  color: var(--text-color);
  font-size: 14px;
  margin-bottom: 8px;
  margin-top: 8px;
  width: 120px;
}
.item-price {
  color: var(--accent-color);
  font-weight: 700;
  font-family: var(--default-font2);
}
.cart-page .quantity-controls {
  display: flex;
  align-items: center;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  overflow: hidden;
}
.cart-page .quantity-btn {
  background: none;
  border: none;
  padding: 10px 14px;
  cursor: pointer;
  color: var(--primary-color);
  height: 40px;
}
.cart-page .quantity-input {
  border: none;
  text-align: center;
  width: 50px;
  font-weight: 600;
  background-color: #fff;
  height: 40px;
}
.cart-page .remove-btn {
  background: rgba(239, 68, 68, 0.1);
  border: none;
  color: #ef4444;
  cursor: pointer;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}
.item-total {
  color: var(--primary-color);
  font-weight: 700;
  font-size: 18px;
  min-width: 100px;
  text-align: right;
  font-family: var(--default-font2);
}
/* 優惠券 */
.coupon-section {
  padding: 20px 40px 40px;
  border-top: 1px solid rgba(137, 101, 70, 0.1);
}
.coupon-input-group {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}
.coupon-input {
  flex: 0 1 50%;
  padding: 15px 20px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  font-size: 16px;
  color: var(--text-color);
  transition: all 0.3s ease;
  background: white;
}
.coupon-input:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
.coupon-btn {
  color: white;
  border: none;
  padding: 10px 40px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 16px;
  height: 48px;
  margin-top: 3px;
  font-weight: 500 !important;
  letter-spacing: 2px;
}
/* 加購專區 */
.addon-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
}
.addon-item {
  border-radius: 20px;
  padding: 10px 15px 25px;
  text-align: center;
  display: flex;
  flex-direction: column;
}
.addon-image {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 8px;
  margin: 0 auto 15px;
}
.addon-name {
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 8px;
  flex-grow: 1;
  transition: color 0.3s ease;
  line-height: 1.4;
  font-size: 15px;
}
.addon-price {
  color: var(--accent-color);
  font-weight: 700;
  margin-bottom: 15px;
  font-family: var(--default-font2);
}
.add-addon-btn {
  color: white;
  border: none;
  padding: 10px 8px;
  border-radius: 999px;
  cursor: pointer;
  width: 100%;
  margin-top: 15px;
  font-size: 14px;
  font-weight: 500;
}
.addon-item .quantity-controls {
  justify-content: center;
}
.date-time-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
.cart-page .form-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}
.cart-page .form-label.required::after {
  content: ' *';
  color: #ef4444;
}
.cart-page .form-control {
  width: 100%;
  padding: 14px 18px;
  border-radius: 12px;
  border: 2px solid rgba(137, 101, 70, 0.2);
}
.cart-page .form-control:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
.info-notices {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 25px;
  margin-top: 15px;
  margin-bottom: 30px;
}
.notice-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 12px;
  color: var(--text-color);
  font-size: 15px;
  line-height: 1.7
}
.notice-item:last-child {
  margin-bottom: 0;
}
.notice-icon {
  color: var(--accent-color);
  margin-right: 12px;
  font-size: 16px;
  margin-top: 5px;
}
/* 佈局 */
.cart-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start;
}
/* 訂單摘要 */
.order-summary {
  background: white;
  border-radius: 20px;
  box-shadow: 0 32px 64px rgba(137, 101, 70, 0.12);
  position: sticky;
  top: 140px;
  overflow: hidden;
}
.order-summary::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));
}
.summary-content {
  padding: 30px;
}
.summary-content .item-image {
  margin-right: 10px;
}
.summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0px;
  padding: 10px 0;
  font-weight: 500;
}
.summary-row.total {
  border-top: 2px solid rgba(137, 101, 70, 0.1);
  padding-top: 20px;
  margin-top: 20px;
  font-weight: 500;
  font-size: 20px;
  color: var(--primary-color);
}
.discount {
  color: #ef4444;
}
.shipping-note {
  font-size: 12px;
  color: var(--accent-color);
  font-weight: normal;
  display: block;
  text-align: right;
  margin-top: 5px;
}
.checkout-btn {
  width: 100%;
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white;
  border: none;
  padding: 18px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 15px;
  margin-top: 25px;
}
.continue-shopping {
  width: 100%;
  background: white;
  color: var(--primary-color);
  border: 2px solid var(--primary-color);
  padding: 16px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  display: block;
  text-align: center;
  text-decoration: none;
  margin-bottom: 10px;
}
/* Custom arrow for select dropdowns */
.select-arrow {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem; /* Make space for arrow */
  margin-top: 8px;
  width: 130px;
  border: 2px solid rgba(137, 101, 70, 0.2);
}
.select-arrow2 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem; /* Make space for arrow */
  margin-top: 8px;
  width: 100%;
  border: 2px solid rgba(137, 101, 70, 0.2);
}
.select-arrow2:focus {
  outline: none;
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
/* Style for product links to remove default underline/color */
.product-link {
  text-decoration: none;
  color: inherit;
  display: block; /* 使連結區塊化以獲得更好的點擊範圍 */
}
.product-link:hover .item-name, .product-link:hover .addon-name {
  color: var(--accent-color); /* Add a hover effect */
}
#subtotal, #discount, #total {
  font-family: var(--default-font2);
  font-weight: 700 !important;
}
.summary-row > div > span:first-child {
  font-family: var(--default-font2);
}
.summary-row > div {
  text-align: right;
  font-weight: 700 !important;
}
/* 結帳頁面樣式*/
.delivery-info-display {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 16px;
  padding: 25px;
  margin-bottom: 25px;
  border: 2px solid rgba(137, 101, 70, 0.1);
}
.delivery-info-title {
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.delivery-info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.delivery-info-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.delivery-info-label {
  font-size: 13px;
  color: #6b7280;
  font-weight: 600;
}
.delivery-info-value {
  font-size: 15px;
  color: var(--primary-color);
  font-weight: 600;
}
.pickup-store {
  background: linear-gradient(135deg, var(--accent-color), var(--primary-color));
  color: white;
  padding: 8px 16px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
}
/* 付款方式樣式 */
.payment-methods, .invoice-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 30px;
}
.invoice-options {
  grid-template-columns: 1fr 1fr 1fr;
}
.payment-option, .invoice-option {
  position: relative;
}
.payment-option input[type="radio"], .invoice-option input[type="radio"] {
  display: none;
}
.payment-label, .invoice-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 25px 20px;
  border: 2px solid #e5e7eb;
  border-radius: 16px;
  cursor: pointer;
  min-height: 100px;
  text-align: center;
  transition: all 0.3s ease;
}
.payment-option input[type="radio"]:checked + .payment-label, .invoice-option input[type="radio"]:checked + .invoice-label {
  border-color: var(--primary-color);
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white;
}
.payment-name, .invoice-name {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 8px;
}
.payment-desc, .invoice-desc {
  font-size: 13px;
  color: var(--text-color);
}
.payment-option input[type="radio"]:checked + .payment-label .payment-name, .payment-option input[type="radio"]:checked + .payment-label .payment-desc, .invoice-option input[type="radio"]:checked + .invoice-label .invoice-name, .invoice-option input[type="radio"]:checked + .invoice-label .invoice-desc {
  color: white;
}
/* 複選框樣式 */
.checkbox-group {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px;
  border: 2px solid rgba(137, 101, 70, 0.1);
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.checkbox-group:hover {
  border-color: var(--accent-color);
  background: rgba(137, 101, 70, 0.02);
}
.checkbox-group input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.checkbox-label {
  font-weight: 600;
  color: var(--primary-color);
  cursor: pointer;
}
/* 聲明區域 */
.terms-section {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 30px;
  margin-top: 25px;
  border: 2px solid rgba(137, 101, 70, 0.1);
}
.terms-content {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text-color);
  margin-bottom: 20px;
}
.terms-links {
  display: flex;
  gap: 20px;
  margin-bottom: 25px;
  flex-wrap: wrap;
}
.terms-link {
  color: var(--primary-color);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease;
}
.terms-link:hover {
  border-bottom-color: var(--primary-color);
}
.warning-text {
  background: linear-gradient(135deg, #fef3cd, #fff3cd);
  border: 1px solid #ffeaa7;
  border-radius: 12px;
  padding: 15px;
  margin-bottom: 20px;
  font-size: 13px;
  color: #856404;
  line-height: 1.5;
}
.warning-text i {
  color: #f39c12;
  margin-right: 8px;
}
/* 條件顯示 */
.conditional-section {
  margin-top: 25px;
  display: none;
}
.conditional-section.show {
  display: block;
}
/* 底部區塊 */
.bottom-section {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  margin-top: 40px;
  align-items: start;
}
.bottom-section2 {
  display: grid;
  grid-template-columns: 1fr;
  width: 75%;
  margin: 0 auto;
}
/* 商品列表 */
.order-items {
  margin-bottom: 30px;
}
.order-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(137, 101, 70, 0.2);
}
.order-item:first-child {
  padding-top: 0;
}
.order-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.item-details {
  flex: 1;
  display: inline-flex;
  justify-content: space-between;
}
.summary-content .item-details {
  display: block;
}
.item-quantity {
  color: var(--text-color);
  font-size: 12px;
}
/* 【新增】彈跳式提示框樣式 */
.custom-popup {
  position: fixed;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  padding: 15px 25px;
  border-radius: 12px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  display: flex;
  align-items: center;
  gap: 15px;
  font-weight: 400 !important;
  transition: top 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
  max-width: 90%;
  text-align: center;
  background: rgba(0, 0, 0, 0.8);
  color: #FFF;
  line-height: 1.5;
}
.custom-popup.show {
  top: 30px;
}
.custom-popup-icon {
  font-size: 1.2rem;
}
.popup-success {
  background: rgba(0, 0, 0, 0.8);
  color: #fbf8f1;
}
.popup-error {
  background: rgba(0, 0, 0, 0.8);
  color: #fbf8f1;
}
.form-check {
  display: flex;
  align-items: center;
  padding-left: 0;
}
.form-check-input {
  /* 隱藏原始的勾選框 */
  appearance: none;
  -webkit-appearance: none;
  /* 建立新的外觀 */
  position: relative;
  width: 18px;
  height: 18px;
  border: 1.5px solid #b3a598;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0 10px 0 0;
  flex-shrink: 0;
}
.form-check-input:focus {
  outline: none;
  box-shadow: none;
}
/* 當勾選時的樣式 */
.form-check-input:checked {
  background-color: #896546; /* 使用者指定的顏色 */
  border-color: #896546;
}
/* 產生勾勾圖案 */
.form-check-input:checked::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}
.form-check-label {
  cursor: pointer;
  color: var(--primary-color);
  font-weight: 500;
}
.form-check-label a {
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* 付款方式與發票資訊樣式 */
.cart-page .selection-group {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 10px;
}
.cart-page .selection-option {
  position: relative;
  flex-grow: 1;
}
.cart-page .selection-option input[type="radio"] {
  display: none;
}
.cart-page .selection-label {
  display: flex;
  align-items: center;
  padding: 15px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
  font-weight: 500;
  font-size: 16px;
  color: var(--text-color);
}
.cart-page .selection-label:hover {
  border-color: #d1d5db;
  background-color: #f9fafb;
}
.cart-page .selection-label::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #d1d5db;
  border-radius: 50%;
  margin-right: 12px;
  transition: all 0.3s ease;
  flex-shrink: 0;
}
.cart-page .selection-label::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 26px;
  transform: translateY(-50%) scale(0);
  width: 10px;
  height: 10px;
  background-color: var(--primary-color);
  border-radius: 50%;
  transition: all 0.3s ease;
}
.cart-page .selection-option input[type="radio"]:checked + .selection-label {
  border-color: var(--accent-color);
  background-color: rgba(228, 204, 180, .2);
  color: var(--primary-color);
  border: 1px solid var(--accent-color);
  box-shadow: 0 0 0 1px var(--accent-color);
}
.cart-page .selection-option input[type="radio"]:checked + .selection-label::before {
  border-color: var(--primary-color);
}
.cart-page .selection-option input[type="radio"]:checked + .selection-label::after {
  transform: translateY(-50%) scale(1);
}
.cart-page .checkbox-group {
  border: 2px solid rgba(137, 101, 70, 0.1);
  border-radius: 12px;
  transition: all 0.3s ease;
  padding: 8px 10px;
}
.cart-page .checkbox-group:hover {
  border-color: var(--accent-color);
  background: rgba(137, 101, 70, 0.02);
}
.cart-page .checkbox-label {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px 20px;
  font-weight: 500;
  color: var(--primary-color);
  cursor: pointer;
  margin-bottom: 0;
}
.cart-page .checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-right: 12px;
}
/* 隱私權政策同意勾選樣式 */
.privacy-agreement-section {
  margin-left: 28px;
}
.privacy-agreement-section .form-check {
  padding-left: 0;
  display: flex;
  align-items: center;
}
.privacy-agreement-section .form-check-input {
  width: 18px;
  height: 18px;
  margin-top: 0;
  margin-right: 10px;
}
.privacy-agreement-section .form-check-label {
  color: var(--text-color);
  font-size: 15px;
  font-weight: 400;
}
.privacy-agreement-section .form-check-label a {
  color: var(--primary-color);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.text-ch {
  font-family: var(--default-font2) !important;
}
/* 付款成功頁面樣式 */
.success-icon {
  width: 120px;
  height: 120px;
  margin: 0 auto 30px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.success-circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: linear-gradient(-45deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: successPulse 2s ease-in-out infinite;
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.3);
}
.success-circle::before {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 3px solid var(--accent-secondary-color);
  animation: ripple 2s ease-in-out infinite;
}
.success-checkmark {
  color: white;
  font-size: 48px;
  animation: checkmarkBounce 0.6s ease-in-out 0.3s both;
}
@keyframes successPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes ripple {
  0% {
    transform: scale(0.8);
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes checkmarkBounce {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
/* 主要內容區域 */
.success-content {
  text-align: center;
  margin-bottom: 50px;
}
.success-title {
  font-size: 36px;
  font-weight: 500;
  color: var(--primary-color);
  margin-bottom: 15px;
  margin-top: 35px;
  font-family: var(--default-font2);
  animation: fadeInUp 0.8s ease-out 0.5s both;
}
.success-subtitle {
  font-size: 18px;
  color: var(--text-color);
  margin-bottom: 18px;
  line-height: 1.8;
  animation: fadeInUp 0.8s ease-out 0.7s both;
}
.order-number {
  font-size: 24px;
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 50px;
  animation: fadeInUp 0.8s ease-out 0.9s both;
  line-height: 1.5;
}
/* 訂單詳情卡片 */
.order-details {
  background: white;
  border-radius: 20px;
  box-shadow: 0 32px 64px rgba(137, 101, 70, 0.12);
  overflow: hidden;
  position: relative;
  animation: slideInUp 1s ease-out 1.1s both;
  max-width: 700px;
  margin: 0 auto 40px;
}
.order-details::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--secondary-color));
}
.order-header {
  padding: 30px 40px 25px;
  border-bottom: 1px solid rgba(137, 101, 70, 0.2);
}
.order-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary-color);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.order-content {
  padding: 40px;
}
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 訂單資訊網格 */
.order-info-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 30px;
}
.info-section {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 20px 30px;
  border: 1px solid rgba(137, 101, 70, 0.1);
}
.info-title {
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 15px;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.info-item {
  display: flex;
  margin-bottom: 12px;
  font-size: 14px;
}
.info-item:last-child {
  margin-bottom: 0;
}
.info-item span:first-child {
  min-width: 80px;
}
.info-label {
  color: var(--text-color);
  font-weight: 500;
}
.info-value {
  font-weight: 500;
}
/* 購買商品列表 */
.purchased-items {
  margin-bottom: 30px;
}
.item-list {
  background: #f8f9fa;
  border-radius: 16px;
  padding: 25px;
  border: 1px solid rgba(137, 101, 70, 0.2);
}
.purchased-item {
  display: grid;
  align-items: center;
  gap: 0px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(137, 101, 70, 0.1);
  width: 100%;
}
.item-details-box {
  display: inline-flex;
  align-items: center;
}
.purchased-item:first-child {
  padding-top: 0;
}
.purchased-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.purchased-items .item-image {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  margin-right: 15px;
}
.purchased-items .item-details {
  flex: 1;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.purchased-items .item-name {
  font-weight: 500;
  color: var(--primary-color);
  font-size: 16px;
  margin-bottom: 6px;
  display: block;
}
.purchased-items .item-specs {
  color: var(--text-color);
  font-size: 14px;
  width: 100%;
  margin-bottom: 4px;
}
.purchased-items .item-quantity-price {
  font-size: 14px;
  text-align: right;
}
.purchased-items .item-quantity {
  color: var(--text-color);
  margin-bottom: 4px;
}
.purchased-items .item-price {
  font-weight: 700;
  color: var(--primary-color);
}
/* 費用總計 */
.order-details .order-summary {
  background: linear-gradient(-45deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
  color: white;
  border-radius: 16px;
  padding: 20px 30px;
  margin-bottom: 30px;
}
.order-details .order-summary::before {
  display: none;
}
.order-details .summary-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  font-weight: 600;
}
.order-details .summary-row:last-child {
  margin-bottom: 0;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  font-size: 18px;
  font-weight: 700;
}
.order-details .summary-row:last-child span:first-child {
  font-weight: 500;
}
/* 動作按鈕 */
.action-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  animation: fadeInUp 1s ease-out 1.3s both;
  max-width: 400px;
  margin: 10px auto 20px
}
.action-btn {
  padding: 18px 30px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.primary-btn {
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white;
}
.primary-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(137, 101, 70, 0.4);
  color: white;
}
.secondary-btn {
  background: white;
  color: var(--primary-color);
  border: 1.5px solid var(--primary-color);
}
.secondary-btn:hover {
  background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 15px 35px rgba(137, 101, 70, 0.3);
  border-color: transparent;
}
/* 註冊頁面樣式 */
.form-row {
  display: flex;
  gap: 15px;
}
.form-row .form-group {
  flex: 1;
}
.form-checkbox {
  display: flex;
  align-items: flex-start;
  margin: 5px 0 25px;
  font-size: 15px;
  color: var(--text-color);
}
.form-checkbox input {
  margin-right: 10px;
  margin-top: 3px;
  width: auto;
  transform: scale(1.1);
  accent-color: var(--accent-color);
}
.form-checkbox a {
  color: var(--primary-color);
  text-decoration: underline;
  transition: all 0.3s ease;
  text-underline-offset: 3px;
}
.form-checkbox a:hover {
  color: var(--primary-color);
}
.register-btn {
  width: 100%;
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
  color: white;
  border: none;
  padding: 16px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 10px;
}
.register-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.3);
}
.register-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.login-link {
  text-align: center;
  color: var(--text-color);
}
.login-link a {
  color: var(--accent-color);
  transition: all 0.3s ease;
  font-weight: 500;
}
.login-link a:hover {
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.modal-content {
  font-size: 15px;
  line-height: 1.6;
}
.modal-content p {
  font-size: 15px;
  line-height: 1.6;
}
.modal-content h1, .modal-content h2, .modal-content h3, .modal-content h4, .modal-content h5, .modal-content h6 {
  margin-bottom: 6px;
}
.modal-content .modal-header h1 {
  margin-bottom: 0;
}
.modal-content .modal-body {
  padding: 30px 35px;
}
/* 重置密碼頁面樣式 */
.forgot-password-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 60px 0 80px;
  position: relative;
  overflow: hidden;
  background-image: url(../images/bg-about.jpg);
  background-size: cover;
}
.forgot-password-page::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="1" fill="%23896546" opacity="0.05"/></svg>') repeat;
  animation: float 30s linear infinite;
  z-index: 1;
}
.forgot-password-container {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 40px auto;
}
.forgot-password-card {
  border-radius: 0;
  overflow: hidden;
  min-height: 500px;
}
.forgot-password-image {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 40px;
  text-align: center;
  border-radius: 999px 999px 0 0;
}
.forgot-password-form-container {
  padding: 80px 50px 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.submit-btn {
  width: 100%;
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%);
  color: white;
  border: none;
  padding: 16px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 30px;
}
.submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.3);
}
.submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.back-to-login {
  text-align: center;
  color: var(--text-color);
}
.back-to-login a {
  color: var(--accent-color);
  transition: all 0.3s ease;
  font-weight: 500;
}
.back-to-login a:hover {
  color: var(--primary-color);
  transition: all 0.3s ease;
}
.step-indicator-f {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
.step-f {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--dark-divider-color);
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  margin: 0 10px;
  transition: all 0.3s ease;
}
.step-f.active {
  background: var(--accent-color);
  color: white;
}
.step-f.completed {
  background: var(--primary-color);
  color: white;
}
.step-f-line {
  width: 40px;
  height: 2px;
  background: var(--dark-divider-color);
  transition: all 0.3s ease;
}
.step-f-line.completed {
  background: var(--accent-color);
}
/* --- 追蹤清單專用樣式 --- */
.wishlist-controls {
  background-color: rgba(251, 248, 241, 0.5);
  border: 1px solid var(--divider-color);
  border-radius: 15px;
  padding: 0px 5px;
  margin-bottom: 10px;
}
.wishlist-count .count-text {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color);
}
.wishlist-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.wishlist-actions .form-select {
  width: auto;
  min-width: 150px;
  padding: 8px 15px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 8px;
  background-color: white;
}
/* 商品收藏列表 - 一行排版 */
.wishlist-products {
  margin-bottom: 40px;
}
.wishlist-item {
  background-color: white;
  border: 1px solid var(--divider-color);
  border-radius: 15px;
  padding: 20px;
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: 150px 1fr 200px;
  gap: 20px;
  align-items: start;
  transition: all 0.3s ease-in-out;
  position: relative;
  box-shadow: 0 4px 15px rgba(137, 101, 70, 0.08);
}
.wishlist-item:hover {
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.15);
  transform: translateY(-2px);
}
.wishlist-item .product-image {
  position: relative;
}
.wishlist-item .product-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}
.wishlist-item .product-badges {
  position: absolute;
  top: 8px;
  left: 8px;
}
.badge-new, .badge-sale {
  display: inline-block;
  width: 50px;
  height: 50px;
  padding: 0;
  border-radius: 999px;
  text-align: center;
  line-height: 50px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: white;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  animation: badgePulse 2s infinite ease-in-out;
  background-color: rgba(0, 0, 0, .8);
}
.badge-new {
  background-color: rgba(0, 0, 0, .8);
}
.badge-sale {
  background-color: rgba(0, 0, 0, .8);
}
.wishlist-item .product-info {
  flex: 1;
  padding-left: 10px;
  padding-top: 4px;
}
.wishlist-item .product-category {
  font-size: 14px;
  color: var(--accent-color);
  font-weight: 500;
  margin-bottom: 5px;
}
.wishlist-item .product-title {
  font-size: 20px;
  color: var(--primary-color);
  margin-bottom: 10px;
  font-weight: 600;
}
.wishlist-item .product-description {
  color: var(--light-text);
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 15px;
  padding: 0;
  border: none;
}
.wishlist-item .product-price {
  margin-bottom: 15px;
}
.wishlist-item .current-price {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent-color);
}
.wishlist-item .original-price {
  font-size: 16px;
  color: var(--light-text);
  text-decoration: line-through;
  margin-right: 10px;
}
.wishlist-item .product-options {
  margin-bottom: 20px;
}
.wishlist-item .quantity-selector {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wishlist-item .quantity-selector label {
  font-size: 14px;
  color: var(--dark-text);
  margin-bottom: 0;
  font-weight: 500;
}
.wishlist-item .quantity-select {
  width: 80px;
  font-size: 14px;
  padding: 5px 8px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
}
.wishlist-item .quantity-select:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px rgba(201, 165, 129, 0.1);
}
.wishlist-item .product-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 180px;
}
.wishlist-item .wishlist-date {
  position: absolute;
  bottom: 15px;
  right: 20px;
}
.wishlist-item .wishlist-date small {
  color: var(--light-text);
  font-size: 12px;
}
.wishlist-item .btn-outline {
  background-color: transparent;
  border: 1px solid var(--accent-color);
  color: var(--accent-color);
  padding: 10px 20px;
  font-size: 14px;
  border-radius: 999px;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
}
.wishlist-item .btn-outline:hover {
  background-color: var(--accent-color);
  color: white;
}
.wishlist-item .btn-sm {
  padding: 12px 15px;
  font-size: 14px;
  font-family: var(--default-font);
  font-weight: 600;
}
.wishlist-actions .btn-highlighted {
  background-color: transparent;
  border: 1px solid var(--accent-color);
  color: var(--accent-color);
  padding: 8px 20px;
  border-radius: 999px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  margin-bottom: 10px;
  font-size: 14px;
  font-family: var(--default-font);
}
.wishlist-actions .btn-highlighted:hover {
  background-color: var(--accent-color);
  color: white;
}
/* 空狀態 */
.empty-wishlist {
  background: white;
  border-radius: 15px;
  padding: 60px 20px;
  text-align: center;
  box-shadow: 0 4px 15px rgba(137, 101, 70, 0.08);
}
.empty-state i {
  font-size: 80px;
  color: var(--accent-color);
  margin-bottom: 20px;
  opacity: 0.5;
}
.empty-state h4 {
  color: var(--primary-color);
  margin-bottom: 15px;
  font-size: 24px;
}
.empty-state p {
  color: var(--light-text);
  margin-bottom: 30px;
  font-size: 16px;
}
/* 載入動畫 */
.wishlist-item.removing {
  opacity: 0.5;
  transform: scale(0.95);
  transition: all 0.3s ease-in-out;
}
/* 新增聯絡按鈕 */
.contact-actions {
  margin-bottom: 30px;
}
.contact-actions .btn-default {
  font-family: var(--default-font);
}
.contact-actions .btn-default:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(137, 101, 70, 0.2);
  color: white;
}
/* 聯絡記錄樣式 */
.contact-records {
  margin-bottom: 40px;
}
.section-title-alt {
  font-size: 20px;
  font-weight: 600;
  color: var(--primary-color);
  padding-bottom: 10px;
  position: relative;
}
.contact-record-item {
  background-color: white;
  border: 1px solid var(--divider-color);
  border-radius: 15px;
  margin-bottom: 20px;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 15px rgba(137, 101, 70, 0.08);
}
.contact-record-item:hover {
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.15);
}
.record-header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s;
}
.record-header:hover {
  background-color: rgba(251, 248, 241, 0.5);
}
.record-info h5 {
  color: var(--primary-color);
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 600;
}
.record-meta {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
}
.record-type {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  color: white;
}
.type-product {
  background-color: #17a2b8;
}
.type-order {
  background-color: #ffc107;
  color: var(--primary-color) !important;
}
.type-payment {
  background-color: #28a745;
}
.type-delivery {
  background-color: #fd7e14;
}
.type-return {
  background-color: #dc3545;
}
.type-account {
  background-color: #6f42c1;
}
.type-other {
  background-color: #6c757d;
}
.record-date {
  color: var(--text-color);
  font-size: 14px;
}
.record-status {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}
.status-replied {
  background-color: #d4edda;
  color: #155724;
}
.status-processing {
  background-color: #fff3cd;
  color: #856404;
}
.status-closed {
  background-color: #e2e3e5;
  color: #383d41;
}
.order-ref {
  color: var(--accent-color);
  font-size: 14px;
  font-weight: 600;
}
.record-toggle {
  background: none;
  border: none;
  color: var(--accent-color);
  font-size: 18px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.record-toggle.active {
  transform: rotate(180deg);
}
/* 訊息對話 */
.record-content {
  padding: 20px;
  background-color: #f8f5f2;
}
.message-thread {
  max-height: 400px;
  overflow-y: auto;
}
.message {
  display: flex;
  margin-bottom: 20px;
  align-items: flex-start;
}
.message:last-child {
  margin-bottom: 0;
}
.customer-message {
  flex-direction: row;
}
.staff-message {
  flex-direction: row-reverse;
}
.message-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}
.customer-message .message-avatar {
  background-color: var(--accent-color);
  color: white;
  margin-right: 15px;
}
.staff-message .message-avatar {
  background-color: var(--accent-color);
  color: white;
  margin-left: 15px;
}
.message-content {
  flex: 1;
  max-width: 80%;
}
.customer-message .message-content {
  background-color: white;
  border: 1px solid var(--divider-color);
  border-radius: 15px 15px 15px 5px;
  padding: 15px;
}
.staff-message .message-content {
  background-color: var(--accent-color);
  color: white;
  border-radius: 15px 15px 5px 15px;
  padding: 15px;
}
.message-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.message-header strong {
  font-size: 14px;
}
.message-time {
  font-size: 12px;
  opacity: 0.8;
}
.customer-message .message-time {
  color: var(--text-color);
}
.staff-message .message-time {
  color: white;
}
.message-text {
  line-height: 1.5;
  font-size: 14px;
}
.customer-message .message-text {
  color: var(--primary-color);
}
.staff-message .message-text {
  color: white;
}
/* 新增聯絡表單樣式 */
.new-contact-form {
  margin-bottom: 40px;
  animation: slideDown 0.3s ease-in-out;
}
/* 動畫效果 */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.form-container {
  background-color: rgba(251, 248, 241, 0.5);
  border: 1px solid var(--divider-color);
  border-radius: 15px;
  padding: 0px;
}
.form-container h4 {
  color: var(--primary-color);
  margin-bottom: 25px;
  text-align: center;
}
.form-actions {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 20px;
}
/* 訂單篩選區 */
.order-filters {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  align-items: flex-end;
}
.filter-group {
  flex: 1;
  min-width: 200px;
}
.filter-group label {
  font-weight: 600;
  margin-bottom: 8px;
  font-size: 14px;
}
.filter-group input, .filter-group select {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid rgba(137, 101, 70, 0.2);
  border-radius: 12px;
  background-color: #fcfcfc;
  transition: all 0.3s;
}
.filter-group input:focus, .filter-group select:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 4px rgba(201, 165, 129, 0.15);
  background-color: white;
  outline: none;
}
/* 訂單卡片 */
.order-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.order-card {
  background: white;
  border: 1px solid rgba(137, 101, 70, 0.15);
  border-radius: 16px;
  padding: 25px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(137, 101, 70, 0.08);
}
.order-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(137, 101, 70, 0.15);
}
.order-header2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(137, 101, 70, 0.2);
  padding-bottom: 10px;
  margin-bottom: 15px;
}
.order-number2 {
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-color);
}
.order-status {
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}
.status-pending {
  background-color: #fff3cd;
  color: #856404;
}
.status-processing {
  background-color: #fff3cd;
  color: #856404;
}
.status-shipped {
  background-color: #d4edda;
  color: #155724;
}
.status-delivered {
  background-color: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}
.status-cancelled {
  background-color: #f8d7da;
  color: #721c24;
}
.status-cancel {
  background-color: #e8e8e8;
  color: #373737;
}
.status-return {
  background-color: #ddf0ff;
  color: #30373d;
}
.status-refund {
  background-color: #e8deec;
  color: #353137;
}
.order-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 15px;
  margin-bottom: 0px;
}
.order-card .info-label {
  font-size: 14px;
  color: var(--text-color);
  margin-bottom: 5px;
  margin-right: 10px;
}
.order-card .info-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-color);
}
.order-card .order-items2 {
  margin-bottom: 15px;
}
.order-card .order-items2 h6 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  margin-bottom: 15px;
}
.order-card .item-list2 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.order-product-item {
  display: flex;
  align-items: center;
  background-color: #f8f5f2;
  padding: 10px;
  border-radius: 10px;
}
.order-product-item .product-image {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  object-fit: cover;
  margin-right: 15px;
  flex-shrink: 0;
}
.order-product-item .product-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.order-product-item .product-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--primary-color);
}
.order-product-item .product-unit-price {
  font-size: 13px;
  color: var(--accent-color);
  margin-top: 4px;
  font-family: var(--default-font2);
  font-weight: 700;
}
.order-product-item .product-quantity {
  font-size: 13px;
  color: var(--text-color);
  margin-top: 4px;
}
.order-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.order-card .btn-sm {
  padding: 8px 16px;
  font-size: 12px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}
.order-card .btn-primary {
  background: var(--accent-color);
  color: white;
  border-radius: 999px;
}
.order-card .btn-primary:hover {
  background: var(--primary-color);
}
.order-card .btn-outline {
  background: transparent;
  border: 1px solid var(--accent-color);
  color: var(--accent-color);
  border-radius: 999px;
}
.order-card .btn-outline:hover {
  background: var(--accent-color);
  color: white;
}
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--text-color);
}
.empty-state i {
  font-size: 60px;
  color: var(--accent-color);
  margin-bottom: 20px;
}
.empty-state h4 {
  color: var(--primary-color);
  margin-bottom: 10px;
}
/*訂單詳情*/
.order-detail-card {
  background: white;
  border: 1px solid rgba(137, 101, 70, 0.15);
  border-radius: 16px;
  padding: 50px 40px 55px;
  box-shadow: 0 4px 15px rgba(137, 101, 70, 0.08);
}
.detail-header {
  padding-bottom: 20px;
}
.detail-header .order-number2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--primary-color);
}
.detail-header .order-date {
  font-size: 14px;
  color: var(--text-color);
  display: flex;
  align-items: center;
  line-height: 1.8;
}
.detail-header .order-date a {
  font-weight: 600;
  color: var(--primary-color);
}
.detail-section {
  margin-bottom: 30px;
}
.detail-section-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-color);
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(137, 101, 70, 0.2);
}
.product-list-detailed .product-item {
  display: flex;
  align-items: center;
  padding: 0 0 15px;
  margin-bottom: 15px;
}
.product-list-detailed .product-item:not(:last-child) {
  border-bottom: 1px solid rgba(137, 101, 70, 0.1);
}
.product-list-detailed .product-image {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  object-fit: cover;
  margin-right: 20px;
}
.product-list-detailed .product-info {
  flex-grow: 1;
  padding-left: 0;
}
.product-list-detailed .product-name {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 5px;
  color: var(--primary-color);
}
.product-list-detailed .product-price, .product-list-detailed .product-quantity {
  font-size: 14px;
  color: var(--text-color);
  margin-bottom: 5px;
}
.product-list-detailed .product-subtotal {
  font-size: 16px;
  font-weight: 600;
  width: 100px;
  text-align: right;
}
.price-summary {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.price-summary li {
  display: flex;
  justify-content: space-between;
  padding: 0 0 15px;
  font-size: 15px;
}
.price-summary li.grand-total {
  font-size: 18px;
  font-weight: bold;
  color: var(--accent-color);
  border-top: 1px solid rgba(137, 101, 70, 0.1);
  margin-top: 0px;
  padding-top: 12px;
}
.price-summary li.grand-total .en {
  font-family: var(--default-font2);
  font-weight: 700;
}
.info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.info-grid .info-item3 {
  font-size: 15px;
  margin-bottom: 15px;
}
.info-grid .info-label {
  font-weight: 400;
  margin-right: 0px;
}
.detail-actions {
  text-align: center;
  margin-top: 20px;
}
.bg-ad {
  background-size: 100% auto !important;
}
.title-search h3 {
  font-size: 18px !important;
  line-height: 1.5;
  margin-bottom: 40px;
}
.title-search br {
  display: none;
}
.filter-tabs {
  text-align: center;
}
.fulfillment-options {
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(137, 101, 70, 0.4);
  display: flex;
  gap: 20px;
}
.fulfillment-label {
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fulfillment-label input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid var(--accent-color);
  border-radius: 50%;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
}
.fulfillment-label input[type="radio"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--accent-color);
}
.fulfillment-label input[type="radio"]:checked::before {
  transform: scale(1);
}
.flatpickr-wrapper {
  position: relative;
  display: block !important; /* 確保 input 和 icon 在同一行 */
}
.flatpickr-wrapper input.form-control {
  padding-right: 35px; /* 預留 icon 的空間 */
}
.calendar-icon {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  color: var(--text-color-secondary);
  cursor: pointer;
  z-index: 1; /* 確保 icon 在 input 之上 */
}
/* Accordion Custom Styles */
.accordion-button {
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--heading-color);
    background-color: #fdfaf6;
    border: none;
    box-shadow: none;
    line-height: 1.6;
}
.accordion-button:not(.collapsed) {
    color:#fff;
    background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
}
.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23896546'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:focus {
    box-shadow: 0 0 0 0.25rem rgba(137, 101, 70, 0.2);
}
.accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23896546'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-item {
    background-color: #fdfaf6;
    border: 1px solid rgba(137,101,70,0.2);
    margin-bottom: 10px;
    border-radius: 0.5rem;
    overflow: hidden;
}
.accordion-body {
    background-color: #fff;
    padding: 20px 25px;
    font-size: 1rem;
    line-height: 1.8;
    color: var(--text-color);
}
.accordion-body p {
    margin-bottom: 1rem;
}
.accordion-body p:last-child {
    margin-bottom: 0;
}
.section-content.qa-section {
    padding: 20px 40px;
}
.cart-page .section-content.policy-content {
    padding: 50px 50px 60px;
    font-size: 1rem;
    line-height: 1.9;
    color: var(--text-color);
}
.policy-content h6 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--primary-color);
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid rgba(137,101,70,0.2);
    line-height: 1.5;
}
.policy-content p {
    margin-bottom: 1.2rem;
}
.qa-section .accordion-header {
    line-height: 1.4;
}
.accordion-item:not(:first-of-type) {
    border: 1px solid rgba(137, 101, 70, 0.2);
}
.fulfillment-summary p {
    margin-bottom: 0;
}

/* 自定義彈跳視窗樣式 */
.on-load-modal .modal-dialog {
    max-width: 900px; /* 視窗最大寬度 */
    margin: 1.75rem auto;
}
.on-load-modal .modal-content {
    background: transparent;
    border: none;
}
.on-load-modal .modal-header {
    border-bottom: none;
    padding: 0;
    justify-content: flex-end;
}
.on-load-modal .modal-header .close {
    padding: 1rem;
    margin: -1rem -1rem -.6rem auto;
    background-color: transparent;
    border-radius: 50%;
    opacity: 1;
    font-size: 1.6rem;
    line-height: 1;
    color: #fff;
    z-index: 1000;
    border:none; 
}
.on-load-modal .modal-body {
    padding: 0;
}
.on-load-modal .modal-body img {
    max-width: 100%;
    height: auto;
    display: block;
}
.store-box + .store-box {
    margin-top: 70px;
    padding-top: 50px;
    border-top: 1px solid rgba(137, 101, 70, 0.2);
}

.renew-section {
  padding: 0 1rem 1.5rem 1rem;
  display: flex;
  justify-content: center;
}

.cart-items h3 + p {
    margin-top: 10px;
}