/* WEG commerce v1.7, 09/19/26. Cart, Checkout, My Account.
   Self-contained: overrides the theme and WooCommerce by specificity, scoped to the
   three commerce body classes. Touches no template or plugin.
   Lives at assets/css/weg-commerce.css, enqueued from functions.php on cart, checkout
   and account pages only (weg_commerce_styles).
   v1.1: Cart and Checkout titles hidden (kept for screen readers), 50px notices-wrapper
   gap removed, Proceed to checkout beats the theme's fixed-height rule, checkout
   order table stacks on phones so shipping methods run full width.
   v1.2: WPLoyalty's second checkout message (.wlr-message-info, logged-in only) styled
   like the other notices and hidden when the earn-points notice is already present.
   v1.3: 320px phones. Cart line item re-laid so nothing overflows, checkout reward row
   stacks, card icons drop to their own line, expiry and card code stack, order notes
   box tall enough for its placeholder, My Account menu collapses behind a toggle
   (button added by weg_account_nav_toggle in functions.php).
   v1.4: cart totals reward row stacks on phones like the checkout one.
   v1.5: checkout right column reordered (package protection above ship-to), order notes
   box types from the top, order-received page styled, Turnstile scaled on 320 phones.
   v1.6: banned-state notice under the billing state (weg_ship_state_script in functions.php).
   v1.7: "Add this cart to an existing subscription" checkbox no longer overlaps its label. */
body.woocommerce-cart,body.woocommerce-checkout,body.woocommerce-account{
  --wc-green:#36604e;--wc-green-dk:#24493a;--wc-ink:#212b26;--wc-sage:#b1c2a0;
  --wc-cream:#F7EEDF;--wc-paper:#FBF7EF;--wc-line:#E3DACA;--wc-ochre:#C8923A;--wc-muted:#5c6b62;
  --wc-body:Georgia,"Iowan Old Style","Times New Roman",serif;--wc-head:"Marcellus",Georgia,serif;
}

/* 1. Title band. The sage banner becomes a plain page title; breadcrumb removed. */
/* Cart and Checkout: the sage banner and its H1 leave the screen. The H1 stays in the
   document for screen readers and search (clip pattern), so nothing is removed. */
body.woocommerce-cart .inner-banner-wrap.no-banner,body.woocommerce-checkout .inner-banner-wrap.no-banner{height:auto;min-height:0;padding:0;margin:0;background:transparent;}
body.woocommerce-cart .inner-banner-wrap .inner-banner-content,body.woocommerce-checkout .inner-banner-wrap .inner-banner-content{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
/* My Account has no banner and no H1; the title is drawn here (visual only). */
body.woocommerce-account .te_default_page .woocommerce::before{content:"My Account";display:block;color:var(--wc-green);font-family:var(--wc-head);font-size:40px;line-height:1.2;margin:0 0 20px;}
body.woocommerce-cart .te_default_page.mtop50,body.woocommerce-checkout .te_default_page.mtop50{margin-top:28px;}
body.woocommerce-account .te_default_page.mtop50{margin-top:32px;}
/* The empty WooCommerce notices wrapper carries an inline margin-top of 50px on all
   three pages; that was the dead band under the titles. */
body.woocommerce-cart .woocommerce-notices-wrapper,body.woocommerce-checkout .woocommerce-notices-wrapper,body.woocommerce-account .woocommerce-notices-wrapper{margin:0!important;}
body.woocommerce-cart .te_default_page .container,body.woocommerce-checkout .te_default_page .container,body.woocommerce-account .te_default_page .container{max-width:1240px;}
body.woocommerce-cart .te_default_page,body.woocommerce-checkout .te_default_page,body.woocommerce-account .te_default_page{padding-bottom:64px;color:var(--wc-ink);font-family:var(--wc-body);}

/* 2. Type, links, headings */
body.woocommerce-cart .woocommerce a,body.woocommerce-checkout .woocommerce a,body.woocommerce-account .woocommerce a{color:var(--wc-green);text-decoration:underline;text-decoration-color:var(--wc-sage);text-underline-offset:3px;}
body.woocommerce-cart .woocommerce a:hover,body.woocommerce-checkout .woocommerce a:hover,body.woocommerce-account .woocommerce a:hover{color:var(--wc-green-dk);text-decoration-color:currentColor;}
body.woocommerce-cart .woocommerce h2,body.woocommerce-checkout .woocommerce h3,body.woocommerce-account .woocommerce h2{font-family:var(--wc-head);color:var(--wc-green);font-size:26px;line-height:1.25;font-weight:400;margin:0 0 16px;}
body.woocommerce-checkout .woocommerce h3#ship-to-different-address{font-family:var(--wc-body);font-size:17px;color:var(--wc-ink);margin:0 0 16px;}

/* 3. Controls */
body.woocommerce-cart .woocommerce input[type=radio],body.woocommerce-cart .woocommerce input[type=checkbox],
body.woocommerce-checkout .woocommerce input[type=radio],body.woocommerce-checkout .woocommerce input[type=checkbox],
body.woocommerce-account .woocommerce input[type=radio],body.woocommerce-account .woocommerce input[type=checkbox]{accent-color:var(--wc-green);width:18px;height:18px;margin:0 10px 0 0;vertical-align:-3px;flex:0 0 auto;}
body.woocommerce-cart .woocommerce input.input-text,body.woocommerce-cart .woocommerce input[type=number],
body.woocommerce-checkout .woocommerce input.input-text,body.woocommerce-checkout .woocommerce textarea,
body.woocommerce-account .woocommerce input.input-text,body.woocommerce-account .woocommerce input.input,body.woocommerce-checkout .woocommerce input.input{border:1px solid #c9c1b1;border-radius:8px;background:#fff;color:var(--wc-ink);font-family:var(--wc-body);font-size:16px;min-height:48px;padding:10px 14px;box-shadow:none;}
body.woocommerce-cart .woocommerce input:focus,body.woocommerce-checkout .woocommerce input:focus,body.woocommerce-checkout .woocommerce textarea:focus,body.woocommerce-account .woocommerce input:focus{border-color:var(--wc-green);outline:2px solid rgba(54,96,78,.25);outline-offset:0;}
body.woocommerce-checkout .woocommerce label,body.woocommerce-account .woocommerce label{font-family:var(--wc-body);font-size:15px;font-weight:600;color:var(--wc-ink);}
body.woocommerce-checkout .woocommerce .required,body.woocommerce-account .woocommerce .required{color:#9a3b2e;text-decoration:none;}

/* Buttons. Primary = the step forward. Secondary = everything else. */
body.woocommerce-cart .woocommerce .button,body.woocommerce-checkout .woocommerce .button,body.woocommerce-account .woocommerce .button,body.woocommerce-checkout #place_order{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:8px;
  background:transparent;color:var(--wc-green);border:1.5px solid var(--wc-green);font-family:var(--wc-body);font-size:15px;font-weight:600;
  line-height:1.2;text-transform:none;letter-spacing:0;text-decoration:none;white-space:normal;box-shadow:none;transition:background .18s,color .18s;}
body.woocommerce-cart .woocommerce .button:hover,body.woocommerce-checkout .woocommerce .button:hover,body.woocommerce-account .woocommerce .button:hover{background:var(--wc-green);color:var(--wc-cream);}
body.woocommerce-cart .woocommerce .button:disabled,body.woocommerce-cart .woocommerce .button[disabled]{opacity:.45;background:transparent;color:var(--wc-green);}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,body.woocommerce-checkout #place_order,
body.woocommerce-account .woocommerce-form-login__submit,body.woocommerce-account .woocommerce-form-register__submit{
  width:100%;min-height:56px;background:var(--wc-green);color:var(--wc-cream);border-color:var(--wc-green);font-family:var(--wc-head);font-size:19px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;}
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,body.woocommerce-checkout #place_order:hover,
body.woocommerce-account .woocommerce-form-login__submit:hover,body.woocommerce-account .woocommerce-form-register__submit:hover{background:var(--wc-green-dk);border-color:var(--wc-green-dk);color:var(--wc-cream);}
body.woocommerce-account .woocommerce-form-login__submit,body.woocommerce-account .woocommerce-form-register__submit{margin-top:8px;}
/* The theme fixes .checkout-button at height 50px, line-height 50px, 20px type with
   !important, so a wrapped label spills out of the box on narrow phones. Undone here. */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{height:auto!important;min-height:56px;line-height:1.25!important;font-size:19px!important;padding:15px 16px!important;margin:0!important;border:1px solid var(--wc-green)!important;border-radius:8px!important;white-space:normal!important;background-color:var(--wc-green)!important;color:var(--wc-cream)!important;}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background-color:var(--wc-green-dk)!important;border-color:var(--wc-green-dk)!important;color:var(--wc-cream)!important;}

/* 4. Notices. One quiet style for every message; the loud ones are removed. */
body.woocommerce-cart .woocommerce-message,body.woocommerce-cart .woocommerce-info,body.woocommerce-checkout .woocommerce-message,body.woocommerce-checkout .woocommerce-info,body.woocommerce-account .woocommerce-message,body.woocommerce-account .woocommerce-info,
body.woocommerce-cart .custom-cart-message,body.woocommerce-checkout .custom-checkout-message,
body.woocommerce-cart .wlr_points_rewards_earn_points,body.woocommerce-checkout .wlr_points_rewards_earn_points,
body.woocommerce-cart .wlr-message-info,body.woocommerce-checkout .wlr-message-info{
  background:var(--wc-paper)!important;border:1px solid var(--wc-line)!important;border-left:4px solid var(--wc-green)!important;border-radius:8px!important;
  color:var(--wc-ink)!important;font-family:var(--wc-body)!important;font-size:15px!important;font-weight:400!important;line-height:1.5!important;padding:14px 18px!important;margin:0 0 12px!important;box-shadow:none!important;}
body.woocommerce-cart .woocommerce-message::before,body.woocommerce-cart .woocommerce-info::before,body.woocommerce-checkout .woocommerce-message::before,body.woocommerce-checkout .woocommerce-info::before,body.woocommerce-account .woocommerce-message::before,body.woocommerce-account .woocommerce-info::before{display:none;}
body.woocommerce-cart .woocommerce-message .button,body.woocommerce-checkout .woocommerce-message .button{float:right;min-height:34px;padding:6px 14px;margin-left:12px;}
body.woocommerce-cart .wlr_points_rewards_earn_points i,body.woocommerce-checkout .wlr_points_rewards_earn_points i{color:var(--wc-ochre)!important;font-size:22px!important;margin:0 12px 0 0!important;}
body.woocommerce-cart .wlr_points_rewards_earn_points p,body.woocommerce-checkout .wlr_points_rewards_earn_points p{font-weight:600;}
body.woocommerce-checkout .wlr_points_rewards_earn_points ~ .wlr_points_rewards_earn_points{display:none!important;}
/* Logged in, WPLoyalty prints the same sentence twice on checkout: once as
   .wlr_points_rewards_earn_points and once as .wlr-message-info. Keep the first. */
body.woocommerce-checkout:has(.wlr_points_rewards_earn_points) .wlr-message-info{display:none!important;}
body.woocommerce-cart .wlr-message-info i,body.woocommerce-checkout .wlr-message-info i{color:var(--wc-ochre)!important;font-size:22px!important;margin:0 12px 0 0!important;}
body.woocommerce-cart .wlr-message-info p,body.woocommerce-checkout .wlr-message-info p{font-weight:600;margin:0;}
body.woocommerce-checkout .we-review-reward-notice{display:none!important;}
body.woocommerce-checkout .woocommerce-privacy-policy-text{display:none;}

/* 5. Cart table */
body.woocommerce-cart table.shop_table,body.woocommerce-checkout table.shop_table,body.woocommerce-account table.shop_table{border:1px solid var(--wc-line);border-radius:10px;border-collapse:separate;border-spacing:0;background:#fff;font-family:var(--wc-body);font-size:15px;color:var(--wc-ink);margin:0 0 24px;}
body.woocommerce-cart table.shop_table th,body.woocommerce-cart table.shop_table td,body.woocommerce-checkout table.shop_table th,body.woocommerce-checkout table.shop_table td,body.woocommerce-account table.shop_table th,body.woocommerce-account table.shop_table td{border-top:1px solid var(--wc-line);padding:14px 16px;vertical-align:middle;}
body.woocommerce-cart table.shop_table thead th,body.woocommerce-checkout table.shop_table thead th,body.woocommerce-account table.shop_table thead th{border-top:0;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--wc-muted);}
body.woocommerce-cart table.cart td.product-thumbnail img{width:88px;height:auto;border-radius:6px;display:block;}
body.woocommerce-cart table.cart td.product-name a{font-size:17px;font-weight:600;text-decoration:none;}
body.woocommerce-cart table.cart a.remove{color:#9a3b2e!important;font-size:22px;width:32px;height:32px;line-height:30px;border-radius:50%;text-decoration:none;}
body.woocommerce-cart table.cart a.remove:hover{background:#f3e3df;color:#9a3b2e!important;}
body.woocommerce-cart .woocommerce .quantity .qty{width:72px;min-height:44px;text-align:center;border-radius:8px;}
/* Subscribe-and-save options: a tidy stacked list instead of loose radios */
body.woocommerce-cart ul.wcsatt-options{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
body.woocommerce-cart ul.wcsatt-options li{margin:0;padding:0;}
body.woocommerce-cart ul.wcsatt-options label{display:flex;align-items:center;margin:0;font-size:14px;font-weight:400;color:var(--wc-ink);cursor:pointer;white-space:nowrap;}
body.woocommerce-cart ul.wcsatt-options .amount{font-weight:600;}
body.woocommerce-cart ul.wcsatt-options .subscription-details{color:var(--wc-muted);}
body.woocommerce-cart table.cart td.actions{background:var(--wc-paper);border-radius:0 0 10px 10px;}
body.woocommerce-cart table.cart td.actions .coupon{display:flex;gap:8px;align-items:center;}
body.woocommerce-cart table.cart td.actions .coupon .input-text{width:200px;margin:0;}

/* Totals */
body.woocommerce-cart .cart_totals tr,body.woocommerce-cart .cart_totals th,body.woocommerce-cart .cart_totals td{background:transparent!important;}
body.woocommerce-cart .cart-collaterals{display:flex;justify-content:flex-end;}
body.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;max-width:520px;background:var(--wc-paper);border:1px solid var(--wc-line);border-radius:12px;padding:24px;}
body.woocommerce-cart .cart_totals table.shop_table{background:transparent;border:0;margin:0 0 20px;}
body.woocommerce-cart .cart_totals table.shop_table tr:first-child th,body.woocommerce-cart .cart_totals table.shop_table tr:first-child td{border-top:0;}
body.woocommerce-cart .cart_totals th,body.woocommerce-cart .cart_totals td{padding:12px 0!important;}
body.woocommerce-cart .cart_totals td{text-align:right;}
body.woocommerce-cart .cart_totals .order-total th,body.woocommerce-cart .cart_totals .order-total td,body.woocommerce-checkout .order-total th,body.woocommerce-checkout .order-total td{font-size:19px;font-weight:700;}
body.woocommerce-cart .wc-proceed-to-checkout{padding:0;}
body.woocommerce-cart .cart_totals > p,body.woocommerce-cart .cart_totals h3,body.woocommerce-cart .cart_totals label{font-family:var(--wc-body);}

/* Shipping options, cart and checkout: one bordered row per method */
body.woocommerce-cart ul#shipping_method,body.woocommerce-checkout ul#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:6px;text-align:left;}
body.woocommerce-cart ul#shipping_method li,body.woocommerce-checkout ul#shipping_method li{display:flex;align-items:center;margin:0;padding:10px 12px;border:1px solid var(--wc-line);border-radius:8px;background:#fff;text-indent:0;}
body.woocommerce-cart ul#shipping_method li label,body.woocommerce-checkout ul#shipping_method li label{display:inline;margin:0;font-size:14px;font-weight:400;line-height:1.35;color:var(--wc-ink);}
body.woocommerce-cart ul#shipping_method li input,body.woocommerce-checkout ul#shipping_method li input{margin:0 10px 0 0!important;}
body.woocommerce-cart .woocommerce-shipping-destination,body.woocommerce-checkout .woocommerce-shipping-destination{font-size:14px;margin:10px 0 4px;text-align:left;}
body.woocommerce-cart .shipping-calculator-button{text-align:left;}

/* 6. Checkout layout */
body.woocommerce-checkout form.checkout .col2-set{margin-bottom:32px;}
body.woocommerce-checkout .woocommerce-billing-fields,body.woocommerce-checkout .woocommerce-shipping-fields,body.woocommerce-checkout .woocommerce-additional-fields{background:#fff;}
body.woocommerce-checkout .form-row{margin:0 0 14px;padding:0;}
body.woocommerce-checkout .weg-state-notice{margin:-4px 0 16px;padding:12px 14px;background:#FBEDE9;border-left:4px solid #9a3b2e;border-radius:8px;font-family:var(--wc-body);font-size:15px;line-height:1.5;color:var(--wc-ink);}
body.woocommerce-checkout .woocommerce textarea#order_comments{min-height:96px;height:auto!important;line-height:1.5!important;padding:12px 14px!important;}
/* Right column order: package protection first, then ship-to (its address fields open under it), then notes.
   The additional-fields wrapper is flattened so its children can be ordered with the shipping block. */
body.woocommerce-checkout form.checkout .col2-set .col-2{display:flex;flex-direction:column;}
body.woocommerce-checkout form.checkout .col-2 .woocommerce-additional-fields{display:contents;}
body.woocommerce-checkout form.checkout .col-2 #shipping_insurance_field{order:1;}
body.woocommerce-checkout form.checkout .col-2 .woocommerce-shipping-fields{order:2;}
body.woocommerce-checkout form.checkout .col-2 .woocommerce-additional-fields > h3,body.woocommerce-checkout form.checkout .col-2 .woocommerce-additional-fields__field-wrapper{order:3;}
body.woocommerce-checkout #ship-to-different-address{float:none;}
body.woocommerce-checkout #ship-to-different-address label,body.woocommerce-checkout .form-row label.checkbox,body.woocommerce-checkout label.woocommerce-form__label-for-checkbox{display:block!important;position:relative;margin:0;padding:0 0 0 28px!important;font-size:15px!important;font-weight:400!important;line-height:1.45!important;}
body.woocommerce-checkout #ship-to-different-address label input,body.woocommerce-checkout .form-row label.checkbox input,body.woocommerce-checkout label.woocommerce-form__label-for-checkbox input{position:absolute!important;left:0;top:2px;margin:0!important;}
body.woocommerce-checkout #order_review_heading{margin-top:8px;}
body.woocommerce-checkout #order_review{background:var(--wc-paper);border:1px solid var(--wc-line);border-radius:12px;padding:24px;}
body.woocommerce-checkout #order_review table.shop_table{background:transparent;border:0;margin:0 0 24px;}
body.woocommerce-checkout #order_review table.shop_table th,body.woocommerce-checkout #order_review table.shop_table td{padding:12px 0;}
body.woocommerce-checkout #order_review table.shop_table thead th{border-top:0;}
body.woocommerce-checkout #order_review table.shop_table td:last-child,body.woocommerce-checkout #order_review table.shop_table th+td{text-align:right;}
body.woocommerce-checkout #order_review tr.woocommerce-shipping-totals td{text-align:left!important;}
/* Payment: the lavender WooCommerce box becomes the brand panel */
body.woocommerce-checkout #payment{background:transparent!important;border-radius:0;}
body.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 20px;}
body.woocommerce-checkout #payment ul.payment_methods li{list-style:none;margin:0;}
body.woocommerce-checkout #payment ul.payment_methods li > label{font-family:var(--wc-body);font-size:16px;font-weight:600;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;}
body.woocommerce-checkout #payment div.payment_box{background:#fff!important;border:1px solid var(--wc-line);border-radius:10px;color:var(--wc-ink);font-size:14px;line-height:1.5;padding:18px;margin:12px 0 0;}
body.woocommerce-checkout #payment div.payment_box::before{display:none;}
body.woocommerce-checkout #payment div.payment_box p{margin:0 0 14px;color:var(--wc-muted);}
body.woocommerce-checkout #payment div.payment_box .wc-credit-card-form{padding:0;margin:0;border:0;}
body.woocommerce-checkout #payment div.payment_box input.input-text{font-size:17px!important;width:100%!important;}
body.woocommerce-checkout #payment div.form-row.place-order{padding:0;margin:0;}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin:0 0 18px;}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row{margin:0;}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label,body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{font-size:15px!important;font-weight:400!important;line-height:1.5!important;}
body.woocommerce-checkout #place_order{float:none;margin:0;}
/* "Add to an existing subscription" follows the order button, set quietly */
body.woocommerce-cart .wcsatt-add-cart-to-subscription-wrapper,body.woocommerce-checkout .wcsatt-add-cart-to-subscription-wrapper{font-size:15px;}
body.woocommerce-cart .wcsatt-add-cart-to-subscription-action-wrapper label,body.woocommerce-checkout .wcsatt-add-cart-to-subscription-action-wrapper label{display:flex!important;align-items:center;justify-content:space-between;gap:14px;position:static;margin:0;padding:0!important;font-size:15px;font-weight:600;line-height:1.4;}
body.woocommerce-cart .wcsatt-add-cart-to-subscription-action-wrapper label input[type=checkbox],body.woocommerce-checkout .wcsatt-add-cart-to-subscription-action-wrapper label input[type=checkbox]{position:static!important;float:none!important;order:2;flex:0 0 auto;margin:0!important;top:auto!important;right:auto!important;left:auto!important;}
body.woocommerce-cart .wcsatt-add-cart-to-subscription-action-wrapper label span,body.woocommerce-checkout .wcsatt-add-cart-to-subscription-action-wrapper label span{order:1;flex:1 1 auto;min-width:0;}

/* 6b. Order received (shares the checkout body class) */
body.woocommerce-checkout .woocommerce-order{margin-bottom:24px;}
body.woocommerce-checkout .woocommerce-order > p.woocommerce-thankyou-order-received{font-family:var(--wc-head);font-size:30px;line-height:1.25;color:var(--wc-green);margin:0 0 20px;}
body.woocommerce-checkout ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 20px;list-style:none;margin:0 0 32px;padding:20px;background:var(--wc-paper);border:1px solid var(--wc-line);border-radius:12px;}
body.woocommerce-checkout ul.woocommerce-order-overview li{border:0!important;margin:0!important;padding:0!important;float:none!important;font-family:var(--wc-body);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--wc-muted);line-height:1.4;}
body.woocommerce-checkout ul.woocommerce-order-overview li strong{display:block;font-size:16px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--wc-ink);margin-top:3px;overflow-wrap:anywhere;}
body.woocommerce-checkout .woocommerce-order-details__title,body.woocommerce-checkout .woocommerce-column__title{font-family:var(--wc-head);color:var(--wc-green);font-size:26px;font-weight:400;line-height:1.25;text-align:left;margin:0 0 14px;}
body.woocommerce-checkout .woocommerce-order-details__title::before,body.woocommerce-checkout .woocommerce-order-details__title::after,body.woocommerce-checkout .woocommerce-column__title::before,body.woocommerce-checkout .woocommerce-column__title::after{content:none;display:none;}
body.woocommerce-checkout .woocommerce-order table.shop_table,body.woocommerce-checkout .woocommerce-order table.shop_table th,body.woocommerce-checkout .woocommerce-order table.shop_table td{border-color:var(--wc-line)!important;}
body.woocommerce-checkout .woocommerce-order table.shop_table td:last-child,body.woocommerce-checkout .woocommerce-order table.shop_table th+td{text-align:right;}
body.woocommerce-checkout .woocommerce-order table.shop_table tfoot tr:last-child th,body.woocommerce-checkout .woocommerce-order table.shop_table tfoot tr:last-child td{font-size:19px;font-weight:700;}
body.woocommerce-checkout .woocommerce-customer-details{margin-top:8px;}
body.woocommerce-checkout .woocommerce-columns--addresses{display:flex;gap:24px;align-items:flex-start;}
body.woocommerce-checkout .woocommerce-columns--addresses .woocommerce-column{float:none;width:auto;flex:1 1 0;min-width:0;}
body.woocommerce-checkout .woocommerce-customer-details address{background:var(--wc-paper);border:1px solid var(--wc-line);border-radius:12px;padding:18px;font-style:normal;font-family:var(--wc-body);font-size:15px;line-height:1.6;color:var(--wc-ink);margin:0;}
body.woocommerce-checkout .woocommerce-customer-details address p{margin:6px 0 0;}

/* 7. My Account */
body.woocommerce-account #customer_login{display:flex;gap:40px;align-items:flex-start;}
body.woocommerce-account #customer_login .u-column2{order:-1;}
body.woocommerce-account #customer_login > div{float:none;width:auto;flex:1 1 0;background:var(--wc-paper);border:1px solid var(--wc-line);border-radius:12px;padding:28px;}
body.woocommerce-account #customer_login form{border:0!important;padding:0!important;margin:0!important;background:transparent;}
/* The registration disclosure keeps full body size and ink: conspicuousness is the defense. */
body.woocommerce-account #customer_login .woocommerce-privacy-policy-text,body.woocommerce-account #customer_login .woocommerce-privacy-policy-text p{font-size:15px;line-height:1.55;color:var(--wc-ink);}
body.woocommerce-account .wpcaptcha-captcha-img{display:inline-block;margin:0 6px 8px;vertical-align:middle!important;}
body.woocommerce-account .woocommerce-MyAccount-navigation{background:var(--wc-paper)!important;border:1px solid var(--wc-line);border-radius:12px;box-shadow:none!important;overflow:hidden;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li{border-color:var(--wc-line)!important;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:12px 18px;text-decoration:none;font-size:16px;}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{background:var(--wc-green);color:var(--wc-cream)!important;}
body.woocommerce-account .weg-acct-toggle{display:none;}
body.woocommerce-account .woocommerce-MyAccount-content{font-size:16px;line-height:1.6;}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type{font-size:18px;}

/* 8. Phones */
@media (max-width:768px){
  body.woocommerce-cart .te_default_page.mtop50,body.woocommerce-checkout .te_default_page.mtop50{margin-top:20px;}
  body.woocommerce-account .te_default_page .woocommerce::before{font-size:32px;margin-bottom:16px;}
  body.woocommerce-account .te_default_page.mtop50{margin-top:24px;}
  /* Cart rows stack as cards; the thumbnail comes back */
  body.woocommerce-cart table.cart,body.woocommerce-cart table.cart tbody{display:block;width:100%;}
  body.woocommerce-cart table.cart tr.cart_item{display:block;position:relative;padding:16px 16px 10px;border-top:1px solid var(--wc-line);}
  body.woocommerce-cart table.cart tr.cart_item:first-child{border-top:0;}
  body.woocommerce-cart table.cart tr.cart_item td{display:flex!important;justify-content:space-between;align-items:center;gap:12px;border:0!important;padding:6px 0!important;text-align:right;background:transparent!important;min-width:0;}
  body.woocommerce-cart table.cart tr.cart_item td::before{float:none!important;flex:0 0 auto;font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--wc-muted);}
  body.woocommerce-cart table.cart tr.cart_item td.product-thumbnail{display:block!important;position:absolute;left:16px;top:16px;width:88px;padding:0!important;}
  body.woocommerce-cart table.cart td.product-thumbnail::before,body.woocommerce-cart table.cart td.product-remove::before,body.woocommerce-cart table.cart td.product-name::before{display:none!important;}
  body.woocommerce-cart table.cart tr.cart_item td.product-remove{position:absolute;right:8px;top:8px;padding:0!important;display:block!important;}
  /* Name sits beside the thumbnail; every other row runs the full card width. */
  body.woocommerce-cart table.cart tr.cart_item td.product-name{justify-content:flex-start;align-items:center;min-height:88px;text-align:left!important;padding:0 36px 8px 104px!important;}
  body.woocommerce-cart table.cart tr.cart_item td.product-price{align-items:flex-start;}
  body.woocommerce-cart ul.wcsatt-options label{white-space:normal;}
  body.woocommerce-cart .woocommerce .quantity .qty{width:64px;}
  body.woocommerce-cart table.cart td.actions{display:block;padding:16px!important;}
  body.woocommerce-cart table.cart td.actions .coupon{flex-wrap:wrap;margin-bottom:10px;}
  body.woocommerce-cart table.cart td.actions .coupon .input-text{flex:1 1 100%;width:100%;}
  body.woocommerce-cart table.cart td.actions .coupon .button{width:100%;}
  body.woocommerce-cart table.cart td.actions > .button{width:100%;}
  body.woocommerce-cart .cart-collaterals .cart_totals{padding:18px;}
  body.woocommerce-cart .cart_totals table.shop_table_responsive tr td::before{font-weight:600;}
  body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td,body.woocommerce-cart .cart_totals tr.shipping td{display:block;text-align:left!important;}
  body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td::before,body.woocommerce-cart .cart_totals tr.shipping td::before{display:block;float:none!important;margin-bottom:8px;}
  body.woocommerce-cart .cart_totals tr.reward-points-row td{display:block;text-align:left!important;}
  body.woocommerce-cart .cart_totals tr.reward-points-row td::before{display:block;float:none!important;margin-bottom:2px;}
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,body.woocommerce-checkout #place_order{font-size:16px!important;letter-spacing:.03em!important;padding:15px 10px!important;}
  /* Checkout: shipping methods take the full width of the summary */
  body.woocommerce-checkout #order_review{padding:18px;}
  /* A single block cell inside a real table row only gets column 1, so the whole
     table becomes a stack of label/value rows on phones. */
  body.woocommerce-checkout #order_review table.shop_table,body.woocommerce-checkout #order_review table.shop_table thead,body.woocommerce-checkout #order_review table.shop_table tbody,body.woocommerce-checkout #order_review table.shop_table tfoot{display:block;width:100%;}
  body.woocommerce-checkout #order_review table.shop_table tr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-top:1px solid var(--wc-line);padding:11px 0;}
  body.woocommerce-checkout #order_review table.shop_table thead tr{border-top:0;padding-top:0;}
  body.woocommerce-checkout #order_review table.shop_table th,body.woocommerce-checkout #order_review table.shop_table td{display:block;border:0!important;padding:0!important;}
  body.woocommerce-checkout #order_review table.shop_table th{flex:0 1 auto;min-width:0;}
  body.woocommerce-checkout #order_review table.shop_table td:last-child,body.woocommerce-checkout #order_review table.shop_table th+td{text-align:right;flex:0 1 auto;min-width:0;}
  body.woocommerce-checkout #order_review table.shop_table tr.reward-points-row{flex-direction:column;align-items:flex-start;gap:4px;}
  body.woocommerce-checkout #order_review table.shop_table tr.reward-points-row td{text-align:left;}
  /* Card icons on their own line under the method name */
  body.woocommerce-checkout #payment ul.payment_methods li > label{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;}
  body.woocommerce-checkout #payment ul.payment_methods li > label::after{content:"";flex-basis:100%;height:0;order:1;}
  body.woocommerce-checkout #payment ul.payment_methods li > label img{order:2;margin:0!important;}
  /* Expiry and card code stack */
  body.woocommerce-checkout #payment div.payment_box .form-row-first,body.woocommerce-checkout #payment div.payment_box .form-row-last{width:100%!important;float:none;clear:both;}
  /* My Account menu: one green bar showing the current section, tap to open */
  body.woocommerce-account .weg-acct-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--wc-green);color:var(--wc-cream);border:0;border-radius:12px;font-family:var(--wc-body);font-size:16px;font-weight:600;text-align:left;cursor:pointer;}
  body.woocommerce-account .weg-acct-toggle::after{content:"";flex:0 0 auto;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s;}
  body.woocommerce-account .weg-acct-toggle[aria-expanded=true]::after{transform:translateY(3px) rotate(225deg);}
  body.woocommerce-account .woocommerce-MyAccount-navigation.weg-collapsible{background:transparent!important;border:0;overflow:visible;margin-bottom:20px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation.weg-collapsible ul{display:none;margin:8px 0 0;background:var(--wc-paper);border:1px solid var(--wc-line);border-radius:12px;overflow:hidden;}
  body.woocommerce-account .woocommerce-MyAccount-navigation.weg-collapsible.is-open ul{display:block;}
  body.woocommerce-checkout #order_review table.shop_table tr.cart_item td.product-name{flex:1 1 auto;}
  body.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals{flex-direction:column;align-items:stretch;gap:8px;}
  body.woocommerce-checkout #order_review table.shop_table tr.woocommerce-shipping-totals td{text-align:left!important;width:100%;flex:1 1 auto;}
  body.woocommerce-checkout #order_review ul#shipping_method{width:100%;}
  body.woocommerce-checkout .col2-set .col-1,body.woocommerce-checkout .col2-set .col-2{width:100%;float:none;}
  body.woocommerce-checkout .woocommerce-order > p.woocommerce-thankyou-order-received{font-size:24px;}
  body.woocommerce-checkout ul.woocommerce-order-overview{grid-template-columns:1fr 1fr;padding:16px;}
  body.woocommerce-checkout .woocommerce-columns--addresses{flex-direction:column;gap:20px;}
    /* Account */
  body.woocommerce-account #customer_login{flex-direction:column;gap:20px;}
  body.woocommerce-account #customer_login > div{width:100%;padding:20px;}
  body.woocommerce-account table.shop_table_responsive tr{display:block;border-top:1px solid var(--wc-line);padding:8px 0;}
  body.woocommerce-account table.shop_table_responsive tr td{display:flex!important;justify-content:space-between;align-items:center;gap:12px;border:0!important;padding:6px 16px!important;text-align:right;}
  body.woocommerce-account table.shop_table_responsive tr td::before{float:none!important;flex:0 0 auto;}
}
@media (max-width:340px){
  /* Turnstile's 300px widget is wider than the 320 phone panel; scale it to fit. */
  body.woocommerce-account .cf-turnstile{transform:scale(.82);transform-origin:0 0;}
}
