/* ==========================================================================
   QES Property — theme layer
   Loaded last. Overrides the inherited realestate stylesheet.
   ========================================================================== */

:root {
  --qes-brand:        #22A7AE;
  --qes-brand-dark:   #17858B;
  --qes-brand-light:  #E8F6F7;
  --qes-accent:       #F5A623;

  --qes-ink:          #14202A;
  --qes-body:         #4A5A66;
  --qes-muted:        #8395A1;
  --qes-line:         #E3E9ED;
  --qes-surface:      #FFFFFF;
  --qes-canvas:       #F4F7F9;
  --qes-dark:         #17262F;

  --qes-radius:       14px;
  --qes-radius-sm:    8px;
  --qes-shadow:       0 1px 2px rgba(20,32,42,.05), 0 8px 24px rgba(20,32,42,.07);
  --qes-shadow-lg:    0 2px 4px rgba(20,32,42,.06), 0 18px 44px rgba(20,32,42,.13);
  --qes-ease:         cubic-bezier(.4,0,.2,1);
}

/* Property social sharing toolbar */
.qes-property-share {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 22px;
}
.qes-property-share-label {
  color: #52616b;
  font-size: 13px;
  font-weight: 700;
  margin-right: 4px;
}
.qes-property-share-label i { color: #58b8bf; margin-right: 4px; }
.qes-share-button {
  align-items: center;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  height: 36px;
  justify-content: center;
  min-width: 36px;
  padding: 0 12px;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
.qes-share-button:hover, .qes-share-button:focus { box-shadow: 0 5px 14px rgba(16,25,34,.16); color: #fff; transform: translateY(-1px); }
.qes-share-facebook { background: #1877f2; color: #fff; }
.qes-share-whatsapp { background: #25d366; color: #fff; }
.qes-share-telegram { background: #229ed9; color: #fff; }
.qes-share-x { background: #111820; color: #fff; }
.qes-share-copy { background: #eef7f8; color: #277fa9; cursor: pointer; }
.qes-share-copy:hover, .qes-share-copy:focus { background: #277fa9; }
.qes-share-copy i { margin-right: 6px; }
.qes-share-copied { color: #278b65; font-size: 12px; font-weight: 700; }

/* ------------------------------------------------ modern agent views ---- */

.qes-free-membership-page {
  background: #F3F7F9;
  min-height: 70vh;
  padding: 34px 0 58px;
}
.qes-membership-breadcrumb {
  display: flex;
  gap: 9px;
  margin-bottom: 18px;
}
.qes-membership-breadcrumb a {
  color: #718590;
  font-size: 12px;
}
.qes-membership-breadcrumb a + a::before {
  color: #A8B5BC;
  content: "/";
  margin-right: 9px;
}
.qes-free-membership-card {
  background: linear-gradient(135deg, #173F52 0%, #225E7B 62%, #2D6FCC 100%);
  border-radius: 22px;
  box-shadow: 0 22px 50px rgba(23, 63, 82, .2);
  color: #fff;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 1.35fr) minmax(190px, .65fr);
  overflow: hidden;
  padding: 42px;
  position: relative;
}
.qes-free-membership-card::after {
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  content: "";
  height: 360px;
  position: absolute;
  right: -145px;
  top: -190px;
  width: 360px;
}
.qes-free-membership-copy,
.qes-free-membership-price,
.qes-free-membership-benefits,
.qes-free-membership-action {
  position: relative;
  z-index: 1;
}
.qes-free-membership-badge {
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 750;
  gap: 7px;
  padding: 8px 12px;
  text-transform: uppercase;
}
.qes-free-membership-title {
  align-items: center;
  display: flex;
  gap: 15px;
  margin: 24px 0 16px;
}
.qes-free-membership-icon {
  align-items: center;
  background: #fff;
  border-radius: 15px;
  color: #1F83AC;
  display: flex;
  font-size: 25px;
  height: 58px;
  justify-content: center;
  width: 58px;
}
.qes-free-membership-title small {
  color: rgba(255,255,255,.7);
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}
.qes-free-membership-title h1 {
  color: #fff;
  font-size: 30px;
  margin: 0;
}
.qes-free-membership-copy > p {
  color: rgba(255,255,255,.79);
  font-size: 14px;
  line-height: 1.75;
  margin: 0;
  max-width: 660px;
}
.qes-free-membership-status {
  align-items: center;
  display: flex;
  gap: 13px;
  margin-top: 20px;
}
.qes-free-membership-status span {
  color: #85F1B0;
  font-size: 12px;
  font-weight: 750;
}
.qes-free-membership-status span i {
  font-size: 7px;
  margin-right: 5px;
}
.qes-free-membership-status small {
  color: rgba(255,255,255,.65);
}
.qes-free-membership-price {
  align-items: center;
  align-self: center;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 170px;
  padding: 24px;
  text-align: center;
}
.qes-free-membership-price strong {
  font-size: 52px;
  line-height: 1;
}
.qes-free-membership-price span {
  color: rgba(255,255,255,.72);
  font-size: 13px;
  margin-top: 8px;
}
.qes-free-membership-benefits {
  border-top: 1px solid rgba(255,255,255,.15);
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 25px;
}
.qes-free-membership-benefits div {
  align-items: center;
  color: rgba(255,255,255,.88);
  display: flex;
  font-size: 12px;
  gap: 9px;
}
.qes-free-membership-benefits i {
  color: #78D8E8;
  font-size: 15px;
}
.qes-free-membership-action {
  align-items: center;
  background: #fff;
  border-radius: 10px;
  color: #225E7B;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 9px;
  grid-column: 1 / -1;
  justify-self: start;
  padding: 12px 17px;
}
.qes-free-membership-action:hover,
.qes-free-membership-action:focus {
  color: #173F52;
  transform: translateY(-1px);
}
@media (max-width: 767px) {
  .qes-free-membership-page { padding: 20px 0 36px; }
  .qes-free-membership-card {
    grid-template-columns: 1fr;
    padding: 25px 20px;
  }
  .qes-free-membership-price { min-height: 130px; }
  .qes-free-membership-benefits {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
  .qes-free-membership-action { grid-column: auto; }
  .qes-free-membership-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
}

.qes-agents-showcase {
  background: radial-gradient(circle at 88% 4%, rgba(56,92,200,.10), transparent 30%), #F6F9FB;
  padding: 38px 0 42px;
}
.qes-agents-showcase .qes-section-heading {
  margin-bottom: 18px;
}
.qes-agents-showcase .qes-section-heading h2 {
  font-size: 27px;
}
.qes-agents-showcase .qes-section-heading p {
  font-size: 12px;
  margin-top: 4px;
}
.qes-agents-showcase .qes-section-link {
  font-size: 10px;
  padding: 9px 13px;
}
.qes-agents-showcase .qes-agent-grid {
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.qes-agents-showcase .qes-agent-card {
  border-radius: 15px;
}
.qes-agents-showcase .qes-agent-card-media {
  min-height: 0;
}
.qes-agents-showcase .qes-agent-card-media img {
  height: 190px;
}
.qes-agents-showcase .qes-agent-card-count {
  bottom: 12px;
  font-size: 9px;
  left: 12px;
  padding: 7px 9px;
}
.qes-agents-showcase .qes-agent-card-open {
  border-width: 2px;
  height: 34px;
  right: 11px;
  top: 11px;
  width: 34px;
}
.qes-agents-showcase .qes-agent-card-body {
  padding: 13px 14px;
}
.qes-agents-showcase .qes-agent-card-copy h3 {
  font-size: 15px;
}
.qes-agents-showcase .qes-agent-card-copy p {
  font-size: 10px;
  margin-top: 2px;
}
.qes-agents-showcase .qes-agent-social a {
  height: 27px;
  width: 27px;
}
.qes-section-heading {
  align-items: flex-end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 26px;
}
.qes-section-eyebrow {
  color: #277FA9;
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  margin-bottom: 7px;
  text-transform: uppercase;
}
.qes-section-heading h2,
.qes-directory-heading h1,
.qes-agent-hero h1 {
  color: var(--qes-ink);
  letter-spacing: -.035em;
}
.qes-section-heading h2 {
  font-size: 32px;
  margin: 0;
}
.qes-section-heading p {
  color: var(--qes-muted);
  font-size: 14px;
  margin: 7px 0 0;
}
.qes-section-link {
  align-items: center;
  background: #fff;
  border: 1px solid var(--qes-line);
  border-radius: 999px;
  color: #277FA9;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  gap: 10px;
  padding: 11px 16px;
  text-transform: uppercase;
}
.qes-section-link i { transition: transform .2s var(--qes-ease); }
.qes-section-link:hover {
  border-color: #277FA9;
  box-shadow: 0 7px 18px rgba(39,127,169,.12);
  color: #277FA9;
}
.qes-section-link:hover i { transform: translateX(3px); }

.qes-agent-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.qes-agent-card {
  background: #fff;
  border: 1px solid #E3EAEE;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(20,32,42,.07);
  min-width: 0;
  overflow: hidden;
  transition: box-shadow .22s var(--qes-ease), transform .22s var(--qes-ease);
}
.qes-agent-card:hover {
  box-shadow: 0 18px 42px rgba(20,32,42,.13);
  transform: translateY(-4px);
}
.qes-agent-card-media {
  background: #EAF1F4;
  display: block;
  min-height: 245px;
  overflow: hidden;
  position: relative;
}
.qes-agent-card-media::after {
  background: linear-gradient(to top, rgba(15,30,40,.52), transparent 48%);
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
}
.qes-agent-card-media img {
  height: 270px;
  object-fit: cover;
  transition: transform .45s var(--qes-ease);
  width: 100%;
}
.qes-agent-card-media img.is-placeholder {
  background: #F4F7F9;
  box-sizing: border-box;
  object-fit: contain;
  padding: 42px;
}
.qes-agent-card:hover .qes-agent-card-media img { transform: scale(1.035); }
.qes-agent-card-count {
  align-items: center;
  background: rgba(255,255,255,.94);
  border-radius: 999px;
  bottom: 16px;
  color: #253442;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 7px;
  left: 16px;
  padding: 8px 11px;
  position: absolute;
  text-transform: uppercase;
  z-index: 2;
}
.qes-agent-card-count i { color: #277FA9; }
.qes-agent-card-open,
.qes-agent-property-open {
  align-items: center;
  background: linear-gradient(135deg, #277FA9, #385CC8);
  border: 3px solid rgba(255,255,255,.75);
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 15px;
  top: 15px;
  width: 42px;
  z-index: 2;
}
.qes-agent-card-open i,
.qes-agent-property-open i { transform: rotate(45deg); }
.qes-agent-card-body {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 18px;
}
.qes-agent-card-copy { min-width: 0; }
.qes-agent-card-copy h3 {
  font-size: 18px;
  margin: 0;
}
.qes-agent-card-copy h3 a { color: var(--qes-ink); }
.qes-agent-card-copy h3 a:hover { color: #277FA9; }
.qes-agent-card-copy p {
  color: var(--qes-muted);
  font-size: 12px;
  margin: 4px 0 0;
}
.qes-agent-social {
  display: flex;
  flex: 0 0 auto;
  gap: 5px;
  margin: 0;
}
.qes-agent-social > li { padding: 0; }
.qes-agent-social a {
  align-items: center;
  background: #EFF4F6;
  border-radius: 50%;
  color: #526675;
  display: flex;
  height: 30px;
  justify-content: center;
  width: 30px;
}
.qes-agent-social a:hover {
  background: #277FA9;
  color: #fff;
}

.qes-agent-directory {
  background: #F6F9FB;
  min-height: 560px;
  padding: 54px 0 70px;
}
.qes-directory-heading {
  margin: 0 0 28px;
  max-width: 620px;
}
.qes-directory-heading h1 {
  font-size: 34px;
  margin: 0;
}
.qes-directory-heading p {
  color: var(--qes-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 9px 0 0;
}
.qes-agent-pagination {
  clear: both;
  margin-top: 28px;
  text-align: center;
}

.qes-agent-profile-page {
  background: linear-gradient(180deg, #F4F8FA 0, #fff 460px);
  min-height: 640px;
  padding: 42px 0 72px;
}
.qes-agent-hero {
  background: #fff;
  border: 1px solid #E1E9ED;
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(20,32,42,.09);
  display: grid;
  gap: 34px;
  grid-template-columns: 290px minmax(0, 1fr);
  overflow: hidden;
  padding: 24px;
  position: relative;
}
.qes-agent-hero::after {
  background: radial-gradient(circle, rgba(56,92,200,.12), transparent 68%);
  content: "";
  height: 320px;
  pointer-events: none;
  position: absolute;
  right: -100px;
  top: -130px;
  width: 320px;
}
.qes-agent-portrait {
  background: #E8F0F3;
  border-radius: 16px;
  min-height: 330px;
  overflow: hidden;
  position: relative;
}
.qes-agent-portrait img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
}
.qes-agent-portrait img.is-placeholder {
  background: #F4F7F9;
  box-sizing: border-box;
  object-fit: contain;
  padding: 54px;
}
.qes-agent-portrait span {
  align-items: center;
  background: rgba(255,255,255,.95);
  border-radius: 999px;
  bottom: 16px;
  color: #277FA9;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 6px;
  left: 16px;
  padding: 8px 11px;
  position: absolute;
  text-transform: uppercase;
}
.qes-agent-hero-copy {
  align-self: center;
  max-width: 780px;
  padding: 14px 22px 14px 0;
  position: relative;
  z-index: 1;
}
.qes-agent-hero h1 {
  font-size: 38px;
  margin: 0;
}
.qes-agent-role {
  color: #277FA9;
  font-size: 14px;
  font-weight: 600;
  margin: 6px 0 18px;
}
.qes-agent-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-bottom: 18px;
}
.qes-agent-meta > a,
.qes-agent-meta > div {
  align-items: center;
  color: #526675;
  display: flex;
  font-size: 12px;
  gap: 8px;
}
.qes-agent-meta i {
  align-items: center;
  background: #EAF5F7;
  border-radius: 50%;
  color: #277FA9;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  width: 28px;
}
.qes-agent-bio {
  color: var(--qes-body);
  font-size: 13px;
  line-height: 1.75;
  margin-bottom: 20px;
  max-width: 700px;
}
.qes-agent-bio p:last-child { margin-bottom: 0; }
.qes-agent-hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.qes-agent-primary-action,
.qes-agent-secondary-action {
  align-items: center;
  border-radius: 10px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 8px;
  min-height: 44px;
  padding: 0 17px;
}
.qes-agent-primary-action {
  background: linear-gradient(100deg, #277FA9, #385CC8);
  box-shadow: 0 8px 18px rgba(56,92,200,.20);
  color: #fff;
}
.qes-agent-primary-action:hover { color: #fff; transform: translateY(-1px); }
.qes-agent-secondary-action {
  background: #F0F5F7;
  color: #526675;
}

.qes-agent-listings { padding-top: 48px; }
.qes-agent-listing-total {
  background: #EAF5F7;
  border-radius: 999px;
  color: #277FA9;
  font-size: 11px;
  font-weight: 700;
  padding: 8px 12px;
  text-transform: uppercase;
}
.qes-agent-property-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.qes-agent-property-card {
  background: #fff;
  border: 1px solid #E1E9ED;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(20,32,42,.07);
  min-width: 0;
  overflow: hidden;
  transition: box-shadow .2s var(--qes-ease), transform .2s var(--qes-ease);
}
.qes-agent-property-card:hover {
  box-shadow: 0 17px 38px rgba(20,32,42,.12);
  transform: translateY(-4px);
}
.qes-agent-property-media {
  background: #E7EEF1;
  display: block;
  height: 235px;
  overflow: hidden;
  position: relative;
}
.qes-agent-property-media::after {
  background: linear-gradient(to top, rgba(13,29,40,.38), transparent 44%);
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
}
.qes-agent-property-media img {
  height: 100%;
  object-fit: cover;
  transition: transform .4s var(--qes-ease);
  width: 100%;
}
.qes-agent-property-card:hover .qes-agent-property-media img { transform: scale(1.035); }
.qes-agent-property-badge {
  background: linear-gradient(100deg, #7657C8, #5842A7);
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  left: 14px;
  letter-spacing: .06em;
  padding: 7px 11px;
  position: absolute;
  text-transform: uppercase;
  top: 14px;
  z-index: 2;
}
.qes-agent-property-body { padding: 18px; }
.qes-agent-property-body h3 {
  font-size: 17px;
  line-height: 1.4;
  margin: 0 0 8px;
}
.qes-agent-property-body h3 a { color: var(--qes-ink); }
.qes-agent-property-body h3 a:hover { color: #277FA9; }
.qes-agent-property-location {
  color: var(--qes-muted);
  font-size: 12px;
  margin: 0 0 14px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qes-agent-property-location i { color: #277FA9; margin-right: 5px; }
.qes-agent-property-specs {
  border-bottom: 1px solid #E5EBEF;
  border-top: 1px solid #E5EBEF;
  display: flex;
  gap: 13px;
  margin: 0;
  padding: 12px 0;
}
.qes-agent-property-specs > li {
  color: #647683;
  font-size: 11px;
  padding: 0;
}
.qes-agent-property-specs i { color: #91A3AE; margin-right: 4px; }
.qes-agent-property-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-top: 15px;
}
.qes-agent-property-footer strong {
  color: var(--qes-ink);
  font-size: 17px;
}
.qes-agent-property-footer a {
  color: #277FA9;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.qes-agent-property-footer a i { margin-left: 4px; }
.qes-agent-empty {
  background: #fff;
  border: 1px dashed #CDD9DF;
  border-radius: 16px;
  color: var(--qes-muted);
  padding: 42px 20px;
  text-align: center;
}
.qes-agent-empty i {
  color: #7ABFC8;
  font-size: 30px;
  margin-bottom: 10px;
}
.qes-agent-empty p { margin: 0; }

@media (max-width: 991px) {
  .qes-agent-hero { grid-template-columns: 230px minmax(0, 1fr); }
  .qes-agent-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .qes-agents-showcase { padding: 32px 0 36px; }
  .qes-section-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .qes-section-heading h2 { font-size: 27px; }
  .qes-agent-grid { grid-template-columns: 1fr; }
  .qes-agent-directory,
  .qes-agent-profile-page { padding: 30px 0 48px; }
  .qes-agent-hero {
    gap: 22px;
    grid-template-columns: 1fr;
    padding: 14px;
  }
  .qes-agent-portrait { min-height: 310px; }
  .qes-agent-hero-copy { padding: 4px 6px 12px; }
  .qes-agent-hero h1 { font-size: 30px; }
  .qes-agent-meta { align-items: stretch; flex-direction: column; }
  .qes-agent-listings { padding-top: 36px; }
  .qes-agent-property-grid { grid-template-columns: 1fr; }
}

/* ------------------------------------------------ modern contact page ---- */

.qes-contact-page {
  background:
    radial-gradient(circle at 8% 12%, rgba(39,127,169,.10), transparent 25%),
    radial-gradient(circle at 94% 4%, rgba(56,92,200,.09), transparent 28%),
    #F6F9FB;
  min-height: 720px;
  overflow: hidden;
  padding: 28px 0 72px;
}
.qes-contact-breadcrumb {
  align-items: center;
  display: flex;
  gap: 9px;
  margin-bottom: 40px;
}
.qes-contact-breadcrumb a {
  color: #718491;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
.qes-contact-breadcrumb a:last-child { color: #277FA9; }
.qes-contact-breadcrumb i { color: #A7B5BD; font-size: 11px; }
.qes-contact-intro {
  align-items: center;
  background:
    radial-gradient(circle at 86% 15%, rgba(118,87,200,.28), transparent 27%),
    linear-gradient(110deg, #153846 0%, #24556A 52%, #385CC8 140%);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  box-shadow: 0 15px 36px rgba(20,32,42,.15);
  display: flex;
  gap: 40px;
  justify-content: space-between;
  margin: 0 0 30px;
  min-height: 188px;
  overflow: hidden;
  padding: 34px 42px;
  position: relative;
  text-align: left;
}
.qes-contact-intro::before,
.qes-contact-intro::after {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
}
.qes-contact-intro::before {
  height: 240px;
  right: -65px;
  top: -150px;
  width: 240px;
}
.qes-contact-intro::after {
  bottom: -100px;
  height: 190px;
  left: 44%;
  width: 190px;
}
.qes-contact-intro-copy {
  max-width: 700px;
  position: relative;
  z-index: 1;
}
.qes-contact-intro-kicker {
  align-items: center;
  color: #83D4DA;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .12em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.qes-contact-intro-kicker i {
  font-size: 6px;
  text-shadow: 0 0 10px #83D4DA;
}
.qes-contact-intro h1 {
  color: #fff;
  font-size: 39px;
  letter-spacing: -.045em;
  margin: 0;
}
.qes-contact-intro p {
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.7;
  margin: 8px 0 0;
  max-width: 650px;
}
.qes-contact-intro-assurance {
  align-items: center;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  display: flex;
  flex: 0 0 330px;
  gap: 13px;
  padding: 15px;
  position: relative;
  z-index: 1;
}
.qes-contact-assurance-icon {
  align-items: center;
  background: rgba(255,255,255,.12);
  border-radius: 11px;
  color: #83D4DA;
  display: flex;
  flex: 0 0 43px;
  font-size: 18px;
  height: 43px;
  justify-content: center;
}
.qes-contact-intro-assurance small {
  color: #83D4DA;
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: 3px;
  text-transform: uppercase;
}
.qes-contact-intro-assurance strong {
  color: rgba(255,255,255,.90);
  display: block;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}
.qes-contact-layout {
  background: #fff;
  border: 1px solid #E0E8EC;
  border-radius: 24px;
  box-shadow: 0 22px 55px rgba(20,32,42,.11);
  display: grid;
  grid-template-columns: minmax(310px, .82fr) minmax(0, 1.35fr);
  overflow: hidden;
}
.qes-contact-info {
  background:
    radial-gradient(circle at 100% 0, rgba(122,191,200,.23), transparent 35%),
    linear-gradient(145deg, #153846, #172936 65%, #213A48);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 610px;
  padding: 42px;
  position: relative;
}
.qes-contact-info::after {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  bottom: -110px;
  content: "";
  height: 310px;
  position: absolute;
  right: -105px;
  width: 310px;
}
.qes-contact-info-icon {
  align-items: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  color: #7FD2D8;
  display: flex;
  font-size: 22px;
  height: 50px;
  justify-content: center;
  margin-bottom: 26px;
  width: 50px;
}
.qes-contact-info-kicker {
  color: #7FD2D8;
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  margin-bottom: 9px;
  text-transform: uppercase;
}
.qes-contact-info h2 {
  color: #fff;
  font-size: 29px;
  letter-spacing: -.035em;
  line-height: 1.3;
  margin: 0 0 14px;
  max-width: 390px;
}
.qes-contact-info-top > p {
  color: rgba(255,255,255,.64);
  font-size: 12px;
  line-height: 1.8;
  margin: 0;
  max-width: 400px;
}
.qes-contact-details {
  display: grid;
  gap: 17px;
  margin-top: 36px;
  position: relative;
  z-index: 1;
}
.qes-contact-details > a,
.qes-contact-details > div {
  align-items: center;
  color: #fff;
  display: flex;
  gap: 13px;
  min-width: 0;
}
.qes-contact-details > a:hover strong { color: #7FD2D8; }
.qes-contact-detail-icon {
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  color: #7FD2D8;
  display: flex;
  flex: 0 0 40px;
  height: 40px;
  justify-content: center;
}
.qes-contact-details span:last-child {
  min-width: 0;
}
.qes-contact-details small {
  color: rgba(255,255,255,.46);
  display: block;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .09em;
  margin-bottom: 2px;
  text-transform: uppercase;
}
.qes-contact-details strong {
  color: rgba(255,255,255,.88);
  display: block;
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.qes-contact-map-link {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.11);
  color: #fff;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 10px;
  margin-top: 30px;
  padding-top: 22px;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.qes-contact-map-link .fa-arrow-right { margin-left: auto; }
.qes-contact-map-link:hover { color: #7FD2D8; }

.qes-contact-form-card { padding: 46px 48px; }
.qes-contact-form-heading { margin-bottom: 27px; }
.qes-contact-form-heading h2 {
  color: var(--qes-ink);
  font-size: 30px;
  letter-spacing: -.035em;
  margin: 0;
}
.qes-contact-form-heading p {
  color: var(--qes-muted);
  font-size: 12px;
  margin: 7px 0 0;
}
.qes-contact-form-grid {
  display: grid;
  gap: 20px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qes-contact-field { min-width: 0; }
.qes-contact-field-wide { grid-column: 1 / -1; }
.qes-contact-field label {
  color: #344653;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 5px;
  margin-bottom: 7px;
}
.qes-contact-field label > span { color: #D84F5F; }
.qes-contact-field label small {
  color: #9AABB5;
  font-size: 9px;
  font-weight: 500;
  margin-left: auto;
  text-transform: uppercase;
}
.qes-contact-input { position: relative; }
.qes-contact-input > i {
  color: #91A3AE;
  font-size: 13px;
  left: 15px;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.qes-contact-form .form-control {
  background: #F8FAFB;
  border: 1px solid #DAE4E9;
  border-radius: 11px;
  box-shadow: none;
  color: var(--qes-ink);
  font-size: 12px;
  height: 48px;
  margin: 0;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.qes-contact-input .form-control { padding: 10px 14px 10px 40px; }
.qes-contact-form textarea.form-control {
  height: 132px;
  line-height: 1.65;
  padding: 13px 15px;
  resize: vertical;
}
.qes-contact-form .form-control::placeholder { color: #9AAAB4; }
.qes-contact-form .form-control:focus {
  background: #fff;
  border-color: #277FA9;
  box-shadow: 0 0 0 3px rgba(39,127,169,.11);
}
.qes-contact-form .text-danger {
  font-size: 9px;
  margin-top: 5px;
}
.qes-contact-captcha { margin-top: 20px; }
.qes-contact-form-footer {
  align-items: center;
  border-top: 1px solid #E7ECEF;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-top: 25px;
  padding-top: 22px;
}
.qes-contact-form-footer p {
  color: #93A3AD;
  font-size: 9px;
  margin: 0;
}
.qes-contact-form-footer p i { color: #64B4BE; margin-right: 4px; }
.qes-contact-submit {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border: 0;
  border-radius: 11px;
  box-shadow: 0 9px 21px rgba(56,92,200,.23);
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 700;
  gap: 10px;
  min-height: 47px;
  padding: 0 19px;
  transition: box-shadow .18s ease, transform .18s ease;
}
.qes-contact-submit:hover,
.qes-contact-submit:focus {
  box-shadow: 0 12px 26px rgba(56,92,200,.32);
  outline: 0;
  transform: translateY(-2px);
}
.qes-contact-note {
  align-items: center;
  background: #fff;
  border: 1px solid #E0E8EC;
  border-radius: 15px;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-top: 24px;
  padding: 17px 20px;
}
.qes-contact-note > div { align-items: center; display: flex; gap: 12px; }
.qes-contact-note > div > i {
  align-items: center;
  background: #EAF5F7;
  border-radius: 50%;
  color: #277FA9;
  display: flex;
  height: 36px;
  justify-content: center;
  width: 36px;
}
.qes-contact-note small {
  color: var(--qes-muted);
  display: block;
  font-size: 9px;
  text-transform: uppercase;
}
.qes-contact-note strong {
  color: var(--qes-body);
  font-size: 11px;
  font-weight: 600;
}
.qes-contact-note p {
  color: var(--qes-muted);
  font-size: 11px;
  margin: 0;
}
.qes-contact-locations { padding-top: 46px; }
.qes-contact-locations .panel {
  border: 1px solid #DEE7EB;
  border-radius: 12px;
  box-shadow: none;
  overflow: hidden;
}
.qes-contact-locations .panel-heading {
  background: #fff;
  border: 0;
  padding: 0;
}
.qes-contact-locations .panel-title a {
  align-items: center;
  color: var(--qes-ink);
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  padding: 16px 18px;
}
.qes-contact-locations .panel-body {
  background: #F8FAFB;
  border-top-color: #E4EBEF !important;
  color: var(--qes-body);
  font-size: 12px;
}

@media (max-width: 991px) {
  .qes-contact-intro-assurance { flex-basis: 280px; }
  .qes-contact-layout { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); }
  .qes-contact-info { padding: 32px; }
  .qes-contact-form-card { padding: 36px 30px; }
  .qes-contact-form-grid { grid-template-columns: 1fr; }
  .qes-contact-field-wide { grid-column: auto; }
}

@media (max-width: 767px) {
  .qes-contact-page { padding: 20px 0 48px; }
  .qes-contact-breadcrumb { margin-bottom: 28px; }
  .qes-contact-intro {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
    margin-bottom: 24px;
    min-height: 0;
    padding: 28px 24px;
  }
  .qes-contact-intro h1 { font-size: 32px; }
  .qes-contact-intro-assurance { flex-basis: auto; width: 100%; }
  .qes-contact-layout { border-radius: 18px; grid-template-columns: 1fr; }
  .qes-contact-info { min-height: 0; padding: 30px 24px; }
  .qes-contact-info h2 { font-size: 25px; }
  .qes-contact-form-card { padding: 30px 22px; }
  .qes-contact-form-footer { align-items: stretch; flex-direction: column; }
  .qes-contact-submit { justify-content: center; width: 100%; }
  .qes-contact-note { align-items: flex-start; flex-direction: column; gap: 14px; }
}

/* ------------------------------------------ gallery and newsletter ---- */

.qes-gallery-showcase {
  background: #fff;
  border: 1px solid #E1E9ED;
  border-radius: 20px;
  box-shadow: 0 14px 38px rgba(20,32,42,.08);
  margin: 42px 0 24px;
  overflow: hidden;
  padding: 28px;
  position: relative;
}
.qes-gallery-heading {
  align-items: flex-end;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 21px;
  padding-right: 112px;
}
.qes-gallery-heading h2 {
  color: var(--qes-ink);
  font-size: 27px;
  letter-spacing: -.035em;
  margin: 0;
}
.qes-gallery-heading p {
  color: var(--qes-muted);
  font-size: 11px;
  line-height: 1.65;
  margin: 0;
  max-width: 390px;
  text-align: right;
}
.qes-gallery-carousel { margin: 0 -7px; width: auto !important; }
.qes-gallery-carousel .owl-item { padding: 0 7px; }
.qes-gallery-card {
  border-radius: 14px;
  margin: 0;
  overflow: hidden;
}
.qes-gallery-media {
  background: #DDE7EB;
  display: block;
  height: 235px;
  overflow: hidden;
  position: relative;
}
.qes-gallery-media img {
  height: 100%;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .7s var(--qes-ease), filter .4s ease;
  width: 100%;
}
.qes-gallery-card:hover img {
  filter: saturate(1.06);
  transform: scale(1.075);
}
.qes-gallery-shade {
  background: linear-gradient(to top, rgba(13,29,40,.82), rgba(13,29,40,.04) 62%);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.qes-gallery-copy {
  bottom: 16px;
  left: 17px;
  position: absolute;
  right: 60px;
  transform: translateY(4px);
  transition: transform .25s ease;
  z-index: 2;
}
.qes-gallery-card:hover .qes-gallery-copy { transform: translateY(0); }
.qes-gallery-copy strong {
  color: #fff;
  display: block;
  font-size: 14px;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qes-gallery-copy small {
  color: rgba(255,255,255,.62);
  display: block;
  font-size: 9px;
  margin-top: 2px;
  text-transform: uppercase;
}
.qes-gallery-zoom {
  align-items: center;
  background: rgba(255,255,255,.92);
  border-radius: 50%;
  bottom: 15px;
  color: #277FA9;
  display: flex;
  height: 37px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: 15px;
  transform: translateY(8px);
  transition: opacity .24s ease, transform .24s ease;
  width: 37px;
  z-index: 2;
}
.qes-gallery-card:hover .qes-gallery-zoom {
  opacity: 1;
  transform: translateY(0);
}
.qes-gallery-showcase .owl-controls { margin: 0; }
.qes-gallery-showcase .owl-buttons {
  display: flex;
  gap: 8px;
  position: absolute;
  right: 7px;
  top: -62px;
}
.qes-gallery-showcase .owl-theme .owl-controls .owl-buttons div,
.qes-gallery-showcase .owl-buttons > div {
  align-items: center;
  background: #EFF4F6 !important;
  border: 1px solid #DCE5EA;
  border-radius: 50% !important;
  color: #526675 !important;
  display: flex !important;
  font-size: 11px !important;
  height: 36px;
  justify-content: center;
  margin: 0 !important;
  opacity: 1 !important;
  padding: 0 !important;
  position: static !important;
  transition: background .18s ease, color .18s ease, transform .18s ease;
  width: 36px;
}
.qes-gallery-showcase .owl-buttons > div i {
  font-size: 11px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-shadow: none !important;
}
.qes-gallery-showcase .owl-buttons > div:hover {
  background: #277FA9 !important;
  color: #fff !important;
  transform: translateY(-2px);
}
.qes-gallery-showcase .owl-pagination {
  bottom: 11px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}
.qes-gallery-showcase .owl-theme .owl-controls .owl-page span,
.qes-gallery-showcase .owl-page span {
  background: rgba(255,255,255,.52) !important;
  height: 5px !important;
  margin: 0 3px !important;
  opacity: 1 !important;
  transition: width .2s ease, background .2s ease;
  width: 5px !important;
}
.qes-gallery-showcase .owl-page.active span {
  background: #fff !important;
  width: 17px !important;
}

#newsletter.qes-newsletter-signup {
  background:
    radial-gradient(circle at 12% 0, rgba(127,210,216,.22), transparent 28%),
    linear-gradient(110deg, #153846, #24556A 58%, #385CC8 150%) !important;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(20,32,42,.15);
  margin: 24px 0 46px;
  overflow: hidden;
  padding: 27px 30px;
  position: relative;
}
#newsletter.qes-newsletter-signup::after {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  content: "";
  height: 230px;
  position: absolute;
  right: -70px;
  top: -145px;
  width: 230px;
}
.qes-newsletter-inner {
  align-items: center;
  display: grid;
  gap: 30px;
  grid-template-columns: minmax(320px, .9fr) minmax(390px, 1.1fr);
  position: relative;
  z-index: 1;
}
.qes-newsletter-copy {
  align-items: center;
  display: flex;
  gap: 16px;
}
.qes-newsletter-icon {
  align-items: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  color: #83D4DA;
  display: flex;
  flex: 0 0 50px;
  font-size: 20px;
  height: 50px;
  justify-content: center;
}
.qes-newsletter-kicker {
  color: #83D4DA;
  display: block;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .11em;
  margin-bottom: 2px;
  text-transform: uppercase;
}
.qes-newsletter-copy h2 {
  color: #fff;
  font-size: 21px;
  letter-spacing: -.025em;
  margin: 0;
}
.qes-newsletter-copy p {
  color: rgba(255,255,255,.54);
  font-size: 10px;
  margin: 3px 0 0;
}
.qes-newsletter-form { min-width: 0; }
.qes-newsletter-input {
  background: #fff;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 12px;
  display: flex;
  min-height: 54px;
  padding: 5px;
  position: relative;
}
.qes-newsletter-input > i {
  color: #8FA1AC;
  left: 17px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#frm_subscribe .qes-newsletter-input .form-control {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--qes-ink);
  font-size: 12px;
  height: 42px !important;
  padding: 8px 14px 8px 40px !important;
  width: 100%;
}
#frm_subscribe .qes-newsletter-input .form-control::placeholder { color: #9AAAB4; }
#frm_subscribe .qes-newsletter-input .btn-news,
.qes-newsletter-popup-button {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8) !important;
  border: 0 !important;
  border-radius: 9px;
  color: #fff !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 11px !important;
  font-weight: 700 !important;
  gap: 9px;
  justify-content: center;
  min-width: 132px;
  padding: 0 17px;
  text-transform: uppercase;
  transition: box-shadow .18s ease, transform .18s ease;
}
#frm_subscribe .qes-newsletter-input .btn-news:hover,
.qes-newsletter-popup-button:hover {
  box-shadow: 0 7px 16px rgba(56,92,200,.30);
  transform: translateY(-1px);
}
.qes-newsletter-result {
  color: #fff;
  display: block;
  font-size: 10px;
  margin-top: 6px;
  min-height: 0;
}
.qes-newsletter-popup-launch { text-align: right; }
.qes-newsletter-popup-button { min-height: 48px; }

@media (max-width: 991px) {
  .qes-gallery-heading p { display: none; }
  .qes-newsletter-inner { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .qes-gallery-showcase { border-radius: 16px; margin-top: 28px; padding: 21px 16px; }
  .qes-gallery-heading { padding-right: 88px; }
  .qes-gallery-heading h2 { font-size: 23px; }
  .qes-gallery-showcase .owl-buttons { right: 7px; top: -55px; }
  .qes-gallery-showcase .owl-theme .owl-controls .owl-buttons div,
  .qes-gallery-showcase .owl-buttons > div { height: 34px; width: 34px; }
  .qes-gallery-media { height: 250px; }
  #newsletter.qes-newsletter-signup { border-radius: 16px; margin-bottom: 32px; padding: 24px 18px; }
  .qes-newsletter-inner { gap: 20px; grid-template-columns: 1fr; }
  .qes-newsletter-copy { align-items: flex-start; }
  .qes-newsletter-input { align-items: stretch; flex-direction: column; padding: 6px; }
  #frm_subscribe .qes-newsletter-input .form-control { padding-right: 10px !important; }
  #frm_subscribe .qes-newsletter-input .btn-news { min-height: 43px; width: 100%; }
}

/* ----------------------------------------- modern property headings ---- */

.qes-property-section-heading {
  align-items: flex-end;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #DCE5EA;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  gap: 12px;
  margin: 0 0 26px;
  min-height: 0;
  padding: 0 0 15px;
  position: relative;
}
.qes-property-section-heading::before {
  background: linear-gradient(90deg, #277FA9, #6FC3CB);
  border-radius: 999px;
  bottom: -2px;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  width: 72px;
}
.qes-property-section-icon {
  align-items: center;
  background: linear-gradient(135deg, #277FA9, #385CC8);
  border-radius: 10px;
  box-shadow: 0 6px 15px rgba(56,92,200,.18);
  color: #fff;
  display: flex;
  flex: 0 0 39px;
  font-size: 14px;
  height: 39px;
  justify-content: center;
}
.qes-property-section-copy { min-width: 0; }
.qes-property-section-copy > span {
  color: #277FA9;
  display: block;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .11em;
  margin-bottom: 2px;
  text-transform: uppercase;
}
.qes-property-section-copy h2 {
  color: var(--qes-ink);
  font-size: 23px;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin: 0;
}
.qes-property-section-copy p {
  color: var(--qes-muted);
  font-size: 8px;
  margin: 4px 0 0;
}
.qes-property-section-count {
  background: transparent;
  border: 1px solid #D5E0E5;
  border-radius: 999px;
  color: #617581;
  flex: 0 0 auto;
  font-size: 8px;
  font-weight: 700;
  margin-left: auto;
  margin-bottom: 3px;
  padding: 6px 10px;
  text-transform: uppercase;
}
.qes-property-view-more {
  clear: both;
  padding: 10px 0 4px;
  text-align: center;
}
.qes-property-view-more a {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border-radius: 999px;
  box-shadow: 0 9px 22px rgba(56,92,200,.22);
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  gap: 10px;
  min-height: 43px;
  padding: 0 18px;
  text-transform: uppercase;
  transition: box-shadow .18s ease, transform .18s ease;
}
.qes-property-view-more a:hover {
  box-shadow: 0 12px 28px rgba(56,92,200,.30);
  color: #fff;
  transform: translateY(-2px);
}
.qes-property-view-more a i { transition: transform .18s ease; }
.qes-property-view-more a:hover i { transform: translateX(3px); }

@media (max-width: 767px) {
  .qes-property-section-heading { padding: 0 0 13px; }
  .qes-property-section-icon { flex-basis: 36px; height: 36px; }
  .qes-property-section-copy h2 { font-size: 20px; }
  .qes-property-section-copy p,
  .qes-property-section-count { display: none; }
}

/* ------------------------------------------------ modern site footer ---- */

footer.qes-footer.footer3 {
  background:
    radial-gradient(circle at 7% 8%, rgba(65,143,161,.13), transparent 25%),
    #12232D;
  border: 0;
  color: rgba(255,255,255,.62);
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}
.qes-footer::after {
  border: 1px solid rgba(255,255,255,.035);
  border-radius: 50%;
  content: "";
  height: 520px;
  pointer-events: none;
  position: absolute;
  right: -270px;
  top: 50px;
  width: 520px;
}
.qes-footer-cta {
  align-items: center;
  background:
    radial-gradient(circle at 88% 0, rgba(118,87,200,.22), transparent 32%),
    linear-gradient(105deg, #20495C, #28677D 58%, #385CC8 145%);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin: 38px 0 48px;
  overflow: hidden;
  padding: 25px 28px;
  position: relative;
  z-index: 1;
}
.qes-footer-kicker {
  color: #83D4DA;
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  margin-bottom: 3px;
  text-transform: uppercase;
}
.qes-footer-cta h2 {
  color: #fff;
  font-size: 25px;
  letter-spacing: -.03em;
  margin: 0;
}
.qes-footer-cta-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 9px;
}
.qes-footer-cta-actions a {
  align-items: center;
  border-radius: 10px;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  gap: 9px;
  min-height: 43px;
  padding: 0 15px;
  text-transform: uppercase;
}
.qes-footer-cta-secondary {
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
}
.qes-footer-cta-secondary:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
}
.qes-footer-cta-primary {
  background: #fff;
  box-shadow: 0 8px 18px rgba(12,29,39,.18);
  color: #277FA9;
}
.qes-footer-cta-primary:hover { color: #385CC8; transform: translateY(-1px); }

.qes-footer-grid {
  display: grid;
  gap: 52px;
  grid-template-columns: 1.25fr 1fr .85fr;
  padding-bottom: 45px;
  position: relative;
  z-index: 1;
}
.qes-footer-brand { min-width: 0; }
.qes-footer-logo {
  align-items: center;
  color: #fff;
  display: inline-flex;
  gap: 12px;
  margin-bottom: 16px;
}
.qes-footer-logo:hover { color: #fff; opacity: .88; }
.qes-footer-logo img {
  height: 54px;
  object-fit: contain;
  width: 54px;
}
.qes-footer-logo span {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  max-width: 150px;
}
.qes-footer-brand > p {
  color: rgba(255,255,255,.54);
  font-size: 10px;
  line-height: 1.8;
  margin: 0 0 15px;
  max-width: 275px;
}
.qes-footer-read {
  color: #79CAD1;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}
.qes-footer-read i { margin-left: 5px; transition: transform .18s ease; }
.qes-footer-read:hover { color: #fff; }
.qes-footer-read:hover i { transform: translateX(3px); }
.qes-footer-column h3,
.qes-footer-column-heading h3 {
  color: #fff;
  font-size: 12px;
  letter-spacing: .08em;
  margin: 0 0 20px;
  padding-bottom: 11px;
  position: relative;
  text-transform: uppercase;
}
.qes-footer-column h3::after,
.qes-footer-column-heading h3::after {
  background: linear-gradient(90deg, #6FC3CB 0 30px, rgba(255,255,255,.12) 30px);
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.qes-footer-contact ul { display: grid; gap: 15px; margin: 0; }
.qes-footer-contact li {
  align-items: flex-start;
  display: flex;
  gap: 10px;
}
.qes-footer-contact li > i {
  align-items: center;
  background: rgba(111,195,203,.10);
  border: 1px solid rgba(111,195,203,.13);
  border-radius: 9px;
  color: #79CAD1;
  display: flex;
  flex: 0 0 34px;
  height: 34px;
  justify-content: center;
}
.qes-footer-contact li span { min-width: 0; }
.qes-footer-contact small {
  color: rgba(255,255,255,.34);
  display: block;
  font-size: 8px;
  letter-spacing: .07em;
  margin-bottom: 1px;
  text-transform: uppercase;
}
.qes-footer-contact a,
.qes-footer-contact strong {
  color: rgba(255,255,255,.70);
  display: block;
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.qes-footer-contact a:hover { color: #79CAD1; }
.qes-footer-links ul {
  display: grid;
  gap: 0;
  margin: -5px 0 0;
}
.qes-footer-links li { border-bottom: 1px solid rgba(255,255,255,.07); }
.qes-footer-links a {
  align-items: center;
  color: rgba(255,255,255,.57);
  display: flex;
  font-size: 10px;
  justify-content: space-between;
  padding: 7px 0;
}
.qes-footer-links a i {
  color: rgba(121,202,209,.48);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .18s ease, transform .18s ease;
}
.qes-footer-links a:hover { color: #fff; }
.qes-footer-links a:hover i { opacity: 1; transform: translateX(0); }
.qes-footer-column-heading {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
}
.qes-footer-column-heading h3 { flex: 1; }
.qes-footer-column-heading > span {
  color: rgba(255,255,255,.31);
  font-size: 8px;
  margin-left: -72px;
  padding-top: 2px;
  text-transform: uppercase;
}
.qes-footer-gallery-grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qes-footer-gallery-grid > a {
  background: #233B48;
  border-radius: 9px;
  display: block;
  height: 78px;
  overflow: hidden;
  position: relative;
}
.qes-footer-gallery-grid img {
  height: 100%;
  object-fit: cover;
  transition: opacity .25s ease, transform .4s var(--qes-ease);
  width: 100%;
}
.qes-footer-gallery-grid > a > span {
  align-items: center;
  background: rgba(39,127,169,.90);
  border-radius: 50%;
  color: #fff;
  display: flex;
  height: 27px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: 8px;
  top: 8px;
  transform: translateY(5px);
  transition: opacity .2s ease, transform .2s ease;
  width: 27px;
}
.qes-footer-gallery-grid > a > span i { font-size: 9px; transform: rotate(45deg); }
.qes-footer-gallery-grid > a:hover img { opacity: .72; transform: scale(1.06); }
.qes-footer-gallery-grid > a:hover > span { opacity: 1; transform: translateY(0); }
.qes-footer-bottom {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: space-between;
  min-height: 66px;
  position: relative;
  z-index: 1;
}
.qes-footer-bottom p {
  color: rgba(255,255,255,.36);
  font-size: 9px;
  margin: 0;
}
.qes-footer-bottom-links {
  align-items: center;
  display: flex;
  gap: 18px;
}
.qes-footer-bottom-links > a {
  color: rgba(255,255,255,.48);
  font-size: 9px;
}
.qes-footer-bottom-links > a:hover { color: #79CAD1; }
.qes-back-to-top {
  align-items: center;
  background: transparent;
  border: 0;
  color: #79CAD1;
  display: inline-flex;
  font-size: 9px;
  gap: 7px;
  padding: 0;
}
.qes-back-to-top i {
  align-items: center;
  border: 1px solid rgba(121,202,209,.25);
  border-radius: 50%;
  display: flex;
  height: 29px;
  justify-content: center;
  width: 29px;
}
.qes-back-to-top:hover i { background: #79CAD1; color: #12232D; }

@media (max-width: 991px) {
  .qes-footer-grid {
    gap: 38px 30px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .qes-footer-cta {
    align-items: flex-start;
    flex-direction: column;
    margin: 24px 0 38px;
    padding: 22px;
  }
  .qes-footer-cta h2 { font-size: 22px; }
  .qes-footer-cta-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .qes-footer-cta-actions a { justify-content: center; }
  .qes-footer-grid { gap: 34px; grid-template-columns: 1fr; }
  .qes-footer-brand > p { max-width: none; }
  .qes-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
    padding: 20px 0;
  }
  .qes-footer-bottom-links { justify-content: space-between; width: 100%; }
}

/* ------------------------------------------------ modern FAQ page ---- */

.qes-faq-page {
  background:
    radial-gradient(circle at 92% 3%, rgba(56,92,200,.09), transparent 27%),
    #F6F9FB;
  min-height: 720px;
  padding: 26px 0 72px;
}
.qes-faq-breadcrumb {
  align-items: center;
  display: flex;
  gap: 9px;
  margin-bottom: 24px;
}
.qes-faq-breadcrumb a {
  color: #718491;
  font-size: 9px;
  font-weight: 600;
  text-transform: uppercase;
}
.qes-faq-breadcrumb a:last-child { color: #277FA9; }
.qes-faq-breadcrumb i { color: #A7B5BD; font-size: 10px; }
.qes-faq-hero {
  align-items: center;
  background:
    radial-gradient(circle at 88% 0, rgba(118,87,200,.28), transparent 31%),
    linear-gradient(110deg, #153846, #24556A 55%, #385CC8 145%);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  box-shadow: 0 15px 36px rgba(20,32,42,.15);
  display: grid;
  gap: 45px;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr);
  margin-bottom: 38px;
  overflow: hidden;
  padding: 34px 40px;
  position: relative;
}
.qes-faq-hero::after {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  content: "";
  height: 260px;
  position: absolute;
  right: -110px;
  top: -170px;
  width: 260px;
}
.qes-faq-hero-copy { position: relative; z-index: 1; }
.qes-faq-kicker {
  align-items: center;
  color: #83D4DA;
  display: inline-flex;
  font-size: 9px;
  font-weight: 700;
  gap: 7px;
  letter-spacing: .12em;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.qes-faq-kicker i { font-size: 5px; text-shadow: 0 0 9px #83D4DA; }
.qes-faq-hero h1 {
  color: #fff;
  font-size: 37px;
  letter-spacing: -.045em;
  margin: 0;
}
.qes-faq-hero p {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  line-height: 1.7;
  margin: 8px 0 0;
  max-width: 620px;
}
.qes-faq-search {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 13px;
  box-shadow: 0 12px 27px rgba(10,28,38,.18);
  display: flex;
  min-height: 54px;
  padding: 5px 7px 5px 17px;
  position: relative;
  z-index: 1;
}
.qes-faq-search > i {
  color: #277FA9;
  flex: 0 0 auto;
  font-size: 14px;
}
.qes-faq-search input {
  background: transparent;
  border: 0;
  color: var(--qes-ink);
  font-size: 11px;
  height: 42px;
  min-width: 0;
  outline: 0;
  padding: 0 12px;
  width: 100%;
}
.qes-faq-search input::placeholder { color: #93A3AD; }
#qes-faq-clear {
  align-items: center;
  background: #EFF4F6;
  border: 0;
  border-radius: 8px;
  color: #667A86;
  display: none;
  flex: 0 0 35px;
  height: 35px;
  justify-content: center;
}
#qes-faq-clear:hover { background: #E4EEF2; color: #277FA9; }
.qes-faq-toolbar {
  align-items: flex-end;
  display: flex;
  gap: 25px;
  justify-content: space-between;
  margin-bottom: 25px;
}
.qes-faq-toolbar h2 {
  color: var(--qes-ink);
  font-size: 27px;
  letter-spacing: -.035em;
  margin: 0;
}
.qes-faq-filters {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}
.qes-faq-filter {
  background: #fff;
  border: 1px solid #DCE5EA;
  border-radius: 999px;
  color: #677A86;
  font-size: 9px;
  font-weight: 600;
  min-height: 34px;
  padding: 0 12px;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.qes-faq-filter:hover {
  border-color: #277FA9;
  color: #277FA9;
}
.qes-faq-filter.is-active {
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border-color: transparent;
  box-shadow: 0 6px 14px rgba(56,92,200,.17);
  color: #fff;
}
.qes-faq-layout {
  align-items: start;
  display: grid;
  gap: 25px;
  grid-template-columns: 255px minmax(0, 1fr);
}
.qes-faq-aside {
  background:
    radial-gradient(circle at 100% 0, rgba(111,195,203,.18), transparent 37%),
    #17313E;
  border-radius: 16px;
  color: #fff;
  padding: 25px;
  position: sticky;
  top: 22px;
}
.qes-faq-aside-icon {
  align-items: center;
  background: rgba(111,195,203,.12);
  border: 1px solid rgba(111,195,203,.16);
  border-radius: 11px;
  color: #79CAD1;
  display: flex;
  font-size: 19px;
  height: 43px;
  justify-content: center;
  margin-bottom: 20px;
  width: 43px;
}
.qes-faq-aside h3 {
  color: #fff;
  font-size: 19px;
  letter-spacing: -.025em;
  line-height: 1.4;
  margin: 0 0 10px;
}
.qes-faq-aside > p {
  color: rgba(255,255,255,.56);
  font-size: 10px;
  line-height: 1.75;
  margin: 0;
}
.qes-faq-stat {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.10);
  display: flex;
  gap: 9px;
  margin-top: 24px;
  padding-top: 17px;
}
.qes-faq-stat strong {
  color: #79CAD1;
  font-size: 22px;
}
.qes-faq-stat span {
  color: rgba(255,255,255,.48);
  font-size: 8px;
  text-transform: uppercase;
}
.qes-faq-groups { min-width: 0; }
.qes-faq-group {
  margin-bottom: 28px;
}
.qes-faq-group:last-of-type { margin-bottom: 0; }
.qes-faq-group-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  padding: 0 4px;
}
.qes-faq-group-heading > div {
  align-items: center;
  display: flex;
  gap: 9px;
}
.qes-faq-group-heading > div > span {
  color: #277FA9;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
}
.qes-faq-group-heading h3 {
  color: var(--qes-ink);
  font-size: 15px;
  margin: 0;
}
.qes-faq-group-heading small {
  color: #8FA0AA;
  font-size: 8px;
  text-transform: uppercase;
}
.qes-faq-accordion.panel-group { margin: 0; }
.qes-faq-accordion.panel-group .qes-faq-item {
  background: #fff;
  border: 1px solid #E0E8EC;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(20,32,42,.045);
  margin: 0 0 8px;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.qes-faq-accordion.panel-group .qes-faq-item:last-child { margin-bottom: 0; }
.qes-faq-accordion.panel-group .qes-faq-item:has(.collapse.in) {
  border-color: rgba(39,127,169,.35);
  box-shadow: 0 10px 25px rgba(20,32,42,.075);
}
.qes-faq-item .panel-heading {
  background: transparent;
  border: 0;
  padding: 0;
}
.qes-faq-question {
  align-items: center;
  color: var(--qes-ink);
  display: flex;
  gap: 12px;
  min-height: 59px;
  padding: 11px 13px;
}
.qes-faq-question:hover,
.qes-faq-question:focus { color: #277FA9; outline: 0; }
.qes-faq-number {
  align-items: center;
  background: #F0F5F7;
  border-radius: 8px;
  color: #78909C;
  display: flex;
  flex: 0 0 34px;
  font-size: 8px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
}
.qes-faq-question[aria-expanded="true"] .qes-faq-number {
  background: #EAF5F7;
  color: #277FA9;
}
.qes-faq-question-text {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.55;
  min-width: 0;
}
.qes-faq-toggle {
  align-items: center;
  border: 1px solid #DCE5EA;
  border-radius: 50%;
  color: #718590;
  display: flex;
  flex: 0 0 30px;
  height: 30px;
  justify-content: center;
  margin-left: auto;
}
.qes-faq-question[aria-expanded="true"] .qes-faq-toggle {
  background: linear-gradient(135deg, #277FA9, #385CC8);
  border-color: transparent;
  color: #fff;
}
.qes-faq-toggle i { font-size: 9px; }
.qes-faq-item .qes-faq-answer {
  background: #F9FBFC;
  border-top: 1px solid #E7EDF0 !important;
  color: #5C707C;
  font-size: 10px;
  line-height: 1.8;
  padding: 16px 18px 18px 59px;
}
.qes-faq-answer p:last-child { margin-bottom: 0; }
.qes-faq-empty {
  background: #fff;
  border: 1px dashed #CAD7DD;
  border-radius: 14px;
  display: none;
  padding: 42px 20px;
  text-align: center;
}
.qes-faq-empty > i { color: #7ABFC8; font-size: 25px; margin-bottom: 8px; }
.qes-faq-empty h3 { color: var(--qes-ink); font-size: 16px; margin: 0 0 5px; }
.qes-faq-empty p { color: var(--qes-muted); font-size: 10px; margin: 0 0 13px; }
.qes-faq-empty button {
  background: #EAF5F7;
  border: 0;
  border-radius: 999px;
  color: #277FA9;
  font-size: 9px;
  font-weight: 700;
  padding: 8px 12px;
}
.qes-faq-contact {
  align-items: center;
  background:
    radial-gradient(circle at 90% 0, rgba(56,92,200,.12), transparent 30%),
    #fff;
  border: 1px solid #DFE7EB;
  border-radius: 16px;
  display: flex;
  gap: 25px;
  justify-content: space-between;
  margin-top: 38px;
  padding: 23px 25px;
}
.qes-faq-contact h2 {
  color: var(--qes-ink);
  font-size: 21px;
  letter-spacing: -.03em;
  margin: 0;
}
.qes-faq-contact p {
  color: var(--qes-muted);
  font-size: 9px;
  margin: 4px 0 0;
}
.qes-faq-contact > a {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(56,92,200,.20);
  color: #fff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 9px;
  font-weight: 700;
  gap: 8px;
  min-height: 42px;
  padding: 0 15px;
  text-transform: uppercase;
}
.qes-faq-contact > a:hover { color: #fff; transform: translateY(-1px); }

@media (max-width: 991px) {
  .qes-faq-hero { grid-template-columns: 1fr; }
  .qes-faq-layout { grid-template-columns: 220px minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .qes-faq-page { padding: 20px 0 48px; }
  .qes-faq-hero { gap: 22px; padding: 28px 22px; }
  .qes-faq-hero h1 { font-size: 31px; }
  .qes-faq-search { min-height: 50px; }
  .qes-faq-toolbar { align-items: stretch; flex-direction: column; }
  .qes-faq-filters { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 3px; }
  .qes-faq-filter { flex: 0 0 auto; }
  .qes-faq-layout { grid-template-columns: 1fr; }
  .qes-faq-aside { display: none; }
  .qes-faq-question { gap: 9px; padding: 10px; }
  .qes-faq-number { flex-basis: 31px; height: 31px; }
  .qes-faq-question-text { font-size: 10px; }
  .qes-faq-item .qes-faq-answer { padding: 14px 14px 16px; }
  .qes-faq-contact { align-items: stretch; flex-direction: column; }
  .qes-faq-contact > a { justify-content: center; }
}

/* --------------------------------------------------------------- base ---- */

body {
  background: var(--qes-canvas);
  color: var(--qes-body);
  font-family: 'Poppins', 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Khmer uses the requested Khmer OS Siemreap face. `Siemreap` is the
   web-font name; the original local font keeps its Khmer OS family name. */
html[lang^="km"] body,
html[lang^="km"] button,
html[lang^="km"] input,
html[lang^="km"] select,
html[lang^="km"] textarea {
  font-family: 'Khmer OS Siemreap', 'Siemreap', 'Khmer UI', sans-serif;
  letter-spacing: 0;
}
html[lang^="km"] body :not(.fa):not(.fa6):not(.glyphicon) {
  font-family: 'Khmer OS Siemreap', 'Siemreap', 'Khmer UI', sans-serif;
  letter-spacing: 0;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--qes-ink);
  font-family: inherit;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.25;
}

a { color: var(--qes-brand); transition: color .18s var(--qes-ease); }
a:hover, a:focus { color: var(--qes-brand-dark); text-decoration: none; }

img { max-width: 100%; }

:focus-visible {
  outline: 2px solid var(--qes-brand);
  outline-offset: 2px;
}

/* ------------------------------------------------------------ top bar ---- */

nav#top.qes-topbar {
  background: var(--qes-surface);
  border: 0;
  border-bottom: 1px solid var(--qes-line);
  min-height: 0;
  padding: 0;
}
.qes-topbar .container {
  align-items: center;
  display: flex;
  justify-content: space-between;
  min-height: 42px;
}
.qes-topbar ul { margin: 0; padding: 0; }
.qes-topbar li { padding: 0; }
/* auto margins pin the two groups to the container edges regardless of
   whatever justify-content the inherited stylesheet resolves to */
.qes-topbar .qes-topbar-links { margin-right: auto; }
.qes-topbar .qes-topbar-meta  { margin-left: auto; }
.qes-topbar-links > li + li { margin-left: 26px; }
.qes-topbar-meta > li + li { margin-left: 22px; }
.qes-topbar a,
.qes-topbar li,
.qes-topbar i {
  color: var(--qes-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.qes-topbar a:hover { color: var(--qes-brand); }
.qes-topbar-support a { letter-spacing: .02em; text-transform: none; }
.qes-topbar-support .fa { color: var(--qes-brand); margin-right: 5px; }

/* language switcher */
.qes-topbar-lang {
  display: inline-block;
  position: relative;
  z-index: 1005;
}
.qes-language-picker { margin: 0; }
.qes-language-picker .dropdown { position: relative; }
.qes-language-current {
  align-items: center;
  background: #f3f8fb;
  border: 1px solid #d7e5ec;
  border-radius: 999px;
  color: #334b5b;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .01em;
  min-height: 30px;
  padding: 4px 11px 4px 6px;
  text-transform: none;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.qes-language-current:hover,
.qes-language-current:focus,
.qes-language-picker .dropdown.open .qes-language-current {
  background: #fff;
  border-color: var(--qes-brand);
  box-shadow: 0 5px 18px rgba(34, 111, 139, .14);
  color: var(--qes-brand);
  outline: 0;
}
.qes-language-current img,
.qes-language-menu img {
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(13, 31, 43, .1);
  flex: 0 0 auto;
  height: 20px;
  margin: 0;
  object-fit: cover;
  width: 20px;
}
.qes-language-current .fa {
  color: inherit;
  font-size: 12px;
  margin-left: 1px;
  transition: transform .2s ease;
}
.qes-language-picker .dropdown.open .qes-language-current .fa { transform: rotate(180deg); }
.qes-language-menu.dropdown-menu {
  background: rgba(255, 255, 255, .98);
  border: 1px solid #dbe7ed;
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(16, 42, 56, .18);
  display: none;
  left: auto;
  margin: 9px 0 0;
  min-width: 250px;
  overflow: hidden;
  padding: 7px;
  right: 0;
}
.qes-language-picker .dropdown.open .qes-language-menu,
.qes-language-menu.dropdown-menu[style*="display: block"] { display: block; }
.qes-language-menu > li { display: block; }
.qes-language-menu > li + li { margin: 2px 0 0; }
.qes-language-menu .language-select {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: #253846;
  display: grid;
  font-size: 13px;
  font-weight: 700;
  gap: 10px;
  grid-template-columns: 20px minmax(70px, 1fr) minmax(62px, auto) 14px;
  letter-spacing: 0;
  padding: 9px 10px;
  text-align: left;
  text-transform: none;
  transition: background .18s ease, color .18s ease;
  width: 100%;
}
.qes-language-menu .language-select:hover,
.qes-language-menu .language-select:focus {
  background: #eef7fa;
  color: var(--qes-brand);
  outline: 0;
}
.qes-language-menu .is-active .language-select {
  background: linear-gradient(135deg, rgba(78, 169, 180, .14), rgba(61, 103, 197, .1));
  color: #277b96;
}
.qes-language-native {
  color: #8a9aa5;
  font-size: 12px;
  font-weight: 500;
  text-align: right;
}
.qes-language-menu .fa-check {
  color: var(--qes-brand);
  font-size: 11px;
}

/* ------------------------------------------------------------- header ---- */

header, header.qes-header { background: var(--qes-surface); }
header .container > .row { background: transparent !important; }

/* one bar: logo | nav | auth */
.qes-header {
  border-bottom: 1px solid var(--qes-line);
  position: sticky;
  top: 0;
  z-index: 950;
}
.qes-header-inner {
  align-items: center;
  display: flex;
  gap: 24px;
  min-height: 78px;
}
.qes-header .qes-logo { flex: 0 0 auto; margin: 0; padding: 8px 0; }
.qes-header .qes-logo img {
  height: auto;
  max-height: 76px;
  min-width: 190px;
  width: auto;
  transition: opacity .18s var(--qes-ease);
}
.qes-header .qes-logo a:hover img { opacity: .82; }
.qes-header .qes-logo h1 { font-size: 22px; margin: 0; }

.qes-header .qes-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
}
.qes-header .qes-nav > * { width: auto; }

.qes-auth {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}
.qes-auth-mobile { display: none; }
.qes-auth-link {
  color: var(--qes-ink);
  font-size: 14px;
  font-weight: 600;
  padding: 9px 14px;
  white-space: nowrap;
}
.qes-auth-link:hover { color: var(--qes-brand); }
.qes-auth-btn {
  background: var(--qes-brand);
  border-radius: 999px;
  box-shadow: 0 2px 8px rgba(34,167,174,.28);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 24px;
  white-space: nowrap;
  transition: all .2s var(--qes-ease);
}
.qes-auth-btn:hover {
  background: var(--qes-brand-dark);
  box-shadow: 0 6px 18px rgba(34,167,174,.36);
  color: #fff;
  transform: translateY(-1px);
}
.qes-agent-profile-menu { position: relative; }
.qes-agent-profile-toggle {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--qes-ink);
  display: inline-flex;
  gap: 8px;
  min-height: 46px;
  padding: 4px 10px 4px 4px;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.qes-agent-profile-toggle:hover,
.qes-agent-profile-toggle:focus,
.qes-agent-profile-menu.is-open .qes-agent-profile-toggle {
  background: #F4F8FA;
  border-color: #D8E5EA;
  box-shadow: 0 7px 20px rgba(20,32,42,.1);
  outline: 0;
}
.qes-agent-avatar {
  align-items: center;
  background: linear-gradient(135deg, #EAF7FA, #E9EEFF);
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #CFDDE4;
  display: inline-flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
  overflow: hidden;
  width: 38px;
}
.qes-agent-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.qes-agent-avatar-large {
  flex-basis: 48px;
  height: 48px;
  width: 48px;
}
.qes-agent-profile-name {
  font-size: 13px;
  font-weight: 700;
  max-width: 105px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qes-agent-profile-toggle > .fa {
  color: #8A9AA5;
  font-size: 12px;
  transition: transform .18s ease;
}
.qes-agent-profile-menu.is-open .qes-agent-profile-toggle > .fa { transform: rotate(180deg); }
.qes-agent-profile-dropdown {
  background: #fff;
  border: 1px solid #D8E4EA;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(20,32,42,.19);
  min-width: 292px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease;
  z-index: 1200;
}
.qes-agent-profile-menu.is-open .qes-agent-profile-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.qes-agent-dropdown-identity {
  align-items: center;
  background: linear-gradient(135deg, #F4FBFC, #F4F7FF);
  display: flex;
  gap: 12px;
  padding: 15px 16px;
}
.qes-agent-dropdown-identity strong,
.qes-agent-mobile-identity strong {
  color: var(--qes-ink);
  display: block;
  font-size: 14px;
  line-height: 1.35;
}
.qes-agent-dropdown-identity small,
.qes-agent-mobile-identity small {
  color: var(--qes-muted);
  display: block;
  font-size: 11px;
  margin-top: 2px;
  max-width: 185px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qes-agent-dropdown-group {
  border-top: 1px solid #E3EAEE;
  padding: 6px;
}
.qes-agent-dropdown-group a,
.qes-agent-dropdown-logout {
  align-items: center;
  border-radius: 9px;
  color: #344A58;
  display: flex;
  font-size: 13px;
  font-weight: 600;
  gap: 11px;
  min-height: 40px;
  padding: 9px 11px;
}
.qes-agent-dropdown-group a:hover,
.qes-agent-dropdown-group a:focus,
.qes-agent-dropdown-logout:hover,
.qes-agent-dropdown-logout:focus {
  background: #EDF7F9;
  color: #277FA9;
}
.qes-agent-dropdown-group i,
.qes-agent-dropdown-logout i {
  color: #7D909C;
  font-size: 16px;
  text-align: center;
  width: 20px;
}
.qes-agent-dropdown-logout {
  border-radius: 0;
  border-top: 1px solid #E3EAEE;
  color: #B6404F;
  padding: 12px 17px;
}
.qes-agent-dropdown-logout i { color: inherit; }
.qes-agent-add-property {
  align-items: center;
  background: linear-gradient(135deg, #FF7A22, #F35E19);
  border-radius: 10px;
  box-shadow: 0 7px 18px rgba(243,94,25,.24);
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 7px;
  min-height: 42px;
  padding: 9px 16px;
  white-space: nowrap;
}
.qes-agent-add-property:hover,
.qes-agent-add-property:focus {
  box-shadow: 0 10px 22px rgba(243,94,25,.33);
  color: #fff;
  transform: translateY(-1px);
}
.qes-agent-mobile-card { width: 100%; }
.qes-agent-mobile-identity {
  align-items: center;
  display: flex;
  gap: 11px;
  padding: 12px 8px;
}
.qes-agent-mobile-grid {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qes-agent-mobile-grid a {
  align-items: center;
  background: #F5F9FA;
  border-radius: 8px;
  color: #344A58;
  display: flex;
  font-size: 12px;
  gap: 7px;
  padding: 9px;
}
.qes-agent-mobile-grid i { color: #277FA9; width: 16px; }

/* mobile menu button (hidden on desktop) */
.qes-nav-toggle {
  background: transparent;
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius-sm);
  color: var(--qes-ink);
  display: none;
  font-size: 17px;
  margin-left: auto;
  padding: 7px 13px;
}
.qes-nav-toggle:hover { border-color: var(--qes-brand); color: var(--qes-brand); }

/* the old separate menu strip is folded into the header now */
.qes-header + #menu-wrap { display: none; }

/* --------------------------------------------------------------- menu ---- */

#menu-wrap {
  background: var(--qes-surface);
  border-top: 1px solid var(--qes-line);
  box-shadow: 0 1px 0 var(--qes-line), 0 6px 20px rgba(20,32,42,.05);
}
.qes-nav ul.megamenu,
.qes-nav .nav { float: none; margin: 0; }
.qes-primary-menu {
  align-items: center;
  display: flex;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.qes-primary-menu > li { position: relative; }
.qes-primary-menu > li > a,
.qes-primary-menu > li > .qes-nav-more-toggle {
  background: transparent;
  border: 0;
  color: var(--qes-ink);
  display: block;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.65;
  padding: 18px 14px;
  position: relative;
  text-transform: capitalize;
  white-space: nowrap;
  transition: color .18s var(--qes-ease);
}
.qes-primary-menu > li > .qes-nav-more-toggle { cursor: pointer; }
.qes-primary-menu > li > .qes-nav-more-toggle .fa {
  font-size: 13px;
  margin-left: 4px;
  transition: transform .18s var(--qes-ease);
}
.qes-primary-menu > li > a::after,
.qes-primary-menu > li > .qes-nav-more-toggle::after {
  background: var(--qes-brand);
  border-radius: 2px;
  bottom: 12px;
  content: '';
  height: 2px;
  left: 18px;
  position: absolute;
  right: 18px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s var(--qes-ease);
}
.qes-primary-menu > li:hover > a,
.qes-primary-menu > li:hover > .qes-nav-more-toggle,
.qes-primary-menu > li.is-active > a,
.qes-primary-menu > li.is-active > .qes-nav-more-toggle {
  color: var(--qes-brand);
}
.qes-primary-menu > li:hover > a::after,
.qes-primary-menu > li:hover > .qes-nav-more-toggle::after,
.qes-primary-menu > li.is-active > a::after,
.qes-primary-menu > li.is-active > .qes-nav-more-toggle::after {
  transform: scaleX(1);
}
.qes-nav-more-menu {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius-sm);
  box-shadow: var(--qes-shadow-lg);
  left: 50%;
  list-style: none;
  margin: 0;
  min-width: 180px;
  opacity: 0;
  padding: 8px;
  pointer-events: none;
  position: absolute;
  top: calc(100% - 4px);
  transform: translate(-50%, 8px);
  transition: opacity .18s var(--qes-ease), transform .18s var(--qes-ease), visibility .18s;
  visibility: hidden;
  z-index: 1000;
}
.qes-nav-more:hover .qes-nav-more-menu,
.qes-nav-more:focus-within .qes-nav-more-menu,
.qes-nav-more.is-open .qes-nav-more-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
  visibility: visible;
}
.qes-nav-more.is-open > .qes-nav-more-toggle .fa { transform: rotate(180deg); }
.qes-nav-more-menu a {
  border-radius: 6px;
  color: var(--qes-ink);
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 12px;
  white-space: nowrap;
}
.qes-nav-more-menu a:hover,
.qes-nav-more-menu a:focus,
.qes-nav-more-menu li.is-active > a {
  background: var(--qes-brand-light);
  color: var(--qes-brand-dark);
}
.qes-nav ul.megamenu > li,
.qes-nav .nav > li { float: none; display: inline-block; }
.qes-nav ul.megamenu > li > a,
.qes-nav .nav > li > a,
#menu-wrap ul.megamenu > li > a,
#menu-wrap .nav > li > a {
  color: var(--qes-ink);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  padding: 18px 14px;
  position: relative;
  /* sentence case, per the reference — not shouty all-caps */
  text-transform: capitalize;
  white-space: nowrap;
  transition: color .18s var(--qes-ease);
}
.qes-nav ul.megamenu > li > a::after,
.qes-nav .nav > li > a::after,
#menu-wrap ul.megamenu > li > a::after,
#menu-wrap .nav > li > a::after {
  content: '';
  position: absolute;
  left: 18px; right: 18px; bottom: 12px;
  height: 2px;
  background: var(--qes-brand);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s var(--qes-ease);
}
.qes-nav ul.megamenu > li:hover > a,
.qes-nav .nav > li:hover > a,
#menu-wrap ul.megamenu > li:hover > a,
#menu-wrap .nav > li:hover > a { color: var(--qes-brand); background: transparent; }
.qes-nav ul.megamenu > li:hover > a::after,
.qes-nav .nav > li:hover > a::after,
#menu-wrap ul.megamenu > li:hover > a::after,
#menu-wrap .nav > li:hover > a::after { transform: scaleX(1); }

/* ------------------------------------------------------------ buttons ---- */

.btn,
button.product_button,
.buttons .btn,
input[type="submit"] {
  border: 0;
  border-radius: var(--qes-radius-sm);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .01em;
  padding: 11px 22px;
  transition: all .2s var(--qes-ease);
}
.btn-primary,
button.product_button,
.btn-default.search_btn,
input[type="submit"] {
  background: var(--qes-brand);
  color: #fff;
  box-shadow: 0 2px 8px rgba(34,167,174,.28);
}
.btn-primary:hover, .btn-primary:focus,
button.product_button:hover,
input[type="submit"]:hover {
  background: var(--qes-brand-dark);
  color: #fff;
  box-shadow: 0 6px 18px rgba(34,167,174,.36);
  transform: translateY(-2px);
}
.btn-primary:active, button.product_button:active { transform: translateY(0); }

/* ----------------------------------------------- questionnaire prompt ---- */

.qes-questionnaire-launcher {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: 16px;
  box-shadow: var(--qes-shadow);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 24px auto;
  max-width: 1170px;
  padding: 14px;
}
.qes-questionnaire-option.btn {
  align-items: center;
  background: #fff;
  border: 1px solid var(--qes-line);
  border-radius: 12px;
  box-shadow: none;
  color: var(--qes-ink);
  display: flex;
  gap: 14px;
  min-height: 82px;
  padding: 14px 16px;
  text-align: left;
  transition: border-color .2s var(--qes-ease), box-shadow .2s var(--qes-ease), transform .2s var(--qes-ease);
  width: 100%;
}
.qes-questionnaire-rent.btn {
  background: linear-gradient(135deg, #fff 25%, var(--qes-brand-light));
  border-left: 4px solid var(--qes-brand);
}
.qes-questionnaire-purchase.btn {
  background: linear-gradient(135deg, #fff 25%, #EEF3FF);
  border-left: 4px solid #5277E7;
}
.qes-questionnaire-option.btn:hover,
.qes-questionnaire-option.btn:focus {
  background-color: #fff;
  box-shadow: 0 10px 24px rgba(20,32,42,.11);
  color: var(--qes-ink);
  transform: translateY(-2px);
}
.qes-questionnaire-rent.btn:hover,
.qes-questionnaire-rent.btn:focus { border-color: rgba(34,167,174,.55); }
.qes-questionnaire-purchase.btn:hover,
.qes-questionnaire-purchase.btn:focus { border-color: rgba(82,119,231,.62); }
.qes-questionnaire-icon {
  align-items: center;
  background: var(--qes-brand-light);
  border-radius: 11px;
  color: var(--qes-brand-dark);
  display: flex;
  flex: 0 0 46px;
  font-size: 19px;
  height: 46px;
  justify-content: center;
}
.qes-questionnaire-purchase .qes-questionnaire-icon {
  background: #E8EEFF;
  color: #385CC8;
}
.qes-questionnaire-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
}
.qes-questionnaire-copy small {
  color: var(--qes-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  margin-bottom: 2px;
  text-transform: uppercase;
}
.qes-questionnaire-copy strong {
  color: var(--qes-ink);
  font-size: 16px;
  line-height: 1.35;
}
.qes-questionnaire-arrow {
  color: var(--qes-muted);
  flex: 0 0 auto;
  transition: color .18s var(--qes-ease), transform .18s var(--qes-ease);
}
.qes-questionnaire-option:hover .qes-questionnaire-arrow {
  color: var(--qes-brand);
  transform: translateX(3px);
}
.qes-questionnaire-purchase:hover .qes-questionnaire-arrow { color: #385CC8; }

.qes-questionnaire-modal .modal-content {
  border: 0;
  border-radius: 16px;
  box-shadow: var(--qes-shadow-lg);
  overflow: visible;
}
.qes-questionnaire-modal .modal-dialog {
  margin: 30px auto;
  max-width: calc(100% - 30px);
  width: 680px;
}
.qes-questionnaire-modal .modal-header {
  background: linear-gradient(135deg, #ECF8FA, #F1F4FF);
  border-bottom: 1px solid var(--qes-line);
  border-radius: 16px 16px 0 0;
  padding: 17px 22px;
}
.qes-questionnaire-modal .modal-title {
  color: var(--qes-ink);
  font-size: 18px;
  font-weight: 600;
}
.qes-questionnaire-modal .modal-body {
  overflow: visible;
  padding: 24px;
}
.qes-questionnaire-modal #questionStepsRent,
.qes-questionnaire-modal #questionStepsPurchase {
  display: block;
}
.qes-questionnaire-modal .question-step {
  display: none;
  flex-direction: column;
  margin: 0;
  min-width: 0;
}
.qes-questionnaire-modal .question-step.is-active {
  animation: qes-step-in .24s var(--qes-ease) both;
  display: flex;
}
@keyframes qes-step-in {
  from { opacity: 0; transform: translateX(10px); }
  to { opacity: 1; transform: none; }
}
.qes-questionnaire-modal .question-step label {
  color: var(--qes-ink);
  display: block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
  margin-bottom: 12px;
  min-height: 0;
}
.qes-questionnaire-modal .question-step .form-control {
  background: #F9FBFC;
  border-color: #DCE5EA;
  height: 48px;
  margin-top: auto;
  padding: 10px 13px;
}
.qes-questionnaire-modal .question-step .form-control:focus {
  background: #fff;
  border-color: var(--qes-brand);
  box-shadow: 0 0 0 3px rgba(34,167,174,.12);
}
.qes-questionnaire-modal .qes-date-value { display: none !important; }
.qes-date-picker {
  position: relative;
  width: 100%;
}
.qes-date-display {
  align-items: center;
  background: #F9FBFC;
  border: 1px solid #DCE5EA;
  border-radius: 10px;
  color: var(--qes-ink);
  display: flex;
  font-size: 14px;
  height: 48px;
  justify-content: space-between;
  padding: 0 14px;
  text-align: left;
  transition: background .18s var(--qes-ease), border-color .18s var(--qes-ease), box-shadow .18s var(--qes-ease);
  width: 100%;
}
.qes-date-display:hover,
.qes-date-display:focus,
.qes-date-display[aria-expanded="true"] {
  background: #fff;
  border-color: var(--qes-brand);
  box-shadow: 0 0 0 3px rgba(34,167,174,.12);
  outline: 0;
}
.qes-date-display .fa {
  color: #385CC8;
  font-size: 15px;
  transition: transform .18s var(--qes-ease);
}
.qes-date-display[aria-expanded="true"] .fa { transform: rotate(180deg); }
.qes-date-popover {
  background: #fff;
  border: 1px solid #DCE5EA;
  border-radius: 14px;
  box-shadow: 0 18px 45px rgba(20,32,42,.18);
  left: 0;
  margin-top: 8px;
  max-width: 100%;
  padding: 14px;
  position: absolute;
  top: 100%;
  width: 340px;
  z-index: 1080;
}
.qes-date-header {
  align-items: center;
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  margin-bottom: 12px;
}
.qes-date-header strong {
  color: var(--qes-ink);
  font-size: 15px;
  text-align: center;
}
.qes-date-header button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--qes-ink);
  display: flex;
  height: 34px;
  justify-content: center;
  padding: 0;
  width: 34px;
}
.qes-date-header button:hover,
.qes-date-header button:focus {
  background: #EEF3FF;
  color: #385CC8;
  outline: 0;
}
.qes-date-weekdays,
.qes-date-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
}
.qes-date-weekdays {
  color: var(--qes-muted);
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 5px;
}
.qes-date-weekdays span {
  line-height: 28px;
}
.qes-date-days { gap: 2px 0; }
.qes-date-days button {
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: var(--qes-ink);
  font-size: 13px;
  height: 36px;
  margin: 0 auto;
  padding: 0;
  position: relative;
  width: 36px;
}
.qes-date-days button:hover:not(:disabled),
.qes-date-days button:focus {
  background: #EEF3FF;
  color: #385CC8;
  outline: 0;
}
.qes-date-days button.is-outside { color: #B4C0C7; }
.qes-date-days button.is-today:not(.is-selected) {
  background: var(--qes-brand-light);
  color: var(--qes-brand-dark);
  font-weight: 700;
}
.qes-date-days button.is-selected {
  background: #25324A;
  box-shadow: 0 0 0 3px rgba(37,50,74,.16);
  color: #fff;
  font-weight: 700;
}
.qes-date-days button:disabled {
  cursor: not-allowed;
  opacity: .28;
}
.qes-stepper-status {
  margin-bottom: 26px;
}
.qes-stepper-meta {
  align-items: center;
  color: var(--qes-muted);
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  margin-bottom: 9px;
}
.qes-stepper-meta strong { color: var(--qes-ink); }
.qes-stepper-kicker {
  color: #385CC8;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.qes-stepper-track {
  background: #E7EDF1;
  border-radius: 999px;
  height: 5px;
  overflow: hidden;
}
.qes-stepper-progress {
  background: linear-gradient(90deg, var(--qes-brand), #5277E7);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width .28s var(--qes-ease);
}
.qes-questionnaire-modal .modal-footer {
  background: #F7FAFB;
  border-top: 1px solid var(--qes-line);
  border-radius: 0 0 16px 16px;
  padding: 12px 22px;
}
.qes-questionnaire-modal .qes-stepper-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  text-align: initial;
}
.qes-stepper-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}
.qes-questionnaire-modal .qes-stepper-back,
.qes-questionnaire-modal .qes-stepper-next {
  border-radius: 999px;
  font-size: 13px;
  padding: 9px 18px;
}
.qes-questionnaire-modal .qes-stepper-back {
  background: transparent;
  border: 1px solid var(--qes-line);
  color: var(--qes-body);
}
.qes-questionnaire-modal .qes-stepper-back:hover:not(:disabled) {
  background: #fff;
  border-color: #BCCAD1;
  color: var(--qes-ink);
}
.qes-questionnaire-modal .qes-stepper-back:disabled {
  cursor: not-allowed;
  opacity: .42;
}
.qes-questionnaire-modal .qes-stepper-next {
  background: #385CC8;
  color: #fff;
}
.qes-questionnaire-modal .qes-stepper-next:hover,
.qes-questionnaire-modal .qes-stepper-next:focus {
  background: #294BAE;
  box-shadow: 0 5px 14px rgba(56,92,200,.25);
  color: #fff;
}
.qes-questionnaire-modal .btn-success {
  background: linear-gradient(90deg, var(--qes-brand), #5277E7);
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(56,92,200,.22);
  padding: 9px 24px;
}
.qes-questionnaire-modal .btn-success:hover,
.qes-questionnaire-modal .btn-success:focus {
  background: linear-gradient(90deg, var(--qes-brand-dark), #385CC8);
  box-shadow: 0 6px 16px rgba(56,92,200,.28);
}

/* -------------------------------------------------------------- forms ---- */

.form-control,
select.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius-sm);
  box-shadow: none;
  color: var(--qes-ink);
  font-size: 14px;
  height: auto;
  padding: 11px 14px;
  transition: border-color .18s var(--qes-ease), box-shadow .18s var(--qes-ease);
}
.form-control:focus,
input[type="text"]:focus,
textarea:focus {
  border-color: var(--qes-brand);
  box-shadow: 0 0 0 3px rgba(34,167,174,.14);
  outline: 0;
}
::placeholder { color: var(--qes-muted); opacity: 1; }

.bootstrap-select > .btn.dropdown-toggle {
  background: var(--qes-surface) !important;
  border: 1px solid var(--qes-line) !important;
  border-radius: var(--qes-radius-sm) !important;
  color: var(--qes-ink) !important;
  box-shadow: none !important;
  font-weight: 400;
  padding: 11px 14px !important;
}
.bootstrap-select > .btn.dropdown-toggle:hover { border-color: var(--qes-brand) !important; }

/* ------------------------------------------------- find-property panel ---- */

/* ---------------------------------------------------------------- hero ---- */

/* the inherited theme absolutely-positions .main-form inside a fixed-height
   .form-set so the search bar could float over the slideshow. The hero is a
   normal-flow block, so undo both or the next section overlaps it. */
.form-set.qes-hero {
  height: auto !important;
  min-height: 0;
  position: static;
}
.form-set.qes-hero .main-form {
  height: auto !important;
  left: auto;
  position: static;
  right: auto;
  top: auto;
  width: auto;
}
.qes-hero .main-form {
  background:
    linear-gradient(100deg, rgba(11,22,30,.90) 0%, rgba(11,22,30,.72) 45%, rgba(11,22,30,.42) 100%),
    url('../image/hero.jpg') center / cover no-repeat;
  padding: 0;
}
.qes-hero-inner { padding: 84px 15px 72px; }

.qes-hero-copy { max-width: 640px; }
.qes-hero-title {
  color: #fff;
  font-size: 54px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.08;
  margin: 0 0 18px;
}
.qes-hero-title span, .qes-hero-title em { color: var(--qes-brand); font-style: normal; }
.qes-hero-sub {
  color: rgba(255,255,255,.82);
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 30px;
}

/* Buy / Rent / … tabs sitting on the card lip */
.qes-hero-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 0; }
.qes-hero-tab {
  background: rgba(255,255,255,.16);
  backdrop-filter: blur(6px);
  border: 0;
  border-radius: 10px 10px 0 0;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  padding: 12px 30px;
  transition: background .2s var(--qes-ease), color .2s var(--qes-ease);
}
.qes-hero-tab:hover { background: rgba(255,255,255,.28); }
.qes-hero-tab.is-active { background: var(--qes-brand); color: #fff; }

/* white search card */
.qes-hero-card {
  background: var(--qes-surface);
  border-radius: 0 var(--qes-radius) var(--qes-radius) var(--qes-radius);
  box-shadow: 0 24px 60px rgba(8,16,22,.34);
  margin-bottom: 44px;
  padding: 24px;
}
.qes-hero-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0;
}
.qes-hero-row > [class*="col-"] {
  flex: 1 1 200px;
  float: none;
  padding: 0;
  width: auto;
}
.qes-hero-row .qes-hero-submit { flex: 0 0 auto; }
/* the inherited .button_search1 uses !important plus a bordered .fa that
   splits the button into two tones — flatten it into one solid control */
.qes-hero-card .button_search1 {
  align-items: center;
  background: var(--qes-brand) none !important;
  border: 0 !important;
  border-radius: var(--qes-radius-sm) !important;
  box-shadow: 0 2px 10px rgba(34,167,174,.3);
  color: #fff;
  display: flex;
  font-size: 15px !important;
  font-weight: 600;
  height: 46px;
  justify-content: center;
  margin: 0 !important;
  padding: 0 34px !important;
  transition: all .2s var(--qes-ease);
  white-space: nowrap;
  width: 100%;
}
.qes-hero-card .button_search1:hover {
  background: var(--qes-brand-dark) none !important;
  box-shadow: 0 8px 22px rgba(34,167,174,.38);
  transform: translateY(-1px);
}
.qes-hero-card .button_search1 .fa {
  border: 0 !important;
  font-size: 15px !important;
  line-height: 1;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
}

/* keep the row controls the same height */
.qes-hero-row .form-control,
.qes-hero-row select.form-control { height: 46px; }

.qes-more-toggle {
  color: var(--qes-body);
  display: inline-block;
  font-size: 13.5px;
  font-weight: 600;
  margin-top: 16px;
}
.qes-more-toggle:hover { color: var(--qes-brand); }
.qes-more-toggle .fa { margin-right: 6px; }
.qes-more { border-top: 1px solid var(--qes-line); margin-top: 14px; padding-top: 20px; }

/* the inherited col-sm-2/3/4 mix leaves the bedroom/bathroom selects too
   narrow to show their own option text — lay the row out with flex and a
   sane min width instead */
.qes-more .form-group {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 16px;
}
.qes-more .form-group > [class*="col-"] {
  flex: 1 1 210px;
  float: none;
  margin: 0;
  min-width: 0;
  padding: 0;
  width: auto;
}
/* beats the inherited `.main-form .form-group label { color:#fff }` */
.qes-hero-card .main-form .form-group label,
.qes-hero-card .form-group label,
.qes-more .form-group label,
.qes-more label {
  color: var(--qes-body);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

/* selects: full width, room for the native arrow, no clipped text */
.qes-more .form-control,
.qes-more select.form-control {
  height: 46px;
  text-overflow: ellipsis;
  width: 100%;
}
.qes-more select.form-control {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238395A1' d='M1.4 0 6 4.6 10.6 0 12 1.4 6 7.4 0 1.4z'/%3E%3C/svg%3E");
  background-position: right 14px center;
  background-repeat: no-repeat;
  background-size: 11px 7px;
  padding-right: 36px;
}

/* range sliders: give the bubbles room and match the brand colour */
.qes-more .price-filter { padding-top: 22px; }
.qes-more .irs { font-family: inherit; }
/* this build of ion.rangeSlider names the filled range .irs-diapason */
.qes-more .irs-bar,
.qes-more .irs-diapason,
.qes-more .irs-from,
.qes-more .irs-to,
.qes-more .irs-single { background: var(--qes-brand) !important; }
.qes-more .irs-min,
.qes-more .irs-max {
  background: var(--qes-canvas) !important;
  border-radius: 4px;
  color: var(--qes-muted) !important;
}
.qes-more .irs-line { background: var(--qes-line) !important; border-radius: 999px; }
.qes-more .irs-from:after,
.qes-more .irs-to:after,
.qes-more .irs-single:after { border-top-color: var(--qes-brand) !important; }
.qes-more .irs-slider {
  border: 2px solid var(--qes-brand) !important;
  box-shadow: 0 1px 4px rgba(20,32,42,.2);
}

/* stat row */
.qes-hero-stats { display: flex; flex-wrap: wrap; gap: 46px; margin: 0; }
.qes-hero-stats strong {
  color: #fff;
  display: block;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.1;
}
.qes-hero-stats span { color: rgba(255,255,255,.7); font-size: 13.5px; }

@media (max-width: 767px) {
  .qes-hero-inner { padding: 48px 15px 44px; }
  .qes-hero-title { font-size: 34px; }
  .qes-hero-sub { font-size: 15px; }
  .qes-hero-tab { flex: 1 1 auto; padding: 11px 16px; }
  .qes-hero-card { border-radius: var(--qes-radius); padding: 18px; }
  .qes-hero-stats { gap: 26px; }
  .qes-hero-stats strong { font-size: 25px; }
}

.form-set .main-form {
  padding: 34px 0 38px;
}
.search_heading, .latest_product_heading {
  margin-bottom: 26px;
  position: relative;
}
.search_heading h4,
.latest_product_heading h3 {
  background: var(--qes-brand);
  border-radius: var(--qes-radius-sm) var(--qes-radius-sm) 0 0;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .04em;
  margin: 0;
  padding: 11px 26px;
  text-transform: uppercase;
}
/* retire the decorative triangle/notch shims */
.latest_product_heading .triangle,
.latest_product_heading .single,
.search_heading .triangle,
.search_heading .single { display: none !important; }

.latest_product_heading {
  border-bottom: 2px solid var(--qes-line);
  margin-bottom: 30px;
}
.search_heading h4 .fa { margin-left: 8px; }
.search_heading { border-bottom: 1px solid rgba(255,255,255,.12); }

.form-set .main-form .form-group { margin-bottom: 16px; }
/* NB: labels live inside the white hero card now, so they must stay dark.
   An earlier white-on-dark rule here made them invisible. */
.form-set .main-form .irs .irs-bar,
.form-set .main-form .irs .irs-from,
.form-set .main-form .irs .irs-to,
.form-set .main-form .irs .irs-single { background: var(--qes-brand) !important; }

/* ------------------------------------------------- feature / USP row ---- */

.qes-module-title { display: none; }

.smartsearch {
  background: var(--qes-canvas);
  border-bottom: 1px solid var(--qes-line);
  border-top: 1px solid var(--qes-line);
}
.smartsearch .property_search {
  display: flex;
  gap: 16px;
  margin: 0 auto;
  max-width: 1170px;
  padding: 30px 15px;
}
.smartsearch .property_search > [class*="col-"] {
  display: flex;
  flex: 1 1 0;
  float: none;
  padding: 0;
  width: auto;
}
.smartsearch .property_search .rotate_button {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(20,32,42,.04);
  column-gap: 16px;
  display: grid;
  grid-template-areas:
    "icon title"
    "icon copy"
    "icon link";
  grid-template-columns: 54px minmax(0, 1fr);
  margin: 0;
  padding: 20px;
  text-align: left;
  transition: border-color .22s var(--qes-ease), box-shadow .22s var(--qes-ease), transform .22s var(--qes-ease);
  width: 100%;
}
.smartsearch .property_search .rotate_button:hover {
  border-color: rgba(34,167,174,.42);
  box-shadow: var(--qes-shadow);
  transform: translateY(-3px);
}
.smartsearch .property_search .round,
.smartsearch .property_search .round1,
.smartsearch .property_search .round2 {
  align-items: center;
  background: var(--qes-brand-light);
  border: 0;
  border-radius: 12px;
  display: flex;
  grid-area: icon;
  height: 54px;
  justify-content: center;
  margin: 0;
  transition: background .22s var(--qes-ease), color .22s var(--qes-ease);
  width: 54px;
}
.smartsearch .property_search .rotate_button:hover .round {
  background: var(--qes-brand);
}
.smartsearch .property_search .round img,
.smartsearch .property_search .col-sm-4:nth-child(2) .round img {
  background: none;
  border: 0;
  border-radius: 0;
  height: 24px;
  margin: 0;
  object-fit: contain;
  padding: 0;
  width: 24px;
}

/* line icons instead of the emoji PNGs */
.smartsearch .property_search .round .fa {
  color: var(--qes-brand-dark);
  font-size: 22px;
  line-height: 1;
  transition: color .22s var(--qes-ease);
}
.smartsearch .property_search .rotate_button:hover .round .fa { color: #fff; }
.smartsearch .property_search .rotate_button h3 {
  color: var(--qes-ink);
  font-size: 16px;
  grid-area: title;
  line-height: 1.35;
  margin: 1px 0 5px;
}
.smartsearch .property_search .rotate_button p {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--qes-body);
  display: -webkit-box;
  font-size: 13px;
  grid-area: copy;
  line-height: 1.55;
  margin: 0 0 8px;
  max-width: none;
  overflow: hidden;
}
.smartsearch .property_search .rotate_button > a.btn {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: var(--qes-brand-dark);
  font-size: 12px;
  font-weight: 600;
  grid-area: link;
  justify-self: start;
  letter-spacing: .02em;
  padding: 0;
  text-transform: uppercase;
  transition: color .18s var(--qes-ease);
}
.smartsearch .property_search .rotate_button > a.btn::after {
  content: ' \2192';
  display: inline-block;
  margin-left: 4px;
  transition: transform .18s var(--qes-ease);
}
.smartsearch .property_search .rotate_button > a.btn:hover {
  background: transparent;
  box-shadow: none;
  color: var(--qes-brand);
  transform: none;
}
.smartsearch .property_search .rotate_button > a.btn:hover::after {
  transform: translateX(3px);
}

/* ------------------------------------------------------ property grid ---- */

.latest_product { padding: 46px 0; }

/* The redundant .cate2/.cate3 wrappers that used to break the bootstrap grid
   are removed in the templates instead — see latest2.tpl / featured2.tpl.
   Don't reintroduce a `display:contents` hack here: .cate2 is also on
   #content (col-sm-9) and .cate3 is also a real .row in category2.tpl. */
.latest_main { padding: 12px; }

.product-thumb {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius);
  box-shadow: var(--qes-shadow);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  transition: transform .26s var(--qes-ease), box-shadow .26s var(--qes-ease), border-color .26s var(--qes-ease);
}
.product-thumb:hover {
  border-color: transparent;
  box-shadow: var(--qes-shadow-lg);
  transform: translateY(-6px);
}

.product-thumb .image {
  background: var(--qes-canvas);
  overflow: hidden;
  position: relative;
}
.product-thumb .image img {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  width: 100%;
  transition: transform .5s var(--qes-ease);
}
.product-thumb:hover .image img { transform: scale(1.06); }

/* ------------------------------------------------- reference card style ---- */

.product-thumb.qes-card {
  background: #F7F9FA;
  border: 0;
  border-radius: 16px;
  box-shadow: 0 3px 14px rgba(20,32,42,.06);
  overflow: hidden;
  padding: 12px;
}
.product-thumb.qes-card:hover {
  box-shadow: 0 16px 34px rgba(20,32,42,.13);
  transform: translateY(-5px);
}
.qes-card .image {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}
.qes-card .image > a { display: block; }
.qes-card .image img { aspect-ratio: 4 / 3; }

/* status pill, top-left */
.qes-card .qes-badge {
  align-items: center;
  backdrop-filter: blur(6px);
  background: rgba(37,50,74,.9);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  box-shadow: 0 5px 14px rgba(20,32,42,.2);
  color: #fff;
  display: inline-flex;
  font-size: 10.5px;
  font-weight: 700;
  gap: 7px;
  left: 12px;
  letter-spacing: .06em;
  line-height: 1;
  padding: 8px 13px;
  position: absolute;
  top: 12px;
  text-transform: uppercase;
  z-index: 2;
}
.qes-card .qes-badge::before {
  background: rgba(255,255,255,.92);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255,255,255,.18);
  content: '';
  height: 6px;
  width: 6px;
}
.qes-card .qes-badge-rent,
.qes-card .qes-badge-for-rent {
  background: linear-gradient(135deg, #277FA9, #385CC8);
  box-shadow: 0 5px 15px rgba(56,92,200,.3);
}
.qes-card .qes-badge-sale,
.qes-card .qes-badge-for-sale {
  background: linear-gradient(135deg, #E1574C, #C93650);
  box-shadow: 0 5px 15px rgba(201,54,80,.28);
}
.qes-card .qes-badge-villa {
  background: linear-gradient(135deg, #7657C8, #5842A7);
  box-shadow: 0 5px 15px rgba(88,66,167,.3);
}
.qes-card .qes-badge-hot {
  background: linear-gradient(135deg, #F59E32, #E26A2C);
  box-shadow: 0 5px 15px rgba(226,106,44,.3);
}

/* wishlist heart, top-right */
.qes-card .qes-wish {
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.9);
  border: 0;
  border-radius: 50%;
  color: var(--qes-body);
  height: 32px; width: 32px;
  line-height: 32px;
  padding: 0;
  position: absolute;
  right: 12px;
  top: 12px;
  transition: all .18s var(--qes-ease);
  z-index: 2;
}
.qes-card .qes-wish:hover { background: #fff; color: #e0455e; transform: scale(1.08); }

/* the inherited .featured_product is sized for the old long feature list:
   min-height:250px on home and `.cate3 .featured_product{min-height:422px
   !important}` on the listing. The trimmed card left a large empty gap. */
.qes-card .featured_product,
.cate3 .qes-card .featured_product {
  min-height: 0 !important;
  padding-bottom: 0;
}
.qes-card .caption {
  flex: 1 1 auto;
  padding: 16px 8px 0;
}
.qes-card .caption h4 {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 17px;
  line-height: 1.42;
  margin: 0 0 7px;
  min-height: 48px;
  overflow: hidden;
}
.qes-card .caption h4 a { color: #277FA9; }
.qes-card .caption h4 a:hover { color: var(--qes-brand-dark); }

.qes-card .qes-loc {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  color: var(--qes-muted);
  display: -webkit-box;
  font-size: 12.5px;
  margin: 0 0 4px;
  min-height: 21px;
  overflow: hidden;
}
.qes-card .qes-loc .fa { color: #91A0A9; margin-right: 5px; }

.qes-card .qes-meta {
  border-bottom: 1px dashed #D5DEE3;
  display: flex;
  flex-wrap: nowrap;
  gap: 8px 14px;
  margin: 0;
  overflow: hidden;
  padding: 14px 0 16px;
}
.qes-card .qes-meta li {
  align-items: center;
  color: var(--qes-body);
  display: flex;
  flex: 0 0 auto;
  font-size: 12.5px;
  gap: 5px;
  text-transform: capitalize;
  white-space: nowrap;
}
.qes-card .qes-meta .fa { color: #9AA8B0; font-size: 14px; }

.qes-card-footer {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: auto 1fr 40px;
  padding: 13px 8px 3px;
}
.qes-card-price {
  color: var(--qes-ink);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.qes-card-ref {
  color: var(--qes-muted);
  font-size: 11.5px;
  overflow: hidden;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qes-card-action {
  align-items: center;
  background: linear-gradient(135deg, var(--qes-brand), #5277E7);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(56,92,200,.2);
  color: #fff;
  display: flex;
  height: 40px;
  justify-content: center;
  transition: box-shadow .2s var(--qes-ease), transform .2s var(--qes-ease);
  width: 40px;
}
.qes-card-action .fa { transform: rotate(-45deg); }
.qes-card-action:hover,
.qes-card-action:focus {
  box-shadow: 0 7px 18px rgba(56,92,200,.32);
  color: #fff;
  transform: translateY(-2px);
}

/* status ribbon → clean pill (the original draws an arrow out of borders) */
.latest_main .sale,
.product-thumb .image .sale {
  background: none;
  border: 0;
  height: auto;
  left: auto;
  right: 14px;
  top: 14px;
  width: auto;
  position: absolute;
}
.product-thumb .image .sale::before,
.product-thumb .image .sale::after { display: none !important; }
.latest_main .sale > span,
.product-thumb .image .sale span {
  position: static;
}
.latest_main .sale > span,
.product-thumb .image .sale span {
  backdrop-filter: blur(6px);
  background: rgba(20,32,42,.72);
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1;
  padding: 8px 14px;
  text-transform: uppercase;
}

/* meta strip under the photo */
.product-thumb .lastpart {
  align-items: center;
  border-bottom: 1px solid var(--qes-line);
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 10px 8px 10px 16px;
}
.product-thumb .lastpart > li { padding: 0 4px; }
.product-thumb .lastpart > li:first-child {
  color: var(--qes-muted);
  font-size: 12.5px;
  margin-right: auto;
}
.product-thumb .lastpart button,
.product-thumb .lastpart > li > a {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--qes-muted);
  height: 32px; width: 32px;
  line-height: 32px;
  padding: 0;
  text-align: center;
  transition: all .18s var(--qes-ease);
}
.product-thumb .lastpart button:hover,
.product-thumb .lastpart > li > a:hover {
  background: var(--qes-brand-light);
  color: var(--qes-brand);
}

.product-thumb .caption { padding: 18px 18px 20px; flex: 1 1 auto; }
.product-thumb .caption h4 { font-size: 17px; margin: 0 0 14px; }
.product-thumb .caption h4 a { color: var(--qes-ink); }
.product-thumb .caption h4 a:hover { color: var(--qes-brand); }

/* price block: was a heavy dark bar */
.product-thumb .options,
.product-thumb .price {
  background: var(--qes-brand-light);
  border: 0;
  border-radius: var(--qes-radius-sm);
  color: var(--qes-ink);
  margin: 0 0 14px;
  padding: 0;
}
.product-thumb .options { padding: 12px 14px; }
.product-thumb .options .price { background: none; margin: 0; padding: 0; }
.product-thumb .price {
  color: var(--qes-brand-dark);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.cate3 .featured_product .price .text,
.product-thumb .price .text {
  color: var(--qes-muted);
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.cate3 .featured_product .price {
  background: none;
  color: var(--qes-brand-dark);
  text-align: left;
}

.product-thumb ul.features { margin: 0; }
.product-thumb ul.features > li {
  align-items: center;
  border-bottom: 1px dashed var(--qes-line);
  color: var(--qes-body);
  display: flex;
  font-size: 13.5px;
  justify-content: space-between;
  padding: 9px 2px;
  text-transform: capitalize;
}
.product-thumb ul.features > li:last-child { border-bottom: 0; }
.product-thumb ul.features .pull-right { float: none !important; font-weight: 600; color: var(--qes-ink); }
.product-thumb ul.features ul.list-inline { margin: 0; }
.product-thumb ul.features ul.list-inline img {
  height: 22px; width: 22px;
  object-fit: contain;
}
.product-thumb ul.apart {
  border-top: 1px solid var(--qes-line);
  margin: 14px 0 0;
  padding-top: 12px;
}
.product-thumb ul.apart li {
  color: var(--qes-muted);
  font-size: 12.5px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.product-thumb ul.apart .fa-star { color: var(--qes-accent); }

/* full-width CTA at card foot */
.product-thumb .product_button,
.product-thumb button.product_button {
  border-radius: 0;
  display: block;
  padding: 14px;
  width: 100%;
}

/* ------------------------------------------------------- listing page ---- */

.listing > .breadmain {
  background: #143846;
  margin: 0;
  padding: 15px 0;
}
.listing > .breadmain .container {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.listing > .breadmain .breadcrumb { padding: 0; }
.listing > .breadmain .breadcrumb a,
.listing > .breadmain .breadcrumb > li + li::before {
  color: rgba(255,255,255,.72);
}
.listing > .breadmain h3 {
  color: #fff;
  float: none;
  font-size: 13px;
  letter-spacing: .07em;
  margin: 0;
  padding: 0;
}
.property-category {
  background: #F7F9FB;
  padding: 28px 0 48px;
}
.qes-listing-search-panel {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(20,32,42,.11);
  margin: 0 0 34px;
  overflow: visible;
  position: relative;
  z-index: 20;
}
.qes-listing-tabs {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border-radius: 15px 15px 0 0;
  display: flex;
  gap: 8px;
  min-height: 68px;
  padding: 12px 20px;
}
.qes-listing-tabs a {
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  color: rgba(255,255,255,.84);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 18px;
  white-space: nowrap;
}
.qes-listing-tabs a:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.qes-listing-tabs a.is-active {
  background: #fff;
  border-color: #fff;
  box-shadow: 0 5px 14px rgba(20,32,42,.14);
  color: #277FA9;
}
.qes-listing-filter-wrap { padding: 20px; }
.qes-listing-filter-wrap #column-left {
  float: none;
  padding: 0;
  width: 100%;
}
.qes-listing-filter-wrap .latest_product_heading { display: none; }
.qes-listing-filter-wrap #fronm .list-group.listing {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr 190px;
  height: auto !important;
  margin: 0;
  min-height: 0 !important;
  padding: 0;
}
.qes-filter-primary {
  display: grid;
  gap: 14px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.qes-listing-filter-wrap .list-group.listing .form-control,
.qes-listing-filter-wrap .bootstrap-select.form-control,
.qes-listing-filter-wrap .bootstrap-select > .dropdown-toggle {
  background-color: #F9FBFC;
  border: 1px solid #DCE5EA;
  border-radius: 10px;
  box-shadow: none;
  color: var(--qes-ink);
  height: 48px;
  margin: 0 !important;
  width: 100% !important;
}
.qes-listing-filter-wrap .bootstrap-select > .dropdown-toggle {
  padding: 10px 13px;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu {
  background: #fff;
  border: 1px solid #DCE5EA;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(20,32,42,.16);
  margin-top: 7px;
  overflow: visible;
  padding: 6px;
  z-index: 1060;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group.open {
  z-index: 1060;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu.inner {
  border: 0;
  box-shadow: none;
  margin: 0;
  max-height: 240px !important;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: static;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu > li > a {
  border: 0;
  border-radius: 8px;
  color: var(--qes-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  margin: 1px 0;
  padding: 10px 12px;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu > li > a:hover,
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu > li > a:focus {
  background: #EEF3FF;
  color: #385CC8;
  outline: 0;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu > .selected > a,
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu > .active > a {
  background: #EAF5F7;
  color: #277FA9;
  font-weight: 700;
}
.qes-listing-filter-wrap .bootstrap-select.btn-group .dropdown-menu .divider {
  background: var(--qes-line);
  margin: 5px 0;
}
.qes-listing-filter-wrap .list-group.listing .form-control:focus {
  background-color: #fff;
  border-color: #277FA9;
  box-shadow: 0 0 0 3px rgba(39,127,169,.11);
}
.qes-filter-more {
  align-items: center;
  align-self: center;
  background: transparent;
  border: 1px solid #277FA9;
  border-radius: 10px;
  color: #277FA9;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 9px;
  justify-self: start;
  letter-spacing: .05em;
  min-height: 44px;
  padding: 0 16px;
  text-transform: uppercase;
}
.qes-filter-more:hover,
.qes-filter-more:focus,
.qes-filter-more.is-open {
  background: #EAF5F7;
  outline: 0;
}
.qes-filter-more-arrow { transition: transform .18s var(--qes-ease); }
.qes-filter-more.is-open .qes-filter-more-arrow { transform: rotate(180deg); }
.qes-filter-advanced {
  background: #F7FAFB;
  border: 1px solid var(--qes-line);
  border-radius: 12px;
  display: grid;
  gap: 16px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 18px;
}
.qes-filter-advanced[hidden] { display: none !important; }
.qes-filter-advanced > .form-group {
  display: grid;
  gap: 18px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.qes-filter-advanced > .form-group > [class*="col-"] {
  float: none;
  padding: 0;
  width: auto;
}
.qes-filter-advanced label {
  color: var(--qes-body) !important;
  font-size: 11px !important;
  letter-spacing: .06em;
  margin-bottom: 5px;
}
.qes-filter-advanced .price-filter {
  margin: 0 !important;
  min-height: 58px !important;
  padding-top: 14px !important;
}
.qes-listing-filter-wrap #findsearchbtn {
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border: 0;
  border-radius: 10px;
  font-size: 13px;
  height: 48px;
  margin: 0;
  padding: 0 24px;
}
.qes-listing-filter-wrap #findsearchbtn i {
  border: 0;
  float: none;
  font-size: 14px;
  margin-right: 8px;
  padding: 0;
}
.qes-listing-filter-wrap #findsearchbtn:hover {
  box-shadow: 0 7px 18px rgba(56,92,200,.28);
}
.qes-results-toolbar {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin: 0 0 12px;
  padding: 0 12px;
}
.qes-results-toolbar h2 {
  font-size: 25px;
  margin: 2px 0 0;
}
.qes-results-eyebrow {
  color: #277FA9;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.qes-results-sort {
  align-items: center;
  display: flex;
  gap: 10px;
}
.qes-results-sort label {
  color: var(--qes-body);
  font-size: 13px;
  margin: 0;
}
.qes-results-sort .form-control {
  background-color: #fff;
  border-color: var(--qes-line);
  border-radius: 10px;
  height: 44px;
  min-width: 210px;
}
.qes-property-empty {
  align-items: center;
  background:
    radial-gradient(circle at 50% 0, rgba(39,127,169,.14), transparent 47%),
    #fff;
  border: 1px dashed #C9DBE4;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(20,32,42,.07);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 8px 0 24px;
  min-height: 330px;
  overflow: hidden;
  padding: 48px 24px;
  text-align: center;
}
.qes-property-empty-icon {
  align-items: center;
  background: linear-gradient(135deg, #EAF7FA, #E9EEFF);
  border: 1px solid rgba(39,127,169,.14);
  border-radius: 50%;
  color: #277FA9;
  display: flex;
  height: 92px;
  justify-content: center;
  margin-bottom: 22px;
  position: relative;
  width: 92px;
}
.qes-property-empty-icon > i { font-size: 40px; }
.qes-property-empty-icon span {
  align-items: center;
  background: linear-gradient(135deg, #277FA9, #385CC8);
  border: 4px solid #fff;
  border-radius: 50%;
  bottom: -2px;
  color: #fff;
  display: flex;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: -4px;
  width: 36px;
}
.qes-property-empty-icon span i { font-size: 13px; }
.qes-property-empty h3 {
  color: var(--qes-ink);
  font-size: 24px;
  margin: 0 0 10px;
}
.qes-property-empty p {
  color: var(--qes-muted);
  font-size: 14px;
  line-height: 1.7;
  margin: 0 auto 22px;
  max-width: 560px;
}
.qes-property-empty-action {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(56,92,200,.2);
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 9px;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  transition: transform .18s var(--qes-ease), box-shadow .18s var(--qes-ease);
}
.qes-property-empty-action:hover,
.qes-property-empty-action:focus {
  box-shadow: 0 11px 24px rgba(56,92,200,.29);
  color: #fff;
  outline: 0;
  transform: translateY(-2px);
}

.breadcrumb {
  background: transparent;
  margin: 0;
  padding: 18px 0;
}
.breadcrumb > li + li::before { color: var(--qes-muted); }
.breadcrumb a { color: var(--qes-brand); }
.breadcrumb > .active { color: var(--qes-muted); }

#column-left .well,
#column-right .well,
#column-left .list-group,
.property_filter {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius);
  box-shadow: var(--qes-shadow);
  padding: 20px;
}

.page-title, #content > h1, #content > h2 {
  font-size: 26px;
  margin: 8px 0 26px;
  position: relative;
  padding-bottom: 14px;
}
.page-title::after, #content > h1::after {
  background: var(--qes-brand);
  border-radius: 2px;
  bottom: 0;
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  width: 52px;
}

.pagination > li > a, .pagination > li > span {
  border: 1px solid var(--qes-line);
  color: var(--qes-body);
  margin: 0 3px;
  border-radius: var(--qes-radius-sm) !important;
  padding: 9px 15px;
  transition: all .18s var(--qes-ease);
}
.pagination > li > a:hover { background: var(--qes-brand-light); border-color: var(--qes-brand); color: var(--qes-brand-dark); }
.pagination > .active > span, .pagination > .active > a {
  background: var(--qes-brand);
  border-color: var(--qes-brand);
  color: #fff;
}

/* ------------------------------------------------------ detail page ------ */

.property_detail_wrap, .product-info {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius);
  box-shadow: var(--qes-shadow);
  padding: 26px;
}
.nav-tabs {
  border-bottom: 1px solid var(--qes-line);
  margin-bottom: 22px;
}
.nav-tabs > li > a {
  border: 0 !important;
  border-radius: 0;
  color: var(--qes-body);
  font-weight: 600;
  margin: 0 6px 0 0;
  padding: 12px 18px;
  position: relative;
}
.nav-tabs > li > a:hover { background: transparent; color: var(--qes-brand); }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  background: transparent !important;
  box-shadow: inset 0 -3px 0 var(--qes-brand);
  color: var(--qes-brand-dark) !important;
}

/* ------------------------------------------------------------- agents ---- */

.agent_wrap, .our_agent, .agent_main {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius);
  box-shadow: var(--qes-shadow);
  overflow: hidden;
  transition: transform .26s var(--qes-ease), box-shadow .26s var(--qes-ease);
}
.agent_wrap:hover, .our_agent:hover, .agent_main:hover {
  box-shadow: var(--qes-shadow-lg);
  transform: translateY(-4px);
}

/* ------------------------------------------------------------ gallery ---- */

.tmdgallery img, .gallery img {
  border-radius: var(--qes-radius-sm);
  transition: transform .3s var(--qes-ease), box-shadow .3s var(--qes-ease);
}
.tmdgallery img:hover, .gallery img:hover {
  box-shadow: var(--qes-shadow-lg);
  transform: scale(1.03);
}

/* --------------------------------------------------------- newsletter ---- */

.newsletter, .newslettersubscribe {
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: var(--qes-radius);
  box-shadow: var(--qes-shadow);
  margin: 34px 0;
  padding: 24px;
}
.newsletter .form-control { border-radius: var(--qes-radius-sm); }

/* ------------------------------------------------------------- footer ---- */

/* .footer3 (and siblings) carry their own #444 — match the specificity */
footer,
footer.footer3,
footer.footer4,
footer.footer5 {
  background: var(--qes-dark);
  border: 0;
  color: rgba(255,255,255,.66);
  margin-top: 52px;
  padding: 52px 0 0;
}
footer h5, footer h4, footer .footer_heading {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  margin-bottom: 20px;
  text-transform: uppercase;
}
footer a { color: rgba(255,255,255,.66); }
footer a:hover { color: var(--qes-brand); padding-left: 3px; }
footer ul li a { transition: color .18s var(--qes-ease), padding-left .18s var(--qes-ease); }
.powered3 {
  background: var(--qes-dark);
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.5);
  font-size: 13px;
  padding: 18px 0;
}
.powered3 p { margin: 0; }
footer .powered, footer .copyright {
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.5);
  font-size: 13px;
  margin-top: 40px;
  padding: 20px 0;
}

/* ------------------------------------------------------- entrance anim ---- */

@media (prefers-reduced-motion: no-preference) {
  .product-thumb, .agent_wrap, .our_agent {
    animation: qes-rise .5s var(--qes-ease) both;
  }
  @keyframes qes-rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}

/* --------------------------------------------------------- responsive ---- */

@media (max-width: 991px) {
  .qes-header-inner { flex-wrap: wrap; gap: 12px; min-height: 0; padding: 12px 0; }
  .qes-nav-toggle { display: inline-block; order: 2; }
  .qes-header .qes-nav {
    display: none;
    flex: 1 0 100%;
    order: 4;
  }
  .qes-header .qes-nav.is-open { display: block; }
  .qes-header .qes-nav ul.megamenu > li,
  .qes-header .qes-nav .nav > li { display: block; }
  .qes-primary-menu { align-items: stretch; display: block; width: 100%; }
  .qes-primary-menu > li > a,
  .qes-primary-menu > li > .qes-nav-more-toggle {
    padding: 12px 14px;
    text-align: left;
    width: 100%;
  }
  .qes-primary-menu > li > a::after,
  .qes-primary-menu > li > .qes-nav-more-toggle::after { bottom: 7px; }
  .qes-nav-more-menu {
    border: 0;
    box-shadow: none;
    display: none;
    left: auto;
    min-width: 0;
    opacity: 1;
    padding: 0 0 8px 16px;
    pointer-events: auto;
    position: static;
    transform: none;
    visibility: visible;
  }
  .qes-nav-more:hover .qes-nav-more-menu,
  .qes-nav-more:focus-within .qes-nav-more-menu { display: none; }
  .qes-nav-more.is-open .qes-nav-more-menu { display: block; transform: none; }
  .qes-auth-desktop { display: none; }
  .qes-auth-mobile {
    align-items: center;
    border-top: 1px solid var(--qes-line);
    display: flex;
    justify-content: center;
    margin-top: 8px;
    padding: 18px 14px 8px;
  }
  .qes-header { position: static; }
  .latest_product { padding: 30px 0; }
  .qes-filter-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qes-filter-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qes-filter-advanced > .form-group { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .qes-topbar .container { flex-wrap: wrap; justify-content: center; gap: 6px 0; }
  .qes-topbar-links, .qes-topbar-meta { text-align: center; width: 100%; }
  .qes-topbar-links > li + li { margin-left: 16px; }
  .qes-topbar-meta {
    align-items: center;
    display: flex;
    justify-content: center;
  }
  .qes-language-menu.dropdown-menu {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  .qes-questionnaire-launcher {
    grid-template-columns: 1fr;
    margin: 16px 15px;
    padding: 10px;
  }
  .qes-questionnaire-option.btn { min-height: 76px; padding: 12px 14px; }
  .qes-questionnaire-modal .modal-dialog {
    margin: 15px auto;
    max-width: calc(100% - 20px);
  }
  .qes-questionnaire-modal .modal-body {
    max-height: none;
    padding: 18px;
  }
  .qes-stepper-status { margin-bottom: 22px; }
  .qes-stepper-kicker { font-size: 10px; }
  .qes-questionnaire-modal .qes-stepper-footer { padding: 11px 14px; }
  .qes-questionnaire-modal .qes-stepper-back,
  .qes-questionnaire-modal .qes-stepper-next { padding: 8px 14px; }
  .qes-questionnaire-modal .btn-success { padding: 8px 16px; }
  .property-category { padding-top: 18px; }
  .qes-listing-search-panel { margin-bottom: 24px; }
  .qes-listing-tabs {
    overflow-x: auto;
    padding: 10px 12px;
  }
  .qes-listing-filter-wrap { padding: 14px; }
  .qes-listing-filter-wrap #fronm .list-group.listing { grid-template-columns: 1fr; }
  .qes-filter-primary,
  .qes-filter-advanced,
  .qes-filter-advanced > .form-group { grid-template-columns: 1fr; }
  .qes-listing-filter-wrap #findsearchbtn { width: 100%; }
  .qes-results-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
  }
  .qes-results-sort { justify-content: space-between; }
  .qes-results-sort .form-control { min-width: 0; width: 70%; }
  .qes-property-empty {
    border-radius: 16px;
    min-height: 280px;
    padding: 38px 18px;
  }
  .qes-property-empty-icon {
    height: 78px;
    margin-bottom: 18px;
    width: 78px;
  }
  .qes-property-empty-icon > i { font-size: 34px; }
  .qes-property-empty h3 { font-size: 21px; }
  .smartsearch .property_search {
    flex-direction: column;
    gap: 12px;
    padding: 24px 15px;
  }
  /* the row is column-direction here, so the inherited `flex: 1 1 0` sizes
     HEIGHT to 0 and the cards collapse to ~1px with their text spilling over
     the next section. Size these to content instead. */
  .smartsearch .property_search > [class*="col-"] {
    flex: 0 0 auto;
    width: 100%;
  }
  .product-thumb .caption { padding: 16px; }
  .page-title, #content > h1 { font-size: 22px; }
  footer { padding-top: 36px; }
}

/* ------------------------------------------- modern agent auth screens ---- */

.qes-auth-page {
  background:
    radial-gradient(circle at 8% 12%, rgba(39,127,169,.10), transparent 25%),
    radial-gradient(circle at 94% 4%, rgba(56,92,200,.09), transparent 28%),
    #F6F9FB;
  min-height: 720px;
  padding: 28px 0 72px;
}
.qes-auth-page .row { margin-left: 0; margin-right: 0; }
.qes-auth-page #content { padding-left: 0; padding-right: 0; }

.qes-auth-breadcrumb {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 34px;
}
.qes-auth-breadcrumb a {
  color: #718491;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}
.qes-auth-breadcrumb a:last-child { color: #277FA9; }
.qes-auth-breadcrumb i { color: #A7B5BD; font-size: 11px; }

/* alerts */
.qes-auth-alert {
  align-items: flex-start;
  background: #fff;
  border: 1px solid #E0E8EC;
  border-left: 3px solid #277FA9;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(20,32,42,.06);
  color: var(--qes-body);
  display: flex;
  font-size: 12px;
  gap: 10px;
  line-height: 1.6;
  margin-bottom: 20px;
  padding: 13px 16px;
}
.qes-auth-alert > i { font-size: 14px; line-height: 1.5; }
.qes-auth-alert-success { border-left-color: #2FA37A; }
.qes-auth-alert-success > i { color: #2FA37A; }
.qes-auth-alert-danger { border-left-color: #D84F5F; }
.qes-auth-alert-danger > i { color: #D84F5F; }

/* -------------------------------------------------------- login shell ---- */

.qes-auth-shell {
  background: #fff;
  border: 1px solid #E0E8EC;
  border-radius: 24px;
  box-shadow: 0 22px 55px rgba(20,32,42,.11);
  display: grid;
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 1040px;
  overflow: hidden;
}
.qes-auth-aside {
  background:
    radial-gradient(circle at 100% 0, rgba(122,191,200,.23), transparent 35%),
    linear-gradient(145deg, #153846, #172936 65%, #213A48);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 560px;
  padding: 42px;
  position: relative;
}
.qes-auth-aside::after {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  bottom: -110px;
  content: "";
  height: 310px;
  position: absolute;
  right: -105px;
  width: 310px;
}
.qes-auth-badge {
  align-items: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: #7FD2D8;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .11em;
  margin-bottom: 20px;
  padding: 8px 13px;
  text-transform: uppercase;
}
.qes-auth-aside h2 {
  color: #fff;
  font-size: 28px;
  letter-spacing: -.035em;
  line-height: 1.3;
  margin: 0 0 13px;
  max-width: 360px;
}
.qes-auth-aside-top > p {
  color: rgba(255,255,255,.64);
  font-size: 12px;
  line-height: 1.8;
  margin: 0;
  max-width: 380px;
}
.qes-auth-perks {
  display: grid;
  gap: 16px;
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
.qes-auth-perks li {
  align-items: flex-start;
  display: flex;
  gap: 13px;
}
.qes-auth-perk-icon {
  align-items: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 10px;
  color: #7FD2D8;
  display: flex;
  flex: 0 0 38px;
  font-size: 14px;
  height: 38px;
  justify-content: center;
}
.qes-auth-perks strong {
  color: rgba(255,255,255,.92);
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 3px;
}
.qes-auth-perks small {
  color: rgba(255,255,255,.52);
  display: block;
  font-size: 10.5px;
  line-height: 1.6;
}
.qes-auth-aside-foot {
  align-items: center;
  border-top: 1px solid rgba(255,255,255,.11);
  color: rgba(255,255,255,.62);
  display: flex;
  font-size: 10px;
  gap: 9px;
  letter-spacing: .06em;
  margin-top: 30px;
  padding-top: 20px;
  position: relative;
  text-transform: uppercase;
  z-index: 1;
}
.qes-auth-aside-foot i { color: #7FD2D8; }

.qes-auth-panel { padding: 46px 48px; }
.qes-auth-panel-head { margin-bottom: 26px; }
.qes-auth-panel-head h1 {
  color: var(--qes-ink);
  font-size: 32px;
  letter-spacing: -.04em;
  margin: 0;
}
.qes-auth-panel-head p {
  color: var(--qes-muted);
  font-size: 12px;
  line-height: 1.7;
  margin: 8px 0 0;
}

/* --------------------------------------------------------- form fields ---- */

.qes-auth-field { min-width: 0; }
.qes-auth-field + .qes-auth-field { margin-top: 18px; }
.qes-auth-field label {
  color: #344653;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 5px;
  margin-bottom: 7px;
}
.qes-auth-field label > span { color: #D84F5F; }
.qes-auth-input { position: relative; }
.qes-auth-input > i {
  color: #91A3AE;
  font-size: 13px;
  left: 15px;
  pointer-events: none;
  position: absolute;
  top: 24px;
  transform: translateY(-50%);
  z-index: 2;
}
.qes-auth-page .form-control {
  background: #F8FAFB;
  border: 1px solid #DAE4E9;
  border-radius: 11px;
  box-shadow: none;
  color: var(--qes-ink);
  font-size: 12px;
  height: 48px;
  margin: 0;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
  width: 100%;
}
.qes-auth-input .form-control { padding: 10px 14px 10px 40px; }
.qes-auth-input .qes-auth-reveal ~ .form-control,
.qes-auth-input .form-control:not(:only-of-type) { padding-right: 44px; }
.qes-auth-page .form-control::placeholder { color: #9AAAB4; }
.qes-auth-page .form-control:focus {
  background: #fff;
  border-color: #277FA9;
  box-shadow: 0 0 0 3px rgba(39,127,169,.11);
}
.qes-auth-page textarea.form-control {
  height: 130px;
  line-height: 1.65;
  padding: 13px 15px;
  resize: vertical;
}
.qes-auth-input--select { position: relative; }
.qes-auth-input--select select.form-control {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  padding-right: 36px;
}
.qes-auth-input--select::after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #7B8D99;
  content: "";
  pointer-events: none;
  position: absolute;
  right: 16px;
  top: 23px;
}
.qes-auth-input--select .fa-spin { display: none; }
.qes-auth-reveal {
  background: none;
  border: 0;
  color: #91A3AE;
  font-size: 13px;
  height: 30px;
  padding: 0;
  position: absolute;
  right: 8px;
  top: 9px;
  width: 30px;
  z-index: 3;
}
.qes-auth-reveal:hover,
.qes-auth-reveal.is-visible { color: #277FA9; }
.qes-auth-page .text-danger {
  color: #D84F5F;
  font-size: 10px;
  line-height: 1.5;
  margin-top: 6px;
}
.qes-auth-form-meta {
  display: flex;
  justify-content: flex-end;
  margin: 14px 0 22px;
}
.qes-auth-forgot {
  align-items: center;
  color: #277FA9;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 7px;
}
.qes-auth-submit {
  align-items: center;
  background: linear-gradient(100deg, #277FA9, #385CC8);
  border: 0;
  border-radius: 11px;
  box-shadow: 0 9px 21px rgba(56,92,200,.23);
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 10px;
  justify-content: center;
  letter-spacing: .02em;
  min-height: 48px;
  padding: 0 22px;
  transition: box-shadow .18s ease, transform .18s ease;
  width: 100%;
}
.qes-auth-submit:hover,
.qes-auth-submit:focus {
  box-shadow: 0 12px 26px rgba(56,92,200,.32);
  color: #fff;
  outline: 0;
  transform: translateY(-2px);
}
.qes-auth-submit i { transition: transform .18s var(--qes-ease); }
.qes-auth-submit:hover i { transform: translateX(3px); }

.qes-auth-divider {
  align-items: center;
  display: flex;
  gap: 14px;
  margin: 28px 0 18px;
}
.qes-auth-divider::before,
.qes-auth-divider::after {
  background: #E7ECEF;
  content: "";
  flex: 1;
  height: 1px;
}
.qes-auth-divider span {
  color: #9AABB5;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.qes-auth-switch {
  align-items: center;
  background: #F8FAFB;
  border: 1px solid #DEE7EB;
  border-radius: 14px;
  display: flex;
  gap: 14px;
  padding: 15px 17px;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.qes-auth-switch:hover {
  border-color: #277FA9;
  box-shadow: 0 10px 24px rgba(39,127,169,.12);
  transform: translateY(-2px);
}
.qes-auth-switch-icon {
  align-items: center;
  background: #EAF5F7;
  border-radius: 11px;
  color: #277FA9;
  display: flex;
  flex: 0 0 42px;
  font-size: 16px;
  height: 42px;
  justify-content: center;
}
.qes-auth-switch-copy { min-width: 0; }
.qes-auth-switch-copy strong {
  color: var(--qes-ink);
  display: block;
  font-size: 12.5px;
  margin-bottom: 3px;
}
.qes-auth-switch-copy small {
  color: var(--qes-muted);
  display: block;
  font-size: 10.5px;
  line-height: 1.6;
}
.qes-auth-switch-arrow {
  color: #277FA9;
  margin-left: auto;
  transition: transform .18s var(--qes-ease);
}
.qes-auth-switch:hover .qes-auth-switch-arrow { transform: translateX(3px); }

/* ------------------------------------------------------- signup screen ---- */

.qes-auth-hero {
  align-items: center;
  background:
    radial-gradient(circle at 86% 15%, rgba(118,87,200,.28), transparent 27%),
    linear-gradient(110deg, #153846 0%, #24556A 52%, #385CC8 140%);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  box-shadow: 0 15px 36px rgba(20,32,42,.15);
  display: flex;
  gap: 40px;
  justify-content: space-between;
  margin: 0 0 26px;
  overflow: hidden;
  padding: 34px 42px;
  position: relative;
}
.qes-auth-hero::before,
.qes-auth-hero::after {
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  position: absolute;
}
.qes-auth-hero::before {
  height: 240px;
  right: -65px;
  top: -150px;
  width: 240px;
}
.qes-auth-hero::after {
  bottom: -100px;
  height: 190px;
  left: 44%;
  width: 190px;
}
.qes-auth-hero-copy { max-width: 700px; position: relative; z-index: 1; }
.qes-auth-hero-kicker {
  align-items: center;
  color: #83D4DA;
  display: inline-flex;
  font-size: 10px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .12em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.qes-auth-hero-kicker i { font-size: 6px; text-shadow: 0 0 10px #83D4DA; }
.qes-auth-hero h1 {
  color: #fff;
  font-size: 38px;
  letter-spacing: -.045em;
  margin: 0;
}
.qes-auth-hero p {
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.7;
  margin: 8px 0 0;
  max-width: 640px;
}
.qes-auth-hero-note {
  align-items: center;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  display: flex;
  flex: 0 0 320px;
  gap: 13px;
  padding: 15px;
  position: relative;
  z-index: 1;
}
.qes-auth-hero-note-icon {
  align-items: center;
  background: rgba(255,255,255,.12);
  border-radius: 11px;
  color: #83D4DA;
  display: flex;
  flex: 0 0 43px;
  font-size: 18px;
  height: 43px;
  justify-content: center;
}
.qes-auth-hero-note small {
  color: #83D4DA;
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: 3px;
  text-transform: uppercase;
}
.qes-auth-hero-note strong {
  color: rgba(255,255,255,.90);
  display: block;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
}

.qes-signup-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
}
.qes-signup-aside {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 24px;
}
.qes-signup-aside-card {
  background:
    radial-gradient(circle at 100% 0, rgba(122,191,200,.22), transparent 40%),
    linear-gradient(150deg, #153846, #1B2F3D 70%);
  border-radius: 20px;
  box-shadow: 0 16px 38px rgba(20,32,42,.14);
  color: #fff;
  overflow: hidden;
  padding: 28px 26px;
  position: relative;
}
.qes-signup-steps {
  counter-reset: none;
  display: grid;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.qes-signup-steps li {
  align-items: flex-start;
  display: flex;
  gap: 13px;
  position: relative;
}
.qes-signup-steps li:not(:last-child)::before {
  background: rgba(255,255,255,.13);
  bottom: -18px;
  content: "";
  left: 15px;
  position: absolute;
  top: 32px;
  width: 1px;
}
.qes-signup-step-num {
  align-items: center;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  color: #7FD2D8;
  display: flex;
  flex: 0 0 31px;
  font-size: 11px;
  font-weight: 700;
  height: 31px;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.qes-signup-steps strong {
  color: rgba(255,255,255,.93);
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin: 6px 0 3px;
}
.qes-signup-steps small {
  color: rgba(255,255,255,.52);
  display: block;
  font-size: 10.5px;
  line-height: 1.6;
}

.qes-signup-form { display: grid; gap: 20px; min-width: 0; }
.qes-signup-section {
  background: #fff;
  border: 1px solid #E0E8EC;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(20,32,42,.07);
  padding: 30px 32px;
}
.qes-signup-section-head {
  align-items: flex-start;
  border-bottom: 1px solid #EDF1F4;
  display: flex;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 18px;
}
.qes-signup-section-icon {
  align-items: center;
  background: #EAF5F7;
  border-radius: 12px;
  color: #277FA9;
  display: flex;
  flex: 0 0 42px;
  font-size: 16px;
  height: 42px;
  justify-content: center;
}
.qes-signup-section-head h2 {
  align-items: center;
  color: var(--qes-ink);
  display: flex;
  flex-wrap: wrap;
  font-size: 19px;
  gap: 10px;
  letter-spacing: -.025em;
  margin: 2px 0 0;
}
.qes-signup-section-head p {
  color: var(--qes-muted);
  font-size: 11.5px;
  margin: 5px 0 0;
}
.qes-signup-optional {
  background: #F1F5F7;
  border-radius: 999px;
  color: #8395A1;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .09em;
  padding: 4px 9px;
  text-transform: uppercase;
}
.qes-signup-grid {
  display: grid;
  gap: 18px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qes-signup-grid .qes-auth-field + .qes-auth-field { margin-top: 0; }
.qes-auth-field-wide { grid-column: 1 / -1; }

.qes-auth-upload {
  align-items: center;
  background: #F8FAFB;
  border: 1px dashed #C9D8DF;
  border-radius: 16px;
  display: flex;
  gap: 20px;
  margin-bottom: 22px;
  padding: 20px;
}
.qes-auth-upload-preview {
  background: #fff;
  border: 1px solid #E3EAEE;
  border-radius: 14px;
  display: block;
  flex: 0 0 96px;
  height: 96px;
  overflow: hidden;
  width: 96px;
}
.qes-auth-upload-preview img {
  display: block;
  height: 100% !important;
  object-fit: cover;
  width: 100% !important;
}
.qes-auth-upload-actions { min-width: 0; }
.qes-auth-upload-actions label {
  color: #344653;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 5px;
  margin-bottom: 5px;
}
.qes-auth-upload-actions label > span { color: #D84F5F; }
.qes-auth-upload-actions p {
  color: var(--qes-muted);
  font-size: 10.5px;
  line-height: 1.6;
  margin: 0 0 11px;
}
.qes-auth-upload-btn {
  align-items: center;
  background: #fff;
  border: 1px solid #CBDBE2;
  border-radius: 10px;
  color: #277FA9;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 8px;
  min-height: 38px;
  padding: 0 15px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.qes-auth-upload-btn:hover,
.qes-auth-upload-btn:focus {
  border-color: #277FA9;
  box-shadow: 0 7px 16px rgba(39,127,169,.13);
  outline: 0;
}

.qes-signup-footer {
  align-items: center;
  background: #fff;
  border: 1px solid #E0E8EC;
  border-radius: 18px;
  box-shadow: 0 14px 36px rgba(20,32,42,.07);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 20px 24px;
}
.qes-signup-footer p {
  color: #93A3AD;
  font-size: 10.5px;
  line-height: 1.6;
  margin: 0;
}
.qes-signup-footer p i { color: #64B4BE; margin-right: 5px; }
.qes-signup-footer p span { color: #D84F5F; font-weight: 700; }
.qes-signup-footer .qes-auth-submit { flex: 0 0 auto; width: auto; }

/* summernote inside the signup form */
.qes-signup-form .note-editor.note-frame {
  background: #F8FAFB;
  border: 1px solid #DAE4E9;
  border-radius: 11px;
  margin: 0;
  overflow: hidden;
}
.qes-signup-form .note-editor.note-frame .note-toolbar {
  background: #F1F5F7;
  border-bottom: 1px solid #E1E9ED;
  padding: 6px 8px 2px;
}
.qes-signup-form .note-editor.note-frame .note-editable {
  background: #fff;
  color: var(--qes-ink);
  font-size: 12px;
  line-height: 1.7;
  padding: 14px 15px;
}
.qes-signup-form .note-editor.note-frame .note-statusbar { background: #F8FAFB; }

@media (max-width: 991px) {
  .qes-auth-shell { grid-template-columns: 1fr; max-width: 620px; }
  .qes-auth-aside { min-height: 0; padding: 32px; }
  .qes-auth-aside::after { display: none; }
  .qes-auth-panel { padding: 34px 32px; }
  .qes-signup-layout { grid-template-columns: 1fr; }
  .qes-signup-aside { position: static; }
  .qes-signup-section { padding: 26px 22px; }
}

@media (max-width: 767px) {
  .qes-auth-page { padding: 20px 0 48px; }
  .qes-auth-breadcrumb { margin-bottom: 24px; }
  .qes-auth-shell { border-radius: 18px; }
  .qes-auth-aside { padding: 28px 22px; }
  .qes-auth-aside h2 { font-size: 24px; }
  .qes-auth-panel { padding: 28px 22px; }
  .qes-auth-panel-head h1 { font-size: 26px; }
  .qes-auth-hero {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    padding: 26px 22px;
  }
  .qes-auth-hero h1 { font-size: 29px; }
  .qes-auth-hero-note { flex-basis: auto; width: 100%; }
  .qes-signup-grid { grid-template-columns: 1fr; }
  .qes-auth-field-wide { grid-column: auto; }
  .qes-auth-upload {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .qes-signup-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
  }
  .qes-signup-footer .qes-auth-submit { width: 100%; }
}

/* ------------------------------------------- minimal centered footer ---- */

footer.qes-footer.qes-footer--minimal {
  background: #0A0D10;
  color: rgba(255,255,255,.7);
  overflow: visible;
  padding: 68px 0 60px;
  text-align: center;
}
.qes-footer--minimal::after { display: none; }
.qes-footer--minimal > .container { position: relative; }

.qes-footer-wordmark {
  align-items: center;
  color: #fff;
  display: inline-flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 42px;
  transition: opacity .18s ease;
}
.qes-footer-wordmark:hover,
.qes-footer-wordmark:focus { color: #fff; opacity: .82; }
.qes-footer-wordmark img {
  height: 40px;
  width: auto;
}
.qes-footer-wordmark span {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1;
}

.qes-footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 34px;
  justify-content: center;
  margin-bottom: 44px;
}
.qes-footer-nav a {
  color: rgba(255,255,255,.86);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .01em;
  position: relative;
  transition: color .18s ease;
}
.qes-footer-nav a::after {
  background: rgba(255,255,255,.7);
  bottom: -5px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s var(--qes-ease);
  width: 100%;
}
.qes-footer-nav a:hover { color: #fff; }
.qes-footer-nav a:hover::after { transform: scaleX(1); }

.qes-footer-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 22px;
  justify-content: center;
  margin-bottom: 46px;
}
.qes-footer-admin-contact {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.qes-footer-admin-contact a {
  align-items: center;
  background: #fff;
  border-radius: 999px;
  color: #0A0D10;
  display: flex;
  gap: 10px;
  min-height: 52px;
  padding: 7px 18px 7px 8px;
  text-align: left;
  transition: transform .18s var(--qes-ease), background .18s ease;
}
.qes-footer-admin-contact a:hover,
.qes-footer-admin-contact a:focus {
  background: #79CAD1;
  color: #0A0D10;
  transform: translateY(-3px);
}
.qes-footer-admin-contact a > i {
  align-items: center;
  background: #EAF5F7;
  border-radius: 50%;
  color: #277FA9;
  display: flex;
  flex: 0 0 36px;
  font-size: 14px;
  height: 36px;
  justify-content: center;
  transition: background .18s ease;
  width: 36px;
}
.qes-footer-admin-contact a:hover > i,
.qes-footer-admin-contact a:focus > i { background: rgba(255,255,255,.72); }
.qes-footer-admin-contact span { display: block; min-width: 0; }
.qes-footer-admin-contact small {
  color: #62737D;
  display: block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.2;
  margin-bottom: 3px;
  text-transform: uppercase;
}
.qes-footer-admin-contact strong {
  color: #0A0D10;
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.qes-footer-lang .btn-group { display: inline-block; }
.qes-footer-lang #form-language { margin: 0; }
.qes-footer-lang .dropdown-toggle {
  background: transparent;
  border: 2px solid rgba(255,255,255,.85);
  border-radius: 999px;
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  padding: 11px 24px;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.qes-footer-lang .dropdown-toggle:hover,
.qes-footer-lang .dropdown-toggle:focus {
  background: #fff;
  color: #0A0D10;
  text-decoration: none;
}
.qes-footer-lang .dropdown-toggle img { display: none; }
.qes-footer-lang .dropdown-menu {
  background: #141A1F;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  min-width: 170px;
  padding: 6px;
}
.qes-footer-lang .dropdown-menu .btn-link {
  color: rgba(255,255,255,.82);
  font-size: 12px;
  padding: 8px 10px;
  text-align: left;
  text-decoration: none;
}
.qes-footer-lang .dropdown-menu .btn-link:hover { color: #79CAD1; }

.qes-footer-copy {
  color: rgba(255,255,255,.72);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .01em;
  margin: 0;
}

.qes-footer--minimal .qes-back-to-top {
  align-items: center;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  color: rgba(255,255,255,.7);
  display: flex;
  font-size: 12px;
  height: 40px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: border-color .18s ease, color .18s ease, transform .18s ease;
  width: 40px;
}
.qes-footer--minimal .qes-back-to-top i {
  background: none;
  border-radius: 0;
  color: inherit;
  height: auto;
  line-height: 1;
  width: auto;
}
.qes-footer--minimal .qes-back-to-top:hover {
  border-color: #79CAD1;
  color: #79CAD1;
  transform: translateY(-2px);
}
.qes-footer--minimal .qes-back-to-top:hover i { background: none; color: #79CAD1; }

@media (max-width: 767px) {
  footer.qes-footer.qes-footer--minimal { padding: 46px 0 42px; }
  .qes-footer-wordmark { margin-bottom: 30px; }
  .qes-footer-wordmark img { height: 32px; }
  .qes-footer-wordmark span { font-size: 26px; }
  .qes-footer-nav {
    gap: 12px 22px;
    margin-bottom: 32px;
  }
  .qes-footer-nav a { font-size: 12px; }
  .qes-footer-actions {
    flex-direction: column;
    margin-bottom: 32px;
  }
  .qes-footer-admin-contact {
    align-items: stretch;
    flex-direction: column;
    width: min(100%, 330px);
  }
  .qes-footer-admin-contact a { width: 100%; }
  .qes-footer--minimal .qes-back-to-top { display: none; }
}

/* ---------------------------------- black panels: auth + signup hero ---- */

.qes-auth-page .qes-auth-aside,
.qes-auth-page .qes-auth-hero,
.qes-auth-page .qes-signup-aside-card {
  background:
    radial-gradient(circle at 100% 0, rgba(255,255,255,.055), transparent 42%),
    #0A0D10;
  border-color: rgba(255,255,255,.08);
}
.qes-auth-page .qes-auth-hero { box-shadow: 0 15px 36px rgba(0,0,0,.22); }
.qes-auth-page .qes-signup-aside-card { box-shadow: 0 16px 38px rgba(0,0,0,.20); }

.qes-footer-nav a { text-transform: capitalize; }
.qes-auth-upload-preview {
  align-items: center;
  display: flex;
  justify-content: center;
}
.qes-auth-upload-preview > i {
  color: #C3D2DA;
  font-size: 38px;
}
/* -------------------------------- black panels: contact hero + aside ---- */

.qes-contact-page .qes-contact-intro,
.qes-contact-page .qes-contact-info {
  background:
    radial-gradient(circle at 100% 0, rgba(255,255,255,.055), transparent 42%),
    #0A0D10;
  border-color: rgba(255,255,255,.08);
}
.qes-contact-page .qes-contact-intro { box-shadow: 0 15px 36px rgba(0,0,0,.22); }

/* -------------------------------- two property cards per row on mobile ---- */

@media (max-width: 767px) {
  /* every property card carries col-xs-12 (from the controller on the listing
     page, hard-coded in the home modules); override to a 2-up grid */
  .latest_main {
    float: left;
    padding: 6px;
    width: 50%;
  }
  .latest_main:nth-child(2n+1) { clear: left; }

  /* flex instead of floats on the grids we control, so cards in a row match
     heights (.cate3 = listing page, .qes-property-row = home latest/featured) */
  .cate3,
  .qes-property-row {
    display: flex;
    flex-wrap: wrap;
  }
  .cate3 > .latest_main,
  .qes-property-row > .latest_main { clear: none; float: none; }

  /* the card has to survive at ~160px wide */
  .product-thumb.qes-card { border-radius: 13px; padding: 8px; }
  .qes-card .image { border-radius: 10px; }
  .qes-card .qes-badge {
    font-size: 8.5px;
    gap: 5px;
    left: 7px;
    letter-spacing: .04em;
    padding: 6px 8px;
    top: 7px;
  }
  .qes-card .qes-badge::before { box-shadow: none; height: 4px; width: 4px; }
  .qes-card .qes-wish {
    height: 26px;
    line-height: 26px;
    right: 7px;
    top: 7px;
    width: 26px;
  }
  .qes-card .qes-wish .fa { font-size: 11px; }
  .qes-card .caption { padding: 11px 4px 0; }
  .qes-card .caption h4 {
    font-size: 13.5px;
    line-height: 1.35;
    margin: 0 0 5px;
    min-height: 37px;
  }
  .qes-card .qes-loc { font-size: 10.5px; margin: 0 0 3px; min-height: 17px; }
  .qes-card .qes-loc .fa { margin-right: 3px; }
  /* three specs never fit on one line at this width — lay them out 2-up.
     Columns are auto-sized, not 1fr: nowrap labels get clipped otherwise. */
  .qes-card .qes-meta {
    display: grid;
    gap: 5px 9px;
    grid-template-columns: repeat(2, auto);
    justify-content: start;
    overflow: visible;
    padding: 9px 0 10px;
  }
  .qes-card .qes-meta li { font-size: 9.5px; gap: 3px; }
  .qes-card .qes-meta .fa { font-size: 11px; }
  .qes-card-footer {
    gap: 4px;
    grid-template-columns: 1fr auto;
    padding: 9px 4px 2px;
  }
  .qes-card-price { font-size: 13.5px; }
  .qes-card-ref { display: none; }
  .qes-card-action { height: 30px; width: 30px; }
  .qes-card-action .fa { font-size: 11px; }
}

@media (max-width: 400px) {
  .qes-card .caption h4 { font-size: 12.5px; min-height: 34px; }
  .qes-card .qes-meta li { font-size: 9.5px; }
  .qes-card-price { font-size: 12.5px; }
}

/* ------------------------------------------------ floating chat dock ---- */

.qes-chat-dock {
  bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  position: fixed;
  right: 24px;
  z-index: 1040;
}
.qes-chat-channels {
  display: flex;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.qes-chat-channels li {
  opacity: 0;
  transform: translateY(14px) scale(.8);
  transition: opacity .2s var(--qes-ease), transform .26s var(--qes-ease);
}
.qes-chat-dock.is-open .qes-chat-channels { pointer-events: auto; }
.qes-chat-dock.is-open .qes-chat-channels li {
  opacity: 1;
  transform: translateY(0) scale(1);
}
/* stagger from the launcher upwards */
.qes-chat-dock.is-open .qes-chat-channels li:nth-last-child(1) { transition-delay: .02s; }
.qes-chat-dock.is-open .qes-chat-channels li:nth-last-child(2) { transition-delay: .06s; }
.qes-chat-dock.is-open .qes-chat-channels li:nth-last-child(3) { transition-delay: .10s; }
.qes-chat-dock.is-open .qes-chat-channels li:nth-last-child(4) { transition-delay: .14s; }
.qes-chat-dock.is-open .qes-chat-channels li:nth-last-child(5) { transition-delay: .18s; }

.qes-chat-channel {
  align-items: center;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(20,32,42,.22);
  color: #fff;
  display: flex;
  font-size: 20px;
  height: 52px;
  justify-content: center;
  transition: transform .18s var(--qes-ease), box-shadow .18s var(--qes-ease);
  width: 52px;
}
.qes-chat-channel:hover,
.qes-chat-channel:focus {
  box-shadow: 0 10px 24px rgba(20,32,42,.3);
  color: #fff;
  transform: scale(1.08);
}
.qes-chat-channel > i { color: inherit; }
.qes-chat-email    { background: #D6334A; }
.qes-chat-phone    { background: #3E7EA8; }
.qes-chat-telegram { background: #35A2E0; }
.qes-chat-whatsapp { background: #4FC85C; }
.qes-chat-facebook { background: #1877F2; }
.qes-chat-telegram > i { transform: rotate(-12deg) translateX(-1px); }

.qes-chat-toggle {
  align-items: center;
  background: var(--qes-brand);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(34,167,174,.42);
  color: #fff;
  display: flex;
  height: 60px;
  justify-content: center;
  padding: 0;
  position: relative;
  transition: background .18s ease, box-shadow .18s ease, transform .18s var(--qes-ease);
  width: 60px;
}
.qes-chat-toggle:hover,
.qes-chat-toggle:focus {
  box-shadow: 0 12px 28px rgba(34,167,174,.52);
  outline: 0;
  transform: scale(1.05);
}
.qes-chat-toggle > i {
  color: #fff;
  font-size: 24px;
  left: 50%;
  position: absolute;
  top: 50%;
  transition: opacity .18s ease, transform .26s var(--qes-ease);
}
.qes-chat-icon-open  { opacity: 1; transform: translate(-50%, -50%) rotate(0); }
.qes-chat-icon-close { opacity: 0; transform: translate(-50%, -50%) rotate(-90deg); }
.qes-chat-dock.is-open .qes-chat-toggle { background: #2F7FA0; }
.qes-chat-dock.is-open .qes-chat-icon-open  { opacity: 0; transform: translate(-50%, -50%) rotate(90deg); }
.qes-chat-dock.is-open .qes-chat-icon-close { opacity: 1; transform: translate(-50%, -50%) rotate(0); }

/* resting pulse, so the launcher reads as interactive */
.qes-chat-toggle::after {
  animation: qes-chat-pulse 2.4s var(--qes-ease) infinite;
  border: 2px solid var(--qes-brand);
  border-radius: 50%;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.qes-chat-dock.is-open .qes-chat-toggle::after,
.qes-chat-toggle:hover::after { animation: none; opacity: 0; }
@keyframes qes-chat-pulse {
  0%   { opacity: .55; transform: scale(1); }
  70%  { opacity: 0;   transform: scale(1.5); }
  100% { opacity: 0;   transform: scale(1.5); }
}
@media (prefers-reduced-motion: reduce) {
  .qes-chat-toggle::after { animation: none; opacity: 0; }
  .qes-chat-channels li { transition-duration: .01s; }
}

@media (max-width: 767px) {
  .qes-chat-dock { bottom: 16px; gap: 10px; right: 16px; }
  .qes-chat-channels { gap: 10px; }
  .qes-chat-channel { font-size: 17px; height: 46px; width: 46px; }
  .qes-chat-toggle { height: 54px; width: 54px; }
  .qes-chat-toggle > i { font-size: 21px; }
}
/* the fa-whatsapp / fa-phone glyphs sit smaller than the rest of the set */
.qes-chat-whatsapp > i { font-size: 24px; }
.qes-chat-phone > i { font-size: 21px; }

/* ------------------------- hero selects match the listing filter panel ---- */

/* the global `.bootstrap-select > .btn.dropdown-toggle` block above is all
   !important, so these have to be too */
.qes-hero-card .bootstrap-select.form-control,
.qes-hero-card .bootstrap-select > .btn.dropdown-toggle {
  background: #F9FBFC !important;
  border: 1px solid #DCE5EA !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: var(--qes-ink) !important;
  height: 46px;
  margin: 0 !important;
  width: 100% !important;
}
.qes-hero-card .bootstrap-select > .btn.dropdown-toggle {
  align-items: center;
  display: flex;
  font-size: 14px;
  padding: 10px 13px !important;
}
.qes-hero-card .bootstrap-select > .btn.dropdown-toggle:hover,
.qes-hero-card .bootstrap-select > .btn.dropdown-toggle:focus {
  background: #fff !important;
  border-color: #277FA9 !important;
  box-shadow: 0 0 0 3px rgba(39,127,169,.11) !important;
  outline: 0;
}
.qes-hero-card .bootstrap-select > .btn.dropdown-toggle .filter-option { flex: 1 1 auto; }
.qes-hero-card .bootstrap-select > .btn.dropdown-toggle .caret {
  border-top-color: #7B8D99;
  right: 14px;
}
.qes-hero-card .bootstrap-select.btn-group.open { z-index: 1060; }
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu {
  background: #fff;
  border: 1px solid #DCE5EA;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(20,32,42,.16);
  margin-top: 7px;
  overflow: visible;
  padding: 6px;
  z-index: 1060;
}
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu.inner {
  border: 0;
  box-shadow: none;
  margin: 0;
  max-height: 240px !important;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: static;
}
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu > li > a {
  border: 0;
  border-radius: 8px;
  color: var(--qes-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  margin: 1px 0;
  padding: 10px 12px;
}
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu > li > a:hover,
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu > li > a:focus {
  background: #EEF3FF;
  color: #385CC8;
  outline: 0;
}
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu > .selected > a,
.qes-hero-card .bootstrap-select.btn-group .dropdown-menu > .active > a {
  background: #EAF5F7;
  color: #277FA9;
  font-weight: 700;
}
/* the hero row is flex: the picker wrapper must be allowed to shrink */
.qes-hero-row > [class*="col-"] > .bootstrap-select { max-width: 100%; }

/* ------------------------------ mobile overflow: questionnaire launcher ---- */

/* Bootstrap's `.btn { white-space: nowrap }` gave these buttons a min-content
   width wider than a phone, which pushed the whole page into horizontal
   scroll and made the section above look offset. */
.qes-questionnaire-option.btn { white-space: normal; }
.qes-questionnaire-copy strong,
.qes-questionnaire-copy small { overflow-wrap: break-word; }
.qes-questionnaire-launcher { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 767px) {
  .qes-questionnaire-launcher { grid-template-columns: minmax(0, 1fr); }
  .qes-questionnaire-copy strong { font-size: 14.5px; }
  .qes-questionnaire-option.btn { gap: 11px; padding: 12px 13px; }
  .qes-questionnaire-icon { flex: 0 0 40px; font-size: 17px; height: 40px; }
}


/* ----------------------------- agent property admin-style wizard ------------ */
.agent-property .breadmain { display: none; }
.qes-agent-property-page {
  max-width: 1240px;
  padding-bottom: 56px;
  padding-top: 30px;
  width: 100%;
}
.qes-agent-property-page > .row { margin: 0; }
.qes-agent-property-page #content {
  float: none;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
}
.qes-agent-property-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 0;
}
.qes-agent-property-shell > .panel-heading {
  align-items: center;
  background: #fff;
  border: 1px solid #DCE6EB;
  border-radius: 16px 16px 0 0;
  display: flex;
  justify-content: space-between;
  min-height: 74px;
  padding: 15px 20px;
}
.qes-agent-property-shell > .panel-heading .panel-title {
  color: var(--qes-ink);
  font-size: 20px;
  font-weight: 700;
  margin: 2px 0 0;
}
.qes-agent-property-shell > .panel-heading .panel-title i {
  color: #277FA9;
  margin-right: 7px;
}
.qes-agent-form-kicker {
  color: #277FA9;
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.qes-agent-form-close {
  align-items: center;
  background: #F5F8FA;
  border: 1px solid #DCE6EB;
  border-radius: 9px;
  color: #6E818D;
  display: flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}
.qes-agent-form-close:hover { background: #FFF0F1; border-color: #F0C8CC; color: #C34855; }
.qes-agent-property-shell > .panel-body {
  background: #F4F7F9;
  border: 1px solid #DCE6EB;
  border-radius: 0 0 16px 16px;
  border-top: 0;
  padding: 0 16px 18px;
}
.qes-agent-wizard-stepper {
  background: #fff;
  border-bottom: 1px solid #DFE7EB;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 0 -16px;
  padding: 22px 34px 0;
}
.qes-agent-wizard-stepper > li {
  min-width: 0;
  position: relative;
}
.qes-agent-wizard-stepper > li:not(:last-child)::after {
  background: #DDE5E9;
  content: '';
  height: 2px;
  left: calc(50% + 18px);
  position: absolute;
  right: calc(-50% + 18px);
  top: 16px;
}
.qes-agent-wizard-stepper > li.is-complete:not(:last-child)::after {
  background: #37AD63;
}
.qes-agent-wizard-stepper button {
  align-items: center;
  background: transparent;
  border: 0;
  color: #8C999F;
  display: flex;
  flex-direction: column;
  font-size: 12px;
  font-weight: 700;
  gap: 7px;
  min-height: 66px;
  padding: 0 8px 12px;
  position: relative;
  width: 100%;
  z-index: 1;
}
.qes-agent-wizard-stepper button > span {
  align-items: center;
  background: #fff;
  border: 2px solid #D8E0E4;
  border-radius: 50%;
  display: flex;
  font-size: 12px;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.qes-agent-wizard-stepper button > i {
  font-size: 11px;
  margin-right: 5px;
  position: absolute;
  top: 46px;
  transform: translateX(-42px);
}
.qes-agent-wizard-stepper > li.is-active button {
  border-bottom: 3px solid #119CC3;
  color: #108CB1;
}
.qes-agent-wizard-stepper > li.is-active button > span {
  background: #119CC3;
  border-color: #119CC3;
  box-shadow: 0 6px 16px rgba(17,156,195,.23);
  color: #fff;
}
.qes-agent-wizard-stepper > li.is-complete button { color: #36A45F; }
.qes-agent-wizard-stepper > li.is-complete button > span {
  background: #3CB267;
  border-color: #3CB267;
  color: #fff;
}
.qes-agent-step-hint {
  background: #EDF7FC;
  border-left: 3px solid #149CC4;
  color: #526874;
  font-size: 13px;
  margin: 16px 0 18px;
  min-height: 40px;
  padding: 11px 14px;
}
.qes-agent-wizard-step[hidden] { display: none !important; }
.qes-agent-wizard-card {
  background: #fff;
  border: 1px solid #D9E4E9;
  border-radius: 14px;
  box-shadow: 0 5px 18px rgba(20,32,42,.04);
  margin-bottom: 18px;
  overflow: hidden;
}
.qes-agent-card-header {
  align-items: center;
  border-bottom: 1px solid #E4EAEE;
  display: flex;
  gap: 13px;
  min-height: 78px;
  padding: 17px 20px;
}
.qes-agent-card-icon {
  align-items: center;
  background: #EAF7FB;
  border-radius: 10px;
  color: #109BC3;
  display: flex;
  flex: 0 0 42px;
  font-size: 17px;
  height: 42px;
  justify-content: center;
}
.qes-agent-card-header h4 {
  color: #263742;
  font-size: 16px;
  font-weight: 750;
  margin: 0 0 4px;
}
.qes-agent-card-header p {
  color: #627986;
  font-size: 12px;
  line-height: 1.45;
  margin: 0;
}
.qes-agent-property-form .qes-agent-card-body {
  display: block;
  padding: 20px;
  width: 100%;
}
.qes-agent-property-form .qes-agent-card-body.qes-agent-field-grid { display: grid; }
.qes-agent-field-grid {
  display: grid;
  gap: 17px 20px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.qes-agent-field-grid > .getmap { display: contents; }
.qes-agent-property-form .form-group {
  margin: 0;
  min-width: 0;
}
.qes-agent-field-grid > .form-group,
.qes-agent-field-grid > .getmap > .form-group {
  display: block;
}
.qes-agent-property-form .form-group > label.control-label {
  color: #4B606D;
  float: none;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  margin: 0 0 7px;
  padding: 0;
  text-align: left;
  text-transform: uppercase;
  width: 100%;
}
.qes-agent-property-form .form-group > [class*="col-"] {
  float: none;
  padding: 0;
  width: 100%;
}
.qes-agent-property-form .form-control,
.qes-agent-property-form input.input-small,
.qes-agent-property-form input[name="bathrooms"] {
  background: #FBFCFD;
  border: 1px solid #C9D9E1;
  border-radius: 8px;
  box-shadow: none;
  color: #263742;
  font-size: 13px;
  height: 44px;
  padding: 9px 12px;
  width: 100%;
}
.qes-agent-property-form textarea.form-control { height: auto; min-height: 94px; }
.qes-agent-property-form .form-control:focus,
.qes-agent-property-form input.input-small:focus,
.qes-agent-property-form input[name="bathrooms"]:focus {
  background: #fff;
  border-color: #119CC3;
  box-shadow: 0 0 0 3px rgba(17,156,195,.1);
}
.qes-agent-property-form select.form-control {
  appearance: none;
  background-color: #FBFCFD;
  background-image:
    linear-gradient(45deg, transparent 50%, #617681 50%),
    linear-gradient(135deg, #617681 50%, transparent 50%);
  background-position:
    calc(100% - 17px) 19px,
    calc(100% - 12px) 19px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  padding-right: 34px;
}
.qes-input-prefix {
  align-items: center;
  display: flex;
  position: relative;
}
.qes-input-prefix > span {
  align-items: center;
  border-right: 1px solid #D5E1E7;
  color: #277FA9;
  display: flex;
  font-size: 14px;
  font-weight: 800;
  height: 28px;
  justify-content: center;
  left: 1px;
  position: absolute;
  width: 38px;
  z-index: 2;
}
.qes-input-prefix .form-control { padding-left: 49px; }
.qes-field-combo {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1.4fr) minmax(118px, .8fr);
}
.qes-agent-address-fields .qes-field-wide { grid-column: 1 / -1; }
.qes-agent-language-panel {
  display: block;
  min-width: 0;
  width: 100%;
}
.qes-agent-language-panel > .qes-agent-language-tabs,
.qes-agent-language-panel > .tab-content {
  clear: both;
  float: none;
  grid-column: auto;
  min-width: 0;
  width: 100%;
}
.qes-agent-language-panel > .tab-content > .tab-pane {
  float: none;
  min-width: 0;
  width: 100%;
}
.qes-agent-language-panel .tab-pane > .form-group {
  clear: both;
  display: block;
  margin-bottom: 15px;
  min-width: 0;
  width: 100%;
}
.qes-agent-language-panel .tab-pane > .form-group > label {
  display: block;
  float: none !important;
  margin-bottom: 7px;
  padding-top: 0;
  width: 100% !important;
}
.qes-agent-language-panel .tab-pane > .form-group > [class*="col-"] {
  display: block;
  float: none !important;
  min-width: 0;
  padding: 0;
  width: 100% !important;
}
.qes-agent-language-panel .form-control,
.qes-agent-language-panel .note-editor,
.qes-agent-language-panel .note-editing-area,
.qes-agent-language-panel .note-editable {
  box-sizing: border-box;
  max-width: none;
  min-width: 0;
  width: 100% !important;
}
.qes-agent-language-panel .note-editor {
  border-color: #C9D9E1;
  border-radius: 8px;
  clear: both;
  overflow: visible;
}
.qes-agent-language-panel .note-toolbar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 46px;
  padding: 5px !important;
  width: 100%;
}
.qes-agent-language-panel .note-toolbar > .btn-group {
  display: inline-flex;
  float: none;
  margin: 0 !important;
}
.qes-agent-language-panel .note-editable { min-height: 220px; }
.qes-agent-listing-fields > input[type="hidden"] { display: none; }
.qes-agent-listing-fields .file,
.qes-agent-media-fields .file {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 96px minmax(0, 1fr);
}
.qes-agent-gallery-field {
  clear: both;
  margin-top: 20px !important;
}
.qes-agent-photo-header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
}
.qes-agent-photo-count {
  background: #F2F7F9;
  border-radius: 999px;
  color: #617681;
  font-size: 11px;
  font-weight: 700;
  padding: 9px 12px;
  white-space: nowrap;
}
.qes-agent-photo-count strong {
  color: #078FB9;
  font-size: 14px;
}
.qes-agent-upload-zone {
  align-items: center;
  background: #F5FCFE;
  border: 2px dashed #9ED5E8;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 274px;
  overflow: visible;
  padding: 28px;
  position: relative;
  transition: background .18s ease, border-color .18s ease;
}
.qes-agent-upload-zone:hover {
  background: #F0FAFD;
  border-color: #55B5D2;
}
.qes-agent-upload-zone.is-dragging {
  background: #E8F8FC;
  border-color: #078FBD;
  box-shadow: inset 0 0 0 3px rgba(7, 143, 189, .08);
}
#qes-photo-input {
  display: none !important;
}
.qes-agent-upload-prompt {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: center;
  z-index: 2;
}
.qes-agent-upload-prompt.is-compact {
  border-bottom: 1px solid #DDEBF0;
  margin-bottom: 18px;
  padding-bottom: 18px;
  width: 100%;
}
.qes-agent-upload-icon {
  align-items: center;
  background: #E3F5FA;
  border-radius: 50%;
  color: #2465DF;
  display: flex;
  font-size: 31px;
  height: 78px;
  justify-content: center;
  margin-bottom: 16px;
  width: 78px;
}
.qes-agent-upload-prompt.is-compact .qes-agent-upload-icon {
  font-size: 20px;
  height: 48px;
  margin-bottom: 10px;
  width: 48px;
}
.qes-agent-upload-prompt > strong {
  color: #263742;
  font-size: 16px;
  line-height: 1.45;
  margin-bottom: 16px;
}
.qes-agent-choose-photos {
  background: #078FBD;
  border: 1px solid #047FA9;
  border-radius: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  margin-bottom: 12px;
  padding: 9px 18px;
}
.qes-agent-choose-photos:hover,
.qes-agent-choose-photos:focus {
  background: #047FA9;
  color: #fff;
}
.qes-agent-choose-photos[disabled] {
  cursor: not-allowed;
  opacity: .55;
}
.qes-agent-upload-prompt > small {
  color: #748894;
  font-size: 11px;
}
.qes-agent-photo-queue {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  width: 100%;
}
.qes-agent-photo-file {
  align-items: center;
  background: #fff;
  border: 1px solid #D6E4EA;
  border-radius: 9px;
  display: grid;
  gap: 3px 9px;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  min-width: 0;
  padding: 8px;
  position: relative;
}
.qes-agent-photo-preview {
  background: #EAF7FB;
  border-radius: 7px;
  display: block;
  grid-row: 1 / 4;
  height: 60px;
  overflow: hidden;
  position: relative;
  width: 64px;
}
.qes-agent-photo-preview img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.qes-agent-photo-main-badge {
  background: #078FBD;
  border-radius: 999px;
  bottom: 4px;
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  left: 4px;
  padding: 3px 5px;
  position: absolute;
  text-transform: uppercase;
}
.qes-agent-photo-file-name {
  color: #334955;
  font-size: 11px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qes-agent-photo-file small {
  color: #7A8D97;
  font-size: 9px;
}
.qes-agent-photo-progress {
  color: #078FB9;
  font-size: 10px;
  font-weight: 700;
}
.qes-agent-photo-file.is-uploaded .qes-agent-photo-progress { color: #30A35A; }
.qes-agent-photo-actions {
  grid-column: 3;
  grid-row: 1 / 4;
  position: relative;
}
.qes-agent-photo-menu-toggle {
  align-items: center;
  background: #F3F7F9;
  border: 0;
  border-radius: 7px;
  color: #506773;
  display: flex;
  height: 30px;
  justify-content: center;
  padding: 0;
  width: 28px;
}
.qes-agent-photo-menu {
  background: #fff;
  border: 1px solid #D6E4EA;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(26, 53, 67, .16);
  display: none;
  min-width: 150px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 36px;
  z-index: 12;
}
.qes-agent-photo-menu.is-open {
  display: block;
}
.qes-agent-photo-menu button {
  background: #fff;
  border: 0;
  color: #334955;
  display: block;
  font-size: 11px;
  padding: 10px 12px;
  text-align: left;
  width: 100%;
}
.qes-agent-photo-menu button:hover {
  background: #F3F8FA;
}
.qes-agent-photo-menu button i {
  margin-right: 7px;
  width: 13px;
}
.qes-agent-photo-menu button.is-danger {
  color: #C24E5A;
}
.qes-agent-video-row {
  align-items: center;
  background: #F8FBFC;
  border: 1px solid #D8E4E9;
  border-radius: 11px;
  display: grid;
  gap: 12px;
  grid-template-columns: 42px 250px minmax(0, 1fr);
  margin-top: 18px;
  padding: 14px;
}
.qes-agent-video-icon {
  align-items: center;
  background: #E7F8F1;
  border-radius: 50%;
  color: #2AA66C;
  display: flex;
  height: 42px;
  justify-content: center;
  width: 42px;
}
.qes-agent-video-row label {
  color: #2B3D47;
  display: block;
  font-size: 12px;
  font-weight: 750;
  margin: 0 0 3px;
}
.qes-agent-video-row small {
  color: #718691;
  display: block;
  font-size: 10px;
}
.qes-agent-video-row > .col-sm-10 {
  float: none;
  padding: 0;
  width: 100%;
}
.qes-agent-property-form .imagebox {
  background: #F2F7F9;
  border: 1px dashed #BFD3DD;
  border-radius: 10px;
  display: inline-flex;
  min-height: 96px;
  overflow: hidden;
  padding: 5px;
}
.qes-agent-property-form .imagebox img {
  border-radius: 7px;
  height: 84px;
  object-fit: cover;
  width: 84px;
}
.qes-agent-property-form #button-upload {
  border-color: #119CC3;
  border-radius: 8px;
  color: #108CB1;
  font-weight: 700;
  min-height: 42px;
}
.qes-agent-property-form #property_category {
  background: #F7FAFB;
  border: 1px solid #D5E1E7;
  border-radius: 8px;
  box-shadow: none;
  height: auto !important;
  margin: 8px 0 0;
  min-height: 52px;
  padding: 8px;
}
.qes-agent-property-form #property_category > div {
  background: #EAF6F9;
  border-radius: 999px;
  color: #277F9E;
  display: inline-flex;
  font-size: 12px;
  gap: 5px;
  margin: 3px;
  padding: 6px 10px;
}
.qes-agent-property-form .btn-number {
  border: 0;
  border-radius: 7px;
  float: right;
  height: 34px;
  margin: 5px;
  padding: 5px 10px;
  position: relative;
  z-index: 2;
}
.qes-agent-property-form .form-group-btn { display: contents; }
.qes-agent-property-form #images {
  background: #fff;
  border: 0;
  margin: 16px 0 0;
}
.qes-agent-property-form #images td { border-color: #E0E8EC; vertical-align: middle; }
.qes-agent-property-form #images img {
  border-radius: 8px;
  height: 74px;
  object-fit: cover;
  width: 96px;
}
.qes-agent-review-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
}
.qes-agent-review-grid article {
  background: #F7FAFB;
  border: 1px solid #DCE6EB;
  border-radius: 12px;
  display: flex;
  gap: 12px;
  min-height: 128px;
  padding: 16px;
}
.qes-agent-review-grid article > span {
  align-items: center;
  background: #EAF7FB;
  border-radius: 9px;
  color: #119CC3;
  display: flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
}
.qes-agent-review-grid article > div { min-width: 0; }
.qes-agent-review-grid small {
  color: #758A95;
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.qes-agent-review-grid strong {
  color: #263742;
  display: block;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.qes-agent-review-grid p {
  color: #677D89;
  font-size: 12px;
  line-height: 1.55;
  margin: 5px 0 0;
}
.qes-agent-review-notice {
  align-items: flex-start;
  background: #EEF8F2;
  border: 1px solid #CBE7D5;
  border-radius: 10px;
  color: #3B6D4B;
  display: flex;
  font-size: 12px;
  gap: 9px;
  margin-top: 16px;
  padding: 12px 14px;
  width: 100%;
}
.qes-agent-wizard-actions {
  align-items: center;
  background: #fff;
  border: 1px solid #D9E4E9;
  border-radius: 12px;
  bottom: 12px;
  box-shadow: 0 10px 28px rgba(20,32,42,.1);
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
  padding: 11px 13px;
  position: sticky;
  z-index: 40;
}
.qes-agent-wizard-actions > div { display: flex; gap: 8px; }
.qes-agent-wizard-actions .btn {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 750;
  gap: 8px;
  min-height: 42px;
  padding: 9px 17px;
}
.qes-agent-cancel,
.qes-agent-step-back { background: #F5F8FA; border: 1px solid #D8E3E8; color: #526874; }
.qes-agent-step-next { background: #119CC3; border: 1px solid #119CC3; color: #fff; }
.qes-agent-step-save { background: #35A861; border: 1px solid #35A861; color: #fff; }
.qes-agent-step-next:hover,
.qes-agent-step-next:focus,
.qes-agent-step-save:hover,
.qes-agent-step-save:focus { color: #fff; filter: brightness(.95); }

@media (max-width: 767px) {
  .qes-agent-property-page { padding: 16px 10px 36px; }
  .qes-agent-property-shell > .panel-body { padding: 0 10px 12px; }
  .qes-agent-wizard-stepper { margin: 0 -10px; overflow-x: auto; padding: 16px 10px 0; }
  .qes-agent-wizard-stepper { grid-template-columns: repeat(4, minmax(100px, 1fr)); }
  .qes-agent-wizard-stepper button { font-size: 10px; }
  .qes-agent-property-form .qes-agent-card-body,
  .qes-agent-card-header { padding: 15px; }
  .qes-agent-field-grid,
  .qes-agent-review-grid { grid-template-columns: 1fr; }
  .qes-agent-language-panel .tab-pane > .form-group { display: block; }
  .qes-agent-language-panel .tab-pane > .form-group > label { padding-top: 0; }
  .qes-agent-wizard-actions { align-items: stretch; flex-direction: column; }
  .qes-agent-wizard-actions > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qes-agent-wizard-actions .btn { justify-content: center; width: 100%; }
  .qes-agent-photo-header { grid-template-columns: 42px minmax(0, 1fr); }
  .qes-agent-photo-count { grid-column: 1 / -1; justify-self: start; margin-top: 10px; }
  .qes-agent-upload-zone { min-height: 250px; padding: 20px 14px; }
  .qes-agent-video-row { grid-template-columns: 42px minmax(0, 1fr); }
  .qes-agent-video-row > .col-sm-10 { grid-column: 1 / -1; }
  .qes-field-combo { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 768px) and (max-width: 1099px) {
  .qes-agent-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ------------- amenity / nearest-place pickers on the agent property form ---- */
/* Mirrors the admin picker (admin/view/stylesheet/fa6-picker.css) in theme tokens. */
.qes-agent-language-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 0 10px;
}
.qes-agent-language-tabs > li {
  float: none;
  margin: 0;
}
.qes-agent-language-tabs > li > a {
  align-items: center;
  border: 1px solid var(--qes-line) !important;
  border-radius: 9px !important;
  display: inline-flex;
  gap: 8px;
  margin: 0;
  padding: 8px 12px;
}
.qes-agent-language-tabs > li.active > a,
.qes-agent-language-tabs > li.active > a:hover,
.qes-agent-language-tabs > li.active > a:focus {
  background: #EAF7FA !important;
  border-color: #277FA9 !important;
  box-shadow: none;
}
.qes-agent-language-flag {
  border: 1px solid rgba(38,55,66,.12);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(20,32,42,.08);
  display: block;
  flex: 0 0 27px;
  height: 18px;
  object-fit: cover;
  width: 27px;
}
.qes-agent-language-tabs > li.active > a .qes-agent-language-flag {
  border-color: rgba(39,127,169,.28);
  box-shadow: 0 0 0 2px rgba(39,127,169,.12);
}
.qes-pick-hint {
  color: var(--qes-muted);
  font-size: 12.5px;
  margin: 14px 0 14px;
}
.qes-agent-property-form .qes-pick-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  margin-bottom: 18px;
  width: 100%;
}
.qes-agent-property-form .qes-pick {
  align-items: center;
  background: #fff;
  border: 1px solid var(--qes-line);
  border-radius: 9px;
  cursor: pointer;
  display: flex;
  font-weight: 400;
  gap: 11px;
  margin: 0;
  min-height: 56px;
  padding: 9px 12px;
  position: relative;
  transition: border-color .14s ease, background .14s ease, box-shadow .14s ease;
  width: auto;
}
.qes-pick:hover { border-color: rgba(34,167,174,.45); background: #F8FEFD; }
.qes-pick input[type="checkbox"] {
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  cursor: pointer;
}
.qes-pick-icon {
  align-items: center;
  background: var(--qes-canvas);
  border-radius: 7px;
  color: var(--qes-body);
  display: flex;
  flex: 0 0 36px;
  font-size: 17px;
  height: 36px;
  justify-content: center;
  transition: background .14s ease, color .14s ease;
}
.qes-pick-name {
  color: var(--qes-ink);
  flex: 1 1 auto;
  font-size: 13px;
  line-height: 1.3;
  min-width: 0;
  overflow-wrap: anywhere;
}
.qes-pick-tick {
  align-items: center;
  background: var(--qes-brand);
  border-radius: 50%;
  color: #fff;
  display: flex;
  flex: 0 0 20px;
  font-size: 10px;
  height: 20px;
  justify-content: center;
  opacity: 0;
  transform: scale(.6);
  transition: opacity .14s ease, transform .14s ease;
}
.qes-pick.is-on {
  background: var(--qes-brand-light);
  border-color: var(--qes-brand);
  box-shadow: inset 0 0 0 1px var(--qes-brand);
}
.qes-pick.is-on .qes-pick-icon { background: var(--qes-brand-light); color: var(--qes-brand-dark); }
.qes-pick.is-on .qes-pick-tick { opacity: 1; transform: scale(1); }

.qes-near-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  margin-bottom: 18px;
}
.qes-near {
  align-items: center;
  background: #fff;
  border: 1px solid var(--qes-line);
  border-radius: 9px;
  display: flex;
  gap: 11px;
  padding: 9px 12px;
  transition: border-color .14s ease, background .14s ease;
}
.qes-near.is-set { background: var(--qes-brand-light); border-color: var(--qes-brand); }
.qes-near-icon {
  align-items: center;
  background: var(--qes-canvas);
  border-radius: 7px;
  color: var(--qes-body);
  display: flex;
  flex: 0 0 36px;
  font-size: 17px;
  height: 36px;
  justify-content: center;
}
.qes-near.is-set .qes-near-icon { background: var(--qes-brand-light); color: var(--qes-brand-dark); }
.qes-near-name {
  color: var(--qes-ink);
  flex: 0 0 92px;
  font-size: 12.5px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.qes-near .form-control {
  border-radius: 6px;
  box-shadow: none;
  flex: 1 1 auto;
  height: 36px;
  min-width: 0;
}

/* ------------------ amenities & nearest places on the public detail page ---- */

#propertydetails_feature .feat,
#nearplace_area .feat {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  margin: 0;
  padding: 0;
}
#propertydetails_feature .feat > li,
#nearplace_area .feat > li {
  /* the inherited sky-stylesheet sets `.listing-caption .feat li{width:48%}`,
     which collapses these to ~110px inside the grid track */
  width: auto;
  align-items: center;
  background: var(--qes-surface);
  border: 1px solid var(--qes-line);
  border-radius: 11px;
  color: var(--qes-body);
  display: flex;
  font-size: 13px;
  gap: 11px;
  line-height: 1.4;
  padding: 11px 13px;
}
#propertydetails_feature .feat > li > i,
#nearplace_area .feat > li > i {
  align-items: center;
  background: var(--qes-brand-light);
  border-radius: 8px;
  color: var(--qes-brand-dark);
  display: flex;
  flex: 0 0 34px;
  font-size: 16px;
  height: 34px;
  justify-content: center;
}
#propertydetails_feature .feat > li > span,
#nearplace_area .feat > li > span { min-width: 0; overflow-wrap: anywhere; }
#nearplace_area .feat > li strong { color: var(--qes-ink); }

@media (max-width: 767px) {
  #propertydetails_feature .feat,
  #nearplace_area .feat { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
  #propertydetails_feature .feat > li,
  #nearplace_area .feat > li { font-size: 12px; gap: 9px; padding: 9px 10px; }
  #propertydetails_feature .feat > li > i,
  #nearplace_area .feat > li > i { flex: 0 0 30px; font-size: 14px; height: 30px; }
}

/* ----------------------------- agent property listing workspace -------------- */
.qes-agent-list-page {
  padding-bottom: 55px;
  padding-top: 28px;
}
.qes-agent-list-page > .row { margin-left: -10px; margin-right: -10px; }
.qes-agent-list-page #content { padding-left: 10px; padding-right: 10px; }
.qes-agent-list-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid #DCE6EB;
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(20, 32, 42, .05);
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  padding: 18px 20px;
}
.qes-agent-list-toolbar h2 {
  color: #243640;
  font-size: 20px;
  font-weight: 800;
  margin: 0 0 3px;
}
.qes-agent-list-toolbar p {
  color: #6B808B;
  font-size: 12px;
  margin: 0;
}
.qes-agent-list-toolbar-actions {
  display: flex;
  gap: 8px;
}
.qes-agent-list-toolbar-actions .btn {
  align-items: center;
  border-radius: 8px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 750;
  gap: 7px;
  min-height: 40px;
  padding: 8px 14px;
}
.qes-agent-list-add {
  background: #079DB2;
  border-color: #079DB2;
  color: #fff;
}
.qes-agent-list-add:hover,
.qes-agent-list-add:focus { background: #078A9E; border-color: #078A9E; color: #fff; }
.qes-agent-list-delete {
  background: #FFF5F5;
  border: 1px solid #F1C9CE;
  color: #C64B58;
}
.qes-agent-list-delete:hover,
.qes-agent-list-delete:focus { background: #FFECEE; color: #B43C49; }
.qes-agent-list-filter {
  background: #fff;
  border: 1px solid #DCE6EB;
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(20, 32, 42, .04);
  margin-bottom: 18px;
  overflow: hidden;
}
.qes-agent-list-filter-heading {
  align-items: center;
  border-bottom: 1px solid #E5ECEF;
  display: flex;
  justify-content: space-between;
  min-height: 52px;
  padding: 12px 18px;
}
.qes-agent-list-filter-heading > div {
  align-items: center;
  color: #304650;
  display: flex;
  font-size: 13px;
  gap: 8px;
}
.qes-agent-list-filter-heading > div i { color: #079DB2; }
.qes-agent-list-filter-heading > a {
  color: #6B808B;
  font-size: 11px;
  font-weight: 700;
}
.qes-agent-list-filter-grid {
  align-items: end;
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 18px;
}
.qes-agent-list-filter .form-group { margin: 0; min-width: 0; }
.qes-agent-list-filter label {
  color: #526874;
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  margin: 0 0 7px;
  text-transform: uppercase;
}
.qes-agent-list-filter .form-control {
  background-color: #FBFCFD;
  border: 1px solid #CAD9E0;
  border-radius: 8px;
  box-shadow: none;
  color: #293D47;
  font-size: 12px;
  height: 43px;
  width: 100%;
}
.qes-agent-list-filter select.form-control {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #647984 50%),
    linear-gradient(135deg, #647984 50%, transparent 50%);
  background-position: calc(100% - 17px) 18px, calc(100% - 12px) 18px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  padding-right: 34px;
}
.qes-agent-list-filter .form-control:focus {
  background-color: #fff;
  border-color: #119CC3;
  box-shadow: 0 0 0 3px rgba(17, 156, 195, .1);
}
.qes-agent-filter-input { position: relative; }
.qes-agent-filter-input > i,
.qes-agent-filter-input > span {
  align-items: center;
  color: #7B8E98;
  display: flex;
  font-size: 12px;
  height: 43px;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 38px;
  z-index: 2;
}
.qes-agent-filter-input > span {
  border-right: 1px solid #D9E3E8;
  color: #168EAA;
  font-weight: 800;
}
.qes-agent-filter-input .form-control { padding-left: 40px; }
.qes-agent-list-filter-action .btn {
  background: #079DB2;
  border: 1px solid #079DB2;
  border-radius: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  height: 43px;
  width: 100%;
}
.qes-agent-list-filter-action .btn:hover { background: #078A9E; color: #fff; }
.qes-agent-property-table-wrap {
  background: #fff;
  border: 1px solid #DCE6EB;
  border-radius: 14px;
  box-shadow: 0 6px 22px rgba(20, 32, 42, .05);
  overflow: hidden;
}
.qes-agent-property-table {
  margin: 0;
  min-width: 760px;
}
.qes-agent-property-table > thead > tr > th {
  background: #F5F8FA;
  border: 0;
  border-bottom: 1px solid #DCE6EB;
  color: #627783;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .055em;
  padding: 13px 14px;
  text-transform: uppercase;
  vertical-align: middle;
}
.qes-agent-property-table > thead > tr > th a { color: #526A76; }
.qes-agent-property-table > tbody > tr > td {
  border: 0;
  border-bottom: 1px solid #E7EDF0;
  color: #425965;
  padding: 14px;
  vertical-align: middle;
}
.qes-agent-property-table > tbody > tr:last-child > td { border-bottom: 0; }
.qes-agent-property-table > tbody > tr:hover > td { background: #FBFDFE; }
.qes-agent-property-main {
  align-items: center;
  display: grid;
  gap: 13px;
  grid-template-columns: 112px minmax(150px, 1fr);
  min-width: 0;
}
.qes-agent-property-thumb {
  background: #EDF3F5;
  border-radius: 9px;
  display: block;
  height: 74px;
  overflow: hidden;
  width: 112px;
}
.qes-agent-property-thumb img {
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
  width: 100%;
}
.qes-agent-property-thumb:hover img { transform: scale(1.04); }
.qes-agent-property-name {
  color: #263B46;
  display: -webkit-box;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.qes-agent-property-name:hover { color: #078EAC; }
.qes-agent-property-main small {
  color: #81939C;
  display: block;
  font-size: 9px;
  margin-top: 6px;
  text-transform: uppercase;
}
.qes-agent-property-type {
  background: #EAF6FB;
  border-radius: 999px;
  color: #167F9D;
  display: inline-flex;
  font-size: 10px;
  font-weight: 750;
  padding: 6px 10px;
}
.qes-agent-property-price {
  color: #213843;
  font-size: 13px;
  white-space: nowrap;
}
.qes-agent-property-visibility {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 10px;
  font-weight: 750;
  gap: 6px;
  padding: 6px 10px;
}
.qes-agent-property-visibility > i {
  border-radius: 50%;
  height: 6px;
  width: 6px;
}
.qes-agent-property-visibility.is-enabled { background: #EAF8EF; color: #2C8850; }
.qes-agent-property-visibility.is-enabled > i { background: #35AA63; }
.qes-agent-property-visibility.is-disabled { background: #FFF1F2; color: #B34D58; }
.qes-agent-property-visibility.is-disabled > i { background: #D15B67; }
.qes-agent-property-actions {
  display: inline-flex;
  gap: 7px;
}
.qes-agent-property-actions .btn {
  align-items: center;
  border-radius: 8px;
  display: flex;
  height: 36px;
  justify-content: center;
  padding: 0;
  width: 36px;
}
.qes-agent-action-view { background: #EEF8FB; border: 1px solid #CFE8EF; color: #078EAC; }
.qes-agent-action-edit { background: #079DB2; border: 1px solid #079DB2; color: #fff; }
.qes-agent-action-view:hover { background: #E3F3F7; color: #087D97; }
.qes-agent-action-edit:hover { background: #078A9E; color: #fff; }
.qes-agent-property-empty td { padding: 48px 20px !important; }
.qes-agent-property-empty td > i {
  color: #B8C7CE;
  display: block;
  font-size: 38px;
  margin-bottom: 12px;
}
.qes-agent-property-empty td > strong { display: block; margin-bottom: 9px; }
.qes-agent-list-pagination {
  align-items: center;
  color: #6C808A;
  display: flex;
  font-size: 11px;
  margin-top: 16px;
}
.qes-agent-list-pagination .pagination { margin: 0; }

@media (max-width: 991px) {
  .qes-agent-list-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .qes-agent-list-toolbar { align-items: flex-start; gap: 14px; }
  .qes-agent-list-toolbar-actions .btn span { display: none; }
  .qes-agent-list-toolbar-actions .btn { justify-content: center; padding: 8px; width: 40px; }
  .qes-agent-list-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .qes-agent-property-table { min-width: 0; }
  .qes-agent-property-table thead { display: none; }
  .qes-agent-property-table,
  .qes-agent-property-table tbody,
  .qes-agent-property-table tr,
  .qes-agent-property-table td { display: block; width: 100%; }
  .qes-agent-property-table > tbody > tr {
    border-bottom: 8px solid #F1F5F7;
    padding: 12px;
    position: relative;
  }
  .qes-agent-property-table > tbody > tr:last-child { border-bottom: 0; }
  .qes-agent-property-table > tbody > tr > td {
    border-bottom: 0;
    min-height: 34px;
    padding: 7px 7px 7px 115px;
    text-align: left !important;
  }
  .qes-agent-property-table > tbody > tr > td:first-child {
    left: 5px;
    padding: 7px;
    position: absolute;
    top: 5px;
    width: auto;
    z-index: 2;
  }
  .qes-agent-property-table td[data-label]::before {
    color: #82939C;
    content: attr(data-label);
    font-size: 9px;
    font-weight: 800;
    left: 7px;
    letter-spacing: .04em;
    position: absolute;
    text-transform: uppercase;
  }
  .qes-agent-property-table td[data-label] { position: relative; }
  .qes-agent-property-table td[data-label]:nth-child(2)::before { display: none; }
  .qes-agent-property-main { grid-template-columns: 92px minmax(0, 1fr); margin-left: -108px; padding-left: 22px; }
  .qes-agent-property-thumb { height: 66px; width: 92px; }
  .qes-agent-property-actions { padding-left: 0; }
  .qes-agent-list-pagination { display: block; }
  .qes-agent-list-pagination > div { margin-top: 10px; text-align: left !important; }
}
