/* =========================================================
   Custom Product Page — BPC-157 style layout
   ========================================================= */

.single-product .summary {
	max-width: 560px;
}

/* ---------- Purity / spec badge ---------- */
.custom-purity-badge {
	display: inline-block;
	padding: 6px 14px;
	background: #f2f3f5;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	color: #333;
	margin-bottom: 16px;
}

/* ---------- Title ---------- */
.single-product .product_title {
	font-size: 42px;
	font-weight: 800;
	letter-spacing: -0.5px;
	margin: 0 0 16px;
	line-height: 1.1;
}

/* ---------- Short description ---------- */
.single-product .woocommerce-product-details__short-description {
	color: #5b5f66;
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 24px;
}

/* ---------- Section labels (DOSAGE / QUANTITY) ---------- */
.custom-block {
	margin-bottom: 20px;
}
.custom-option-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: #111;
	margin-bottom: 10px;
}

/* Belt-and-suspenders: fully collapse any leftover native
   variations table markup so it can never re-introduce the
   sideways "DOSAGE" label bug */
table.variations,
table.variations tbody,
table.variations tr,
table.variations td.label,
table.variations th.label {
	display: none !important;
}

/* ---------- Dosage buttons ---------- */
.custom-dosage-group {
	display: flex;
	gap: 10px;
}
.custom-dosage-btn {
	flex: 1;
	padding: 13px 0;
	text-align: center;
	border: 1px solid #e2e3e6;
	border-radius: 10px;
	background: #fff;
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: all .15s ease;
}
.custom-dosage-btn:hover {
	border-color: #111;
}
.custom-dosage-btn.is-active {
	background: #1c1c1e;
	border-color: #1c1c1e;
	color: #fff;
}

/* Hide the native WooCommerce variation dropdown once JS has taken over,
   but keep it in the DOM (screen-reader / functional fallback) */
select.custom-hidden-native {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
.woocommerce-variation-add-to-cart .single_add_to_cart_button { margin-top: 0; }

/* ---------- Bundle / quantity bottle cards ---------- */
.custom-bundle-group {
	display: flex;
	gap: 10px;
}
.custom-bundle-card {
	flex: 1;
	border: 1px solid #e2e3e6;
	border-radius: 10px;
	padding: 14px 8px 12px;
	text-align: center;
	cursor: pointer;
	background: #fff;
	transition: all .15s ease;
}
.custom-bundle-card:hover {
	border-color: #111;
}
.custom-bundle-card.is-active {
	border-color: #1c1c1e;
	border-width: 2px;
}
.custom-bundle-card img {
	height: 46px;
	object-fit: contain;
}
.bundle-img-row {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 4px;
	margin-bottom: 8px;
	height: 46px;
}
.bundle-img-row.bundle-img-count-2 img,
.bundle-img-row.bundle-img-count-3 img {
	height: 42px;
}
.bundle-img-row.bundle-img-count-3 img {
	height: 38px;
}
.custom-bundle-card .bundle-label {
	font-size: 13px;
	font-weight: 700;
}
.custom-bundle-card .bundle-save {
	font-size: 12px;
	font-weight: 700;
	color: #d33;
	margin-top: 2px;
}

/* ---------- Price ----------
   Blanket-hide every .price inside the summary, then explicitly
   re-show only the one WooCommerce renders inside .woocommerce-variation
   (the single, per-variation price) — this catches the top range
   price leaking through no matter how Salient wraps it. */
.single-product .summary .price {
	display: none !important;
}
.single-product .summary .woocommerce-variation-price .price,
.single-product .summary .woocommerce-variation-price .price * {
	display: inline !important;
}
.single-product .summary .woocommerce-variation-price .price {
	display: block !important;
}

.woocommerce-variation-description,
.woocommerce-variation-availability,
.woocommerce-variation-sku,
.woocommerce-variation-weight,
.woocommerce-variation-dimensions {
	display: none !important;
}

.woocommerce-variation {
	margin: 0 0 18px !important;
}
.woocommerce-variation-price .price,
.woocommerce-variation-price .price * {
	font-size: 28px;
	font-weight: 800;
	color: #111 !important;
}
.woocommerce-variation-price .price {
	margin: 0 !important;
}

/* ---------- Quantity + Add to cart row ----------
   Since the dosage block, bundle block, price box, and
   qty+button box are now all top-level children of form.cart
   (stacked, in that order), we only flex the qty+button box
   itself — not the whole form. */
.single-product form.cart {
	display: block;
}
.single-product .woocommerce-variation-add-to-cart,
.single-product .custom-qty-actions-row {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px !important;
}
.single-product .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #e2e3e6;
	border-radius: 10px;
	overflow: hidden;
	flex: 0 0 auto;
}
.single-product .quantity .qty {
	width: 44px;
	text-align: center;
	border: none;
	padding: 14px 0;
	font-weight: 600;
	-moz-appearance: textfield;
}
.single-product .quantity .qty::-webkit-outer-spin-button,
.single-product .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.custom-qty-btn {
	width: 40px;
	height: 48px;
	border: none;
	background: #fff;
	font-size: 18px;
	cursor: pointer;
	user-select: none;
	color: #111;
}
.custom-qty-btn:hover { background: #f5f5f5; }
.single-product .quantity .qty { order: 2; }
.custom-qty-minus { order: 1; }
.custom-qty-plus { order: 3; }
.single-product .quantity { display: flex; }

/* High-specificity override — JS also force-sets this inline as a
   second layer of insurance against theme button styles */
body.single-product form.cart .single_add_to_cart_button,
body.single-product form.cart button[type="submit"].single_add_to_cart_button {
	flex: 1;
	background-color: #1c1c1e !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 16px 0 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.5px;
	text-align: center;
	border: none !important;
	box-shadow: none !important;
}
body.single-product form.cart .single_add_to_cart_button:hover {
	background-color: #000 !important;
}
.phase-product__price,.woocommerce-breadcrumb{
	display: none;
}
/* ---------- Delivery note ---------- */
.custom-delivery-note {
	font-size: 12.5px;
	color: #777;
	margin-bottom: 14px;
}

/* ---------- Payment icons row ---------- */
.custom-payment-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: #333;
	font-weight: 600;
}
.custom-payment-row img {
	height: 20px;
}
#ajax-content-wrap .phase-product {
    max-width: 100%;
		margin:0;
		padding:0;
    border-radius: 22px;
    background: linear-gradient(135deg, #edf1f8 0%, #edf5f2 100%);
    color: #111;
}
.phase-product__grid{
	padding:40px;
}

#ajax-content-wrap .phase-product__excerpt p{
	padding-bottom:10px;
}

#ajax-content-wrap .custom-dosage-group {
    display: flex;
    gap: 10px;
    max-width: 50%;
}
.custom-bundle-group{
	max-width: 70%;
}
#ajax-content-wrap .custom-dosage-btn{
		border-radius: 10px !important;
    overflow: hidden !important;
}

#ajax-content-wrap div.product .single_variation .price *{
    font-size:18px;
}

.single-product .woocommerce-variation-add-to-cart, .single-product .custom-qty-actions-row{
	margin-top:10px;
}
.woocommerce-page button[type=submit].single_add_to_cart_button, body[data-form-submit=regular].woocommerce-page .container-wrap button[type=submit].single_add_to_cart_button{
	margin-top:0;
}

.woocommerce div.product form.cart div.quantity{
    background:white;
    margin-right: 5px
}

.woocommerce div.product form.cart div.quantity button{
    padding:2px;
    width:unset;
}

.woocommerce-page button[type=submit].single_add_to_cart_button, body[data-form-submit=regular].woocommerce-page .container-wrap button[type=submit].single_add_to_cart_button{
    border-radius: 50px !important;
    font-size:18px !important;
    text-transform: uppercase;

}

.woocommerce div.product form.cart{
    margin-bottom: 0;
}

.custom-delivery-note{
    font-size:10px;
    margin-bottom:5px;
}

.single-product .woocommerce-variation-add-to-cart, .single-product .custom-qty-actions-row{
    margin-bottom:10px !important;
}

.custom-bundle-card .bundle-save,.custom-bundle-card .bundle-label{
	line-height:1.2;
}

.gradient_main{
	    background: linear-gradient(135deg, #edf1f8 0%, #edf5f2 100%);
}

.featured_grids .vc_col-sm-3 >.vc_column-inner{
padding:20px 30px !important;
    border-radius:20px;
		   background: linear-gradient(135deg, #edf1f8 0%, #edf5f2 100%);
			 height:100%;
}

.stability .row_col_wrap_12_inner.col.span_12.left{
    padding-left: 0 !important;;
    padding-right: 0 !important;
    border-radius: 20px !important;
    overflow: hidden;
    margin-top:20px;
        background:#F7F8FA !important;
}
.product-coa__title{
		font-size:16px !important;
    font-weight: bold !important;
    margin:0 !important;
}

.product-coa__header{
padding-top:0 !important;

}
.product-coa{
	max-width:100% !important;
}

.phase-faq__item button[aria-expanded="true"]{
padding-bottom: 10px;
    padding-top:0;
    line-height: 1;
    height: unset;
    min-height: unset;
}

.phase-faq__answer.is-open{
    padding-bottom:10px
}


.phase-faq__item button[aria-expanded="true"]{
padding-bottom: 10px;
    padding-top:0;
    line-height: 1;
    height: unset;
    min-height: unset;
}

.phase-faq__answer.is-open{
    padding-bottom:10px
}

.single-product .container-wrap{
    padding-bottom: 0 !important;
}
.row, div.clear{
	padding:0 !important
}

#ajax-content-wrap .phase-product .quantity input{
    font-size:14px;

    max-width:25px;
}

.bg_coa {
	background: #DDF1E5;
background: linear-gradient(90deg, rgba(221, 241, 229, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(220, 231, 246, 1) 100%);
}




@media (max-width: 640px) {
	.single-product .product_title { font-size: 30px; }
	.custom-dosage-group, .custom-bundle-group { flex-wrap: wrap; }
}
