:root {
  --ml-ink: #121316;
  --ml-paper: #f8f6f0;
  --ml-white: #fff;
  --ml-blue: #1557ff;
  --ml-acid: #c9ff00;
  --ml-muted: #6d6e73;
  --ml-line: #dedede;
}

body.single-product .woocommerce-message { display: none!important; }

body.ml-cart-open { overflow: hidden; }
.ml-cart-overlay { position: fixed; z-index: 99990; inset: 0; background: rgba(18,19,22,.48); opacity: 0; transition: opacity .25s ease; backdrop-filter: blur(2px); }
.ml-cart-open .ml-cart-overlay { opacity: 1; }
.ml-cart-drawer { position: fixed; z-index: 99991; top: 0; right: 0; width: min(460px, 100%); height: 100dvh; display: flex; flex-direction: column; color: var(--ml-ink); background: var(--ml-white); box-shadow: -20px 0 60px rgba(18,19,22,.2); transform: translateX(102%); transition: transform .3s cubic-bezier(.22,.8,.24,1); }
.ml-cart-open .ml-cart-drawer { transform: translateX(0); }
.ml-cart-drawer__header { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; border-bottom: 1px solid var(--ml-line); }
.ml-cart-drawer__header span { color: var(--ml-blue); font-size: 10px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.ml-cart-drawer__header h2 { display: flex; align-items: center; gap: 10px; margin: 3px 0 0; font: 800 30px/1.1 system-ui, sans-serif; letter-spacing: -.04em; }
.ml-cart-drawer__header h2 b { min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: var(--ml-ink); background: var(--ml-acid); font-size: 11px; }
.ml-cart-drawer__close { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--ml-line); border-radius: 50%; color: var(--ml-ink); background: var(--ml-white); font-size: 30px; line-height: 1; cursor: pointer; }
.ml-cart-drawer__body { flex: 1; overflow: auto; transition: opacity .15s ease; }
.ml-cart-drawer.is-loading .ml-cart-drawer__body { opacity: .5; pointer-events: none; }
.ml-cart-shipping { padding: 18px 26px; background: #f2f5ff; }
.ml-cart-shipping p { margin: 0 0 10px; color: #34363d; font-size: 13px; }
.ml-cart-shipping p strong { color: var(--ml-blue); }
.ml-cart-shipping > div { height: 7px; overflow: hidden; border-radius: 99px; background: #d9dff2; }
.ml-cart-shipping i { display: block; height: 100%; border-radius: inherit; background: var(--ml-blue); }
.ml-cart-items { padding: 8px 26px 0; }
.ml-cart-item { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--ml-line); }
.ml-cart-item__image { aspect-ratio: .84; overflow: hidden; border-radius: 12px; background: #eff1f6; }
.ml-cart-item__image img { width: 100%; height: 100%; object-fit: cover; }
.ml-cart-item__info { min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.ml-cart-item__top { display: flex; justify-content: space-between; gap: 12px; }
.ml-cart-item__top a { font-size: 14px; font-weight: 800; }
.ml-cart-item__top strong { flex: none; font-size: 14px; }
.ml-cart-item__top dl { margin: 4px 0 0; color: var(--ml-muted); font-size: 11px; }
.ml-cart-item__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.ml-cart-quantity { display: grid; grid-template-columns: 34px 32px 34px; height: 36px; overflow: hidden; border: 1px solid var(--ml-line); border-radius: 9px; }
.ml-cart-quantity button { padding: 0; border: 0; color: var(--ml-ink); background: transparent; font-size: 18px; cursor: pointer; }
.ml-cart-quantity span { display: grid; place-items: center; font-size: 12px; font-weight: 750; }
.ml-cart-remove { padding: 0; border: 0; border-bottom: 1px solid currentColor; color: var(--ml-muted); background: transparent; font-size: 11px; cursor: pointer; }
.ml-cart-drawer__footer { padding: 22px 26px 26px; }
.ml-cart-subtotal { display: flex; justify-content: space-between; gap: 20px; font-size: 17px; font-weight: 850; }
.ml-cart-drawer__footer > p { margin: 6px 0 18px; color: var(--ml-muted); font-size: 11px; }
.ml-cart-primary { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border-radius: 10px; color: var(--ml-white)!important; background: var(--ml-ink); font-size: 14px; font-weight: 850; text-decoration: none!important; }
.ml-cart-primary:hover { color: var(--ml-white); background: var(--ml-blue); }
.ml-cart-primary span { font-size: 18px; }
.ml-cart-secondary { display: block; margin-top: 12px; color: var(--ml-ink); font-size: 12px; font-weight: 750; text-align: center; text-decoration: underline; }
.ml-cart-trust { display: flex; justify-content: center; gap: 16px; margin-top: 20px; color: var(--ml-muted); font-size: 10px; }
.ml-cart-empty { display: flex; min-height: 100%; align-items: center; justify-content: center; flex-direction: column; padding: 48px 32px; text-align: center; }
.ml-cart-empty__mark { width: 92px; height: 82px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 53% 47% 60% 40%; color: var(--ml-white); background: var(--ml-blue); box-shadow: inset 0 -18px 0 var(--ml-acid); font-size: 42px; font-weight: 950; transform: rotate(-5deg); }
.ml-cart-empty h3 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.ml-cart-empty p { margin: 10px 0 26px; color: var(--ml-muted); }
.ml-cart-empty .ml-cart-primary { width: 100%; }

/* Distraction-free, one-page checkout */
body.molink-shopify-checkout { margin: 0!important; color: #1a1a1a; background: #fff; font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body.molink-shopify-checkout::before, body.molink-shopify-checkout::after { display: none!important; }
body.molink-shopify-checkout.admin-bar { margin-top: 0!important; }
.molink-shopify-checkout #wpadminbar { display: none; }
.molink-shopify-checkout a { color: inherit; }
.ml-checkout-shell { width: min(calc(100% - 40px), 1160px); margin-inline: auto; }
.ml-checkout-header { border-bottom: 1px solid #e4e4e4; background: #fff; }
.ml-checkout-header__inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.ml-checkout-header img { display: block; width: 190px; height: auto; }
.ml-checkout-header__inner > div { display: flex; align-items: center; gap: 8px; color: #555; font-size: 12px; }
.ml-lock { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--ml-blue); background: #eef2ff; font-size: 18px; }
.ml-checkout-page { padding: 32px 0 68px; }
.ml-checkout-steps { display: flex; align-items: center; gap: 9px; margin-bottom: 28px; color: #737373; font-size: 12px; }
.ml-checkout-steps a, .ml-checkout-steps strong { color: var(--ml-blue); font-weight: 650; }
.ml-checkout-page > .woocommerce { width: 100%; }
.ml-checkout-page .woocommerce-notices-wrapper { margin-bottom: 18px; }
.ml-checkout-page .woocommerce-message, .ml-checkout-page .woocommerce-error, .ml-checkout-page .woocommerce-info { padding: 14px 16px; border: 1px solid #d8e1ff; border-radius: 9px; color: #29345c; background: #f5f7ff; font-size: 13px; }
.ml-checkout-page .woocommerce-form-coupon-toggle, .ml-checkout-page form.checkout_coupon { display: none!important; }
.ml-checkout-page form.checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: clamp(42px, 6vw, 82px); margin: 0; }
.ml-checkout-page form.checkout::before, .ml-checkout-page form.checkout::after { display: none!important; content: none!important; }
.ml-checkout-main, .ml-checkout-summary { min-width: 0; }
.ml-checkout-main .col2-set, .ml-checkout-main .col-1, .ml-checkout-main .col-2 { float: none!important; width: 100%!important; margin: 0!important; }
.ml-checkout-main .col-2 { margin-top: 28px!important; }
.ml-checkout-main h3 { margin: 0 0 16px; font-size: 20px; letter-spacing: -.02em; }
.ml-checkout-section-title { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; margin: 12px 0 4px; }
.ml-checkout-section-title span { width: 25px; height: 3px; border-radius: 3px; background: var(--ml-blue); }
.ml-checkout-section-title h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; }
.ml-delivery-title { margin-top: 28px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ml-checkout-main .form-row { float: none!important; width: 100%!important; margin: 0!important; padding: 0!important; }
.ml-checkout-main #billing_email_field, .ml-checkout-main #billing_company_field, .ml-checkout-main #billing_country_field, .ml-checkout-main #billing_address_1_field, .ml-checkout-main #billing_address_2_field, .ml-checkout-main #billing_postcode_field, .ml-checkout-main #billing_city_field, .ml-checkout-main #billing_state_field, .ml-checkout-main #billing_phone_field { grid-column: 1 / -1; }
.ml-checkout-main label { display: block; margin: 0 0 6px; color: #4f4f4f; font-size: 12px; font-weight: 600; }
.ml-checkout-main .optional { color: #898989; font-weight: 400; }
.ml-checkout-main input.input-text, .ml-checkout-main textarea, .ml-checkout-main select, .ml-checkout-main .select2-selection { width: 100%; min-height: 52px; margin: 0; padding: 13px 14px; border: 1px solid #c9c9c9!important; border-radius: 8px!important; color: #1a1a1a; background: #fff!important; box-shadow: none!important; font-size: 14px; }
.ml-checkout-main input:focus, .ml-checkout-main textarea:focus, .ml-checkout-main select:focus { border-color: var(--ml-blue)!important; outline: 2px solid rgba(21,87,255,.15); }
.ml-checkout-main .select2-container { width: 100%!important; }
.ml-checkout-main .select2-selection__rendered { line-height: 24px!important; padding: 0!important; }
.ml-checkout-main .select2-selection__arrow { top: 13px!important; right: 8px!important; }
.ml-checkout-main .woocommerce-additional-fields { margin-top: 26px; }
.ml-checkout-main #payment { margin-top: 16px; border: 1px solid #d9d9d9; border-radius: 10px; background: #fff; }
.ml-checkout-main #payment .woocommerce-info::before { display: none!important; content: none!important; }
.ml-checkout-main #payment ul.payment_methods { margin: 0; padding: 0; border: 0; }
.ml-checkout-main #payment ul.payment_methods li { margin: 0; padding: 16px; border-bottom: 1px solid #e4e4e4; }
.ml-checkout-main #payment div.payment_box { margin: 12px -16px -16px; padding: 16px; background: #f6f6f6; }
.ml-checkout-main #payment .place-order { padding: 18px; }
.ml-checkout-main #place_order { width: 100%; min-height: 58px; margin: 0; border: 0; border-radius: 9px; color: #fff; background: var(--ml-blue); font-size: 16px; font-weight: 750; box-shadow: 0 10px 25px rgba(21,87,255,.22); }
.ml-checkout-main #place_order:hover { background: #0b3ccc; }
.ml-checkout-summary { align-self: start; position: sticky; top: 28px; padding: 28px; border: 1px solid #e1e1e1; border-radius: 14px; background: #f7f7f7; }
.ml-checkout-summary > h3 { float: none!important; width: 100%!important; margin: 0 0 22px; font-size: 18px; }
.ml-checkout-summary #order_review { float: none!important; width: 100%!important; }
.ml-checkout-summary table { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; }
.ml-checkout-summary table th, .ml-checkout-summary table td { padding: 13px 0; border: 0; border-bottom: 1px solid #dedede; background: transparent; font-size: 13px; }
.ml-checkout-summary table th { color: #555; font-weight: 600; text-align: left; }
.ml-checkout-summary table td { text-align: right; }
.ml-checkout-summary table thead { display: none; }
.ml-checkout-summary table tbody .product-name { position: relative; color: #2d2d2d; font-weight: 650; text-align: left; }
.ml-checkout-product { display: flex; align-items: center; gap: 12px; }
.ml-checkout-product img { width: 58px; height: 68px; flex: none; object-fit: cover; border: 1px solid #dedede; border-radius: 9px; background: #eef0f5; }
.ml-checkout-summary .product-quantity { position: absolute; top: 4px; left: 48px; display: grid; min-width: 21px; height: 21px; padding: 0 5px; place-items: center; border-radius: 999px; color: #fff; background: #6a6a6a; font-size: 10px; line-height: 1; }
.ml-checkout-summary table .order-total th, .ml-checkout-summary table .order-total td { padding-top: 18px; border-bottom: 0; color: #111; font-size: 16px; }
.ml-checkout-summary table .order-total strong { font-size: 20px; }
.ml-checkout-coupon { margin-bottom: 20px; }
.ml-checkout-coupon > div { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.ml-checkout-coupon input { min-width: 0; height: 48px; padding: 0 13px; border: 1px solid #c9c9c9; border-radius: 8px; background: #fff; }
.ml-checkout-coupon button { padding: 0 17px; border: 0; border-radius: 8px; color: #fff; background: #5a5a5a; font-size: 13px; font-weight: 700; cursor: pointer; }
.ml-checkout-coupon button:disabled { opacity: .55; }
.ml-checkout-coupon > p { margin: 8px 0 0; font-size: 11px; }
.ml-checkout-coupon .woocommerce-error, .ml-checkout-coupon .woocommerce-message { margin: 0; padding: 8px; }
.ml-checkout-summary-toggle { display: none; }
.ml-checkout-legal { padding: 24px 0; border-top: 1px solid #e4e4e4; color: #777; background: #fff; font-size: 11px; }
.ml-checkout-legal > div { display: flex; justify-content: space-between; gap: 30px; }
.ml-checkout-legal nav { display: flex; gap: 20px; }

@media (max-width: 780px) {
  .ml-cart-drawer { width: min(420px, 100%); }
  .ml-checkout-shell { width: min(calc(100% - 28px), 1160px); }
  .ml-checkout-header__inner { min-height: 76px; }
  .ml-checkout-header img { width: 160px; }
  .ml-checkout-header__inner > div strong { display: none; }
  .ml-checkout-page { padding-top: 18px; }
  .ml-checkout-steps { margin-bottom: 18px; }
  .ml-checkout-summary-toggle { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 22px; padding: 0 16px; border: 1px solid #d9d9d9; border-radius: 9px; color: #303030; background: #f7f7f7; font-size: 13px; }
  .ml-checkout-summary-toggle span { color: var(--ml-blue); font-weight: 650; }
  .ml-checkout-page form.checkout { display: flex; flex-direction: column; gap: 28px; }
  .ml-checkout-summary { order: -1; display: none; position: static; padding: 20px; }
  .ml-checkout-summary.is-open { display: block; }
  .ml-checkout-main { order: 1; }
  .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
  .ml-checkout-main .form-row { grid-column: 1 / -1!important; }
  .ml-checkout-legal > div { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ml-checkout-legal nav { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .ml-cart-drawer__header { min-height: 88px; padding: 18px 20px; }
  .ml-cart-items, .ml-cart-shipping { padding-inline: 20px; }
  .ml-cart-item { grid-template-columns: 82px 1fr; gap: 13px; }
  .ml-cart-drawer__footer { padding: 20px; }
  .ml-cart-trust { align-items: center; flex-direction: column; gap: 5px; }
}
