:root {
  --cz-font-sans-serif: "Marcellus", Georgia, "Times New Roman", serif;
  --cz-font-heading: "Marcellus", Georgia, "Times New Roman", serif;
  --cz-body-font-family: var(--cz-font-sans-serif);
}

body {
  font-size: 1.125rem;
}

body,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
  font-family: var(--cz-font-sans-serif);
}

.product-descriptions a {
  text-decoration: none;
}

.overlay .overlay-content .cart {
  background-color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  height: 100vh;
  max-width: 510px;
}


.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-details .prod-name a {
  font-size: 1rem;
  color: #1d293f;
  text-decoration: none;
}

.overlay .overlay-content .cart .cart-wrapper .total-price-wrapper {
  margin-bottom: 10px;
  margin-top: 10px;
}

.cart-totals .total-price-wrapper span {
  color: #1D293F !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
}

.cart-totals .total-price-wrapper:last-child span {
  color: #ec1c2d !important;
  font-weight: 400 !important;
  font-size: 1.175rem !important;
}


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

.overlay {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  background-color: rgba(27, 28, 30, .5);
  overflow-x: hidden;
  transition: .5s;
}

.overlay .closebtn {
  text-decoration: none;
  position: absolute;
  top: 25px;
  right: 25px;
  font-size: 40px;
  line-height: 0;
  z-index: 9999;
  color: #58595b;
  font-weight: 400;
}

.overlay .overlay-content {
  position: relative;
}

.overlay .overlay-content .cart {
  background-color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  height: 100vh;
  max-width: 510px;
}


.overlay .overlay-content .cart .cart-wrapper {
  padding-top: 55px;
  padding-left: 15px;
  padding-right: 15px;
  transition: all .28s ease-in-out;
}

@media (min-width: 46.25em) {
  .overlay .overlay-content .cart .cart-wrapper {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.overlay .overlay-content .cart .cart-wrapper .cart-title {
  margin-bottom: 40px;
}

.overlay .overlay-content .cart .cart-wrapper .cart-title h2 {
  margin-bottom: 0;
  font-weight: 700;
}

.overlay .overlay-content .cart .cart-wrapper .list-group {
  overflow-y: auto;
  max-height: 400px;
  transition: all .28s ease-in-out;
}

.overlay .overlay-content .cart .cart-wrapper .total-price-wrapper {
  margin-bottom: 10px;
  margin-top: 10px;
}

.cart-totals .total-price-wrapper span {
  color: #1D293F !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
}

.cart-totals .total-price-wrapper span {
  color: #1D293F !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
}

.cart-totals .total-price-wrapper:last-child span {
  color: #B58019 !important;
  font-weight: 400 !important;
  font-size: 1.175rem !important;
}

.btn-bordered {
  font-weight: 500;
  padding: 10px 23px;
  font-size: 1rem;
  text-transform: uppercase;
  text-align: center;
  transition: all .28s ease-in-out;
  border: 1px solid #0e1630;
  border-radius: 4px;
}

.white {
  text-transform: uppercase;
  background-color: #fff;
  color: #0e1630;
}

.brand-primary {
  background-color: #B58019 !important;
  color: #fff;
}

.btn-bordered {
  font-weight: 500;
  padding: 10px 23px;
  font-size: 1rem;
  text-transform: uppercase;
  text-align: center;
  transition: all .28s ease-in-out;
  border: 1px solid #0e1630;
  border-radius: 4px;
}




.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item {
  padding-left: 0;
  padding-right: 0;
  border-color: rgba(27, 28, 30, .5);
  border-top-color: rgba(27, 28, 30, 0.5);
  border-bottom-color: rgba(27, 28, 30, 0.5);
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item:first-child {
  border-top: 1px solid rgba(27, 28, 30, .5);
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item:last-child {
  border-bottom: 1px solid rgba(27, 28, 30, .5);
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .remove-btn a {
  font-size: 32px;
  line-height: 0;
  color: #0e1630;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-image-wrapper {
  margin-right: 1rem;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-details {
  margin-right: 1rem;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-details .prod-name {
  font-size: 1rem;
  color: #1d293f;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-details .prod-name a {
  font-size: 1rem;
  color: #1d293f;
  text-decoration: none;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-details .prod-price {
  color: #B58019;
  font-weight: 700;
  font-size: 22px;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-qty-wrapper {
  margin-left: auto !important;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-qty-wrapper .input-qty .input-group {
  flex-wrap: nowrap;
}

.overlay .overlay-content .cart .cart-wrapper .list-group .list-group-item .prod-qty-wrapper .input-qty .input-group .quantity-field {
  text-align: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  color: #000;
  font-size: 1rem;
  -moz-appearance: textfield;
  transition: all .28s ease-in-out;
}

a#openCart {
  padding: 0px;
  position: relative;
}

.mainmenu-wrap ul li a {
  display: unset;
}

.mainmenu-wrap .d-sm-block {
  display: inline-block !important;
}

#error-not-found {
  padding-top: 50px;
  padding-bottom: 50px;
}

a {
  color: #111;
  text-decoration: none;
}

a:hover {
  color: #111;
}


a#openCart .red-circle {
  position: absolute;
  right: -10px;
  top: -4px;
  z-index: 1;
  background: #B58019;
  width: 16px;
  height: 16px;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 10px;
}

a#openCart .red-circle span {
  color: #fff;
  font-size: 10px;
  position: relative;
  top: -7px;
  left: 1px;
}

#checkout-cart {
  padding-bottom: 50px;
  padding-top: 50px;
}

.product-card {
  position: relative;
}

.product-thumbnail {
  position: relative;
}

.product-soldout {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  text-align: center;
  z-index: 10;
}

.product-soldout span {
  color: #666666;
  text-transform: uppercase;
  text-align: center;
  position: absolute;
  left: 0px;
  /* make the top edge of .inner appear in the vertical center of .outer */
  top: 50%;

  /* move .inner up by half of its height so that its middle is in the middle of .outer */
  transform: translateY(-50%);
  width: 100%;
  font-weight: 500;
  font-size: 20px;
}

.preview-slider-box .product-soldout span {
  font-size: 30px;
}

.bg-arbor {
  min-height: 200px;
}

.blog-area-2 {
  padding: 90px 0 0px;
  position: relative;
  z-index: 1;
  margin: 90px 0 0px;
}

.blog-area-2::after {
  background: #FFF;
  position: absolute;
  z-index: -1;
  height: 100%;
  width: 74%;
  content: '';
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.wood-wprapper .wood-desc {
  font-size: 12px;
}


.product-descriptions p.price {
  color: #212723;
  font-family: var(--cz-font-sans-serif);
  font-weight: 700;
}

.product-descriptions span {
  font-weight: 400;
  font-family: var(--cz-font-sans-serif);
}

.main-menu-container {
  padding: 20px 0px 20px;
}

/* Mini-cart quantity (offcanvas) — keep layout if count-input class is stripped */
#shoppingCart .count-input,
#shoppingCart .rounded-2:has(button .ci-minus) {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
}

#shoppingCart .count-input .form-control,
#shoppingCart .rounded-2:has(button .ci-minus) .form-control {
  width: 2.75rem;
  min-width: 2.75rem;
  text-align: center;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

#shoppingCart .count-input .btn-icon,
#shoppingCart .rounded-2:has(button .ci-minus) .btn-icon {
  flex-shrink: 0;
}

/* Notification System Styles — warm candle palette */
.notification-toast {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 9999 !important;
  min-width: 300px !important;
  max-width: 400px !important;
  box-shadow: 0 8px 24px rgba(92, 72, 48, 0.12) !important;
  border-radius: 12px !important;
  border: 1px solid transparent !important;
  padding: 15px 20px !important;
  margin: 0 !important;
  animation: slideInRight 0.3s ease-out !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

.notification-toast.alert-success {
  background: linear-gradient(145deg, #faf6ef 0%, #f3ebe0 55%, #efe4d4 100%) !important;
  border-color: #ddd0b8 !important;
  color: #5c4f3f !important;
}

.notification-toast.alert-danger {
  background: linear-gradient(145deg, #faf2ef 0%, #f5e6e1 55%, #efddd6 100%) !important;
  border-color: #e0c4bc !important;
  color: #6f4842 !important;
}

.notification-toast .btn-close {
  color: #5c4f3f !important;
  opacity: 0.55 !important;
  filter: none !important;
}

.notification-toast.alert-danger .btn-close {
  color: #6f4842 !important;
}

.notification-toast .btn-close:hover {
  opacity: 0.85 !important;
}

.notification-toast i {
  margin-right: 8px !important;
  font-size: 16px !important;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOutRight {
  from {
    transform: translateX(0);
    opacity: 1;
  }

  to {
    transform: translateX(100%);
    opacity: 0;
  }
}

/* Cart count badge styles */
.header-action-num {
  position: absolute;
  top: -8px;
  right: -8px;
  background: #dc3545;
  color: white;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  min-width: 20px;
}

/* Cart amount display */
.cart-amount {
  font-weight: 600;
  color: #333;
  margin-left: 5px;
}

/* Responsive notifications */
@media (max-width: 768px) {
  .notification-toast {
    top: 10px !important;
    right: 10px !important;
    left: 10px !important;
    min-width: auto !important;
    max-width: none !important;
  }
}

.header-logo img {
  max-height: 90px;
}

/* Triple banner (home) — 3× col-md-4 row; each card half text / half image */
.lumosart-triple-banner__card {
  overflow: hidden;
  height: 100%;
}

a.lumosart-triple-banner__card {
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

a.lumosart-triple-banner__card:hover,
a.lumosart-triple-banner__card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
}

.lumosart-triple-banner__body {
  min-height: 9rem;
}

.lumosart-triple-banner__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 9rem;
}

.lumosart-triple-banner__text {
  font-size: 0.875rem;
  line-height: 1.45;
}

.lumosart-triple-banner__media {
  max-width: 100%;
}

.lumosart-triple-banner__ratio {
  --cz-aspect-ratio: calc(648 / 636 * 100%);
}

.lumosart-triple-banner__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

@media (min-width: 768px) {
  .lumosart-triple-banner__body,
  .lumosart-triple-banner__content {
    min-height: 10rem;
  }
}

@media (min-width: 992px) {
  .lumosart-triple-banner__body,
  .lumosart-triple-banner__content {
    min-height: 11rem;
  }
}

.btn-dark{
background: #DCD5EC;
color: #212121;
border: #DCD5EC;

}

/* Product inquiry modal — above sticky product sidebar (z-index 1020) and cart overlay */
body.product-inquiry-modal-open .modal-backdrop,
body.modal-open .modal-backdrop.show {
  z-index: 10055 !important;
}

#contactUsModal.product-inquiry-modal {
  z-index: 10060 !important;
}

body.product-inquiry-modal-open .product-page .sticky-md-top,
body.product-inquiry-modal-open .product-contact-cta {
  z-index: 1 !important;
}

#contactUsModal .modal-content {
  box-shadow: 0 1rem 3rem rgba(19, 25, 32, 0.2);
}

#contactUsModal .modal-body .alert {
  margin-bottom: 0;
}