/* Grup 5 and requested commerce refinements. Shared site grid. */
.site-footer{grid-template-columns:repeat(4,minmax(0,1fr));padding:36px var(--safe-inset);gap:36px;align-items:start}
.site-footer .footer-brand{margin:0}.g5-footer-logo{width:141.286px;height:43px;display:flex;flex-direction:column;gap:3.5px;align-items:center}.g5-footer-logo img{max-width:none;flex:none}.site-footer .footer-brand p{font:18px/1.45 var(--serif);max-width:199px;margin:24px 0 0}.site-footer .footer-column h2{font:28px/1.06 var(--serif);margin:6px 0 20px}.site-footer .footer-links{gap:20px}.site-footer .footer-links a,.footer-packages summary{font:500 13px/1.4 var(--sans);letter-spacing:.65px}.footer-packages summary{cursor:pointer}.footer-packages>div{display:flex;flex-direction:column;gap:12px;padding-top:16px}.footer-legal{padding-inline:var(--safe-inset)}
.contact-form{padding-left:0;padding-right:0}.contact-layout{grid-template-columns:minmax(0,800fr) minmax(0,440fr)}.contact-form .form-consent{align-items:center}.contact-form .form-consent input{flex:none;margin:0}
select{appearance:none;background-image:url('e3c1e.svg')!important;background-repeat:no-repeat!important;background-position:right 24px center!important;background-size:16px 16px!important;padding-right:56px!important}
.woocommerce .select2-container .select2-selection--single{display:flex;align-items:center;min-height:54px}.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0 56px 0 16px;width:100%}.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{right:24px;top:50%;height:18px;transform:translateY(-50%)}
.woocommerce form .form-row textarea{height:68px;min-height:68px;line-height:24px;padding:21px 16px;resize:vertical}
.woocommerce-account .ba-account{max-width:none;padding-inline:var(--safe-inset)}
.woocommerce-cart .balance-main,.woocommerce-checkout .balance-main{padding-inline:var(--safe-inset)}
.g2-cart .commerce-title h1{font:700 40px/1.2 var(--sans)}.g2-cart .commerce-title h1 em{font:italic 40px/1.2 var(--serif)}
.balance-cart-item{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:28px;grid-template-columns:180px minmax(0,1fr);gap:24px}.balance-cart-item:last-of-type{border-bottom:0}.balance-cart-item .cart-product-photo img{width:180px;height:180px;object-fit:contain}.balance-cart-item .cart-item-info{gap:12px;min-width:0}.balance-cart-item h2,.balance-cart-item h2 em{font-size:28px;line-height:1.2;margin:0}.balance-cart-item .eyebrow{margin:0}.cart-price-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cart-line-price{font-size:22px;margin:0!important;white-space:nowrap}.cart-price-terms{flex:1;min-width:130px;margin:0!important;font-size:12px;line-height:1.4}.cart-quantity{display:flex;align-items:center;border:1px solid var(--line);height:40px;flex:none}.cart-quantity .quantity{margin:0}.cart-quantity input.qty{width:36px!important;border:0!important;padding:0!important;height:38px;min-height:0;text-align:center;appearance:textfield;-moz-appearance:textfield;font-size:16px}.cart-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-step{display:flex;align-items:center;justify-content:center;width:28px;height:38px;border:0;background:transparent;color:var(--green);font-size:22px;cursor:pointer}.cart-quantity:focus-within{outline:2px solid var(--green);outline-offset:2px}.g2-cart[aria-busy=true]{opacity:.7}.cart-coupon-wrap{margin-top:24px}.balance-coupon-form{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.balance-coupon-form label{display:block;font-size:14px;margin-bottom:10px}.balance-coupon-form>div{display:flex;gap:8px}.balance-coupon-form input{min-width:0;width:100%;padding:12px;border:1px solid var(--line)}.balance-coupon-form .balance-button{margin:0;padding:12px 16px}.cart-update-status:not(.screen-reader-text){padding:12px;color:#8b2525}
.woocommerce-checkout .balance-order-summary .balance-renewal-total th,.woocommerce-checkout .balance-order-summary .balance-renewal-total td,.woocommerce-checkout .balance-order-summary .balance-renewal-total small,.woocommerce-checkout .balance-order-summary .balance-renewal-total bdi,.woocommerce-checkout .balance-order-summary .fine,.woocommerce-checkout .balance-order-summary .summary-delivery{font:400 13px/1.5 var(--sans)}
.balance-search-results{min-height:50vh}.balance-search-results>h1{margin-bottom:16px}.search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px}.search-result-card{display:flex;flex-direction:column;gap:16px}.search-result-card img{width:100%;height:240px;object-fit:contain}.search-result-card h2{font-size:24px}.search-result-card .balance-button{margin-top:auto}.search-panel{display:block;padding-inline:var(--safe-inset)}.search-input-row{display:flex;align-items:center;gap:20px}.search-input-row input{flex:1}.search-quick-view{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:24px}.search-quick-view[hidden]{display:none}.quick-view-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;background:white;padding:16px;border:1px solid var(--line)}.quick-view-card img{width:80px;height:80px;object-fit:contain}.quick-view-card h3{font-size:18px;margin:0 0 8px}.quick-view-card p{font-size:13px;margin:6px 0}.quick-view-card a{text-decoration:underline;font-size:13px}.quick-view-card strong{font-size:14px}
.g2-product .meal-examples,.other-programs-slider{position:relative}.g2-product .meal-examples .meal-track{display:flex;gap:48px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0}.g2-product .meal-examples .meal-track::-webkit-scrollbar,.g2-other .product-grid::-webkit-scrollbar{display:none}.g2-product .meal-examples .meal-card{flex:0 0 calc((100% - 48px)/2);scroll-snap-align:start}.g2-other .product-grid{scrollbar-width:none;scroll-behavior:smooth}.slider-arrows{position:absolute;left:12px;right:12px;top:158px;display:flex;justify-content:space-between;pointer-events:none}.slider-arrows button{pointer-events:auto;width:44px;height:44px;border:0;border-radius:50%;background:white;display:flex;justify-content:center;align-items:center;box-shadow:0 1px 8px #0001;cursor:pointer}.slider-arrows button:disabled{opacity:.4;cursor:default}.g2-other .slider-arrows{top:143px}
.g5-mobile-logo,.menu-close-icon{display:none}.menu-open .menu-open-icon{display:none}.menu-open .menu-close-icon{display:block}
@media(min-width:768px){.site-footer .footer-toggle{pointer-events:none}.site-footer .footer-links{display:flex}.site-footer .footer-toggle span{display:none}}
@media(max-width:1100px) and (min-width:768px){.balance-cart-item{grid-template-columns:120px minmax(0,1fr)}.balance-cart-item .cart-product-photo img{width:120px;height:120px}.site-footer{gap:24px}.site-footer .footer-column h2{font-size:24px}.search-quick-view{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .site-footer{padding:32px 24px 0;gap:0}.site-footer .footer-brand{margin-bottom:24px}.site-footer .footer-column h2{font-size:24px;margin:0}.site-footer .footer-links{padding-bottom:24px}.footer-legal{padding-inline:24px}
 .site-nav{padding:0 20px 0 14px;gap:14px}.site-nav .menu-toggle{width:44px;height:44px}.site-nav .menu-toggle img{transform:none}.site-nav .brand-link{width:auto;flex:1;margin:0}.site-nav .balance-logo{display:none}.g5-mobile-logo{display:flex;flex-direction:column;gap:3.9px;align-items:center;width:159.2px;height:48px}.g5-mobile-logo img{max-width:none;flex:none}.site-nav .nav-actions{gap:19px}.site-nav .nav-actions img{transform:none}.menu-open{overflow:hidden}.menu-open .announcement{display:none}.menu-open .utility{position:fixed;top:0;left:0;right:0;z-index:601;background:#036343}.menu-open .site-nav{position:fixed;top:32px;left:0;right:0;z-index:601;background:white}.admin-bar.menu-open .utility{top:46px}.admin-bar.menu-open .site-nav{top:78px}
 .mobile-menu:not([hidden]){inset:110px 0 0;padding:24px 24px 28px;gap:24px;background:white;z-index:600;overflow-y:auto}.admin-bar .mobile-menu:not([hidden]){top:156px}.mobile-menu .mobile-menu-label{font:500 12px/16px var(--sans);letter-spacing:1.2px;color:#737a73;padding:0;margin:0}.mobile-primary,.mobile-helpful,.mobile-account{width:100%;flex:none}.mobile-primary a{display:flex;justify-content:space-between;align-items:center;height:58px;padding:0;border:0;font:700 26px/1.3 var(--sans);letter-spacing:0;color:#0a3826}.mobile-primary .menu-chevron{width:18px;height:18px;flex:none}.mobile-helpful a{display:flex;align-items:center;height:40px;padding:0;border:0;font:400 16px/1.3 var(--sans);color:#0a3826}.mobile-account{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:24px}.mobile-account .balance-button{height:50px;min-height:50px;padding:12px;font:700 16px/1 var(--sans);letter-spacing:0;border:0;background:#036343;color:white}.mobile-account .mobile-register{background:#e8f2eb;color:#0a3826}
 .contact-form{padding:0}.contact-form .form-consent{align-items:center}.ba-account>h1,.ba-account:has(.ba-nav a[href*="saved-cards"][aria-current])>h1{font-size:28px}.woocommerce-account .ba-account{padding-inline:24px}
 .woocommerce-cart .balance-main,.woocommerce-checkout .balance-main{padding-inline:24px;padding-bottom:110px}.g2-cart .commerce-title h1,.g2-cart .commerce-title h1 em{font-size:32px}.balance-cart-item{gap:16px}.balance-cart-item .cart-product-photo{display:block;width:50%;height:114px}.balance-cart-item .cart-product-photo img{height:114px;width:100%;object-fit:contain}.balance-cart-item h2,.balance-cart-item h2 em{font-size:28px}.cart-price-row{gap:10px}.cart-line-price{font-size:20px}.cart-price-terms{font-size:11px;min-width:110px}.g2-cart .checkout-button,.woocommerce-checkout #payment #place_order{position:fixed!important;bottom:0;left:0;right:0;z-index:450;width:100%!important;max-width:none!important;min-height:74px;margin:0!important;border-radius:0!important;padding:18px 24px calc(18px + env(safe-area-inset-bottom))!important;box-shadow:0 -4px 16px #0002}.menu-open .checkout-button,.menu-open #place_order{visibility:hidden}.balance-order-summary>p{font-size:13px}
 .search-panel{padding:20px 24px}.search-input-row{flex-wrap:wrap;gap:12px}.search-input-row label{width:100%}.search-input-row input{width:0}.search-quick-view,.search-results-grid{grid-template-columns:1fr}.quick-view-card{grid-template-columns:70px minmax(0,1fr)}.quick-view-card img{width:70px;height:70px}.balance-search-results{padding-inline:24px}.search-result-card img{height:220px}
 .g2-product .meal-examples .meal-track{gap:16px}.g2-product .meal-examples .meal-card{flex-basis:100%}.slider-arrows{top:108px}.g2-other .slider-arrows{top:83px}
}
@media(max-width:360px){.g5-mobile-logo{transform:scale(.85);transform-origin:left center;width:136px}.site-nav{gap:8px}.site-nav .nav-actions{gap:12px}.mobile-primary a{font-size:24px}}
/* WooCommerce block/global styles may load after theme styles. */
.woocommerce-checkout form.checkout .form-row textarea{padding:21px 16px!important;line-height:24px!important;height:68px;min-height:68px}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{padding:0 56px 0 16px!important;line-height:24px!important;height:24px!important;display:block}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{right:24px!important;top:50%!important;height:18px!important;transform:translateY(-50%)}
.site-footer .footer-links>p{display:contents}
@media(max-width:767px){.cart-price-row{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:8px}.cart-price-row .cart-price-terms{min-width:0;overflow-wrap:normal}}

/* Keep breadcrumb text and checkout branding on the shared content edge. */
.breadcrumb{padding-inline:var(--safe-inset)}
@media(max-width:767px){
 .checkout-header .balance-logo{transform:none;width:159.2px;height:48px}
 .checkout-header .balance-logo img:first-child{width:159.2px;height:36.6162px}
 .checkout-header .balance-logo img:last-child{width:79.3293px;height:7.4754px}
}

/* PDP recommendations match the catalogue column widths without clipped cards. */
@media(min-width:1101px){.g2-other .product-card{flex-basis:calc((100% - 48px)/3)}}
@media(min-width:768px) and (max-width:1100px){.g2-other .product-card{flex-basis:calc((100% - 24px)/2)}}

.balance-cart-link{position:relative;overflow:visible}.balance-cart-count{position:absolute;top:-7px;right:-8px;display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:50%;background:var(--green);color:white;font:700 13px/1 var(--sans);pointer-events:none}.balance-cart-count[hidden]{display:none}

.g2-other .product-grid>p:empty{display:none}

/* Close action sits inside the search input without overlapping typed text. */
.search-input-row .search-field{position:relative;flex:1;min-width:0}
.search-input-row .search-field input{display:block;width:100%;padding-right:84px;box-sizing:border-box}
.search-close{position:absolute;right:16px;top:50%;transform:translateY(-50%);height:44px;padding:0;border:0;background:transparent;color:var(--ink);font:400 14px/1 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}
.search-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}
