   /* =========================
   Theme variables (single copy)
========================= */
.nice_brown_button{
    background: linear-gradient(135deg, #6b4a36, #3e2618);
    border:none;
    color:#fff8f2;                 /* warm white */
    font-weight:600;
    padding:12px 16px;
    border-radius:10px;

    transition: all .25s ease;
    box-shadow: 0 4px 12px rgba(62,38,24,.25);
}

/* Hover */
.nice_brown_button:hover{
    background: linear-gradient(135deg, #7a5540, #4a2d1d);
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(62,38,24,.35);
    color:#ffffff;
}

/* Click */
.nice_brown_button:active{
    transform: translateY(0px);
    box-shadow: 0 3px 8px rgba(62,38,24,.2);
}


.estore-media.estore-media-frame{
  position: relative;
  width: 100%;
  height: 222px;           /* fallback for browsers / flex bugs */
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: inherit;
  background:#f6f7f8;      /* optional — prevents white flash before image loads */
}


/* IMAGE FIT — portrait + landscape solved */
.estore-media-frame > .estore-img-fit{
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;

  object-fit: cover;
  object-position: center -30px;   /* ✅ moved UP (try 10%–25%) */

  max-width:none;   /* defeats bootstrap img rules */
  display:block;
}


/* HOVER IMAGE SWAP */
.estore-media-frame > .is-hover{
  opacity:0;
  transition: opacity .25s ease;
}

.estore-card:hover .estore-media-frame > .is-hover{
  opacity:1;
}

.estore-card:hover .estore-media-frame > .is-main{
  opacity:0;
}










:root{
  --primary:#CD8F5C;
  --primary_hover:#bc753a;

  --brown:#3b2a1f;
  --brown2:#5a3a22;

  --text:#666666;
  --line:rgba(0,0,0,.12);
}

/* =========================
   Small existing tweaks
========================= */
.footer-handheld i{ font-size:20px; margin-bottom:5px; }

.woosw-content-item--name a{ color:#111; }
.woosw-content-item--name a:hover{ color:var(--primary_hover); }

.floor-colors-wrap{ margin-bottom:0; }
.floor-colors-label{
  font-size:14px;
  font-weight:700;
  color:#3a2a1a;
  margin-bottom:0;
}

/* =========================
   ESTORE wrapper
========================= */
.estore-bs-topcats{
  color: var(--brown);
}

/* =========================
   Grid layout
========================= */
.estore-bs-topcats .products{
  display:flex !important;
  flex-wrap:wrap;
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}

.estore-bs-topcats .products > li.product,
.estore-bs-topcats .products > li.estore-card{
  width: calc(25% - 12px) !important;
  margin:0 !important;
  float:none !important;
}

@media (max-width:1024px){
  .estore-bs-topcats .products > li.product,
  .estore-bs-topcats .products > li.estore-card{
    width: calc(50% - 8px) !important;
  }
}

@media (max-width:768px){
  .estore-bs-topcats .products > li.product,
  .estore-bs-topcats .products > li.estore-card{
    width:100% !important;
  }
}

/* =========================
   Card base
========================= */
.estore-bs-topcats .estore-card,
.estore-bs-topcats li.product{
  position: relative;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

/* =========================
   Media area
========================= */
.estore-bs-topcats .estore-media{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#fff;
}

.estore-bs-topcats .estore-media img,
.estore-bs-topcats img{
 
  height:120% !important;
  object-fit:cover !important;
  display:block;
}

/* =========================
   Remove theme overlays / circles
========================= */
.estore-bs-topcats .product-img-wrap,
.estore-bs-topcats .inner,
.estore-bs-topcats .product-transition,
.estore-bs-topcats .estore-card-media,
.estore-bs-topcats .product-image,
.estore-bs-topcats .product-image *{
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}

.estore-bs-topcats .product-img-wrap::before,
.estore-bs-topcats .product-img-wrap::after,
.estore-bs-topcats .inner::before,
.estore-bs-topcats .inner::after,
.estore-bs-topcats .product-image::before,
.estore-bs-topcats .product-image::after{
  content:none !important;
  display:none !important;
}

/* =========================
   Titles
========================= */
.estore-bs-topcats .estore-desc-title,
.estore-bs-topcats .woocommerce-loop-product__title{
  margin:10px 12px 6px;
  font-size:18px;
  font-weight:900;
  line-height:1.2;
  color:#1b120c;
}

/* =========================
   Hover swap images
========================= */
.estore-bs-topcats .estore-img{
  position:absolute;
  inset:0;
  object-fit:cover;
  transition:opacity .25s ease, transform .25s ease;
}

.estore-bs-topcats .estore-img.is-hover{ opacity:0; }

.estore-bs-topcats .estore-card:hover .estore-img.is-main{ opacity:0; }
.estore-bs-topcats .estore-card:hover .estore-img.is-hover{ opacity:1; }
.estore-bs-topcats .estore-card:hover .estore-img{ transform:scale(1.03); }

/* =========================
   Price & badges
========================= */
.estore-bs-topcats .estore-price-tag,
.estore-bs-topcats .estore-badge-sale{
  position:absolute;
  bottom:10px;
  z-index:3;
  font-weight:900;
  border-radius:5px;
  padding:6px 10px;
  font-size:21px;
}

.estore-bs-topcats .estore-price-tag{
  right:10px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.08);
  color:var(--brown);
}

.estore-bs-topcats .estore-badge-sale{
  right:10px;
  background:#b42318;
  color:#fff;
  font-size:13px;
}

/* =========================
   Swatches
========================= */
.estore-bs-topcats .estore-swatches,
.estore-bs-topcats .estore-color-row{
  display:flex;
  gap:6px;
  padding:0 12px 10px;
}

/* =========================
   Buttons
========================= */
.estore-bs-topcats .estore-card-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 12px 14px;
}

.estore-bs-topcats .estore-card-actions .button{
  width:100%;
  padding:12px 14px;
  font-weight:900;
  border-radius:10px;
  text-align:center;
}

.estore-bs-topcats .estore-view-product{
  background:#fff;
  color:#111;
  border:2px solid rgba(0,0,0,.15);
}

.estore-bs-topcats .estore-view-3d,
.estore-bs-topcats .estore-edit-3d{
  background:rgba(205,143,92,.25);
  color:#2a1a10;
  border:2px solid rgba(205,143,92,.55);
}

.estore-bs-topcats .estore-view-3d:hover,
.estore-bs-topcats .estore-edit-3d:hover{
  background:rgba(205,143,92,.35);
}

/* =========================
   PROMO CARD
========================= */
.estore-bs-topcats .estore-card.estore-promo-card{
  min-height:420px;
  padding:0 !important;
}

.estore-bs-topcats .estore-card.estore-promo-card .estore-media{
  position:absolute;
  inset:0;
  height:100%;
  aspect-ratio:auto;
}

.estore-bs-topcats .estore-card.estore-promo-card .estore-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.55) 0%,
    rgba(0,0,0,.20) 45%,
    rgba(0,0,0,0) 80%
  );
}

.estore-bs-topcats .estore-promo-overlay{
  position:absolute;
  left:14px;
  right:14px;
  bottom:70px;
  z-index:4;
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

.estore-bs-topcats .estore-promo-btn,
.estore-bs-topcats .estore-design-own-btn{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  z-index:5;
  padding:12px 14px;
  font-weight:900;
  border-radius:12px;
  text-align:center;
  background:rgba(59,42,31,.92);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
}

.estore-bs-topcats .estore-promo-btn:hover,
.estore-bs-topcats .estore-design-own-btn:hover{
  background:rgba(90,58,34,.95);
}



.estore-bs-topcats .estore-title-black{
  display:block;
  color:#111 !important;
  font-size:21px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  margin-top:10px;
}

/* 2) View product: darker brown + outline */
.estore-bs-topcats .estore-view-product-btn{
  background:#fff !important;
  color: var(--brown) !important;
  border:1px solid var(--brown) !important;
  font-weight:600;
  border-radius:10px;
  padding:12px 14px;
}
.estore-bs-topcats .estore-view-product-btn:hover{
  background: rgba(59,42,31,.08) !important;
}

/* 3) Both buttons fixed to bottom */
.estore-bs-topcats .estore-card .card-body{
  height:100%;
}
.estore-bs-topcats .estore-actions{
  margin-top:auto;            /* pushes actions to bottom */
}

/* Optional: make edit 3D match theme */
.estore-bs-topcats .estore-edit-3d-btn{
  background: rgba(205,143,92,0.25);
  color:#2a1a10;
  border:2px solid rgba(205,143,92,0.55);
  font-weight:900;
  border-radius:10px;
  padding:12px 14px;
}
.estore-bs-topcats .estore-edit-3d-btn:hover{
  background: rgba(205,143,92,0.35);
}



.estore-bs-topcats .estore-img2{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform .35s ease;
  transform: scale(1);
}

/* Zoom image when card OR image is hovered */
.estore-bs-topcats .estore-card:hover .estore-img2,
.estore-bs-topcats .estore-img2:hover{
  transform: scale(1.06); /* subtle, premium zoom */
}

.estore-bs-topcats .estore-bs-heading{
  text-align: center;
  font-size: 28px;
  font-weight: 900;
  letter-spacing: .2px;
  color: #1b120c;
  margin-bottom: 6px;
}

.estore-bs-topcats .estore-bs-subtitle{
  text-align: center;
  font-size: 14px;
  color: #666;
}


.estore-bs-topcats .estore-card{
  background:
    linear-gradient(
      to top,
      rgba(59,42,31,0.22) 0%,
      rgba(59,42,31,0.12) 22%,
      rgba(255,255,255,1) 45%
    );
}




/* Main menu links */
.site-navigation .menu > li > a,
.site-navigation .menu .sub-menu li > a {
  color: #5a3b1e; /* dark brown */
}

/* Hover state */
.site-navigation .menu > li > a:hover,
.site-navigation .menu .sub-menu li > a:hover {
  color: #7a4a25;
}

/* Active / current item */
.site-navigation .menu .current-menu-item > a,
.site-navigation .menu .current-menu-ancestor > a {
  color: #5a3b1e;
}




.estore-page-wrap{
  width: 95%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 24px;
  background: #fff;
  border-radius: 5px;

  box-shadow:
    0 0 0 3px rgba(59,42,31,0.10),
    0 3px 18px rgba(59,42,31,0.18);
}
/* Page background behind the container */
body{
  background:
    linear-gradient(
      to right,
      rgba(59,42,31,0.35) 0%,
      rgba(59,42,31,0.15) 8%,
      rgba(59,42,31,0.05) 15%,
      rgba(59,42,31,0.05) 85%,
      rgba(59,42,31,0.15) 92%,
      rgba(59,42,31,0.35) 100%
    );
}




.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading 
.elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}



/* Swatches container */
.estore-swatches-wrap{
  margin-top: 6px;
}

.estore-swatches-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.estore-swatches-label{
  font-size: 13px;
  font-weight: 800;
  color: #3b2a1f; /* brown */
  margin-right: 4px;
}

/* Each circle */
.estore-swatch{
  --swatch-color: #ccc;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-block;
  background: var(--swatch-color);

  border: 1px solid rgba(0,0,0,.18);
  box-shadow: 0 1px 4px rgba(0,0,0,.10);

  cursor: default;
  transition: transform .15s ease, box-shadow .15s ease;
}

/* Improve visibility for white/light colors */
.estore-swatch[style*="#ffffff"],
.estore-swatch[style*="#eeeeee"]{
  border-color: rgba(0,0,0,.25);
}

/* Hover/Focus */
.estore-swatch:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.14);
}

.estore-swatch:focus{
  outline: none;
}

.estore-swatch:focus-visible{
  outline: 2px solid rgba(205,143,92,.8); /* your primary */
  outline-offset: 2px;
}


.estore-mobile-toggler{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(59,42,31,.18);
  background: linear-gradient(to top, rgba(205,143,92,.22), rgba(255,255,255,.9));
  color:#3b2a1f;
  box-shadow: 0 10px 26px rgba(59,42,31,.15);
}
.estore-mobile-toggler:hover{
  border-color: rgba(59,42,31,.28);
  box-shadow: 0 14px 32px rgba(59,42,31,.18);
}

























/* Offcanvas shell */
.estore-offcanvas{
  width: 320px;
  background: #fff;
  border-right: 1px solid rgba(0,0,0,.08);
}

.estore-offcanvas .offcanvas-header{
  border-bottom: 1px solid rgba(0,0,0,.08);
  padding: 14px 16px;
}

.estore-offcanvas .offcanvas-title{
  font-weight: 900;
  color: #1b120c;
  letter-spacing: .2px;
}

/* Menu list reset + layout */
.estore-offcanvas .estore-mobile-menu,
.estore-offcanvas .estore-mobile-menu ul{
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

/* Each row */
.estore-offcanvas .estore-mobile-menu > li{
  margin: 2px 0;
}

/* Links look modern */
.estore-offcanvas .estore-mobile-link{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 10px 12px;
  border-radius: 12px;

  text-decoration: none;
  font-weight: 800;
  color: #2a1a10;
}

.estore-offcanvas .estore-mobile-link:hover{
  background: rgba(205,143,92,.18);
  color: #2a1a10;
}

/* Active state (optional) */
.estore-offcanvas .estore-mobile-link.is-active{
  background: rgba(205,143,92,.28);
  border: 1px solid rgba(205,143,92,.45);
}

/* Submenu wrapper */
.estore-offcanvas .estore-submenu{
  margin: 6px 0 10px;
  padding-left: 10px;
  border-left: 2px solid rgba(59,42,31,.12);
}

/* Submenu link */
.estore-offcanvas .estore-submenu a{
  display: block;
  padding: 8px 10px;
  border-radius: 10px;

  font-weight: 700;
  color: #3b2a1f;
  text-decoration: none;
}

.estore-offcanvas .estore-submenu a:hover{
  background: rgba(0,0,0,.04);
}

/* Chevron button (for items with children) */
.estore-offcanvas .estore-mobile-toggle{
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  color: #3b2a1f;
}

.estore-offcanvas .estore-mobile-toggle:hover{
  background: rgba(0,0,0,.04);
}

/* Nice separator */
.estore-offcanvas .estore-menu-divider{
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 10px 0;
}