.elementor-338 .elementor-element.elementor-element-335bbd2{--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:40px;--padding-bottom:77px;--padding-left:180px;--padding-right:180px;}.elementor-338 .elementor-element.elementor-element-cd891ef{--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:0px 60px;--row-gap:0px;--column-gap:60px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-338 .elementor-element.elementor-element-c0bc471{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-gallery-swiper-thumb .swiper-slide{--columns:4;--space-between:6px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs{padding-top:4px;padding-bottom:4px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-product-gallery-slider .jet-woo-product-gallery__image img{border-radius:8px 8px 8px 8px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-product-gallery-slider .jet-woo-product-gallery__image{text-align:center;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-control-thumbs__item{border-style:none;border-radius:8px 8px 8px 8px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs.swiper-container-horizontal{text-align:left;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs .swiper-slide{opacity:1;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs .swiper-slide:hover{opacity:0.84;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs .jet-swiper-nav{font-size:0px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs .jet-swiper-nav.jet-swiper-button-prev{top:50%;bottom:auto;transform:translate(0,-50%);right:auto;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-swiper-gallery-thumbs .jet-swiper-nav.jet-swiper-button-next{top:50%;bottom:auto;transform:translate(0,-50%);left:auto;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-product-gallery .jet-woo-product-gallery__trigger:not( .jet-woo-product-gallery__image-link ){width:42px;height:42px;}.elementor-338 .elementor-element.elementor-element-30bc934 .jet-woo-product-gallery .jet-woo-product-gallery__trigger:not( .jet-woo-product-gallery__image-link ) .jet-woo-product-gallery__trigger-icon{font-size:18px;}.elementor-338 .elementor-element.elementor-element-d2f8c1b{--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;--gap:4px 4px;--row-gap:4px;--column-gap:4px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-338 .elementor-element.elementor-element-f9cbcb0 .elementor-heading-title{font-family:"Geist", Sans-serif;font-size:28px;font-weight:500;letter-spacing:-0.04rem;color:#212121;}.elementor-338 .elementor-element.elementor-element-939ea25{margin:-4px 0px calc(var(--kit-widget-spacing, 0px) + 24px) 0px;}.elementor-338 .elementor-element.elementor-element-939ea25 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:18px;font-weight:500;line-height:28px;color:#005AE1;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-338 .elementor-element.elementor-element-a56e451 .cart button, .elementor-338 .elementor-element.elementor-element-a56e451 .cart .button{font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;line-height:22px;border-radius:8px 8px 8px 8px;padding:8px 24px 8px 24px;background-color:#005AE1;transition:all 0s;}.elementor-338 .elementor-element.elementor-element-a56e451 .quantity .qty{transition:all 0.2s;}.elementor-338 .elementor-element.elementor-element-d732f06{--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:0px 8px;--row-gap:0px;--column-gap:8px;--margin-top:12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-338 .elementor-element.elementor-element-5c73b5f{--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;--justify-content:center;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#EAEDF4;--border-color:#EAEDF4;--border-radius:8px 8px 8px 8px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-338 .elementor-element.elementor-element-264e095.elementor-element{--align-self:center;}.elementor-338 .elementor-element.elementor-element-264e095 .elementor-icon-box-wrapper{align-items:center;text-align:start;gap:8px;}.elementor-338 .elementor-element.elementor-element-264e095 .elementor-icon-box-title{margin-block-end:7px;color:#212121;}.elementor-338 .elementor-element.elementor-element-264e095.elementor-view-stacked .elementor-icon{background-color:#212121;}.elementor-338 .elementor-element.elementor-element-264e095.elementor-view-framed .elementor-icon, .elementor-338 .elementor-element.elementor-element-264e095.elementor-view-default .elementor-icon{fill:#212121;color:#212121;border-color:#212121;}.elementor-338 .elementor-element.elementor-element-264e095.elementor-view-stacked:has(:hover) .elementor-icon,
					 .elementor-338 .elementor-element.elementor-element-264e095.elementor-view-stacked:has(:focus) .elementor-icon{background-color:#212121;}.elementor-338 .elementor-element.elementor-element-264e095.elementor-view-framed:has(:hover) .elementor-icon,
					 .elementor-338 .elementor-element.elementor-element-264e095.elementor-view-default:has(:hover) .elementor-icon,
					 .elementor-338 .elementor-element.elementor-element-264e095.elementor-view-framed:has(:focus) .elementor-icon,
					 .elementor-338 .elementor-element.elementor-element-264e095.elementor-view-default:has(:focus) .elementor-icon{fill:#212121;color:#212121;border-color:#212121;}.elementor-338 .elementor-element.elementor-element-264e095 .elementor-icon{font-size:20px;}.elementor-338 .elementor-element.elementor-element-264e095 .elementor-icon-box-title, .elementor-338 .elementor-element.elementor-element-264e095 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;line-height:22px;}.elementor-338 .elementor-element.elementor-element-264e095:has(:hover) .elementor-icon-box-title,
					 .elementor-338 .elementor-element.elementor-element-264e095:has(:focus) .elementor-icon-box-title{color:#212121;}.elementor-338 .elementor-element.elementor-element-6164623{--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;--justify-content:center;--align-items:center;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#EAEDF4;--border-color:#EAEDF4;--border-radius:8px 8px 8px 8px;}.elementor-338 .elementor-element.elementor-element-5385162.elementor-element{--align-self:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-338 .elementor-element.elementor-element-3aa96c1{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Inter", Sans-serif;font-size:14px;font-weight:400;line-height:22px;color:#212121;}.elementor-338 .elementor-element.elementor-element-012054d{margin:028px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-338 .elementor-element.elementor-element-012054d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#212121;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-338 .elementor-element.elementor-element-f3cd759{--divider-border-style:solid;--divider-color:#00000000;--divider-border-width:1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-338 .elementor-element.elementor-element-f3cd759 .elementor-divider-separator{width:100%;}.elementor-338 .elementor-element.elementor-element-f3cd759 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-338 .elementor-element.elementor-element-85bb7ee{color:#212121;font-family:"Inter", Sans-serif;font-weight:400;}.elementor-338 .elementor-element.elementor-element-25f2b81{--display:flex;}@media(min-width:768px){.elementor-338 .elementor-element.elementor-element-c0bc471{--width:492px;}.elementor-338 .elementor-element.elementor-element-d2f8c1b{--width:528px;}.elementor-338 .elementor-element.elementor-element-5c73b5f{--width:50%;}.elementor-338 .elementor-element.elementor-element-6164623{--width:50%;}}@media(max-width:767px){.elementor-338 .elementor-element.elementor-element-335bbd2{--gap:36px 36px;--row-gap:36px;--column-gap:36px;--padding-top:40px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-338 .elementor-element.elementor-element-30bc934 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-338 .elementor-element.elementor-element-d2f8c1b{--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-338 .elementor-element.elementor-element-f9cbcb0{margin:36px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-338 .elementor-element.elementor-element-f9cbcb0 .elementor-heading-title{font-size:28px;}.elementor-338 .elementor-element.elementor-element-5c73b5f{--width:47%;--padding-top:5px;--padding-bottom:5px;--padding-left:0px;--padding-right:0px;}.elementor-338 .elementor-element.elementor-element-6164623{--width:49%;--padding-top:5px;--padding-bottom:5px;--padding-left:0px;--padding-right:0px;}.elementor-338 .elementor-element.elementor-element-012054d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-338 .elementor-element.elementor-element-85bb7ee{padding:0px 0px 40px 0px;font-size:14px;}}/* Start custom CSS for shortcode, class: .elementor-element-83371c5 *//* Breadcrumb wrapper */
.rank-math-breadcrumb p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 19px;
  letter-spacing: -0.03em;
}

/* Hide the default Home text */
.rank-math-breadcrumb p a:first-of-type {
  font-size: 0; /* hide text, keep link clickable */
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 16px;
  height: 16px;
}

/* Add a home icon before Home link */
.rank-math-breadcrumb p a:first-of-type::before {
  content: url("https://tlam.distinctapps.au/wp-content/uploads/2025/09/home.svg"); /* change to your SVG path */
  display: inline-block;
  width: 16px;
  height: 16px;
}

/* Separator style */
.rank-math-breadcrumb .separator {
  margin: 0 4px;
  color: rgba(89, 89, 89, 1);
}

/* Normal breadcrumb links/text */
.rank-math-breadcrumb p a,
.rank-math-breadcrumb p span {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 19px;
  letter-spacing: -0.03em;
  color: rgba(89, 89, 89, 1);
  text-decoration: none;
}

/* Active (last) breadcrumb */
.rank-math-breadcrumb p .last {
  font-weight: 500;
  color: rgba(33, 33, 33, 1);
}/* End custom CSS */
/* Start custom CSS for jet-woo-product-gallery-slider, class: .elementor-element-30bc934 */.elementor-1738 .elementor-element.elementor-element-724ad50 .jet-woo-product-gallery-slider .jet-woo-product-gallery__image img{
    height: 492px !important;

}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-a56e451 */.tc-section-fields .tm-element-ul-checkbox .tc-label .tc-label-inner{
    display: none !important;
}


/* Layout: put items side by side with spacing */
.qib-button-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important; /* equal spacing between all three */
}

/* Minus, Plus, and Input all equal boxes */
.qib-button-wrapper .qib-button,
.qib-button-wrapper .wqpmb_quantity .qty {
  box-sizing: border-box !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Buttons styling */
.qib-button-wrapper .qib-button {
  background: rgba(239, 239, 239, 1) !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

/* Input styling */
.qib-button-wrapper .wqpmb_quantity .qty {
  border: 1px solid #e5e7eb !important;
  background: #fff !important;
  color: #111 !important;
  outline: none !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

/* Remove number spinners */
.qib-button-wrapper .wqpmb_quantity .qty::-webkit-outer-spin-button,
.qib-button-wrapper .wqpmb_quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}


.elementor-button-icon svg{
    width: 20px;
}

.single_add_to_cart_button::before {
  content: "";
  display: inline-block;
  width: 20px;   /* icon width */
  height: 20px;  /* icon height */
  background-image: url("https://tlam.distinctapps.au/wp-content/uploads/2025/09/shopping-cart-4.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 6px; 
 /* space between icon and text */
   vertical-align: middle;   /* align with text */
  position: relative;
  top: -2px
}







/* === Hide total area and price === */
#price_calculator tr:has(.wc-measurement-price-calculator-total-amount),
#price_calculator tr:has(.product_price),
#price_calculator tr:nth-of-type(3),
#price_calculator tr:nth-of-type(4) {
  display: none !important;
}

/* === Reset table look === */
#price_calculator,
#price_calculator tbody,
#price_calculator tr,
#price_calculator td {
  border: none !important;
  background: none !important;
  padding: 0;
  margin: 0;
}

/* === Turn the rows into horizontal flex items === */
#price_calculator tbody {
  display: flex;
  flex-wrap: wrap;
  gap: 24px; /* space between columns */
  justify-content: space-between;
}

/* Each field (row) */
#price_calculator tbody > tr {
  display: flex;
  flex-direction: column;
  width: calc(50% - 12px); /* two per row */
  box-sizing: border-box;
}

/* Label styling */
#price_calculator label {
  display: inline-block;
  margin-bottom: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.02em;
  color: #000;
}

/* Required asterisk */
#price_calculator label::after {
  content: " *";
  color: #E53935;
}

/* Input styling */
#price_calculator input.amount_needed {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 16px;
  border: 1px solid rgba(242, 242, 242, 1);
  border-radius: 8px;
  background-color: rgba(249, 249, 249, 1);
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 24px;
  color: #000;
  outline: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

/* Focus effect */
#price_calculator input.amount_needed:focus {
  border-color: #E53935;
  background-color: #fff;
}

/* === Responsive: stack vertically on smaller screens === */
@media (max-width: 600px) {
  #price_calculator tbody > tr {
    width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5385162 *//* ---- Hard reset so nothing is hidden ---- */
.tinvwl_add_to_wishlist_button,
.tinvwl_add_to_wishlist_button * {
  visibility: visible !important;
  opacity: 1 !important;
  text-indent: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
}

/* ---- Button layout + typography ---- */
.tinvwl_add_to_wishlist_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  cursor: pointer !important;
  text-decoration: none !important;

  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;  /* Semi Bold */
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 22px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* The text span (TI uses different class names in skins; cover them all) */
.tinvwl_add_to_wishlist_button span,
.tinvwl_add_to_wishlist_button .tinvwl_add_to_wishlist_text,
.tinvwl_add_to_wishlist_button .tinvwl-txt,
.tinvwl_add_to_wishlist_button .text {
  display: inline !important;
  font: inherit !important;
  color: inherit !important;
  white-space: nowrap !important;
}

/* ---- Icon before text (outline by default) ---- */
.tinvwl_add_to_wishlist_button::before {
  content: "" !important;
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  background-image: url("/wp-content/uploads/2025/09/heart.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 20px 20px !important;
  flex: 0 0 20px !important;
  transition: opacity .2s ease !important;
}

/* Hover (optional) */
.tinvwl_add_to_wishlist_button:hover { opacity: .85 !important; }

/* ---- Active state: turn heart red-filled + text red ---- */
.tinvwl-product-in-list .tinvwl_add_to_wishlist_button::before {
  background-image: url("/wp-content/uploads/2025/09/heart-red.svg") !important;
}

.tinvwl-product-in-list .tinvwl_add_to_wishlist_button {
  color: #e11d48 !important; /* red-600 */
}

/* ---- If your theme hides anchors with icon-only styles, undo it ---- */
.tinvwl_add_to_wishlist_button i,
.tinvwl_add_to_wishlist_button svg {
  display: inline-block !important;
}

/* Some skins put the whole control inside .tinvwl_add_to_wishlist_container; ensure it doesn't hide */
.tinvwl_add_to_wishlist_container,
.tinvwl_add_to_wishlist_container * {
  display: initial !important;
}

.tinvwl_add_to_wishlist_button.tinvwl-product-in-list .tinvwl_add_to_wishlist-text{
    display: block !important;
}

.tinvwl-product-in-list .tinvwl_add_to_wishlist_button::after {
  content: "Added to Wishlist" !important;
  color: #e11d48 !important; /* red */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d732f06 */.elementor-338 .elementor-element.elementor-element-d732f06{
    height: 44px !important;
}


@media only screen and (max-width: 600px) {
.elementor-338 .elementor-element.elementor-element-d732f06{
    height: auto !important;
}

}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-f3cd759 */.elementor-338 .elementor-element.elementor-element-f3cd759 {
  position: relative;
}

.elementor-338 .elementor-element.elementor-element-f3cd759::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20%;
  height: 2px; /* 1px bigger if default is 1px */
  background-color: #005AE1; /* Replace with your desired color */
  z-index: 1;
}

.elementor-338 .elementor-element.elementor-element-f3cd759::after {
  content: '';
  position: absolute;
  left: 20%;
  top: 50%;
  transform: translateY(-50%);
  width: 80%;
  height: 1px;
  background-color: rgba(234, 237, 244, 1); /* Original divider color */
  z-index: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5c3d657 *//* Only affect the specific label that got the note */
.tc-epo-label.has-extra-note {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px;
}

.tc-epo-label.has-extra-note .extra-note {
  font-family: Inter;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: -0.02em;
  color: rgba(89, 89, 89, 1);
  margin-top: 2px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-80eeaa1 */.cpf-upload-status {
  margin-top: 8px;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: -0.02em;
}

.cpf-upload-status__row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 6px;
}

.cpf-upload-status__row--ok {
  background: rgba(16, 185, 129, 0.07);        /* subtle green */
  border-color: rgba(16, 185, 129, 0.25);
  color: rgba(17, 24, 39, 0.9);
}

.cpf-upload-status__row--err {
  background: rgba(239, 68, 68, 0.07);         /* subtle red */
  border-color: rgba(239, 68, 68, 0.25);
  color: rgba(17, 24, 39, 0.9);
}

.cpf-upload-status__icon {
  min-width: 16px;
  font-weight: 700;
}

.cpf-upload-status__text strong {
  font-weight: 600;
}

.cpf-upload-status__clear {
  margin-left: auto;
  border: 0;
  background: transparent;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
  color: inherit;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-42e70d9 */[id^="tc-epo-form-"] > div:nth-child(2) > div > div > div > div > div.tc-container.cpf-element.tc-cell.cpf-type-select.tcwidth.tcwidth-100.fullwidth-div.tc-is-required.iscpfdependson.is-epo-depend.tc-container-enabled{
    padding-left: 20px !important;
    padding-right: 20px!important;
}

[id^="tc-epo-form-"]  > div:nth-child(2) > div > div > div > div > div.tc-container.cpf-element.tc-cell.cpf-type-checkbox.tcwidth.tcwidth-100.iscpfdependson.is-epo-depend.tc-container-enabled{
    padding-left: 20px !important;
    padding-right: 20px!important;
    border-left: 1px solid rgba(234, 237, 244, 1) !important;
  border-right: 1px solid rgba(234, 237, 244, 1) !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

[id^="tc-epo-form-"]  > div:nth-child(2) > div > div > div > div > div.tc-container.tc-container-enabled.cpf-element.tc-cell.cpf-type-upload.tcwidth.tcwidth-100.fullwidth-div{
    border-top: 1px solid #e5e7eb !important;
    margin-top: 5px !important;
}

/* Shared base style for both rows */
div[data-uniqid="68c9bad375e228.35595098"],
div[data-uniqid="68ff657aa5ccd4.49215413"] {
  border-left: 1px solid rgba(234, 237, 244, 1) !important;
  border-right: 1px solid rgba(234, 237, 244, 1) !important;
  box-sizing: border-box !important;
  background: transparent !important;
  padding: 20px !important;
}

/* First row — top border + top corner rounding */
div[data-uniqid="68c9bad375e228.35595098"] {
  border-top: 1px solid rgba(234, 237, 244, 1) !important;
  border-bottom: none !important;
  border-top-left-radius: 8px !important;
  border-top-right-radius: 8px !important;
  margin-bottom: 0 !important;
}

/* Second row — bottom border + bottom corner rounding */
div[data-uniqid="68ff657aa5ccd4.49215413"] {
  border-bottom: 1px solid rgba(234, 237, 244, 1) !important;
  border-top: none !important;
  border-bottom-left-radius: 8px !important;
  border-bottom-right-radius: 8px !important;
  margin-top: -1px !important; /* removes double border line */
}/* End custom CSS */
/* Start custom CSS */[id^="tc-epo-form-"] > div:nth-child(2) > div > div > div > div > div.tc-container.cpf-element.tc-cell.cpf-type-select.tcwidth.tcwidth-100.fullwidth-div.tc-is-required.iscpfdependson.is-epo-depend.tc-container-enabled {
  border-bottom: none !important;
}


.select.tmcp-select{
    background-color: rgba(249, 249, 248, 1) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(242, 242, 242, 1); 
}



/* ===== Pixel UI for EPO (scoped to .tc-section-fields) ===== */
.tc-section-fields{
  --ui-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"!important;
  --text:#0f172a!important; --muted:#64748b!important;
  --b:#e5e7eb!important; --b2:#d1d5db!important;
  --bg:#fff!important; --soft:#f8fafc!important;
  --pill:#fff!important; --pill-br:#e2e8f0!important;
  --green:#22c55e!important; --green-weak:#dcfce7!important;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08)!important;
  font-family:var(--ui-font)!important;color:var(--text)!important;position:relative!important;

  /*  overall card around the options */
  border:1px solid var(--b)!important;border-radius:14px!important;padding:16px 16px 8px!important;box-shadow:var(--shadow)!important;
}

/* Top title (single, JS also injects) */
.tc-section-fields .epo-spec-title{margin:0 0 12px!important;font-weight:600!important;font-size:18px!important;line-height:28px!important}

/* Section rhythm */
.tc-section-fields .tc-container{padding:12px 0!important;border-bottom:1px solid var(--b)!important}
.tc-section-fields .tc-container:last-child{border-bottom:0!important}

/* Group headings */
.tc-section-fields h3.tc-epo-label{margin:0!important;font-size:16px!important;line-height:24px!important;font-weight:600!important}
.tc-section-fields .tm-epo-required{margin-left:6px!important;color:#ef4444!important}

/* ===== Labels left / options right (one line) ===== */
.tc-section-fields .tc-container.cpf-type-radio .tc-row,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-row{
  display:flex!important;align-items:center!important;gap:16px!important
}
.tc-section-fields .tc-container.cpf-type-radio .tc-epo-label,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-epo-label{flex:0 0 auto!important}
.tc-section-fields .tc-container.cpf-type-radio .tc-element-container,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-element-container{
  flex:1 1 auto!important;display:flex!important;justify-content:flex-end!important
}

/* options on the right: keep in a single row, tight gap */
.tc-section-fields .tmcp-elements{
  display:flex!important;flex-wrap:nowrap!important;gap:12px!important;justify-content:flex-end!important
}
.tc-section-fields .tmcp-elements .tmcp-field-wrap{flex:0 0 auto!important}

/* remove odd borders from theme */
.tc-section-fields .tmcp-field-wrap,
.tc-section-fields .tmcp-field-wrap-inner,
.tc-section-fields .tm-epo-field-label{border:none!important;box-shadow:none!important;outline:0!important}

/* ===== Capsule radios ===== */
.tc-section-fields input.tmcp-radio{
  appearance:none!important;-webkit-appearance:none!important;position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important
}
.tc-section-fields .tm-element-ul-radio .tc-label .tc-label-inner{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:36px!important;padding:6px 16px!important;border:1px solid var(--pill-br)!important;background:var(--pill)!important;border-radius:9999px!important;
  font-weight:500!important;font-size:14px!important;line-height:22px!important;letter-spacing:-.02em!important;color:var(--text)!important;transition:.16s ease all!important;cursor:pointer!important
}
.tc-section-fields .tm-element-ul-radio .tm-epo-field-label:hover .tc-label-inner{border-color:var(--b2)!important;box-shadow:var(--shadow)!important}
.tc-section-fields .tm-element-ul-radio input.tmcp-radio:checked ~ .tc-label .tc-label-inner{border-color:var(--text)!important;box-shadow:var(--shadow)!important}

/* Edged Treatment: green dot when active (uses [data-checked]) */
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner{height:32px!important;padding:4px 12px!important}
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner::before{
  content:""!important;width:8px!important;height:8px!important;border-radius:999px!important;margin-right:8px!important;display:inline-block!important;
  background:#fff0!important;border:2px solid var(--pill-br)!important;box-sizing:content-box!important
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner{
  border-color:var(--green)!important;background:var(--green-weak)!important
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner::before{
  background:var(--green)!important;border-color:var(--green)!important;box-shadow:0 0 0 2px #fff inset!important
}

/* ===== iOS switches ===== */
.tc-section-fields input.tmcp-checkbox{
  appearance:none!important;-webkit-appearance:none!important;width:42px!important;height:24px!important;border-radius:9999px!important;
  background:#e9edf2!important;border:1px solid var(--pill-br)!important;position:relative!important;cursor:pointer!important;transition:.18s ease all!important;margin-right:10px!important
}
.tc-section-fields input.tmcp-checkbox::after{
  content:""!important;position:absolute!important;top:2px!important;left:2px!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,24,40,.18)!important;transition:transform .18s ease!important
}
.tc-section-fields input.tmcp-checkbox:checked{background:var(--green)!important;border-color:var(--green)!important}
.tc-section-fields input.tmcp-checkbox:checked::after{transform:translateX(18px)!important}

/* hide “yes” labels */
.tc-section-fields .tm-element-ul-checkbox.element_2 .tc-label-text,
.tc-section-fields .tm-element-ul-checkbox.element_3 .tc-label-text{display:none!important}

/* ===== Type of holes card (dependent select) ===== */
.tc-section-fields .tm-element-ul-select.element_4{
  width:100%!important;background:var(--bg)!important;border:1px solid var(--b)!important;border-radius:12px!important;padding:14px!important;box-shadow:var(--shadow)!important;margin-top:12px!important
}
.tc-section-fields .epo-injected-label{display:block!important;font-weight:600!important;font-size:14px!important;line-height:22px!important;margin:0 0 10px!important}
.tc-section-fields .epo-injected-helper{display:block!important;color:var(--muted)!important;font-size:13px!important;line-height:20px!important;margin:-6px 0 10px!important}
.tc-section-fields .tm-element-ul-select.element_4 select.tmcp-select{
  width:100%!important;height:40px!important;padding:0 40px 0 12px!important;border:1px solid var(--b2)!important;border-radius:10px!important;background:var(--bg)!important;font-size:14px!important;color:var(--text)!important;appearance:none!important;outline:none!important;
  background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important
}
.tc-section-fields .tm-element-ul-select.element_4 .tc-price-wrap{display:none!important}
.tc-section-fields .epo-edit-link{
  display:inline-flex!important;align-items:center!important;gap:6px!important;margin-top:10px!important;color:#2563eb!important;font-size:14px!important;text-decoration:none!important
}
.tc-section-fields .epo-edit-link:hover{text-decoration:underline!important}

/* ===== Upload block ===== */
.tc-section-fields .cpf-upload-container-basic input[type=file]{opacity:0!important;position:absolute!important;width:.1px!important;height:.1px!important;overflow:hidden!important}
.tc-section-fields .cpf-upload-container-basic .cpf-upload-wrap::before{
  content:"+ Upload"!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:96px!important;height:36px!important;padding:0 14px!important;border-radius:10px!important;border:1px solid var(--b2)!important;background:var(--bg)!important;font-weight:500!important;cursor:pointer!important
}
.tc-section-fields small.tc-max-file-size{color:var(--muted)!important;font-size:13px!important}
.tc-section-fields .tm-element-description p{margin:0 0 8px!important;color:var(--text)!important;font-size:14px!important}
.tc-section-fields .tm-element-description a{color:#2563eb!important;text-decoration:none!important;font-weight:500!important}
.tc-section-fields .tm-element-description a:hover{text-decoration:underline!important}

/* ===== Totals card (when JS wraps it) ===== */
.epo-results-card{margin:16px 0 0!important;border:1px solid var(--b)!important;border-radius:12px!important;overflow:hidden!important;box-shadow:var(--shadow)!important;font-family:var(--ui-font)!important}
.epo-results-card .epo-row{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:12px 16px!important;font-size:14px!important;line-height:22px!important}
.epo-results-card .epo-row:first-child{background:var(--soft)!important}
.epo-results-card .epo-row:last-child{background:rgba(37,99,235,.06)!important}
.epo-results-card .epo-left{color:var(--text)!important;font-weight:600!important}
.epo-results-card .epo-right{color:var(--text)!important;font-weight:700!important}

/* Focus */
.tc-section-fields .tm-element-ul-radio .tc-label .tc-label-inner:focus,
.tc-section-fields select.tmcp-select:focus{outline:2px solid #93c5fd!important;outline-offset:2px!important}

/* === FIX 1: kill the unwanted boxes/borders coming from EPO text-mode === */
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tmcp-field-wrap,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tmcp-field-wrap-inner,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tm-epo-field-label,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tm-epo-field-label.fullwidth,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tc-epo-text-wrapper,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tc-epo-text-wrapper .tc-field-label-wrap {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Some themes add outlines/borders on focus/active to wrappers — strip them */
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio * {
  outline: 0 !important;
}

/* === FIX 2: force options into one inline row, aligned right === */
.tc-section-fields .cpf-type-radio .tc-element-container { display: flex !important; justify-content: flex-end !important; }
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio {
  display: flex !important;
  flex-wrap: nowrap !important;       /* never wrap */
  gap: 8px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  white-space: nowrap !important;      /* prevent line breaks inside */
}

/* Every option item must NOT grow or take 100% width (EPO sets widths on .tm-per-row) */
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tm-per-row,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tmcp-field-wrap,
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tmcp-field-wrap-inner {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

/* EPO labels are block/fullwidth by default — make them inline pills */
.tc-section-fields .tmcp-ul-wrap.tm-element-ul-radio .tm-epo-field-label.fullwidth {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}

/* === Keep the capsule look on the inner text span only (no outer box) === */
.tc-section-fields .tm-element-ul-radio .tc-label .tc-label-inner {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 36px !important;
  padding: 6px 16px !important;
  border: 1px solid #e2e8f0 !important;    /* light border */
  background: #fff !important;
  border-radius: 9999px !important;
  font: 500 14px/22px Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial !important;
  letter-spacing: -0.02em !important;
  color: #0f172a !important;
  transition: .16s ease all !important;
  box-shadow: none !important;
}

/* Checked state (both radio groups) */
.tc-section-fields .tm-element-ul-radio input.tmcp-radio:checked ~ .tc-label .tc-label-inner {
  border-color: #0f172a !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.08) !important;
}

/* Edged Treatment green-dot variant */
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner { height: 32px !important; padding: 4px 12px !important; }
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner::before {
  content: "" !important;
  width: 8px !important; height: 8px !important; margin-right: 8px !important;
  border-radius: 999px !important; box-sizing: content-box !important;
  background: transparent !important; border: 2px solid #e2e8f0 !important;
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner {
  background: #dcfce7 !important; border-color: #22c55e !important;
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner::before {
  background: #22c55e !important; border-color: #22c55e !important; box-shadow: inset 0 0 0 2px #fff !important;
}

.tc-section-fields .epo-injected-label{
	display:none !important;
}
.tc-section-fields .epo-injected-helper{
	display:none !important;
}


/* === HARD FIX: label left, options right, single line (no wrap) === */
/* 1) Turn each radio/checkbox row into a 2-column grid */
.tc-section-fields .tc-container.cpf-type-radio .tc-row,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-row{
  display:grid !important;
  grid-template-columns: minmax(220px,auto) 1fr !important; /* left label ~220px, right flexible */
  align-items:center !important;
  column-gap:24px !important;
  row-gap:0 !important;
  min-width:0 !important;
}

/* 2) Make sure the left heading is the left grid cell, with no extra margins */
.tc-section-fields .tc-container.cpf-type-radio .tc-epo-label,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-epo-label{
  grid-column:1 !important;
  margin:0 !important;
  min-width:0 !important;
}

/* 3) Options container is the right cell and aligns content to the far right */
.tc-section-fields .tc-container.cpf-type-radio .tc-element-container,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-element-container{
  grid-column:2 !important;
  justify-self:end !important;
  min-width:0 !important;
}

/* 4) The UL that holds the options: one line, tight gap, no wrapping */
.tc-section-fields .tc-container.cpf-type-radio .tmcp-ul-wrap,
.tc-section-fields .tc-container.cpf-type-checkbox .tmcp-ul-wrap{
  display:flex !important;
  flex-wrap:nowrap !important;         /* NEVER wrap */
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  white-space:nowrap !important;
  max-width:100% !important;
}

/* 5) EPO tries to make each item full-width; kill that */
.tc-section-fields .tmcp-ul-wrap .tm-per-row,
.tc-section-fields .tmcp-ul-wrap .tmcp-field-wrap,
.tc-section-fields .tmcp-ul-wrap .tmcp-field-wrap-inner,
.tc-section-fields .tmcp-ul-wrap .tm-epo-field-label,
.tc-section-fields .tmcp-ul-wrap .tm-epo-field-label.fullwidth,
.tc-section-fields .tmcp-ul-wrap .tc-col,
.tc-section-fields .tmcp-ul-wrap .tm-label,
.tc-section-fields .tmcp-ul-wrap .tc-field-label-wrap{
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  outline:0 !important;
}

/* 6) Keep the pill only on the INNER span — removes those outer boxes for good */
.tc-section-fields .tm-element-ul-radio .tc-label .tc-label-inner,
.tc-section-fields .tm-element-ul-checkbox .tc-label .tc-label-inner{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:36px !important;
  padding:6px 16px !important;
  border:1px solid #e2e8f0 !important;
  background:#fff !important;
  border-radius:9999px !important;
  font:500 14px/22px Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial !important;
  letter-spacing:-.02em !important;
  color:#0f172a !important;
  box-shadow:none !important;
}

/* 7) Keep your existing “green dot” behavior */
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner{height:32px !important;padding:4px 12px !important}
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner::before{
  content:"" !important; width:8px !important; height:8px !important; margin-right:8px !important;
  border-radius:999px !important; background:transparent !important; border:2px solid #e2e8f0 !important;
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner{
  background:#dcfce7 !important; border-color:#22c55e !important;
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner::before{
  background:#22c55e !important; border-color:#22c55e !important; box-shadow:inset 0 0 0 2px #fff !important;
}

/* 8) Small screens can wrap if absolutely necessary */
@media (max-width: 420px){
  .tc-section-fields .tc-container.cpf-type-radio .tmcp-ul-wrap,
  .tc-section-fields .tc-container.cpf-type-checkbox .tmcp-ul-wrap{flex-wrap:wrap !important}
}
/* === 1) ROW LAYOUT: label left, options right (no overlap, no wrap) === */
.tc-section-fields .tc-container.cpf-type-radio .tc-row,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-row{
  display:grid !important;
  grid-template-columns: max-content 1fr !important; /* left = label width, right = flexible */
  align-items:center !important;
  column-gap:24px !important;
  min-width:0 !important;
}
.tc-section-fields .tc-container.cpf-type-radio .tc-epo-label,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-epo-label{
  grid-column:1 !important; margin:0 !important; min-width:0 !important;
}
.tc-section-fields .tc-container.cpf-type-radio .tc-element-container,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-element-container{
  grid-column:2 !important; justify-self:end !important; min-width:0 !important;
}

/* options UL: single line on the right, sized to its content */
.tc-section-fields .tc-container.cpf-type-radio .tmcp-ul-wrap,
.tc-section-fields .tc-container.cpf-type-checkbox .tmcp-ul-wrap{
  display:flex !important; flex-wrap:nowrap !important;
  gap:8px !important; justify-content:flex-end !important; align-items:center !important;
  white-space:nowrap !important; width:max-content !important; max-width:100% !important;
}

/* kill any full-width rules EPO adds on items */
.tc-section-fields .tmcp-ul-wrap .tm-per-row,
.tc-section-fields .tmcp-ul-wrap .tmcp-field-wrap,
.tc-section-fields .tmcp-ul-wrap .tmcp-field-wrap-inner,
.tc-section-fields .tmcp-ul-wrap .tm-epo-field-label,
.tc-section-fields .tmcp-ul-wrap .tm-epo-field-label.fullwidth,
.tc-section-fields .tmcp-ul-wrap .tc-col,
.tc-section-fields .tmcp-ul-wrap .tm-label,
.tc-section-fields .tmcp-ul-wrap .tc-field-label-wrap{
  flex:0 0 auto !important; width:auto !important; max-width:none !important; margin:0 !important;
  border:0 !important; box-shadow:none !important; background:transparent !important; outline:0 !important;
}

/* === 2) Remove odd left padding/indent on “Type of holes” & Upload rows === */
.tc-section-fields .tc-container.cpf-type-select .tc-row,
.tc-section-fields .tc-container.cpf-type-upload .tc-row{
  padding-left:0 !important;
}
.tc-section-fields .tc-container.cpf-type-select .tc-element-container,
.tc-section-fields .tc-container.cpf-type-upload .tc-element-container{
  padding-left:0 !important; margin-left:0 !important;
}
.tc-section-fields .tm-element-ul-select.element_4{ margin-left:0 !important; }
.tc-section-fields .tm-element-ul-upload.element_5{ margin-left:0 !important; }

/* tighten inner padding of the select card so it visually aligns */
.tc-section-fields .tm-element-ul-select.element_4{
  padding:12px !important; /* was 14 */
}

/* === 3) Label typography exactly as requested === */
.tc-section-fields h3.tc-epo-label,
.tc-section-fields .tc-epo-label .tc-epo-element-label-text,
.tc-section-fields .holes-head .left{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial !important;
  font-weight:500 !important; /* Medium */
  font-style:normal !important;
  font-size:14px !important;
  line-height:22px !important;
  letter-spacing:-0.02em !important;
}

/* keep the little red * next to labels aligned/smaller */
.tc-section-fields .tm-epo-required{ margin-left:6px !important; font-size:14px !important; line-height:22px !important; }

/* (Optional) if any pill still tries to drop below the label, force inline behavior for stray blocks */
.tc-section-fields .tmcp-ul-wrap *{ display:inline-flex !important; }
/* ==== Base tokens ==== */
.tc-section-fields{
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  --text:#0f172a; --muted:#64748b;
  --b:#e5e7eb; --b2:#d1d5db;
  --bg:#fff; --soft:#f8fafc;
  --pill:#fff; --pill-br:#e2e8f0;
  --green:#22c55e; --green-weak:#dcfce7;
  --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  font-family:var(--font)!important; color:var(--text)!important;
  border:1px solid var(--b); border-radius:14px; padding:16px 16px 8px; box-shadow:var(--shadow);
}

/* Title style */
.tc-section-fields .epo-spec-title{margin:0 0 12px; font:700 20px/28px var(--font)}

/* Section rhythm & dividers */
.tc-section-fields .tc-container{padding:14px 0; border-bottom:1px solid var(--b)}
.tc-section-fields .tc-container:last-child{border-bottom:0}

/* ==== Label typography (your spec) ==== */
.tc-section-fields h3.tc-epo-label,
.tc-section-fields .tc-epo-label .tc-epo-element-label-text{
  font-family:var(--font)!important; font-weight:500!important; font-style:normal!important;
  font-size:14px!important; line-height:22px!important; letter-spacing:-0.02em!important;
  margin:0!important;
}
.tc-section-fields .tm-epo-required{margin-left:6px; color:#ef4444; font-size:14px; line-height:22px}

/* ==== Row layout: label left, options to the right (one line) ==== */
.tc-section-fields .tc-container.cpf-type-radio .tc-row,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-row{
  display:grid !important;
  grid-template-columns:max-content 1fr !important; /* left fits label, right flexes */
  align-items:center !important; column-gap:24px !important; min-width:0 !important;
}
.tc-section-fields .tc-container.cpf-type-radio .tc-epo-label,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-epo-label{grid-column:1 !important}
.tc-section-fields .tc-container.cpf-type-radio .tc-element-container,
.tc-section-fields .tc-container.cpf-type-checkbox .tc-element-container{
  grid-column:2 !important; justify-self:end !important; min-width:0 !important;
}

/* Options tray on the right: single line, tight gap */
.tc-section-fields .tmcp-ul-wrap{display:flex!important; flex-wrap:nowrap!important; gap:12px!important;
  justify-content:flex-start!important; align-items:center!important; white-space:nowrap!important}

/* Nix EPO’s full-width blocks & borders */
.tc-section-fields .tmcp-ul-wrap .tm-per-row,
.tc-section-fields .tmcp-ul-wrap .tmcp-field-wrap,
.tc-section-fields .tmcp-ul-wrap .tmcp-field-wrap-inner,
.tc-section-fields .tmcp-ul-wrap .tm-epo-field-label,
.tc-section-fields .tmcp-ul-wrap .tm-epo-field-label.fullwidth,
.tc-section-fields .tmcp-ul-wrap .tc-col,
.tc-section-fields .tmcp-ul-wrap .tm-label,
.tc-section-fields .tmcp-ul-wrap .tc-field-label-wrap{
  flex:0 0 auto !important; width:auto !important; max-width:none !important; margin:0 !important;
  border:0 !important; box-shadow:none !important; background:transparent !important; outline:0 !important;
}

/* ==== Capsule radios (both groups) ==== */
.tc-section-fields input.tmcp-radio{appearance:none; -webkit-appearance:none; position:absolute; width:1px; height:1px; opacity:0}
.tc-section-fields .tm-element-ul-radio .tc-label .tc-label-inner{
  display:inline-flex; align-items:center; justify-content:center;
  height:36px; padding:6px 16px; border:1px solid var(--pill-br); background:var(--pill); border-radius:9999px;
  font:500 14px/22px var(--font); letter-spacing:-0.02em; color:var(--text); transition:.16s ease all; cursor:pointer
}
.tc-section-fields .tm-element-ul-radio .tm-epo-field-label:hover .tc-label-inner{border-color:var(--b2); box-shadow:var(--shadow)}
.tc-section-fields .tm-element-ul-radio input.tmcp-radio:checked ~ .tc-label .tc-label-inner{border-color:var(--text); box-shadow:var(--shadow)}

/* Edged Treatment green dot (driven by [data-checked]) */
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner{height:32px; padding:4px 12px}
.tc-section-fields .tm-element-ul-radio.element_1 .tc-label .tc-label-inner::before{
  content:""; width:8px; height:8px; margin-right:8px; border-radius:999px; box-sizing:content-box;
  background:transparent; border:2px solid var(--pill-br)
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner{background:var(--green-weak); border-color:var(--green)}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner::before{background:var(--green); border-color:var(--green); box-shadow:inset 0 0 0 2px #fff}

/* ==== iOS switches (and hide trailing “yes”) ==== */
.tc-section-fields input.tmcp-checkbox{
  appearance:none; -webkit-appearance:none; width:42px; height:24px; border-radius:9999px;
  background:#e9edf2; border:1px solid var(--pill-br); position:relative; cursor:pointer; transition:.18s;
}
.tc-section-fields input.tmcp-checkbox::after{
  content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%;
  background:#fff; box-shadow:0 1px 2px rgba(16,24,40,.18); transition:transform .18s
}
.tc-section-fields input.tmcp-checkbox:checked{background:var(--green); border-color:var(--green)}
.tc-section-fields input.tmcp-checkbox:checked::after{transform:translateX(18px)}
.tc-section-fields .tm-element-ul-checkbox.element_2 .tc-label-text,
.tc-section-fields .tm-element-ul-checkbox.element_3 .tc-label-text{display:none}

/* ==============================================================
   MERGED CARD: “Do you need hole” + “Type of holes” in one box
   ============================================================== */

/* Add the top/bottom card styling (JS adds .holes-card-top / .holes-card-bottom) */
.tc-section-fields .holes-card-top{
  border:none; border-radius:12px 12px 0 0; background:var(--bg); padding:0;
  margin-bottom:0; /* swallow the usual divider */
}
.tc-section-fields .holes-card-bottom{
  border:1px solid var(--b); border-top:0; border-radius:0 0 12px 12px; background:var(--bg); padding:12px 14px 14px;
  margin-top:0;
}
/* Remove the normal section dividers around these two blocks */
.tc-section-fields .holes-card-top.tc-container,
.tc-section-fields .holes-card-bottom.tc-container{border-bottom:0}

/* Inside the bottom card: header row (title left, helper right) */
.tc-section-fields .holes-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 10px}
.tc-section-fields .holes-head .left{font:500 14px/22px var(--font); letter-spacing:-0.02em}
.tc-section-fields .holes-head .right{color:var(--muted); font:400 13px/20px var(--font)}

/* Select box inside the card */
.tc-section-fields .tm-element-ul-select.element_4{border:0; padding:0; box-shadow:none; background:transparent}
.tc-section-fields .tm-element-ul-select.element_4 select.tmcp-select{
  width:100%; height:40px; padding:0 40px 0 12px; border:1px solid var(--b2); border-radius:10px; background:var(--bg);
  font:400 14px/22px var(--font); color:var(--text); appearance:none; outline:none;
  background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%), linear-gradient(135deg,#94a3b8 50%,transparent 50%);
  background-position:calc(100% - 18px) 18px, calc(100% - 12px) 18px; background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
}
.tc-section-fields .tm-element-ul-select.element_4 .tc-price-wrap{display:none}

/* “Edit hole” link spacing */
.tc-section-fields .epo-edit-link{display:inline-flex; margin-top:10px; color:#2563eb; font:500 14px/22px var(--font); text-decoration:none}
.tc-section-fields .epo-edit-link:hover{text-decoration:underline}

/* ==============================================================
   Upload section (card + button)
   ============================================================== */
.tc-section-fields .tc-container.cpf-type-upload{border-bottom:0} /* no divider after */
.tc-section-fields .tm-element-ul-upload.element_5{
  border:1px solid var(--b); border-radius:12px; background:var(--bg); padding:12px 14px; box-shadow:var(--shadow)
}
.tc-section-fields .tm-element-description p{margin:0 0 8px; font:400 14px/22px var(--font); color:var(--text)}
.tc-section-fields .tm-element-description a{color:#2563eb; text-decoration:none; font-weight:500}
.tc-section-fields .tm-element-description a:hover{text-decoration:underline}

.tc-section-fields .cpf-upload-container-basic input[type=file]{opacity:0; position:absolute; width:.1px; height:.1px; overflow:hidden}
.tc-section-fields .cpf-upload-container-basic .cpf-upload-wrap::before{
  content:"+ Upload"; display:inline-flex; align-items:center; justify-content:center;
  min-width:112px; height:38px; padding:0 16px; border-radius:10px; border:1px solid var(--b2); background:var(--bg);
  font:500 14px/22px var(--font); cursor:pointer
}
.tc-section-fields small.tc-max-file-size{color:var(--muted); font:400 13px/20px var(--font)}

/* ==============================================================
   Totals card (separate box below options)
   ============================================================== */
.tm-epo-totals.tm-custom-prices-total{
   border-radius:12px; box-shadow:var(--shadow); background:var(--bg);
   margin-top:16px; overflow:hidden; font-family:var(--font);
  
  
   border: 1px rgba(234, 237, 244, 1) !important;
    padding: 20px !important;
    margin-bottom: 24px!important;
}
.tm-epo-totals .tm-extra-product-options-totals{display:grid; grid-template-columns:1fr auto; margin:0}
.tm-epo-totals .tm-extra-product-options-totals dt,
.tm-epo-totals .tm-extra-product-options-totals dd{margin:0; padding:12px 16px; font:500 14px/22px var(--font)}
.tm-epo-totals .tm-extra-product-options-totals dt{color:var(--text)}
.tm-epo-totals .tm-extra-product-options-totals dd{text-align:right}
.tm-epo-totals .tm-options-totals ~ dd.tm-options-totals{background:var(--soft)}
.tm-epo-totals .tm-final-totals,
.tm-epo-totals .tm-final-totals + dd{background:rgba(37,99,235,.06); font-family: Geist !important;
font-weight: 600 !important;
font-style: SemiBold !important;
font-size: 16px !important;
leading-trim: NONE !important;
line-height: 24px !important;
letter-spacing: -3% !important;}



.tm-extra-product-options .tc-active .tc-label-text{
    font-weight: 500 !important;
}


/* 1) iOS switches: remove the extra circle on the right */
.tc-section-fields .tm-element-ul-checkbox .tc-label .tc-label-inner {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.tc-section-fields .tm-element-ul-checkbox .tc-label .tc-label-inner::before {
  display: none !important;
}
/* keep only the toggle you already see */
.tc-section-fields .tm-element-ul-checkbox .tc-input-wrap,
.tc-section-fields .tm-element-ul-checkbox .tmcp-checkbox {
  display: inline-flex !important;
}

/* 2) Edged Treatment (element_1): selected pill = green border, WHITE background */
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner {
  background: #ffffff !important;
  border-color: #22c55e !important;
}
.tc-section-fields .tm-element-ul-radio.element_1 label[data-checked="true"] .tc-label-inner::before {
  background: #22c55e !important;
  border-color: #22c55e !important;
  box-shadow: inset 0 0 0 2px #ffffff !important;
}

/* 3) Upload block: remove card border/offset and align left */
.tc-section-fields .tc-container.cpf-type-upload .tc-row,
.tc-section-fields .tc-container.cpf-type-upload .tc-element-container {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.tc-section-fields .tm-element-ul-upload.element_5 {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.tc-section-fields .cpf-upload-container-basic .cpf-upload-wrap::before {
  min-width: 112px;
  height: 38px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid #d1d5db;  /* neutral border for the button only */
  background: #ffffff;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-weight: 500;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -0.02em;
}

/* (optional) text under upload */
.tc-section-fields .tm-element-description p {
  margin: 8px 0 6px !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size: 14px;
  line-height: 22px;
  color: #0f172a;
}
.tc-section-fields small.tc-max-file-size {
  color: #64748b;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size: 13px;
  line-height: 20px;
}
.tc-section-fields input.tmcp-checkbox::after{
    top: 1px !important;
}


/* A) Select glass shape — make selected pill show green border + white bg */
.tc-section-fields .tm-element-ul-radio.element_0 input.tmcp-radio:checked ~ .tc-label .tc-label-inner,
.tc-section-fields .tm-element-ul-radio.element_0 li.tc-active .tc-label .tc-label-inner,
.tc-section-fields .tm-element-ul-radio.element_0 [aria-checked="true"] ~ .tc-label .tc-label-inner {
  border: 1px solid #22c55e !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.06), 0 1px 3px rgba(16,24,40,.08) !important;
}

/* keep pill base tidy */
.tc-section-fields .tm-element-ul-radio.element_0 .tc-label .tc-label-inner {
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
}

/* B) Upload section — stick left, remove outer card border/offset */
.tc-section-fields .tc-container.cpf-type-upload .tc-element-container { justify-self: start !important; }
.tc-section-fields .tm-element-ul-upload.element_5 {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}
.tc-section-fields .cpf-upload-container-basic { text-align: left !important; }
.tc-section-fields .cpf-upload-container-basic .cpf-upload-wrap { display: inline-flex !important; }
.tc-section-fields .cpf-upload-container-basic .cpf-upload-wrap::before {
  margin: 0 !important;
  min-width: 112px; height: 38px; padding: 0 16px;
  border-radius: 10px; border: 1px solid #d1d5db; background: #ffffff;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-weight: 500; font-size: 14px; line-height: 22px; letter-spacing: -0.02em;
}

/* C) Type of holes — clean card, no extra borders, tidy header + select */
.tc-section-fields .tm-element-ul-select.element_4 {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* remove the big rounded box around the select */
.tc-section-fields .tm-element-ul-select.element_4 .tc-field-label-wrap { padding: 0 !important; }
.tc-section-fields .tm-element-ul-select.element_4 .tm-tooltip { display: none !important; }

/* header row inside the section (added by JS) */
.tc-section-fields .holes-head {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  margin: 0 0 10px !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}
.tc-section-fields .holes-head .left { font-weight: 500; font-size: 14px; line-height: 22px; letter-spacing: -0.02em; }
.tc-section-fields .holes-head .right { color: #64748b; font-size: 13px; line-height: 20px; }

/* select styling */
.tc-section-fields .tm-element-ul-select.element_4 select.tmcp-select {
  width: 100% !important; height: 40px !important;
  padding: 0 40px 0 12px !important;
  border: 1px solid #d1d5db !important; border-radius: 10px !important; background: #ffffff !important;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-size: 14px; line-height: 22px; color: #0f172a;
  appearance: none; outline: none;
  background-image: linear-gradient(45deg, transparent 50%, #94a3b8 50%), linear-gradient(135deg, #94a3b8 50%, transparent 50%);
  background-position: calc(100% - 18px) 18px, calc(100% - 12px) 18px;
  background-size: 6px 6px, 6px 6px; background-repeat: no-repeat;
}

/* merge the checkbox and select into one seamless card (top + bottom halves) */
.tc-section-fields .holes-card-top {
  border: none !important; border-radius: 12px 12px 0 0 !important;
  background: #ffffff !important; padding: 0 !important; margin: 0 !important;
}
.tc-section-fields .holes-card-bottom {
  border: 1px solid #e5e7eb !important; border-top: 0 !important;
  border-radius: 0 0 12px 12px !important; background: #ffffff !important;
  padding: 12px 14px 14px !important; margin: 0 !important;
}

/* make sure no divider line cuts through the merged card */
.tc-section-fields .holes-card-top.tc-container,
.tc-section-fields .holes-card-bottom.tc-container { border-bottom: 0 !important; }


















/* Calculator row inside the EPO card (no horizontal padding) */
#tm-extra-product-options .epo-calc-row{
  padding: 16px 0 12px;              /* top/bottom only */
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

/* keep your existing calculator styling, but scope it inside the row */
#tm-extra-product-options .epo-calc-row #price_calculator,
#tm-extra-product-options .epo-calc-row #price_calculator tbody,
#tm-extra-product-options .epo-calc-row #price_calculator tr,
#tm-extra-product-options .epo-calc-row #price_calculator td{
  border: 0 !important; background: transparent; padding: 0; margin: 0;
}

#tm-extra-product-options .epo-calc-row #price_calculator tbody{display:flex;flex-wrap:wrap;gap:24px;}
#tm-extra-product-options .epo-calc-row #price_calculator tbody>tr{display:flex;flex-direction:column;width:calc(50% - 12px);box-sizing:border-box;}

#tm-extra-product-options .epo-calc-row #price_calculator label{
  display:inline-block;margin-bottom:8px;font-family:'Inter',sans-serif;font-weight:500;font-size:14px;line-height:22px;letter-spacing:-0.02em;color:#000;
}
#tm-extra-product-options .epo-calc-row #price_calculator label::after{content:" *";color:#E53935;}

#tm-extra-product-options .epo-calc-row #price_calculator input.amount_needed{
  width:100%;box-sizing:border-box;padding:8px 16px;border:1px solid rgba(242,242,242,1);
  border-radius:8px;background:rgba(249,249,249,1);font-family:'Inter',sans-serif;font-size:16px;line-height:24px;color:#000;
}
#tm-extra-product-options .epo-calc-row #price_calculator input.amount_needed:focus{border-color:#E53935;background:#fff;}

/* hide total area & product price rows */
#tm-extra-product-options .epo-calc-row #price_calculator tr:has(.wc-measurement-price-calculator-total-amount),
#tm-extra-product-options .epo-calc-row #price_calculator tr:has(.product_price),
#tm-extra-product-options .epo-calc-row #price_calculator tr:nth-of-type(3),
#tm-extra-product-options .epo-calc-row #price_calculator tr:nth-of-type(4){display:none!important;}

@media (max-width:600px){
  #tm-extra-product-options .epo-calc-row #price_calculator tbody>tr{width:100%;}
}

#tm-extra-product-options .epo-calc-row{
    margin-bottom: 0 !important;
}






.tc-label-wrap{
    align-items: center !important;
}

.tm-extra-product-options .tc-row, .tc-row{
    gap: 0 !important;
}





/* ===== Calculated Results – Container ===== */
#tm-epo-totals {
  background: #ffffff !important;
  border: 1px solid rgba(234, 237, 244, 1) !important;
  padding: 16px !important;
  font-family: 'Geist', sans-serif !important;
}

/* Heading */
#tm-epo-totals::before {
  content: "Calculated Results" !important;
  display: block !important;
  margin: 0 0 12px 0 !important;
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;            /* SemiBold */
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 28px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* Layout: labels left, values right (no column gap so Final row is seamless) */
#tm-epo-totals dl {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  column-gap: 0 !important;
  row-gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Reset default dt/dd spacing */
#tm-epo-totals dt,
#tm-epo-totals dd {
  margin: 0 !important;
  padding: 0 !important;
}

/* Typography for labels */
#tm-epo-totals dt {
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;            /* SemiBold */
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* Typography for values */
#tm-epo-totals dd {
  text-align: right !important;
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;            /* SemiBold */
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* Force Woo price parts to be black as well */
#tm-epo-totals dd .price,
#tm-epo-totals dd .woocommerce-Price-amount,
#tm-epo-totals dd .woocommerce-Price-amount bdi,
#tm-epo-totals dd .woocommerce-Price-currencySymbol {
  color: #000 !important;
  font: inherit !important; /* inherit Geist/weight/size/line-height */
}

/* Options row: no special background */
#tm-epo-totals dt.tm-options-totals,
#tm-epo-totals dd.tm-options-totals {
  background: transparent !important;
  padding: 0 !important;
}

/* Final Total row: seamless blue bar across both columns */
#tm-epo-totals dt.tm-final-totals,
#tm-epo-totals dd.tm-final-totals {
  background: rgba(0, 90, 225, 0.1) !important;
  padding: 10px 16px !important;          /* 10–16 as requested */
}

/* Optional: small rounding for the blue bar edges */
#tm-epo-totals dt.tm-final-totals { border-radius: 6px 0 0 6px !important; }
#tm-epo-totals dd.tm-final-totals { border-radius: 0 6px 6px 0 !important; }











/* === Container === */
#tm-epo-totals {
  background: #ffffff !important;
  border: 1px solid rgba(234, 237, 244, 1) !important;
  padding: 16px !important;
  font-family: 'Geist', sans-serif !important;
}

/* === Heading === */
#tm-epo-totals::before {
  content: "Calculated Results" !important;
  display: block !important;
  margin: 0 0 12px 0 !important;
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 28px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* === Grid layout for rows === */
#tm-epo-totals dl {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  column-gap: 0 !important;
  row-gap: 0 !important; /* no gap between rows */
  margin: 0 !important;
  padding: 0 !important;
}

#tm-epo-totals dt,
#tm-epo-totals dd {
  margin: 0 !important;
  padding: 0 !important;
}

/* === Shared typography for labels & values === */
#tm-epo-totals dt,
#tm-epo-totals dd {
  font-family: 'Geist', sans-serif !important;
  font-weight: 400 !important; /* Regular for label */
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* === Right-align numbers === */
#tm-epo-totals dd {
  text-align: right !important;
}

/* === OPTIONS AMOUNT ROW === */
#tm-epo-totals dt.tm-options-totals,
#tm-epo-totals dd.tm-options-totals {
  background: #f4f7fb !important;
  padding: 10px 16px !important;
  font-weight: 400 !important; /* regular weight */
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* === FINAL TOTAL ROW === */
#tm-epo-totals dt.tm-final-totals,
#tm-epo-totals dd.tm-final-totals {
  background: rgba(0, 90, 225, 0.1) !important;
  padding: 10px 16px !important;
  font-weight: 600 !important; /* semibold for final total */
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 24px !important;
  letter-spacing: -0.03em !important;
  color: #000 !important;
}

/* === Rounded corners for visual polish === */
#tm-epo-totals dt.tm-options-totals { border-radius: 6px 0 0 0 !important; }
#tm-epo-totals dd.tm-options-totals { border-radius: 0 6px 0 0 !important; }
#tm-epo-totals dt.tm-final-totals { border-radius: 0 0 0 6px !important; }
#tm-epo-totals dd.tm-final-totals { border-radius: 0 0 6px 0 !important; }

/* === Ensure WooCommerce price elements inherit these fonts === */
#tm-epo-totals dd .price,
#tm-epo-totals dd .woocommerce-Price-amount,
#tm-epo-totals dd .woocommerce-Price-amount bdi,
#tm-epo-totals dd .woocommerce-Price-currencySymbol {
  color: #000 !important;
  font: inherit !important;
}
/* Left-align numbers in calculator inputs */
#price_calculator input[type="text"],
#price_calculator input.amount_needed {
  text-align: left !important;
}
/* Left-align numbers + consistent border on focus */
#price_calculator input[type="text"],
#price_calculator input.amount_needed {
  text-align: left;
  border: 1px solid rgba(242, 242, 242, 1);
  border-radius: 8px;
  outline: none;
  transition: none; /* optional: remove animation */
}

/* Keep same border while typing / active */
#price_calculator input[type="text"]:focus,
#price_calculator input.amount_needed:focus {
  border: 1px solid rgba(242, 242, 242, 1) !important;
  box-shadow: none !important;
}


/* Add heading above “Select glass shape” purely with CSS */
.tc-section-fields .tc-container.tc-is-required:first-of-type::before {
  content: "Specify Your Requirements";
  display: block;
  font-family: "Geist", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 600;         /* SemiBold */
  font-style: normal;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: -0.03em;  /* -3% */
  color: rgba(16, 16, 16, 1);
  margin: 0 0 10px 0;       /* spacing below heading */
}

/* Optional: keep calculator and fields flush */
.tc-section-fields .tc-row .epo-calc-row {
  padding-left: 0;
  padding-right: 0;
}/* End custom CSS */