/* 會員中心 / 結帳 / 購物車共用主題（僅作用於 main.ka-page 內，不影響頁首頁尾） */
.ka-page {
  --ka-wine: #3f0d11;
  --ka-gold: #c2a04a;
  --ka-cream: #f7f1e6;
  --ka-paper: #fffdf8;
  --ka-ink: #2b1d18;
  --ka-muted: #7d6c5e;
  --bs-border-color: rgba(63, 13, 17, .12);
  --bs-border-color-translucent: rgba(63, 13, 17, .1);
  min-height: 60vh;
  background: linear-gradient(180deg, #fff 0, var(--ka-cream) 110px, var(--ka-cream) calc(100% - 110px), #fff 100%);
}

.ka-page h1,
.ka-page h2,
.ka-page h3,
.ka-page h4 {
  color: var(--ka-ink);
}
.ka-page h1.h2,
.ka-page h2.h2,
.ka-page h1.h3,
.ka-page h2.h3,
.ka-page h3.h4,
.ka-page h4.h5 {
  color: var(--ka-wine);
  letter-spacing: .02em;
}

.ka-page .ka-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto clamp(22px, 3.4vw, 40px);
}
.ka-page .ka-kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--ka-gold);
  letter-spacing: .26em;
  font-size: .72rem;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: .8rem;
}
.ka-page .ka-kicker::before,
.ka-page .ka-kicker::after {
  content: '';
  width: 34px;
  height: 1px;
  background: var(--ka-gold);
}
.ka-page .ka-head h1 {
  color: var(--ka-ink);
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  margin: 0 0 .5rem;
}
.ka-page .ka-head p {
  color: var(--ka-muted);
  margin: 0;
  font-size: .9rem;
}

.ka-page .card {
  background-color: var(--ka-paper) !important;
  border: 1px solid rgba(63, 13, 17, .08);
  border-radius: 20px;
  box-shadow: 0 26px 60px -50px rgba(63, 13, 17, .5);
}
.ka-page .card.bg-body-tertiary {
  background: #fdf8ee !important;
  border-color: rgba(194, 160, 74, .25) !important;
}
.ka-page .card-header {
  background: transparent;
  border-bottom: 1px solid rgba(63, 13, 17, .07);
  color: var(--ka-wine);
  padding: .95rem 1.15rem;
}
.ka-page .card-header h5,
.ka-page .card-header h6 {
  color: var(--ka-wine);
  margin-bottom: 0;
}
.ka-page .card-body {
  padding: 1.1rem 1.2rem;
}

.ka-page .table {
  --bs-table-bg: transparent;
  color: #5a4a3f;
}
.ka-page .table > :not(caption) > * > * {
  border-color: rgba(63, 13, 17, .07);
}
.ka-page .table thead th {
  color: var(--ka-wine);
  font-weight: 600;
  font-size: .8rem;
  letter-spacing: .03em;
}
.ka-page .table-warning {
  --bs-table-bg: rgba(194, 160, 74, .12);
}

.ka-page .form-label {
  font-size: .82rem;
  font-weight: 600;
  color: #5a4a3f;
  letter-spacing: .02em;
}
.ka-page .form-control,
.ka-page .form-select {
  border-radius: 12px;
  border-color: rgba(63, 13, 17, .18);
  padding: .6rem .85rem;
  background: #fffefb;
}
.ka-page .form-control:focus,
.ka-page .form-select:focus {
  border-color: var(--ka-gold);
  box-shadow: 0 0 0 .2rem rgba(194, 160, 74, .18);
}
.ka-page .form-text {
  color: var(--ka-muted);
}
.ka-page .form-check-input:checked {
  background-color: var(--ka-wine);
  border-color: var(--ka-wine);
}
.ka-page .form-check-input:focus {
  border-color: var(--ka-gold);
  box-shadow: 0 0 0 .2rem rgba(194, 160, 74, .18);
}
.ka-page .input-group .btn {
  border-color: rgba(63, 13, 17, .18);
}

.ka-page .btn-primary {
  background: var(--ka-wine);
  border-color: var(--ka-wine);
}
.ka-page .btn-primary:hover,
.ka-page .btn-primary:focus {
  background: #5a1419;
  border-color: #5a1419;
}
.ka-page .btn-warning {
  background: var(--ka-gold);
  border-color: var(--ka-gold);
  color: #2b1d18;
  font-weight: 600;
}
.ka-page .btn-warning:hover,
.ka-page .btn-warning:focus {
  background: #b08f3c;
  border-color: #b08f3c;
  color: #fff;
}
.ka-page .btn-dark {
  background: var(--ka-wine);
  border-color: var(--ka-wine);
}
.ka-page .btn-dark:hover {
  background: #5a1419;
  border-color: #5a1419;
}
.ka-page .btn-outline-primary {
  color: var(--ka-wine);
  border-color: rgba(63, 13, 17, .35);
}
.ka-page .btn-outline-primary:hover {
  background: var(--ka-wine);
  border-color: var(--ka-wine);
  color: #fff;
}
.ka-page .btn-outline-secondary {
  color: #5a4a3f;
  border-color: rgba(63, 13, 17, .18);
}
.ka-page .btn-outline-secondary:hover {
  background: rgba(194, 160, 74, .16);
  border-color: var(--ka-gold);
  color: var(--ka-wine);
}
.ka-page .btn-check:checked + .btn-outline-secondary {
  background: var(--ka-wine);
  border-color: var(--ka-wine);
  color: #fff;
}
.ka-page .btn-link {
  color: var(--ka-wine);
}

.ka-page .alert {
  border-radius: 12px;
  border: 1px solid transparent;
  font-size: .86rem;
}
.ka-page .alert-info {
  background: rgba(63, 13, 17, .05);
  border-color: rgba(63, 13, 17, .08);
  color: #5a4a3f;
}
.ka-page .alert-danger {
  background: rgba(185, 28, 34, .07);
  border-color: rgba(185, 28, 34, .18);
  color: #8a1c22;
}
.ka-page .alert-warning {
  background: rgba(194, 160, 74, .14);
  border-color: rgba(194, 160, 74, .35);
  color: #7a5f1a;
}
.ka-page .alert-success {
  background: rgba(45, 106, 79, .1);
  border-color: rgba(45, 106, 79, .2);
  color: #2d6a4f;
}
.ka-page .alert-secondary {
  background: rgba(63, 13, 17, .05);
  border-color: rgba(63, 13, 17, .08);
  color: #5a4a3f;
}

.ka-page .badge.text-bg-warning {
  background: var(--ka-gold) !important;
  color: #2b1d18 !important;
}
.ka-page .badge.text-bg-light {
  background: #fdf8ee !important;
  border: 1px solid rgba(194, 160, 74, .45) !important;
  color: #7a5f1a !important;
}
.ka-page .text-info {
  color: #8a6d1f !important;
}
.ka-page .text-primary {
  color: var(--ka-wine) !important;
}
.ka-page .nav-pills .nav-link {
  border-radius: 999px;
  color: #5a4a3f;
  font-weight: 600;
}
.ka-page .nav-pills .nav-link.active {
  background: var(--ka-wine);
  color: #fff;
}
.ka-page a:not(.btn):not(.nav-link):not(.page-link):not(.member-nav__link) {
  color: var(--ka-wine);
}
.ka-page .list-group-item {
  border-color: rgba(63, 13, 17, .08);
  background: transparent;
}
.ka-page hr {
  border-color: rgba(63, 13, 17, .1);
  opacity: 1;
}

/* 會員左側選單 */
.ka-page .member-nav-card {
  background: var(--ka-paper);
  border: 1px solid rgba(63, 13, 17, .08);
  border-radius: 20px;
  box-shadow: 0 26px 60px -46px rgba(63, 13, 17, .5);
  padding: .5rem;
}
.ka-page .member-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ka-page .member-nav__link {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .8rem;
  border-radius: 12px;
  color: #5a4a3f;
  font-size: .86rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}
.ka-page .member-nav__link:hover {
  background: rgba(194, 160, 74, .14);
  color: var(--ka-wine);
  text-decoration: none;
}
.ka-page .member-nav__link.active {
  background: var(--ka-wine);
  color: #fff;
}
.ka-page .member-nav__sep {
  border-top: 1px dashed rgba(194, 160, 74, .45);
  margin: .45rem .35rem;
}
.ka-page .member-nav__logout {
  color: var(--ka-muted);
  font-weight: 500;
}

/* 右上角購物車側欄 */
.offcanvas.cart-offcanvas {
  background-color: #fffdf8 !important;
  border-left: 1px solid rgba(194, 160, 74, .35);
  box-shadow: -20px 0 60px -40px rgba(63, 13, 17, .5);
}
.cart-offcanvas .offcanvas-header {
  border-bottom: 1px solid rgba(63, 13, 17, .08);
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}
.cart-offcanvas .offcanvas-title {
  color: #3f0d11;
  font-weight: 700;
  letter-spacing: .06em;
}
.cart-offcanvas .offcanvas-title::after {
  content: '';
  display: block;
  width: 34px;
  height: 2px;
  background: #c2a04a;
  margin-top: .5rem;
}
.cart-offcanvas .offcanvas-body {
  background: #fffdf8;
}
.cart-offcanvas .cart-row {
  border-bottom: 1px dashed rgba(194, 160, 74, .4) !important;
}
.cart-offcanvas .cart-row:last-of-type {
  border-bottom: 0 !important;
}
.cart-offcanvas .cart-thumb {
  background: #f2ebdd !important;
  border: 1px solid rgba(63, 13, 17, .06);
}
.cart-offcanvas .btn-outline-secondary {
  border-color: rgba(63, 13, 17, .18);
  color: #5a4a3f;
}
.cart-offcanvas .btn-outline-secondary:hover {
  background: rgba(194, 160, 74, .16);
  border-color: #c2a04a;
  color: #3f0d11;
}
.cart-offcanvas .btn-outline-primary {
  color: #3f0d11;
  border-color: rgba(63, 13, 17, .35);
}
.cart-offcanvas .btn-outline-primary:hover {
  background: #3f0d11;
  border-color: #3f0d11;
  color: #fff;
}
.cart-offcanvas .btn-warning {
  background: #c2a04a;
  border-color: #c2a04a;
  color: #2b1d18;
  font-weight: 700;
}
.cart-offcanvas .btn-warning:hover {
  background: #b08f3c;
  border-color: #b08f3c;
  color: #fff;
}
.cart-offcanvas .btn-dark {
  background: #3f0d11;
  border-color: #3f0d11;
}
.cart-offcanvas .btn-dark:hover {
  background: #5a1419;
  border-color: #5a1419;
}
.cart-offcanvas .btn-link.text-danger {
  color: #b02a33 !important;
}
.cart-offcanvas .text-info {
  color: #8a6d1f !important;
}
.cart-offcanvas .text-body-secondary {
  color: #7d6c5e !important;
}
.cart-offcanvas .text-body-tertiary {
  color: #b9a98f !important;
}
.cart-offcanvas .cart-summary {
  background: #fffdf8;
  border-top: 1px solid rgba(194, 160, 74, .35);
  margin-top: .5rem;
  padding-top: 1rem;
}
.cart-offcanvas .offcanvas-body.text-center svg {
  color: #c2a04a;
  opacity: .6;
}
.cart-offcanvas .offcanvas-body.text-center h6 {
  color: #3f0d11;
  font-weight: 700;
}
