.elementor-207 .elementor-element.elementor-element-27f9198{--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;}@media(min-width:768px){.elementor-207 .elementor-element.elementor-element-27f9198{--content-width:1250px;}}/* Start custom CSS for container, class: .elementor-element-27f9198 *//* Hide original WooCommerce layout only */
.single-product div.product > div.images,
.single-product div.product > div.summary,
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related.products {
  display: none !important;
}

/* Product layout */
.dd-product-wrap {
  max-width: 1180px;
  margin: 90px auto 70px;
  padding: 0 30px;
}

.dd-product-main {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: 60px;
  align-items: center;
}

.dd-product-image {
  background: #f3f0ef;
  padding: 40px;
}

.dd-product-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* Product text */
.dd-product-summary {
  border-top: none !important;
  padding-top: 0 !important;
}

.dd-kicker {
  color: #2db8a6;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 14px;
  font-weight: 700;
}

.dd-product-summary h1,
.dd-product-description h2,
.dd-section-heading h2 {
  color: #333;
  font-size: 34px;
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.dd-price {
  color: #386b9d;
  font-size: 21px;
  margin-bottom: 12px !important;
  font-weight: 600;
}

.dd-cart {
  margin: 0 0 24px !important;
}

/* Simple products only */
.dd-cart form.cart:not(.variations_form) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}
/* =========================================================
   VARIABLE PRODUCTS
   ========================================================= */

.dd-cart form.variations_form {
  display: block !important;
  width: 100%;
  margin: 0 !important;
}

/* Variation .elementor-207 .elementor-element.elementor-element-27f9198 panel */
.dd-cart table.variations {
  display: block;
  width: 100%;
  max-width: 430px;
  margin: 0 0 18px !important;
  padding: 16px 18px;
  border: 0 !important;
  background: #f3f0ef;
  border-collapse: separate;
}

.dd-cart table.variations tbody {
  display: block;
}

.dd-cart table.variations tr {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 7px 14px;
  align-items: center;
}

.dd-cart table.variations th,
.dd-cart table.variations td {
  display: block;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left;
}

/* Variation label */
.dd-cart table.variations label {
  color: #222;
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600;
}

/* Variation dropdown */
.dd-cart table.variations select {
  width: 100% !important;
  height: 44px;
  margin: 0 !important;
  padding: 0 40px 0 13px;
  border: 1px solid #aaa;
  border-radius: 0;
  background-color: #fff;
  color: #222;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  box-shadow: none;
}

.dd-cart table.variations select:focus {
  border-color: #386291;
  outline: none;
}

/* Clear variation link */
.dd-cart .reset_variations {
  grid-column: 2;
  display: inline-block !important;
  width: fit-content;
  margin-top: 3px;
  color: #386291 !important;
  font-size: 11px;
  line-height: 1.4;
  text-decoration: none !important;
}

.dd-cart .reset_variations:hover {
  color: #2db8a6 !important;
}

/* Selected variation information */
.dd-cart .single_variation_wrap {
  display: block;
  width: 100%;
}

.dd-cart .woocommerce-variation {
  margin: 0 0 12px;
}

/* Selected variation price */
.dd-cart .woocommerce-variation-price {
  margin: 0 0 12px;
}

.dd-cart .woocommerce-variation-price .price,
.dd-cart .woocommerce-variation-price .amount {
  color: #386291 !important;
  font-family: "Open Sans", sans-serif;
  font-size: 19px !important;
  font-weight: 600;
}

.dd-cart table.variations th.label {
  display: flex !important;
  align-items: center !important;
  height: 44px;
  padding: 0 !important;
}

.dd-cart table.variations th.label label {
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Quantity and add-to-cart button */
.dd-cart .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
}

.dd-cart .woocommerce-variation-add-to-cart .quantity {
  float: none !important;
  margin: 0 !important;
}

.dd-cart .woocommerce-variation-add-to-cart .quantity .qty {
  width: 58px;
  height: 44px;
  margin: 0;
  border: 1px solid #aaa;
  border-radius: 0;
  color: #222;
  background: #fff;
  text-align: center;
}

.dd-cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  min-height: 44px;
  margin: 0 !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #386291 !important;
  color: #fff !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.dd-cart .woocommerce-variation-add-to-cart .single_add_to_cart_button:hover {
  background: #2db8a6 !important;
}

/* Disabled until an option is selected */
.dd-cart
.woocommerce-variation-add-to-cart
.single_add_to_cart_button.disabled {
  background: #386291 !important;
  opacity: 0.45;
}

/* Mobile */
@media (max-width: 600px) {
  .dd-cart table.variations {
    max-width: none;
  }

  .dd-cart table.variations tr {
    grid-template-columns: 1fr;
  }

  .dd-cart .reset_variations {
    grid-column: 1;
  }

  .dd-cart .woocommerce-variation-add-to-cart {
    align-items: stretch;
  }
}
.dd-cart .quantity {
  margin: 0 !important;
  float: none !important;
}

.dd-cart .quantity .qty {
  width: 58px;
  height: 42px;
  border: 1px solid #ccc;
  border-radius: 0;
}

.dd-cart button.button,
.dd-cart .single_add_to_cart_button {
  background: #386b9d !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 14px 24px !important;
  font-size: 10px !important;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  font-weight: 600;
  min-height: 42px;
}

.dd-cart button.button:hover,
.dd-cart .single_add_to_cart_button:hover {
  background: #2db8a6 !important;
}

.dd-short-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
  margin-top: 10px;
}

/* Description */
.dd-product-description {
  background: #f3f0ef;
  padding: 65px 30px;
  margin: 70px auto;
  max-width: 1180px;
}

.dd-product-description .dd-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.dd-desc-content {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
}

.dd-desc-content ul {
  list-style: none !important;
  margin: 22px 0;
  padding: 0 !important;
}

.dd-desc-content li {
  list-style: none !important;
  margin: 7px 0;
  padding: 0;
}

.dd-desc-content li::before,
.dd-desc-content li::marker {
  content: none !important;
}

.dd-desc-content strong {
  color: #333;
  font-weight: 700;
}

.dd-desc-content p {
  margin-bottom: 18px;
}

/* Related products */
.dd-related-products {
  max-width: 1240px;
  margin: 0 auto 90px;
  padding: 0 30px;
}

.dd-section-heading {
  border-bottom: 2px solid #386b9d;
  margin-bottom: 28px;
}

.dd-section-heading h2 {
  font-size: 22px;
  margin-bottom: 12px;
}

.dd-related-products .related.products > h2 {
  display: none !important;
}

.dd-related-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dd-related-products ul.products::before,
.dd-related-products ul.products::after {
  display: none !important;
}

.dd-related-products ul.products li.product,
.woocommerce .dd-related-products ul.products li.product {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  background: #f3f0ef;
  text-align: center;
  padding: 18px 18px 22px;
}

.dd-related-products ul.products li.product:nth-child(n),
.woocommerce .dd-related-products ul.products li.product:nth-child(n) {
  clear: none !important;
  float: none !important;
}

.dd-related-products ul.products li.product img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  margin: 0 auto 14px !important;
}

.dd-related-products ul.products li.product .woocommerce-loop-product__title {
  display: block !important;
  color: #333;
  background: transparent;
  padding: 0 10px 8px;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 1px;
  text-transform: uppercase;
  min-height: 42px;
}

.dd-related-products ul.products li.product .price {
  color: #386b9d;
  font-size: 14px;
  font-weight: 600;
  margin: 8px 0 14px;
}

.dd-related-products ul.products li.product .button {
  background: #386b9d !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 12px 18px !important;
  font-size: 10px !important;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.dd-related-products ul.products li.product .button:hover {
  background: #2db8a6 !important;
}

/* Mobile */
@media (max-width: 800px) {
  .dd-product-wrap {
    margin: 40px auto;
    padding: 0 20px;
  }

  .dd-product-main {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .dd-product-image {
    padding: 22px;
  }

  .dd-product-summary h1,
  .dd-product-description h2 {
    font-size: 27px;
  }

  .dd-product-description {
    padding: 45px 22px;
    margin: 45px 20px;
  }

  .dd-related-products ul.products {
    grid-template-columns: 1fr !important;
  }
}
/* =========================================================
   WOOCOMMERCE NOTICES
   ========================================================= */

.woocommerce-notices-wrapper {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Full-width notice bars */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  max-width: none;
  min-height: 74px;
  margin: 0 0 50px !important;
  padding: 18px 32px 18px 58px !important;
  box-sizing: border-box;
  background: #f3f0ef !important;
  border: 0 !important;
  border-top: 2px solid #2db8a6 !important;
  border-radius: 0 !important;
  color: #444 !important;
  font-size: 14px;
  line-height: 1.6;
  box-shadow: none !important;
}

/* Notice icon */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  top: 50% !important;
  left: 28px !important;
  transform: translateY(-50%);
  margin: 0 !important;
  color: #2db8a6 !important;
  font-size: 18px;
  line-height: 1;
}

/* Different notice types */
.woocommerce-info {
  border-top-color: #386b9d !important;
}

.woocommerce-info::before {
  color: #386b9d !important;
}

.woocommerce-error {
  border-top-color: #b94a48 !important;
  list-style: none !important;
}

.woocommerce-error::before {
  color: #b94a48 !important;
}

.woocommerce-error li {
  margin: 0 !important;
}

/* Notice button */
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  position: static !important;
  order: 2;
  flex: 0 0 auto;
  float: none !important;
  transform: none !important;
  margin: 0 0 0 auto !important;
  padding: 13px 22px !important;
  background: #386b9d !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
  background: #2db8a6 !important;
  color: #fff !important;
}

/* Ensure page templates do not constrain the notice */
.single-product .woocommerce-notices-wrapper,
.post-type-archive-product .woocommerce-notices-wrapper,
.tax-product_cat .woocommerce-notices-wrapper,
.tax-product_tag .woocommerce-notices-wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Mobile */
@media (max-width: 700px) {
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    display: block;
    min-height: 0;
    margin-bottom: 35px !important;
    padding: 18px 20px 18px 50px !important;
  }

  .woocommerce-message::before,
  .woocommerce-info::before,
  .woocommerce-error::before {
    top: 22px !important;
    left: 18px !important;
    transform: none;
  }

  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button {
    display: table !important;
    margin: 16px 0 0 !important;
  }
}/* End custom CSS */