.mi-planner {
  --mi-ink: #362744; --mi-purple: #65477d; --mi-line: #e6dfed;
  --mi-bg: #fcfbfe; --mi-selected-bg: #f4bdd2; --mi-selected-text: #752443; --mi-success: #267343; --mi-error: #b32b3a;
  --mi-heading: 27px; --mi-padding: 28px; --mi-radius: 18px; --mi-blur: 48px; --mi-shadow-opacity: .075;
  position: relative; clear: both; width: 100%; margin: 22px 0; padding: var(--mi-padding);
  box-sizing: border-box; background: var(--mi-bg); color: var(--mi-ink);
  border: 1px solid #eeeaf3; border-radius: var(--mi-radius);
  box-shadow: 0 14px var(--mi-blur) rgba(61, 38, 83, var(--mi-shadow-opacity));
  font-family: inherit; font-size: 15px; line-height: 1.55; text-align: left;
}
.mi-planner *, .mi-planner *::before, .mi-planner *::after { box-sizing: border-box; }
.mi-planner [hidden] { display: none !important; }
.mi-planner .mi-eyebrow { display: block; margin-bottom: 7px; font-size: 10px; font-weight: 700; letter-spacing: .13em; color: #887494; }
.mi-planner .mi-planner-heading h3 { margin: 0; color: var(--mi-ink); font-size: var(--mi-heading); line-height: 1.2; font-weight: 600; letter-spacing: -.6px; }
.mi-planner p { margin: 12px 0; font-size: 14px; line-height: 1.55; }
.mi-planner .mi-intro { color: #756b7e; margin: 10px 0 21px; }
.mi-planner button { appearance: none; cursor: pointer; font: inherit; font-weight: 600; text-transform: none; letter-spacing: 0; border: 1px solid var(--mi-line); border-radius: 9px; padding: 9px 14px; margin: 0; min-height: 0; min-width: 0; width: auto; height: auto; background: white; color: var(--mi-ink); box-shadow: none; line-height: 1.4; transition: background .15s, border-color .15s; }
.mi-planner button:hover { background: #f2edf7; border-color: #b9a6c9; color: var(--mi-ink); }
.mi-planner button:focus-visible, .mi-planner input:focus-visible { outline: 2px solid var(--mi-purple); outline-offset: 3px; }
.mi-planner button:disabled { cursor: not-allowed; opacity: .5; }
.mi-planner .mi-methods { display: flex; gap: 5px; padding: 4px; background: #f0ecf5; border-radius: 11px; margin-bottom: 19px; }
.mi-planner .mi-methods button { flex: 1; border-color: transparent; background: transparent; }
.mi-planner .mi-methods button[aria-pressed="true"] { background: white; color: var(--mi-purple); border-color: #e6dfed; box-shadow: 0 2px 5px #36274408; }
.mi-planner .mi-label { display: block; font-size: 13px; font-weight: 600; margin: 0 0 7px; }
.mi-planner .mi-postcode-row { display: flex; gap: 9px; }
.mi-planner .mi-postcode { flex: 1; width: 100%; min-width: 0; height: 43px; padding: 9px 12px; margin: 0; font: inherit; font-size: 16px; background: #fff; color: var(--mi-ink); border: 1px solid var(--mi-line); border-radius: 9px; box-shadow: none; }
.mi-planner .mi-check { background: var(--mi-purple); border-color: var(--mi-purple); color: white; padding: 9px 20px; }
.mi-planner .mi-check:hover { background: #513566; color: white; }
.mi-planner .mi-location { color: var(--mi-success); font-size: 13px; }
.mi-planner .mi-date-area { position: relative; margin-top: 19px; }
.mi-planner .mi-date-trigger { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; font-size: 15px; font-weight: 400; text-align: left; }
.mi-planner .mi-date-trigger svg { flex-shrink: 0; color: var(--mi-purple); }
.mi-planner .mi-datepicker { position: absolute; z-index: 100; top: calc(100% + 8px); left: 0; width: 302px; max-width: 100%; background: #fff; padding: 14px; border: 1px solid var(--mi-line); border-radius: 13px; box-shadow: 0 18px 55px #36274420; }
.mi-planner .mi-month-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.mi-planner .mi-month-title { font-size: 14px; font-weight: 600; }
.mi-planner .mi-month-nav button { border: 0; font-size: 23px; padding: 0; width: 30px; height: 30px; }
.mi-planner .mi-weekdays, .mi-planner .mi-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; text-align: center; }
.mi-planner .mi-weekdays { color: #8a8092; font-size: 10px; font-weight: 600; margin-bottom: 7px; }
.mi-planner .mi-days button { width: 100%; height: 33px; padding: 0; border: 0; border-radius: 7px; font-size: 12px; font-weight: 500; }
.mi-planner .mi-days button:disabled { background: #f6f5f7; color: #b2abb8; opacity: 1; text-decoration: line-through; }
.mi-planner .mi-days button[aria-pressed="true"]:not(:disabled) { background: var(--mi-selected-bg) !important; color: var(--mi-selected-text) !important; font-weight: 800; box-shadow: inset 0 0 0 1px #75244322; }
.mi-planner .mi-days button[aria-current="date"] { box-shadow: inset 0 0 0 1px var(--mi-line); }
.mi-planner .mi-calendar-key { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 9px; border-top: 1px solid #f1edf5; font-size: 9px; color: #8a8092; }
.mi-planner .mi-close-calendar { font-size: 11px; border: 0; padding: 4px; color: var(--mi-purple); }
.mi-planner .mi-tomorrow { color: #756b7e; font-size: 13px; }
.mi-planner .mi-tomorrow strong, .mi-planner .mi-error { color: var(--mi-error); }
.mi-planner .mi-wedding { color: #756b7e; font-size: 12px; }
.mi-planner .mi-price { margin-top: 19px; border-top: 1px solid var(--mi-line); padding-top: 13px; }
.mi-planner .mi-price > div { display: flex; justify-content: space-between; gap: 12px; margin: 5px 0; font-size: 13px; }
.mi-planner .mi-price .mi-price-total-row { margin-top: 11px; font-size: 15px; }
.mi-planner .mi-feedback { font-size: 13px; color: var(--mi-purple); }
.mi-planner .mi-feedback:empty { display: none; }
.mi-planner .mi-help, .mi-planner .mi-footnote { color: #85798d; font-size: 11px; line-height: 1.6; margin: 12px 0 0; }
.mi-planner .mi-footnote { padding-top: 12px; border-top: 1px solid #eeeaf3; }
/* Scoped contrast overrides for Elementor/theme button styles. */
.mi-planner.mi-planner .mi-methods button,
.mi-planner.mi-planner .mi-methods button:hover,
.mi-planner.mi-planner .mi-methods button:focus,
.mi-planner.mi-planner .mi-methods button[aria-pressed="true"] {
  color: var(--mi-ink) !important; -webkit-text-fill-color: var(--mi-ink); font-weight: 700 !important;
}
.mi-planner.mi-planner .mi-methods button { background: transparent !important; }
.mi-planner.mi-planner .mi-methods button[aria-pressed="true"] { background: #fff !important; border-color: #cbbcd7 !important; }
.mi-planner.mi-planner .mi-date-trigger { color: var(--mi-ink) !important; background: #fff !important; }
.mi-planner.mi-planner .mi-date-trigger.mi-has-date { background: var(--mi-selected-bg) !important; color: var(--mi-selected-text) !important; border-color: var(--mi-selected-text); font-weight: 700 !important; }
.mi-planner.mi-planner .mi-date-trigger.mi-has-date svg { color: var(--mi-selected-text); }
.mi-planner.mi-planner .mi-location.mi-success { color: var(--mi-success) !important; font-weight: 600; }
.mi-planner.mi-planner .mi-location.mi-error, .mi-planner.mi-planner .mi-tomorrow strong { color: var(--mi-error) !important; }
.mi-planner.mi-planner .mi-days button:not(:disabled) { color: var(--mi-ink) !important; background: #fff; }
.mi-planner.mi-planner .mi-days button:disabled { color: #a49ba9 !important; background: #f6f5f7 !important; }
.mi-planner.mi-planner .mi-month-nav button { color: var(--mi-ink) !important; }
.mi-planner.mi-planner .mi-check { color: #fff !important; background: var(--mi-purple) !important; }
.mi-planner.mi-planner .mi-date-text { color: inherit !important; -webkit-text-fill-color: currentColor; }
.mi-planner.mi-planner .mi-days button[aria-pressed="true"]:not(:disabled) { color: var(--mi-selected-text) !important; background: var(--mi-selected-bg) !important; font-weight: 800 !important; }
.mi-planner .mi-methods button { overflow-wrap: anywhere; white-space: normal; }
.mi-planner .mi-date-text { min-width: 0; overflow-wrap: anywhere; }
.mi-planner .mi-date-trigger { min-height: 44px; }
.mi-planner .mi-postcode { min-height: 44px; }
.mi-planner .mi-planner-heading h3 { overflow-wrap: anywhere; }
@media (max-width: 1024px) {
  .mi-planner { padding: min(var(--mi-padding), 24px); }
  .mi-planner .mi-methods button, .mi-planner .mi-check { min-height: 44px; }
  .mi-planner .mi-days button { height: 36px; }
  .mi-planner .mi-month-nav button { width: 36px; height: 36px; }
}
@media (max-width: 540px) {
  .mi-planner { padding: min(var(--mi-padding), 20px) min(var(--mi-padding), 16px); border-radius: min(var(--mi-radius), 14px); }
  .mi-planner .mi-planner-heading h3 { font-size: min(var(--mi-heading), 24px); }
  .mi-planner .mi-datepicker { width: 302px; padding: 10px; }
  .mi-planner .mi-calendar-key { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .mi-planner button { transition: none; } }

/* Calendar isolation: prevent theme button padding and sizing from spilling
   into adjacent dates. The ID branch gives both planner placements equal
   specificity against Elementor's generated theme styles. */
:is(#mi-calendar, .mi-planner) .mi-datepicker {
  box-sizing: border-box !important;
  width: 310px !important;
  max-width: 100% !important;
  padding: 12px !important;
  color: var(--mi-ink, #362744) !important;
  background: #fff !important;
  isolation: isolate;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days,
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-weekdays {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker button {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-indent: 0 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  transform: none !important;
  float: none !important;
  flex: none !important;
  color: var(--mi-ink, #362744) !important;
  -webkit-text-fill-color: currentColor !important;
  background: #fff !important;
  background-image: none !important;
  font-family: inherit !important;
  font-style: normal !important;
  line-height: 1 !important;
  box-shadow: none !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker button::before,
:is(#mi-calendar, .mi-planner) .mi-datepicker button::after {
  content: none !important;
  display: none !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days button {
  width: 100% !important;
  height: var(--mi-day-height, 36px) !important;
  min-height: var(--mi-day-height, 36px) !important;
  border-radius: 7px !important;
  font-size: var(--mi-date-size, 14px) !important;
  font-weight: 600 !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days button:disabled {
  color: #a49ba9 !important;
  background: #f6f5f7 !important;
  opacity: 1 !important;
  text-decoration: line-through !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days button:not(:disabled):hover {
  background: #f1ecf6 !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days button[aria-pressed="true"]:not(:disabled) {
  color: var(--mi-selected-text, #752443) !important;
  background: var(--mi-selected-bg, #f4bdd2) !important;
  font-weight: 800 !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-month-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-month-nav button {
  width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 7px !important;
  font-size: 24px !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-month-title {
  font-size: 14px !important;
  color: var(--mi-ink, #362744) !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-weekdays span {
  min-width: 0 !important;
  padding: 0 !important;
  color: #756b7e !important;
  font-size: 11px !important;
  text-align: center !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-calendar-key {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  font-size: var(--mi-calendar-help-size, 12px) !important;
  line-height: 1.4 !important;
  color: #6e6277 !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-calendar-key > span {
  flex: 1 1 130px !important;
  min-width: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-close-calendar {
  width: auto !important;
  height: auto !important;
  min-height: 36px !important;
  padding: 8px 12px !important;
  border: 1px solid #ded5e7 !important;
  border-radius: 7px !important;
  background: #f1ecf6 !important;
  color: #4d2d73 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-close-calendar:hover,
:is(#mi-calendar, .mi-planner) .mi-datepicker .mi-month-nav button:not(:disabled):hover {
  background: #e7dfee !important;
}
:is(#mi-calendar, .mi-planner) .mi-datepicker button:focus-visible {
  outline: 2px solid var(--mi-purple, #65477d) !important;
  outline-offset: 1px !important;
}
@media (max-width: 380px) {
  :is(#mi-calendar, .mi-planner) .mi-datepicker { padding: 8px !important; }
  :is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days,
  :is(#mi-calendar, .mi-planner) .mi-datepicker .mi-weekdays { gap: 2px !important; }
  :is(#mi-calendar, .mi-planner) .mi-datepicker .mi-days button { font-size: min(var(--mi-date-size, 14px), 16px) !important; }
}

/* Product page: costs remain in markup for the WAPF combined-price display. */
.mi-planner[data-mode="product"] .mi-price { display:none !important; }


/* v3.3.1: Checkout order summary. Scoped to the classic/Elementor checkout. */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .mi-checkout-product-thumb {
  display: block; float: left; width: 64px; height: 64px; margin: 0 12px 8px 0;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .mi-checkout-product-image {
  display: block; width: 64px !important; height: 64px !important;
  max-width: 64px !important; object-fit: cover;
  border-radius: 9px; border: 1px solid #ece6f0;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name::after {
  display: block; content: ''; clear: both;
}

/* The Elementor theme squeezes native radios into a narrow right-hand table cell.
   Make the actual shipping row use its full width; don't duplicate/recreate inputs. */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping {
  display: block !important;
  width: 100% !important;
  padding: 18px 0 0 !important;
  margin: 4px 0 0 !important;
  border-top: 1px solid #eae5ee !important;
  background: #fff !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping > th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping > td,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  text-align: left !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  float: none !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping > th,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th {
  margin-bottom: 12px !important;
  color: #292332 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 9px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 6px !important;
  width: 100% !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px 13px !important;
  border: 1px solid #e7e0eb !important;
  border-radius: 9px !important;
  background: #fff !important;
  text-align: left !important;
  line-height: 1.5 !important;
  transition: border-color .16s ease, background .16s ease;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li:has(input[type="radio"]:checked),
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li:has(input[type="radio"]:checked) {
  background: #faf7fc !important;
  border-color: #856a98 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li input[type="radio"],
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li input[type="radio"] {
  appearance: auto !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 3px 0 0 !important;
  accent-color: #65477d;
  cursor: pointer;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li label {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
  color: #44334f !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  white-space: normal !important;
  overflow-wrap: break-word;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-methods li label .amount {
  font-size: inherit !important; font-weight: 700 !important; color: #292332 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-destination,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-calculator {
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #7c7086 !important;
}

/* One slim date row, not an extra white checkout card. Calendar opens on demand. */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.mi-checkout-date-row {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.mi-checkout-date-row > td {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 0 !important;
  text-align: left !important;
}
body.woocommerce-checkout .mi-checkout-date-row .mi-planner[data-mode="checkout"] {
  --mi-ink: #292332;
  --mi-purple: #65477d;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 0 !important;
  padding: 16px 0 17px !important;
  border: 0 !important;
  border-bottom: 1px solid #eae5ee !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-date-area--checkout { margin: 0 !important; }
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-checkout-date-line {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; column-gap: 16px; row-gap: 8px;
}
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-checkout-date-details { min-width: 0; }
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-checkout-date-label {
  display: block; margin: 0 0 4px !important;
  color: #41344b !important; font-size: 13px !important;
  font-weight: 700 !important; line-height: 1.4 !important;
}
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-date-text {
  display: block; color: #252029 !important;
  font-size: 15px !important; font-weight: 600 !important;
  line-height: 1.4 !important; overflow-wrap: anywhere;
}
body.woocommerce-checkout .mi-planner.mi-planner[data-mode="checkout"] .mi-date-trigger.mi-checkout-date-change {
  width: auto !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #d7cadf !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #5c3d75 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .mi-planner.mi-planner[data-mode="checkout"] .mi-date-trigger.mi-checkout-date-change:hover {
  background: #f6f0fa !important;
  border-color: #997caf !important;
}
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-date-trigger.mi-has-date {
  -webkit-text-fill-color: #5c3d75 !important;
}
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-price,
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-help,
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-location,
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-tomorrow,
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-wedding { display: none !important; }
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-feedback {
  margin: 7px 0 0 !important; color: #b32b3a !important;
  font-size: 12px !important; line-height: 1.4 !important;
}
body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-datepicker {
  left: 0 !important; top: calc(100% + 4px) !important;
  width: min(310px, 100%) !important;
  z-index: 9999 !important;
}

/* The label and the numeric total are exactly the same size and weight. */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total {
  background: #fff !important;
  border-top: 0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total .amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total .amount bdi {
  color: #17151b !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -.45px;
  font-variant-numeric: tabular-nums;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
  padding-top: 22px !important;
  padding-bottom: 16px !important;
  border: 0 !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
  text-align: right !important;
}
@media (max-width: 600px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .mi-checkout-product-thumb {
    width: 54px; height: 54px; margin-right: 10px;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .mi-checkout-product-image {
    width: 54px !important; height: 54px !important; max-width: 54px !important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th *,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td * { font-size: 23px !important; }
}
@media (max-width: 340px) {
  body.woocommerce-checkout .mi-planner[data-mode="checkout"] .mi-checkout-date-line { grid-template-columns: minmax(0, 1fr); }
  body.woocommerce-checkout .mi-planner.mi-planner[data-mode="checkout"] .mi-date-trigger.mi-checkout-date-change { justify-self: start; }
}

/* Full-width WooCommerce shipping and date controls within a two-column table. */
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping.mi-shipping-enhanced,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.mi-checkout-date-row {
  display: table-row !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: #fff !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping.mi-shipping-enhanced > td.mi-shipping-full,
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.mi-checkout-date-row > td {
  display: table-cell !important;
  width: auto !important;
  padding: 16px 0 0 !important;
  text-align: left !important;
  vertical-align: top !important;
  border: 0 !important;
  background: #fff !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping.mi-shipping-enhanced > td.mi-shipping-full {
  border-top: 1px solid #eae5ee !important;
  padding-top: 18px !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table .mi-shipping-title {
  margin: 0 0 11px !important;
  color: #292332 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.mi-checkout-date-row > td {
  padding-top: 0 !important;
}
@media (max-width: 600px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total .amount,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total .amount *,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td strong,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td strong * { font-size: 23px !important; }
}
