/* =========================================================
   MultiWeather - base.css (MINIMAL, SAFE)
   Goal: stop the worst theme bleed without touching layouts
   ========================================================= */

.mwpl-wrap,
.mwpl-wrap *,
.mwpl-wrap *::before,
.mwpl-wrap *::after {
  box-sizing: border-box;
}

/* Remove theme “decorations” that commonly cause ugly boxes */
.mwpl-wrap :where(img, svg) {
  border: 0;
  box-shadow: none !important;
  background: transparent !important;
  outline: 0;
}

/* WeatherIcons squares fix */
.mwpl-wrap .wi,
.mwpl-wrap i.wi,
.mwpl-wrap .wi::before,
.mwpl-wrap i.wi::before {
  font-family: "weathericons" !important;
  font-style: normal !important;
  font-weight: normal !important;
}

/* =========================================================
   MultiWeather - baseline shield (ADD-ON)
   Goal: reduce cross-theme drift (typography, margins, images, flex)
   ========================================================= */

/* Typography stability */
.mwpl-wrap {
  line-height: 1.2;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

/* Kill default margins/padding themes apply inside content */
.mwpl-wrap :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li, figure) {
  margin: 0;
  padding: 0;
}

/* Themes often force img { max-width:100% } which breaks icon/layout sizing */
.mwpl-wrap img,
.mwpl-wrap svg {
  max-width: none;
  height: auto;
  vertical-align: middle;
}

/* Prevent flex/grid children from overflowing and pushing layout around */
.mwpl-wrap :where(.mw-header-row, .mw-row, .mw-grid, .mw-flex) > * {
  min-width: 0;
}
