/*======================================
Theme Name: SorbIts
Description: Child theme for SorbIts
Version: 1.0
Author: Rally Digital
Author URI: https://rally.digital/
Template: Divi
======================================*/


/*=======================
Cart Page CSS START
====================*/
body #page-container .et_pb_section .et_pb_wc_cart_products_0_tb_body table.cart button[name="update_cart"]:disabled, body #page-container .et_pb_section .et_pb_wc_cart_products_0_tb_body table.cart button[name="update_cart"]:not([disabled]) {
    display: none;
}

.woocommerce table.shop_table td.actions {
  display: none !important; /* or block, depending on structure */
}

.woocommerce table.shop_table tbody th, 
.woocommerce table.shop_table tfoot td, 
.woocommerce table.shop_table tfoot th {
	font-weight: 500;
}

.woocommerce table.shop_table strong {
	font-weight: 500;
}

.woocommerce table.shop_table tbody tr.first-delivery th,
.woocommerce table.shop_table tfoot tr.first-delivery th,
.woocommerce table.shop_table tbody tr.recurring-totals th,
.woocommerce table.shop_table tfoot tr.recurring-totals th {
  font-weight: 700;
}
.woocommerce table.shop_table tfoot tr.first-delivery th {
	border-top: 0;
}

.woocommerce table.shop_table td.actions.active {
  display: table-cell !important; /* or block, depending on structure */
}


.woocommerce-cart-form [name="update_cart"]:disabled {
  display: none;
}

.et_pb_button.disabled {
	pointer-events: none;
	background-color: gray!important;
}

.woocommerce-cart-form .show-update-button:not(:disabled) {
  display: inline-block !important;
}

.pswp {
 z-index: 1000002; /* Higher than your popup's z-index */
}

/*
.woocommerce table.shop_table td.actions {
	display: none!important;
}*/


/*=======================
Cart Page CSS END
====================*/


/*=======================
Checkout Page CSS START
====================*/
div#delivery_instructions_title_field {
    margin-top: 35px;
    margin-bottom: 0px;
	padding-top: 25px;
}


/*=======================
Checkout Page CSS END
====================*/

.woocommerce-checkout-review-order-table th.product-name,
.woocommerce-checkout-review-order-table td.product-name,
.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table td.product-total, #payment .payment_methods li img.stripe-icon, .woocommerce-cart table.cart th.product-price, .woocommerce-cart table.cart td.product-price, .first-payment-date  {
    display: none !important;
}

.et_pb_wc_cart_products_0_tb_body form .qty.input-text, .et_pb_wc_cart_products_0_tb_body table.cart td.actions .coupon .input-text { width: 200px !important; }

span.lbswaste { font-weight: bold; color: #1f70b8; }


.woocommerce-checkout #payment div.payment_box { padding: 0 !important; margin: 0 !important; }
body #page-container .et_pb_section .et_pb_wc_checkout_payment_info_0_tb_body #payment #place_order { margin-top: 20px; width: 100%; }

/* Increase the width of the coupon field */
.et_pb_wc_cart_products.et_pb_row_layout_horizontal table.cart .coupon .input-text { width: 200px !important; background: none !important; border: 1px solid #ccc !important; }

.et_pb_wc_cart_totals_0_tb_body h2 { display: none; }
.woocommerce-cart table.cart img { width: 110px; }


.custom-product-container { display: flex; flex-direction: column; gap: 20px; } 
.custom-product { display: flex; align-items: flex-start; gap: 20px; border-bottom: 1px solid #666; padding-bottom: 20px; position:relative;  } 
.home .custom-product {
	border: 0;
}
.custom-product-left { width: 35%; } 
.custom-gallery-container {
	display: flex;
	flex-direction: column;
}
.custom-product-left img { width: 100%; height: auto; } 
.custom-product-right { width: 65%; } 
.custom-product-right h2 { margin: 0; padding-bottom: 0px; font-size: 20px; line-height: 1em; } 
.custom-product-right p { margin: 5px 0; } 
.custom-product-right a.included-with-service-link {
	display:block;
	margin: 1rem 0 2rem;
}

.custom-product-gallery {
    margin-top: 10px;
	max-width: 100%;
    display: flex;
    gap: 10px;
}
.custom-product-gallery a {	
	aspect-ratio: 1;
	display: flex;
	flex: 1;
}
.custom-product-gallery img {
    height: auto;
    border: 1px solid #ddd;
    cursor: pointer;
	flex: 1;
}
.custom-product-gallery img:hover {
    border-color: #333;
}
a.custom-thumb {
  opacity: 0.5;
  transition: opacity 0.3s ease;
}

a.custom-thumb.active {
  opacity: 1;
}

.woocommerce-product-gallery__image {
	position: relative;
}

.woocommerce-product-gallery__image > a {
	height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.woocommerce-product-gallery__image .main-image-link {
	max-width: 400px;
	aspect-ratio: 1;
}

.home .woocommerce-product-gallery__image .main-image-link {
	max-width: 100%;	
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	z-index: 10;
	left: 1rem;
	top: 1rem;
}
.woocommerce-product-gallery__image .main-image-link .wp-post-image {
	object-fit: cover;
}


/* Quantity Input & Add to Cart Styling */ 
.custom-cart { display: flex; align-items: center; gap: 10px; } 
.custom-qty { display: flex; align-items: center; gap: 5px; } 
.custom-qty label { font-weight: bold; } 
.custom-qty input { width: 100px; padding: 8px; text-align: center; background-color: #f1f1f1; border: none; font-size: 16px; outline: none; } 
.custom-cart button { display: none; }  /* Hides the Add to Cart button */
.discounted-subtotal {
	color: #5daa46;
}
/* Subtotal asterisk for taxes */
.discounted-subtotal:before {
	content: '*';
	font-weight: bold;
	position: relative;
	font-size: 50%;
    top: -12px;	
}
/* Responsive Design */ 
@media (max-width: 768px) { 
    .custom-product { flex-direction: column; align-items: center; text-align: center; } 
    .custom-product-left { width: 100%; } 
    .custom-product-right { width: 100%; } 
    .custom-cart { flex-direction: column; align-items: center; gap: 10px; } 
}


ul.flist li { line-height: 1.1em; }
.fprice { font-size: 16px !important; }


sub, sup { font-size: 50%; line-height: 0; position: relative; vertical-align: baseline; } 
sup { top: -1.em; } 
sub { bottom: -0.25em; }


.gform_wrapper.gravity-theme .ginput_product_price_wrapper { display: none; }
.gform_wrapper.gravity-theme .ginput_total { font-size: 3em !important; color: #000; }
.gfield_consent_labelt { font-size: 12px; }
.dipl_gravity_form_styler_0 .dipl_gravity_form_styler_wrapper form .gfield_validation_message { padding: 10px; background: red; color: #fff !important; }

.woocommerce div.product div.images .woocommerce-product-gallery__trigger { display: none; }

.greybox { background: #f1f1f1; margin: -10px 0; padding: 10px 20px;  }
.whitebox { background: #ffffff; margin: -10px 0; padding: 10px 20px;  }
.whitebox-top { background: #ffffff; margin: -10px 0; padding: 10px 20px; border-radius: 20px 20px 0 0;  }
.whitebox-bottom { background: #ffffff; margin: -10px 0; padding: 10px 20px; border-radius: 0 0 20px 20px;  }
.calcbox { margin-bottom: 30px; }
.sorbits-calc { padding: 20px; border: 1px solid #ccc; }
.sorbits-prodsection { border-left: 1px solid #333; padding-left: 40px;  }

.sorbits-list { list-style-type: none !important; padding-left: 0; margin-left: -15px; }
.sorbits-list li { position: relative; padding-left: 25px; margin-bottom: 10px; }
.sorbits-list li::before { content: '\4e'; font-family: 'ETmodules';  position: absolute; left: 0; color: #5daa46; font-weight: bold; }

.savingsummary { padding-top: 50px; margin-top: 50px; text-transform:uppercase; font-weight: bold; font-size: 30px; background: url('/wp-content/uploads/2025/05/zero-landfill-v2.svg') center right no-repeat; height: 150px; background-size: 100px; border-top: 6px solid #ccc; }
.savingsummary2 { padding: 30px 0 0 120px; margin-top: 50px; text-transform:uppercase;  font-size: 30px; background: url('/wp-content/uploads/2024/01/ZeroLandfill.svg') center left no-repeat; height: 150px; background-size: 100px; border-top: 1px solid #333; }

.zero-landfill-badge {
	position: absolute;
}
@media (max-width: 1350px) { 
	.zero-landfill-badge {
        display: flex;
        position: relative !important;
        justify-content: flex-end;
        margin-right: 0;
        margin-left: auto !important;
        margin-bottom: 2rem !important;
	}	
	
	.zero-landfill-badge img,
	.zero-landfill-badge span {
		text-align: right;
		max-width: clamp(2rem, 120px, 200px);
	}
}

.savings-ft { border-top: 6px solid #ccc; }
#gform_submit_button_11 { display: none; }

.warningTextareaInfo { display: none; }


#main-header { -webkit-box-shadow:none !important; -moz-box-shadow:none !important; box-shadow:none !important; }

.zip-error { background: #5DAA46; padding: 20px; padding: 20px; color: #fff; line-height: 1.3em; text-align: center; border-radius: 4px; font-size: 15px;font-weight:700; }
.zip-error a { color: #fff; text-decoration:underline; font-weight:700; }
.zip-error a:hover { color: #fff; text-decoration:none; }
.zip-success { color: #5daa46; text-align: center; font-weight: bold; font-size: 20px; }

.gform_wrapper.gravity-theme .gform_footer input.button:disabled, 
.gform_wrapper.gravity-theme .gform_page_footer button.button:disabled, 
.gform_wrapper.gravity-theme .gform_page_footer input.button:disabled {
    pointer-events: none;
}

.invalid-zip-disabled {
  opacity: .6!important;
  pointer-events: none!important;
}

a:hover { color: #5daa46; }

.gf-showvid { display: block; font-size: 15px;  }
.gf-showvid:before { content:'\e0a3'; font-family: 'ETmodules'; padding: 3px 5px 0 0; font-size: 20px; position: relative; top: 4px;  }

.output-savings input[type=text] { background: #f9f9f9 !important; border: none !important; font-size: 50px !important; font-weight: bold !important; color: #1f70b8; }
.output-savings2 { position: relative; top: -95px; right: -130px; }
.output-savings2 input[type=text] { border: none !important; font-size: 20px !important; font-weight: bold !important; background: #f1f1f1; }
.output-savings2:after { content: 'lbs of solid waste'; font-weight: bold; position: absolute; top: 10px; right: 11vw; color: #000; font-size: 12px; }
.gform_wrapper.gravity-theme .gfield_description, .gform_wrapper.gravity-theme .field_description_above .gfield_description { padding: 0; }

.output-nums input[type=text] { background: #f9f9f9 !important; border: none !important; font-size: 40px !important; font-weight: bold !important; color: #5daa46; }
.output-nums2 input[type=text] {  background: transparent; border: none !important; font-size: 40px !important; font-weight: bold !important; color: #1f70b8; }
.gform_wrapper.gravity-theme input[type=number] { border: 1px solid #ccc; border-radius: 3px;  height: 50px; }
.woocommerce input.button, .woocommerce-page input.button { background: #5daa46; color: #fff; text-transform: uppercase; border-radius: 6px; font-size: 18px; }
.woocommerce input.button:hover, .woocommerce-page input.button:hover { background: #1f70b8; color: #fff !important; }
.timeline-pic { width: 40%; position: absolute; top: 50px; right: 60px; border-radius: 6px; }

.abt-location h5 { text-transform: uppercase; font-size: 12px; color: #666; line-height: 0.9em;}

.dipl_timeline .dipl_timeline_right .dipl_item_content .dipl_triangle { background: #f2f2f3 !important;  }
.dipl_testimonial_desc h4 { font-weight: bold; font-size: 22px; }
.dipl_testimonial_desc p { line-height: 1.1em !important; }

.sorbits-zip #input_6_4_5 { width: 480px !important; }
.gform_required_legend { display: none; }
.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message { background: #f3bab8; border: none; line-height: 1.1em; color: #000 !important; border-radius: 6px; text-align: center !important; }

.promocode { font-weight: bold; color: #5daa46; }

.zipcode-notice { line-height: 1.2em; background: red; padding: 10px 20px; border-radius: 4px; color: #fff; font-size: 13px !important; text-align: center; }

.metal-chips-note1 { line-height: 1em; font-size: 14px; }
.metal-chips-note2 { line-height: 1.2em;  font-size: 15px !important; font-weight: bold; font-style: italic; }
.metal-chips-note2 strong { color: #5daa46;  }

/* strong { color: #000;} */
a.txtlink { color:#5daa46 !important; text-transform: uppercase; }
a.txtlink:hover { color:#1f70b8 !important; }
a.txtlink:after { font-family: 'ETmodules';  content: "\35"; }
h4.recsorbits { font-size: 24px; margin-top: 40px; /* border-bottom: 1px solid #ccc; padding-bottom: 20px; */}
span.recsorbits-desc { line-height: 1em !important; }



ul.includelist, ul.genlist { margin: 10px 0 0 10px;  }
ul.includelist li { padding-left: 10px; line-height: 1.2em; margin-bottom: 10px; list-style: none; }
ul.includelist li:before { font-family: 'ETmodules';  content: "\4e"; padding-right: 5px; color: #5daa46;   display: inline-block; margin-left: -20px; }

ul.excludelist { margin: 10px 0 0 10px;  }
ul.excludelist li { padding-left: 15px; line-height: 1.2em; margin-bottom: 13px; list-style: none; }
ul.excludelist li:before { font-family: 'ETmodules';  content: "\e051"; padding-right: 5px; color: red;   display: inline-block; margin-left: -20px; }

ul.footlinks { margin-left: -10px; }
ul.footlinks li { list-style: none; display: inline-block; margin: 0 20px 0 0; }
ul.footlinks li a { color: #fff !important; text-transform: uppercase; }
ul.footlinks li a:hover, ul.footlinks2 li a:hover { color: #1f70b8 !important; }

ul.footlinks2 li { list-style: none; display: inline; margin: 0 10px;}
ul.footlinks2 li a { color: #ccc; } 

.calc_break { margin-top: 40px; }

a.et_pb_menu__cart-button, .et-db #et-boc .et-l .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
  background: rgba(0, 51, 153, 0.5);
  padding: 6px 20px;
  border-radius: 6px;
}
span.et_pb_menu__cart-count {
	font-size: 12px;
}

.et-menu li li a {
	line-height: 1.2em;
}
a.et_pb_menu__icon, button.et_pb_menu__icon, .et-db #et-boc .et-l .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
	margin-left: 40px;
}

span.super-hero {
	font-size: 18px !important;
	position: relative;
	top: -30px;
}

span.super {
	font-size: 14px !important;
	position: relative;
	top: -10px;
}


.discount-message {
    display: none;
	text-align: right;
	justify-content: flex-end;
	width: 100%;
}

.discount-message.show {
	line-height: 1.4;
	display: block;
}

.env-fee-message .et-tooltip {
	background-image: url(https://itusorbits.wpenginepowered.com/wp-content/uploads/2025/06/i-info-tooltip.svg);
	background-size: 1rem;
	background-repeat: no-repeat;
	padding-left: 1.25rem;
	color: #000000;
}

.env-fee-message .et-tooltip-box {
	text-align: left;
	font-weight: normal;
}

.env-fee-message .et-tooltip-box strong {
	display: block;
	margin-bottom: .75rem;	
}

.discount-message .message .discount-quantity {
	font-weight: bold;
}

.woocommerce div.product form.cart .variations {
	margin-bottom: 0;
}
.woocommerce div.product form.cart .variations td {
	padding: 0 !important
}

.woocommerce table.shop_table .coupon-row > td {
	padding-top: 1rem;
}

.woocommerce table.shop_table .coupon-row .coupon-apply-wrapper {
	display: flex;
	padding-top: .5rem;
    gap: .5rem;
}

.woocommerce table.shop_table .coupon-row input {
	color: #3e3e3e;
	border-color: #ccc;
    font-size: 14px;
    padding: .5rem 1rem;
    line-height: 1.7em;
}

/* subscription mgmt product number update input */
.woocommerce table.shop_table input[type="number"] {
	color: #3e3e3e;
	border-color: #ccc;
    font-size: 14px;
    padding: .5rem 1rem;
    line-height: 1.7em;
}

.woocommerce table.shop_table td.product-name input,
.woocommerce table.shop_table td.product-name a {
	margin-right: .5rem;
}

.woocommerce table.shop_table td.product-name {
	font-size: 20px;
}

.woocommerce .coupon-row input,
.woocommerce .coupon-row button[type="submit"] {
	height: 38px;
	flex: 1 50%;
}

.woocommerce-button.button.subscription_renewal_early,
.subscription_renewal_early {
  display: none !important;
}

.woocommerce .coupon-row ::-webkit-input-placeholder,
.woocommerce .coupon-row input::placeholder {
	color: #999;	
}

.woocommerce .coupon-row button[type="submit"]:after {
	display: none;
}

/* Hide the (optional) span */
label[for="account_password"] span.optional {
  display: none !important;
}

/* Add a red asterisk after the label text */
label[for="account_password"]::after {
  content: '*';
  color: var(--wc-red);
  font-weight: 700;
  border: 0 !important;
  text-decoration: none;
  visibility: visible; 
  margin-left: 0;
  position: relative;
  top: -1px;
}

/* Add some space between initial delivery total and recurring totals */
.woocommerce tr.recurring-totals > th {
	padding-top: 2rem;
    border-top: 0 !important;
}

/* Disable remove buttons for locked subscriptions (within 10 biz days) */
.woocommerce .disabled-btn {
    pointer-events: none;
    opacity: 0.8;
    cursor: not-allowed;
    text-decoration: none;
    color: #999 !important;
}

/* Manage My Subscription styling */
.subscription_details form.woocommerce-form-coupon.checkout_coupon {
	border: 0;
	padding: 0;
	margin: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.subscription_details #ssd_add_coupon_row .input-text {
	line-height: normal!important;
}

/* Self-Service Dashboard plugin modal styles */

.ssd-modal-wrapper {
	padding: 2rem;
	overflow: auto;
	    backdrop-filter: saturate(180%) blur(5px);
    -webkit-backdrop-filter: saturate(180%) blur(5px);

    background: rgba(0, 0, 0, .55);
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: -webkit-backdrop-filter 1s 1s, backdrop-filter 1s 1s;
    z-index: 99;
}

.ssd-modal {
	background: transparent;
}


#ssd-modal-content {
	background: #fff;
	width: 90vw;
	max-width: 1230px;
    margin: auto;
    border-radius: 1rem;
    height: auto;
	padding: 4rem 2rem;
	margin-top: 4rem;
}

#ssd-modal-content .wpr-add-new-subscription {
	justify-content: center;
    align-content: center;
    gap: 2rem;
}

#ssd-modal-content .wpr-add-new-subscription > div {
	flex: 1 1 500px;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 2rem;
}

#ssd-modal-content .wpr-add-new-subscription > div > .wpr-product-add-button {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 0 2rem;
}

#ssd-modal-content .wpr-add-new-subscription > div > .wpr-product-add-button > a {
	width: fit-content;
	padding-inline: 2rem;
	margin: 0 auto;
	min-width: 320px;
}

#ssd-modal-content .wpr-add-new-subscription .wpr-product-image > img {
	min-width: 320px;
}

/* Self-Serve Dashboard overlay search */
.ssd-search-modal-header {
	height: auto;
	padding: 1rem 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	left: 0;
	background: transparent;
}


.ssd-search-modal-header .ssd-search-modal {
	display: inline-flex;
	padding: 2rem 0;
	gap: .5rem;
}
.ssd-search-modal-header .ssd-close-modal {
	position: absolute;
	right: 2rem;
	top: 3rem;
}

.ssd-search-modal-header .ssd-close-modal .ssd-close-modal-link {
	background: transparent;
	border: 1px solid #fff;
	color: #ffffff;
	font-weight: bold;
}

.ssd-modal > .ssd-close-modal {
	display: none;
}

.ssd-search-modal-header #ssd-search-products {
	-webkit-appearance: none;
    background-color: #fff;
    max-width: 100%;
    border-width: 0;
    border-radius: 0;
    color: #999;
    font-size: 14px;
    padding: 16px;
    line-height: 1.7em;
    border-style: solid;
}

.ssd-search-modal-header button#ssd-submit-search {
	font-size: 20px;
    font-weight: 500;
    padding: 0.3em 1em;
    line-height: 1.7em !important;
    position: relative;
    border: 2px solid #2EA3F2;
    border-radius: 3px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
	color: #2EA3F2;
	cursor: pointer;
}

.order_details td .input-text {
	border: 1px solid red;
}

.subscription_details td > a.woocommerce-button {
	margin-right: .5rem;
	margin-bottom: .5rem;
}

.subscription_details form.woocommerce-form-coupon.checkout_coupon .form-row {
	margin-bottom: 0;
}

.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty, .orderby, .woocommerce div.product form.cart .variations td select {
	padding: 12px;
}
.et-db #et-boc .et-l .et_pb_wc_add_to_cart form.cart .variations td.value span:after {
	margin-top: -6px;
}
.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 15px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
	margin: 0 15px 0 0;
}
.dipl_timeline .dipl_item_content_inner {
	width: 800px;
}
/* Error box text links */
.custom-billing-error-message {
	padding: 1rem;
	color: #ffffff;
	background-color: #df1b41;
	font-weight: bold;
	margin-bottom: 1rem;
}
.woocommerce .woocommerce-error a, .woocommerce .woocommerce-info a, .woocommerce .woocommerce-message a  {
	color: #ffffff;
	text-decoration: underline;
}
.woocommerce .woocommerce-error a:hover, .woocommerce .woocommerce-info a:hover, .woocommerce .woocommerce-message a:hover  {
	color: #ffffff;
	text-decoration: none;
}
.checkout-inline-error-message {
	font-weight: bold;
	color: #df1b41;
}
.custom-coupon-message .woocommerce-message,
.woocommerce-message.tsf-processed, 
.woocommerce-error.tsf-processed {
	text-align: center;
}

.coupon-notice-wrapper.et_pb_code,
.coupon-notice-wrapper .woocommerce-message.tsf-processed {
	display: none;
}

ul.woocommerce-error li {
	padding-bottom: .5rem;
}

/*=======================
MadMenu manage my subscription button flex fix
====================*/

 
.dvmm_menu_inner_container {
	/*max-width: 1120px;*/
}
.dvmm_mad_menu_0_tb_header .dvmm_button_one__wrap {
	width: auto !important;
	flex: 1!important;
}  

@media (min-width: 1450px) { 
	.dvmm_mad_menu_0_tb_header .dvmm_button_one__wrap {
		width: auto !important;
		flex: 1 !important;
	}  
}

@media (max-width: 980px) { 

	.dvmm_mad_menu_0_tb_header .dvmm_button_one__wrap {
		width: auto !important;
		flex: 1 1 21% !important;
	}  
}

@media (min-width: 980px) { 
	div.et_pb_section.et_pb_section_0 {
	}
	
}


