/* Metamining Smart Shipping v1.7.0. Responsive notice, scoped to this plugin.
 * Container queries respond to the actual cart column width (not merely the screen).
 */
.mmss-bulk-notice {
  box-sizing: border-box;
  container-type: inline-size;
  container-name: mmss-card;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 24px;
  padding: clamp(15px, 1.6vw, 22px);
  border: 1px solid #eeae62;
  border-left: 3px solid #ce750d;
  border-radius: 11px;
  background: linear-gradient(110deg, #fff7e7 0%, #fffaf0 100%);
  color: #332a21;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.55;
  overflow: hidden;
}
.mmss-bulk-style-attention { border-color:#efb76c; border-left-color:#bc6c0c; background:linear-gradient(110deg,#fff7e9 0%,#fffaf0 100%); color:#3b3024; }
.mmss-bulk-style-info { border-color:#9abdf8; border-left-color:#2e67dc; background:linear-gradient(110deg,#eff5ff 0%,#f8fbff 100%); color:#1b335b; }
.mmss-bulk-style-neutral { border-color:#dbdee4; border-left-color:#7b8797; background:#f8f9fb; color:#2a2f35; }
.mmss-bulk-notice *, .mmss-bulk-notice *::before, .mmss-bulk-notice *::after { box-sizing: border-box; }
.mmss-bulk-layout {
  display: grid;
  grid-template-columns: clamp(120px, 23%, 188px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(17px, 2.2vw, 25px);
  width: 100%;
  min-width: 0;
}
.mmss-bulk-art {
  min-width: 0;
  height: 100%;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 15px 3px 0;
  border-right: 1px solid rgba(174, 101, 19, .25);
}
.mmss-bulk-image {
  display: block;
  width: 100%;
  max-width: 185px;
  max-height: 170px;
  height: auto;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.mmss-bulk-content { min-width: 0; width: 100%; overflow-wrap: break-word; }
.mmss-bulk-notice .mmss-bulk-title {
  display: block;
  padding: 0;
  margin: 0 0 8px;
  font-family: inherit;
  font-size: 19px !important;
  font-weight: 700;
  line-height: 1.3 !important;
  letter-spacing: normal;
  text-transform: none;
  color: inherit;
}
.mmss-bulk-notice .mmss-bulk-message {
  padding: 0;
  margin: 0 0 13px;
  font-family: inherit;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
}
.mmss-bulk-notice .mmss-bulk-message p { margin: 0 0 8px; padding: 0; font-size: inherit; line-height: inherit; }
.mmss-bulk-notice .mmss-bulk-message p:last-child { margin-bottom: 0; }
.mmss-bulk-notice a.mmss-bulk-button,
.mmss-bulk-notice a.mmss-bulk-button:visited {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 43px;
  padding: 11px 17px;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.35 !important;
  letter-spacing: 0;
  text-decoration: none;
  text-align: center;
  text-transform: none;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
  transition: filter .15s ease, background .15s ease;
  box-shadow: none;
}
.mmss-bulk-notice .mmss-button-label { display: block; min-width: 0; flex: 0 1 auto; overflow-wrap: anywhere; }
.mmss-bulk-notice .mmss-button-arrow { display: inline-block; flex: 0 0 auto; font-size: 17px; line-height: 1; white-space: nowrap; }
.mmss-bulk-notice a.mmss-button-amber, .mmss-bulk-notice a.mmss-button-amber:visited { background:#be6812; color:#fff; border-color:#ae5e0e; }
.mmss-bulk-notice a.mmss-button-amber:hover { background:#a95605; color:#fff; text-decoration:none; }
.mmss-bulk-notice a.mmss-button-theme, .mmss-bulk-notice a.mmss-button-theme:visited { background:var(--wd-primary-color,#3067e5); color:#fff; }
.mmss-bulk-notice a.mmss-button-theme:hover { filter:brightness(.9); color:#fff; text-decoration:none; }
.mmss-bulk-notice a.mmss-button-outline, .mmss-bulk-notice a.mmss-button-outline:visited { background:transparent; color:inherit; border-color:currentColor; }
.mmss-bulk-notice a.mmss-button-outline:hover { background:rgba(122,77,15,.08); color:inherit; text-decoration:none; }
.mmss-bulk-notice a.mmss-bulk-button:focus-visible { outline:3px solid #2678de; outline-offset:3px; }
.mmss-bulk-notice .mmss-bulk-footer { margin: 10px 0 0; font-size: 13px; line-height: 1.5; }
.mmss-bulk-notice .mmss-bulk-footer p { margin: 0 0 6px; }
.mmss-bulk-notice .mmss-bulk-footer p:last-child { margin: 0; }
.mmss-bulk-notice .mmss-no-art .mmss-bulk-layout,
.mmss-bulk-notice.mmss-no-art .mmss-bulk-layout { grid-template-columns: minmax(0, 1fr); }
/* The cart is often narrower than the viewport on tablets. */
@container mmss-card (max-width: 740px) {
  .mmss-bulk-layout { grid-template-columns: clamp(94px, 23%, 137px) minmax(0, 1fr); gap: 15px; }
  .mmss-bulk-art { padding-right: 12px; }
  .mmss-bulk-image { max-height: 142px; }
  .mmss-bulk-notice .mmss-bulk-title { font-size: 17px !important; }
  .mmss-bulk-notice .mmss-bulk-message { font-size: 14px !important; margin-bottom: 11px; }
  .mmss-bulk-notice a.mmss-bulk-button { font-size: 13px !important; padding: 10px 12px; gap: 10px; min-height: 41px; }
}
@container mmss-card (max-width: 470px) {
  .mmss-bulk-layout { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 10px; }
  .mmss-bulk-art { width: 100%; height: auto; padding: 0 0 9px; border-right: 0; border-bottom: 1px solid rgba(174,101,19,.22); }
  .mmss-bulk-image { width: auto; max-width: min(42%, 142px); max-height: 126px; }
  .mmss-bulk-content { text-align: center; }
  .mmss-bulk-notice .mmss-bulk-title { font-size: 17px !important; margin-bottom: 7px; }
  .mmss-bulk-notice .mmss-bulk-message { font-size: 14px !important; line-height: 1.5 !important; margin-bottom: 11px; }
  .mmss-bulk-notice a.mmss-bulk-button { margin-inline: auto; }
}
@container mmss-card (max-width: 320px) {
  .mmss-bulk-notice .mmss-bulk-title { font-size: 16px !important; }
  .mmss-bulk-notice .mmss-bulk-message { font-size: 13px !important; }
  .mmss-bulk-notice a.mmss-bulk-button { font-size: 12px !important; padding: 9px 10px; gap: 7px; }
  .mmss-bulk-image { max-width: min(50%, 130px); }
}
/* Fallback for browsers without container-query support. */
@supports not (container-type: inline-size) {
  @media (max-width: 767px) {
    .mmss-bulk-layout { grid-template-columns: minmax(0,1fr); justify-items:center; gap:12px; }
    .mmss-bulk-art { width:100%; height:auto; padding:0 0 10px; border:0; border-bottom:1px solid rgba(174,101,19,.2); }
    .mmss-bulk-image { width:130px; }
    .mmss-bulk-content { text-align:center; }
    .mmss-bulk-notice a.mmss-bulk-button { font-size:13px !important; padding:10px 12px; }
  }
}
/* HTML hidden must override grid and flex formatting. */
.mmss-bulk-notice [hidden] { display:none !important; }

/* v1.4.0: additional accessible, low-saturation alert palettes.
 * The CTA can optionally inherit the selected palette via "Match alert colour".
 */
.mmss-bulk-notice {
  --mmss-accent: #b86d14;
  --mmss-action: #be6812;
  --mmss-action-hover: #9c5009;
  --mmss-divider: rgba(165, 100, 21, .25);
}
.mmss-bulk-style-attention {
  --mmss-accent: #b86d14;
  --mmss-action: #be6812;
  --mmss-action-hover: #9c5009;
  --mmss-divider: rgba(165, 100, 21, .25);
}
.mmss-bulk-style-info {
  --mmss-accent: #2e67dc;
  --mmss-action: #275ed1;
  --mmss-action-hover: #1c4aab;
  --mmss-divider: rgba(42, 102, 202, .23);
}
.mmss-bulk-style-neutral {
  --mmss-accent: #626d7a;
  --mmss-action: #46576b;
  --mmss-action-hover: #334252;
  --mmss-divider: rgba(94, 106, 123, .24);
}
.mmss-bulk-style-green {
  --mmss-accent: #25865b;
  --mmss-action: #176e49;
  --mmss-action-hover: #105538;
  --mmss-divider: rgba(24, 113, 69, .20);
  border-color: #a8dcb9;
  border-left-color: #25865b;
  background: linear-gradient(110deg, #effaf2, #f8fff9);
  color: #23432e;
}
.mmss-bulk-style-teal {
  --mmss-accent: #168a92;
  --mmss-action: #116f77;
  --mmss-action-hover: #0c5960;
  --mmss-divider: rgba(19, 120, 131, .22);
  border-color: #9fd9d9;
  border-left-color: #168a92;
  background: linear-gradient(110deg, #edfaf9, #f8fffe);
  color: #173f44;
}
.mmss-bulk-style-purple {
  --mmss-accent: #7651b9;
  --mmss-action: #6842aa;
  --mmss-action-hover: #513184;
  --mmss-divider: rgba(106, 67, 179, .21);
  border-color: #d0b9ee;
  border-left-color: #7651b9;
  background: linear-gradient(110deg, #f6f0ff, #fdfaff);
  color: #3c2a54;
}
.mmss-bulk-style-rose {
  --mmss-accent: #b34878;
  --mmss-action: #a42c62;
  --mmss-action-hover: #81214b;
  --mmss-divider: rgba(168, 56, 101, .22);
  border-color: #f0b6cf;
  border-left-color: #b34878;
  background: linear-gradient(110deg, #fff1f6, #fffafc);
  color: #552f40;
}
.mmss-bulk-style-charcoal {
  --mmss-accent: #738499;
  --mmss-action: #d59845;
  --mmss-action-hover: #bc7d2c;
  --mmss-divider: rgba(220, 230, 244, .24);
  border-color: #506174;
  border-left-color: #d49a48;
  background: linear-gradient(110deg, #263241, #344154);
  color: #f6f9fd;
}
/* Both the customer alert and the admin preview share the same layout. */
.mmss-bulk-notice .mmss-bulk-art {
  border-right-color: var(--mmss-divider);
}
.mmss-bulk-notice .mmss-bulk-title,
.mmss-bulk-notice .mmss-bulk-message,
.mmss-bulk-notice .mmss-bulk-message p,
.mmss-bulk-notice .mmss-bulk-footer,
.mmss-bulk-notice .mmss-bulk-footer p { color: inherit; }
.mmss-bulk-notice a.mmss-button-match,
.mmss-bulk-notice a.mmss-button-match:visited {
  background: var(--mmss-action);
  border-color: var(--mmss-action);
  color: #fff;
}
.mmss-bulk-notice a.mmss-button-match:hover,
.mmss-bulk-notice a.mmss-button-match:focus-visible {
  background: var(--mmss-action-hover);
  color: #fff;
  text-decoration: none;
}
@container mmss-card (max-width: 470px) {
  .mmss-bulk-notice .mmss-bulk-art {
    border-right: 0;
    border-bottom-color: var(--mmss-divider);
  }
}
/* Keep icon and full branded wordmark proportional in narrow layouts. */
.mmss-bulk-notice .mmss-bulk-image {
  aspect-ratio: auto;
  vertical-align: middle;
}
/* Guard against theme-level global font and button CSS. */
.mmss-bulk-notice .mmss-bulk-content > :last-child { margin-bottom: 0; }
.mmss-bulk-notice a.mmss-bulk-button .mmss-button-label,
.mmss-bulk-notice a.mmss-bulk-button .mmss-button-arrow { color: inherit; font-size: inherit; line-height: inherit; }
@media (prefers-reduced-motion: reduce) {
  .mmss-bulk-notice a.mmss-bulk-button { transition: none; }
}


/* v1.5: missing-shipping-weight explanation. Scoped to this plugin only. */
.mmss-weight-warning {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 18px;
  padding: clamp(13px, 2vw, 20px);
  border: 1px solid #d5ab49;
  border-left: 4px solid #b97916;
  border-radius: 9px;
  background: #fff8ea;
  color: #45331e;
  font: inherit;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.mmss-weight-warning > strong { display: block; font-size: 1.05em; margin-bottom: 5px; }
.mmss-weight-warning p { margin: 0; }
.mmss-weight-admin {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #ebd6af;
  font-size: 0.91em;
}
.mmss-weight-admin ul { margin: 7px 0 9px 20px; padding: 0; }
.mmss-weight-admin li { margin: 3px 0; }
@media (max-width: 520px) {
  .mmss-weight-warning { padding: 13px; font-size: 14px; }
}

.mmss-weight-warning .mmss-weight-link { margin-top: 8px; }
.mmss-weight-warning a { color: #1757ad; text-decoration: underline; }



/* v1.7: native WooCommerce cart-table placement (no JS DOM reparenting).
 * Only style plugin output; do not change WoodMart cart grid or column heights. */
body.woocommerce-cart .woocommerce-cart-form .mmss-bulk-notice,
body.woocommerce-cart .woocommerce-cart-form .mmss-weight-warning {
  width: 100%; max-width: 100%; min-width: 0;
  height: auto; min-height: 0;
  margin: 0 0 16px !important;
  clear: both;
}
/* The contact CTA remains accessible and never links to checkout. */
.mmss-weight-warning a.mmss-missing-contact-btn,
.mmss-checkout-restricted a.mmss-missing-contact-btn {
  display: inline-flex; align-items: center; justify-content: center;
  max-width: 100%; min-height: 41px; padding: 10px 15px;
  background: var(--wd-primary-color, #3067e5);
  color: #fff; font-size: 14px; font-weight: 700;
  line-height: 1.4; border-radius: 6px;
  text-align: center; text-decoration: none;
  white-space: normal; overflow-wrap: anywhere;
}
.mmss-weight-warning a.mmss-missing-contact-btn:hover,
.mmss-checkout-restricted a.mmss-missing-contact-btn:hover {color:#fff;filter:brightness(.92);text-decoration:none;}
.mmss-checkout-restricted {display:flex; flex-direction:column; gap:10px; align-items:flex-start; font-size:14px;}
/* Keep classic cart totals and Store API block cart from offering payment
 * while a physical product is missing its weight. Server validation remains primary. */
body.woocommerce-cart.mmss-checkout-blocked .cart_totals a.checkout-button,
body.woocommerce-cart.mmss-checkout-blocked a.checkout-button,
body.woocommerce-cart.mmss-checkout-blocked .wc-block-cart__submit {display:none !important;}

/* v1.7.1 — checkout notice safely lives inside billing fields, not WoodMart's
 * separate before-checkout-form notices widget. Only style the notice itself. */
body.woocommerce-checkout form.checkout .woocommerce-billing-fields > .mmss-bulk-notice,
body.woocommerce-checkout form.checkout .mmss-checkout-billing-alert {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 8px 0 20px !important;
  clear: both;
}
