
/*======================================
Theme Name: SorbIts
Description: Child theme for SorbIts
Version: 1.0
Author: Rally Digital
Author URI: https://rally.digital/
Template: Divi
======================================*/
body:not(.home) #main-content {
	padding-top: clamp(40px, 9vw, 115px);
}

html, body {
	max-width: 100%;
	overflow-x: hidden;
}

/*=======================
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;
}

.et_pb_blurb.et_clickable .et_pb_blurb_content {
	position: relative;
}

/* Large Hdr size */
.sorbits-hdr .et_pb_text_inner > * {
	text-wrap: pretty;
	font-size: clamp(32px, 3vw, 48px);
	line-height: clamp(36px, 4vw, 56px);
}

.et_pb_blurb.et_clickable .et_pb_blurb_content:after {
	content: "";
	width: 1rem;
	height: 1rem;
	position: absolute;
	top: 1rem;
	right: 1rem;
	background-image: url("https://cdn-ilegegl.nitrocdn.com/toDVJKRjuGxBLvsrBcYPjqigymaKwzTF/assets/images/source/rev-63b6664/sorbitsservdev.wpenginepowered.com/wp-content/uploads/2025/08/icon-expand-plus.svg");
	background-repeat: no-repeat;
	background-size: contain;
}

/* How The Program Works styles */
.how-the-program-works-section {}

.et_pb_text_inner h1, .et_pb_text_inner h2, .et_pb_text_inner h3, .et_pb_text_inner h4 {
	text-wrap: pretty;
}

.how-the-program-works-section h4, .how-the-program-works-section .program-hdr {
	text-wrap: pretty;
	line-height: 1.3em;
}

.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;
}

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

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

/* Show email description only when checkout account creation is enabled */
.woocommerce form .form-row .woocommerce-input-wrapper .description {
	display: block !important;
	/* make it visible */
	color: #6c6c6c;
	/* WooCommerce description gray */
	font-size: 12px;
	/* match WooCommerce style */
	margin-top: .25em;
	/* spacing below input */
	background-color: transparent;
	padding: 0;
}

.woocommerce form .form-row .woocommerce-input-wrapper .description:before {
	display: none !important;
}

/*=======================
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 .starter-pack-reco {
	display: none;
	color: #2ea3f2;
	font-size: 18px;
	line-height: 26px;
	font-weight: 600;
	text-wrap: pretty;
}

.custom-product-container.page-b .starter-pack-reco {
	display: block;
}

.custom-product-container {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

@media (min-width: 1200px) {
	.custom-product-container.page-b {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		min-height: 450px;
	}
}

.custom-product-container.page-b .custom-product {
	border-bottom: 1px solid #2ea3f2;
}

@media (min-width: 980px) {
	.custom-product-container.page-b .custom-product {
		padding-bottom: 4.75rem;
	}
}

.email-my-code-form {
	max-width: 215px !important;
}

.email-my-code-form .gform_wrapper.gravity-theme .gform_fields {
	display: flex !important;
	grid-column-gap: 1rem;
}

.email-my-code-form .gform-footer.gform_footer.top_label {
	position: absolute;
	left: 100%;
	right: auto;
	top: 0;
	margin: 0;
	padding: 0;
}

.email-my-code-form .gform-footer.gform_footer.top_label input {
	min-height: 35px;
	background: #5daa46;
	color: #fff !important;
	text-transform: uppercase;
	font-weight: bold;
	border-radius: 8px;
	border-color: #5daa46 !important;
	cursor: pointer;
}

.email-my-code-form .gform-footer.gform_footer.top_label input[type=submit]:hover, .email-my-code-form  .gform-footer.gform_footer.top_label input[type=submit]:focus {
	background-color: #4e983b;
	border-color: #4e983b !important;
	box-shadow: none !important;
	outline: none !important;
}

.email-my-code-form .gform-footer.gform_footer.top_label input {
	border-style: solid !important;
	border-width: 2px !important;
	border-top-color: #5daa46 !important;
	border-right-color: #5daa46 !important;
	border-bottom-color: #5daa46 !important;
	border-left-color: #5daa46 !important;
	background-color: #5daa46;
	color: #fff !important;
	border-radius: 8px;
	box-shadow: none !important;
}

.email-my-code-form input {
	border-radius: 4px 4px 4px 4px;
}

.inventory-note {
	padding-bottom: 2rem;
}

.inventory-note .et_pb_text_inner p {
	text-wrap: pretty !important;
}

@media (min-width: 980px) {
	.inventory-note {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 8rem;
		padding-bottom: 0;
	}
}

@media (min-width: 1350px) {
	.inventory-note {
		bottom: 8rem;
	}
}

.custom-product-container.page-b h2 {
	font-size: clamp(22px, 6vw, 25px);
	line-height: 34px;
	font-weight: 400;
}

.custom-product-container.page #gform_wrapper_11 {
	display: block !important;
}

.custom-product-container.page-b .custom-product-right {
	justify-self: stretch;
	min-height: 250px;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
}

.custom-product-container.page-b .custom-product-right {
	padding-bottom: 1.5rem;
}

.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;
	flex: 0 1 40%;
}

.popup .custom-gallery-container {
	flex: 1;
}

.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;
}

.page-b .custom-product-right p {
	margin-bottom: 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: .5;
	transition: opacity .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: 640px) {
	.custom-product {
		flex-direction: column;
	}
	
	.custom-product-left {
		width: 100%;
	}
	
	.custom-product-right {
		width: 100%;
	}
}

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: -1em;
}

sub {
	bottom: -.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: #fff;
	margin: -10px 0;
	padding: 10px 20px;
}

.whitebox-top {
	background: #fff;
	margin: -10px 0;
	padding: 10px 20px;
	border-radius: 20px 20px 0 0;
}

.whitebox-bottom {
	background: #fff;
	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: "N";
	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("https://cdn-ilegegl.nitrocdn.com/toDVJKRjuGxBLvsrBcYPjqigymaKwzTF/assets/images/source/rev-63b6664/sorbits.com/wp-content/uploads/2025/05/zero-landfill-v2.svg") center right no-repeat;
	height: 150px;
	background-size: 100px;
	border-top: 6px solid #ccc;
}

.savingsummary.nitro-lazy {
	background: none !important;
}

.savingsummary2 {
	padding: 30px 0 0 120px;
	margin-top: 50px;
	text-transform: uppercase;
	font-size: 30px;
	background: url("https://cdn-ilegegl.nitrocdn.com/toDVJKRjuGxBLvsrBcYPjqigymaKwzTF/assets/images/optimized/rev-63b6664/sorbits.com/wp-content/uploads/2024/01/ZeroLandfill.svg") center left no-repeat;
	height: 150px;
	background-size: 100px;
	border-top: 1px solid #333;
}

.savingsummary2.nitro-lazy {
	background: none !important;
}

.zero-landfill-badge {
	position: absolute;
}

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

#gform_submit_button_11 {
	display: none;
}

.warningTextareaInfo {
	display: none;
}

@media screen and (min-width: 980px) {
	/* Desktop-only header lock for CLS */
	.et_pb_row_0_tb_header.et_pb_row, .et_pb_row.et_pb_row_0_tb_header, .et_pb_section_0_tb_header.et_pb_section {
		height: 116px;
	}
	
	.dvmm_element.dvmm_cart_button__wrap.dvmm_search_hides.dvmm_cart_ajax_update--enabled {
		height: 66px;
	}
}

#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: "";
	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: .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: "5";
}

h4.recsorbits {
	font-size: 24px;
	margin-top: 40px;
}

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: "N";
	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: "";
	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, .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;
	line-height: 1;
	top: -30px;
}

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

.scroll-to-zip-button {
	line-height: 1.2 !important;
}

.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://cdn-ilegegl.nitrocdn.com/toDVJKRjuGxBLvsrBcYPjqigymaKwzTF/assets/images/source/rev-63b6664/itusorbits.wpenginepowered.com/wp-content/uploads/2025/06/i-info-tooltip.svg");
	background-size: 1rem;
	background-repeat: no-repeat;
	padding-left: 1.25rem;
	color: #000;
}

.env-fee-message .et-tooltip.nitro-lazy {
	background-image: none !important;
}

.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;
	padding-left: 0 !important;
}

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

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

.woocommerce table.shop_table:not(.subscription_details):not(.order_details):not(.my_account_orders):not(.custom-fields) th, .woocommerce table.shop_table:not(.subscription_details):not(.order_details):not(.my_account_orders):not(.custom-fields) td {
	padding-inline: 0;
}

.woocommerce table.shop_table td.product-thumbnail {
	display: flex !important;
}

.woocommerce table.shop_table td {
	padding-right: 0;
	font-size: 15px;
}

.woocommerce table.shop_table td > * {
	word-break: break-word;
	white-space: nowrap;
	text-wrap: pretty;
	font-size: 15px;
	display: inline-block;
}

.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;
	font-size: 15px;
}

.woocommerce table.shop_table tfoot tr.first-delivery th {
	border-top: 0;
}

.woocommerce table.shop_table td.actions.active {
	display: table-cell !important;
}

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

@media (min-width: 981px) {
	.woocommerce .order_details .product-name a.wpr-quantity-update.button {
		margin-inline: .5rem !important;
	}
	
	.woocommerce table.shop_table .coupon-row .coupon-apply-wrapper {
		flex-wrap: nowrap;
	}
}

.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: 18px;
	word-break: break-word;
	white-space: nowrap;
	text-wrap: pretty;
	font-weight: 600;
	display: inline-block;
}

.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: .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 form.woocommerce-form-coupon.checkout_coupon .form-row-first {
	flex: 1 66%;
}

.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: #fff;
	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: .3em 1em;
	line-height: 1.7em !important;
	position: relative;
	border: 2px solid #2ea3f2;
	border-radius: 3px;
	-webkit-transition: all .2s;
	transition: all .2s;
	color: #2ea3f2;
	cursor: pointer;
}

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

.subscription_details td > a.woocommerce-button, #ssd_add_coupon_row button {
	margin-right: .5rem;
	margin-bottom: .5rem;
	font-size: 15px;
}

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

.woocommerce-MyAccount-content p {
	margin-bottom: 1rem !important;
}

.woocommerce-button.button.pay {
	margin-right: 1rem;
}

.woocommerce a.button:after, .woocommerce-page a.button:after {
	font-size: 25px;
}

.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: #fff;
	background-color: #df1b41;
	font-weight: bold;
	margin-bottom: 1rem;
}

.woocommerce .woocommerce-error a, .woocommerce .woocommerce-info a, .woocommerce .woocommerce-message a {
	color: #fff;
	text-decoration: underline;
}

.woocommerce .woocommerce-error a:hover, .woocommerce .woocommerce-info a:hover, .woocommerce .woocommerce-message a:hover {
	color: #fff;
	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 {}

.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) {
	.et_pb_section_0_tb_header, .et_pb_row_0_tb_header.et_pb_row {
		width: 100% !important;
	}
	
	img.dvmm_logo_img {
		padding-top: 5px;
	}
	
	.dvmm_mad_menu_0_tb_header .dvmm_menu_inner_container .dvmm_content {
		flex-wrap: nowrap;
	}
	
	.dvmm_mad_menu_0_tb_header .dvmm_button_one__wrap {
		width: auto !important;
		flex: 0 1 21% !important;
	}
	
	.dvmm_cart__button.dvmm_cart--icon {
		width: auto !important;
		padding-left: 0;
		margin: 0 !important;
	}
	
	/* account pages */
	.woocommerce table.shop_table td {
		padding-right: 10px !important;
		padding-block: 10px;
	}
	
	.woocommerce-Address {
		margin-bottom: 3rem;
	}
	
	.woocommerce table.shop_table:not(.subscription_details):not(.order_details):not(.my_account_orders):not(.custom-fields) td {
		padding-inline: 10px !important;
	}
}

@media (max-width: 768px) {
	input[type="submit"] {
		white-space: normal;
		/* allow wrapping instead of one line */
		word-wrap: break-word;
		/* break long words if needed */
		text-align: center;
		/* center the text (optional) */
		line-height: 1.2 !important;
	}
	
	span.super-hero {
		top: -21px;
	}
	
	.et_pb_row.et_pb_row_0_tb_header {
		width: 100%;
	}
	
	.dvmm_cart__button .dvmm_cart_contents .dvmm_cart_items_text, .dvmm_cart__button .dvmm_cart_contents .dvmm_cart_total_amount {
		display: none !important;
	}
	
	.dvmm_cart__button .dvmm_cart_items_number {
		background: #1f70b8;
		border-radius: 50px;
		font-size: 6px;
		line-height: 6px;
		aspect-ratio: 1;
		display: flex;
		align-content: center;
		justify-content: center;
		flex-direction: column;
		text-align: center;
		position: absolute;
		top: -6px;
		left: -10px;
		width: auto;
		height: 16px;
		padding: .2rem;
	}
	
	.dvmm_cart__button.cart-link-disabled .dvmm_cart_contents {
		display: none !important;
	}
}

@media (max-width: 620px) {
	/* small mobile */
	#cart-page-products-table table.shop_table.shop_table_responsive, #cart-page-products-table table.shop_table.shop_table_responsive thead, #cart-page-products-table table.shop_table.shop_table_responsive tbody, #cart-page-products-table table.shop_table.shop_table_responsive th, #cart-page-products-table table.shop_table.shop_table_responsive td, #cart-page-products-table table.shop_table.shop_table_responsive tr {
		display: block !important;
		width: 100%;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive thead tr, #cart-page-products-table table.shop_table.shop_table_responsive td.product-remove {
		display: none !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive tr {
		margin-bottom: 1em;
		border-bottom: 1px solid #ccc;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive tr a.remove {
		font-size: 20px !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive td {
		/* Show label before each cell’s value */
		position: relative;
		padding-left: 50%;
		text-align: left;
		border: none;
		background-color: transparent !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive td.product-thumbnail img {
		width: 100% !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive td.product-name, #cart-page-products-table table.shop_table.shop_table_responsive td.product-price, #cart-page-products-table table.shop_table.shop_table_responsive td.product-quantity, #cart-page-products-table table.shop_table.shop_table_responsive td.product-subtotal, #cart-page-products-table table.shop_table.shop_table_responsive td > * {
		font-size: 20px !important;
		line-height: 1.2;
		margin-bottom: 2px;
		padding-block: 2px !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive td input[type="number"] {
		font-size: 23px;
		width: 50% !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive thead, #cart-page-products-table table.shop_table.shop_table_responsive th.product-remove, #cart-page-products-table table.shop_table.shop_table_responsive th.product-thumbnail, #cart-page-products-table table.shop_table.shop_table_responsive th.product-name, #cart-page-products-table table.shop_table.shop_table_responsive th.product-price, #cart-page-products-table table.shop_table.shop_table_responsive th.product-quantity, #cart-page-products-table table.shop_table.shop_table_responsive th.product-subtotal {
		display: none !important;
	}
	
	#cart-page-products-table table.shop_table.shop_table_responsive td::before {
		position: absolute;
		left: 0;
		width: 45%;
		padding-left: .5em;
		white-space: nowrap;
		font-weight: bold;
		content: attr(data-label);
	}
	
	.woocommerce-MyAccount-content .subscription_details #ssd_add_coupon_row td .woocommerce-form-coupon {
		display: flex;
		flex-direction: column;
	}
	
	.woocommerce-MyAccount-content .subscription_details #ssd_add_coupon_row td:first-child {
		width: 35%;
	}
	
	.woocommerce-MyAccount-content .subscription_details #ssd_add_coupon_row td:last-child {
		width: 65%;
	}
	
	.woocommerce-MyAccount-content .subscription_details #ssd_add_coupon_row .input-text {
		padding: 6px;
	}
	
	.woocommerce-MyAccount-content table.shop_table.order_details td.product-name a.wpr-quantity-update {
		padding: 6px;
		margin-left: auto;
		min-height: 50px;
	}
	
	.woocommerce-MyAccount-content table.shop_table .product-quantity {
		margin-right: 1rem;
	}
}

/* Starter Kit Items Section Styling */
.starter-kit-layout.custom-product-container {
	display: block;
}

.starter-kit-items {}

.starter-kit-items h3 {
	margin-bottom: 20px;
	font-size: 1.5rem;
}

/* Base: stack vertically */
.kit-items-row {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Individual kit items styling */
.kit-item {
	display: flex;
	gap: 1rem;
}

/* Optional: headings and text spacing */
.kit-item h4 {
	margin-bottom: 5px;
	font-size: 1.2rem;
}

.kit-item .qty {
	font-weight: bold;
	margin-bottom: 5px;
}

.kit-item .desc {
	font-size: .95rem;
}

/* Media query: make row on huge screens */
@media (min-width: 1200px) {
	.kit-items-row {
		flex-direction: row;
	}
	
	.kit-item {
		flex: 1;
	}
}

/* Step Headings */
.step-heading {
	color: #2070b8;
	font-family: "Montserrat", sans-serif;
	/* Matching Figma */
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	position: relative;
	gap: 12px;
}

.step-heading .text-wrap {
	font-size: 14px !important;
	line-height: 20px;
	margin: 0 !important;
	padding: 0 !important;
}

.step-heading::before {
	content: "1";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background-color: #2070b8;
	color: white;
	border-radius: 50%;
	font-weight: bold;
	font-size: 28px;
	flex-shrink: 0;
	line-height: 28px;
}

.step-heading.two::before {
	content: "2";
}

.step-heading.three::before {
	content: "3";
}

.text-wrap {
	display: inline;
	color: #2070b8;
}

.bold-text {
	font-weight: 700;
}

/* Container */
.intro-container {
	margin: 0 auto;
}

/* Kit Item Container */
.custom-product-container.single-kit .custom-product-image {
	flex: 0 1 auto;
	/* allow auto sizing */
	width: 187px;
	aspect-ratio: 1/1;
	border-radius: 12px;
	overflow: hidden;
}

.custom-product-container.single-kit .custom-product-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.custom-product-container.single-kit .custom-product-right .qty {
	font-weight: bold;
	margin: 1rem 0 0;
	color: #666;
	font-size: 24px;
	display: block;
}

.custom-product-container.single-kit .starter-kit-desc {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-bottom: 1.5rem;
}

.custom-product-container.single-kit .starter-kit-title {}

.custom-product-container.single-kit .starter-kit-price {
	color: #666;
	font-size: 24px;
}

.custom-product-container .custom-add-to-cart-wrapper {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	padding: 1rem 0 0;
}

/* Media Queries */
@media (min-width: 981px) {
	.step-heading {
		padding-right: 1rem;
	}
	
	.intro-container .et_pb_row:first-child, .intro-container .et_pb_row_1-4_3-4 {
		gap: 1.25rem;
		display: flex;
	}
	
	.intro-container .et_pb_specialty_column > .et_pb_row {
		display: flex;
	}
	
	.intro-container .et_pb_gutters2 .et_pb_column_1_4, .intro-container .et_pb_gutters2.et_pb_row .et_pb_column_1_4 {
		width: auto !important;
		padding-right: 1rem;
		flex: 1;
		margin: 0;
	}
	
	.custom-product-container {
		padding: 32px;
		border: 1px solid #d9d9d9;
		border-radius: 12px;
	}
	
	.custom-product-container.single-kit {
		flex-direction: row;
	}
	
	.custom-product-container.single-kit .kit-item {
		flex: 1;
		padding-right: 1.25rem;
		border-bottom: none;
	}
	
	.custom-product-container.single-kit .kit-item:not(:last-child) {
		border-right: 2px solid #d9d9d9;
	}
	
	.custom-product-container.single-kit .custom-product-right {
		padding-top: 1rem;
	}
	
	.custom-product-container.single-kit .custom-product-image {
		height: 187px;
		flex: 1 0 187px;
	}
}
