
/* DIRECTORY WRAPPER */
/* AUTOCOMPLETE DROPDOWN */
.autocomplete {
    position: relative;
}
.advance-search-close {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: none;
    background: #000;
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.advance-search-close:hover {
    opacity: 0.85;
}
/* SELECTED TAGS BELOW INPUT */
.selected-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.selected-tags .tag {
    background: #5ee6ff;
    color: #000;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.tag-input input:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.selected-tags .tag span {
    font-weight: bold;
    cursor: pointer;
}
.autocomplete .suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #0f1b2e;
    border: 1px solid rgba(94,230,255,0.4);
    border-radius: 10px;
    margin-top: 6px;
    list-style: none;
    padding: 6px 0;
    max-height: 180px;
    overflow-y: auto;
    display: none;
    z-index: 20;
}

.autocomplete .suggestions li {
    padding: 8px 14px;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
}

.autocomplete .suggestions li:hover,
.autocomplete .suggestions li.active {
    background: rgba(94,230,255,0.2);
}
.wpcf7 form.sent .wpcf7-response-output {
    color: #46b450!important
}
p.brokers-form-label {
    margin: 6px 0px;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner{
    width: 200px;
    background: #5BE9FF;
    border-radius: 10px;
    color:#000311;
}
.wpcf7-list-item {
    display: inline-block;
    margin-right: 20px;
    margin-left:0px ;
}
.brokers-directory {
    font-family: 'Manrope', sans-serif;
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    justify-content: space-between;
}
.cf7-three-col{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}


/* CARD */
.broker-card {
    display: flex;
    gap: 22px;

    /* 👇 THIS MAKES 2 PER ROW */
    flex: 0 0 calc(50% - 14px);
    max-width: calc(50% - 14px);

    padding: 22px;
    border-radius: 22px;
    background: #000;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6);
    color: #fff;
    border: 1px solid #EAEBED;
}
.info-row {
    display: flex;
    flex-direction: column;
    margin: 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.15);
}
.inner-card-text {
    display: flex;
    flex-direction: column;
    gap: 4px; /* spacing between label & value */
}

.broker-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
/* LEFT */
.broker-left {
  flex: 0 0 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.broker-left img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 18px;
  border: 3px solid rgba(255, 255, 255, 0.1);
}
.advance-search-panel {
    background: #0b1220;
    border-radius: 18px;
    padding: 24px;
    margin-top: 16px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.7);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.35s ease;
}

.advance-search-panel.active {
    max-height: 500px;
    opacity: 1;
}

.advance-search-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px 22px;
}

.field {
    display: flex;
    flex-direction: column;
    gap: 6px;

}

.field.full {
    width: 100%;
}

.field label {
    font-size: 18px;
    opacity: 0.7;
    line-height: 40px;
}

.field select[multiple] {
    height: 120px;
}

/* TAG INPUT */
.tag-input {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    background: #101a2e;    
    padding: 8px;
    border-radius: 10px;
}

.tag {
    background: #5ee6ff;
    color: #000;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    cursor: pointer;
}

/* ACTIONS */
.advance-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}

.btn-clear {
    background: transparent;
    color: #aaa;
    border: none;
    cursor: pointer;
}
a#openAdvanceSearch {
    font-size: 18px;
    color: #fff;
}
.btn-apply {
    background: #5ee6ff;
    border: none;
    padding: 20px 30px;
    font-size: 18px;
    border-radius: 10px;
    font-weight: 300;
    color: #1e293b;
    text-transform: uppercase;
}
button.btn-apply:hover{
    opacity: .8;
    background: #55e7ff;
     color: #1e293b;
}
button.btn-clear {
    border: 1px solid #1e293b;
    color: #1e293b;
    border-radius: 10px;
    font-weight: 300;
    padding: 20px 30px;
}
button.btn-clear:hover, button.btn-clear:focus {
    background-color:  #e4e4e440;
}
/* CTA */
.contact-btn {
  width: 100%;
  background: #55e7ff;
  color: #1e293b;
  text-align: center;
  padding: 10px;
  border-radius: 14px;
  font-weight: 600;
  text-decoration: none;
}
.search-box input:focus {
    background: transparent;
    outline: none;
    border-color: transparent;
    color:#fff;
}
.search-box input[type="text"]:focus-visible {
border-color: transparent;
}
/* BADGES */
.broker-badges {
  display: flex;
  gap: 8px;
}
.badge:hover {
    border: 2px solid #5deaff;
}
.badge {
  transition: border-color 0.6s ease;
  border: 2px solid transparent;
}
.badge {
  padding: 6px 10px;
  border-radius: 10px;
  background: #fff;
  color: #000;
  font-size: 12px;
  font-weight: 700;
}

/* RIGHT */
.broker-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.broker-name {
  font-size: 22px;
  color: #5deaff;
  margin: 0;
  font-family: 'Geist', sans-serif;
}

/* STATS ROW */
.broker-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(255,255,255,0.15);
}

.label {
    opacity: 0.5;
    font-size: 18px;
    font-weight: 300;
    font-family: 'Manrope', sans-serif;
}

.value, .info-row {
  font-size: 16px;
  font-weight: 300;
  font-family: 'Manrope', sans-serif;
}
.brokers-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

/* LEFT */
.brokers-header-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brokers-title {
    font-size: 40px;
    font-weight: 300;
    color: #ffffff;
    margin: 0;
    font-family: 'Geist', sans-serif;
}

.brokers-count {
    font-size: 20px;
    color: #fff
}

/* RIGHT */
.brokers-header-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

.advance-search-label {
    font-size: 14px;
    color: #ffffff;
    opacity: 0.85;
}

/* SEARCH BOX */
.search-box {
    display: flex;
    align-items: center;
    padding: 6px 12px;
    gap: 8px;
}

.search-box input {
    background: transparent;
    border: none;
    outline: none;
    color: #ffffff;
    font-size: 14px;
    width: auto;
    height: auto;
}

.search-box input::placeholder {
    color: rgba(255,255,255,0.5);
}

.search-icon {
    font-size: 14px;
    color: #5ee6ff;
}
/* INFO */
.broker-info p {
  font-size: 16px;
  line-height: 1.5;
  opacity: 0.9;
  margin: 0;
  font-family: 'Manrope', sans-serif;
}

.broker-info strong {
    opacity: 0.5;
    font-size: 18px;
    font-weight: 300;
    color: #fff;
    font-family: 'Manrope', sans-serif;
}

/******Left Area styles*****/
.broker-avatar-card {
    background: #ffffff;
    border-radius: 26px;
    padding: 12px;
    width: 190px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

/* Image container */
.avatar-wrapper {
    background: #ffffff;
    border-radius: 20px;
    padding: 6px;
    width: 100%;
}

/* Avatar image */
.avatar-wrapper img {
    width: 100%;
    height: 190px;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}

/* Button */
.contact-now-btn {
    width: 100%;
    background: #5ceaff;
    color: #000;
    text-align: center;
    padding: 12px 0;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 400;
    text-decoration: none;
    transition: background 0.2s ease;
    text-transform: uppercase;
}
a.contact-now-btn {
    text-decoration: none !important;
}

.contact-now-btn:hover {
opacity: .8;
color: #000;
}
/* ===== HEADER ===== */
.brokers-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.brokers-title {
    font-size: 28px;
    color: #fff;
}

.brokers-count {
    margin-left: 8px;
}

.brokers-header-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* ===== SEARCH BOX ===== */
/* ADVANCE FILTER – DROPDOWN SLIDE FROM TRIGGER */
.advance-search-panel {
    position: absolute;           /* NOT fixed */
    top: 100%;                    /* will be set via JS */
    right: auto;
    left: auto;
    width: 900px;                 /* adjust if needed */
    max-width: calc(100vw - 40px);
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.advance-search-panel.active {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.search-box input {
    background: #0f1b2e;
    border: 1px solid rgba(94, 230, 255, .6);
    border-radius: 10px;
    padding: 15px 15px;
    color: #fff;
    font-size: 18px;    
}

/* ===== OVERLAY ===== */
.advance-search-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.65);
    opacity: 0;
    pointer-events: none;
    transition: .3s;
    z-index: 998;
}

.advance-search-panel {
    position: fixed;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 80%;
    max-width: calc(100% - 40px);
    background: #fff;
    border-radius: 24px;
    padding: 60px;
    box-shadow: 0 40px 120px rgba(0,0,0,.85);
    opacity: 0;
    /* transform: translateY(-20px); */
    pointer-events: none;
    transition: .6s;
    z-index: 999;
}

.advance-search-panel.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.advance-search-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

/* ===== BROKER CONTACT POPUP (like shared image) ===== */
.broker-contact-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1000;
}

.broker-contact-backdrop.active {
    opacity: 1;
    pointer-events: auto;
}

.broker-contact-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1001;
}

.broker-contact-modal.active {
    opacity: 1;
    pointer-events: auto;
}

.broker-contact-modal-inner {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
    max-width: 850px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
}

.broker-contact-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #eee;
}

.broker-contact-modal-title {
    margin: 0;
    font-size: 1.70rem;
    font-weight: 400;
    color: #000;
    font-family: 'Geist', sans-serif;
}

.broker-contact-modal-close {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: #000;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: opacity 0.2s ease;
}

.broker-contact-modal-close:hover {
    opacity: 0.85;
    background-color: #001327;
}

.broker-contact-modal-body {
    padding: 20px 24px 24px;
}

/* CF7 form inside popup – match shared image (light grey borders, rounded, teal submit) */
.broker-contact-modal .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 16px;
}

.broker-contact-modal .wpcf7-form-control-wrap:last-of-type {
    margin-bottom: 0;
}

.broker-contact-modal input[type="text"],
.broker-contact-modal input[type="email"],
.broker-contact-modal input[type="tel"],
.broker-contact-modal textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 10px;
    background: #fff;
    color: #111;
    font-size: 1rem;
    box-sizing: border-box;
}

.broker-contact-modal textarea {
    min-height: 100px;
    resize: vertical;
}

.broker-contact-modal .broker-contact-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
}

.broker-contact-modal input[type="submit"] {
    width: 100%;
    padding: 14px 20px;
    background: #2dd4bf;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    margin-top: 8px;
    transition: opacity 0.2s ease;
}

.broker-contact-modal input[type="submit"]:hover {
    opacity: 0.9;
}


.field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field.full {
    grid-column: span 2;
}

.field input,
.field select {
    background: #fff;
    border: 1px solid rgba(94,230,255,.3);
    border-radius: 10px;
    padding: 10px;
    height: 60px;
    color:#1e293b;
}

.field select[multiple] {
    height: 120px;
}

/* ===== TAG INPUT ===== */
/* Ensure field controls its own layout */
.field-with-tags {
    display: flex;
    flex-direction: column;
}

/* Force tags to stay under input */
.field-with-tags .selected-tags {
    width: 100%;
    align-self: flex-start;
}
.tag-input {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 0;
    border-radius: 10px;
    background: #fff;
    margin-top: -8px;
}

.tag-input input {
    background: transparent;
    color: #fff;
    flex: 1;
    border: 1px solid rgba(94,230,255,.3);
    height: 60px;
}

.tag {
    background: #5ee6ff;
    color: #000;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    cursor: pointer;
}

/* ===== ACTIONS ===== */
.advance-actions {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    margin-top: 22px;
}

.btn-clear {
    background: none;
    border: none;
    color: #aaa;
}



/* PAGINATION WRAPPER */
.page-nav.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.brokers-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin: 50px 0 20px;
}

/* PAGE BUTTONS */
.page-number,
.page-nav {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid rgba(94,230,255,0.6);
    color: #5ee6ff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ACTIVE PAGE */
.page-number.active {
    background: #5ee6ff;
    color: #000;
    border-color: #5ee6ff;
}

/* HOVER */
.page-number:hover,
.page-nav:hover {
    background: rgba(94,230,255,0.15);
}

/* DISABLED (future use) */
.page-nav.disabled {
    opacity: 0.4;
    pointer-events: none;
}

/* ===================== */
/* RESPONSIVE */
/* ===================== */

@media (max-width: 1024px) {
    .broker-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


@media (max-width: 768px) {


.cf7-three-col{
    grid-template-columns: 1fr;
}
.advance-search-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
    .info-row {
    gap: 15px;
}
    span.badge img {
    width: 40px;
    }
     .brokers-pagination {
        gap: 8px;
    }

    .page-number,
    .page-nav {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }
   .advance-search-panel {
        left: 10px;
        right: 10px;
        top: 80px;
        width: auto;
    }

    .advance-search-grid {
        grid-template-columns: 1fr;
    }
    .brokers-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .brokers-header-right {
        width: 100%;
        justify-content: space-between;
        gap: 5px;
    }

    .search-box input {
        width: 100%;
            font-size: 14px;
    }
    a#openAdvanceSearch {
    font-size: 14px;
    }
    .brokers-header-left {
    gap: 5px;
    flex-direction: column;
    align-items: baseline;
}

  .broker-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .broker-left {
    flex: none;
  }

  .broker-row {
    flex-direction: column;
    align-items: center;
  }

  .broker-right {
    align-items: center;
  }
}



@media (max-width:580px) {
    .brokers-count {
    font-size: 14px;
    margin-left: 0;
}
    
}
