/*
  Wniosek Cyfrowy Uczeń – Frontend UI
  Scope: .mw-request-wrap
  Loaded only with [mw_request_form] shortcode
*/

.mw-add-to-request-wrap {
  margin-top: 10px;
}

.mw-add-to-request-wrap--single{
  margin-top: 14px;
}

button.mw-add-to-request.button {
  margin-top: 10px;
}

.mw-add-to-request--loop{
  width: 100%;
}

.mw-add-to-request--single{
  display: inline-block;
}

.mw-add-msg {
  display: inline-flex;
  margin-top: 0;
  font-size: 0.95em;
  opacity: 0.85;
  align-items: center;
  min-width: 0;
  white-space: nowrap;
  max-width: 140px;
}

.mw-add-msg--link,
.woocommerce ul.products li.product a.added_to_cart,
.woocommerce-page ul.products li.product a.added_to_cart{
  display: inline-flex;
  background: rgba(0,0,0,0);
  padding: 0;
  text-transform: uppercase;
  color: var(--global-palette11, #13612e) !important;
  line-height: 1.6;
  font-size: 68% !important;
  font-weight: 700;
  letter-spacing: .03em !important;
  text-decoration: none;
}

.mw-add-msg--link:hover,
.mw-add-msg--link:focus-visible,
.woocommerce ul.products li.product a.added_to_cart:hover,
.woocommerce ul.products li.product a.added_to_cart:focus-visible,
.woocommerce-page ul.products li.product a.added_to_cart:hover,
.woocommerce-page ul.products li.product a.added_to_cart:focus-visible{
  color: var(--global-palette1, #6ac413);
  text-decoration: none;
}

.mw-price-note{
  display: inline-block;
  margin-left: 6px;
  color: var(--global-palette6, #676767);
  font-size: 0.78em;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.mw-request-type-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 28px;
}

.mw-request-type-card{
  display: grid;
  gap: 10px;
  min-height: 220px;
  padding: 22px;
  border-radius: 20px;
  background:
    linear-gradient(145deg,
      color-mix(in srgb, var(--global-palette9, #ffffff) 96%, transparent) 0%,
      color-mix(in srgb, var(--global-palette8, #f7f7f7) 90%, transparent) 100%);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 9%, transparent);
  box-shadow: 0 18px 34px rgba(0, 0, 0, .055);
  color: var(--global-palette3, #222222);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mw-request-type-card:hover,
.mw-request-type-card:focus-visible{
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--global-palette1, #6ac413) 38%, transparent);
  box-shadow: 0 22px 42px rgba(0, 0, 0, .075);
  color: var(--global-palette3, #222222);
  text-decoration: none;
}

.mw-request-type-card--highlight{
  background:
    linear-gradient(145deg,
      color-mix(in srgb, var(--global-palette1, #6ac413) 12%, var(--global-palette9, #ffffff)) 0%,
      color-mix(in srgb, var(--global-palette8, #f7f7f7) 92%, transparent) 100%);
  border-color: color-mix(in srgb, var(--global-palette1, #6ac413) 28%, transparent);
}

.mw-request-type-card.is-disabled{
  opacity: .5;
  cursor: not-allowed;
  filter: grayscale(.15);
}

.mw-request-type-card.is-disabled:hover,
.mw-request-type-card.is-disabled:focus-visible{
  transform: none;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .055);
  border-color: color-mix(in srgb, var(--global-palette3, #222222) 9%, transparent);
}

.mw-request-type-card__eyebrow{
  color: var(--global-palette6, #676767);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.25;
  text-transform: uppercase;
}

.mw-request-type-card__title{
  font-size: clamp(1.35rem, 1.1rem + .8vw, 1.8rem);
  line-height: 1.1;
}

.mw-request-type-card__desc{
  color: var(--global-palette6, #676767);
  font-size: .95rem;
  line-height: 1.5;
}

.mw-request-type-card__action{
  align-self: end;
  width: fit-content;
  margin-top: auto;
  padding: .55em .9em;
  border-radius: 999px;
  background: var(--global-palette1, #6ac413);
  color: var(--global-palette9, #ffffff);
  font-size: .85rem;
  font-weight: 700;
  line-height: 1.2;
}

.mw-request-type-card.is-disabled .mw-request-type-card__action{
  background: var(--global-palette7, #eeeeee);
  color: var(--global-palette6, #676767);
}

@media (max-width: 900px){
  .mw-request-type-grid{
    grid-template-columns: 1fr;
  }
}

.mw-request-c-summary__stats{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.mw-request-c-summary__stats span{
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 88%, transparent);
  color: var(--global-palette6, #676767);
  font-size: .9rem;
}

.mw-request-c-summary__stats strong{
  color: var(--global-palette3, #222222);
}

.mw-request-c-sections{
  display: grid;
  gap: 16px;
}

.mw-request-c-section{
  padding: 16px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 75%, transparent);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 8%, transparent);
}

.mw-request-c-section.is-disabled{
  opacity: .62;
}

.mw-request-c-section h3{
  margin: 0 0 12px;
  font-size: 1.05rem;
  line-height: 1.25;
}

.mw-request-c-section p{
  margin: 0;
  color: var(--global-palette6, #676767);
}

.mw-request-c-row-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.mw-request-c-row{
  display: grid;
  gap: 5px;
  min-height: 96px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--global-palette1, #6ac413) 16%, var(--global-palette3, #222222));
  border-radius: 14px;
  background: var(--global-palette9, #ffffff);
  color: var(--global-palette3, #222222);
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.mw-request-c-row:hover,
.mw-request-c-row:focus-visible{
  transform: translateY(-1px);
  border-color: var(--global-palette1, #6ac413);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .06);
}

.mw-request-c-row__meta,
.mw-request-c-row__hint{
  color: var(--global-palette6, #676767);
  font-size: .76rem;
  line-height: 1.25;
}

.mw-request-c-row strong{
  font-size: .95rem;
  line-height: 1.25;
}

.mw-request-c-product-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.mw-request-c-product{
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: var(--global-palette9, #ffffff);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 8%, transparent);
}

.mw-request-c-product img{
  width: 78px;
  height: 78px;
  object-fit: contain;
  border-radius: 10px;
  background: var(--global-palette8, #f7f7f7);
}

.mw-request-c-product__body{
  display: grid;
  gap: 7px;
  align-content: start;
  min-width: 0;
}

.mw-request-c-product__body strong{
  font-size: .92rem;
  line-height: 1.25;
}

.mw-request-c-product__body span{
  color: var(--global-palette6, #676767);
  font-size: .82rem;
  line-height: 1.3;
}

.mw-request-c-product__body .mw-btn{
  width: fit-content;
  min-height: 0;
  padding: .48em .85em;
  font-size: .84rem;
}

.mw-request-c-selected{
  display: grid;
  gap: 8px;
}

.mw-request-c-selected__item{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px 120px auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 70%, transparent);
}

.mw-request-c-selected__item span{
  display: block;
  margin-top: 3px;
  color: var(--global-palette6, #676767);
  font-size: .8rem;
  line-height: 1.3;
}

.mw-request-c-selected__item input{
  width: 82px;
}

.mw-request-c-remove{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: .45rem .75rem;
  border: 1px solid color-mix(in srgb, var(--global-palette13, #b82105) 35%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--global-palette13, #b82105) 9%, var(--global-palette9, #ffffff));
  color: var(--global-palette13, #b82105);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .025em;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.mw-request-c-remove:hover,
.mw-request-c-remove:focus-visible{
  transform: translateY(-1px);
  border-color: var(--global-palette13, #b82105);
  background: var(--global-palette13, #b82105);
  color: var(--global-palette9, #ffffff);
  outline: none;
}

.mw-request-c .mw-field--compact{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}

.mw-request-c .mw-field--compact label{
  margin: 0;
}

.mw-request-c .mw-field--compact input{
  max-width: 120px;
}

@media (max-width: 900px){
  .mw-request-c-row-grid,
  .mw-request-c-product-grid{
    grid-template-columns: 1fr;
  }

  .mw-request-c-selected__item{
    grid-template-columns: 1fr;
  }

  .mw-request-c .mw-field--compact{
    grid-template-columns: 1fr;
  }
}

/* Shop loop: custom price block */
.woocommerce ul.products li.product{
  position: relative;
  overflow: visible;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 8%, transparent);
  border-radius: 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.woocommerce ul.products li.product .product-action-wrap{
  position: static !important;
  margin-top: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
}

.woocommerce ul.products li.product .entry-content-wrap{
  overflow: visible;
  position: static;
}

.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within{
  border-color: color-mix(in srgb, var(--global-palette1, #6ac413) 40%, var(--global-palette2, #fdd100) 60%);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .06);
}

.mw-loop-prices{
  margin: 6px 0 10px;
  display: grid;
  gap: 3px;
  font-size: 0.9em;
  position: relative;
  z-index: 1;
}

.mw-loop-prices__row{
  line-height: 1.25;
}

.mw-loop-prices__label{
  color: var(--global-palette6, #676767);
}

.mw-loop-prices__value{
  color: var(--global-palette3, #222222);
  font-weight: 600;
}

/* Single product: custom gross/net prices */
.mw-single-prices{
  margin: 14px 0 18px;
  display: grid;
  gap: 12px;
  width: min(100%, 720px);
  padding: 12px;
  border-radius: 22px;
  background:
    linear-gradient(180deg,
      color-mix(in srgb, var(--global-palette9, #ffffff) 98%, transparent) 0%,
      color-mix(in srgb, var(--global-palette8, #f7f7f7) 92%, transparent) 100%);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 7%, transparent);
  box-shadow: 0 18px 34px rgba(0, 0, 0, .05);
}

@media (min-width: 768px){
  .mw-single-prices{
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: stretch;
  }
}

.mw-single-prices__label{
  color: var(--global-palette6, #676767);
}

.mw-single-prices__gross{
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-radius: 18px;
  line-height: 1.2;
  background: var(--global-palette9, #ffffff);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 8%, transparent);
  box-shadow: 0 10px 22px rgba(0, 0, 0, .04);
}

.mw-single-prices__gross .mw-single-prices__value{
  font-size: 1.14rem;
  font-weight: 700;
  color: var(--global-palette3, #222222);
  letter-spacing: -0.03em;
}

.mw-single-prices__gross .mw-single-prices__label{
  font-size: 0.75rem;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.mw-single-prices__net{
  display: inline-grid;
  align-items: start;
  gap: 4px;
  width: 100%;
  margin-top: 0;
  padding: 16px 18px;
  border-radius: 18px;
  font-size: 0.92rem;
  line-height: 1.2;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--global-palette1, #6ac413) 14%, var(--global-palette9, #ffffff)) 0%,
      color-mix(in srgb, var(--global-palette8, #f7f7f7) 94%, transparent) 100%);
  border: 1px solid color-mix(in srgb, var(--global-palette1, #6ac413) 26%, transparent);
  box-shadow: 0 14px 26px rgba(0, 0, 0, .045);
  position: relative;
  overflow: hidden;
}

.mw-single-prices__net::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 42%);
  pointer-events: none;
}

.mw-single-prices__net-body{
  display: grid;
  gap: 4px;
  position: relative;
  z-index: 1;
}

.mw-single-prices__net .mw-single-prices__value{
  font-size: 1.14rem;
  color: var(--global-palette11, #13612e);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.mw-single-prices__net .mw-single-prices__label{
  color: var(--global-palette6, #676767);
  font-size: 0.75rem;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Single product: request CTA box */
.mw-request-cta{
  margin-top: 16px;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 10%, transparent);
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 78%, transparent);
}

.mw-request-cta__title{
  margin: 0 0 6px;
  font-size: 1.05rem;
  line-height: 1.25;
}

.mw-request-cta__desc{
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--global-palette6, #676767);
}

.mw-request-cta__price{
  display: grid;
  gap: 2px;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--global-palette9, #ffffff) 86%, transparent);
  border: 1px solid color-mix(in srgb, var(--global-palette1, #6ac413) 18%, transparent);
}

.mw-request-cta__price-label{
  color: var(--global-palette6, #676767);
  font-size: 0.82rem;
  line-height: 1.3;
}

.mw-request-cta__price-value{
  color: var(--global-palette11, #13612e);
  font-size: 1.2rem;
  line-height: 1.2;
  font-weight: 700;
}

.mw-request-cta__note{
  margin-top: 10px;
  color: var(--global-palette6, #676767);
  font-size: 0.84rem;
  line-height: 1.45;
}

.mw-request-cta .mw-add-to-request-wrap--single{
  margin-top: 10px;
}

.mw-request-cta .mw-add-to-request--single{
  font-size: 0.9rem;
  padding: 0.6em 1em;
  min-height: 0;
}

/* Shop loop: permanent actions below the price. */
.mw-loop-actions{
  position: static;
  width: 100%;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: auto;
  padding: 12px 0 0;
  border-top: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 8%, transparent);
  background: transparent;
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.mw-loop-action-slot{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 5px;
  min-width: 0;
  padding: 0;
  background: transparent;
}

.mw-add-msg--link{
  padding: .5em 0 .5em .3em;
  line-height: 1.5;
}

.mw-loop-action-slot > .mw-add-msg,
.mw-loop-action-slot > .added_to_cart{
  display: block;
  min-width: 0;
  flex: 0 1 auto;
  margin: 0 !important;
  justify-content: center;
  text-align: center;
  white-space: normal;
  line-height: 1.6;
  padding: 0;
}

.mw-loop-action-btn{
  position: relative;
  width: 100% !important;
  min-width: 0;
  height: auto;
  min-height: 44px;
  flex: none;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  vertical-align: middle;
  line-height: 1.15 !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-align: center;
  overflow: hidden !important;
  box-shadow: none !important;
}

.mw-loop-action-btn__icon{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: block;
}

.mw-loop-action-btn--cart{
  border: 1px solid var(--edu-color-primary, var(--global-palette1, #2563eb)) !important;
  background: var(--edu-color-primary, var(--global-palette1, #2563eb)) !important;
  color: #fff !important;
}

.mw-loop-action-btn--cart:hover,
.mw-loop-action-btn--cart:focus-visible{
  background: color-mix(in srgb, var(--edu-color-primary, #2563eb) 86%, #000) !important;
}

.mw-loop-action-btn--request{
  border: 1px solid var(--edu-color-line, #e2e8f0) !important;
  background: var(--global-palette9, #fff) !important;
  color: var(--edu-color-ink, var(--global-palette3, #222)) !important;
}

.mw-loop-action-btn--request:hover,
.mw-loop-action-btn--request:focus-visible{
  border-color: var(--edu-color-primary, var(--global-palette1, #2563eb)) !important;
  background: color-mix(in srgb, var(--edu-color-primary, #2563eb) 7%, #fff) !important;
  color: var(--edu-color-primary, var(--global-palette1, #2563eb)) !important;
}

.mw-loop-action-btn__label{
  min-width: 0;
}

.mw-loop-action-slot:only-child{
  grid-column: 1 / -1;
}

@media (max-width: 520px){
  .mw-loop-actions{grid-template-columns: 1fr;}
  .mw-loop-action-btn{min-height: 42px;font-size: 11px !important;}
}

/* Badge in header */
.mw-badge-link{
  display: flex;
  align-items: flex-end;
  gap: 0px;
  line-height: 1;
  text-decoration: none;
  color: var(--global-palette3, #222222);
}

.mw-badge-link,
.mw-badge-link:hover,
.mw-badge-link:focus,
.mw-badge-link:focus-visible,
.mw-badge-link:active,
.mw-badge-link:visited{
  text-decoration: none !important;
}

.header-html .mw-badge-link,
.header-html .mw-badge-link:hover,
.header-html .mw-badge-link:focus,
.header-html .mw-badge-link:focus-visible,
.header-html .mw-badge-link:active,
.header-html .mw-badge-link:visited{
  text-decoration: none !important;
}

.header-html .mw-badge-link *{
  text-decoration: none !important;
}

.mw-badge-icon{
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  flex: 0 0 50px;
  line-height: 1;
  border: 0;
  background: transparent;
}

.mw-icon-cap{
  width: 50px;
  height: 50px;
  display: block;
  flex: 0 0 50px;
  align-self: flex-end;
  color: var(--global-palette-highlight, var(--global-palette1, #6ac413));
}

.mw-icon-cap--cart{
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  align-self: flex-end;
}

[data-mw-badge="1"],
.header-cart-wrap .header-cart-button .header-cart-total,
.header-mobile-cart-wrap .header-cart-button .header-cart-total{
  display: inline-flex;
  width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  vertical-align: middle;
  margin-left: 6px !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  flex: 0 0 22px;
  align-self: flex-start;
  background: var(--global-palette2, #fdd100);
  color: var(--global-palette3, #222222);
  opacity: 1 !important;
  text-decoration: none !important;
}

/* Gdy >0, JS może dodać atrybut data-mw-has="1" */
[data-mw-badge="1"][data-mw-has="1"] {
  background: var(--global-palette2, #fdd100);
  color: var(--global-palette3, #222222);
}

/* Kadence header cart: align icon/counter to MW badge style */
.header-cart-wrap .header-cart-button .kadence-svg-iconset .mw-icon-cap--cart,
.header-mobile-cart-wrap .header-cart-button .kadence-svg-iconset .mw-icon-cap--cart{
  width: 50px;
  height: 50px;
  display: block;
  color: var(--global-palette-highlight, var(--global-palette1, #6ac413));
}

.header-cart-wrap .header-cart-button,
.header-mobile-cart-wrap .header-cart-button{
  display: inline-flex;
  align-items: flex-end;
  gap: 0px;
  line-height: 1;
  text-decoration: none !important;
}

.header-cart-wrap .header-cart-button .kadence-svg-iconset,
.header-mobile-cart-wrap .header-cart-button .kadence-svg-iconset{
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  flex: 0 0 50px;
  line-height: 1;
}

.header-cart-wrap .header-cart-button *,
.header-mobile-cart-wrap .header-cart-button *{
  text-decoration: none !important;
}

.header-cart-wrap .header-cart-button .kadence-svg-iconset svg,
.header-mobile-cart-wrap .header-cart-button .kadence-svg-iconset svg{
  position: static;
  top: auto;
  vertical-align: middle;
}

.header-cart-wrap .header-cart-button:hover .header-cart-total,
.header-mobile-cart-wrap .header-cart-button:hover .header-cart-total{
  background: var(--global-palette2, #fdd100);
  color: var(--global-palette3, #222222);
  opacity: 1 !important;
  text-decoration: none !important;
}

@media (max-width: 1024px){
  .mw-badge-icon,
  .mw-icon-cap,
  .mw-icon-cap--cart,
  .header-cart-wrap .header-cart-button .kadence-svg-iconset,
  .header-mobile-cart-wrap .header-cart-button .kadence-svg-iconset,
  .header-cart-wrap .header-cart-button .kadence-svg-iconset .mw-icon-cap--cart,
  .header-mobile-cart-wrap .header-cart-button .kadence-svg-iconset .mw-icon-cap--cart{
    width: 35px;
    height: 35px;
    flex-basis: 35px;
  }
}

[data-mw-badge="1"] *,
.header-cart-wrap .header-cart-button .header-cart-total *,
.header-mobile-cart-wrap .header-cart-button .header-cart-total *{
  text-decoration: none !important;
}

.mw-request-wrap{
  width: min(calc(100% - 40px), var(--edu-container, 1500px));
  max-width: 1500px;
  margin: 0 auto;
  padding: 28px 0 40px;
}

/* Typography follows the active theme, with a standalone fallback. */
.mw-request-wrap,
.mw-request-wrap input,
.mw-request-wrap select,
.mw-request-wrap textarea,
.mw-request-wrap button{
  font-family: var(--edu-font-body, var(--global-body-font-family, inherit));
}

.mw-hero{
  text-align: center;
  margin: 8px 0 22px;
}

.mw-title{
  margin: 0 0 6px;
  letter-spacing: -0.02em;
}

.mw-subtitle{
  margin: 0;
  opacity: .78;
  font-size: 15px;
}

.mw-hero-note{
  display: inline-grid;
  gap: 4px;
  max-width: 760px;
  margin: 14px auto 0;
  padding: 10px 14px;
  border: 1px solid color-mix(in srgb, var(--global-palette2, #fdd100) 34%, transparent);
  border-radius: 12px;
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 90%, transparent);
  color: var(--global-palette3, #222222);
  text-align: left;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .04);
}

.mw-hero-note strong{
  font-size: 0.95rem;
  line-height: 1.3;
}

.mw-hero-note span{
  color: var(--global-palette6, #676767);
  font-size: 0.9rem;
  line-height: 1.45;
}

.mw-hero-note--step{
  display: grid;
  max-width: none;
  margin: 0 0 18px;
}

.mw-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}

@media (min-width: 992px){
  .mw-grid{
    grid-template-columns: 1fr 360px;
    gap: 18px;
  }

  /* Gdy nie renderujemy prawego aside (chcemy pełną szerokość). */
  .mw-grid.mw-grid--single{
    grid-template-columns: 1fr;
  }
}

.mw-card{
  background: var(--global-palette9, #fff);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 16px;
  margin-bottom: 35px;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

/* -----------------------------
   Wizard (kroki)
------------------------------ */

.mw-wizard__head{
  margin-bottom: 14px;
}

.mw-wizard__progress{
  font-size: 12px;
  opacity: .75;
  margin-bottom: 10px;
}

.mw-steps{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}

@media (max-width: 780px){
  .mw-steps{
    grid-template-columns: 1fr 1fr;
  }
}

.mw-stepper__item{
  font-size: 12px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  text-align: center;
  cursor: pointer;
  user-select: none;
  line-height: 1.15;
}

.mw-stepper__item.is-done{
  opacity: .9;
  background: rgba(0,0,0,.04);
}

.mw-stepper__item.is-active{
  border-color: rgba(0,0,0,.25);
  background: rgba(0,0,0,.06);
  font-weight: 700;
}

.mw-step{ display: none; }
.mw-step.is-active{ display: block; }

.mw-wizard-nav{
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
  margin: 6px 0 22px;
}

.mw-btn--ghost{
  background: transparent;
  border: 1px solid rgba(0,0,0,.14);
  color: inherit;
}

.mw-card__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.mw-card__title{
  margin: 0;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.mw-badge{
  font-size: 12px;
  opacity: .72;
  border: 1px solid rgba(0,0,0,.08);
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.02);
  white-space: nowrap;
}

.mw-hint{
  font-size: 12px;
  opacity: .7;
}

.mw-link{
  background: transparent;
  border: 0;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
}

.mw-link--muted{
  opacity: .85;
}

/* Step 4: equipment actions must stay clearly visible/clickable */
#mwEquipmentAdd{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 22%, transparent);
  background: var(--global-palette-btn-sec-bg, var(--global-palette7, #eeeeee));
  color: var(--global-palette-btn-sec, var(--global-palette3, #222));
  font-weight: 700;
  text-decoration: none;
  opacity: 1;
}

#mwEquipmentAdd:hover,
#mwEquipmentAdd:focus-visible{
  background: var(--global-palette-btn-sec-bg-hover, var(--global-palette2, #fdd100));
  color: var(--global-palette-btn-sec-hover, var(--global-palette9, #ffffff));
  border-color: transparent;
}

.mw-eq__remove{
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 8px;
  border: 1px solid color-mix(in srgb, var(--global-palette13, #b82105) 35%, transparent);
  background: color-mix(in srgb, var(--global-palette13, #b82105) 10%, transparent);
  color: var(--global-palette13, #b82105);
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  opacity: 1;
}

.mw-eq__remove:hover,
.mw-eq__remove:focus-visible{
  background: var(--global-palette13, #b82105);
  color: var(--global-palette9, #ffffff);
  border-color: transparent;
}

/* Empty state */
.mw-empty{
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 12px;
  padding: 14px;
  background: rgba(0,0,0,.02);
}

.mw-empty__hint{
  margin-top: 6px;
  font-size: 12px;
  opacity: .75;
}

.mw-empty__action{
  margin-top: 10px;
}

/* Product search shortcode */
.mw-product-search{
  position: relative;
  width: min(400px, 100%);
  font-family: var(--global-body-font-family, inherit);
}

.mw-product-search--compact{
  width: min(320px, 100%);
}

.mw-product-search__icon{
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--global-palette9, #fff);
  background: var(--global-palette1, #6ac413);
  width: 28px;
  height: 28px;
  border-radius: 999px;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--global-palette1, #6ac413) 35%, transparent);
  pointer-events: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mw-product-search__input{
  width: 100%;
  height: 40px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 16%, transparent);
  background: var(--global-palette9, #fff);
  color: var(--global-palette3, #222);
  padding: 0 44px 0 14px;
  font-size: var(--global-font-size-small, 0.9rem);
}

.mw-product-search__input:focus{
  outline: none;
  border-color: var(--global-palette-highlight, var(--global-palette1, #6ac413));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--global-palette-highlight, #6ac413) 20%, transparent);
}

.mw-product-search:focus-within .mw-product-search__icon{
  background: var(--global-palette2, #fdd100);
  color: var(--global-palette3, #222);
}

.mw-product-search__panel{
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 140;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 12%, transparent);
  background: var(--global-palette9, #fff);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  overflow: hidden;
}

.mw-product-search__list{
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 420px;
  overflow: auto;
}

.mw-product-search__item + .mw-product-search__item{
  border-top: 1px solid color-mix(in srgb, var(--global-palette3, #222) 10%, transparent);
}

.mw-product-search__link{
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  text-decoration: none;
  color: inherit;
}

.mw-product-search__link:hover,
.mw-product-search__link:focus-visible{
  background: var(--global-palette8, #f7f7f7);
}

.mw-product-search__media{
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mw-product-search__thumb{
  width: 44px;
  height: 44px;
  border-radius: 10px;
  object-fit: cover;
  display: block;
}

.mw-product-search__thumb--ph{
  border-radius: 10px;
  background: var(--global-palette8, #f7f7f7);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 10%, transparent);
}

.mw-product-search__title{
  font-size: var(--global-font-size-small, 0.9rem);
  color: var(--global-palette3, #222);
  line-height: 1.3;
}

.mw-product-search__price{
  margin-left: 8px;
  white-space: nowrap;
  font-size: var(--global-font-size-small, 0.9rem);
  font-weight: 700;
  color: var(--global-palette5, #454545);
}

.mw-product-search__empty{
  padding: 11px 12px;
  color: var(--global-palette6, #676767);
  font-size: var(--global-font-size-small, 0.9rem);
}

/* Products list container (JS renders items) */
.mw-products__list{
  display: grid;
  gap: 12px;
}

/* If your JS outputs tables/rows, we still make it look decent */
.mw-products__list .mw-item,
.mw-products__list > div{
  border-radius: 12px;
}

/* Fields */
.mw-fields{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

@media (min-width: 768px){
  .mw-fields{
    grid-template-columns: 1fr 1fr;
  }
}

.mw-fields__h{
  margin: 0 0 10px;
  font-size: 12px;
  opacity: .8;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.mw-field{
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.mw-field label{
  font-size: 13px;
  opacity: .75;
  font-weight: 600;
}

.mw-field input,
.mw-field textarea,
.mw-field select{
  width: 100%;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 8px;
  padding: 10px 12px;
  background: var(--global-palette9, #fff);
  box-shadow: inset 0 1px 0 rgba(0,0,0,.03);
}

.mw-field select{
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(0,0,0,.55) 50%),
                    linear-gradient(135deg, rgba(0,0,0,.55) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(1em + 2px), calc(100% - 13px) calc(1em + 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 34px;
}

.mw-request-wrap input:focus,
.mw-request-wrap select:focus,
.mw-request-wrap textarea:focus{
  outline: 2px solid color-mix(in srgb, var(--global-palette-highlight, #049f82) 70%, transparent);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--global-palette-highlight, #049f82) 18%, transparent);
}

.mw-request-wrap button:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--global-palette-highlight, #049f82) 70%, transparent);
  outline-offset: 3px;
}

.mw-field textarea{
  height: 43px;
  resize: vertical;
}

.mw-field--row{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 520px){
  .mw-field--row{
    grid-template-columns: 160px 1fr;
    align-items: end;
  }
}

/* Privacy box */
.mw-privacy{
  margin: 12px 0;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  font-size: 13px;
  line-height: 1.45;
}

/* Checkbox */
.mw-check{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 10px;
  user-select: none;
}

.mw-check--small{
  font-size: 0.95rem;
  opacity: 0.95;
}

.mw-check input{
  margin-top: 3px;
}

.mw-budget-assist{
  margin: 12px 0 16px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 8px;
  background: var(--global-palette8, #f7f7f7);
}

.mw-budget-assist__title{
  font-weight: 700;
  margin-bottom: 8px;
}

.mw-budget-assist__btns{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mw-budget-assist__hint{
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(0,0,0,.75);
}

/* Buttons */
.mw-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 3px;
  padding: 12px 14px;
  cursor: pointer;
  font: inherit;
  font-weight: 650;
  letter-spacing: -0.01em;
  transition: transform .06s ease, filter .12s ease;
}

.mw-btn:active{
  transform: translateY(1px);
}

.mw-btn--primary{
  background: var(--global-palette-btn-bg, #1f6feb);
  color: var(--global-palette-btn, #fff);
  border-color: transparent;
}

.mw-btn--primary:hover{
  background: var(--global-palette-btn-bg-hover, var(--global-palette-btn-bg, #1f6feb));
  color: var(--global-palette-btn-hover, var(--global-palette-btn, #fff));
}

.mw-btn--block{
  width: 100%;
}

.mw-submit-bottom{
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.mw-submit-status{
  font-size: 13px;
  opacity: .85;
}

.mw-help{
  margin-top: 10px!important;
  font-size: 12px;
  opacity: .75;
  line-height: 1.35;
}

.mw-result{
  margin-top: 8px;
}

/* Aside sticky */
.mw-aside {height: 100%;}
.mw-aside .mw-summary{
  position: sticky;
  top: 96px; /* dopasuj jeśli header Kadence ma inną wysokość */
}

.mw-summary__dl{
  margin: 12px 0 14px;
  display: grid;
  gap: 10px;
}

.mw-summary__row{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.mw-summary__row dt{
  margin: 0;
  font-size: 13px;
  opacity: .8;
}

.mw-summary__row dd{
  margin: 0;
  font-weight: 700;
}

.mw-summary__row--total dt,
.mw-summary__row--total dd{
  font-size: 14px;
}

/* Honeypot */
.mw-hp{
  display: none !important;
}

/* ===== Produkty jako karty ===== */
.mw-products__cards{
  display: grid;
  gap: 12px;
}

.mw-item{
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: var(--global-palette9, #fff);
}

.mw-item__thumb{
  display: block;
}

.mw-item__img{
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
}

.mw-item__img--ph{
  background: rgba(0,0,0,.04);
}

.mw-item__top{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.mw-item__name{
  font-weight: 700;
  text-decoration: none;
}

.mw-item__meta{
  font-size: 12px;
  opacity: .75;
  margin-top: 2px;
}

.mw-item__warn{
  margin-top: 6px;
  font-size: 12px;
  color: #b42318;
}

.mw-item__bottom{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.mw-item__limit{
  font-size: 12px;
  opacity: .7;
}

.mw-item__prices{
  display:flex;
  gap:10px;
  align-items:baseline;
  padding: 6px 10px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 80%, transparent);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 10%, transparent);
}
.mw-item__price{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width: 120px;
}
.mw-item__price span{
  font-size: 11px;
  color: var(--global-palette6, #676767);
}
.mw-item__price strong{
  font-weight: 700;
  white-space: nowrap;
}
.mw-item__price--line strong{
  color: var(--global-palette3, #222222);
}

/* Stepper ilości */
.mw-qty{
  display: inline-flex;
  align-items: stretch;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 12px;
  overflow: hidden;
}

.mw-qty__btn{
  width: 40px;
  border: 0;
  background: rgba(0,0,0,.04);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.mw-qty__input{
  width: 72px;
  border: 0;
  text-align: center;
  padding: 10px 8px;
  font: inherit;
}

/* "Usuń" jako mały czerwony link */
.mw-remove{
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  color: #b42318;
  font-size: 12px;
  text-decoration: underline;
  opacity: .95;
}
.mw-remove:hover{ opacity: 1; }

/* @media (min-width: 992px){
  .mw-submit-bottom{
    display: none;
  }
} */

.mw-skeleton{
  padding: 10px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
  border-radius: 12px;
}

.mw-error{
  padding: 10px;
  border: 1px solid rgba(180,35,24,.25);
  background: rgba(180,35,24,.06);
  border-radius: 12px;
}

.mw-ok{
  padding: 10px;
  border: 1px solid rgba(22,101,52,.25);
  background: rgba(22,101,52,.06);
  border-radius: 12px;
}
.mw-ok__note{ margin-top: 6px; }
.mw-ok__id{ margin-top: 6px; font-size: 12px; opacity: .8; }

/* Micro-feedback: flash karty po zmianie qty */
.mw-item{
  transition: box-shadow .18s ease, border-color .18s ease, transform .06s ease;
}

.mw-item.is-flash{
  border-color: rgba(31,111,235,.35);
  box-shadow: 0 10px 24px rgba(31,111,235,.10);
}

.mw-summary__row dd{
  transition: opacity .12s ease;
}
.mw-summary__row dd.is-fade{
  opacity: .55;
}

.mw-btn:disabled{
  opacity: .55;
  cursor: not-allowed;
  filter: grayscale(.15);
}

.mw-empty{
  text-align: left;
}

.mw-empty strong{
  display: inline-block;
  margin-bottom: 4px;
}

.mw-notice{
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 10px;
  padding: 12px 14px;
  margin: 12px 0;
  font-size: 14px;
  line-height: 1.35;
}

.mw-notice--warn{
  background: color-mix(in srgb, var(--global-palette15, #f5a524) 14%, transparent);
  border-color: color-mix(in srgb, var(--global-palette15, #f5a524) 35%, transparent);
}

.mw-notice--ok{
  background: color-mix(in srgb, var(--global-palette11, #13612e) 10%, transparent);
  border-color: color-mix(in srgb, var(--global-palette11, #13612e) 32%, transparent);
}

.mw-notice--bad{
  background: color-mix(in srgb, var(--global-palette13, #b82105) 10%, transparent);
  border-color: color-mix(in srgb, var(--global-palette13, #b82105) 32%, transparent);
}

.mw-note-sub{
  margin-top: 6px;
  font-size: 12px;
  opacity: .82;
}

#mwPrintBtn {
  margin-bottom: 10px;
}

/* --- Informational calculations box --- */
.mw-calc{
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:10px;
  background: var(--global-palette8, #f7f7f7);
}
.mw-calc__title{
  font-weight:700;
  margin:0 0 8px 0;
}
.mw-calc__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
@media (min-width: 760px){
  .mw-calc__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
.mw-calc__row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
}
.mw-calc__label{
  font-size:13px;
  color:#444;
}
.mw-calc__value{
  font-weight:700;
  white-space:nowrap;
}
.mw-calc__note{
  margin-top:10px;
  padding:10px;
  border-radius:10px;
  background: color-mix(in srgb, var(--global-palette15, #f5a524) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--global-palette15, #f5a524) 35%, transparent);
  color: var(--global-palette5, #454545);
  font-size:13px;
}

.mw-calc__note--ok{
  background: color-mix(in srgb, var(--global-palette11, #13612e) 10%, transparent);
  border-color: color-mix(in srgb, var(--global-palette11, #13612e) 32%, transparent);
}

.mw-calc__note--bad{
  background: color-mix(in srgb, var(--global-palette13, #b82105) 10%, transparent);
  border-color: color-mix(in srgb, var(--global-palette13, #b82105) 32%, transparent);
}

.mw-calc__note--info{
  background: color-mix(in srgb, var(--global-palette12, #1159af) 9%, transparent);
  border-color: color-mix(in srgb, var(--global-palette12, #1159af) 28%, transparent);
}

.mw-cart-sticky {
  position: static;
  top: 12px;
  z-index: 5;
}

/* Banner po wysłaniu */
.mw-flash {
  margin: 0 0 12px 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222222) 10%, transparent);
  background: var(--global-palette8, #f7f7f7);
  color: var(--global-palette3, #222222);
  line-height: 1.45;
}

.mw-flash--success{
  background: color-mix(in srgb, var(--global-palette1, #6ac413) 12%, var(--global-palette9, #ffffff));
  border-color: color-mix(in srgb, var(--global-palette1, #6ac413) 35%, transparent);
}

.mw-flash--error{
  background: color-mix(in srgb, var(--global-palette13, #b82105) 10%, var(--global-palette9, #ffffff));
  border-color: color-mix(in srgb, var(--global-palette13, #b82105) 35%, transparent);
}

.mw-flash .mw-btn{
  margin-top: 10px;
}


/* --- UX polish: Kadence globals + accessibility --- */
.mw-btn--secondary{
  background: var(--global-palette-btn-sec-bg, #eeeeee);
  color: var(--global-palette-btn-sec, #222222);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 15%, transparent);
}
.mw-btn--secondary:hover{
  background: var(--global-palette-btn-sec-bg-hover, var(--global-palette2, #008f72));
  color: var(--global-palette-btn-sec-hover, #fff);
}

.mw-btn[disabled], .mw-btn:disabled{
  opacity: .55;
  cursor: not-allowed;
}

.mw-sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.mw-miniwarn{
  display:inline-block;
  padding: .35rem .55rem;
  border-radius: .5rem;
  background: var(--global-palette8, #f7f7f7);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 15%, transparent);
  color: var(--global-palette5, #454545);
  font-size: .9rem;
}

/* Step 5 readiness checklist */
.mw-ready{
  margin: 0 0 16px 0;
  padding: 12px 14px;
  border: 1px solid var(--global-palette7, #eeeeee);
  background: var(--global-palette9, #fff);
  border-radius: 18px;
}
.mw-ready__title{
  font-weight: 700;
  margin-bottom: 8px;
}
.mw-ready__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 6px;
}
.mw-ready__item{
  position: relative;
  padding-left: 22px;
  font-size: .95rem;
  color: var(--global-palette5, #454545);
}
.mw-ready__item::before{
  content: "";
  position: absolute;
  left: 0;
  top: .35rem;
  width: 12px;
  height: 12px;
  border-radius: 99px;
  background: var(--global-palette7, #eeeeee);
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 18%, transparent);
}
.mw-ready__item[data-state="ok"]::before{ background: var(--global-palette1, #049f82); border-color: transparent; }
.mw-ready__item[data-state="bad"]::before{ background: var(--global-palette13, #b82105); border-color: transparent; }
.mw-ready__item[data-state="unknown"]::before{ background: var(--global-palette15, #f5a524); border-color: transparent; }

.mw-field__hint{
  margin-top: .35rem;
  font-size: .9rem;
  color: var(--global-palette13, #b82105);
}

.mw-help--tight{
  margin-top: 4px !important;
}
.mw-field--invalid input{
  border-color: var(--global-palette13, #b82105) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--global-palette13, #b82105) 18%, transparent);
}

.mw-qty__msg{
  margin-top:.25rem;
  font-size:.85rem;
  color: var(--global-palette13, #b82105);
  display:none;
}

.mw-item--top{
  outline: 2px solid color-mix(in srgb, var(--global-palette15, #f5a524) 70%, transparent);
  outline-offset: 2px;
  border-radius: 18px;
}
.mw-item__topbadge{
  margin-left:.5rem;
  padding:.15rem .45rem;
  border-radius: 999px;
  font-size:.75rem;
  font-weight:600;
  background: color-mix(in srgb, var(--global-palette15, #f5a524) 25%, transparent);
  border: 1px solid color-mix(in srgb, var(--global-palette15, #f5a524) 70%, transparent);
  color: var(--global-palette5, #454545);
}

.mw-note-delta{
  margin-top:.35rem;
}
.mw-note-tip{
  margin-top:.45rem;
  padding:.45rem .6rem;
  border-radius: 12px;
  background: color-mix(in srgb, var(--global-palette12, #1159af) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--global-palette12, #1159af) 28%, transparent);
  color: var(--global-palette5, #454545);
  font-size: .95rem;
}
.mw-topbox{
  margin-top:.55rem;
  padding:.55rem .7rem;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--global-palette3, #222) 12%, transparent);
  background: color-mix(in srgb, var(--global-palette8, #f7f7f7) 75%, transparent);
}
.mw-topbox__t{
  font-size:.9rem;
  color: var(--global-palette5, #454545);
  margin-bottom:.35rem;
}
.mw-topbox__list{
  margin:0;
  padding-left: 1.25rem;
}
.mw-topbox__list li{
  display:flex;
  gap:.5rem;
  align-items:baseline;
}
.mw-topbox__name{
  flex: 1 1 auto;
}
.mw-topbox__meta{
  flex: 0 0 auto;
  color: var(--global-palette6, #676767);
  font-size: .85rem;
}
.mw-topbox__money{
  flex: 0 0 auto;
  font-weight: 600;
}

/* --- Print view (teacher-friendly) --- */
.mw-print{ display:none; }

@media print{
  body *{ visibility:hidden !important; }
  #mwPrintArea, #mwPrintArea *{
    visibility:visible !important;
  }
  #mwPrintArea{
    display:block !important;
    position:absolute; left:0; top:0;
    width:100%;
    padding: 18mm 14mm;
    color: #000;
    background:#fff;
  }
  .mw-print__wrap{
    font-family: var(--global-body-font-family, Arial, sans-serif);
    font-size: 12px;
    line-height: 1.35;
  }
  .mw-print__head h1{
    margin:0 0 6px 0;
    font-size: 18px;
  }
  .mw-print__meta{
    color:#333;
    margin-bottom: 10px;
  }
  .mw-print__grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 10px;
  }
  .mw-print__grid h2{
    margin: 0 0 6px 0;
    font-size: 13px;
  }
  .mw-print__kv{
    display:flex;
    justify-content: space-between;
    gap: 10px;
    margin: 2px 0;
  }
  .mw-print__kv span{ color:#333; }
  .mw-print__kv strong{ font-weight:600; text-align:right; }
  .mw-print__table{
    width:100%;
    border-collapse: collapse;
    margin-top: 6px;
  }
  .mw-print__table th, .mw-print__table td{
    border: 1px solid #333;
    padding: 4px 6px;
    vertical-align: top;
  }
  .mw-print__table th{
    font-weight:700;
    background:#f2f2f2;
  }
  .mw-print__table .t-num{
    text-align:right;
    white-space:nowrap;
  }
  .mw-print__foot{
    margin-top: 10px;
    color:#333;
    font-size: 11px;
  }
  .mw-print__warn{
    padding: 6px 8px;
    border: 1px solid #333;
    margin: 6px 0;
  }
}
