/* A-grade product polish: shared interaction/spacing discipline without redesigning role dashboards. */
:root{
  --bmp-radius-sm:10px;
  --bmp-radius-md:14px;
  --bmp-radius-lg:20px;
  --bmp-touch:44px;
  --bmp-page-gutter:clamp(14px,3vw,28px);
}

*,*::before,*::after{box-sizing:border-box}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:not(:disabled),[role="button"]:not([aria-disabled="true"]){cursor:pointer}
img,video{max-width:100%}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--mc-accent,#fbbf24);
  outline-offset:3px;
}

:where(.mc-btn,.mc-header-icon-btn,.mc-header-nav-link,.glass-button,.btn,.button){min-height:var(--bmp-touch)}
:where(.mc-input,input[type="text"],input[type="email"],input[type="search"],input[type="url"],input[type="password"],select,textarea){border-radius:var(--bmp-radius-sm)}
:where(.mc-card){border-radius:var(--bmp-radius-md)}
:where(.mc-card,.mc-input,.mc-btn){transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}

.mc-section-inner{width:min(100%,1400px);padding-left:var(--bmp-page-gutter);padding-right:var(--bmp-page-gutter)}
.mc-card-title,.mc-hero-title,h1,h2{text-wrap:balance}
.mc-card-description,.mc-hero-description{line-height:1.55}

/* Keep destructive/secondary controls visually subordinate to the main task. */
:where(.mc-btn-secondary,.secondary){box-shadow:none}
:where(.mc-btn-primary):active{transform:translateY(1px)}

/* Forms should never become black-on-black or white-on-white when themes change. */
:where(.mc-input,input,select,textarea){color:var(--mc-text-primary,inherit)}
:where(.mc-input,input,select,textarea)::placeholder{color:var(--mc-text-muted,#6b7280);opacity:1}

/* Mobile spacing and touch discipline. */
@media(max-width:720px){
  :root{--bmp-page-gutter:12px}
  .mc-section{padding-left:0!important;padding-right:0!important}
  .mc-card{border-radius:16px}
  :where(.mc-btn,button,input,select){min-height:44px}
  textarea{font-size:16px}
  input,select{font-size:16px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
