/* Zen Cart-specific glue on top of Decora styles.css */
body.tpl_decora { background: var(--bg, #f7f7f7); }
#navBreadCrumb { padding: 12px 0; font-size: 13px; color: var(--text-2); }
.card-product .img-hover { opacity: 0; }
.card-product:hover .img-hover { opacity: 1; }
.decora-msg { margin: 12px 0; }
.centerColumn { min-height: 40vh; }
body.tpl_decora .tf-header { position: relative; z-index: 50; }
body.tpl_decora .header-bottom_wrap,
body.tpl_decora .nav-category-wrap { overflow: visible; position: relative; z-index: 30; }
body.tpl_decora .box-nav-category { z-index: 40; }
body.tpl_decora .btn-nav-drop { border: 0; width: 100%; font: inherit; text-align: left; }
body.tpl_decora .tf-sticky-btn-atc { left: 0; right: 0; }
body.tpl_decora button.nav-icon-item { border: 0; background: transparent; color: inherit; padding: 0; }
body.tpl_decora .form_search-product select.decora-search-cat {
  width: auto;
  max-width: 180px;
  border: 0;
  background: transparent;
  padding: 0 8px 0 0;
  font-weight: 500;
}
body.tpl_decora .form_search-product .ipt:focus { outline: none; box-shadow: none; }
body.tpl_decora .decora-listing-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  margin: 8px 0 24px;
}
body.tpl_decora .decora-listing-tools form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: auto;
  margin: 0;
  z-index: 1;
}
body.tpl_decora .decora-listing-tools br { display: none; }
body.tpl_decora .decora-listing-tools select {
  width: auto;
  min-width: 160px;
  max-width: 240px;
}
body.tpl_decora .decora-listing-tools .inputLabel { margin: 0; white-space: nowrap; }
body.tpl_decora .leftBoxContainer,
body.tpl_decora .rightBoxContainer { width: auto !important; margin-bottom: 24px; }
body.tpl_decora #shoppingCart .modal-dialog {
  margin: 0 0 0 auto;
  height: 100%;
  max-width: 480px;
}
body.tpl_decora #shoppingCart .modal-content { height: 100%; border: 0; border-radius: 0; }
img { max-width: 100%; height: auto; }

/* Built-in attributes. Radio labels are the core markup (input + label.attribsRadioButton). */
.tf-product-variant #productAttributes { display: grid; gap: 16px; margin-bottom: 8px; }
.tf-product-variant #productAttributes .attribBlock { margin: 0; }
.tf-product-variant #productAttributes .optionName,
.tf-product-variant #productAttributes .variant-picker-label {
  float: none;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 500;
}
.tf-product-variant #productAttributes .back { float: none; }
.tf-product-variant #productAttributes .variant-picker-values {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.tf-product-variant #productAttributes .variant-picker-values br { display: none; }
.tf-product-variant #productAttributes input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.tf-product-variant #productAttributes label.attribsRadioButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 44px;
  padding: 0 16px;
  margin: 0;
  border: 1px solid var(--line, #e9e9e9);
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  line-height: 1.2;
}
.tf-product-variant #productAttributes input[type="radio"]:checked + label.attribsRadioButton {
  background: var(--text, #101010);
  color: var(--white, #fff);
  border-color: var(--text, #101010);
}
.tf-product-variant #productAttributes input[type="radio"]:focus-visible + label.attribsRadioButton {
  outline: 2px solid var(--text, #101010);
  outline-offset: 2px;
}
.tf-product-variant #productAttributes input[type="radio"]:disabled + label.attribsRadioButton {
  opacity: 0.35;
  pointer-events: none;
}
.tf-product-variant #productAttributes label.attribsCheckbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.tf-product-variant #productAttributes select,
.tf-product-variant #productAttributes input[type="text"],
.tf-product-variant #productAttributes textarea {
  width: 100%;
  max-width: 360px;
  border: 1px solid var(--line, #e9e9e9);
  border-radius: 4px;
  padding: 8px 12px;
  background: #fff;
}
.tf-product-variant #productAttributes select { height: 44px; }

.decora-account .inputLabel { display: block; font-weight: 500; margin: 10px 0 4px; }
.decora-account .radioButtonLabel,
.decora-account .checkboxLabel { margin-right: 12px; }
.decora-account input[type="text"],
.decora-account input[type="email"],
.decora-account input[type="password"],
.decora-account input[type="tel"],
.decora-account input[type="number"],
.decora-account select,
.decora-account textarea {
  width: 100%;
  max-width: 480px;
  border: 1px solid var(--line, #e9e9e9);
  border-radius: 4px;
  padding: 8px 12px;
  background: #fff;
  margin-bottom: 8px;
}
.decora-account select { height: 44px; }
.decora-account fieldset { border: 1px solid var(--line, #e9e9e9); border-radius: 8px; padding: 16px; margin: 0 0 16px; }
.decora-account address { font-style: normal; }
.decora-account .table-my_recent { width: 100%; }
.decora-account .table-my_recent th,
.decora-account .table-my_recent td { padding: 12px 8px; border-bottom: 1px solid var(--line, #e9e9e9); text-align: left; vertical-align: top; }
.my-account-nav .link-account { display: flex; }

.decora-side { background: transparent; }
.decora-side .widget-facet { margin-bottom: 4px; overflow: visible; background: transparent; }
.decora-side .facet-title { cursor: pointer; margin-bottom: 12px; }
.decora-cat-list { list-style: none; margin: 0; padding: 0; max-height: none; overflow: visible; }
.decora-cat-list .list-item { display: block; margin: 0; }
.decora-cat-list .list-item:not(:last-child) { border-bottom: 1px solid var(--line, #e9e9e9); }
.decora-cat-list .label {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
}
.decora-cat-list .list-item:hover,
.decora-sidebox .sideBoxContent li:hover { background: #f4f1ec; }
.decora-cat-list .label:hover .cate-text,
.decora-sidebox .sideBoxContent li:hover a { color: var(--primary, #8C734B); }
.decora-sidebox .sideBoxContent li a { color: inherit; text-decoration: none; }
.decora-cat-list .category-subs .label { padding-left: 16px; }
.decora-cat-list .category-products .label { padding-left: 28px; }
.decora-cat-list .current .cate-text { font-weight: 700; }
.decora-sidebox .sideBoxContent ul,
.decora-sidebox .sideBoxContent li { list-style: none; margin: 0; padding: 0; }
.decora-sidebox .sideBoxContent > a,
.decora-sidebox .sideBoxContent li a {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line, #e9e9e9);
  font-weight: 500;
}
.decora-side-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line, #e9e9e9);
}
.decora-side-product__img img { width: 72px; height: 72px; object-fit: cover; border-radius: 8px; }
.decora-side-product__meta { display: grid; gap: 4px; }
.decora-side-product .name { font-weight: 500; line-height: 1.3; }
.decora-side-product .price { color: var(--primary, #e43131); font-weight: 600; }
.payment_check { display: flex; align-items: center; gap: 12px; width: 100%; }
.list-order-product .img-prd { width: 80px; max-width: 80px; flex: 0 0 80px; }
.list-order-product .img-prd img { width: 80px; height: 80px; aspect-ratio: 1; object-fit: cover; }
.decora-order-totals > div { display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line, #e9e9e9); }
.decora-order-totals .lineTitle { order: 1; float: none !important; width: auto; }
.decora-order-totals .totalBox { order: 2; float: none !important; width: auto; margin-left: auto; }
.decora-order-totals br { display: none; }
#checkoutShipping .tf-check-rounded,
#checkoutPayment .tf-check-rounded {
  width: 22px;
  height: 22px;
  min-width: 22px;
  flex: 0 0 22px;
  padding: 0;
  box-sizing: border-box;
}
#checkoutConfirmDefault h6 { margin-top: 20px; margin-bottom: 8px; }
#createAccountForm input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#createAccountForm select,
#createAccountForm textarea,
#searchDefault input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#searchDefault select,
#checkoutShipping input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#checkoutShipping select,
#checkoutShipping textarea,
#checkoutPayment input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
#checkoutPayment select,
#checkoutPayment textarea {
  max-width: none;
  width: 100%;
}
#createAccountForm .password-wrapper input { padding-right: 44px; }
#indexHomeBody { overflow-x: visible; }
header.tf-header { top: 0; z-index: 1000; background: #fff; }
.decora-home { overflow-x: clip; }
.decora-home .tf-swiper,
.decora-home .box-swiper-product { max-width: 100%; }
.price-new { color: var(--primary, #e43131); font-weight: 600; }
.price-old { color: var(--text-3, #696e73); text-decoration: line-through; margin-left: 8px; font-size: 13px; }
.productPriceDiscount { display: none; }
.decora-product-centerbox { margin-top: 36px; }
.decora-product-centerbox .centerBoxHeading { font-size: 28px; margin: 0 0 20px; }
.decora-product-centerbox .card-product { width: auto !important; float: none !important; }
.decora-product-centerbox .card-product > a:first-of-type { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 1; background: var(--bg, #f6f6f6); }
.decora-product-centerbox .card-product > a:first-of-type img { width: 100%; height: 100%; object-fit: cover; }
.decora-product-centerbox .card-product br { display: none; }
.decora-product-centerbox .card-product > a:nth-of-type(2) { display: block; margin-top: 12px; font-weight: 500; }
.decora-collection .category-v03 img { width: 100%; height: 100%; object-fit: cover; }
header.tf-header { z-index: 1000; }
.tf-product-media-wrap.sticky-top,
.product-thumbs-slider,
.product-thumbs-slider .swiper { z-index: 1; }
.box-nav-category { z-index: 20; }
.tf-product-variant #productAttributes .variant-check .variant-picker-values {
  display: block;
}
.tf-product-variant #productAttributes .variant-check .variant-picker-values br { display: block; }
.tf-product-variant #productAttributes .variant-check label.attribsCheckbox {
  display: inline;
  margin: 0 0 8px;
}
#decoraQuickView img,
.canvas-quickview .wrap-quick .image img { width: 100%; height: auto !important; aspect-ratio: auto !important; object-fit: contain; border-radius: 12px; }
.decora-call-price { display: inline-flex; justify-content: center; align-items: center; }
.tf-product-info-list .decora-call-price { min-width: 220px; min-height: 52px; }
.card-product .decora-call-price { width: 100%; }
.decora-side-product .decora-call-price { width: auto; min-width: 0; min-height: 0; height: auto; padding: 2px 8px; font-size: 11px; line-height: 1.3; }
.decora-topbar-row { display: flex; align-items: center; gap: 20px; min-height: 42px; }
.decora-top-phone { font-weight: 600; white-space: nowrap; flex: 0 0 auto; }
.decora-topbar-tools, .decora-topbar-social { align-items: center; gap: 16px; flex: 0 0 auto; }
.decora-topbar-promo { flex: 1 1 auto; min-width: 0; text-align: center; }
.decora-topbar-promo .swiper { width: 100%; }
.decora-side-product__img { flex: 0 0 72px; }
.decora-side-product__meta { flex: 1; min-width: 0; }
.centerColumn .breadcrumbs { display: none; }
.form-log .password-wrapper .password-field { width: 100%; padding-right: 44px; }
.decora-arrival-stage { overflow: hidden; }
.decora-arrival-stage .swiper { overflow: hidden; }
.decora-arrival-images { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 12px; width: 100%; }
.decora-arrival-images a { display: block; min-width: 0; }
.decora-arrival-images img, .decora-arrival-img { width: 100%; max-width: 100%; max-height: 300px; height: auto; object-fit: contain; display: block; margin: 0 auto; }
.tpl_decora .centerColumn,
.tpl_decora .centerColumn p,
.tpl_decora .centerColumn .cl-text-2,
.tpl_decora .decora-home .cl-text-2,
.tpl_decora .decora-home .s-desc,
.tpl_decora .decora-home .desc,
.tpl_decora .tes_text,
.tpl_decora .faq-content,
.tpl_decora .accordion-content { color: #111; }
.decora-arrival-stage .tf-sw-nav { color: #111; }
#decoraQuickView .btn-close { position: absolute; right: 16px; top: 16px; }
.messageStackSuccess, .messageStackError, .messageStackWarning, .messageStackCaution { display: none !important; }
.decora-msg-modal { position: fixed; inset: 0; z-index: 200000; background: rgba(16,16,16,.45); display: flex; align-items: center; justify-content: center; padding: 24px; cursor: pointer; }
.decora-msg-card { background: #fff; color: #101010; border-radius: 16px; max-width: 480px; width: 100%; padding: 28px 24px; box-shadow: 0 16px 50px rgba(16,16,16,.18); border-top: 4px solid #1a7f37; }
.decora-msg-modal.error .decora-msg-card { border-top-color: #DC4646; }
.decora-msg-card p { margin: 0 0 8px; font-size: 16px; line-height: 1.5; }
.decora-msg-card p:last-child { margin-bottom: 0; }
.canvas-quickview .decora-qv-body { display: contents; }
header.tf-header { position: sticky; top: 0; z-index: 1000; background: #fff; }
.decora-cases .list-btn-tab-accordion { margin-top: 0; }
.decora-cases .decora-case-more { display: inline-block; margin-top: 12px; font-weight: 600; }
.decora-arrival-stage { position: relative; }
.decora-arrival-stage .tf-sw-nav { position: absolute; top: 42%; z-index: 3; width: 44px; height: 44px; font-size: 22px; background: #fff; border-radius: 50%; box-shadow: 0 4px 16px rgba(16,16,16,.12); cursor: pointer; }
.decora-arrival-stage .nav-prev-swiper { left: 12px; }
.decora-arrival-stage .nav-next-swiper { right: 12px; }
.decora-reviews .testimonial-v01.style-4 { align-items: stretch; }
.decora-reviews .testimonial-v01.style-4 .tes-image { width: 234px; max-width: 234px; flex: 0 0 234px; align-self: stretch; }
.decora-reviews .testimonial-v01.style-4 .tes-image img { width: 100%; height: 100%; max-height: none; object-fit: contain; object-position: center; background: #f6f4f1; }
@media (max-width: 1199px) {
  .decora-reviews .testimonial-v01.style-4 .tes-image { width: 100%; max-width: 100%; flex: none; }
  .decora-reviews .testimonial-v01.style-4 .tes-image img { height: auto; max-height: 360px; }
}
.decora-star-off { opacity: .25; }
.decora-review-avatar {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  background: #f3f1ee;
  color: #111;
  font-weight: 600;
}
.decora-showroom { border-radius: 20px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; padding: 64px 24px; min-height: 420px; }
.decora-showroom .bn-content { position: relative; background: rgba(20, 16, 12, .62); padding: 32px; border-radius: 12px; max-width: 680px; width: 100%; }
.decora-showroom .title, .decora-showroom .mini-title, .decora-showroom .desc { margin-bottom: 12px; }
.decora-case-hero { width: 100%; max-height: 520px; object-fit: cover; border-radius: 12px; margin-bottom: 24px; }
.decora-case-copy { max-width: 760px; line-height: 1.7; }
.decora-faq-cat { margin-top: 28px; }
@media (max-width: 1199.98px) {
  .decora-side { display: none !important; }
  .decora-main .centerColumn { flex: 0 0 100%; max-width: 100%; width: 100%; }
  body.decora-has-toolbar { padding-bottom: 74px; }
}
.collect-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.banner-collect-v01 .collect-image { min-height: 420px; overflow: hidden; }
.decora-service { display: flex; flex-direction: column; gap: 10px; height: 100%; }
.decora-service-media { display: block; overflow: hidden; border-radius: 8px; }
.decora-service-media img { width: 100%; height: 240px; object-fit: cover; display: block; }
.decora-service p { margin: 0; }
.decora-story { display: grid; gap: 28px; }
.decora-story-lead { max-width: 720px; }
.decora-story-lead .eyebrow { letter-spacing: .14em; text-transform: uppercase; font-size: 12px; margin-bottom: 8px; }
.decora-story-lead h2 { font-size: clamp(28px, 4vw, 44px); line-height: 1.15; margin-bottom: 12px; }
.decora-story-lead p { font-size: 18px; line-height: 1.6; }
.decora-story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.decora-story-grid article, .decora-story-note { background: #f6f4f1; border-radius: 12px; padding: 22px 22px 8px; }
.decora-story-grid h3, .decora-story-note h3 { font-size: 18px; margin-bottom: 8px; }
.decora-story-grid p, .decora-story-note p { line-height: 1.65; }
.decora-story-note { max-width: 760px; }
@media (max-width: 991px) { .decora-story-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .decora-story-grid { grid-template-columns: 1fr; } }
.banner-image-text.style-10 { background-color: #1c1c1c; background-size: cover; background-position: center; min-height: 280px; }
.tf-footer.bg-dark .footer-bottom,
.tf-footer.bg-dark .footer-bottom a {
  color: #fff;
}
.tf-footer.bg-dark .footer-bottom a:hover {
  color: var(--primary);
}
.product-thumbs-slider .tf-product-media-main .swiper-slide {
  height: auto !important;
}
.product-thumbs-slider .tf-product-media-main .item,
.product-thumbs-slider .tf-product-media-main .item img,
.product-thumbs-slider .tf-product-media-main .tf-image-zoom {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
.product-thumbs-slider .tf-product-media-thumbs {
  height: auto;
  max-height: none;
}
.product-thumbs-slider .tf-product-media-thumbs .swiper-slide .item img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.tf-social-icon-2 a svg { display: block; }
.price-wrap { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.tf-product-variant #productAttributes select,
.decora-listing-tools select {
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 L6 6.5 L11 1.5' fill='none' stroke='%23101010' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}
.decora-cart-table { overflow: visible; }
.decora-cart-table .tf-table-page-cart th,
.decora-cart-table .tf-table-page-cart td { min-width: 0; }
.decora-cart-table .cart_quantity .tf-btn.small { height: 36px; padding-left: 14px; padding-right: 14px; }
.tf-page-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; }
