/* =========================================================
   MYIXI Overlays
   File: myixi-40-overlays.css
   Scope: Global Popup / Search / Modal / Floating UI
   ========================================================= */

.brx-popup,
.brx-popup * {
  box-sizing: border-box;
  min-width: 0;
}

.brx-popup {
  --overlay-primary: var(--myixi-primary, #055B90);
  --overlay-primary-hover: var(--myixi-primary-hover, #044A76);
  --overlay-title: var(--myixi-text, #17324A);
  --overlay-muted: var(--myixi-muted, #5E7285);
  --overlay-border: var(--myixi-border, #CFE0EE);
  --overlay-soft: var(--myixi-soft, #EEF6FB);
  --overlay-radius: 20px;
  --overlay-control-radius: 12px;
}


/* =========================================================
   Global Popup Base
   ========================================================= */

.brx-popup .brx-popup-backdrop {
  background: rgba(8, 20, 32, 0.54);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.brx-popup .brx-popup-content {
  background: #ffffff;
  border: 1px solid var(--overlay-border);
  border-radius: var(--overlay-radius);
  box-shadow: 0 24px 60px rgba(8, 22, 35, 0.18);
  overflow: hidden;
}

body:not(.wp-admin) #brxe-cwvldv #brxe-hxtkml {
  background: #ffffff;
  border: 1px solid var(--myixi-border, #CFE0EE);
}


/* =========================================================
   Quote Popup
   Popup ID: 21137
   ========================================================= */

.brxe-popup-21137 .brx-popup-content {
  width: 900px;
  max-width: 92vw;
  max-height: 88vh;
  padding: 0;
  border-radius: var(--overlay-radius);
}

.brxe-popup-21137 #brxe-39bff0,
.brxe-popup-21137 #brxe-3ead67,
.brxe-popup-21137 #brxe-ed7de1,
.brxe-popup-21137 #brxe-907944 {
  width: 100%;
  max-width: 100%;
}

.brxe-popup-21137 #brxe-39bff0,
.brxe-popup-21137 #brxe-3ead67 {
  padding: 0;
  margin: 0;
  background: #ffffff;
}

.brxe-popup-21137 #brxe-3ead67 {
  position: relative;
}

.brxe-popup-21137 #brxe-907944 {
  max-height: 88vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 34px 44px 38px;
  scrollbar-width: thin;
  scrollbar-color: #c9d7e3 transparent;
}

.brxe-popup-21137 #brxe-907944::-webkit-scrollbar {
  width: 6px;
}

.brxe-popup-21137 #brxe-907944::-webkit-scrollbar-thumb {
  background: #c9d7e3;
  border-radius: 999px;
}

.brxe-popup-21137 #brxe-907944::before {
  content: "Request a Quote";
  display: block;
  margin: 0 56px 8px 0;

  color: var(--overlay-title);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 32px;
  font-weight: 780;
  line-height: 1.12;
  letter-spacing: 0;
}

.brxe-popup-21137 #brxe-907944::after {
  content: "Tell us your product requirements. Our team will reply within 24 hours.";
  display: block;
  margin: -2px 56px 24px 0;

  color: var(--overlay-muted);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.6;
}


/* Quote Popup Close Button */

.brxe-popup-21137 #brxe-579abf {
  position: absolute;
  top: 18px;
  right: 18px;
  left: auto;
  z-index: 50;

  width: auto;
  height: auto;
  margin: 0;
  padding: 0;

  display: flex;
  align-items: center;
  justify-content: center;
}

.brxe-popup-21137 #brxe-2c9d9e {
  position: relative;

  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  margin: 0;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  border: 1px solid var(--overlay-border);
  border-radius: 999px;
  color: transparent;
  font-size: 0;
  line-height: 1;

  box-shadow: 0 10px 26px rgba(23, 50, 74, 0.12);
  cursor: pointer;
  overflow: hidden;

  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.brxe-popup-21137 #brxe-2c9d9e:hover {
  background: var(--overlay-soft);
  border-color: rgba(5, 91, 144, 0.28);
  transform: translateY(-1px);
}

.brxe-popup-21137 #brxe-2c9d9e::before,
.brxe-popup-21137 #brxe-2c9d9e::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  width: 18px;
  height: 2px;

  background: var(--overlay-title);
  border-radius: 999px;
  transform-origin: center;
}

.brxe-popup-21137 #brxe-2c9d9e::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.brxe-popup-21137 #brxe-2c9d9e::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.brxe-popup-21137 #brxe-2c9d9e:hover::before,
.brxe-popup-21137 #brxe-2c9d9e:hover::after {
  background: var(--overlay-primary);
}


/* Quote Form */

.brxe-popup-21137 .wpcf7,
.brxe-popup-21137 .wpcf7 form,
.brxe-popup-21137 .myixi-power-form {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.brxe-popup-21137 .wpcf7 p,
.brxe-popup-21137 .myixi-power-form p {
  margin: 0;
  padding: 0;
}

.brxe-popup-21137 .myixi-power-form br {
  display: none;
}

.brxe-popup-21137 .myixi-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 18px;
  align-items: start;
}

.brxe-popup-21137 .myixi-field {
  width: 100%;
}

.brxe-popup-21137 .myixi-field.half {
  grid-column: span 1;
}

.brxe-popup-21137 .myixi-field.full {
  grid-column: 1 / -1;
}

.brxe-popup-21137 .myixi-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;

  margin: 0 0 7px;

  color: var(--overlay-title);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.brxe-popup-21137 .req,
.brxe-popup-21137 .myixi-label .req {
  color: #d92d20;
  font-weight: 800;
}

.brxe-popup-21137 input[type="text"],
.brxe-popup-21137 input[type="email"],
.brxe-popup-21137 input[type="tel"],
.brxe-popup-21137 select,
.brxe-popup-21137 textarea,
.brxe-popup-21137 .myixi-input,
.brxe-popup-21137 .myixi-select,
.brxe-popup-21137 .myixi-textarea {
  width: 100%;
  background: #ffffff;
  color: var(--overlay-title);

  border: 1px solid var(--overlay-border);
  border-radius: var(--overlay-control-radius);

  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.4;

  outline: none;
  box-shadow: none;

  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.brxe-popup-21137 input[type="text"],
.brxe-popup-21137 input[type="email"],
.brxe-popup-21137 input[type="tel"],
.brxe-popup-21137 select,
.brxe-popup-21137 .myixi-input,
.brxe-popup-21137 .myixi-select {
  height: 48px;
  min-height: 48px;
  padding: 0 15px;
}

.brxe-popup-21137 textarea,
.brxe-popup-21137 textarea[name="your-message"],
.brxe-popup-21137 .myixi-textarea {
  height: 126px;
  min-height: 126px;
  max-height: 180px;
  padding: 14px 15px;
  resize: vertical;
}

.brxe-popup-21137 input::placeholder {
  color: transparent;
}

.brxe-popup-21137 textarea::placeholder {
  color: #98a8b7;
}

.brxe-popup-21137 input:focus,
.brxe-popup-21137 select:focus,
.brxe-popup-21137 textarea:focus {
  border-color: var(--overlay-primary);
  box-shadow: 0 0 0 3px rgba(5, 91, 144, 0.12);
}

.brxe-popup-21137 input[type="file"],
.brxe-popup-21137 .myixi-file {
  width: 100%;
  padding: 12px 14px;

  background: #F7FAFC;
  color: var(--overlay-title);

  border: 1px solid var(--overlay-border);
  border-radius: var(--overlay-control-radius);

  font-size: 14px;
}

.brxe-popup-21137 .myixi-field small {
  display: block;
  margin-top: 8px;

  color: var(--overlay-muted);
  font-size: 13px;
  line-height: 1.5;
}

.brxe-popup-21137 .myixi-consent {
  margin-top: 2px;
  margin-bottom: 4px;
}

.brxe-popup-21137 .myixi-consent-title {
  display: inline-flex;
  align-items: center;
  gap: 4px;

  margin-bottom: 10px;

  color: var(--overlay-title);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.brxe-popup-21137 .myixi-consent .wpcf7-checkbox,
.brxe-popup-21137 .myixi-consent .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.brxe-popup-21137 .myixi-consent .wpcf7-list-item {
  display: block;
  margin: 0;
}

.brxe-popup-21137 .myixi-consent .wpcf7-list-item > label {
  display: flex;
  align-items: flex-start;
  gap: 12px;

  color: var(--overlay-title);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 500;

  cursor: pointer;
}

.brxe-popup-21137 .myixi-consent input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  min-height: 18px;

  margin: 3px 0 0;
  flex: 0 0 auto;

  accent-color: var(--overlay-primary);
}

.brxe-popup-21137 .myixi-submit-wrap {
  margin-top: 8px;
}

.brxe-popup-21137 .myixi-submit,
.brxe-popup-21137 input[type="submit"] {
  width: 100%;
  min-height: 54px;
  padding: 0 24px;

  background: var(--overlay-primary);
  color: #ffffff;

  border: 1px solid var(--overlay-primary);
  border-radius: 999px;

  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.03em;
  text-transform: uppercase;

  cursor: pointer;

  transition:
    background 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

.brxe-popup-21137 .myixi-submit:hover,
.brxe-popup-21137 input[type="submit"]:hover {
  background: var(--overlay-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(5, 91, 144, 0.2);
}

.brxe-popup-21137 input[type="submit"]:disabled {
  background: #77aecb;
  border-color: #77aecb;
  opacity: 0.72;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.brxe-popup-21137 .wpcf7-spinner {
  margin-left: 10px;
}

.brxe-popup-21137 .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;

  color: #d92d20;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
}

.brxe-popup-21137 .wpcf7-not-valid {
  border-color: #d92d20;
}

.brxe-popup-21137 .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 14px;

  border-radius: var(--overlay-control-radius);

  font-size: 13px;
  line-height: 1.5;
  text-transform: none;
}

.brxe-popup-21137 .cf-turnstile,
.brxe-popup-21137 .cf7sr-turnstile,
.brxe-popup-21137 .cf7-simple-turnstile,
.brxe-popup-21137 [class*="turnstile"] {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 14px 0 18px;
  clear: both;
}

.brxe-popup-21137 iframe[title*="Widget containing a Cloudflare security challenge"],
.brxe-popup-21137 iframe[src*="challenges.cloudflare.com"] {
  display: block;
  margin: 14px 0 18px;
}


/* =========================================================
   Search Popup
   Popup ID: 21172
   ========================================================= */

.brxe-popup-21172 .brx-popup-content {
  position: relative;

  width: 640px;
  max-width: 92vw;
  padding: 38px 42px 34px;

  background:
    radial-gradient(circle at 92% 0%, rgba(5, 91, 144, 0.07), transparent 34%),
    #ffffff;

  border-radius: var(--overlay-radius);
}

.brxe-popup-21172 #brxe-d8744c {
  margin: 0 48px 20px 0;

  color: var(--overlay-title);
  font-family: Montserrat, Arial, sans-serif;
  font-size: clamp(26px, 2vw, 34px);
  line-height: 1.14;
  font-weight: 780;
  letter-spacing: 0;
}

.brxe-popup-21172 #brxe-9ca179,
.brxe-popup-21172 #brxe-58f949 {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  background: transparent;
}

.brxe-popup-21172 #brxe-877728,
.brxe-popup-21172 #brxe-877728 .bricks-search-form {
  width: 100%;
}

.brxe-popup-21172 #brxe-877728 .bricks-search-form {
  position: relative;
  margin: 0;
}

.brxe-popup-21172 #brxe-877728 label {
  display: none;
}

.brxe-popup-21172 #search-input-877728 {
  width: 100%;
  height: 58px;
  min-height: 58px;
  padding: 0 18px 0 52px;

  background: #F7FAFC;
  color: var(--overlay-title);

  border: 1px solid var(--overlay-border);
  border-radius: var(--overlay-control-radius);

  font-family: Montserrat, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 500;

  outline: none;
  box-shadow: none;

  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.brxe-popup-21172 #search-input-877728::placeholder {
  color: #8a9baa;
}

.brxe-popup-21172 #search-input-877728:focus {
  background: #ffffff;
  border-color: var(--overlay-primary);
  box-shadow: 0 0 0 3px rgba(5, 91, 144, 0.12);
}

.brxe-popup-21172 #brxe-877728 .bricks-search-form::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  z-index: 2;

  width: 17px;
  height: 17px;

  border: 2px solid var(--overlay-primary);
  border-radius: 50%;

  transform: translateY(-50%);
  pointer-events: none;
}

.brxe-popup-21172 #brxe-877728 .bricks-search-form::after {
  content: "";
  position: absolute;
  left: 34px;
  top: calc(50% + 9px);
  z-index: 2;

  width: 8px;
  height: 2px;

  background: var(--overlay-primary);
  border-radius: 999px;

  transform: rotate(45deg);
  pointer-events: none;
}

.brxe-popup-21172 #brxe-316549 {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 5;

  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #F7FAFC;
  border: 1px solid var(--overlay-border);
  border-radius: 999px;

  color: transparent;
  font-size: 0;
  line-height: 1;

  box-shadow: none;
  cursor: pointer;

  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.brxe-popup-21172 #brxe-316549:hover {
  background: var(--overlay-soft);
  border-color: rgba(5, 91, 144, 0.28);
  transform: translateY(-1px);
}

.brxe-popup-21172 #brxe-316549::before,
.brxe-popup-21172 #brxe-316549::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  width: 17px;
  height: 2px;

  background: var(--overlay-title);
  border-radius: 999px;
  transform-origin: center;
}

.brxe-popup-21172 #brxe-316549::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.brxe-popup-21172 #brxe-316549::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}


/* =========================================================
   Necessary Overrides
   Keep these few !important rules only for Bricks popup defaults.
   ========================================================= */

.brxe-popup-21137 .brx-popup-content,
.brxe-popup-21172 .brx-popup-content {
  max-width: 92vw !important;
}

.brxe-popup-21137 .brx-popup-content {
  padding: 0 !important;
}

.brxe-popup-21137 #brxe-2c9d9e,
.brxe-popup-21172 #brxe-316549 {
  color: transparent !important;
  font-size: 0 !important;
}

.brxe-popup-21137 input,
.brxe-popup-21137 select,
.brxe-popup-21137 textarea,
.brxe-popup-21137 input[type="submit"],
.brxe-popup-21172 input[type="search"] {
  box-shadow: none !important;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 767px) {
  .brxe-popup-21137 .brx-popup-content {
    width: 94vw;
    max-width: 94vw;
    max-height: 88vh;
    border-radius: 16px;
  }

  .brxe-popup-21137 #brxe-907944 {
    max-height: 88vh;
    padding: 24px 18px 26px;
  }

  .brxe-popup-21137 #brxe-907944::before {
    font-size: 28px;
    margin-right: 46px;
    margin-bottom: 8px;
  }

  .brxe-popup-21137 #brxe-907944::after {
    font-size: 13px;
    margin-right: 46px;
    margin-bottom: 20px;
  }

  .brxe-popup-21137 #brxe-579abf {
    top: 14px;
    right: 14px;
  }

  .brxe-popup-21137 #brxe-2c9d9e {
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
  }

  .brxe-popup-21137 #brxe-2c9d9e::before,
  .brxe-popup-21137 #brxe-2c9d9e::after {
    width: 17px;
    height: 2px;
  }

  .brxe-popup-21137 .myixi-form-grid {
    grid-template-columns: 1fr;
    row-gap: 15px;
  }

  .brxe-popup-21137 .myixi-field.half,
  .brxe-popup-21137 .myixi-field.full {
    grid-column: 1 / -1;
  }

  .brxe-popup-21137 .myixi-label {
    font-size: 14px;
    margin-bottom: 6px;
  }

  .brxe-popup-21137 input[type="text"],
  .brxe-popup-21137 input[type="email"],
  .brxe-popup-21137 input[type="tel"],
  .brxe-popup-21137 select,
  .brxe-popup-21137 .myixi-input,
  .brxe-popup-21137 .myixi-select {
    height: 46px;
    min-height: 46px;
    font-size: 14px;
  }

  .brxe-popup-21137 textarea,
  .brxe-popup-21137 textarea[name="your-message"],
  .brxe-popup-21137 .myixi-textarea {
    height: 112px;
    min-height: 112px;
    max-height: 170px;
    font-size: 14px;
  }

  .brxe-popup-21137 .myixi-consent-title,
  .brxe-popup-21137 .myixi-consent .wpcf7-list-item > label {
    font-size: 14px;
  }

  .brxe-popup-21137 .myixi-consent input[type="checkbox"] {
    width: 17px;
    height: 17px;
    min-width: 17px;
    min-height: 17px;
  }

  .brxe-popup-21137 .myixi-submit,
  .brxe-popup-21137 input[type="submit"] {
    min-height: 50px;
    font-size: 14px;
  }

  .brxe-popup-21172 .brx-popup-content {
    width: 94vw;
    max-width: 94vw;
    padding: 30px 20px 24px;
    border-radius: 18px;
  }

  .brxe-popup-21172 #brxe-d8744c {
    margin-right: 46px;
    margin-bottom: 18px;
    font-size: 26px;
  }

  .brxe-popup-21172 #search-input-877728 {
    height: 52px;
    min-height: 52px;
    padding-left: 48px;
    font-size: 15px;
  }

  .brxe-popup-21172 #brxe-316549 {
    top: 16px;
    right: 16px;

    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
  }
}