/* Presentation for native WooCommerce Cart/Checkout shortcodes and Blocks. No form or totals are replaced. */
.mg-woo-flow{--mg-flow-green:var(--green,#003c38);--mg-flow-gold:var(--gold,#b18440);--mg-flow-cream:var(--cream,#f5eddf);color:var(--ink,#092b30);padding-block:23px 62px;max-width:1280px}
.mg-woo-flow *{box-sizing:border-box}
.mg-flow-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:190px;padding:28px clamp(20px,4vw,58px);border:1px solid #d7b46d;border-radius:68px 24px 94px 26px / 56px 30px 85px 26px;background:radial-gradient(circle at 22% 0%,#16705a 0%,transparent 38%),linear-gradient(125deg,#002c29,#03493c 75%,#002e2b);box-shadow:0 17px 35px #12372c20;color:#fff}
.mg-flow-hero:before{content:'';position:absolute;z-index:-1;width:390px;height:270px;left:-95px;bottom:-210px;border-radius:50%;border:26px solid #cfa35935;transform:rotate(-22deg)}
.mg-flow-hero:after{content:'';position:absolute;inset:auto -2% -9px 33%;height:18px;background:linear-gradient(90deg,transparent,#edc57c,#ba8e4a);border-radius:50%;transform:rotate(-2deg)}
.mg-flow-eyebrow{color:#eac98d;font-size:12px;letter-spacing:.03em}.mg-flow-hero h1{font-size:clamp(26px,3.3vw,41px);line-height:1.35;margin:5px 0 7px;color:#fff}.mg-flow-hero p{margin:0;color:#e2eae4;font-size:14px;line-height:1.9}
.mg-flow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0;flex:none}.mg-flow-steps li{position:relative;padding:9px 15px;border:1px solid #f1dfb470;border-radius:999px;background:#ffffff16;color:#f6eee0;font-size:12px;white-space:nowrap}.mg-flow-steps li+li:before{content:'›';position:absolute;right:-10px;top:7px;color:#ebc884}.mg-flow-steps li[aria-current]{background:#eac27b;color:#12362c;border-color:#eac27b;font-weight:800}
.mg-flow-content{margin:18px auto 0;padding:clamp(16px,2.3vw,32px);border:1px solid #e7dac7;border-radius:34px 18px 40px 20px;background:linear-gradient(145deg,#fffdfa,#f7f1e9);box-shadow:0 15px 42px #4b341217;min-width:0;line-height:1.85}
.mg-flow-content :is(.woocommerce,form,section){min-width:0}.mg-flow-content .woocommerce{width:100%}
.mg-flow-content :is(h2,h3){color:var(--mg-flow-green);line-height:1.5;margin:0 0 13px}.mg-flow-content h2{font-size:clamp(19px,2vw,25px)}.mg-flow-content h3{font-size:18px}
.mg-flow-content :is(a,.button):focus-visible{outline:2px solid var(--mg-flow-gold);outline-offset:3px}
.mg-flow-content .woocommerce-notices-wrapper:empty{display:none}
.mg-flow-content .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){border:1px solid #d6bf95;border-right:4px solid var(--mg-flow-gold);border-top-width:1px;border-radius:17px;background:#fff7e9;color:#1c453a;padding:16px 44px 16px 18px;margin:0 0 18px;box-shadow:none}
.mg-flow-content .woocommerce .woocommerce-error{border-right-color:#b54c40}
.mg-flow-content .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):before{right:15px;left:auto;top:16px;color:var(--mg-flow-green)}
.mg-flow-content .woocommerce :is(.cart-collaterals .cart_totals,.checkout .col-1,.checkout .col-2,#order_review,.woocommerce-order,.woocommerce-order-details,.woocommerce-customer-details,.woocommerce-form-coupon,.woocommerce-form-login){border:1px solid #e6d8c3;border-radius:22px;background:#fffdfa;padding:18px;box-shadow:0 7px 18px #51402a0b;min-width:0}
.mg-flow-content .woocommerce .cart-collaterals .cart_totals{float:none;width:100%;max-width:470px;margin-right:auto}
.mg-flow-content .woocommerce .cart-collaterals:after{content:'';display:block;clear:both}
.mg-flow-content .woocommerce table.shop_table{width:100%;border:1px solid #e5d9c7;border-collapse:separate;border-spacing:0;border-radius:18px;background:#fffdfa;overflow:hidden;margin:0 0 18px;text-align:right}
.mg-flow-content .woocommerce table.shop_table :is(th,td){padding:12px 13px;border:0;border-bottom:1px solid #eee4d6;background:transparent;vertical-align:middle}
.mg-flow-content .woocommerce table.shop_table tr:last-child :is(th,td){border-bottom:0}
.mg-flow-content .woocommerce table.shop_table th{font-size:13px;color:#275044;background:#f3eadc}
.mg-flow-content .woocommerce table.shop_table img{width:74px;height:74px;object-fit:cover;border-radius:14px}
.mg-flow-content .woocommerce table.shop_table .product-name a{font-weight:700;color:#073e35}
.mg-flow-content :is(.woocommerce-Price-amount,.order-total){font-variant-numeric:tabular-nums}
.mg-flow-content .woocommerce .quantity .qty{width:70px;min-height:43px;padding:6px;text-align:center;border:1px solid #d9c7aa;border-radius:11px;background:#fff}
.mg-flow-content .woocommerce :is(input.input-text,textarea,select,.select2-container .select2-selection){border:1px solid #d9c7ad;border-radius:12px;background:#fff;min-height:44px;color:var(--ink);font:inherit;max-width:100%}
.mg-flow-content .woocommerce :is(input.input-text,textarea){padding:9px 13px}.mg-flow-content .woocommerce textarea{min-height:100px}
.mg-flow-content .woocommerce :is(.form-row label,.woocommerce-form__label){color:#27463a;font-weight:600}
.mg-flow-content .woocommerce :is(.button,button.button,button#place_order,a.checkout-button){display:inline-flex;align-items:center;justify-content:center;min-height:43px;border-radius:24px;padding:9px 21px;background:linear-gradient(130deg,#00604c,#00362f);color:#fff;font:inherit;font-weight:700;line-height:1.5;text-decoration:none;box-shadow:0 4px 9px #003b3025}
.mg-flow-content .woocommerce :is(.button,button.button,button#place_order,a.checkout-button):hover{background:#006a50;color:#fff}
.mg-flow-content .woocommerce .button:disabled{opacity:.55}
.mg-flow-content .woocommerce :is(#payment,.woocommerce-checkout-payment){border-radius:18px;background:#f4ecdf}
.mg-flow-content .woocommerce #payment :is(ul.payment_methods,div.form-row){padding:18px;border-color:#decdb3}
.mg-flow-content .woocommerce :is(.wc_payment_methods,.woocommerce-shipping-methods){list-style:none;padding:0}
.mg-flow-content .woocommerce :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper){font-size:12px;color:#4a5b52;line-height:1.8}
.mg-flow-content .woocommerce .woocommerce-cart-form{overflow-x:auto;max-width:100%}
.mg-flow-content :is(.wc-block-cart,.wc-block-checkout,.wc-block-order-confirmation){color:var(--ink);font-family:inherit;max-width:100%;min-width:0}
.mg-flow-content :is(.wc-block-cart,.wc-block-checkout,.wc-block-order-confirmation) :is(button,input,select,textarea){font-family:inherit}
.mg-flow-content :is(.wc-block-cart,.wc-block-checkout,.wc-block-order-confirmation) :is(button,.wc-block-components-button){border-radius:22px}
.mg-flow-content :is(.wc-block-cart,.wc-block-checkout,.wc-block-order-confirmation) :is(input,select,textarea){border-radius:10px}
.mg-flow-content .woocommerce-cart-form .actions .coupon{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mg-flow-content .woocommerce-cart-form .actions .coupon .input-text{width:min(220px,100%)}
@media(max-width:900px){.mg-flow-hero{display:block;min-height:175px}.mg-flow-steps{margin-top:15px}.mg-flow-content .woocommerce .cart-collaterals .cart_totals{max-width:none}.mg-flow-content .woocommerce .col2-set .col-1,.mg-flow-content .woocommerce .col2-set .col-2{float:none;width:100%;margin-bottom:12px}}
@media(max-width:700px){.mg-woo-flow{width:calc(100% - 20px);padding-block:10px 32px}.mg-flow-hero{min-height:150px;padding:18px 19px;border-radius:32px 17px 44px 18px}.mg-flow-eyebrow{font-size:10px}.mg-flow-hero h1{font-size:24px;margin-block:3px}.mg-flow-hero p{font-size:11px}.mg-flow-steps{gap:5px;flex-wrap:nowrap}.mg-flow-steps li{padding:5px 9px;font-size:10px}.mg-flow-steps li+li:before{right:-7px;top:2px}.mg-flow-content{margin-top:10px;padding:12px;border-radius:22px 13px 26px 14px}.mg-flow-content .woocommerce table.shop_table_responsive tr{border:1px solid #e5d9c7;border-radius:15px;background:#fff;margin-bottom:10px;overflow:hidden}.mg-flow-content .woocommerce table.shop_table_responsive tr :is(th,td){padding:9px 11px}.mg-flow-content .woocommerce table.shop_table_responsive tr td:before{font-weight:700;color:#385649}.mg-flow-content .woocommerce table.shop_table_responsive .product-thumbnail{display:block;text-align:right}.mg-flow-content .woocommerce table.shop_table_responsive .product-thumbnail:before{display:none}.mg-flow-content .woocommerce table.shop_table_responsive .product-remove{text-align:left}.mg-flow-content .woocommerce .cart-collaterals .cart_totals,.mg-flow-content .woocommerce :is(.checkout .col-1,.checkout .col-2,#order_review){padding:13px}.mg-flow-content .woocommerce :is(.button,button.button,button#place_order,a.checkout-button){min-height:44px}.mg-flow-content .woocommerce-checkout #payment #place_order{width:100%}.mg-flow-content .woocommerce .form-row-first,.mg-flow-content .woocommerce .form-row-last{float:none;width:100%}.mg-flow-content .woocommerce .woocommerce-cart-form .actions .coupon{float:none;width:100%}.mg-flow-content .woocommerce .woocommerce-cart-form .actions .coupon .input-text{flex:1;min-width:125px}.mg-flow-content .woocommerce .woocommerce-cart-form .actions>button{float:none;width:100%;margin-top:9px}.mg-flow-content .woocommerce .checkout .col2-set{width:100%}.mg-flow-content :is(.wc-block-cart,.wc-block-checkout,.wc-block-order-confirmation){overflow-wrap:anywhere}}

.mg-flow-steps li { display: flex; align-items: center; gap: 6px; }
.mg-flow-step-number { display: grid; place-items: center; min-width: 20px; min-height: 20px; padding-inline: 4px; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; }
.mg-flow-steps a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.mg-flow-secondary { display: inline-flex; align-items: center; min-height: 44px; margin-top: 5px; color: #fff2cd; text-decoration: underline; text-underline-offset: 4px; }
.mg-flow-hero a:focus-visible { outline: 2px solid #f1c93b; outline-offset: 3px; }
@media (min-width: 1024px) {
    .mg-woo-flow-cart .mg-flow-content > .woocommerce:has(> .woocommerce-cart-form):has(> .cart-collaterals) {
        display: grid;
        grid-template-columns: minmax(0, 1.65fr) minmax(260px, 1fr);
        gap: 18px;
        align-items: start;
    }
    .mg-woo-flow-cart .mg-flow-content > .woocommerce > :not(.woocommerce-cart-form, .cart-collaterals) { grid-column: 1 / -1; }
    .mg-woo-flow-cart .cart-collaterals { min-width: 0; }
    .mg-woo-flow-cart .cart-collaterals .cart_totals { max-width: none; }
}
@media (max-width: 700px) {
    .mg-flow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
    .mg-flow-steps li { justify-content: center; padding-inline: 5px; font-size: 11px; white-space: nowrap; }
    .mg-flow-step-number { min-width: 16px; min-height: 16px; font-size: 9px; }
    .mg-flow-content .woocommerce #payment .place-order { padding-inline: 10px; }
    .mg-flow-content .woocommerce #payment #place_order { width: 100%; }
}
