.elementor-309 .elementor-element.elementor-element-662f6875{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:75px 75px;--row-gap:75px;--column-gap:75px;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-662f6875:not(.elementor-motion-effects-element-type-background), .elementor-309 .elementor-element.elementor-element-662f6875 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e07e73f );}.elementor-309 .elementor-element.elementor-element-26bc6ac0{--display:flex;--justify-content:center;--overlay-opacity:0.5;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-26bc6ac0:not(.elementor-motion-effects-element-type-background), .elementor-309 .elementor-element.elementor-element-26bc6ac0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://timberstone.lk/wp-content/uploads/2026/07/3.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-309 .elementor-element.elementor-element-26bc6ac0::before, .elementor-309 .elementor-element.elementor-element-26bc6ac0 > .elementor-background-video-container::before, .elementor-309 .elementor-element.elementor-element-26bc6ac0 > .e-con-inner > .elementor-background-video-container::before, .elementor-309 .elementor-element.elementor-element-26bc6ac0 > .elementor-background-slideshow::before, .elementor-309 .elementor-element.elementor-element-26bc6ac0 > .e-con-inner > .elementor-background-slideshow::before, .elementor-309 .elementor-element.elementor-element-26bc6ac0 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#100705;--background-overlay:'';}.elementor-309 .elementor-element.elementor-element-20e2e13c{--spacer-size:50px;}.elementor-309 .elementor-element.elementor-element-1208ba15{--display:flex;--justify-content:center;--padding-top:196px;--padding-bottom:100px;--padding-left:0px;--padding-right:80px;}.elementor-309 .elementor-element.elementor-element-253a4da6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-30de553c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-b50cb5e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 22px) 0px;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-icon i{color:#503D32;transition:color 0.3s;}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-icon svg{fill:#503D32;transition:fill 0.3s;}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-icon{padding-inline-end:14px;}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-item > a{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-text{color:var( --e-global-color-44e2b61 );transition:color 0.3s;}.elementor-309 .elementor-element.elementor-element-7faede6a .elementor-heading-title{color:var( --e-global-color-44e2b61 );}.elementor-309 .elementor-element.elementor-element-2f04786d{color:var( --e-global-color-578da0f );}.elementor-309 .elementor-element.elementor-element-36c7920e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-31eb0f1d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:83px 83px;--row-gap:83px;--column-gap:83px;--margin-top:0px;--margin-bottom:31px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-2eca2600{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-da255ff{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-af4d828{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-309 .elementor-element.elementor-element-60750e7 .elementor-heading-title{font-size:36px;}.woocommerce .elementor-309 .elementor-element.elementor-element-8c6de98 .price{color:var( --e-global-color-e07e73f );font-size:25px;font-weight:600;}.elementor-309 .elementor-element.elementor-element-2262782 .cart button, .elementor-309 .elementor-element.elementor-element-2262782 .cart .button{background-color:var( --e-global-color-accent );transition:all 0.2s;}.elementor-309 .elementor-element.elementor-element-2262782 .quantity .qty{transition:all 0.2s;}.elementor-309 .elementor-element.elementor-element-5787332{--display:flex;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.woocommerce .elementor-309 .elementor-element.elementor-element-4f28f2e .woocommerce-tabs ul.wc-tabs li a{font-size:16px;}.woocommerce .elementor-309 .elementor-element.elementor-element-4f28f2e .woocommerce-tabs .woocommerce-Tabs-panel h2{font-size:30px;}.elementor-309 .elementor-element.elementor-element-f5ee7db{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products ul.products li.product{text-align:center;}.elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.woocommerce .elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products .products > h2{text-align:center;}.elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(max-width:1024px){.elementor-309 .elementor-element.elementor-element-662f6875{--gap:50px 50px;--row-gap:50px;--column-gap:50px;}.elementor-309 .elementor-element.elementor-element-26bc6ac0{--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:0px;}.elementor-309 .elementor-element.elementor-element-1208ba15{--padding-top:157px;--padding-bottom:69px;--padding-left:0px;--padding-right:30px;}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-item > a{font-size:var( --e-global-typography-accent-font-size );}.elementor-309 .elementor-element.elementor-element-36c7920e{--padding-top:100px;--padding-bottom:100px;--padding-left:30px;--padding-right:30px;}.elementor-309 .elementor-element.elementor-element-2eca2600{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-309 .elementor-element.elementor-element-af4d828{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-309 .elementor-element.elementor-element-26bc6ac0{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-309 .elementor-element.elementor-element-26bc6ac0.e-con{--order:99999 /* order end hack */;}.elementor-309 .elementor-element.elementor-element-20e2e13c{--spacer-size:261px;}.elementor-309 .elementor-element.elementor-element-1208ba15{--padding-top:176px;--padding-bottom:21px;--padding-left:20px;--padding-right:20px;}.elementor-309 .elementor-element.elementor-element-30de553c{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-item > .elementor-icon-list-text, .elementor-309 .elementor-element.elementor-element-b50cb5e .elementor-icon-list-item > a{font-size:var( --e-global-typography-accent-font-size );}.elementor-309 .elementor-element.elementor-element-7faede6a{text-align:center;}.elementor-309 .elementor-element.elementor-element-2f04786d{text-align:center;}.elementor-309 .elementor-element.elementor-element-36c7920e{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-309 .elementor-element.elementor-element-31eb0f1d{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-309 .elementor-element.elementor-element-af4d828{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-309 .elementor-element.elementor-element-60750e7 .elementor-heading-title{font-size:28px;}.elementor-309 .elementor-element.elementor-element-f7d3c96{text-align:justify;}.elementor-309 .elementor-element.elementor-element-f5ee7db{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.woocommerce .elementor-309 .elementor-element.elementor-element-3153711.elementor-wc-products .products > h2{font-size:25px;}}@media(min-width:768px){.elementor-309 .elementor-element.elementor-element-26bc6ac0{--width:84%;}.elementor-309 .elementor-element.elementor-element-2eca2600{--width:90%;}}/* Start custom CSS for container, class: .elementor-element-36c7920e *//* =========================================================
   TIMBERSTONE – SINGLE PRODUCT PAGE
   ELEMENTOR + WOOCOMMERCE SAFE VERSION
   Does not change columns or page structure
========================================================= */

:root {
  --ts-green: #1f6339;
  --ts-green-dark: #103f27;
  --ts-green-deep: #082f1d;
  --ts-green-light: #4d9164;
  --ts-beige: #c9c39a;
  --ts-beige-soft: #eeeacd;
  --ts-cream: #faf9f2;
  --ts-white: #ffffff;
  --ts-gold: #927f0b;
  --ts-text: #263f31;
  --ts-muted: #6f7c73;
}

/* =========================================================
   IMPORTANT STRUCTURE RESET
   Prevent previous CSS from changing Elementor layout
========================================================= */

body.single-product div.product {
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product div.product::before,
body.single-product div.product::after {
  display: none !important;
  content: none !important;
}

body.single-product div.product .summary,
body.single-product div.product .woocommerce-product-gallery {
  float: none;
}

/* Keep Elementor columns unchanged */
body.single-product .elementor-container,
body.single-product .e-con,
body.single-product .elementor-column,
body.single-product .elementor-widget-wrap {
  min-width: 0;
}

/* =========================================================
   MAIN PRODUCT SECTION
   Add class ts-single-product-section to the main Elementor
   product section for the best result
========================================================= */

.ts-single-product-section,
body.single-product .elementor-widget-woocommerce-product-images,
body.single-product .elementor-widget-woocommerce-product-title,
body.single-product .elementor-widget-woocommerce-product-price,
body.single-product
  .elementor-widget-woocommerce-product-short-description,
body.single-product .elementor-widget-woocommerce-product-add-to-cart,
body.single-product .elementor-widget-woocommerce-product-meta {
  position: relative;
  z-index: 2;
}

/* Optional background for the main Elementor section */
.ts-single-product-section {
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(31, 99, 57, 0.12);
  border-radius: 28px;
  background:
    radial-gradient(
      circle at 7% 15%,
      rgba(201, 195, 154, 0.24),
      transparent 30%
    ),
    radial-gradient(
      circle at 92% 10%,
      rgba(77, 145, 100, 0.14),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      #ffffff 0%,
      #fbfaf4 50%,
      #edf6ef 100%
    );
  box-shadow:
    0 22px 50px rgba(16, 63, 39, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.ts-single-product-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 7%;
  right: 7%;
  height: 4px;
  border-radius: 0 0 20px 20px;
  background: linear-gradient(
    90deg,
    var(--ts-green-dark),
    var(--ts-green-light),
    var(--ts-beige),
    var(--ts-green)
  );
  z-index: 4;
}

/* =========================================================
   PRODUCT IMAGE GALLERY
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-images
  .woocommerce-product-gallery,
body.single-product
  div.product
  .woocommerce-product-gallery {
  position: relative;
  width: 100% !important;
  overflow: hidden;
  border: 1px solid rgba(31, 99, 57, 0.11);
  border-radius: 24px;
  background:
    radial-gradient(
      circle at center,
      #ffffff 0%,
      #fbfaf5 64%,
      #f2f4ec 100%
    );
  box-shadow:
    0 18px 38px rgba(16, 63, 39, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

/* Main product image */
body.single-product
  .woocommerce-product-gallery__image
  img {
  display: block;
  width: 100% !important;
  height: 500px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent;
  filter: drop-shadow(0 18px 18px rgba(16, 63, 39, 0.12));
  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

body.single-product
  .woocommerce-product-gallery__image:hover
  img {
  transform: scale(1.025);
  filter: drop-shadow(0 24px 22px rgba(16, 63, 39, 0.17));
}

/* Prevent WooCommerce image from stretching */
body.single-product
  .woocommerce-product-gallery__wrapper {
  width: 100%;
}

/* Zoom button */
body.single-product
  .woocommerce-product-gallery__trigger {
  top: 18px !important;
  right: 18px !important;
  left: auto !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px !important;
  color: #ffffff !important;
  background: linear-gradient(
    145deg,
    var(--ts-green-light),
    var(--ts-green-dark)
  ) !important;
  box-shadow:
    0 10px 22px rgba(16, 63, 39, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

body.single-product
  .woocommerce-product-gallery__trigger:hover {
  transform: translateY(-3px);
  box-shadow:
    0 14px 26px rgba(16, 63, 39, 0.28),
    0 0 0 4px rgba(201, 195, 154, 0.2);
}

/* Gallery thumbnails */
body.single-product
  .flex-control-thumbs
  li {
  overflow: hidden;
  border: 1px solid rgba(31, 99, 57, 0.13);
  border-radius: 11px;
  background: #ffffff;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

body.single-product
  .flex-control-thumbs
  li:hover {
  transform: translateY(-3px);
  border-color: var(--ts-green);
  box-shadow: 0 8px 18px rgba(16, 63, 39, 0.14);
}

/* =========================================================
   PRODUCT DETAILS COLUMN
   Add class ts-product-details to the right Elementor column
========================================================= */

.ts-product-details {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(31, 99, 57, 0.11);
  border-radius: 24px;
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.96),
      rgba(241, 247, 242, 0.92)
    );
  box-shadow:
    0 18px 40px rgba(16, 63, 39, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.ts-product-details::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  top: -100px;
  right: -90px;
  border-radius: 50%;
  border: 32px solid rgba(201, 195, 154, 0.12);
  pointer-events: none;
}

/* =========================================================
   PRODUCT TITLE
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-title
  .product_title,
body.single-product
  .elementor-widget-woocommerce-product-title
  h1,
body.single-product
  div.product
  .product_title {
  position: relative;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--ts-green-dark) !important;
  background: transparent !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
}

body.single-product
  .elementor-widget-woocommerce-product-title
  .product_title::after,
body.single-product
  .elementor-widget-woocommerce-product-title
  h1::after,
body.single-product
  div.product
  .product_title::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 14px;
  border-radius: 20px;
  background: linear-gradient(
    90deg,
    var(--ts-green-dark),
    var(--ts-green-light),
    var(--ts-beige)
  );
  box-shadow: 0 5px 12px rgba(31, 99, 57, 0.16);
}

/* =========================================================
   PRODUCT PRICE
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-price
  .price,
body.single-product
  div.product
  .summary
  .price {
  display: inline-flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--ts-green-dark) !important;
  border: 1px solid rgba(146, 127, 11, 0.15);
  border-radius: 13px;
  background: linear-gradient(
    135deg,
    rgba(201, 195, 154, 0.28),
    rgba(241, 238, 219, 0.82)
  );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  font-size: 27px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
}

body.single-product
  .elementor-widget-woocommerce-product-price
  .price
  del,
body.single-product
  div.product
  .price
  del {
  color: #87928b !important;
  font-size: 17px !important;
  font-weight: 500;
  opacity: 1 !important;
}

body.single-product
  .elementor-widget-woocommerce-product-price
  .price
  ins,
body.single-product
  div.product
  .price
  ins {
  color: var(--ts-green) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

/* =========================================================
   SHORT DESCRIPTION
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-short-description
  .woocommerce-product-details__short-description,
body.single-product
  div.product
  .woocommerce-product-details__short-description {
  position: relative;
  color: var(--ts-text) !important;
  border-left: 4px solid var(--ts-beige);
  border-radius: 0 12px 12px 0;
  background: linear-gradient(
    90deg,
    rgba(241, 238, 219, 0.58),
    rgba(255, 255, 255, 0)
  );
  font-size: 16px !important;
  line-height: 1.8 !important;
}

body.single-product
  .woocommerce-product-details__short-description
  p {
  color: var(--ts-text) !important;
  font-size: inherit;
  line-height: inherit;
}

/* =========================================================
   CART FORM
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-add-to-cart
  form.cart,
body.single-product
  div.product
  form.cart {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 12px;
}

/* Quantity input */
body.single-product
  form.cart
  .quantity
  .qty {
  width: 66px !important;
  min-height: 48px !important;
  border: 1px solid rgba(31, 99, 57, 0.3) !important;
  border-radius: 11px !important;
  color: var(--ts-green-dark) !important;
  background: linear-gradient(
    145deg,
    #ffffff,
    #f5f7f1
  ) !important;
  box-shadow:
    inset 0 2px 5px rgba(16, 63, 39, 0.05),
    0 5px 12px rgba(16, 63, 39, 0.06);
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  outline: none !important;
}

body.single-product
  form.cart
  .quantity
  .qty:focus {
  border-color: var(--ts-green) !important;
  box-shadow:
    0 0 0 4px rgba(31, 99, 57, 0.12),
    inset 0 2px 5px rgba(16, 63, 39, 0.05);
}

/* =========================================================
   ADD TO CART BUTTON
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-add-to-cart
  .single_add_to_cart_button,
body.single-product
  div.product
  .single_add_to_cart_button {
  position: relative;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(31, 99, 57, 0.18) !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  background: linear-gradient(
    135deg,
    var(--ts-green-light) 0%,
    var(--ts-green) 48%,
    var(--ts-green-dark) 100%
  ) !important;
  box-shadow:
    0 10px 22px rgba(16, 63, 39, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: none !important;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

body.single-product
  .single_add_to_cart_button:hover {
  color: #ffffff !important;
  background: linear-gradient(
    135deg,
    var(--beige, #c9c39a),
    #748d68 40%,
    var(--ts-green-dark)
  ) !important;
  transform: translateY(-3px);
  box-shadow:
    0 15px 28px rgba(16, 63, 39, 0.3),
    0 0 0 4px rgba(201, 195, 154, 0.2) !important;
}

/* Disabled state */
body.single-product
  .single_add_to_cart_button.disabled,
body.single-product
  .single_add_to_cart_button:disabled {
  cursor: not-allowed;
  opacity: 0.65;
}

/* =========================================================
   PRODUCT META
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-meta
  .product_meta,
body.single-product
  div.product
  .product_meta {
  border-top: 1px solid rgba(31, 99, 57, 0.13);
  color: var(--ts-text) !important;
  font-size: 14px !important;
  line-height: 1.8;
}

body.single-product
  .product_meta
  > span {
  color: var(--ts-green-dark) !important;
  font-weight: 700 !important;
}

body.single-product
  .product_meta
  a {
  color: var(--ts-green) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(31, 99, 57, 0.25);
}

body.single-product
  .product_meta
  a:hover {
  color: var(--ts-gold) !important;
  border-color: var(--ts-gold);
}

/* =========================================================
   REMOVE EMPTY GREY ELEMENTOR WIDGET AREA
========================================================= */

/*
   The grey box visible in Elementor is normally an empty
   dynamic widget placeholder. This hides only truly empty
   product widgets on the live product page.
*/

body.single-product:not(.elementor-editor-active)
  .elementor-widget-woocommerce-product-rating:has(
    .elementor-widget-container:empty
  ),
body.single-product:not(.elementor-editor-active)
  .elementor-widget-woocommerce-product-data-tabs:has(
    .elementor-widget-container:empty
  ) {
  display: none !important;
}

/* Product rating styling when ratings exist */
body.single-product
  .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 10px;
}

body.single-product
  .star-rating {
  color: #b49b24 !important;
}

body.single-product
  .woocommerce-review-link {
  color: var(--ts-green) !important;
  font-weight: 600;
  text-decoration: none;
}

/* =========================================================
   DESCRIPTION AND REVIEWS TABS
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-data-tabs
  .woocommerce-tabs,
body.single-product
  .woocommerce-tabs {
  overflow: hidden;
  border: 1px solid rgba(31, 99, 57, 0.12);
  border-radius: 22px;
  background: linear-gradient(
    145deg,
    #ffffff,
    #f6f8f2
  );
  box-shadow:
    0 16px 36px rgba(16, 63, 39, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

/* Tab navigation */
body.single-product
  .woocommerce-tabs
  ul.tabs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(31, 99, 57, 0.13) !important;
  background: linear-gradient(
    90deg,
    rgba(241, 238, 219, 0.85),
    rgba(237, 246, 239, 0.85)
  );
}

body.single-product
  .woocommerce-tabs
  ul.tabs::before {
  border-bottom: none !important;
}

body.single-product
  .woocommerce-tabs
  ul.tabs
  li {
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product
  .woocommerce-tabs
  ul.tabs
  li::before,
body.single-product
  .woocommerce-tabs
  ul.tabs
  li::after {
  display: none !important;
}

body.single-product
  .woocommerce-tabs
  ul.tabs
  li
  a {
  display: block;
  color: var(--ts-green-dark) !important;
  font-weight: 700 !important;
  border-radius: 9px;
  transition:
    color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}

body.single-product
  .woocommerce-tabs
  ul.tabs
  li.active
  a,
body.single-product
  .woocommerce-tabs
  ul.tabs
  li
  a:hover {
  color: #ffffff !important;
  background: linear-gradient(
    135deg,
    var(--ts-green-light),
    var(--ts-green-dark)
  ) !important;
  box-shadow: 0 7px 16px rgba(16, 63, 39, 0.2);
}

/* Tab content */
body.single-product
  .woocommerce-tabs
  .woocommerce-Tabs-panel {
  color: var(--ts-text);
}

body.single-product
  .woocommerce-tabs
  .woocommerce-Tabs-panel
  h2 {
  position: relative;
  color: var(--ts-green-dark) !important;
  font-size: 30px;
  font-weight: 750;
}

body.single-product
  .woocommerce-tabs
  .woocommerce-Tabs-panel
  h2::after {
  content: "";
  display: block;
  width: 58px;
  height: 4px;
  margin-top: 10px;
  border-radius: 20px;
  background: linear-gradient(
    90deg,
    var(--ts-green-dark),
    var(--ts-green-light),
    var(--ts-beige)
  );
}

body.single-product
  .woocommerce-tabs
  .woocommerce-Tabs-panel
  p,
body.single-product
  .woocommerce-tabs
  .woocommerce-Tabs-panel
  li {
  color: var(--ts-text) !important;
  font-size: 16px;
  line-height: 1.8;
}

/* =========================================================
   RELATED PRODUCTS HEADING
========================================================= */

body.single-product
  .related.products
  > h2,
body.single-product
  .upsells.products
  > h2 {
  color: var(--ts-green-dark) !important;
  font-size: 31px;
  font-weight: 750;
  text-align: center;
}

body.single-product
  .related.products
  > h2::after,
body.single-product
  .upsells.products
  > h2::after {
  content: "";
  display: block;
  width: 65px;
  height: 4px;
  margin: 11px auto 0;
  border-radius: 20px;
  background: linear-gradient(
    90deg,
    var(--ts-green-dark),
    var(--ts-green-light),
    var(--ts-beige)
  );
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  body.single-product
    .woocommerce-product-gallery__image
    img {
    height: 410px !important;
  }

  body.single-product
    .elementor-widget-woocommerce-product-title
    .product_title,
  body.single-product
    div.product
    .product_title {
    font-size: 34px !important;
  }

  body.single-product
    .elementor-widget-woocommerce-product-price
    .price {
    font-size: 24px !important;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .ts-single-product-section,
  .ts-product-details,
  body.single-product
    .elementor-widget-woocommerce-product-images
    .woocommerce-product-gallery {
    border-radius: 17px;
  }

  body.single-product
    .woocommerce-product-gallery__image
    img {
    height: 320px !important;
  }

  body.single-product
    .elementor-widget-woocommerce-product-title
    .product_title,
  body.single-product
    .elementor-widget-woocommerce-product-title
    h1,
  body.single-product
    div.product
    .product_title {
    font-size: 28px !important;
    text-align: center !important;
  }

  body.single-product
    .elementor-widget-woocommerce-product-title
    .product_title::after,
  body.single-product
    .elementor-widget-woocommerce-product-title
    h1::after,
  body.single-product
    div.product
    .product_title::after {
    margin-left: auto;
    margin-right: auto;
  }

  body.single-product
    .elementor-widget-woocommerce-product-price {
    text-align: center;
  }

  body.single-product
    .elementor-widget-woocommerce-product-price
    .price,
  body.single-product
    div.product
    .summary
    .price {
    justify-content: center;
    font-size: 23px !important;
  }

  body.single-product
    .woocommerce-product-details__short-description {
    border-left: 0;
    border-top: 4px solid var(--ts-beige);
    border-radius: 12px;
    text-align: center;
  }

  body.single-product
    form.cart {
    justify-content: center;
  }

  body.single-product
    .product_meta {
    text-align: center;
  }

  body.single-product
    .woocommerce-tabs
    ul.tabs {
    justify-content: center;
  }

  body.single-product
    .woocommerce-tabs
    .woocommerce-Tabs-panel
    h2 {
    font-size: 25px;
    text-align: center;
  }

  body.single-product
    .woocommerce-tabs
    .woocommerce-Tabs-panel
    h2::after {
    margin-left: auto;
    margin-right: auto;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  body.single-product
    .woocommerce-product-gallery__image
    img {
    height: 255px !important;
  }

  body.single-product
    .elementor-widget-woocommerce-product-title
    .product_title,
  body.single-product
    div.product
    .product_title {
    font-size: 24px !important;
  }

  body.single-product
    form.cart {
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr);
    width: 100%;
  }

  body.single-product
    form.cart
    .quantity,
  body.single-product
    form.cart
    .quantity
    .qty {
    width: 100% !important;
  }

  body.single-product
    .single_add_to_cart_button {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 13px !important;
  }

  body.single-product
    .woocommerce-tabs
    ul.tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body.single-product
    .woocommerce-tabs
    ul.tabs
    li,
  body.single-product
    .woocommerce-tabs
    ul.tabs
    li
    a {
    width: 100%;
    text-align: center;
  }
}

/* =========================================================
   FRONT-END VISIBILITY
========================================================= */

body.single-product
  .elementor-widget-woocommerce-product-title,
body.single-product
  .elementor-widget-woocommerce-product-price,
body.single-product
  .elementor-widget-woocommerce-product-short-description,
body.single-product
  .elementor-widget-woocommerce-product-add-to-cart,
body.single-product
  .elementor-widget-woocommerce-product-meta {
  visibility: visible !important;
  opacity: 1 !important;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-related, class: .elementor-element-3153711 *//* =========================================================
   TIMBERSTONE PRODUCT BUTTON – FULL-WIDTH UPDATE
   Add this at the bottom of the existing product CSS
========================================================= */

/* Product card content alignment */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.elementor-widget-wc-archive-products ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Product link must grow so buttons stay aligned */
.woocommerce ul.products li.product
  a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product
  a.woocommerce-LoopProduct-link,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  a.woocommerce-LoopProduct-link,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  width: 100% !important;
}

/* Product title */
.woocommerce ul.products li.product
  .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product
  .woocommerce-loop-product__title,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .woocommerce-loop-product__title,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .woocommerce-loop-product__title {
  color: #103f27 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* Product price */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .price,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .price {
  color: #927f0b !important;
  font-weight: 700 !important;
  text-align: center !important;
}

/* Main Add to Cart button */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .button,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .button {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: calc(100% - 12px) !important;
  max-width: none !important;
  min-height: 46px !important;

  margin-left: 6px !important;
  margin-right: 6px !important;
  margin-top: auto !important;

  border: 1px solid #2e8050 !important;
  border-radius: 11px !important;

  color: #ffffff !important;
  background:
    linear-gradient(
      135deg,
      #388b59 0%,
      #1f6339 55%,
      #15482b 100%
    ) !important;

  box-shadow:
    0 7px 16px rgba(16, 63, 39, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;

  overflow: hidden !important;
  z-index: 1 !important;

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease !important;
}

/* Remove old overlay that can cover button text */
.woocommerce ul.products li.product .button::before,
.woocommerce-page ul.products li.product .button::before,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .button::before,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .button::before {
  display: none !important;
  content: none !important;
}

/* Button hover */
.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .button:hover,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .button:hover {
  color: #ffffff !important;
  background:
    linear-gradient(
      135deg,
      #c9c39a 0%,
      #658861 38%,
      #1f6339 100%
    ) !important;

  border-color: #b8b184 !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 11px 22px rgba(16, 63, 39, 0.3),
    0 0 0 3px rgba(201, 195, 154, 0.2) !important;
}

/* Button active state */
.woocommerce ul.products li.product .button:active,
.woocommerce-page ul.products li.product .button:active,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .button:active,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .button:active {
  transform: translateY(0) !important;
}

/* Loading button */
.woocommerce ul.products li.product .button.loading,
.woocommerce-page ul.products li.product .button.loading,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .button.loading,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .button.loading {
  color: #ffffff !important;
  opacity: 0.85 !important;
}

/* Added state */
.woocommerce ul.products li.product .button.added,
.woocommerce-page ul.products li.product .button.added,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .button.added,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .button.added {
  background:
    linear-gradient(
      135deg,
      #4d9164,
      #1f6339,
      #103f27
    ) !important;
}

/* View Cart link after adding product */
.woocommerce ul.products li.product .added_to_cart,
.woocommerce-page ul.products li.product .added_to_cart,
.elementor-widget-wc-archive-products
  ul.products
  li.product
  .added_to_cart,
.elementor-widget-woocommerce-products
  ul.products
  li.product
  .added_to_cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: calc(100% - 12px) !important;
  min-height: 40px !important;

  margin-left: 6px !important;
  margin-right: 6px !important;

  border: 1px solid rgba(31, 99, 57, 0.24) !important;
  border-radius: 9px !important;

  color: #103f27 !important;
  background: #f1eedb !important;

  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1025px) {
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .elementor-widget-wc-archive-products
    ul.products
    li.product
    .button,
  .elementor-widget-woocommerce-products
    ul.products
    li.product
    .button {
    width: calc(100% - 14px) !important;
    min-height: 46px !important;
    margin-left: 7px !important;
    margin-right: 7px !important;
    font-size: 14px !important;
    border-radius: 11px !important;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .elementor-widget-wc-archive-products
    ul.products
    li.product
    .button,
  .elementor-widget-woocommerce-products
    ul.products
    li.product
    .button {
    width: calc(100% - 12px) !important;
    min-height: 44px !important;
    margin-left: 6px !important;
    margin-right: 6px !important;
    font-size: 13px !important;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .elementor-widget-wc-archive-products
    ul.products
    li.product
    .button,
  .elementor-widget-woocommerce-products
    ul.products
    li.product
    .button {
    width: calc(100% - 10px) !important;
    min-height: 40px !important;

    margin-left: 5px !important;
    margin-right: 5px !important;

    border-radius: 9px !important;

    font-size: 12px !important;
    line-height: 1.15 !important;
    white-space: normal !important;

    box-shadow:
      0 6px 14px rgba(16, 63, 39, 0.22),
      inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .elementor-widget-wc-archive-products
    ul.products
    li.product
    .button,
  .elementor-widget-woocommerce-products
    ul.products
    li.product
    .button {
    width: calc(100% - 8px) !important;
    min-height: 38px !important;

    margin-left: 4px !important;
    margin-right: 4px !important;

    font-size: 11px !important;
    border-radius: 8px !important;
  }
}/* End custom CSS */