
/* =========================================================
   HASHED SYSTEM — SHARED CONTACT FORM 7 UI
   Matches the Contact Us architecture inquiry form.
   Designed to be reusable on every page.
========================================================= */

.hs-cf7-form,
.hs-cf7-form.wpcf7-form {
  width: 100%;
  color: var(--hs-cf7-text, #f8fafc);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hs-cf7-form .hs-cf7-fields {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.hs-cf7-form .hs-cf7-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.hs-cf7-form .hs-cf7-field {
  min-width: 0;
}

.hs-cf7-form .hs-cf7-label {
  display: block;
  margin: 0 0 .5rem;
  color: #f8fafc;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 600;
  letter-spacing: .01em;
}

.hs-cf7-form .hs-cf7-required {
  color: #38bdf8;
}

.hs-cf7-form input[type="text"],
.hs-cf7-form input[type="email"],
.hs-cf7-form input[type="tel"],
.hs-cf7-form select,
.hs-cf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.04);
  border-radius: .5rem;
  background: #111827;
  color: #f8fafc;
  box-shadow: inset 0 2px 8px rgba(2,6,23,.22);
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease;
  font-family: inherit;
  font-size: .875rem;
  line-height: 1.25rem;
}

.hs-cf7-form input[type="text"],
.hs-cf7-form input[type="email"],
.hs-cf7-form input[type="tel"],
.hs-cf7-form select {
  height: 52px;
  padding: 0 1rem;
}

.hs-cf7-form textarea {
  min-height: 112px;
  padding: 1rem;
  resize: none;
}

.hs-cf7-form input::placeholder,
.hs-cf7-form textarea::placeholder {
  color: rgba(148,163,184,.60);
  opacity: 1;
}

.hs-cf7-form input:focus,
.hs-cf7-form select:focus,
.hs-cf7-form textarea:focus {
  outline: none;
  border-color: rgba(56,189,248,.35);
  background: #151d31;
  box-shadow:
    inset 0 2px 8px rgba(2,6,23,.22),
    0 0 0 2px rgba(56,189,248,.08);
}

.hs-cf7-form .hs-cf7-phone {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.hs-cf7-form .hs-cf7-phone-prefix {
  flex: 0 0 auto;
  height: 52px;
  padding: 0 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .5rem;
  background: #111827;
  color: #38bdf8;
  box-shadow: inset 0 2px 8px rgba(2,6,23,.22);
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 600;
  user-select: none;
}

.hs-cf7-form .hs-cf7-phone .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  min-width: 0;
}

.hs-cf7-form .hs-cf7-phone input {
  width: 100%;
}

.hs-cf7-form .hs-cf7-mandates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .375rem;
  padding-top: .25rem;
}

.hs-cf7-form .hs-cf7-mandates .wpcf7-form-control {
  display: contents;
}

.hs-cf7-form .hs-cf7-mandates .wpcf7-list-item {
  margin: 0 !important;
  display: block;
}

.hs-cf7-form .hs-cf7-mandates label {
  display: block;
  cursor: pointer;
  position: relative;
}

.hs-cf7-form .hs-cf7-mandates input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.hs-cf7-form .hs-cf7-mandate-pill {
  min-height: 44px;
  padding: .625rem .75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border: 1px solid transparent;
  border-radius: .5rem;
  background: #111827;
  color: #94a3b8;
  text-align: center;
  font-size: .6875rem;
  line-height: 1rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.hs-cf7-form .hs-cf7-mandates label:hover .hs-cf7-mandate-pill {
  color: #e2e8f0;
  background: #182237;
}

.hs-cf7-form .hs-cf7-mandates input[type="radio"]:checked + .hs-cf7-mandate-pill {
  background: #1d4ed8;
  color: #f8fafc;
  border-color: rgba(96,165,250,.20);
  box-shadow: 0 0 16px rgba(37,99,235,.40);
}

.hs-cf7-form .hs-cf7-select-wrap {
  position: relative;
}

.hs-cf7-form .hs-cf7-select-wrap select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 3rem;
  cursor: pointer;
}

.hs-cf7-form .hs-cf7-select-icon {
  pointer-events: none;
  position: absolute;
  right: .75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #38bdf8;
  font-family: "Material Symbols Outlined";
  font-size: 20px;
  line-height: 1;
}

.hs-cf7-form .hs-cf7-nda {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  padding: .75rem;
  border-radius: .5rem;
  background: #111827;
}

.hs-cf7-form .hs-cf7-nda .wpcf7-form-control-wrap {
  display: contents;
}

.hs-cf7-form .hs-cf7-nda label {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  cursor: pointer;
  margin: 0;
}

.hs-cf7-form .hs-cf7-nda input[type="checkbox"] {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin: 2px 0 0;
  accent-color: #1d4ed8;
  cursor: pointer;
}

.hs-cf7-form .hs-cf7-nda-text {
  color: #f8fafc;
  font-size: .75rem;
  line-height: 1.25rem;
  user-select: none;
}

.hs-cf7-form .hs-cf7-submit-wrap {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.hs-cf7-form input[type="submit"] {
  width: 100%;
  height: 56px;
  padding: 0 1.25rem;
  border: 0;
  border-radius: .5rem;
  background: #1d4ed8;
  color: #f8fafc;
  font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  box-shadow: 0 20px 35px -20px rgba(37,99,235,.75);
  cursor: pointer;
  transition:
    background-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}

.hs-cf7-form input[type="submit"]:hover {
  background: #2563eb;
  transform: scale(1.01);
  box-shadow: 0 22px 40px -18px rgba(37,99,235,.80);
}

.hs-cf7-form input[type="submit"]:focus-visible {
  outline: 2px solid #38bdf8;
  outline-offset: 3px;
}

.hs-cf7-form .hs-cf7-submit-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  color: #64748b;
  font-size: .75rem;
  line-height: 1.25rem;
  text-align: center;
}

.hs-cf7-form .hs-cf7-submit-note .material-symbols-outlined {
  color: #38bdf8;
  font-size: 16px;
}

.hs-cf7-form .wpcf7-not-valid {
  border-color: rgba(248,113,113,.65) !important;
}

.hs-cf7-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: .35rem;
  color: #fca5a5;
  font-size: .75rem;
  line-height: 1.1rem;
}

.hs-cf7-form .wpcf7-response-output {
  margin: 1rem 0 0 !important;
  padding: .75rem 1rem !important;
  border: 1px solid rgba(56,189,248,.20) !important;
  border-radius: .5rem;
  background: rgba(15,23,42,.72);
  color: #cbd5e1;
  font-size: .8125rem;
  line-height: 1.25rem;
}

.hs-cf7-form .wpcf7-spinner {
  margin: 0 .5rem 0 0;
}

.hs-cf7-form br {
  display: none;
}

@media (min-width: 640px) {
  .hs-cf7-form .hs-cf7-mandates {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .hs-cf7-form .hs-cf7-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .hs-cf7-form .hs-cf7-phone {
    align-items: stretch;
  }

  .hs-cf7-form .hs-cf7-phone-prefix {
    padding: 0 .75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hs-cf7-form input,
  .hs-cf7-form select,
  .hs-cf7-form textarea,
  .hs-cf7-form .hs-cf7-mandate-pill,
  .hs-cf7-form input[type="submit"] {
    transition: none !important;
  }
}

/* Prevent duplicated validation text if a form is clicked/submitted repeatedly. */
.wpcf7-form .wpcf7-not-valid-tip + .wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7-form.is-submitting input[type="submit"],
.wpcf7-form.is-submitting button[type="submit"] {
  pointer-events: none;
}
/* =========================================================
   HASHED SYSTEM
   CONTACT FORM 7
========================================================= */

.hs-contact-form {
    width: 100%;
    max-width: 100%;
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 24px;

    box-sizing: border-box;
}


/* =========================================================
   ROWS
========================================================= */

.hs-contact-form .hs-form-row {
    width: 100%;
    max-width: 100%;

    display: flex;
    align-items: flex-start;

    gap: 16px;

    box-sizing: border-box;
}


/*
 * Every item shares the available space.
 * min-width: 0 is important because it allows
 * fields to properly shrink inside smaller containers.
 */
.hs-contact-form .hs-form-row-2 > .hs-form-field {
    flex: 1 1 calc(50% - 8px);

    width: calc(50% - 8px);

    min-width: 0;
}


/* =========================================================
   FIELD
========================================================= */

.hs-contact-form .hs-form-field {
    width: 100%;
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 8px;

    box-sizing: border-box;
}


/* =========================================================
   LABEL
========================================================= */

.hs-contact-form label {
    display: block;

    margin: 0;

    color: #f8fafc;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
}


.hs-contact-form .hs-required {
    color: #38bdf8;
}


/* =========================================================
   CONTACT FORM 7 WRAPPERS
========================================================= */

.hs-contact-form .wpcf7-form-control-wrap {
    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;
}


/* =========================================================
   INPUTS
========================================================= */

.hs-contact-form input[type="text"],
.hs-contact-form input[type="email"],
.hs-contact-form input[type="tel"],
.hs-contact-form select,
.hs-contact-form textarea {

    display: block;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    box-sizing: border-box;

    border: 1px solid rgba(255,255,255,0.04);

    border-radius: 8px;

    background: #111827;

    color: #f8fafc;

    font-family: "Inter", sans-serif;

    font-size: 14px;
    line-height: 20px;

    box-shadow:
        inset 0 2px 8px rgba(2,6,23,0.22);

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}


/* Text inputs */

.hs-contact-form input[type="text"],
.hs-contact-form input[type="email"],
.hs-contact-form input[type="tel"],
.hs-contact-form select {

    height: 52px;

    padding-left: 16px;
    padding-right: 16px;
}


/* Textarea */

.hs-contact-form textarea {

    width: 100%;

    min-height: 112px;

    padding: 16px;

    resize: vertical;
}


/* Placeholder */

.hs-contact-form input::placeholder,
.hs-contact-form textarea::placeholder {

    color: rgba(148,163,184,0.60);

    opacity: 1;
}


/* =========================================================
   FIELD HOVER
========================================================= */

.hs-contact-form input[type="text"]:hover,
.hs-contact-form input[type="email"]:hover,
.hs-contact-form input[type="tel"]:hover,
.hs-contact-form select:hover,
.hs-contact-form textarea:hover {

    background: #141d30;

    border-color: rgba(56,189,248,0.18);
}


/* =========================================================
   FIELD FOCUS
========================================================= */

.hs-contact-form input[type="text"]:focus,
.hs-contact-form input[type="email"]:focus,
.hs-contact-form input[type="tel"]:focus,
.hs-contact-form select:focus,
.hs-contact-form textarea:focus {

    outline: none;

    background: #151d31;

    border-color: rgba(56,189,248,0.40);

    box-shadow:
        inset 0 2px 8px rgba(2,6,23,0.22),
        0 0 0 2px rgba(56,189,248,0.08);
}


/* =========================================================
   PHONE FIELD
========================================================= */

.hs-contact-form .hs-phone-field {

    width: 100%;

    display: flex;
    align-items: stretch;

    gap: 8px;

    min-width: 0;
}


.hs-contact-form .hs-phone-prefix {

    flex: 0 0 auto;

    min-width: max-content;

    height: 52px;

    padding: 0 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border-radius: 8px;

    background: #111827;

    color: #38bdf8;

    font-size: 14px;
    font-weight: 600;

    box-shadow:
        inset 0 2px 8px rgba(2,6,23,0.22);
}


.hs-contact-form .hs-phone-input {

    flex: 1 1 auto;

    width: auto;

    min-width: 0;
}


.hs-contact-form .hs-phone-input .wpcf7-form-control-wrap {
    width: 100%;
}


/* =========================================================
   PROJECT TYPE BUTTONS
========================================================= */

.hs-contact-form .hs-project-types {

    width: 100%;

    margin-top: 4px;
}


/*
 * Contact Form 7 automatically creates this container
 * around the radio buttons.
 */
.hs-contact-form .hs-project-types .wpcf7-radio {

    width: 100%;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 6px;
}


/* Individual option */

.hs-contact-form .hs-project-types .wpcf7-list-item {

    width: 100%;

    margin: 0 !important;

    min-width: 0;
}


.hs-contact-form .hs-project-types label {

    position: relative;

    width: 100%;

    display: block;

    cursor: pointer;
}


/* Hide standard radio */

.hs-contact-form .hs-project-types input[type="radio"] {

    position: absolute;

    opacity: 0;

    width: 1px;
    height: 1px;

    pointer-events: none;
}


/* The visible button */

.hs-contact-form
.hs-project-types
.wpcf7-list-item-label {

    width: 100%;

    min-height: 44px;

    padding: 10px 12px;

    display: flex;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    border-radius: 8px;

    border: 1px solid transparent;

    background: #111827;

    color: #94a3b8;

    text-align: center;

    font-family: "Inter", sans-serif;

    /*
     * Scales slightly according to available width
     * instead of overflowing narrow containers.
     */
    font-size: clamp(10px, 0.72vw, 11px);

    line-height: 16px;

    font-weight: 700;

    letter-spacing: 0.055em;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}


/* Hover */

.hs-contact-form
.hs-project-types
label:hover
.wpcf7-list-item-label {

    background: #182237;

    color: #e2e8f0;

    transform: translateY(-1px);
}


/* Selected */

.hs-contact-form
.hs-project-types
input[type="radio"]:checked
+
.wpcf7-list-item-label {

    background: #1d4ed8;

    color: #f8fafc;

    border-color: rgba(96,165,250,0.20);

    box-shadow:
        0 0 16px rgba(37,99,235,0.40);
}


/* =========================================================
   SELECT
========================================================= */

.hs-contact-form .hs-select-wrap {

    position: relative;

    width: 100%;

    min-width: 0;
}


.hs-contact-form select {

    appearance: none;

    -webkit-appearance: none;

    cursor: pointer;

    padding-right: 46px;
}


.hs-contact-form .hs-select-arrow {

    position: absolute;

    right: 14px;

    top: 50%;

    transform: translateY(-50%);

    pointer-events: none;

    color: #38bdf8;

    font-size: 20px;
}


/* =========================================================
   NDA
========================================================= */

.hs-contact-form .hs-nda {

    width: 100%;

    padding: 12px;

    box-sizing: border-box;

    border-radius: 8px;

    background: #111827;
}


.hs-contact-form .hs-nda .wpcf7-list-item {

    margin: 0;
}


.hs-contact-form .hs-nda label {

    display: flex;

    align-items: flex-start;

    gap: 8px;

    cursor: pointer;
}


.hs-contact-form .hs-nda input[type="checkbox"] {

    flex: 0 0 20px;

    width: 20px;
    height: 20px;

    margin: 2px 0 0;

    cursor: pointer;

    accent-color: #1d4ed8;
}


.hs-contact-form .hs-nda .wpcf7-list-item-label {

    color: #f8fafc;

    font-size: 12px;
    line-height: 20px;
}


/* =========================================================
   SUBMIT
========================================================= */

.hs-contact-form .hs-submit-area {

    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 12px;
}


.hs-contact-form .hs-submit-button {

    width: 100%;

    position: relative;
}


.hs-contact-form input[type="submit"] {

    width: 100%;

    max-width: 100%;

    height: 56px;

    padding:

        0
        52px
        0
        20px;

    box-sizing: border-box;

    border: 0;

    border-radius: 8px;

    background: #1d4ed8;

    color: #f8fafc;

    font-family: "Plus Jakarta Sans", sans-serif;

    font-size: 16px;

    line-height: 24px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 20px 35px -20px rgba(37,99,235,0.75);

    transition:
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}


.hs-contact-form input[type="submit"]:hover {

    background: #2563eb;

    transform: scale(1.01);

    box-shadow:
        0 22px 40px -18px rgba(37,99,235,0.80);
}


.hs-contact-form input[type="submit"]:active {

    transform: scale(0.995);
}


.hs-contact-form input[type="submit"]:focus-visible {

    outline: 2px solid #38bdf8;

    outline-offset: 3px;
}


.hs-contact-form .hs-submit-arrow {

    position: absolute;

    pointer-events: none;

    right: 20px;

    top: 50%;

    transform: translateY(-50%);

    color: #f8fafc;

    font-size: 20px;

    transition:
        transform 180ms ease;
}


.hs-contact-form
.hs-submit-button:hover
.hs-submit-arrow {

    transform:
        translate(3px, -50%);
}


/* =========================================================
   SUBMIT NOTE
========================================================= */

.hs-contact-form .hs-submit-note {

    width: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 6px;

    color: #64748b;

    text-align: center;

    font-size: 12px;

    line-height: 20px;
}


.hs-contact-form
.hs-submit-note
.material-symbols-outlined {

    flex: 0 0 auto;

    color: #38bdf8;

    font-size: 16px;
}


/* =========================================================
   CONTACT FORM 7 VALIDATION
========================================================= */

.hs-contact-form .wpcf7-not-valid {

    border-color:
        rgba(248,113,113,0.65) !important;
}


.hs-contact-form .wpcf7-not-valid-tip {

    display: block;

    margin-top: 6px;

    color: #fca5a5;

    font-size: 12px;

    line-height: 17px;
}


/*
 * Extra protection against duplicated error text.
 */
.hs-contact-form
.wpcf7-not-valid-tip
+
.wpcf7-not-valid-tip {

    display: none !important;
}


/* Bottom Contact Form 7 response */

.hs-contact-form
+
.wpcf7-response-output,
.wpcf7-form
.wpcf7-response-output {

    margin:
        16px
        0
        0 !important;

    padding:
        12px
        16px !important;

    border:
        1px solid
        rgba(56,189,248,0.20) !important;

    border-radius: 8px;

    background:
        rgba(15,23,42,0.72);

    color: #cbd5e1;

    font-size: 13px;

    line-height: 20px;
}


/* =========================================================
   CF7 SPINNER
========================================================= */

.hs-contact-form .wpcf7-spinner {

    position: absolute;

    right: 55px;

    top: 50%;

    transform: translateY(-50%);

    margin: 0;
}


/* =========================================================
   REMOVE CF7 AUTOMATIC <br>
========================================================= */

.hs-contact-form br {
    display: none;
}


/* =========================================================
   RESPONSIVE
========================================================= */


/*
 * Tablet / narrow containers
 */
@media (max-width: 767px) {

    .hs-contact-form {

        gap: 20px;
    }


    .hs-contact-form .hs-form-row {

        flex-wrap: wrap;
    }


    .hs-contact-form
    .hs-form-row-2
    >
    .hs-form-field {

        flex:
            1 1 100%;

        width: 100%;
    }


    .hs-contact-form
    .hs-project-types
    .wpcf7-radio {

        grid-template-columns:
            repeat(2, minmax(0,1fr));
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 480px) {

    .hs-contact-form {

        gap: 18px;
    }


    .hs-contact-form .hs-phone-prefix {

        padding-left: 10px;

        padding-right: 10px;

        font-size: 12px;
    }


    .hs-contact-form
    .hs-project-types
    .wpcf7-radio {

        grid-template-columns:
            repeat(2, minmax(0,1fr));

        gap: 6px;
    }


    .hs-contact-form
    .hs-project-types
    .wpcf7-list-item-label {

        min-height: 42px;

        padding:
            8px
            6px;

        font-size: 9.5px;

        letter-spacing: 0.035em;
    }


    .hs-contact-form input[type="submit"] {

        min-height: 56px;

        height: auto;

        padding:
            14px
            44px
            14px
            14px;

        font-size: 14px;

        line-height: 20px;
    }


    .hs-contact-form .hs-submit-arrow {

        right: 14px;
    }


    .hs-contact-form .hs-submit-note {

        align-items: flex-start;

        font-size: 11px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .hs-contact-form
    .hs-project-types
    .wpcf7-radio {

        grid-template-columns: 1fr;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .hs-contact-form * {

        transition: none !important;
    }

}
/* =========================================================
   WORLDWIDE PHONE / WHATSAPP COUNTRY PICKER
   Custom UI keeps the same styling across browsers and uses
   image flags with a text fallback when an image cannot load.
========================================================= */
.hs-cf7-form .hs-cf7-phone.hs-phone-global,
.hs-contact-form .hs-phone-field.hs-phone-global {
  display: flex;
  align-items: stretch;
  gap: .75rem;
  width: 100%;
  min-width: 0;
}

/* Both controls are fluid. The country picker grows when the row
   has extra space instead of staying stuck at a fixed pixel width. */
.hs-cf7-form .hs-country-code-wrap,
.hs-contact-form .hs-country-code-wrap {
  position: relative;
  flex: 1 1 30%;
  width: auto;
  min-width: 220px;
  max-width: none;
  z-index: 35;
}

.hs-cf7-form .hs-phone-global .wpcf7-form-control-wrap,
.hs-contact-form .hs-phone-global .wpcf7-form-control-wrap,
.hs-contact-form .hs-phone-global .hs-phone-input {
  flex: 2.25 1 62%;
  width: auto;
  min-width: 0;
}

.hs-cf7-form .hs-phone-global input[type="tel"],
.hs-contact-form .hs-phone-global input[type="tel"] {
  width: 100% !important;
  min-width: 0 !important;
}

.hs-cf7-form .hs-country-code-button,
.hs-contact-form .hs-country-code-button {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 52px;
  margin: 0;
  padding: 0 3.25rem 0 1rem;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  border: 1px solid rgba(56, 189, 248, .34);
  border-radius: .55rem;
  background: #111827;
  color: #38bdf8;
  box-shadow: inset 0 2px 8px rgba(2, 6, 23, .22);
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: .875rem;
  line-height: 1.25rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.hs-cf7-form .hs-country-code-button:hover,
.hs-contact-form .hs-country-code-button:hover,
.hs-cf7-form .hs-country-code-wrap.is-open .hs-country-code-button,
.hs-contact-form .hs-country-code-wrap.is-open .hs-country-code-button {
  background: #151d31;
  border-color: rgba(56, 189, 248, .62);
}

.hs-cf7-form .hs-country-code-button:focus-visible,
.hs-contact-form .hs-country-code-button:focus-visible {
  outline: none;
  border-color: rgba(56, 189, 248, .72);
  box-shadow: inset 0 2px 8px rgba(2, 6, 23, .22), 0 0 0 2px rgba(56, 189, 248, .11);
}

.hs-cf7-form .hs-country-current,
.hs-contact-form .hs-country-current {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
  width: 100%;
}

.hs-cf7-form .hs-country-current-name,
.hs-contact-form .hs-country-current-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hs-cf7-form .hs-country-current-dial,
.hs-contact-form .hs-country-current-dial {
  flex: 0 0 auto;
  white-space: nowrap;
}

.hs-cf7-form .hs-country-arrow,
.hs-contact-form .hs-country-arrow {
  position: absolute;
  top: 50%;
  right: 1.05rem;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #38bdf8;
  transform: translateY(-50%);
  pointer-events: none;
  transition: transform 180ms ease;
}

.hs-cf7-form .hs-country-arrow svg,
.hs-contact-form .hs-country-arrow svg {
  display: block;
  width: 18px;
  height: 18px;
}

.hs-cf7-form .hs-country-code-wrap.is-open .hs-country-arrow,
.hs-contact-form .hs-country-code-wrap.is-open .hs-country-arrow {
  transform: translateY(-50%) rotate(180deg);
}

.hs-cf7-form .hs-country-flag,
.hs-contact-form .hs-country-flag {
  flex: 0 0 24px;
  width: 24px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 2px;
  background: #0b1020;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08);
}

.hs-cf7-form .hs-country-flag img,
.hs-contact-form .hs-country-flag img {
  display: block;
  width: 24px;
  height: 18px;
  object-fit: cover;
}

.hs-cf7-form .hs-country-flag-fallback,
.hs-contact-form .hs-country-flag-fallback {
  width: 100%;
  color: #dbeafe;
  font-size: 8px;
  line-height: 18px;
  font-weight: 800;
  letter-spacing: .03em;
  text-align: center;
}

.hs-cf7-form .hs-country-code-menu,
.hs-contact-form .hs-country-code-menu {
  position: absolute;
  top: calc(100% + .55rem);
  left: 0;
  right: 0;
  z-index: 9999;
  min-width: min(100%, 290px);
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid rgba(56, 189, 248, .28);
  border-radius: .75rem;
  background: #0d1528;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255,255,255,.025) inset;
}

.hs-cf7-form .hs-country-code-menu[hidden],
.hs-contact-form .hs-country-code-menu[hidden] {
  display: none !important;
}

.hs-cf7-form .hs-country-search-wrap,
.hs-contact-form .hs-country-search-wrap {
  padding: .65rem;
  border-bottom: 1px solid rgba(148, 163, 184, .12);
  background: #0b1220;
}

.hs-cf7-form input.hs-country-search,
.hs-contact-form input.hs-country-search {
  width: 100% !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 .8rem !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(56, 189, 248, .18) !important;
  border-radius: .5rem !important;
  background: #111827 !important;
  color: #f8fafc !important;
  box-shadow: none !important;
  font: 500 .8125rem/1.2 "Inter", ui-sans-serif, system-ui, sans-serif !important;
  outline: none !important;
}

.hs-cf7-form input.hs-country-search:focus,
.hs-contact-form input.hs-country-search:focus {
  border-color: rgba(56, 189, 248, .55) !important;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, .08) !important;
}

.hs-cf7-form .hs-country-options,
.hs-contact-form .hs-country-options {
  max-height: 280px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: .35rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(56, 189, 248, .38) #0d1528;
}

.hs-cf7-form .hs-country-options::-webkit-scrollbar,
.hs-contact-form .hs-country-options::-webkit-scrollbar { width: 8px; }
.hs-cf7-form .hs-country-options::-webkit-scrollbar-track,
.hs-contact-form .hs-country-options::-webkit-scrollbar-track { background: #0d1528; }
.hs-cf7-form .hs-country-options::-webkit-scrollbar-thumb,
.hs-contact-form .hs-country-options::-webkit-scrollbar-thumb {
  background: rgba(56, 189, 248, .30);
  border-radius: 999px;
}

.hs-cf7-form .hs-country-option,
.hs-contact-form .hs-country-option {
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: .55rem .65rem;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem;
  box-sizing: border-box;
  border: 1px solid transparent;
  border-radius: .5rem;
  background: transparent;
  color: #cbd5e1;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
  font-size: .8125rem;
  line-height: 1.15rem;
  text-align: left;
  cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.hs-cf7-form .hs-country-option:hover,
.hs-contact-form .hs-country-option:hover,
.hs-cf7-form .hs-country-option:focus-visible,
.hs-contact-form .hs-country-option:focus-visible {
  outline: none;
  background: #172238;
  border-color: rgba(56, 189, 248, .17);
  color: #fff;
}

.hs-cf7-form .hs-country-option.is-selected,
.hs-contact-form .hs-country-option.is-selected {
  background: rgba(37, 99, 235, .18);
  border-color: rgba(59, 130, 246, .24);
  color: #fff;
}

.hs-cf7-form .hs-country-option-name,
.hs-contact-form .hs-country-option-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hs-cf7-form .hs-country-option-dial,
.hs-contact-form .hs-country-option-dial {
  color: #38bdf8;
  font-weight: 700;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .hs-cf7-form .hs-country-code-wrap,
  .hs-contact-form .hs-country-code-wrap {
    flex: 1 1 38%;
    min-width: 185px;
  }

  .hs-cf7-form .hs-phone-global .wpcf7-form-control-wrap,
  .hs-contact-form .hs-phone-global .wpcf7-form-control-wrap,
  .hs-contact-form .hs-phone-global .hs-phone-input {
    flex: 1.6 1 56%;
  }

  .hs-cf7-form .hs-country-code-button,
  .hs-contact-form .hs-country-code-button {
    padding-left: .75rem;
    padding-right: 2.8rem;
    font-size: .79rem;
  }

  .hs-cf7-form .hs-country-arrow,
  .hs-contact-form .hs-country-arrow {
    right: .85rem;
  }
}

@media (max-width: 520px) {
  .hs-cf7-form .hs-cf7-phone.hs-phone-global,
  .hs-contact-form .hs-phone-field.hs-phone-global {
    flex-wrap: wrap;
  }

  .hs-cf7-form .hs-country-code-wrap,
  .hs-contact-form .hs-country-code-wrap,
  .hs-cf7-form .hs-phone-global .wpcf7-form-control-wrap,
  .hs-contact-form .hs-phone-global .wpcf7-form-control-wrap,
  .hs-contact-form .hs-phone-global .hs-phone-input {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  .hs-cf7-form .hs-country-code-menu,
  .hs-contact-form .hs-country-code-menu {
    width: 100%;
    min-width: 100%;
  }
}
