.woo-wrap{max-width:1100px}
.cart-link{display:inline-flex;align-items:center;gap:.4rem}
.cart-count{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:999px;background:var(--red);color:#fff;font-size:.75rem;font-weight:700}
.meal-buy{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1rem}
.meal-buy .price{margin:0}
.meal-buy .btn{padding:.55rem 1rem;font-size:.9rem}
.menu-card h3 a{color:inherit}
.menu-card .added_to_cart{margin-left:.5rem;font-size:.85rem;font-weight:700;color:var(--red)}
.form-ok{background:#e8f5e9;border:1px solid #a5d6a7;padding:.7rem 1rem;margin:0 0 1rem}
/* WooCommerce pages */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button,.wp-block-woocommerce-cart .wc-block-cart__submit-button{background:var(--red);color:#fff;border-radius:0;font-weight:700;padding:.75rem 1.3rem;border:0}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--red-dark);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--red)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--red);background:#fff;padding:1rem 1.2rem 1rem 3.2rem}
.woocommerce div.product .product_title{font-family:"Space Grotesk",sans-serif}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--red);font-weight:800}
.woocommerce div.product div.images img{width:100%}
.woocommerce table.shop_table{border-radius:0;border-color:var(--line);background:#fff}
.woocommerce-checkout #payment{background:#fff;border-radius:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.wc-block-components-text-input input{border:1px solid var(--line);border-radius:0;padding:.7rem .8rem;background:#fff}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0 0 1.5rem;padding:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:.6rem 1rem;border:1px solid var(--line);margin-bottom:-1px;background:#fff;font-weight:600}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--ink);color:#fff}
@media(min-width:800px){.woocommerce-MyAccount-navigation{float:left;width:24%}.woocommerce-MyAccount-content{float:right;width:72%}}
.woocommerce::after,.woo-wrap::after{content:"";display:table;clear:both}

/* ===== Product page ===== */
.pdp-crumbs{background:#fff;border-bottom:1px solid var(--line);font-size:.88rem}
.pdp-crumbs .container{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-top:.8rem;padding-bottom:.8rem;color:#777}
.pdp-crumbs a{color:#555;text-decoration:none;font-weight:600}.pdp-crumbs a:hover{color:var(--red)}.pdp-crumbs b{color:var(--ink)}
.single-product .woo-wrap{max-width:1180px}
.single-product div.product{display:grid;grid-template-columns:1fr;gap:2rem 3rem;align-items:start}
@media(min-width:900px){.single-product div.product{grid-template-columns:1.05fr 1fr}.single-product div.product .woocommerce-tabs,.single-product div.product .related,.single-product div.product .up-sells{grid-column:1/-1}}
.single-product div.product div.images,.single-product div.product div.summary{float:none;width:100%;margin:0}
.single-product div.product div.images img{border-radius:4px;box-shadow:none}
.single-product div.product .product_title{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;margin:0 0 .6rem;color:var(--ink)}
.single-product div.product p.price{font-size:1.9rem;margin:0 0 1rem}
.woocommerce-product-details__short-description{font-size:1.05rem;color:#444;margin-bottom:1.2rem}
.single-product form.cart{display:flex;gap:.8rem;align-items:stretch;margin:0 0 1.4rem}
.single-product form.cart .quantity input.qty{height:100%;min-height:52px;width:76px;border:1px solid #cfc9c1;border-radius:2px;background:#fff;font-weight:700;text-align:center}
.single-product form.cart .single_add_to_cart_button{flex:1;min-height:52px;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;border-radius:2px}
.pdp-macros{margin:0 0 1.2rem;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line)}
.pdp-macros h3{margin:0 0 .8rem;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#777}
.pdp-macros ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
.pdp-macros li{text-align:center;padding:.7rem .3rem;background:#f6f4f1;border-top:3px solid var(--red)}
.pdp-macros b{display:block;font:700 1.35rem/1.1 "Space Grotesk",sans-serif;color:var(--ink)}.pdp-macros small{font-size:.7em;margin-left:1px}
.pdp-macros span{font-size:.78rem;color:#777;text-transform:uppercase;letter-spacing:.06em}
.pdp-points{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.pdp-points li{position:relative;padding-left:1.7rem;font-size:.95rem;color:#444}
.pdp-points li::before{content:"✓";position:absolute;left:0;top:0;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--red);color:#fff;font-size:.72rem;line-height:1.15rem;text-align:center}
.single-product .product_meta{display:none}
.woocommerce-tabs{margin-top:1rem}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 1.2rem;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 1.4rem 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.7rem 0;font-weight:700;color:#777;text-transform:uppercase;letter-spacing:.06em;font-size:.88rem}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:3px solid var(--red)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)}
.related.products>h2{font-family:"Space Grotesk",sans-serif;font-size:1.6rem;margin:2.5rem 0 1.2rem}
.related ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:0;margin:0;list-style:none}
@media(min-width:900px){.related ul.products{grid-template-columns:repeat(4,1fr)}}
.related ul.products li.product{float:none;width:auto;margin:0;padding:.8rem;background:#fff;border:1px solid var(--line);text-align:left}
.related ul.products li.product img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0 0 .7rem}
.related ul.products .woocommerce-loop-product__title{font-size:1rem;font-family:"Space Grotesk",sans-serif;padding:0}
.related ul.products .price{color:var(--red);font-weight:800}
.related ul.products a.button{margin-top:.6rem}
.pdp-sticky{display:none}
@media(max-width:899px){
  .pdp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem 1rem;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 26px -16px rgba(0,0,0,.4)}
  .pdp-sticky div{display:flex;flex-direction:column;min-width:0}.pdp-sticky b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdp-sticky span{color:var(--red);font-weight:800}
  .pdp-sticky .btn{padding:.6rem 1.1rem;white-space:nowrap}
  body.single-product{padding-bottom:70px}
}
/* ===== Cart & checkout ===== */
.co-steps{list-style:none;display:flex;justify-content:center;gap:2rem;margin:0 0 2rem;padding:0;font-weight:700;font-size:.9rem;color:#999;text-transform:uppercase;letter-spacing:.06em}
.co-steps li{display:flex;align-items:center;gap:.5rem}.co-steps li.is-on{color:var(--ink)}
.co-steps i{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#ddd;color:#555;font-style:normal;font-size:.8rem}
.co-steps li.is-on i{background:var(--red);color:#fff}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:1180px}
.wc-block-cart,.wc-block-checkout{font-family:"Source Sans 3",system-ui,sans-serif}
.wc-block-cart__main,.wc-block-components-main{background:#fff;border:1px solid var(--line);padding:1.2rem 1.4rem}
.wc-block-cart__sidebar .wc-block-components-sidebar,.wc-block-checkout__sidebar,.wc-block-components-sidebar{background:#fff;border:1px solid var(--line);padding:1.2rem 1.4rem}
.wc-block-cart-items th{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#777}
.wc-block-cart-item__image img{border-radius:3px}
.wc-block-components-product-name{font:700 1.05rem "Space Grotesk",sans-serif;color:var(--ink);text-decoration:none}
.wc-block-components-product-price,.wc-block-formatted-money-amount{font-weight:800}
.wc-block-cart__totals-title,.wc-block-components-checkout-step__title,.wc-block-components-title{font-family:"Space Grotesk",sans-serif;color:var(--ink)}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:1.4rem;color:var(--red)}
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:54px;background:var(--red)!important;color:#fff!important;border-radius:2px!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{background:var(--red-dark)!important}
.wc-block-components-quantity-selector{border-radius:2px;background:#fff}
.wc-block-components-text-input input,.wc-blocks-components-select select,.wc-block-components-textarea{border-radius:2px!important;border-color:#cfc9c1!important}
.wc-block-components-text-input input:focus{border-color:var(--red)!important;box-shadow:0 0 0 1px var(--red)!important}
.wc-block-components-radio-control__option-checked,.wc-block-components-radio-control-accordion-option--checked-option-highlighted{box-shadow:inset 0 0 0 1.5px var(--red)}
.wc-block-components-checkout-step__container{padding-top:.4rem}
.wc-block-components-notice-banner{border-radius:2px}
.woocommerce-order-received .woocommerce-thankyou-order-received{padding:1rem 1.2rem;background:#e8f5e9;border:1px solid #a5d6a7;font-weight:700}
@media(max-width:700px){.co-steps{gap:1rem;font-size:.78rem}}

/* Related meals (menu cards) */
.related-meals{grid-column:1/-1;margin-top:1.5rem}
.related-meals h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(1.4rem,3vw,1.8rem);margin:0 0 1.2rem;padding-bottom:.7rem;border-bottom:1px solid var(--line);position:relative}
.related-meals h2::after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:3px;background:var(--red)}

/* Product tabs: clean underline tabs, no stray background or indent */
.single-product div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 1.4rem!important;display:flex;gap:2rem;border-bottom:1px solid var(--line);overflow:visible}
.single-product div.product .woocommerce-tabs ul.tabs li,
.single-product div.product .woocommerce-tabs ul.tabs li.active{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;box-shadow:none}
.single-product div.product .woocommerce-tabs ul.tabs li a{display:block;padding:.8rem 0!important;font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8580;border-bottom:3px solid transparent;margin-bottom:-1px}
.single-product div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--red)}
.single-product div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover{color:var(--ink)}
body.single-product .woocommerce-Tabs-panel{margin:0;padding:0}
body.single-product .woocommerce-Tabs-panel>h2:first-child{display:none}
body.single-product .woocommerce-Tabs-panel p{margin:0 0 1rem;max-width:70ch}
body.single-product .woocommerce-tabs{margin-top:.5rem;padding-bottom:1rem}
body.single-product .related-meals{margin-top:1rem}

/* ===== Reviews ===== */
.single-product #reviews{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:900px){.single-product #reviews{grid-template-columns:1fr 1.1fr;align-items:start;gap:2.4rem}}
.single-product #reviews .woocommerce-Reviews-title{font:700 1.35rem "Space Grotesk",sans-serif;margin:0;color:var(--ink)}
.single-product #reviews #comments{padding:1.4rem;background:#fff;border:1px solid var(--line)}
.single-product #reviews .woocommerce-noreviews{margin:.6rem 0 0;color:#666;padding:1rem;background:#f6f4f1;border-left:3px solid var(--red)}
.single-product #reviews ol.commentlist{list-style:none;margin:1rem 0 0;padding:0}
.single-product #reviews ol.commentlist li{margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px solid var(--line)}
.single-product #reviews ol.commentlist li .comment_container{display:flex;gap:1rem}
.single-product #reviews ol.commentlist li img.avatar{position:static;width:44px;height:44px;border-radius:50%;padding:0;border:0;background:#eee}
.single-product #reviews ol.commentlist li .comment-text{margin:0;padding:0;border:0;flex:1}
.single-product #reviews #review_form_wrapper{padding:1.6rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red)}
.single-product #reviews .comment-reply-title{display:block;margin:0 0 .4rem;font:700 1.2rem "Space Grotesk",sans-serif;color:var(--ink)}
.single-product #reviews .comment-notes{margin:0 0 1.2rem;font-size:.9rem;color:#777}
.single-product #reviews .comment-form{display:grid;gap:1rem}
.single-product #reviews .comment-form p{margin:0}
.single-product #reviews .comment-form label{display:block;margin:0 0 .4rem;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#555}
.single-product #reviews .comment-form .required{color:var(--red)}
.single-product #reviews .comment-form textarea,.single-product #reviews .comment-form input[type=text],.single-product #reviews .comment-form input[type=email]{width:100%;box-sizing:border-box;padding:.8rem 1rem;border:1px solid #cfc9c1;border-radius:2px;background:#fff;font:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.single-product #reviews .comment-form textarea{min-height:130px;resize:vertical}
.single-product #reviews .comment-form textarea:focus,.single-product #reviews .comment-form input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(196,30,30,.12)}
.single-product #reviews .comment-form-author,.single-product #reviews .comment-form-email{margin:0}
@media(min-width:600px){.single-product #reviews .comment-form{grid-template-columns:1fr 1fr}.single-product #reviews .comment-form>p.comment-notes,.single-product #reviews .comment-form>.comment-form-rating,.single-product #reviews .comment-form>.comment-form-comment,.single-product #reviews .comment-form>.comment-form-cookies-consent,.single-product #reviews .comment-form>.form-submit{grid-column:1/-1}}
.single-product #reviews .comment-form-cookies-consent{display:flex;align-items:center;gap:.6rem}
.single-product #reviews .comment-form-cookies-consent label{margin:0;font-size:.88rem;font-weight:500;letter-spacing:0;text-transform:none;color:#666}
.single-product #reviews .comment-form-cookies-consent input{width:18px;height:18px;accent-color:var(--red)}
.single-product #reviews p.stars{margin:0}.single-product #reviews p.stars a{color:var(--amber);font-size:1.5rem}
.single-product #reviews p.stars a::before{color:var(--amber)}
.single-product #reviews p.stars:hover a::before,.single-product #reviews p.stars.selected a.active~a::before{color:#c9c3ba}
.single-product #reviews p.stars:hover a:hover::before,.single-product #reviews p.stars:hover a:hover~a::before{color:#c9c3ba}
.single-product #reviews .form-submit input#submit{padding:.9rem 2.2rem;min-height:50px;border:0;border-radius:2px;background:var(--red);color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.single-product #reviews .form-submit input#submit:hover{background:var(--red-dark)}
.single-product .star-rating span::before{color:var(--amber)}

/* ===== Meal subscription plans ===== */
.plans-block{scroll-margin-top:110px;margin-bottom:3.5rem}
.plans-head{text-align:center;max-width:640px;margin:0 auto 2.2rem}
.plans-eyebrow{display:inline-block;margin-bottom:.7rem;font:700 .8rem "Source Sans 3",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.plans-head h2{margin:0 0 .6rem;font:700 clamp(1.7rem,4vw,2.5rem)/1.1 "Space Grotesk",sans-serif;color:var(--ink)}
.plans-head p{margin:0;color:#555;font-size:1.05rem}
.plans-grid{display:grid;gap:1.4rem;grid-template-columns:1fr;align-items:stretch}
@media(min-width:900px){.plans-grid{grid-template-columns:repeat(3,1fr);gap:1.6rem}}
@media(min-width:900px){.plans-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1200px){.plans-grid-4{grid-template-columns:repeat(4,1fr);gap:1.2rem}.plans-grid-4 .plan-card{padding:2rem 1.3rem 1.6rem}.plans-grid-4 .plan-price{font-size:2.4rem}}
.plans-block+.plans-block{margin-top:4.5rem}
.plan-save{display:inline-block;align-self:flex-start;margin:-.6rem 0 1.2rem;padding:.25rem .65rem;background:#fdecec;color:var(--red);font-weight:700;font-size:.85rem}
.plan-card.is-featured .plan-save{background:var(--red);color:#fff}
.plan-card{position:relative;display:flex;flex-direction:column;padding:2rem 1.8rem 1.6rem;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.plan-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(0,0,0,.45)}
.plan-card.is-featured{background:var(--ink);color:#e8e4de;border-color:var(--ink);box-shadow:0 30px 50px -30px rgba(196,30,30,.55)}
@media(min-width:900px){.plan-card.is-featured{transform:translateY(-10px)}.plan-card.is-featured:hover{transform:translateY(-14px)}}
.plan-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);padding:.35rem 1rem;background:var(--red);color:#fff;font:700 .72rem "Source Sans 3",sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.plan-card h3{margin:0 0 .8rem;font:700 1.25rem "Space Grotesk",sans-serif;color:var(--ink);text-transform:none}
.plan-card.is-featured h3{color:#fff}
.plan-price{margin:0;display:flex;align-items:baseline;gap:.4rem;font:700 2.8rem/1 "Space Grotesk",sans-serif;color:var(--ink)}
.plan-card.is-featured .plan-price{color:#fff}
.plan-price .woocommerce-Price-amount{color:inherit}
.plan-price small{font:600 1rem "Source Sans 3",sans-serif;color:#888}
.plan-per{margin:.5rem 0 1.3rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line);font-weight:600;color:var(--red)}
.plan-card.is-featured .plan-per{border-color:rgba(255,255,255,.18);color:#ff8a8a}
.plan-feat{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.7rem;flex:1}
.plan-feat li{position:relative;padding-left:1.7rem;font-size:.98rem}
.plan-feat li::before{content:"✓";position:absolute;left:0;top:.1rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--red);color:#fff;font-size:.7rem;line-height:1.15rem;text-align:center}
.plan-card .btn{width:100%;justify-content:center;text-align:center;padding:.95rem 1rem;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
.plan-card.is-featured .btn-primary:hover{background:#fff;color:var(--ink)}
.plan-more{margin-top:.9rem;text-align:center;font-size:.9rem;font-weight:600;color:#777;text-decoration:none}
.plan-card.is-featured .plan-more{color:#bdb8b0}.plan-more:hover{color:var(--red)}
.plans-steps{list-style:none;margin:2.6rem 0 0;padding:1.6rem;display:grid;gap:1.2rem;background:#fff;border:1px solid var(--line)}
@media(min-width:760px){.plans-steps{grid-template-columns:repeat(3,1fr);gap:2rem;padding:1.8rem 2rem}}
.plans-steps li{display:flex;align-items:center;gap:1rem}
.plans-steps b{flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--red);color:#fff;font:700 1rem "Space Grotesk",sans-serif}
.plans-steps span{display:flex;flex-direction:column;font-weight:700;color:var(--ink)}
.plans-steps small{font-weight:500;color:#777;font-size:.88rem}

/* ===== Category pages ===== */
.cat-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 2rem}
.cat-pills a{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:#fff;border:1px solid var(--line);font-weight:700;font-size:.92rem;color:var(--ink);text-decoration:none;transition:border-color .15s,background .15s,color .15s}
.cat-pills a small{font-size:.75rem;color:#888;font-weight:600}
.cat-pills a:hover{border-color:var(--red);color:var(--red)}
.cat-pills a.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.cat-pills a.is-active small{color:#cfc9c1}
.cat-hero{padding-bottom:2.2rem}

/* ===== My account ===== */
/* Login / register */
.woocommerce-account:not(.logged-in) .u-columns{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media(min-width:860px){.woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr 1fr}}
.woocommerce-account:not(.logged-in) .u-columns>div{float:none;width:auto;padding:1.8rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red)}
.woocommerce-account:not(.logged-in) .u-columns h2{margin:0 0 1.2rem;font:700 1.5rem "Space Grotesk",sans-serif;color:var(--ink)}
.woocommerce-account form.login,.woocommerce-account form.register{border:0!important;padding:0!important;margin:0!important;background:transparent!important;border-radius:0!important}
.woocommerce-account .woocommerce-form-row label,.woocommerce-account form .form-row label{display:block;margin:0 0 .4rem;font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#555}
.woocommerce-account form .form-row{margin:0 0 1rem;padding:0}
.woocommerce-account form .form-row .required{color:var(--red);text-decoration:none}
.woocommerce-account input.input-text,.woocommerce-account select,.woocommerce-account textarea{width:100%;box-sizing:border-box;padding:.8rem 1rem;border:1px solid #cfc9c1;border-radius:2px;background:#fff;font:inherit;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.woocommerce-account input.input-text:focus,.woocommerce-account select:focus,.woocommerce-account textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(196,30,30,.12)}
.woocommerce-account .woocommerce-form-login__rememberme{display:flex;align-items:center;gap:.5rem;margin:.2rem 0 1rem;font-size:.92rem;font-weight:500;letter-spacing:0;text-transform:none;color:#555}
.woocommerce-account .woocommerce-form-login__rememberme input{width:18px;height:18px;accent-color:var(--red)}
.woocommerce-account button.woocommerce-button,.woocommerce-account button.button,.woocommerce-account a.button{min-height:48px;padding:.8rem 1.6rem;border:0;border-radius:2px;background:var(--red);color:#fff;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.woocommerce-account button.woocommerce-button:hover,.woocommerce-account button.button:hover,.woocommerce-account a.button:hover{background:var(--red-dark);color:#fff}
.woocommerce-account form.login .woocommerce-form-login__submit,.woocommerce-account form.register .woocommerce-form-register__submit{width:100%}
.woocommerce-account .lost_password{margin:1rem 0 0;font-size:.92rem}.woocommerce-account .lost_password a{color:var(--red);font-weight:600}
.woocommerce-account .woocommerce-privacy-policy-text{font-size:.85rem;color:#777}
/* Logged-in layout */
body.logged-in.woocommerce-account .woocommerce{display:grid;gap:1.6rem;grid-template-columns:1fr;align-items:start}
@media(min-width:900px){body.logged-in.woocommerce-account .woocommerce{grid-template-columns:270px 1fr;gap:2rem}}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,body.logged-in.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{margin:0;padding:0;background:#fff;border:1px solid var(--line);list-style:none}
.woocommerce-MyAccount-navigation li{margin:0;border-bottom:1px solid var(--line)}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{display:block;margin:0;padding:.95rem 1.2rem;border:0;background:transparent;font-weight:700;font-size:.95rem;color:var(--ink);text-decoration:none;border-left:3px solid transparent;transition:background .15s}
.woocommerce-MyAccount-navigation li a:hover{background:#f6f4f1}
.woocommerce-MyAccount-navigation li.is-active a{background:#f6f4f1;border-left-color:var(--red);color:var(--red)}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#777;font-weight:600}
@media(max-width:899px){
  .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;gap:.5rem;padding:.5rem;scrollbar-width:none}
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
  .woocommerce-MyAccount-navigation li{border:0;flex:none}
  .woocommerce-MyAccount-navigation li a{padding:.6rem 1rem;border:1px solid var(--line);border-left-width:1px;white-space:nowrap}
  .woocommerce-MyAccount-navigation li.is-active a{border-color:var(--red);background:var(--red);color:#fff}
}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content>p:first-child{display:none}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:"Space Grotesk",sans-serif;color:var(--ink)}
/* Dashboard */
.acc-hello{display:flex;align-items:center;gap:1.2rem;padding:1.6rem;background:var(--ink);color:#e8e4de;margin-bottom:1.2rem}
.acc-hello h2{margin:0 0 .2rem;font:700 1.45rem "Space Grotesk",sans-serif;color:#fff}.acc-hello p{margin:0;font-size:.98rem;color:#bdb8b0}
.acc-avatar{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--red);color:#fff;font:700 1.5rem "Space Grotesk",sans-serif}
.acc-stats{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}
.acc-stats li{padding:1.1rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);text-align:center}
.acc-stats b{display:block;font:700 1.6rem/1.1 "Space Grotesk",sans-serif;color:var(--ink)}.acc-stats span{font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;color:#888}
.acc-actions{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}
@media(min-width:1100px){.acc-actions{grid-template-columns:repeat(4,1fr)}}
.acc-actions a{display:flex;flex-direction:column;gap:.2rem;padding:1.1rem;background:#fff;border:1px solid var(--line);text-decoration:none;transition:border-color .15s,transform .15s}
.acc-actions a:hover{border-color:var(--red);transform:translateY(-2px)}
.acc-actions b{color:var(--ink);font-size:1rem}.acc-actions span{font-size:.85rem;color:#777;line-height:1.35}
.acc-actions a.is-primary{background:var(--red);border-color:var(--red)}.acc-actions a.is-primary b,.acc-actions a.is-primary span{color:#fff}
.acc-recent-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.8rem}
.acc-recent-head h3{margin:0;font-size:1.2rem}.acc-recent-head a{color:var(--red);font-weight:700;text-decoration:none;font-size:.92rem}
.acc-orders{background:#fff;border:1px solid var(--line)}
.acc-order{display:grid;grid-template-columns:80px 1fr auto auto;gap:1rem;align-items:center;padding:1rem 1.2rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background .15s}
.acc-order:last-child{border-bottom:0}.acc-order:hover{background:#faf8f5}
.acc-order-id{font-weight:800}.acc-order-date{color:#777;font-size:.92rem}.acc-order-total{font-weight:700;text-align:right}
@media(max-width:600px){.acc-order{grid-template-columns:1fr auto;row-gap:.3rem}.acc-order-date{grid-column:1}.acc-order-total{grid-column:2;grid-row:1}.acc-status{grid-column:2;grid-row:2;justify-self:end}}
.acc-status{display:inline-block;padding:.25rem .7rem;border-radius:99px;background:#eee;color:#555;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.acc-status.st-completed{background:#dcfce7;color:#166534}.acc-status.st-processing{background:#fff3d6;color:#8a5a00}.acc-status.st-on-hold,.acc-status.st-pending{background:#e8eefc;color:#2a4a9a}.acc-status.st-cancelled,.acc-status.st-failed,.acc-status.st-refunded{background:#fde2e2;color:#a01818}
.acc-empty{padding:2rem;background:#fff;border:1px dashed #cfc9c1;text-align:center}.acc-empty p{margin:0 0 1rem;color:#666}
@media(max-width:600px){.acc-stats{grid-template-columns:1fr}.acc-hello{padding:1.2rem}}
/* Orders table, addresses, details */
.woocommerce-account table.shop_table{width:100%;background:#fff;border:1px solid var(--line);border-collapse:collapse;border-radius:0}
.woocommerce-account table.shop_table th{padding:.9rem 1rem;background:#f6f4f1;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:#666;text-align:left}
.woocommerce-account table.shop_table td{padding:.9rem 1rem;border-top:1px solid var(--line)}
.woocommerce-account .woocommerce-orders-table__cell-order-number a{font-weight:800;color:var(--ink)}
.woocommerce-account .woocommerce-orders-table .button{min-height:38px;padding:.5rem 1rem;font-size:.8rem}
.woocommerce-account .woocommerce-Addresses{display:grid;gap:1.4rem;grid-template-columns:1fr}
@media(min-width:760px){.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}}
.woocommerce-account .woocommerce-Address{float:none;width:auto;padding:1.4rem;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red)}
.woocommerce-account .woocommerce-Address-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.woocommerce-account .woocommerce-Address-title h2{margin:0 0 .6rem;font-size:1.15rem}
.woocommerce-account .woocommerce-Address-title a{color:var(--red);font-weight:700;font-size:.9rem}
.woocommerce-account address{font-style:normal;color:#555;line-height:1.7}
.woocommerce-account .woocommerce-EditAccountForm,.woocommerce-account .woocommerce-address-fields{padding:1.6rem;background:#fff;border:1px solid var(--line)}
.woocommerce-account fieldset{margin:1.4rem 0 0;padding:1.2rem 0 0;border:0;border-top:1px solid var(--line)}.woocommerce-account fieldset legend{padding:0 .6rem 0 0;font:700 1.05rem "Space Grotesk",sans-serif}
.woocommerce-account .woocommerce-message,.woocommerce-account .woocommerce-info{margin:0 0 1.2rem}
/* the empty notices wrapper must not take a grid cell */
body.logged-in.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
body.logged-in.woocommerce-account .woocommerce>.woocommerce-notices-wrapper:empty{display:none}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation{grid-column:1}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content{grid-column:2}
@media(max-width:899px){body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,body.logged-in.woocommerce-account .woocommerce-MyAccount-content{grid-column:1}}

/* WooCommerce clearfix pseudo-elements must not become grid cells */
.woocommerce-account .u-columns::before,.woocommerce-account .u-columns::after,
.woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after,
body.logged-in.woocommerce-account .woocommerce::before,body.logged-in.woocommerce-account .woocommerce::after{display:none!important;content:none}
.woocommerce-account .woocommerce-Addresses .col-1,.woocommerce-account .woocommerce-Addresses .col-2,.woocommerce-account .woocommerce-Addresses .woocommerce-Address{float:none!important;width:auto!important;max-width:none}
.woocommerce-account .woocommerce-Address-title{flex-wrap:wrap}
.woocommerce-account .woocommerce-Address-title a{white-space:nowrap}
.woocommerce-account .woocommerce-Address-title::before,.woocommerce-account .woocommerce-Address-title::after{display:none}
.woocommerce-MyAccount-content>p:first-child{display:block}
/* mobile: stop the horizontal nav from widening the page */
body.logged-in.woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){body.logged-in.woocommerce-account .woocommerce{grid-template-columns:270px minmax(0,1fr)}}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation{min-width:0;max-width:100%}
.woocommerce-account .woocommerce-MyAccount-content table{display:block;overflow-x:auto}
/* My account: login / register */
.woocommerce-account .woo-wrap{max-width:1000px}
.woocommerce-account .u-columns{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:800px){.woocommerce-account .u-columns{grid-template-columns:1fr 1fr}}
.woocommerce-account .u-columns::before,.woocommerce-account .u-columns::after{display:none}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{float:none;width:auto;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:1.8rem}
.woocommerce-account .u-column1 h2,.woocommerce-account .u-column2 h2{margin:0 0 1.1rem;font-size:1.5rem}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{border:0;padding:0;margin:0;border-radius:0}
.woocommerce-account form .form-row{margin:0 0 1rem;padding:0}
.woocommerce-account form .form-row label{display:block;margin-bottom:.35rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.woocommerce-account form .form-row .input-text{width:100%;height:48px;padding:0 .9rem;font-size:1rem;border:1px solid var(--line);background:#fff;border-radius:0}
.woocommerce-account form .form-row .input-text:focus{outline:2px solid var(--red);outline-offset:-1px;border-color:var(--red)}
.woocommerce-account .password-input{display:block;position:relative}
.woocommerce-account .show-password-input{top:50%!important;transform:translateY(-50%)}
.woocommerce-form-login__rememberme{display:flex!important;align-items:center;gap:.5rem;margin:0 0 1rem!important;text-transform:none!important;letter-spacing:0!important;font-size:.95rem!important;font-weight:600!important}
.woocommerce-form-login__submit,.woocommerce-form-register__submit{width:100%;margin:0!important}
.woocommerce-LostPassword{margin:1rem 0 0}
.woocommerce-LostPassword a{color:var(--red);font-weight:600}
.woocommerce-privacy-policy-text p{font-size:.85rem;color:var(--muted);line-height:1.55}
.woocommerce-password-strength{margin:.4rem 0 0;padding:.4rem .6rem;font-size:.85rem;text-align:left}
/* logged-in dashboard */
.woocommerce-MyAccount-content{background:#fff;border:1px solid var(--line);padding:1.5rem}
.woocommerce-MyAccount-navigation li a{text-transform:uppercase;font-size:.82rem;letter-spacing:.07em;font-weight:700}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.woocommerce-account .woocommerce-Addresses{display:grid;gap:1rem}
@media(min-width:700px){.woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr 1fr}.woocommerce-account .woocommerce-Addresses .u-column1,.woocommerce-account .woocommerce-Addresses .u-column2{float:none;width:auto}}
@media(max-width:600px){
  .acc-stats{grid-template-columns:repeat(3,1fr);gap:.6rem}
  .acc-stats li{padding:.8rem .4rem}.acc-stats b{font-size:1.2rem}.acc-stats span{font-size:.62rem;letter-spacing:.04em}
}
.woocommerce-account .woocommerce-Address-title{padding:0}
.woocommerce-account .woocommerce-Address-title h2{padding:0;margin-left:0}
/* Order now page: plans first, then single meals */
.menu-split{display:flex;align-items:center;gap:1.2rem;margin:4rem 0 2.5rem;font:700 clamp(1.3rem,3vw,1.7rem) "Space Grotesk",sans-serif;color:var(--ink)}
.menu-split::before,.menu-split::after{content:"";flex:1;height:1px;background:var(--line)}

/* Plan page: Chef's choice or pick your meals */
.bb-pick{margin:0 0 1.4rem;width:100%;scroll-margin-top:110px}
.bb-pick h3{margin:0 0 .8rem;font:700 1.15rem "Space Grotesk",sans-serif;color:var(--ink)}
.bb-pick-modes{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}
@media(max-width:520px){.bb-pick-modes{grid-template-columns:1fr}}
.bb-pick-modes label{display:flex;gap:.7rem;align-items:flex-start;padding:1rem;background:#fff;border:2px solid var(--line);cursor:pointer}
.bb-pick-modes label:has(input:checked){border-color:var(--red);background:rgba(196,30,30,.04)}
.bb-pick-modes input{margin-top:.25rem;accent-color:var(--red)}
.bb-pick-modes span{display:flex;flex-direction:column}
.bb-pick-modes small{color:#666;font-size:.88rem;line-height:1.35}
.js .bb-pick:not(.is-picking) .bb-pick-list{display:none}
.bb-pick-list{margin-top:1rem;border:1px solid var(--line);background:#fff;max-height:520px;overflow:auto}
.bb-pick-count{position:sticky;top:0;z-index:1;margin:0;padding:.7rem 1rem;background:var(--ink);color:#fff;font-weight:600}
.bb-pick.is-full .bb-pick-count{background:#1f7a3a}
.bb-pick-list h4{margin:0;padding:.6rem 1rem;background:#f4f1ec;font:700 .8rem "Source Sans 3",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8a6a2f}
.bb-pick-list ul{list-style:none;margin:0;padding:0}
.bb-pick-list li{display:flex;align-items:center;gap:.8rem;padding:.6rem 1rem;border-top:1px solid var(--line)}
.bb-pick-list li.is-on{background:rgba(196,30,30,.05)}
.bb-pick-list li img,.bb-pick-list li i{flex:none;width:52px;height:52px;object-fit:cover;background:#eee}
.bb-pick-list li span{flex:1;font-weight:600;font-size:.95rem;line-height:1.25;color:var(--ink)}
.bb-pick-list li small{display:block;font-weight:500;color:#777;font-size:.8rem}
.bb-qty{flex:none;display:flex;align-items:center;border:1px solid var(--line)}
.bb-qty button{width:2rem;height:2rem;border:0;background:#fff;font-size:1.1rem;cursor:pointer;color:var(--ink)}
.bb-qty button:hover{color:var(--red)}
.bb-qty input{width:2.2rem;height:2rem;border:0;text-align:center;font-weight:700;-moz-appearance:textfield}
.bb-qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.bb-pick.is-full .bb-qty button[data-d="1"]{opacity:.3;cursor:not-allowed}
form.cart button[disabled]{opacity:.5;cursor:not-allowed}
.single-product form.cart:has(.bb-pick){flex-wrap:wrap}
.single-product form.cart .bb-pick{flex:0 0 100%;order:-1}
/* Notices: one row per message, button on the right (no stacked buttons) */
.woocommerce-notices-wrapper{display:grid;gap:.8rem;margin:0 0 1.6rem}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-notices-wrapper>*{margin:0!important}
.woocommerce-error{list-style:none}
.woocommerce-message,.woocommerce-error li{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;font-size:1rem;line-height:1.4}
.woocommerce-error li+li{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--line)}
.woocommerce-message .button,.woocommerce-error li .button{float:none!important;order:2;margin-left:auto;padding:.5rem 1rem;font-size:.9rem}
.woocommerce-message{border-top-color:#1f7a3a}
.woocommerce-notices-wrapper [tabindex="-1"]:focus,.woocommerce-error:focus,.woocommerce-message:focus{outline:none}
/* Office phone: call or text */
.phone-alt{display:block;font-size:.85em;opacity:.75}
.ftr-phone{margin:0 0 .4rem}
.ftr-phone>a{font-weight:700;font-size:1.1rem}
.contact-list li>a[href^="tel:"]{font-weight:700}
.phone-alt a{text-decoration:underline;text-underline-offset:2px}
/* "Buy once / Subscribe" drop-down on meals */
.bb-mode-wrap{display:block;margin:.2rem 0 .8rem}
.bb-mode-wrap span{display:block;margin-bottom:.3rem;font:700 .72rem "Source Sans 3",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.bb-mode{width:100%;padding:.6rem .8rem;border:1px solid #cfc9c1;border-radius:2px;background:#fff;font:600 .95rem "Source Sans 3",sans-serif;color:var(--ink);cursor:pointer}
.bb-mode:focus{outline:2px solid var(--red);outline-offset:1px}
.summary .bb-mode-wrap{max-width:420px;margin:0 0 1rem}
.bb-sub-pdp{min-height:52px;width:100%;max-width:420px;justify-content:center;margin:0 0 1.4rem;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
[hidden]{display:none!important}
/* My Account > Weekly meals */
.bb-pick-note{margin:-.3rem 0 .9rem;color:#666;font-size:.92rem}
.bb-week-head{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1.2rem}
@media(max-width:600px){.bb-week-head{grid-template-columns:1fr}}
.bb-week-head>div{padding:1rem 1.2rem;background:#fff;border:1px solid var(--line)}
.bb-week-head span{display:block;font:700 .72rem "Source Sans 3",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.bb-week-head b{font:700 1.1rem "Space Grotesk",sans-serif;color:var(--ink)}
.bb-week-now{margin:0 0 1.6rem;padding:1rem 1.2rem;background:#f4f1ec;border-left:4px solid #8a6a2f}
.bb-week-now h3{margin:0 0 .3rem;font:700 1.05rem "Space Grotesk",sans-serif}
.bb-week-now h3 small{font:500 .85rem "Source Sans 3",sans-serif;color:#777;margin-left:.4rem}
.bb-week-now p{margin:0}
.bb-week-form>.btn{min-height:50px;padding:0 2rem}
.bb-week-empty{padding:1.6rem;background:#fff;border:1px solid var(--line)}
.bb-week-empty h3{margin:0 0 .4rem}
/* ---------- Price sheet layout: weekly, 4-week, one-time ---------- */
@media(min-width:900px){.plans-grid.plans-grid-2{grid-template-columns:repeat(2,1fr);gap:1.6rem;max-width:980px;margin:0 auto}}
.plans-grid-2 .plan-card.is-featured{transform:none}
.plan-card h3{font:700 .85rem "Source Sans 3",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.plan-card.is-featured h3{color:#ff8a8a}
.plan-price small{font-size:1rem;font-weight:500;margin-left:.35rem}
.plan-was{margin:.9rem 0 .8rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.9rem;color:#666}
.plan-was s{color:#999;margin-left:.3rem}
.plan-card.is-featured .plan-was{border-color:rgba(255,255,255,.18);color:#bbb}
.plan-card .plan-save{display:block;margin:0;padding:.55rem .8rem;background:var(--red);color:#fff;text-align:center;font-weight:700;font-size:1rem;border-radius:2px}
.plan-free{margin:.4rem 0 .9rem;text-align:center;font-style:italic;font-size:.88rem;color:#666}
.plan-card.is-featured .plan-free{color:#bbb}
.plan-prepay{display:block;margin:0 0 1.1rem;padding:.75rem .9rem;background:#f4f1ec;text-align:center;text-decoration:none;border-radius:2px;transition:background .15s}
.plan-prepay:hover{background:#ece6dc}
.plan-prepay b{display:block;color:var(--red);font-size:.9rem}
.plan-prepay .plan-prepay-line{display:block;color:var(--ink);font-size:.92rem}
.plan-card.is-featured .plan-prepay{background:rgba(255,255,255,.08)}
.plan-card.is-featured .plan-prepay .plan-prepay-line{color:#e8e4de}
.plan-card .btn{margin-top:auto}
.plans-includes{max-width:980px;margin:2rem auto 0}
.plans-includes h3{margin:0 0 .7rem;font:700 1.25rem "Space Grotesk",sans-serif;color:var(--ink)}
.plans-includes ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.plans-includes li{position:relative;padding-left:1.4rem;color:#333}
.plans-includes li::before{content:"";position:absolute;left:0;top:.45em;width:.6rem;height:.6rem;background:var(--red)}
.plans-fine{max-width:980px;margin:1.2rem auto 0;font-size:.8rem;line-height:1.55;color:#777}
.plans-more{max-width:980px;margin:1.2rem auto 0;font-weight:700}
.plans-more a{color:var(--red)}
.plans-table-wrap{max-width:1100px;margin:0 auto;overflow-x:auto}
.plans-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:.95rem}
.plans-table thead th{background:var(--ink);color:#fff;text-align:left;font-size:.82rem;font-weight:700;padding:.8rem .9rem;vertical-align:bottom}
.plans-table td,.plans-table tbody th{padding:.85rem .9rem;text-align:left;border-top:1px solid var(--line)}
.plans-table tbody tr:nth-child(even){background:#f8f5f0}
.plans-table .hl{color:var(--red);font-weight:700;font-size:1.05rem}
.plans-table .btn{padding:.5rem .9rem;font-size:.85rem;white-space:nowrap}
.plans-table-wrap+.plans-fine{max-width:1100px}
@media(max-width:760px){
  .plans-table thead{display:none}
  .plans-table,.plans-table tbody,.plans-table tr,.plans-table td,.plans-table tbody th{display:block}
  .plans-table tr{padding:.6rem 0;border-top:1px solid var(--line)}
  .plans-table tbody th{border:0;font-size:1.05rem;padding:.4rem .9rem}
  .plans-table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.3rem .9rem}
  .plans-table td::before{content:attr(data-l);color:#777;font-size:.85rem}
  .plans-table td:last-child::before{content:none}
}
.plans-two{display:grid;gap:0 2.5rem;max-width:1100px;margin:0 auto}
@media(min-width:760px){.plans-two{grid-template-columns:1fr 1fr}}
.plans-two+.plans-fine{max-width:1100px}
.plans-tax{display:grid;grid-template-columns:auto auto;justify-content:start;gap:.35rem 1.5rem;margin:0}
.plans-tax dd{margin:0;font-weight:700}
#one-time .plans-includes,#one-time .plans-fine{max-width:1100px}
#one-time .plans-includes p{margin:1rem 0 0}
.plans-save{max-width:1100px;margin:2rem auto 0;padding:1.6rem 1.8rem;background:var(--ink);color:#e8e4de;border-radius:4px}
.plans-save h3{margin:0 0 .9rem;font:700 1.35rem "Space Grotesk",sans-serif;color:#ff8a8a}
.plans-save ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.plans-save li{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.plans-save li a{color:#e8e4de;text-decoration:none}
.plans-save li a:hover{color:#fff;text-decoration:underline}
.plans-save li b{color:#fff}
.plans-save p{margin:1.1rem 0 0;font-size:.88rem;color:#bbb}
.onetime-strip{margin:-1.5rem 0 2.2rem;text-align:center;color:#555}
.co-cutoff{max-width:760px;margin:0 auto 1.2rem;text-align:center;font-size:.92rem;color:#555}
/* My Account > Weekly meals: skip / pause */
.bb-week-head{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.bb-week-head small{display:block;color:#1f7a3a;font-size:.85rem;margin-top:.2rem}
.bb-week-now.is-skip{border-left-color:var(--red);background:#fff}
.bb-skip{margin:2.2rem 0 0;padding:1.4rem;background:#fff;border:1px solid var(--line)}
.bb-skip h3{margin:0 0 .5rem;font:700 1.15rem "Space Grotesk",sans-serif}
.bb-skip ul{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.bb-skip label{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem .9rem;border:1px solid var(--line);cursor:pointer}
.bb-skip label:has(input:checked){border-color:var(--red);background:rgba(196,30,30,.04)}
.bb-skip input{margin-top:.25rem;accent-color:var(--red)}
.bb-skip span{display:flex;flex-direction:column}
.bb-skip small{color:#777;font-size:.85rem}
.plan-card .plan-save,.plan-card .plan-free,.plan-card .plan-prepay{align-self:stretch;width:auto}
.plan-card .plan-was{border-top:0;padding-top:0;margin-top:-.4rem}
/* Footer legal links */
.ftr-bottom-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem 1.6rem}
.ftr-legal{display:flex;gap:1.2rem}
.ftr-legal a{color:rgba(255,255,255,.6);font-size:.85rem;text-decoration:none}
.ftr-legal a:hover{color:#fff;text-decoration:underline}
/* Privacy Policy / Terms pages */
.legal{max-width:780px;color:#333;font-size:1.02rem;line-height:1.7}
.legal-date{color:#777;font-size:.9rem}
.legal h2{margin:2.2rem 0 .7rem;font:700 1.4rem "Space Grotesk",sans-serif;color:var(--ink)}
.legal h3{margin:1.4rem 0 .4rem;font:700 1.05rem "Space Grotesk",sans-serif;color:var(--ink)}
.legal ul{margin:0 0 1rem;padding-left:1.2rem}
.legal li{margin:.35rem 0}
.legal a{color:var(--red)}
/* Menu page: search box */
.meal-search{display:none;position:relative;max-width:560px;margin:0 auto 2.4rem}
.js .meal-search{display:block}
.meal-search>svg{position:absolute;left:1rem;top:1.05rem;color:#888;pointer-events:none}
.meal-search input{width:100%;height:3.2rem;padding:0 3rem 0 3rem;border:1px solid #cfc9c1;border-radius:2px;background:#fff;font:500 1.05rem "Source Sans 3",sans-serif;color:var(--ink);-webkit-appearance:none;appearance:none}
.meal-search input::-webkit-search-cancel-button{display:none}
.meal-search input:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.meal-search-clear{position:absolute;right:.5rem;top:.5rem;width:2.2rem;height:2.2rem;border:0;background:transparent;font-size:1.6rem;line-height:1;color:#777;cursor:pointer}
.meal-search-clear:hover{color:var(--red)}
.meal-search-none{margin:1.2rem 0 0;text-align:center;color:#666;font-size:1.05rem}
/* Plans page tabs: weekly / 4-week / one-time */
.plans-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.6rem;max-width:820px;margin:0 auto 3rem;scroll-margin-top:100px}
@media(max-width:620px){.plans-tabs{grid-auto-flow:row}}
.plans-tabs.plans-tabs-2{max-width:560px}
.plans-tabs button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.9rem .8rem;background:#fff;border:2px solid var(--line);border-radius:2px;cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s,background .15s}
.plans-tabs button b{font:700 1.1rem "Space Grotesk",sans-serif}
.plans-tabs button small{font-size:.85rem;color:#777}
.plans-tabs button:hover{border-color:var(--red)}
.plans-tabs button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.plans-tabs button.is-active small{color:#cfc9c1}
.plans-tabs button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.plans-tabs-wrap>.plans-panel:not(.is-active){display:none}
.plans-tabs-wrap>.plans-panel{margin-bottom:0}
/* Which kind of plan this is, on the plan page */
.plan-kind{display:inline-block;margin:0 0 .7rem;padding:.3rem .7rem;font:700 .78rem "Source Sans 3",sans-serif;letter-spacing:.08em;text-transform:uppercase;border-radius:2px}
.plan-kind-w{background:#fdecec;color:var(--red)}
.plan-kind-4w{background:var(--ink);color:#fff}
/* Meal picker: categories open and close */
.bb-cat{border-top:1px solid var(--line)}
.bb-cat:first-of-type{border-top:0}
.bb-cat>summary{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;background:#f4f1ec;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.bb-cat>summary::-webkit-details-marker{display:none}
.bb-cat>summary::after{content:"";margin-left:auto;width:.6rem;height:.6rem;border-right:2px solid #8a6a2f;border-bottom:2px solid #8a6a2f;transform:rotate(45deg);transition:transform .15s;flex:none}
.bb-cat[open]>summary::after{transform:rotate(-135deg)}
.bb-cat-name{font:700 .85rem "Source Sans 3",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8a6a2f}
.bb-cat>summary small{color:#888;font-size:.85rem}
.bb-cat-count{font-style:normal;font:700 .78rem "Source Sans 3",sans-serif;padding:.15rem .55rem;background:var(--red);color:#fff;border-radius:99px}
.bb-cat>summary:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
