.dauphin-materials-fields,
.dauphin-materials-summary,
.dauphin-materials-guidance {
  box-sizing: border-box;
  padding: 20px;
  margin: 20px 0;
  border: 1px solid #dce4ed;
  border-left: 4px solid #f7941d;
  border-radius: 10px;
  background: #f7fafc;
  color: #102b46;
  font: inherit;
}
.dauphin-materials-fields { min-width: 0; }
.dauphin-materials-fields legend { padding: 0 8px; font-weight: 700; font-size: 1.15em; }
.dauphin-materials-fields label { display: block; margin: 14px 0 7px; font-weight: 600; }
.dauphin-materials-fields select,
.dauphin-materials-fields textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 11px;
  border: 1px solid #8294a6;
  border-radius: 5px;
  background: #fff;
  color: #102b46;
  font: inherit;
}
.dauphin-materials-fields textarea { resize: vertical; }
.dauphin-materials-fields small { display: block; margin-top: 8px; font-size: .9em; line-height: 1.5; }
.dauphin-materials-fields select:focus,
.dauphin-materials-fields textarea:focus { outline: 2px solid #102b46; outline-offset: 2px; }
.dauphin-materials-guidance { max-width: 1200px; margin: 24px auto; }
.dauphin-materials-guidance h2,
.dauphin-materials-summary h4 { color: #102b46; margin: 0 0 10px; }
.dauphin-materials-guidance p,
.dauphin-materials-summary p { margin: 8px 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .dauphin-materials-fields, .dauphin-materials-summary, .dauphin-materials-guidance { padding: 15px; }
}

/* Checkout dropdown labels live above their controls instead of overlapping values.
   This covers the billing country/state and the registered materials select. */
body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__container {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__label,
body .wc-block-checkout .wc-block-components-text-input:has(input[data-dauphin-materials-details]) label {
  position: static !important;
  inset: auto !important;
  display: block !important;
  order: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
  text-overflow: clip !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select,
body .wc-block-checkout .wc-block-components-text-input input[data-dauphin-materials-details] {
  position: static !important;
  order: 1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 12px 42px 12px 12px !important;
  border: 1px solid #8294a6 !important;
  border-radius: 5px !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #102b46;
  font-size: 16px !important;
  line-height: 1.5 !important;
  text-indent: 0 !important;
  transform: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__expand {
  position: absolute !important;
  top: auto !important;
  bottom: 14px !important;
  right: 12px !important;
  left: auto !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  transform: none !important;
  pointer-events: none !important;
}
body .wc-block-checkout .wc-block-components-text-input:has(input[data-dauphin-materials-details]) {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
body .wc-block-checkout .wc-block-components-text-input input[data-dauphin-materials-details] { padding-right: 12px !important; }
body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus-visible,
body .wc-block-checkout .wc-block-components-text-input input[data-dauphin-materials-details]:focus-visible {
  outline: 2px solid #102b46 !important;
  outline-offset: 2px !important;
}
body .wc-block-checkout .wc-blocks-components-select.has-error .wc-blocks-components-select__select,
body .wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select[aria-invalid="true"],
body .wc-block-checkout .wc-block-components-text-input.has-error input[data-dauphin-materials-details],
body .wc-block-checkout .wc-block-components-text-input input[data-dauphin-materials-details][aria-invalid="true"] {
  border-color: #cc1818 !important;
}
