/* ═══════════════════════════════════════════════════════════════════════════
   Boba's Plants — basket & checkout look  (mu-plugins/bobas-checkout-look.php)
   Everything is scoped to body.bobas-co, which is only set when the look is on.
   Site language: tan page, white leaf-cornered cards, Bubblegum Sans headings in
   forest green, Nunito Sans body, plum "Plum Leaf" buttons (0 20px 0 20px).
   ═══════════════════════════════════════════════════════════════════════════ */

body.bobas-co {
  --bco-ink: #143223;          /* forest — headings, prices */
  --bco-text: #2f3a31;
  --bco-muted: #66706a;
  --bco-line: #e6e3d6;
  --bco-field: #d7d3c2;
  --bco-card: #ffffff;
  --bco-soft: #f7f5ee;
  --bco-plum: #8B3F5D;
  --bco-plum-dk: #6d3049;
  --bco-green: #4a5d23;        /* button hover */
  --bco-sage: #e8f3e8;
  --bco-r-card: 0 24px 0 24px;
  --bco-r-btn: 0 20px 0 20px;
  --bco-r-in: 0 10px 0 10px;
  --bco-head: var(--ff-heading, "Bubblegum Sans", cursive);
  --bco-body: var(--ff-body, "Nunito Sans", system-ui, sans-serif);
}

/* ── page frame: wider, quieter ─────────────────────────────────────────── */
/* The theme sizes body.woocommerce-cart/-checkout to 83% wide, which left a 667px
   column on a 1024px laptop. Give the page its full width back. */
body.bobas-co.woocommerce-cart,
body.bobas-co.woocommerce-checkout,
body.bobas-co.woocommerce-account { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.bobas-co .woocommerce-breadcrumb { display: none !important; }
body.bobas-co .woocommerce-cart,
body.bobas-co .woocommerce-checkout,
body.bobas-co.woocommerce-cart article,
body.bobas-co.woocommerce-checkout article { font-family: var(--bco-body) !important; }
body.bobas-co .bobas-woocommerce-wrapper { padding: 8px 0 56px !important; overflow: visible !important; max-width: none; }
/* heading and content share one column */
body.bobas-co.woocommerce-cart main article.page,
body.bobas-co.woocommerce-checkout main article.page,
body.bobas-co.woocommerce-account main article.page { max-width: 1120px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
body.bobas-co main .container-xl:has(> article.page) { max-width: none; }
@media (max-width: 1159.98px) {
  body.bobas-co.woocommerce-cart main article.page,
  body.bobas-co.woocommerce-checkout main article.page,
  body.bobas-co.woocommerce-account main article.page { padding-left: 20px !important; padding-right: 20px !important; }
}
body.bobas-co .entry-content { padding: 0 !important; margin: 0 !important; max-width: none !important; width: auto !important; }
body.bobas-co article.page > h1,
body.bobas-co .entry-title,
body.bobas-co h1.display-4 {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important;
  font-size: clamp(2rem, 1.4rem + 2.2vw, 2.9rem) !important; line-height: 1.05 !important;
  margin: 28px 0 18px !important; letter-spacing: 0 !important;
}
body.bobas-co .woocommerce { color: var(--bco-text); font-size: 16px; line-height: 1.55; }
body.bobas-co .woocommerce a { color: var(--bco-plum); text-underline-offset: 3px; }

/* ── shared pieces ──────────────────────────────────────────────────────── */
body.bobas-co .bco-card {
  background: var(--bco-card); border-radius: var(--bco-r-card);
  box-shadow: 0 1px 0 rgba(20,50,35,.04), 0 18px 40px -28px rgba(20,50,35,.35);
  padding: 22px 20px;
}
body.bobas-co .bco-h {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important;
  font-size: 1.6rem !important; line-height: 1.15 !important; margin: 0 0 6px !important; font-weight: 400 !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
body.bobas-co .bco-h--sm { font-size: 1.35rem !important; margin-bottom: 12px !important; }
body.bobas-co .bco-lede { color: var(--bco-muted); font-size: .95rem; margin: 0 0 14px; }
body.bobas-co .bco-note { color: var(--bco-muted); font-size: .84rem; margin: 10px 0 0; }

body.bobas-co .bco-btn,
body.bobas-co .wc-proceed-to-checkout a.checkout-button.bco-btn,
body.bobas-co #place_order {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
  width: 100% !important; min-height: 56px !important; padding: 14px 24px !important;
  background: var(--bco-plum) !important; border: 2px solid var(--bco-plum) !important; color: #fff !important;
  border-radius: var(--bco-r-btn) !important; box-shadow: 0 14px 26px -16px rgba(109,48,73,.9) !important;
  font-family: var(--bco-body) !important; font-weight: 800 !important; font-size: 1.06rem !important;
  text-transform: none !important; letter-spacing: .01em !important; line-height: 1.2 !important;
  text-decoration: none !important; cursor: pointer;
  transition: background-color .25s, border-color .25s, border-radius .25s, transform .25s !important;
}
body.bobas-co .bco-btn:hover,
body.bobas-co .wc-proceed-to-checkout a.checkout-button.bco-btn:hover,
body.bobas-co #place_order:hover {
  background: var(--bco-green) !important; border-color: var(--bco-green) !important;
  border-radius: 20px 0 20px 0 !important; transform: translateY(-1px);
}
body.bobas-co .bco-btn:focus-visible,
body.bobas-co #place_order:focus-visible { outline: 3px solid var(--bco-ink) !important; outline-offset: 3px !important; }
body.bobas-co .bco-btn--quiet {
  width: auto !important; min-height: 46px !important; padding: 10px 18px !important; font-size: .95rem !important;
  background: #fff !important; color: var(--bco-plum) !important; box-shadow: none !important;
}
body.bobas-co .bco-btn--quiet:hover { color: #fff !important; }

/* form controls (the Stripe card form copies these, so it matches) */
body.bobas-co .woocommerce form .input-text,
body.bobas-co .woocommerce form select:not(.select2-hidden-accessible),
body.bobas-co .woocommerce form textarea,
body.bobas-co .woocommerce .select2-container .select2-selection--single {
  width: 100% !important; min-height: 50px !important; padding: 12px 14px !important;
  background: #fff !important; color: var(--bco-ink) !important;
  border: 1.5px solid var(--bco-field) !important; border-radius: var(--bco-r-in) !important;
  font-family: var(--bco-body) !important; font-size: 16px !important; line-height: 1.3 !important;
  box-shadow: none !important; transition: border-color .2s, box-shadow .2s;
}
body.bobas-co .woocommerce form textarea { min-height: 96px !important; }
body.bobas-co .woocommerce .select2-container .select2-selection--single { display: flex !important; align-items: center !important; padding: 0 14px !important; }
body.bobas-co .woocommerce .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.3 !important; color: var(--bco-ink) !important; }
body.bobas-co .woocommerce .select2-container .select2-selection__arrow { height: 100% !important; right: 10px !important; }
body.bobas-co .woocommerce form .input-text:focus,
body.bobas-co .woocommerce form select:focus,
body.bobas-co .woocommerce form textarea:focus,
body.bobas-co .woocommerce .select2-container--focus .select2-selection--single,
body.bobas-co .woocommerce .select2-container--open .select2-selection--single {
  outline: none !important; border-color: var(--bco-plum) !important; box-shadow: 0 0 0 3px rgba(139,63,93,.16) !important;
}
body.bobas-co .woocommerce form .form-row { padding: 0 !important; margin: 0 0 14px !important; }
body.bobas-co .woocommerce form .form-row label {
  display: block; margin: 0 0 6px !important; color: var(--bco-ink) !important;
  font-family: var(--bco-body) !important; font-weight: 700 !important; font-size: .92rem !important; line-height: 1.3 !important;
}
body.bobas-co .woocommerce form .form-row .required { color: var(--bco-plum) !important; text-decoration: none !important; }
body.bobas-co .woocommerce form .form-row .optional { color: var(--bco-muted); font-weight: 400; }
body.bobas-co .woocommerce form .form-row .description { color: var(--bco-muted); font-size: .82rem; margin-top: 6px; padding: 0; background: none; }
body.bobas-co .woocommerce form .form-row.woocommerce-invalid .input-text,
body.bobas-co .woocommerce form .form-row.woocommerce-invalid select { border-color: #b3261e !important; }
body.bobas-co .woocommerce-input-wrapper .description::before { display: none; }

/* notices */
body.bobas-co .woocommerce-message,
body.bobas-co .woocommerce-info,
body.bobas-co .woocommerce-error {
  background: var(--bco-card) !important; color: var(--bco-text) !important; border: 0 !important;
  border-left: 4px solid var(--bco-plum) !important; border-radius: 0 14px 0 14px !important;
  padding: 14px 16px 14px 46px !important; margin: 0 0 18px !important; font-size: .95rem !important;
  box-shadow: 0 10px 26px -22px rgba(20,50,35,.5) !important;
}
body.bobas-co .woocommerce-error { border-left-color: #b3261e !important; }
body.bobas-co .woocommerce-message::before,
body.bobas-co .woocommerce-info::before,
body.bobas-co .woocommerce-error::before { top: 14px !important; left: 16px !important; color: var(--bco-plum) !important; }

/* membership box (from bobas-pot-offer.php) */
body.bobas-co .bobas-join {
  background: var(--bco-sage) !important; border: 0 !important; border-radius: 0 16px 0 16px !important;
  padding: 14px 16px !important; margin: 0 0 16px !important;
}
body.bobas-co .bobas-join__text strong { font-family: var(--bco-body); font-size: .98rem !important; color: var(--bco-ink) !important; }
body.bobas-co .bobas-join__text small { font-size: .84rem !important; color: #4b5a4f !important; }
body.bobas-co .bobas-join--checkout-bottom { display: none !important; } /* the top one is the one people see; this one still posts the (synced) choice */

/* ═══ BASKET ═══════════════════════════════════════════════════════════════ */
body.bobas-co--cart .bco-cart { display: grid; gap: 22px; align-items: start; }
@media (min-width: 900px) {
  body.bobas-co--cart .bco-cart { grid-template-columns: minmax(0, 1fr) clamp(300px, 38%, 380px); gap: clamp(20px, 3vw, 32px); }
  body.bobas-co--cart .bco-cart__side { position: sticky; top: 110px; }
}
body.bobas-co .bco-items { list-style: none; margin: 4px 0 0 !important; padding: 0 !important; }
body.bobas-co .bco-item {
  display: grid; grid-template-columns: 88px minmax(0, 1fr) auto; gap: 14px; align-items: start;
  padding: 16px 0; border-top: 1px solid var(--bco-line);
}
body.bobas-co .bco-item__pic { display: block; width: 88px; height: 88px; border-radius: 0 16px 0 16px; overflow: hidden; background: var(--bco-soft); }
body.bobas-co .bco-item__pic img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; margin: 0 !important; }
body.bobas-co .bco-item__name { font-family: var(--bco-body) !important; font-size: 1.02rem !important; font-weight: 800 !important; line-height: 1.3 !important; margin: 2px 0 4px !important; color: var(--bco-ink) !important; }
body.bobas-co .bco-item__name a { color: var(--bco-ink) !important; text-decoration: none !important; }
body.bobas-co .bco-item__name a:hover { text-decoration: underline !important; }
body.bobas-co .bco-item__meta { margin: 0 0 8px; color: var(--bco-muted); font-size: .88rem; line-height: 1.35; }
body.bobas-co .bco-item__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
body.bobas-co .bco-item__one {
  white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; font-weight: 700; color: #3a5a3d;
  background: var(--bco-sage); padding: 3px 10px; border-radius: 20px;
}
body.bobas-co .bco-item__one::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #88bc88; }
body.bobas-co .bco-item__remove,
body.bobas-co .woocommerce a.remove.bco-item__remove {
  width: auto !important; height: auto !important; font-size: .86rem !important; font-weight: 600 !important; line-height: 1.4 !important;
  color: var(--bco-muted) !important; background: none !important; text-decoration: underline !important; border-radius: 0 !important; display: inline !important;
}
body.bobas-co .bco-item__remove:hover { color: var(--bco-plum) !important; }
body.bobas-co .bco-item__price { font-family: var(--bco-head); font-size: 1.25rem; color: var(--bco-ink); white-space: nowrap; padding-top: 2px; }
body.bobas-co .bco-item__price del { color: var(--bco-muted); font-size: .9rem; }
body.bobas-co .bco-item__qty .quantity { display: inline-flex; }
body.bobas-co .bco-item__qty .qty { width: 74px !important; min-height: 40px !important; padding: 6px 10px !important; text-align: center; }

body.bobas-co .bco-cart__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; border-top: 1px solid var(--bco-line); padding-top: 14px; }
body.bobas-co .bco-back { font-weight: 700; font-size: .92rem; }
body.bobas-co .bco-back::before { content: "← "; }
body.bobas-co .bco-update { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; padding: 0 !important; border: 0 !important; }
body.bobas-co .bco-coupon { flex: 1 1 260px; }
body.bobas-co .bco-coupon summary { cursor: pointer; color: var(--bco-plum); font-weight: 700; font-size: .92rem; list-style: none; }
body.bobas-co .bco-coupon summary::-webkit-details-marker { display: none; }
body.bobas-co .bco-coupon summary::after { content: " +"; }
body.bobas-co .bco-coupon[open] summary::after { content: " −"; }
body.bobas-co .bco-coupon__row { display: flex; gap: 10px; margin-top: 10px; }
body.bobas-co .bco-coupon__row #coupon_code { flex: 1; width: auto !important; min-width: 0; }

body.bobas-co .bco-totals { margin: 0 !important; }
body.bobas-co .bco-totals__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 7px 0; font-size: .98rem; }
body.bobas-co .bco-totals dt { font-weight: 600; color: var(--bco-text); margin: 0; }
body.bobas-co .bco-totals dt small { display: block; font-weight: 400; font-size: .8rem; color: var(--bco-muted); }
body.bobas-co .bco-totals dd { margin: 0; text-align: right; color: var(--bco-ink); font-weight: 600; }
body.bobas-co .bco-totals__row--save dt,
body.bobas-co .bco-totals__row--save dd { color: var(--bco-plum); font-weight: 800; }
body.bobas-co .bco-totals__row--save .woocommerce-remove-coupon { font-size: .8rem; font-weight: 600; margin-left: 6px; }
body.bobas-co .bco-totals__row--total { border-top: 1px solid var(--bco-line); margin-top: 6px; padding-top: 14px; }
body.bobas-co .bco-totals__row--total dt { font-family: var(--bco-head); font-weight: 400; font-size: 1.3rem; color: var(--bco-ink); }
body.bobas-co .bco-totals__row--total dd { font-family: var(--bco-head); font-weight: 400; font-size: 1.6rem; }
body.bobas-co .bco-totals__row--total dd strong { font-weight: 400; }
body.bobas-co .bco-totals-card .wc-proceed-to-checkout { padding: 16px 0 0 !important; display: flex; flex-direction: column; gap: 12px; }
body.bobas-co .bco-totals-card .bobas-join { margin: 4px 0 2px !important; }
body.bobas-co .bco-totals-card #wc-stripe-express-checkout-element { margin-top: 0 !important; }
body.bobas-co .cart-collaterals .cross-sells { display: none; }
body.bobas-co .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }

/* empty basket */
body.bobas-co .cart-empty.woocommerce-info { font-size: 1.05rem !important; }
body.bobas-co .return-to-shop .button { border-radius: var(--bco-r-btn) !important; text-transform: none !important; }

/* ═══ CHECKOUT ═════════════════════════════════════════════════════════════ */
body.bobas-co .woocommerce-form-coupon-toggle .woocommerce-info {
  background: none !important; box-shadow: none !important; border: 0 !important; padding: 0 !important; margin: 0 0 14px !important; font-size: .92rem !important; color: var(--bco-muted) !important;
}
body.bobas-co .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none !important; }
body.bobas-co form.checkout_coupon { border: 0 !important; background: var(--bco-card); border-radius: var(--bco-r-card); padding: 16px !important; margin: 0 0 18px !important; }
body.bobas-co form.checkout_coupon .form-row { width: auto !important; float: none !important; display: inline-block; margin: 0 8px 0 0 !important; vertical-align: middle; }
body.bobas-co form.checkout_coupon .form-row-first { width: min(260px, 100%) !important; }
body.bobas-co form.checkout_coupon .button { border-radius: var(--bco-r-btn) !important; text-transform: none !important; }
body.bobas-co form.checkout_coupon > p:first-child { margin: 0 0 10px; font-size: .9rem; }

/* layout: one column on phones (summary first), form + sticky summary on desktop */
body.bobas-co form.checkout.woocommerce-checkout { width: 100% !important; margin: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: start; }
body.bobas-co form.checkout > * { min-width: 0; }
body.bobas-co #order_review { display: contents !important; }
body.bobas-co #order_review_heading { display: none !important; }
body.bobas-co .bco-summary { order: -1; margin: 0 0 18px; }
@media (min-width: 992px) {
  body.bobas-co form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) clamp(320px, 38%, 400px); column-gap: clamp(20px, 3vw, 40px); }
  body.bobas-co form.checkout > * { grid-column: 1; }
  body.bobas-co .bco-summary { grid-column: 2; grid-row: 1 / span 12; order: 0; position: sticky; top: 110px; margin: 0; }
}

/* express wallets */
body.bobas-co form.checkout #wc-stripe-express-checkout-element { margin: 0 0 4px !important; }
body.bobas-co #wc-stripe-express-checkout-button-separator {
  align-items: center; gap: 12px; margin: 14px 0 18px !important;
  color: var(--bco-muted); font-size: .86rem; font-weight: 700; white-space: nowrap;
}
body.bobas-co #wc-stripe-express-checkout-button-separator[style*="block"] { display: flex !important; }
body.bobas-co #wc-stripe-express-checkout-button-separator::before,
body.bobas-co #wc-stripe-express-checkout-button-separator::after { content: ""; flex: 1; height: 1px; background: var(--bco-field); }

/* the two form sections become cards */
body.bobas-co #customer_details { display: block !important; width: auto !important; margin: 0 0 18px !important; }
body.bobas-co #customer_details .col-1,
body.bobas-co #customer_details .col-2 { float: none !important; width: 100% !important; max-width: none !important; padding: 0 !important; flex: none !important; }
body.bobas-co #customer_details .col-1 { background: var(--bco-card); border-radius: var(--bco-r-card); padding: 22px 20px 10px !important; box-shadow: 0 18px 40px -28px rgba(20,50,35,.35); }
body.bobas-co #customer_details .col-2 { margin-top: 14px !important; }
body.bobas-co #customer_details h3,
body.bobas-co .woocommerce-billing-fields > h3,
body.bobas-co .woocommerce-additional-fields > h3 {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important; font-size: 1.45rem !important; font-weight: 400 !important;
  margin: 0 0 14px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.2 !important;
}
body.bobas-co .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
body.bobas-co .woocommerce-billing-fields__field-wrapper > .form-row,
body.bobas-co .woocommerce-shipping-fields__field-wrapper > .form-row { grid-column: 1 / -1; width: 100% !important; float: none !important; }
body.bobas-co .woocommerce-billing-fields__field-wrapper > .form-row-first { grid-column: 1; }
body.bobas-co .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: 2; }
body.bobas-co .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 12px; }
body.bobas-co .woocommerce-shipping-fields__field-wrapper > .form-row-first { grid-column: 1; }
body.bobas-co .woocommerce-shipping-fields__field-wrapper > .form-row-last { grid-column: 2; }
body.bobas-co .form-row.bco-hidden { display: none !important; }
body.bobas-co .bco-reveal {
  display: block; margin: 10px 0 0; padding: 0; background: none; border: 0;
  color: var(--bco-plum); font-weight: 700; font-size: .9rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px;
}

/* "send to a different address" and the note: quiet rows under the details card */
body.bobas-co #ship-to-different-address {
  font-family: var(--bco-body) !important; font-size: 1rem !important; font-weight: 700 !important; margin: 0 0 10px !important;
}
body.bobas-co #ship-to-different-address label { display: flex !important; align-items: center; gap: 10px; cursor: pointer; color: var(--bco-ink); margin: 0 !important; }
body.bobas-co #ship-to-different-address input { width: 20px; height: 20px; margin: 0 !important; accent-color: var(--bco-plum); }
body.bobas-co .shipping_address { background: var(--bco-card); border-radius: var(--bco-r-card); padding: 20px 20px 6px; margin: 0 0 14px; }
body.bobas-co .woocommerce-additional-fields > h3 { display: none !important; }
body.bobas-co .woocommerce-additional-fields .form-row.bco-hidden { display: none !important; }

/* payment card */
body.bobas-co #payment {
  background: var(--bco-card) !important; border-radius: var(--bco-r-card) !important; padding: 22px 20px !important;
  box-shadow: 0 18px 40px -28px rgba(20,50,35,.35) !important;
}
body.bobas-co #payment::before {
  content: "Payment"; display: block; font-family: var(--bco-head); color: var(--bco-ink); font-size: 1.45rem; line-height: 1.2; margin: 0 0 12px;
}
body.bobas-co #payment ul.payment_methods { padding: 0 !important; margin: 0 0 6px !important; border: 0 !important; }
body.bobas-co #payment ul.payment_methods > li { padding: 0 !important; margin: 0 !important; background: none !important; }
body.bobas-co #payment ul.payment_methods > li > input[type=radio]:first-child:checked + label,
body.bobas-co #payment ul.payment_methods > li > label { font-weight: 700; color: var(--bco-ink); }
body.bobas-co #payment ul.payment_methods li:only-child > input[type=radio],
body.bobas-co #payment ul.payment_methods li:only-child > label { display: none !important; }
body.bobas-co #payment div.payment_box { background: none !important; padding: 4px 0 0 !important; margin: 0 !important; color: var(--bco-text) !important; }
body.bobas-co #payment div.payment_box::before { display: none !important; }
body.bobas-co #payment .place-order { padding: 14px 0 0 !important; margin: 0 !important; border-top: 1px solid var(--bco-line); }
body.bobas-co #payment .bobas-terms-line,
body.bobas-co #payment .woocommerce-privacy-policy-text p { font-size: .84rem !important; color: var(--bco-muted) !important; margin: 0 0 8px !important; line-height: 1.45; }
body.bobas-co #place_order { float: none !important; margin: 10px 0 0 !important; }
body.bobas-co #payment .boba-checkout-trust,
body.bobas-co #payment [class*="boba-trust"] { background: var(--bco-soft) !important; border: 0 !important; border-radius: 0 14px 0 14px !important; margin-top: 16px !important; box-shadow: none !important; }
body.bobas-co .woocommerce-SavedPaymentMethods-saveNew { font-size: .9rem; }

/* order summary */
body.bobas-co .bco-summary { background: var(--bco-card); border-radius: var(--bco-r-card); box-shadow: 0 18px 40px -28px rgba(20,50,35,.35); padding: 0; overflow: hidden; }
body.bobas-co .bco-summary__toggle {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 16px 20px; background: var(--bco-card); border: 0;
  color: var(--bco-ink); font-family: var(--bco-body); text-align: left; cursor: pointer;
}
body.bobas-co .bco-summary__t { flex: 1; font-family: var(--bco-head); font-size: 1.3rem; line-height: 1.1; }
body.bobas-co .bco-summary__t small { font-family: var(--bco-body); font-size: .86rem; color: var(--bco-muted); margin-left: 6px; }
body.bobas-co .bco-summary__total { font-family: var(--bco-head); font-size: 1.3rem; }
body.bobas-co .bco-summary__toggle svg { transition: transform .25s; color: var(--bco-plum); }
body.bobas-co .bco-summary.is-open .bco-summary__toggle svg { transform: rotate(180deg); }
body.bobas-co .bco-summary__h { display: none; }
body.bobas-co .bco-summary__body { display: none; padding: 0 20px 18px; }
body.bobas-co .bco-summary.is-open .bco-summary__body { display: block; }
@media (min-width: 992px) {
  body.bobas-co .bco-summary { padding: 22px 22px 18px; }
  body.bobas-co .bco-summary__toggle { display: none; }
  body.bobas-co .bco-summary__h { display: block; }
  body.bobas-co .bco-summary__body { display: block !important; padding: 0; }
}
@media (prefers-reduced-motion: reduce) { body.bobas-co .bco-summary__toggle svg { transition: none; } }

body.bobas-co table.woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 !important; border-collapse: collapse; width: 100%; background: none !important; }
body.bobas-co table.woocommerce-checkout-review-order-table thead { display: none; }
body.bobas-co table.woocommerce-checkout-review-order-table th,
body.bobas-co table.woocommerce-checkout-review-order-table td {
  border: 0 !important; padding: 7px 0 !important; background: none !important; vertical-align: middle; font-size: .96rem; color: var(--bco-text);
}
body.bobas-co table.woocommerce-checkout-review-order-table tbody td { padding: 10px 0 !important; border-bottom: 1px solid var(--bco-line) !important; }
body.bobas-co table.woocommerce-checkout-review-order-table td.product-total,
body.bobas-co table.woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 600; color: var(--bco-ink); white-space: nowrap; padding-left: 12px !important; }
body.bobas-co table.woocommerce-checkout-review-order-table tfoot th { font-weight: 600; text-align: left; }
body.bobas-co table.woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.bobas-co table.woocommerce-checkout-review-order-table tfoot tr:first-child td { padding-top: 14px !important; }
body.bobas-co table.woocommerce-checkout-review-order-table .cart-discount th,
body.bobas-co table.woocommerce-checkout-review-order-table .cart-discount td { color: var(--bco-plum); font-weight: 800; }
body.bobas-co table.woocommerce-checkout-review-order-table .order-total th,
body.bobas-co table.woocommerce-checkout-review-order-table .order-total td { border-top: 1px solid var(--bco-line) !important; padding-top: 14px !important; font-family: var(--bco-head); font-weight: 400; color: var(--bco-ink); }
body.bobas-co table.woocommerce-checkout-review-order-table .order-total th { font-size: 1.3rem; }
body.bobas-co table.woocommerce-checkout-review-order-table .order-total td { font-size: 1.6rem; }
body.bobas-co table.woocommerce-checkout-review-order-table .order-total strong { font-weight: 400; }
body.bobas-co table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { font-weight: 600; }
body.bobas-co table.woocommerce-checkout-review-order-table ul#shipping_method { margin: 0 !important; padding: 0 !important; list-style: none; }
body.bobas-co table.woocommerce-checkout-review-order-table ul#shipping_method li { margin: 0 !important; padding: 0 !important; text-indent: 0 !important; }
body.bobas-co table.woocommerce-checkout-review-order-table ul#shipping_method li label { font-weight: 600; display: inline; }
body.bobas-co .bco-ro { display: flex; align-items: center; gap: 12px; }
body.bobas-co .bco-ro__img { width: 56px !important; height: 56px !important; object-fit: cover; border-radius: 0 12px 0 12px; flex: none; margin: 0 !important; background: var(--bco-soft); }
body.bobas-co .bco-ro__n { font-weight: 700; color: var(--bco-ink); line-height: 1.3; font-size: .92rem; }
body.bobas-co .bco-ro__n small { display: block; font-weight: 400; color: var(--bco-muted); font-size: .8rem; margin-top: 2px; }
body.bobas-co .bco-summary__note { margin-top: 14px; }

/* the free-pot / iOS handoff boxes keep their own look but share the radius */
body.bobas-co .bpc-ios-pay { border-radius: var(--bco-r-card) !important; }

/* phones: give the cards a little more width */
@media (max-width: 600px) {
  body.bobas-co .bobas-woocommerce-wrapper { margin-left: -12px !important; margin-right: -12px !important; }
  body.bobas-co .bco-card, body.bobas-co #customer_details .col-1, body.bobas-co #payment { padding-left: 18px !important; padding-right: 18px !important; }
}
body.bobas-co .woocommerce-additional-fields .bco-reveal { margin: 0 0 14px; }
body.bobas-co .bco-via { display: block; font-weight: 400; font-size: .78rem; color: var(--bco-muted); }

/* ═══ THANK-YOU ═══════════════════════════════════════════════════════════ */
body.bobas-co--thanks .woocommerce-order { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
body.bobas-co--thanks .woocommerce-order > * { margin: 0 !important; }
body.bobas-co--thanks .woocommerce-thankyou-order-received {
  background: var(--bco-card) !important; border-radius: var(--bco-r-card); padding: 26px 22px !important;
  box-shadow: 0 18px 40px -28px rgba(20,50,35,.35); border: 0 !important; color: var(--bco-text) !important;
}
body.bobas-co--thanks .woocommerce-thankyou-order-received::before { display: none !important; }
body.bobas-co .bco-ty__h { display: block; font-family: var(--bco-head); color: var(--bco-ink); font-size: clamp(1.9rem, 1.4rem + 2vw, 2.6rem); line-height: 1.1; margin-bottom: 8px; }
body.bobas-co .bco-ty__p { display: block; font-size: 1rem; line-height: 1.55; }
body.bobas-co--thanks ul.woocommerce-order-overview {
  list-style: none; margin: 0 !important; padding: 16px 20px !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px 20px;
  background: var(--bco-soft); border-radius: 0 16px 0 16px;
}
body.bobas-co--thanks ul.woocommerce-order-overview li {
  float: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important;
  font-size: .78rem !important; text-transform: none !important; color: var(--bco-muted) !important; line-height: 1.4;
}
body.bobas-co--thanks ul.woocommerce-order-overview li strong { display: block; font-size: .98rem !important; color: var(--bco-ink); font-weight: 700; margin-top: 2px; word-break: break-word; }
body.bobas-co .bco-next ol { list-style: none; counter-reset: bco; margin: 4px 0 0; padding: 0; display: grid; gap: 14px; }
body.bobas-co .bco-next li { counter-increment: bco; display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; }
body.bobas-co .bco-next li::before {
  content: counter(bco); grid-row: span 2; width: 34px; height: 34px; display: grid; place-items: center;
  background: var(--bco-sage); color: var(--bco-ink); font-family: var(--bco-head); font-size: 1.1rem; border-radius: 0 12px 0 12px;
}
body.bobas-co .bco-next li strong { color: var(--bco-ink); font-size: 1rem; }
body.bobas-co .bco-next li span { color: var(--bco-muted); font-size: .9rem; }
body.bobas-co .bco-welcome { background: var(--bco-sage); border-radius: var(--bco-r-card); padding: 20px 22px; }
body.bobas-co .bco-welcome p { margin: 0; color: #3b4a3f; }
body.bobas-co--thanks .woocommerce-order-details,
body.bobas-co--thanks .woocommerce-customer-details { background: var(--bco-card); border-radius: var(--bco-r-card); padding: 22px 20px; box-shadow: 0 18px 40px -28px rgba(20,50,35,.35); }
body.bobas-co--thanks .woocommerce-order-details__title,
body.bobas-co--thanks .woocommerce-column__title,
body.bobas-co--thanks .woocommerce-customer-details h2 {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important; font-size: 1.35rem !important; font-weight: 400 !important; margin: 0 0 12px !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.bobas-co--thanks table.woocommerce-table--order-details { border: 0 !important; margin: 0 !important; width: 100%; border-collapse: collapse; }
body.bobas-co--thanks table.woocommerce-table--order-details thead { display: none; }
body.bobas-co--thanks table.woocommerce-table--order-details th,
body.bobas-co--thanks table.woocommerce-table--order-details td { border: 0 !important; padding: 8px 0 !important; background: none !important; font-size: .96rem; vertical-align: middle; }
body.bobas-co--thanks table.woocommerce-table--order-details tbody td { border-bottom: 1px solid var(--bco-line) !important; padding: 10px 0 !important; }
body.bobas-co--thanks table.woocommerce-table--order-details td:last-child { text-align: right; white-space: nowrap; padding-left: 12px !important; font-weight: 600; color: var(--bco-ink); }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot th { text-align: left; font-weight: 600; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot tr:last-child th,
body.bobas-co--thanks table.woocommerce-table--order-details tfoot tr:last-child td { font-family: var(--bco-head); font-weight: 400; font-size: 1.3rem; color: var(--bco-ink); border-top: 1px solid var(--bco-line) !important; padding-top: 12px !important; }
body.bobas-co--thanks .product-quantity { color: var(--bco-muted); font-weight: 600; }
body.bobas-co--thanks .woocommerce-customer-details address {
  border: 0 !important; padding: 0 !important; font-style: normal; line-height: 1.6; color: var(--bco-text);
}
body.bobas-co--thanks .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
body.bobas-co--thanks .woocommerce-columns--addresses .woocommerce-column { width: auto !important; float: none !important; max-width: none !important; padding: 0 !important; }
body.bobas-co--thanks .woocommerce-customer-details--email,
body.bobas-co--thanks .woocommerce-customer-details--phone { margin: 6px 0 0 !important; padding: 0 !important; }
body.bobas-co--thanks .woocommerce-customer-details--email::before,
body.bobas-co--thanks .woocommerce-customer-details--phone::before { display: none !important; }
body.bobas-co--thanks ul.woocommerce-order-overview::before,
body.bobas-co--thanks ul.woocommerce-order-overview::after { display: none !important; content: none !important; }
body.bobas-co--thanks table.woocommerce-table--order-details td.product-name { width: 100%; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot td small { display: block; font-weight: 400; font-size: .78rem; color: var(--bco-muted); }
body.bobas-co .bco-ro { width: 100%; } body.bobas-co .bco-ro__n { flex: 1; min-width: 0; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot td { white-space: normal !important; }
/* totals rows size themselves, so they never squeeze the pot column above */
body.bobas-co--thanks table.woocommerce-table--order-details tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot th,
body.bobas-co--thanks table.woocommerce-table--order-details tfoot td { display: block; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot td { text-align: right; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot tr:last-child { border-top: 1px solid var(--bco-line); margin-top: 4px; }
body.bobas-co--thanks table.woocommerce-table--order-details tfoot tr:last-child th,
body.bobas-co--thanks table.woocommerce-table--order-details tfoot tr:last-child td { border-top: 0 !important; }
body.bobas-co--thanks table.woocommerce-table--order-details tbody,
body.bobas-co--thanks table.woocommerce-table--order-details tfoot { display: block; }
body.bobas-co--thanks table.woocommerce-table--order-details tbody tr { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--bco-line); }
body.bobas-co--thanks table.woocommerce-table--order-details tbody td { display: block; border-bottom: 0 !important; }
body.bobas-co main article.page > h1 { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; }

/* empty basket */
body.bobas-co--cart .cart-empty.woocommerce-info {
  display: block !important; max-width: 560px; margin: 8px auto 18px !important; padding: 28px 24px !important; text-align: center;
  border: 0 !important; border-radius: var(--bco-r-card) !important; background: var(--bco-card) !important;
}
body.bobas-co--cart .cart-empty.woocommerce-info::before { display: none !important; }
body.bobas-co .bco-empty__h { display: block; font-family: var(--bco-head); color: var(--bco-ink); font-size: 1.8rem; line-height: 1.15; margin-bottom: 8px; }
body.bobas-co .bco-empty__p { display: block; color: var(--bco-muted); font-size: 1rem; }
body.bobas-co--cart .return-to-shop { text-align: center; margin: 0 auto 40px; max-width: 560px; }
body.bobas-co--cart .return-to-shop .button {
  display: inline-flex !important; min-height: 52px; padding: 12px 28px !important; background: var(--bco-plum) !important; border-color: var(--bco-plum) !important; color: #fff !important;
  border-radius: var(--bco-r-btn) !important; text-transform: none !important; font-weight: 800 !important; font-size: 1rem !important; letter-spacing: 0 !important;
}
body.bobas-co main article.page > header.entry-header { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; margin-bottom: 0 !important; }

/* ═══ ACCOUNT: order details reuse the thank-you styles ═══ */
body.bobas-co--account .woocommerce-order-details,
body.bobas-co--account .woocommerce-customer-details { background: var(--bco-card); border-radius: var(--bco-r-card); padding: 22px 20px; box-shadow: 0 18px 40px -28px rgba(20,50,35,.35); }
body.bobas-co--account .woocommerce-order-details__title,
body.bobas-co--account .woocommerce-column__title,
body.bobas-co--account .woocommerce-customer-details h2 {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important; font-size: 1.35rem !important; font-weight: 400 !important; margin: 0 0 12px !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.bobas-co--account table.woocommerce-table--order-details { border: 0 !important; margin: 0 !important; width: 100%; border-collapse: collapse; }
body.bobas-co--account table.woocommerce-table--order-details thead { display: none; }
body.bobas-co--account table.woocommerce-table--order-details th,
body.bobas-co--account table.woocommerce-table--order-details td { border: 0 !important; padding: 8px 0 !important; background: none !important; font-size: .96rem; vertical-align: middle; }
body.bobas-co--account table.woocommerce-table--order-details tbody td { border-bottom: 1px solid var(--bco-line) !important; padding: 10px 0 !important; }
body.bobas-co--account table.woocommerce-table--order-details td:last-child { text-align: right; white-space: nowrap; padding-left: 12px !important; font-weight: 600; color: var(--bco-ink); }
body.bobas-co--account table.woocommerce-table--order-details tfoot th { text-align: left; font-weight: 600; }
body.bobas-co--account table.woocommerce-table--order-details tfoot tr:last-child th,
body.bobas-co--account table.woocommerce-table--order-details tfoot tr:last-child td { font-family: var(--bco-head); font-weight: 400; font-size: 1.3rem; color: var(--bco-ink); border-top: 1px solid var(--bco-line) !important; padding-top: 12px !important; }
body.bobas-co--account .product-quantity { color: var(--bco-muted); font-weight: 600; }
body.bobas-co--account .woocommerce-customer-details address {
  border: 0 !important; padding: 0 !important; font-style: normal; line-height: 1.6; color: var(--bco-text);
}
body.bobas-co--account .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
body.bobas-co--account .woocommerce-columns--addresses .woocommerce-column { width: auto !important; float: none !important; max-width: none !important; padding: 0 !important; }
body.bobas-co--account .woocommerce-customer-details--email,
body.bobas-co--account .woocommerce-customer-details--phone { margin: 6px 0 0 !important; padding: 0 !important; }
body.bobas-co--account .woocommerce-customer-details--email::before,
body.bobas-co--account .woocommerce-customer-details--phone::before { display: none !important; }
body.bobas-co--account table.woocommerce-table--order-details td.product-name { width: 100%; }
body.bobas-co--account table.woocommerce-table--order-details tfoot td small { display: block; font-weight: 400; font-size: .78rem; color: var(--bco-muted); }
body.bobas-co--account table.woocommerce-table--order-details tfoot td { white-space: normal !important; }
/* totals rows size themselves, so they never squeeze the pot column above */
body.bobas-co--account table.woocommerce-table--order-details tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
body.bobas-co--account table.woocommerce-table--order-details tfoot th,
body.bobas-co--account table.woocommerce-table--order-details tfoot td { display: block; }
body.bobas-co--account table.woocommerce-table--order-details tfoot td { text-align: right; }
body.bobas-co--account table.woocommerce-table--order-details tfoot tr:last-child { border-top: 1px solid var(--bco-line); margin-top: 4px; }
body.bobas-co--account table.woocommerce-table--order-details tfoot tr:last-child th,
body.bobas-co--account table.woocommerce-table--order-details tfoot tr:last-child td { border-top: 0 !important; }
body.bobas-co--account table.woocommerce-table--order-details tbody,
body.bobas-co--account table.woocommerce-table--order-details tfoot { display: block; }
body.bobas-co--account table.woocommerce-table--order-details tbody tr { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--bco-line); }
body.bobas-co--account table.woocommerce-table--order-details tbody td { display: block; border-bottom: 0 !important; }

/* ═══ MY ACCOUNT ══════════════════════════════════════════════════════════ */
body.bobas-co--account .woocommerce { max-width: 1120px; margin: 0 auto; }
/* sign in / lost password */
body.bobas-co--account .woocommerce > h2,
body.bobas-co--account #customer_login h2 {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important; font-size: 1.6rem !important; font-weight: 400 !important; margin: 0 0 12px !important;
}
body.bobas-co--account form.woocommerce-form-login,
body.bobas-co--account form.woocommerce-form-register,
body.bobas-co--account form.woocommerce-ResetPassword,
body.bobas-co--account form.lost_reset_password {
  max-width: 520px; margin: 0 0 32px !important; padding: 26px 22px !important; border: 0 !important;
  background: var(--bco-card) !important; border-radius: var(--bco-r-card) !important; box-shadow: 0 18px 40px -28px rgba(20,50,35,.35) !important;
}
body.bobas-co--account .woocommerce form .form-row-first,
body.bobas-co--account .woocommerce form .form-row-last { width: 100% !important; float: none !important; }
body.bobas-co--account .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 8px; margin: 4px 0 14px !important; font-weight: 600; color: var(--bco-text); }
body.bobas-co--account .woocommerce-form-login__rememberme input { width: 18px; height: 18px; accent-color: var(--bco-plum); margin: 0 !important; }
body.bobas-co--account .woocommerce form .password-input { display: block; position: relative; }
body.bobas-co--account .woocommerce form .show-password-input { top: 50% !important; transform: translateY(-50%); right: 12px !important; }
body.bobas-co--account .woocommerce .button,
body.bobas-co--account .woocommerce button.button {
  display: inline-flex !important; align-items: center; justify-content: center; min-height: 50px; padding: 12px 28px !important; float: none !important;
  background: var(--bco-plum) !important; border: 2px solid var(--bco-plum) !important; color: #fff !important; border-radius: var(--bco-r-btn) !important;
  text-transform: none !important; letter-spacing: 0 !important; font-weight: 800 !important; font-size: 1rem !important; margin: 0 !important;
  transition: background-color .25s, border-color .25s, border-radius .25s !important;
}
body.bobas-co--account .woocommerce .button:hover { background: var(--bco-green) !important; border-color: var(--bco-green) !important; border-radius: 20px 0 20px 0 !important; }
body.bobas-co--account form.woocommerce-form-login .button { width: 100%; }
body.bobas-co--account .lost_password, body.bobas-co--account .bco-login-note { margin: 14px 0 0 !important; font-size: .92rem; color: var(--bco-muted); }
body.bobas-co--account .lost_password a, body.bobas-co--account .bco-login-note a { color: var(--bco-plum) !important; font-weight: 700; }

/* signed in: navigation becomes a row of pills, content a card */
body.bobas-co--account .woocommerce-MyAccount-navigation { float: none !important; width: auto !important; margin: 0 0 20px !important; }
body.bobas-co--account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
body.bobas-co--account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.bobas-co--account .woocommerce-MyAccount-navigation li a {
  display: inline-flex; align-items: center; min-height: 42px; padding: 8px 16px; border-radius: 0 14px 0 14px; background: #fff;
  color: var(--bco-ink) !important; font-weight: 700; font-size: .95rem; text-decoration: none !important; border: 0 !important;
}
body.bobas-co--account .woocommerce-MyAccount-navigation li.is-active a { background: var(--bco-plum); color: #fff !important; }
body.bobas-co--account .woocommerce-MyAccount-navigation li a:hover { background: var(--bco-sage); }
body.bobas-co--account .woocommerce-MyAccount-navigation li.is-active a:hover { background: var(--bco-plum-dk); }
body.bobas-co--account .woocommerce-MyAccount-navigation-link--downloads { display: none !important; } /* nothing downloadable is sold */
body.bobas-co--account .woocommerce-MyAccount-content {
  float: none !important; width: auto !important; background: var(--bco-card); border-radius: var(--bco-r-card); padding: 24px 22px;
  box-shadow: 0 18px 40px -28px rgba(20,50,35,.35); color: var(--bco-text);
}
body.bobas-co--account .woocommerce-MyAccount-content > p:first-child { font-size: 1.05rem; }
body.bobas-co--account .woocommerce-MyAccount-content h2,
body.bobas-co--account .woocommerce-MyAccount-content h3,
body.bobas-co--account .woocommerce-MyAccount-content legend {
  font-family: var(--bco-head) !important; color: var(--bco-ink) !important; font-weight: 400 !important; font-size: 1.4rem !important; text-transform: none !important;
}
/* orders list: a card per order on phones */
body.bobas-co--account table.woocommerce-orders-table { border: 0 !important; border-collapse: collapse; width: 100%; }
body.bobas-co--account table.woocommerce-orders-table th,
body.bobas-co--account table.woocommerce-orders-table td { border: 0 !important; border-bottom: 1px solid var(--bco-line) !important; padding: 12px 8px !important; text-align: left; background: none !important; }
body.bobas-co--account table.woocommerce-orders-table thead th { color: var(--bco-muted); font-size: .8rem; font-weight: 700; }
body.bobas-co--account table.woocommerce-orders-table .button { min-height: 40px; padding: 6px 16px !important; font-size: .9rem !important; }
@media (max-width: 767.98px) {
  body.bobas-co--account table.woocommerce-orders-table thead { display: none; }
  body.bobas-co--account table.woocommerce-orders-table tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--bco-line); }
  body.bobas-co--account table.woocommerce-orders-table td { display: flex; justify-content: space-between; gap: 12px; border: 0 !important; padding: 4px 0 !important; }
  body.bobas-co--account table.woocommerce-orders-table td::before { content: attr(data-title); font-weight: 700; color: var(--bco-muted); }
  body.bobas-co--account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { content: none; }
}
/* addresses */
body.bobas-co--account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
body.bobas-co--account .woocommerce-Addresses::before, body.bobas-co--account .woocommerce-Addresses::after { display: none !important; }
body.bobas-co--account .woocommerce-Address { width: auto !important; float: none !important; max-width: none !important; padding: 18px !important; background: var(--bco-soft); border-radius: 0 16px 0 16px; }
body.bobas-co--account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
body.bobas-co--account .woocommerce-Address-title h2 { font-size: 1.25rem !important; margin: 0 0 8px !important; }
body.bobas-co--account .woocommerce-Address address { font-style: normal; line-height: 1.6; }
body.bobas-co--account .woocommerce-Address-title a.edit { color: var(--bco-plum) !important; font-weight: 700; }
body.bobas-co--account fieldset { border: 0; padding: 0; margin: 20px 0 0; }
body.bobas-co--account .woocommerce-EditAccountForm .form-row,
body.bobas-co--account .woocommerce-address-fields .form-row { width: 100% !important; float: none !important; }
body.bobas-co--account .woocommerce-MyAccount-content mark { background: var(--bco-sage); color: var(--bco-ink); padding: 1px 6px; border-radius: 6px; }
@media (min-width: 992px) {
  body.bobas-co--account .woocommerce-MyAccount-content { padding: 32px 34px; }
}
body.bobas-co--account .bobas-woocommerce-wrapper { margin-left: 0 !important; margin-right: 0 !important; }
body.bobas-co--account .woocommerce .button { font-family: var(--bco-body) !important; }
/* account polish */
body.bobas-co--account .woocommerce-Address-title,
body.bobas-co--account header.woocommerce-Address-title { background: none !important; padding: 0 !important; margin: 0 0 6px !important; text-align: left !important; display: flex !important; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
body.bobas-co--account .woocommerce-Address-title h2,
body.bobas-co--account .woocommerce-Address-title h3 { text-align: left !important; margin: 0 !important; }
body.bobas-co--account .woocommerce-Address-title a.edit { font-size: .9rem; }
body.bobas-co .woocommerce-message::before,
body.bobas-co .woocommerce-info::before,
body.bobas-co .woocommerce-error::before { display: none !important; }
body.bobas-co .woocommerce-message,
body.bobas-co .woocommerce-info,
body.bobas-co .woocommerce-error { padding-left: 18px !important; }
body.bobas-co--account .woocommerce-MyAccount-content .woocommerce-info,
body.bobas-co--account .woocommerce-MyAccount-content .woocommerce-message {
  display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;
  background: var(--bco-soft) !important; box-shadow: none !important; border-left-color: var(--bco-sage) !important;
}
body.bobas-co--account .woocommerce-MyAccount-content .woocommerce-info .button,
body.bobas-co--account .woocommerce-MyAccount-content .woocommerce-message .button { order: 2; min-height: 42px !important; padding: 8px 18px !important; font-size: .92rem !important; }
body.bobas-co--account .woocommerce form .form-row em,
body.bobas-co--account .woocommerce form .form-row + span em,
body.bobas-co--account #account_display_name_description em { font-style: normal !important; font-size: .82rem; color: var(--bco-muted); }
@media (max-width: 575.98px) {
  body.bobas-co--account .woocommerce-MyAccount-navigation ul { gap: 6px; }
  body.bobas-co--account .woocommerce-MyAccount-navigation li a { min-height: 38px; padding: 6px 12px; font-size: .86rem; }
}
body.bobas-co--account .woocommerce .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title { justify-content: flex-start !important; }
body.bobas-co--account .woocommerce .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h2,
body.bobas-co--account .woocommerce .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title h3 { flex: 0 0 auto !important; width: auto !important; text-align: left !important; }
body.bobas-co--account .woocommerce .woocommerce-Addresses .woocommerce-Address .woocommerce-Address-title a.edit { margin-left: auto; float: none !important; }
@media (max-width: 767.98px) {
  body.bobas-co--account table.woocommerce-orders-table tbody th,
  body.bobas-co--account table.woocommerce-orders-table tbody td { display: flex !important; justify-content: flex-end; align-items: baseline; gap: 4px; border: 0 !important; padding: 4px 0 !important; text-align: right; }
  body.bobas-co--account table.woocommerce-orders-table tbody th::before,
  body.bobas-co--account table.woocommerce-orders-table tbody td::before { content: attr(data-title); margin-right: auto; font-weight: 700; color: var(--bco-muted); text-align: left; }
  body.bobas-co--account table.woocommerce-orders-table tbody th { font-size: 1.05rem; }
  body.bobas-co--account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { justify-content: flex-start; padding-top: 8px !important; }
}
/* an order inside the account card: no second card */
body.bobas-co--account .woocommerce-MyAccount-content .woocommerce-order-details,
body.bobas-co--account .woocommerce-MyAccount-content .woocommerce-customer-details { box-shadow: none !important; padding: 0 !important; margin-top: 18px !important; }

/* optional fields: hidden from the first draw unless filled in or asked for (no late jump) */
body.bobas-co #billing_address_2_field:not(.bco-shown):has(input:placeholder-shown),
body.bobas-co #shipping_address_2_field:not(.bco-shown):has(input:placeholder-shown),
body.bobas-co #order_comments_field:not(.bco-shown):has(textarea:placeholder-shown) { display: none !important; }
body.bobas-co .woocommerce-billing-fields:has(#billing_address_2_field.bco-shown, #billing_address_2_field input:not(:placeholder-shown)) #billing_address_1_field .bco-reveal,
body.bobas-co .woocommerce-shipping-fields:has(#shipping_address_2_field.bco-shown, #shipping_address_2_field input:not(:placeholder-shown)) #shipping_address_1_field .bco-reveal,
body.bobas-co .woocommerce-additional-fields:has(#order_comments_field.bco-shown, #order_comments_field textarea:not(:placeholder-shown)) .bco-reveal--note { display: none !important; }
body.bobas-co .bco-reveal[hidden] { display: none !important; }

/* Checkout first-draw stability:
   1. the discount-code form is hidden until "Enter it here" (WooCommerce's slideToggle sets
      an inline display, which wins over this) — it used to show for a moment, then vanish;
   2. phones: "Your order" sits first on screen but arrives last in the page, so hold its
      72px at the top until it has arrived. */
body.bobas-co .woocommerce-form-coupon-toggle { display: block !important; }
body.bobas-co form.checkout_coupon:not(.bco-open) { display: none !important; }
@media (max-width: 991.98px) {
  body.bobas-co form.checkout.woocommerce-checkout:not(:has(.bco-summary))::before {
    content: ""; display: block; height: 72px; order: -2;
  }
}
/* The membership box's layout rules are printed at the END of the page (bobas-pot-offer.php,
   wp_footer), so it drew unstyled for a moment and then shrank 18px. Same rules, in the head. */
body.bobas-co .bobas-join__label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; margin: 0; }
body.bobas-co .bobas-join__cb { flex: 0 0 auto; width: 22px; height: 22px; margin: 2px 0 0; accent-color: #8B3F5D; cursor: pointer; }
body.bobas-co .bobas-join__text { display: flex; flex-direction: column; gap: 3px; line-height: 1.4; }
