/* Energy for Health commerce presentation. Native WooCommerce markup only. */
.woocommerce,
.woocommerce-page {
  --efh-commerce-green: #86bc35;
  --efh-commerce-price: #7ac142;
  --efh-commerce-dark: #706f6f;
  --efh-commerce-border: #e6eaee;
}
.woocommerce-breadcrumb,
.single-product .product_meta { display: none; }
.woocommerce-info,
.woocommerce-message,
.woocommerce-error { color: var(--efh-commerce-dark); line-height: 1.3; }
.woocommerce-info a,
.woocommerce-message a { color: var(--efh-commerce-dark); }
.woocommerce .woocommerce-message a.button { margin-top: 20px; color: #fff; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select { max-width: 100%; padding: 10px 32px 10px 12px; border: 1px solid #d9d9d9; border-radius: 6px; color: #706f6f; background: #fff; font: inherit; }

/* Shop and related-product cards. */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 36px; margin: 0 0 40px; padding: 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { float: none; clear: none; width: auto; margin: 0; }
.woocommerce ul.products li.product a img { display: block; width: 100%; height: auto; margin: 0 0 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .related.products ul.products h2 { padding: 0; font-size: 20px; font-weight: 600; line-height: 1.4; }
.woocommerce ul.products li.product .price { display: block; margin: 14px 0 7px; }
.woocommerce ul.products li.product .button { display: none; }
.woocommerce ul.products .price .amount,
.woocommerce .related.products .price .amount,
.woocommerce-cart .price .amount { display: inline-block; padding: .35rem .55rem; border-radius: .6rem; background: color-mix(in srgb, #7ac142 12%, #fff); color: #7ac142; font-size: clamp(1rem, 1.6vw, 1.3rem); font-weight: 700; }
.woocommerce .related.products { clear: both; padding-top: 48px; }
.woocommerce .related.products > h2 { margin-bottom: 28px; font-size: 24px; }
.woocommerce .related.products ul.products { margin-bottom: 0; }
.woocommerce .shipping-costs-info,
.woocommerce .wc-gzd-additional-info { margin: 0 0 10px; font-size: 14px; line-height: 1.4; }
.woocommerce .shipping-costs-info { filter: grayscale(1); }
.woocommerce .shipping-costs-info:hover { filter: grayscale(0); }
.woocommerce .shipping-costs-info a { color: inherit; text-decoration: underline; }

/* Product detail and the original compact quantity control. */
.single-product .product_title { margin-top: 0; margin-bottom: 18px; font-size: 26px; line-height: 1.3; }
.woocommerce div.product div.images { margin-bottom: 32px; }
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image img:hover { transform: none !important; }
.single-product .price { color: #86bc35; font-weight: 800; }
.woocommerce .summary.entry-summary .price .amount { display: inline-flex; align-items: baseline; gap: .25rem; padding: .35rem .55rem; border-radius: .6rem; background: color-mix(in srgb, #7ac142 12%, #fff); color: #7ac142; font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 800; }
.single-product .woocommerce-product-details__short-description { margin-bottom: 24px; line-height: 1.3; }
.single-product .notice-single-product { font-size: 16px; line-height: 1.3; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 20px; margin: 24px 0 32px; }
.woocommerce div.product form.cart .quantity { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.woocommerce div.product form.cart .quantity input.qty { box-sizing: border-box; width: 50px; height: 48px; padding: 0 10px; border: 1.5px solid #d9d9d9; border-radius: 12px; background: #fff; color: #2b2b2b; font-size: 16px; font-weight: 600; text-align: center; outline: none; transition: border-color .18s, box-shadow .18s; }
.woocommerce div.product form.cart .quantity input.qty:focus { border-color: #7ac142; box-shadow: 0 0 0 4px color-mix(in srgb, #7ac142 25%, transparent); }
.woocommerce div.product form.cart .quantity.efh-has-controls input.qty { appearance: textfield; -moz-appearance: textfield; }
.woocommerce div.product form.cart .quantity.efh-has-controls input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart .quantity.efh-has-controls input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .qty-btn { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #e6e6e6; border-radius: 10px; background: #f6f6f6; color: #333; font-size: 22px; line-height: 1; font-weight: 700; cursor: pointer; transition: background .18s, transform .04s; }
.woocommerce div.product form.cart .qty-btn:hover { background: #eee; }
.woocommerce div.product form.cart .qty-btn:active { transform: translateY(1px); }
.woocommerce div.product form.cart .qty-btn:focus-visible { outline: 3px solid color-mix(in srgb, #7ac142 40%, transparent); outline-offset: 2px; }
.woocommerce div.product form.cart .single_add_to_cart_button { margin: 0; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce .variations_form .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 16px 20px; }
.woocommerce .variations_form .variations select { width: 100%; min-height: 44px; padding: 8px; font: inherit; }
.woocommerce .quantity input.qty,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea { padding: .8em 1em; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button { padding: .65em 1em; border: 2px solid #86bc35; border-radius: 12px; background: #86bc35; color: #fff; font-family: inherit; font-size: 16px; font-weight: 700; line-height: 1.5; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { border-color: #86bc35; background: #86bc35; color: #fff; opacity: .7; }
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible { outline: 3px solid #6cb6c1; outline-offset: 3px; }
.woocommerce .entry-content th,
.woocommerce table th { color: #706f6f; }
.woocommerce .order-total { background: rgba(134,188,53,.25); color: #212121; }
.woocommerce .order-total th,
.woocommerce .order-total .woocommerce-Price-amount { color: #212121; }

/* Product benefit icons, retaining the original asset-based markup. */
.efh-icons { --gap: clamp(6px,1.2vw,12px); --icon-size: clamp(24px,4.2vw,40px); --text: #6f6f72; }
.efh-icons * { box-sizing: border-box; }
.efh-icons__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: var(--gap) clamp(12px,2vw,24px); margin: 0 0 10px; padding: 10px; border: 2px solid #e0e0e0; border-radius: 10px; list-style: none; }
.efh-icon { display: grid; grid-template-columns: var(--icon-size) 1fr; align-items: center; gap: clamp(6px,1vw,10px); color: var(--text); font-family: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height: 1.15; letter-spacing: .2px; }
.efh-icon img { display: block; width: var(--icon-size); height: var(--icon-size); }
.efh-icon__label { font-size: clamp(12px,1.2vw,16px); opacity: .95; }

/* Cart and account remain native WooCommerce forms. */
.woocommerce-cart table.cart td { vertical-align: middle; }
.woocommerce-cart table.cart td.product-thumbnail img { width: 90px; }
.woocommerce-cart table.cart .product-name a { color: inherit; }
.woocommerce-cart .cart-collaterals { margin-top: 32px; }
.woocommerce-cart .cart_totals h2 { margin-bottom: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { border-radius: 12px; background: #86bc35; font-size: 18px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px; border: 1px solid #e6eaee; border-radius: 8px; }
.woocommerce-cart .cart_totals .order-total { font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-bottom: 1px solid #e6eaee; color: #706f6f; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: #f0f5e9; color: #48691d; font-weight: 700; }
.woocommerce form .form-row label { color: #706f6f; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea { border: 2px solid #e6eaee; border-radius: 12px; font: inherit; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: #8cc63f; outline: none; box-shadow: 0 0 0 3px color-mix(in srgb,#8cc63f 28%,transparent); }

/* Classical checkout, compatible with the store's existing extension hooks. */
body.woocommerce-checkout { background: #f7f8f9; }
.woocommerce-checkout .efh-main,
.woocommerce-checkout .site-main { padding-bottom: 80px; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { box-sizing: border-box; padding: 24px; border: 1px solid #e6eaee; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; clear: both; width: 100%; max-width: none; margin: 0 0 1.5rem; }
.woocommerce-checkout #customer_details .col-2 { margin-bottom: 0; }
.woocommerce-checkout form.checkout h3 { margin-top: 0; margin-bottom: 12px; color: #706f6f; font-size: 22px; line-height: 1.25; }
.woocommerce-checkout #order_review_heading { color: #706f6f; }
.woocommerce-checkout .form-row { margin-bottom: 14px; }
.woocommerce-checkout form .input-text,
.woocommerce-checkout form select,
.woocommerce-checkout form textarea { box-sizing: border-box; width: 100%; padding: .6em .75em; border: 2px solid #e6eaee; border-radius: 12px; background: #fff; font-size: 16px; transition: border-color .15s,box-shadow .15s; }
.woocommerce-checkout form .input-text:focus,
.woocommerce-checkout form select:focus,
.woocommerce-checkout form textarea:focus { border-color: #8cc63f; box-shadow: 0 0 0 3px color-mix(in srgb,#8cc63f 28%,transparent); outline: none; }
.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] { accent-color: #8cc63f; }
.woocommerce-checkout table.shop_table { border: 0; border-radius: 12px; background: #fff; }
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td { border: 0; }
.woocommerce-checkout table.shop_table thead { display: none; }
.woocommerce-checkout table.shop_table tbody tr td { padding: 10px 0; border-bottom: 1px solid #e6eaee; }
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td { padding: 10px 0; border: 0; }
.woocommerce-checkout table.shop_table tfoot .order-total th,
.woocommerce-checkout table.shop_table tfoot .order-total td { padding-top: 14px; border-top: 1px solid #e6eaee; color: #212121; font-size: 20px; font-weight: 700; }
.woocommerce-checkout #payment { border: 0; background: transparent; }
.woocommerce-checkout #payment .wc_payment_methods { margin-top: 16px; padding: 10px 14px; border: 1px solid #e6eaee; border-radius: 12px; background: #fff; }
.woocommerce-checkout #payment .payment_box { margin: 10px 0 0; padding: 12px 14px; border: 1px solid #e6eaee; border-radius: 10px; background: #f9fafb; }
.woocommerce-checkout a.button,
.woocommerce-checkout button.button,
.woocommerce-checkout input.button,
.woocommerce-checkout #place_order { padding: 14px 18px; border: 2px solid #8cc63f; border-radius: 12px; background: #8cc63f; color: #fff; font-weight: 700; transition: filter .15s,transform .05s; }
.woocommerce-checkout a.button:hover,
.woocommerce-checkout button.button:hover,
.woocommerce-checkout input.button:hover,
.woocommerce-checkout #place_order:hover { border-color: #8cc63f; background: #8cc63f; color: #fff; filter: brightness(1.05); opacity: 1; }
.woocommerce-checkout #place_order { width: 100%; }
.woocommerce-checkout #place_order:active { transform: translateY(1px); }
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-info { border-radius: 12px; }
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-cart .select2-container--default .select2-selection--single { min-height: 46px; padding: .8em 1em; border: 2px solid #e6eaee; border-radius: 12px; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__rendered { padding-left: 0; color: #706f6f; line-height: 1; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
.woocommerce-cart .select2-container--default .select2-selection--single .select2-selection__arrow { top: 0; right: 8px; height: 46px; }
.woocommerce-checkout .wc-gzd-checkbox-placeholder p,
.woocommerce-checkout .wc-gzd-checkbox-placeholder label { font-size: 14px; line-height: 1.5; }
.woocommerce-checkout #order_review img { width: 56px; height: auto; margin-right: 10px; vertical-align: middle; }

@media(min-width:900px) {
  .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px 2rem; align-items: start; }
  .woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; margin: 0; }
  .woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; margin: 0; }
  .woocommerce-checkout form.checkout #order_review { grid-column: 2; position: sticky; top: 130px; align-self: start; }
  .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
  .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout { grid-column: 1 / -1; grid-row: 1; }
  .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup ~ #customer_details,
  .woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout ~ #customer_details { grid-row: 2 / span 3; }
}
@media(min-width:1200px) { .efh-icons { --gap: 14px; } }
@media(max-width:980px) { .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; } }
@media(max-width:600px) {
  .woocommerce ul.products { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review { padding: 18px; }
  .woocommerce-checkout #customer_details { margin-bottom: 24px; }
  .woocommerce-cart table.cart td.actions .coupon .input-text { width: 48%; }
  .woocommerce-cart table.cart td.actions .coupon button.button { width: 48%; margin: 0; }
  .woocommerce-checkout #order_review img { width: 42px; }
}
@media(prefers-reduced-motion:reduce) {
  .woocommerce button,.woocommerce a,.woocommerce input,.woocommerce textarea { transition: none !important; }
}
