/* Purchase journey: the Diary's type, ink blue and salmon, with one visual hierarchy. */
.mgx-shop .mgx-cart-modern {
  --mgx-purchase-ink: #062d3d;
  --mgx-purchase-paper: #fffaf5;
  --mgx-purchase-salmon: #f7b39f;
}
.mgx-shop .mgx-cart-modern .mgx-cm-title { align-items: center; gap: 24px; margin-bottom: 32px; }
.mgx-shop .mgx-cart-modern .mgx-cm-title h1 > span { display: block; margin: 10px 0 0; font-size: 15px; color: #51626a; letter-spacing: 0; }
.mgx-shop .mgx-cart-modern .mgx-cm-crumbs { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 0; list-style: none; }
.mgx-shop .mgx-cart-modern .mgx-cm-crumbs li { display: flex; align-items: center; gap: 9px; font-size: 13px; line-height: 1.5; color: #51626a; }
.mgx-shop .mgx-cart-modern .mgx-cm-crumbs b { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border: 1px solid #b8c2c1; border-radius: 50%; font-weight: 400; }
.mgx-shop .mgx-cart-modern .mgx-cm-crumbs [aria-current="step"] { color: var(--mgx-purchase-ink); }
.mgx-shop .mgx-cart-modern .mgx-cm-crumbs [aria-current="step"] b { color: var(--mgx-purchase-paper); background: var(--mgx-purchase-ink); border-color: var(--mgx-purchase-ink); }
.mgx-shop .mgx-cart-modern .mgx-cm-line { grid-template-columns: 144px minmax(0,1fr) auto; gap: 24px; padding: 28px; }
.mgx-shop .mgx-cart-modern .mgx-cm-line .mgx-cm-thumb { width: 144px; height: 144px; border-radius: 12px; background: #eee7dc; }
.mgx-shop .mgx-cart-modern .mgx-cm-line .mgx-cm-thumb img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; }
.mgx-shop .mgx-cart-modern .mgx-cm-line-body h2 { font-size: clamp(19px,1.8vw,23px); line-height: 1.4; }
.mgx-shop .mgx-cart-modern .mgx-cm-price { font-size: 22px; font-variant-numeric: tabular-nums; }
.mgx-shop .mgx-cart-modern .mgx-cm-stepper button { color: #062d3d; background: #f8f1e9; cursor: pointer; }
.mgx-shop .mgx-cart-modern .mgx-cm-stepper button:hover { background: #f9d9cc; }
.mgx-shop .mgx-cart-modern .mgx-cm-stepper button:disabled { color: #66757a; opacity: .55; cursor: not-allowed; }
.mgx-shop .mgx-cart-modern .mgx-cm-drop { min-height: 40px; text-underline-offset: 5px; }
.mgx-shop .mgx-cart-modern .mgx-cm-lines-foot { background: #f8f2ea; }
.mgx-shop .mgx-cart-modern .mgx-cm-lines-foot .mgx-cart-auto-status { max-width: 30ch; font-size: 13px; }
.mgx-shop .mgx-cart-modern .mgx-cm-grid > .mgx-cm-suggests { grid-column: 1; grid-row: 2; margin-top: 8px; }
.mgx-shop .mgx-cart-modern .mgx-cm-side { grid-column: 2; grid-row: 1 / span 2; }

/* The total is the strongest point on the page; supporting controls stay legible. */
.mgx-shop .mgx-cart-modern .mgx-cm-card.mgx-cm-totals { padding: 30px; border: 1px solid #062d3d; border-top: 4px solid var(--mgx-purchase-salmon); border-radius: 16px; color: #fffaf5; background: var(--mgx-purchase-ink); }
.mgx-shop .mgx-cart-modern .mgx-cm-totals h2 { color: #fffaf5; font-size: 28px; font-weight: 400; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-row { align-items: baseline; gap: 12px; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-row > span { color: #dfebe9; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals :is(.mgx-cm-row b,.mgx-cm-row .amount,.mgx-cm-total > span,.mgx-cm-total b,.mgx-cm-total .amount) { color: #fffaf5; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-total { border-top: 1px solid #56747e; margin-top: 18px; padding-top: 24px; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-total small { display: block; margin-top: 5px; color: #dfebe9; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-total b { font-size: clamp(27px,2.7vw,36px); font-weight: 400; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-cta { border-color: var(--mgx-purchase-salmon); background: var(--mgx-purchase-salmon) !important; color: #062d3d !important; min-height: 56px; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-cta:hover { background: #ffcbba !important; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-pay { border-color: #56747e; padding-top: 14px; margin-top: 14px; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-pay span { color: #dfebe9; background: transparent; border: 0; padding: 0; font-size: 13px; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-coupon { border-color: #56747e; margin-top: 18px; padding-top: 12px; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals :is(.mgx-cm-coupon summary,.woocommerce-remove-coupon) { color: #fffaf5; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-coupon-field input { min-width: 0; background: #fffaf5; color: #062d3d; border: 1px solid #d2d9d7; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-coupon-field button { color: #062d3d; background: #f7b39f; border-color: #f7b39f; }
.mgx-shop .mgx-cart-modern .mgx-cm-totals :focus-visible { outline: 3px solid #fffaf5; outline-offset: 4px; }

/* Woo notices keep their semantics and undo links, without nested outlines. */
.mgx-shop .mgx-cart-modern .mgx-cm-notices { padding: 0; border: 0; background: transparent; box-shadow: none; }
.mgx-shop .mgx-cart-modern .mgx-cm-notices :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { padding: 18px 22px; border: 1px solid #c5d1ce; border-left: 4px solid #315b52; border-radius: 10px; background: #f2f7f2; color: #173e36; line-height: 1.65; }
.mgx-shop .mgx-cart-modern .mgx-cm-notices .woocommerce-error { background: #fff0e9; border-color: #e2b6a6; border-left-color: #a33927; color: #752719; }
.mgx-shop .mgx-cart-modern .mgx-cm-notices a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }

/* Product cards retain their footprint and show a distinct, coherent purchase area. */
.mgx-shop.mgx-catalogue-3190 .mgx-product { transition: border-color .2s ease, box-shadow .2s ease; }
.mgx-shop.mgx-catalogue-3190 .mgx-product:focus-within { border-color: #9d4433; box-shadow: 0 0 0 2px rgba(157,68,51,.12); }
.mgx-shop.mgx-catalogue-3190 .mgx-product__buy { background: #f5ece1; border-radius: 8px; padding: 10px; gap: 12px; }
.mgx-shop.mgx-catalogue-3190 .mgx-product__buy > strong { font-variant-numeric: tabular-nums; font-size: 24px; white-space: nowrap; }
.mgx-shop.mgx-catalogue-3190 .mgx-product__buy .mgx-add { font-size: 14px !important; padding-inline: 14px !important; }
.mgx-shop.mgx-catalogue-3190 .mgx-creation__formats a { transition: background .18s ease, border-color .18s ease; }
.mgx-shop.mgx-catalogue-3190 .mgx-creation__formats a.is-selected { box-shadow: inset 0 -2px #9d4433; }

/* Make Woo totals and tax detail readable without changing gateway/iframe layout. */
body.mgx-checkout-page .mgx-co .mgx-live-review-table tfoot .order-total { padding: 20px 16px !important; margin-top: 12px !important; border: 1px solid #d4c3b4 !important; border-radius: 10px; background: #f6eadb; }
body.mgx-checkout-page .mgx-co .mgx-live-review-table tfoot .order-total > :is(th,td) { background: transparent !important; }
body.mgx-checkout-page .mgx-co .mgx-live-review-table tfoot .order-total .includes_tax { display: block; margin-top: 8px; font-size: 13px !important; font-weight: 400 !important; line-height: 1.6 !important; color: #405962 !important; }
body.mgx-checkout-page .mgx-co .mgx-live-fields input.input-text:focus { border-color: #23596a !important; box-shadow: 0 0 0 3px rgba(35,89,106,.13) !important; outline: 0; }
@media (min-width: 1101px) {
  .mgx-shop .mgx-cart-modern .mgx-cm-side { position: sticky; top: 116px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .mgx-shop.mgx-catalogue-3190 .mgx-product:hover { border-color: #b9917d; box-shadow: 0 10px 24px rgba(6,45,61,.07); }
}
@media (max-width: 1100px) {
  .mgx-shop .mgx-cart-modern .mgx-cm-line { grid-template-columns: 120px minmax(0,1fr) auto; }
  .mgx-shop .mgx-cart-modern .mgx-cm-line .mgx-cm-thumb { width: 120px; height: 120px; }
}
@media (max-width: 1040px) {
  /* On phones the checkout action precedes optional product suggestions. */
  .mgx-shop .mgx-cart-modern .mgx-cm-grid { grid-template-columns: minmax(0,1fr); }
  .mgx-shop .mgx-cart-modern .mgx-cm-main { grid-column: 1; grid-row: 1; }
  .mgx-shop .mgx-cart-modern .mgx-cm-side { grid-column: 1; grid-row: 2; position: static; }
  .mgx-shop .mgx-cart-modern .mgx-cm-grid > .mgx-cm-suggests { grid-column: 1; grid-row: 3; margin-top: 12px; }
}
@media (max-width: 760px) {
  .mgx-shop .mgx-cart-modern .mgx-cm-title { align-items: start; gap: 22px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-crumbs { width: 100%; gap: 10px; justify-content: space-between; }
  .mgx-shop .mgx-cart-modern .mgx-cm-crumbs li { gap: 5px; font-size: 11px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-crumbs b { width: 24px; height: 24px; flex-basis: 24px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-line { grid-template-columns: 100px minmax(0,1fr); gap: 14px 18px; padding: 20px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-line .mgx-cm-thumb { width: 100px; height: 120px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-line-right { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 14px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-line-body h2 { font-size: 19px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-price { font-size: 21px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-card.mgx-cm-totals { padding: 24px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-totals .mgx-cm-total b { font-size: 32px; }
  .mgx-shop.mgx-catalogue-3190 .mgx-product__buy { padding: 10px; }
}
@media (max-width: 380px) {
  .mgx-shop .mgx-cart-modern .mgx-cm-crumbs { gap: 12px; }
  .mgx-shop .mgx-cart-modern .mgx-cm-crumbs li { flex-direction: column; text-align: center; }
  .mgx-shop .mgx-cart-modern .mgx-cm-line-right .mgx-cm-drop { flex-basis: 100%; justify-content: flex-end; }
}
@media (prefers-reduced-motion: reduce) {
  .mgx-shop.mgx-catalogue-3190 :is(.mgx-product,.mgx-creation__formats a) { transition: none; }
}
