html {
  scroll-behavior: smooth;
}

body.mf-b2b {
  min-height: 100vh;
  background: #fff;
  color: var(--mf-color-charcoal);
  font-family: var(--mf-font-sans);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.mf-shell {
  width: var(--mf-shell-width);
  margin-inline: auto;
}

.mf-shell--wide {
  width: var(--mf-shell-wide);
  margin-inline: auto;
}

.mf-b2b a,
.mf-b2b button,
.mf-b2b .button,
.mf-b2b .wc-block-components-button {
  color: inherit;
  text-decoration: none !important;
}

.mf-b2b img {
  max-width: 100%;
  height: auto;
  display: block;
}

.mf-b2b button {
  cursor: pointer;
}

.mf-b2b .site-content {
  overflow-x: clip;
}

.mf-b2b .site-main {
  min-width: 0;
}

.mf-page {
  padding: 1.35rem 0 var(--mf-page-gap);
}

.mf-section {
  padding: 0 0 var(--mf-page-gap);
}

.mf-b2b h1,
.mf-b2b h2,
.mf-b2b h3,
.mf-b2b h4 {
  color: var(--mf-color-charcoal);
  font-family: var(--mf-font-serif);
  letter-spacing: -0.03em;
}

.mf-b2b p,
.mf-b2b li,
.mf-b2b label,
.mf-b2b input,
.mf-b2b select,
.mf-b2b textarea {
  font-family: var(--mf-font-sans);
}

.mf-b2b .screen-reader-text:focus {
  inset: 12px auto auto 12px;
}

.mf-b2b .woocommerce-notices-wrapper {
  display: grid;
  gap: 14px;
  margin-bottom: 1.5rem;
}

.mf-b2b .woocommerce-message,
.mf-b2b .woocommerce-info,
.mf-b2b .woocommerce-error,
.mf-b2b .wc-block-components-notice-banner {
  margin: 0;
  padding: 1rem 1.15rem;
  border-radius: var(--mf-radius-md);
  border: 1px solid var(--mf-color-border);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--mf-shadow-card);
  color: var(--mf-color-charcoal);
}

.mf-b2b .entry-content,
.mf-b2b .woocommerce-MyAccount-content {
  color: var(--mf-color-muted);
  font-size: 0.97rem;
  line-height: 1.82;
}

.mf-b2b .entry-content > * + *,
.mf-b2b .woocommerce-MyAccount-content > * + * {
  margin-top: 1.15rem;
}

.mf-b2b .entry-content ul,
.mf-b2b .entry-content ol,
.mf-b2b .woocommerce-MyAccount-content ul,
.mf-b2b .woocommerce-MyAccount-content ol {
  padding-left: 1.2rem;
}

.mf-b2b-auth-shell {
  background:
    radial-gradient(circle at top left, rgba(4, 28, 44, 0.04), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f9fbfd 100%);
}

.mf-b2b-auth-shell .site-content,
.mf-b2b-auth-shell .site-main {
  min-height: 100vh;
}

.mf-b2b-auth-shell .mf-page {
  min-height: 100vh;
  display: grid;
  align-items: center;
  padding: 0;
}

@media (max-width: 1024px) {
  .mf-shell,
  .mf-shell--wide {
    width: min(100vw - 32px, 100%);
  }
}

@media (max-width: 780px) {
  .mf-page {
    padding-top: 0.9rem;
  }

  .mf-section {
    padding-bottom: clamp(2rem, 8vw, 2.8rem);
  }

  .mf-b2b-auth-shell .mf-page {
    padding: 1rem 0;
  }
}
