/* Cart presentation only. Shipping calculation and checkout remain native. */
body.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals,
body.woocommerce-cart .cart_totals table.shop_table tr.shipping,
body.woocommerce-cart .cart_totals table.shop_table tr.me-cb-pickup-row,
body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator { display:none !important; }
.meca-total-note { display:block; color:#587366; font-size:12px; font-weight:400; line-height:1.5; margin-top:4px; }
.meca-shipping-note { color:#587366; font-size:13px; line-height:1.5; margin:0 0 18px; }
#me-cart-alternatives[hidden],#me-cart-alternatives-dialog [hidden] {display:none !important;}
#me-cart-alternatives { margin:0 0 20px; text-align:left; }
.meca-panel { border:1px solid #badfc8; border-radius:20px; background:linear-gradient(120deg,#edf7ee,#f8fbf3); padding:22px; color:#253d4e; }
.meca-eyebrow { margin:0 0 10px !important; color:#158055; font-size:10px !important; font-weight:700; letter-spacing:1.1px; line-height:1.5; }
.meca-panel h3 { margin:0 0 15px; font-size:24px; line-height:1.3; letter-spacing:-.3px; }
.meca-panel h3 strong { display:block; color:#158055; font-size:32px; margin-top:3px; }
.meca-prices { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; font-size:15px; }
.meca-prices>span { flex:0 0 100%; color:#587366; font-size:12px; }
.meca-prices del { color:#6b7b73; }
.meca-prices strong { color:#158055; font-size:22px; }
.meca-caption { margin:12px 0 !important; font-size:13px !important; line-height:1.6; color:#587366; }
.meca-mini-images { display:flex; gap:8px; margin:14px 0; }
.meca-mini-images img { width:48px; height:48px; padding:4px; border:1px solid #dce8de; border-radius:10px; background:#fff; object-fit:contain; }
body .meca-primary { display:block; width:100%; min-height:48px; height:auto; padding:13px 16px; background:#158055; border:1px solid #158055; border-radius:12px; color:#fff; font:700 15px/1.5 Quicksand,sans-serif; letter-spacing:0; text-align:center; white-space:normal; cursor:pointer; }
body .meca-primary:hover { background:#106b46; }
body .meca-primary:disabled { opacity:.55; cursor:wait; }
.meca-undo { padding:16px; border:1px solid #c7ddce; border-radius:16px; background:#edf6ef; font-size:14px; line-height:1.5; }
.meca-undo strong {display:block; color:#158055;}
.meca-undo button {display:block; min-height:44px; border:0; background:transparent; color:#253d4e; padding:8px 0; font-size:13px; text-decoration:underline;}
#me-cart-alternatives-dialog { box-sizing:border-box; width:min(820px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 40px); padding:28px; margin:auto; border:1px solid #d1e2d6; border-radius:24px; background:#fff; color:#253d4e; overflow:auto; overscroll-behavior:contain; box-shadow:0 20px 100px #12372544; }
#me-cart-alternatives-dialog::backdrop { background:#132d2877; }
.meca-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:14px; color:#587366; font:700 11px/1.5 Quicksand,sans-serif; letter-spacing:1px; }
.meca-dialog-top button { flex:0 0 44px; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#edf6ef; color:#253d4e; font:30px/1 sans-serif; cursor:pointer; }
#me-cart-alternatives-dialog h2 { margin:12px 0; font-size:32px; line-height:1.2; }
#me-cart-alternatives-dialog h2 em { color:#158055; font-style:normal; }
.meca-intro {font-size:15px; line-height:1.5; color:#587366; margin:0 0 20px;}
.meca-offer { border:1px solid #d5e4d9; border-radius:18px; padding:18px; margin:0 0 16px; }
.meca-choice { display:flex; align-items:center; gap:12px; min-height:44px; margin:0 0 14px; cursor:pointer; color:#158055; font-size:19px; font-weight:700; line-height:1.4; }
body .meca-choice input { appearance:auto; -webkit-appearance:checkbox; flex:0 0 26px; width:26px !important; height:26px; padding:0 !important; margin:0 !important; accent-color:#158055; cursor:pointer; }
.meca-product-pair {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px;}
.meca-product {display:grid; grid-template-columns:84px minmax(0,1fr); gap:12px; align-items:center; min-width:0;}
.meca-product img {width:84px;height:84px;object-fit:contain;border:1px solid #edf1ed;border-radius:12px;background:#fff;padding:5px;}
.meca-product-label {display:block; font-size:11px; line-height:1.5; color:#587366; margin-bottom:5px;}
.meca-product-name {display:block; font:700 14px/1.4 Quicksand,sans-serif; color:#253d4e; overflow-wrap:anywhere;}
.meca-product-price {display:block; font-size:17px; line-height:1.5; margin-top:6px;}
.meca-product:last-child .meca-product-price {color:#158055;}
.meca-match {color:#158055; font-size:13px; font-weight:700; line-height:1.5; margin:15px 0 5px;}
.meca-difference,.meca-amount {font-size:12px; line-height:1.6; color:#587366; margin:4px 0;}
.meca-ingredients {margin:12px 0 0; border-top:1px solid #edf1ed; padding-top:10px; font-size:12px; line-height:1.6;}
.meca-ingredients summary {cursor:pointer; min-height:32px; color:#253d4e; font-weight:700;}
.meca-ingredients p {font-size:12px; line-height:1.6; margin:8px 0; overflow-wrap:anywhere;}
.meca-facts-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:10px 0 14px;align-items:start;}
.meca-fact-column {min-width:0;padding:14px;border-radius:12px;background:#f7f9f6;}
.meca-fact-column:last-child {background:#edf6ef;}
#me-cart-alternatives-dialog .meca-fact-name {font-size:14px;line-height:1.45;color:#253d4e;margin:0 0 14px;overflow-wrap:anywhere;}
.meca-fact-heading {display:block;font-size:12px;line-height:1.5;color:#253d4e;margin-top:12px;}
.meca-fact-nutrition {white-space:pre-line;}
.meca-fact-link {display:inline-block;font-size:12px;line-height:1.6;color:#158055;text-decoration:underline;margin-top:10px;overflow-wrap:anywhere;}
.meca-dialog-bottom {border-top:1px solid #d5e4d9; padding-top:16px;}
.meca-selection-total {display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; align-items:center; font-size:16px; line-height:1.5;}
.meca-selection-total strong {font-size:30px; color:#158055;}
.meca-selection-total small {flex:0 0 100%; color:#587366; font-size:14px;}
.meca-basis {font-size:12px; color:#587366; line-height:1.5; margin:8px 0 16px;}
body .meca-keep {display:block; background:transparent; border:0; color:#587366; padding:12px; min-height:44px; margin:4px auto 0; font-size:13px; line-height:1.5; cursor:pointer; text-decoration:underline;}
.meca-result {font-size:14px; line-height:1.5; margin:14px 0 0;}
.meca-error {color:#9c3030; font-size:14px; line-height:1.5;}
#me-cart-alternatives button:focus-visible,#me-cart-alternatives-dialog button:focus-visible,#me-cart-alternatives-dialog input:focus-visible {outline:3px solid #253d4e;outline-offset:3px;}
@media(max-width:767px) {
 #me-cart-alternatives-dialog {width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:18px;border-radius:20px;}
 #me-cart-alternatives-dialog h2 {font-size:27px;}
 .meca-product-pair,.meca-facts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .meca-product {display:flex;flex-direction:column;align-items:stretch;gap:10px;}
 .meca-product>div {display:flex;flex-direction:column;flex:1;}
 .meca-product-name {flex:1;}
 .meca-fact-column {padding:10px;}
 #me-cart-alternatives-dialog .meca-fact-name {font-size:12px;}
 .meca-product img {width:72px;height:72px;}
 .meca-product-name {font-size:14px;}
 .meca-choice {font-size:17px;}
 .meca-offer {padding:14px;}
 .meca-selection-total strong {font-size:26px;}
 .meca-panel {padding:20px;}
}
@media(prefers-reduced-motion:reduce) {#me-cart-alternatives *,#me-cart-alternatives-dialog * {transition:none !important;}}

/* Keep the theme from collapsing the heading line break or recolouring product links. */
#me-cart-alternatives-dialog h2 em {display:block;}
#me-cart-alternatives-dialog .meca-product-name {color:#253d4e;}
