.webdex-rfq, .webdex-rfq * { box-sizing: border-box; }
.webdex-rfq { color: var(--wr-text); font-family: var(--wr-font); font-size: min(var(--wr-size), 16px); font-weight: 400; line-height: 1.4; background: var(--wr-bg); border-radius: 14px; }
.webdex-rfq-open, .webdex-rfq button[type="submit"], .webdex-rfq-company { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 0; border-radius: 7px; background: var(--wr-primary, #2f4ec7); color: #fff; font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.2; padding: 10px 20px; cursor: pointer; transition: opacity .2s ease, transform .2s ease; }
.webdex-rfq-open { background: #2f4ec7; }
.webdex-rfq button:disabled { opacity: .65; cursor: wait; }
.webdex-rfq-modal[hidden] { display: none; }
.webdex-rfq-modal { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 3vh 4vw; }
.webdex-rfq-overlay { position: absolute; inset: 0; background: rgba(10, 25, 63, .82); backdrop-filter: blur(3px); }
.webdex-rfq-dialog { position: relative; z-index: 1; width: min(1180px, 94vw); max-height: 94vh; padding: 20px 24px; overflow: auto; background: var(--wr-bg, #fff); border-radius: 14px; box-shadow: 0 28px 75px rgba(0, 0, 0, .35); }
.webdex-rfq-close { position: absolute; right: 16px; top: 14px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 8px; background: var(--wr-primary, #2f4ec7); color: #fff; font-size: 24px; font-weight: 400; line-height: 1; cursor: pointer; }
.webdex-rfq-close small { display: none; }
.webdex-rfq-head { display: flex; align-items: center; gap: 22px; min-height: 58px; padding: 0 54px 14px 6px; }
.webdex-rfq-logo { width: auto; max-width: 165px; max-height: 48px; }
.webdex-rfq-wordmark { font-size: 30px; line-height: 1; font-weight: 700; color: var(--wr-navy); }
.webdex-rfq-wordmark span { color: var(--wr-primary); }
.webdex-rfq-head h2 { margin: 0; color: var(--wr-navy); font-size: clamp(23px, 2.4vw, 31px); font-weight: 650; line-height: 1.15; }
.webdex-rfq-head p { margin: 4px 0 0; color: #64708a; font-size: 14px; font-weight: 400; }
.webdex-rfq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.webdex-rfq-card { margin: 0 0 12px; padding: 13px 18px; border: 1px solid var(--wr-border); border-radius: 10px; background: var(--wr-bg); }
.webdex-rfq-card h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 9px; color: var(--wr-navy); font-size: 18px; font-weight: 650; line-height: 1.2; }
.webdex-rfq-card h3 span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e8f0ff; color: var(--wr-primary); font-size: 13px; font-weight: 600; }
.webdex-rfq label { display: block; margin: 7px 0; color: var(--wr-text); font-size: 12px; font-weight: 600; letter-spacing: .015em; }
.webdex-rfq input:not([type="checkbox"]):not([type="file"]), .webdex-rfq select, .webdex-rfq textarea { display: block; width: 100%; min-height: 42px; margin-top: 4px; padding: 9px 12px; border: 1px solid var(--wr-border); border-radius: 7px; outline: 0; background: var(--wr-field); color: var(--wr-text); font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.35; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease; }
.webdex-rfq select { appearance: none; -webkit-appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--wr-primary) 50%), linear-gradient(135deg, var(--wr-primary) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; cursor: pointer; }
.webdex-rfq input:focus, .webdex-rfq select:focus, .webdex-rfq textarea:focus { border-color: var(--wr-primary); box-shadow: 0 0 0 3px rgba(47, 78, 199, .12); }
.webdex-rfq textarea { min-height: 88px; resize: vertical; }
.webdex-rfq-nip { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
.webdex-rfq-company { min-width: 190px; height: 42px; margin-bottom: 7px; white-space: nowrap; }
.webdex-rfq-company-msg { min-height: 0; margin: 2px 0 4px; color: #1f7a3d; font-size: 12px; font-weight: 400; }
.webdex-rfq-detail-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; align-items: stretch; }
.webdex-rfq-upload { height: calc(100% - 14px); }
.webdex-rfq-upload span { display: flex; min-height: 132px; height: calc(100% - 18px); align-items: center; justify-content: center; flex-direction: column; padding: 14px; border: 1px dashed var(--wr-primary); border-radius: 7px; color: var(--wr-navy); text-align: center; font-size: 13px; font-weight: 500; cursor: pointer; }
.webdex-rfq-upload b { color: var(--wr-primary); font-size: 28px; font-weight: 500; line-height: 1; }
.webdex-rfq-upload small { display: block; margin-top: 5px; color: #74809a; font-size: 11px; font-weight: 400; }
.webdex-rfq-upload input { position: absolute; opacity: 0; pointer-events: none; }
.webdex-rfq-check { display: flex !important; align-items: center; gap: 8px; }
.webdex-rfq-verify { display: grid; grid-template-columns: 150px minmax(160px, 220px) minmax(320px, 1fr); gap: 20px; align-items: center; padding: 12px 18px; border: 1px solid var(--wr-border); border-radius: 10px; background: #f4f7fc; }
.webdex-rfq-verify h3 { margin: 0; color: var(--wr-navy); font-size: 18px; font-weight: 650; }
.webdex-rfq-verify label { margin: 0; }
.webdex-rfq-send { display: grid; grid-template-columns: minmax(210px, 1fr) minmax(230px, auto); gap: 14px; align-items: center; }
.webdex-rfq-send button { width: 100%; white-space: nowrap; }
.webdex-rfq-consent { display: flex !important; align-items: center; gap: 7px; font-size: 12px !important; font-weight: 400 !important; letter-spacing: 0 !important; }
.webdex-rfq-consent input { flex: 0 0 auto; }
.webdex-rfq-consent a { color: var(--wr-primary); font-weight: 500; }
.webdex-rfq-message { margin-top: 8px; text-align: center; font-size: 13px; font-weight: 500; }
.webdex-rfq-message.is-error { color: #b42318; }
.webdex-rfq-message.is-success { color: #16803b; }
.webdex-rfq-hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.webdex-rfq-inline { max-width: 1200px; margin: 30px auto; }
.webdex-rfq-inline .webdex-rfq { padding: 24px; border: 1px solid var(--wr-border); }
body.webdex-rfq-locked { overflow: hidden; }
@media (max-width: 1000px) { .webdex-rfq-verify { grid-template-columns: 120px minmax(160px, 210px) 1fr; gap: 14px; } .webdex-rfq-send { grid-template-columns: 1fr; gap: 8px; } }
@media (max-width: 900px) { .webdex-rfq-dialog { padding: 18px; overflow: auto; } .webdex-rfq-head { display: block; padding-right: 50px; } .webdex-rfq-logo { margin-bottom: 9px; } .webdex-rfq-wordmark { margin-bottom: 9px; font-size: 27px; } .webdex-rfq-grid, .webdex-rfq-detail-grid, .webdex-rfq-verify { grid-template-columns: 1fr; } .webdex-rfq-nip { grid-template-columns: 1fr; } .webdex-rfq-company { width: 100%; margin: 0; } .webdex-rfq-modal { padding: 12px; } .webdex-rfq-card { padding: 14px; } .webdex-rfq-upload span { min-height: 100px; } }

/* Doprecyzowanie układu i odporność na style motywu WordPress. */
.webdex-rfq-head {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 180px;
  gap: 18px;
  padding: 0 0 14px;
}
.webdex-rfq-head-copy { grid-column: 2; text-align: center; }
.webdex-rfq-head h2 { font-size: clamp(21px, 2vw, 27px); font-weight: 600; }
.webdex-rfq-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center;
  line-height: 1 !important;
  text-indent: 0;
}
.webdex-rfq-company {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 0 7px !important;
  padding: 0 20px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
.webdex-rfq select,
.webdex-rfq select:focus,
.webdex-rfq select:active {
  color-scheme: light !important;
  background-color: var(--wr-field, #fff) !important;
  color: var(--wr-text, #17213a) !important;
}
.webdex-rfq select option {
  background: #fff !important;
  color: #17213a !important;
  font-weight: 400;
}
.webdex-rfq-required { color: #c62828; font-weight: 600; }
.webdex-rfq-phone {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  min-height: 42px;
  margin-top: -3px;
  border: 1px solid var(--wr-border);
  border-radius: 7px;
  overflow: hidden;
  background: var(--wr-field);
}
.webdex-rfq-phone > span {
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--wr-border);
  background: #f4f7fc;
  color: var(--wr-navy);
  font-size: 14px;
  font-weight: 600;
}
.webdex-rfq-phone input {
  min-height: 40px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.webdex-rfq-phone:focus-within {
  border-color: var(--wr-primary);
  box-shadow: 0 0 0 3px rgba(47, 78, 199, .12);
}
.webdex-rfq-math {
  display: flex !important;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.webdex-rfq-math input {
  width: 58px !important;
  min-width: 58px;
  min-height: 40px !important;
  margin: 0 !important;
  text-align: center;
}
.webdex-rfq-verify {
  grid-template-columns: 150px minmax(230px, auto) minmax(320px, 1fr);
}
@media (max-width: 900px) {
  .webdex-rfq-head { display: grid; grid-template-columns: 1fr; padding-right: 48px; }
  .webdex-rfq-head-copy { grid-column: 1; text-align: left; }
  .webdex-rfq-verify { grid-template-columns: 1fr; }
  .webdex-rfq-math { justify-content: space-between; }
}

/* Zatwierdzony wariant interfejsu 0.9.8. */
.webdex-rfq-head h2 {
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
.webdex-rfq-company,
.webdex-rfq button[type="submit"] {
  height: 42px !important;
  min-height: 42px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: 7px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}
.webdex-rfq-close {
  width: 38px !important;
  height: 38px !important;
  font-size: 22px !important;
}
.webdex-rfq-consent {
  align-items: flex-start !important;
  color: #5f687d !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.webdex-rfq-consent input { margin-top: 2px !important; }
.webdex-rfq-consent span,
.webdex-rfq-consent a {
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.webdex-rfq-consent a { color: var(--wr-primary) !important; }
.webdex-rfq-custom-select { position: relative; margin-top: 4px; }
.webdex-rfq-select-native { display: none !important; }
.webdex-rfq-select-trigger {
  display: flex !important;
  width: 100% !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 9px 13px !important;
  border: 1px solid var(--wr-border) !important;
  border-radius: 7px !important;
  background: var(--wr-field, #fff) !important;
  color: var(--wr-text, #17213a) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.webdex-rfq-select-trigger i {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  margin: -4px 2px 0 14px;
  border-right: 2px solid var(--wr-primary);
  border-bottom: 2px solid var(--wr-primary);
  transform: rotate(45deg);
  transition: transform .18s ease;
}
.webdex-rfq-custom-select.is-open .webdex-rfq-select-trigger {
  border-color: var(--wr-primary) !important;
  border-radius: 7px 7px 0 0 !important;
  box-shadow: 0 0 0 3px rgba(47, 78, 199, .10) !important;
}
.webdex-rfq-custom-select.is-open .webdex-rfq-select-trigger i { margin-top: 4px; transform: rotate(225deg); }
.webdex-rfq-custom-select.is-invalid .webdex-rfq-select-trigger { border-color: #b42318 !important; }
.webdex-rfq-select-options {
  position: absolute;
  z-index: 50;
  top: calc(100% - 1px);
  left: 0;
  width: 100%;
  max-height: 230px;
  overflow-y: auto;
  border: 1px solid var(--wr-primary);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(23, 42, 99, .16);
}
.webdex-rfq-select-options[hidden] { display: none !important; }
.webdex-rfq-select-options button {
  display: block !important;
  width: 100% !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf0f5 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #17213a !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.webdex-rfq-select-options button:last-child { border-bottom: 0 !important; }
.webdex-rfq-select-options button:hover,
.webdex-rfq-select-options button:focus { background: #eef4ff !important; color: var(--wr-primary) !important; outline: 0; }
.webdex-rfq-select-options button.is-selected { background: #e8f0ff !important; color: var(--wr-primary) !important; font-weight: 500 !important; }

/* Pole NIP i przycisk GUS mają zawsze identyczną wysokość. */
.webdex-rfq-nip { display: block !important; }
.webdex-rfq-nip > label { margin: 7px 0 4px !important; }
.webdex-rfq-nip-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
}
.webdex-rfq-nip-row > input {
  height: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
}
.webdex-rfq-nip-row > .webdex-rfq-company {
  align-self: stretch !important;
  height: auto !important;
  min-height: 42px !important;
  margin: 0 !important;
}
@media (max-width: 900px) {
  .webdex-rfq-nip-row { grid-template-columns: 1fr; }
}
