.elementor > .elementor-element { width: calc(100vw - 40px); margin: 20px; padding-bottom: 20px; border-bottom: var( --e-global-color-primary ) solid 1px;  }
.elementor > .elementor-element > .e-child:first-child { padding: 0 20px 0 0;} 
.elementor > .elementor-element > .e-child:nth-child(2) { padding: 0 0 0 20px;} 

.elementor-button { background-color: transparent !important; border-radius: 50px !important; }

p { margin-top: 0;}


/*
BUTTON EFFECT
*/
.vn-btn a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 10px 13px 10px 25px;
  border-radius: 50px;
  overflow: hidden;
  outline: none;
  font-family: var( --e-global-typography-text-font-family ), Sans-serif !important;
}

/* Full background by default */
.vn-btn a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ffffff;
  z-index: 0;
  border: var( --e-global-color-primary ) solid 1px; ;

  /* default: full width */
  width: 100%;
  left: 0;

  border-radius: 50px;
  transition:
    width 0.35s cubic-bezier(.4,0,.2,1),
    left 0.35s cubic-bezier(.4,0,.2,1);
}

/* Bring content above bg */
.vn-btn a .label,
.vn-btn a .icon {
  position: relative;
  z-index: 1;
  transition: transform 0.35s cubic-bezier(.4,0,.2,1);
}

/* HOVER: background shrinks to icon only */
.vn-btn a:hover::before {
  width: 40px;
  left: calc(100% - 40px);
  background: var( --e-global-color-secondary );
}

/* Micro text/icon movement */
.vn-btn a:hover .label {
  transform: translateX(-4px);
}

.vn-btn a:hover .icon {
  transform: translateX(6px) rotate(20deg);
}

.vn-btn svg { fill: #262626; stroke: black;}

.vn-btn a .elementor-button-content-wrapper { z-index: 1;}



/*
PRODUCT HOVER EFFECT 
*/

/*
.hover-product-preview-container {
    display: flex;
    gap: 50px;
    align-items: flex-start;
    margin-top: 40px;
}

.product-list-left {
    width: 30%;
	border-right: #000 solid 1px;
}

.hover-product-item {
    padding: 12px 0;
    cursor: pointer;
    font-size: 18px;
    border-bottom: 1px solid #eee;
    transition: color 0.3s ease;
}

.hover-product-item:hover {
    color: #a8824f;
}

.product-preview-right {
    width: 70%;
    min-height: 300px;
}

.preview-inner img {
    display: block;
    margin-bottom: 15px;
    opacity: 0;
    transition: opacity .4s ease;
	height: 60vh !important;
	width: auto;
}

.preview-inner h2 {
    margin: 0;
}

.preview-inner .button {
    background: #a8824f;
    color: #fff;
    padding: 10px 20px;
    display: inline-block;
    margin-top: 15px;
}

.preview-inner.show img {
    opacity: 1;
}
*/


/*
.preview-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.preview-inner h2 {
    margin-bottom: 10px;
    font-size: 24px;
}

#preview-price {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
}

.preview-inner img {
    display: block;
    margin-bottom: 20px;
    opacity: 0;
    transition: opacity .4s ease;
    height: 60vh !important;
    width: auto;
}

.preview-actions {
    display: flex;
    gap: 15px;
    align-items: center;
}

#preview-qty {
    width: 60px;
    padding: 5px;
    font-size: 16px;
}

.preview-inner .button {
    background: #a8824f;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    transition: background 0.3s ease;
}

.preview-inner .button:hover {
    background: #8c6a3d;
}
*/

/*
.preview-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.preview-inner h2 {
    margin-bottom: 10px;
    font-size: 24px;
}

#preview-price {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
}

.preview-inner img {
    display: block;
    margin-bottom: 20px;
    opacity: 0;
    transition: opacity .4s ease;
    height: 60vh !important;
    width: auto;
}

.preview-actions {
    display: flex;
    gap: 15px;
    align-items: center;
}

#preview-qty {
    width: 60px;
    padding: 5px;
    font-size: 16px;
}

.preview-inner .button {
    background: #a8824f;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    transition: background 0.3s ease;
}

.preview-inner .button:hover {
    background: #8c6a3d;
}

*/

.hover-product-preview-container {
    display: flex;
    gap: 50px;
    align-items: flex-start;
    margin-top: 40px;
}

.product-list-left {
    width: 30%;
    border-right: #000 solid 1px;
}

.hover-product-item {
    padding: 12px 0;
    cursor: pointer;
    font-size: 18px;
    border-bottom: 1px solid #eee;
    transition: color 0.3s ease;
}

.hover-product-item:hover {
    color: #a8824f;
}

.product-preview-right {
    width: 70%;
    min-height: 300px;
    position: relative;
    overflow: visible; /* ensure image isn't clipped */
}

.preview-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 100%;
}

.preview-inner h2 {
    margin-bottom: 10px;
    font-size: 24px;
	width: clamp(200px, 50%, 390px);
}

#preview-price {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
}

.preview-inner img {
    display: block;
    margin-bottom: 20px;
    opacity: 0;
    transition: opacity .4s ease;
    max-width: 100%;   /* keep inside container */
    height: auto;      /* maintain aspect ratio */
	height: 65vh !important;
	width: auto;
	margin: -100px auto 0 auto;
}

.preview-actions {
    display: flex;
    gap: 15px;
    align-items: center;
}

#preview-qty {
    width: 60px;
    padding: 5px;
    font-size: 16px;
}

.preview-inner .button {
    background: #a8824f;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    transition: background 0.3s ease;
}

.preview-inner .button:hover {
    background: #8c6a3d;
}
