/* ==========================================================================
   AQPL Public CSS — Property Card Design
   Design: white rounded cards · yellow badge · gold price · icon row
   ========================================================================== */

/* ── Design tokens ─────────────────────────────────────────────────────── */
:root {
  --aqpl-gold:          #C9A84C;
  --aqpl-gold-dark:     #a8882e;
  --aqpl-badge-bg:      #F5C518;
  --aqpl-badge-txt:     #1a1a1a;
  --aqpl-white:         #ffffff;
  --aqpl-card-radius:   16px;
  --aqpl-card-shadow:   0 2px 18px rgba(0,0,0,.09);
  --aqpl-card-hover:    0 10px 36px rgba(0,0,0,.16);
  --aqpl-title:         #111111;
  --aqpl-address:       #777777;
  --aqpl-icon:          #555555;
  --aqpl-sep:           #ececec;
  --aqpl-font:          'Segoe UI', system-ui, -apple-system, sans-serif;
  --aqpl-ease:          .25s ease;
}

/* ── Wrapper reset ─────────────────────────────────────────────────────── */
.aqpl-wrap * { box-sizing: border-box; }
.aqpl-wrap a { text-decoration: none; color: inherit; }

/* ─────────────────────────────────────────────────────────────────────────
   GRID
   ──────────────────────────────────────────────────────────────────────── */
.aqpl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  width: 100%;
}
.aqpl-cols-1 { grid-template-columns: 1fr; }
.aqpl-cols-2 { grid-template-columns: repeat(2,1fr); }
.aqpl-cols-3 { grid-template-columns: repeat(3,1fr); }
.aqpl-cols-4 { grid-template-columns: repeat(4,1fr); }

@media(max-width:1100px){ .aqpl-cols-4,.aqpl-cols-3{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){  .aqpl-grid,.aqpl-cols-4,.aqpl-cols-3,.aqpl-cols-2{ grid-template-columns:1fr; } }

/* ─────────────────────────────────────────────────────────────────────────
   PROPERTY CARD
   ──────────────────────────────────────────────────────────────────────── */
.aqpl-card {
  background:     var(--aqpl-white);
  border-radius:  var(--aqpl-card-radius);
  box-shadow:     var(--aqpl-card-shadow);
  overflow:       hidden;
  display:        flex;
  flex-direction: column;
  transition:     box-shadow var(--aqpl-ease), transform var(--aqpl-ease);
  font-family:    var(--aqpl-font);
  cursor:         pointer;
  border:         1px solid rgba(0,0,0,.04);
}
.aqpl-card:hover {
  box-shadow: var(--aqpl-card-hover);
  transform:  translateY(-4px);
}

/* ── Image ──────────────────────────────────────────────────────────────── */
.aqpl-card__img-wrap {
  position:      relative;
  width:         100%;
  padding-top:   60%;           /* 5:3 ratio — tall enough to look rich */
  overflow:      hidden;
  border-radius: var(--aqpl-card-radius) var(--aqpl-card-radius) 0 0;
  flex-shrink:   0;
  background:    #f0f0f0;
}
.aqpl-card__img {
  position:   absolute;
  inset:      0;
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
  transition: transform .45s ease;
}
.aqpl-card:hover .aqpl-card__img { transform: scale(1.05); }

.aqpl-card__img-placeholder {
  position:        absolute;
  inset:           0;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      linear-gradient(135deg,#f5f5f5 0%,#e8e8e8 100%);
}
.aqpl-card__img-placeholder svg { width:60px; height:60px; opacity:.3; }

/* ── Badge (top-right) ───────────────────────────────────────────────────── */
.aqpl-card__badge {
  position:       absolute;
  top:            14px;
  right:          14px;
  background:     var(--aqpl-badge-bg);
  color:          var(--aqpl-badge-txt);
  font-size:      11px;
  font-weight:    800;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding:        5px 12px;
  border-radius:  7px;
  line-height:    1;
  z-index:        3;
  box-shadow:     0 2px 10px rgba(0,0,0,.18);
  white-space:    nowrap;
}

/* ── Card body ───────────────────────────────────────────────────────────── */
.aqpl-card__body {
  padding:        18px 20px 14px;
  flex:           1;
  display:        flex;
  flex-direction: column;
  gap:            5px;
}

.aqpl-card__title {
  font-size:      17px;
  font-weight:    800;
  color:          var(--aqpl-title);
  line-height:    1.3;
  margin:         0 0 3px;
  display:        -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:       hidden;
}

.aqpl-card__address {
  display:     flex;
  align-items: center;
  gap:         5px;
  font-size:   13px;
  color:       var(--aqpl-address);
  margin:      0 0 8px;
  line-height: 1.3;
}
.aqpl-card__address svg { flex-shrink:0; color:var(--aqpl-gold); }

.aqpl-card__price {
  font-size:      22px;
  font-weight:    900;
  color:          var(--aqpl-gold);
  letter-spacing: -.03em;
  margin:         4px 0 0;
  line-height:    1;
}

/* ── Footer icon row ─────────────────────────────────────────────────────── */
.aqpl-card__footer {
  display:       flex;
  align-items:   center;
  padding:       12px 20px 16px;
  border-top:    1px solid var(--aqpl-sep);
  margin-top:    12px;
  gap:           0;
}

.aqpl-card__stat {
  display:         flex;
  align-items:     center;
  gap:             6px;
  font-size:       12.5px;
  font-weight:     600;
  color:           var(--aqpl-icon);
  flex:            1;
  justify-content: center;
  white-space:     nowrap;
}
.aqpl-card__stat svg { width:16px; height:16px; flex-shrink:0; color:var(--aqpl-gold); }

.aqpl-card__sep {
  width:         1px;
  height:        22px;
  background:    var(--aqpl-sep);
  flex-shrink:   0;
}

/* ─────────────────────────────────────────────────────────────────────────
   SEARCH FORM
   ──────────────────────────────────────────────────────────────────────── */
.aqpl-search-box {
  background:     transparent;
  border:         0;
  border-radius:  0;
  padding:        0;
  margin-bottom:  32px;
  box-shadow:     none;
}
.aqpl-search-form {
  display:        flex;
  flex-wrap:      nowrap;
  gap:            0;
  align-items:    stretch;
  width:          100%;
  min-height:     64px;
  background:     var(--aqpl-search-bg, #fff);
  border-radius:  999px;
  overflow:       hidden;
  box-shadow:     0 12px 40px rgba(17, 24, 39, 0.08);
  border:         1px solid rgba(17, 24, 39, 0.06);
}
.aqpl-field-wrap {
  display:        flex;
  flex-direction: column;
  gap:            0;
  flex:           1;
  min-width:      0;
  position:       relative;
}
.aqpl-field-wrap + .aqpl-field-wrap::before {
  content:        '';
  position:       absolute;
  left:           0;
  top:            18px;
  bottom:         18px;
  width:          1px;
  background:     rgba(17, 24, 39, 0.08);
}
.aqpl-field-wrap label { display:none; }
.aqpl-search-form input,
.aqpl-search-form input[type="search"],
.aqpl-search-form input[type="text"],
.aqpl-search-form select,
.aqpl-search-form textarea,
.aqpl-search-form .select2-selection,
.aqpl-search-form .elementor-field,
.aqpl-search-form .elementor-field-textual {
  width:          100%;
  height:         64px;
  padding:        0 22px !important;
  margin:         0 !important;
  border:         0 !important;
  border-top:     0 !important;
  border-right:   0 !important;
  border-bottom:  0 !important;
  border-left:    0 !important;
  outline:        none !important;
  box-shadow:     none !important;
  background:     transparent !important;
  background-image:none !important;
  color:          #2c2c2c;
  font-size:      16px;
  font-weight:    500;
  line-height:    1.2;
  appearance:     none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.aqpl-search-form input::placeholder { color:#7b7b7b; opacity:1; }
.aqpl-search-form input:focus,
.aqpl-search-form input[type="search"]:focus,
.aqpl-search-form input[type="text"]:focus,
.aqpl-search-form select:focus,
.aqpl-search-form textarea:focus,
.aqpl-search-form input:focus-visible,
.aqpl-search-form select:focus-visible {
  outline:        none !important;
  box-shadow:     none !important;
  border:         0 !important;
  border-color:   transparent !important;
  background:     transparent !important;
}
.aqpl-search-form input:-webkit-autofill,
.aqpl-search-form input:-webkit-autofill:hover,
.aqpl-search-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #2c2c2c;
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  transition: background-color 9999s ease-out 0s;
  border: 0 !important;
}
.aqpl-field-wrap--location { flex: 1.35; }
.aqpl-field-wrap--select { flex: .78; }
.aqpl-field-wrap--select select {
  padding-right:  48px !important;
  cursor:         pointer;
  background-image: linear-gradient(45deg, transparent 50%, #444 50%), linear-gradient(135deg, #444 50%, transparent 50%) !important;
  background-position: calc(100% - 28px) 29px, calc(100% - 22px) 29px !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
}
.aqpl-field-wrap--submit {
  flex:           0 0 160px;
}
.aqpl-btn-search {
  width:          100%;
  height:         64px;
  display:        inline-flex;
  align-items:    center;
  justify-content:center;
  gap:            10px;
  padding:        0 24px;
  background:     var(--aqpl-gold);
  color:          #fff;
  border:         0 !important;
  outline:        none !important;
  box-shadow:     none !important;
  border-radius:  999px;
  font-size:      15px;
  font-weight:    800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor:         pointer;
  white-space:    nowrap;
  transition:     transform .18s ease, background .18s ease, opacity .18s ease;
}
.aqpl-btn-search:hover,
.aqpl-btn-search:focus {
  background:     var(--aqpl-gold-dark);
  color:          #fff;
}
.aqpl-btn-search__icon {
  display:        inline-flex;
  align-items:    center;
  justify-content:center;
  width:          18px;
  height:         18px;
  line-height:    0;
  transform:      translateY(-1px);
}
.aqpl-btn-search__icon svg { width:18px; height:18px; display:block; }
.aqpl-btn-reset {
  padding:       9px 16px;
  background:    #f0f0f0;
  color:         #666;
  border:        none;
  border-radius: 8px;
  font-size:     13px;
  cursor:        pointer;
  transition:    background .2s;
  align-self:    flex-end;
}
.aqpl-btn-reset:hover { background:#e0e0e0; }
@media (max-width: 991px) {
  .aqpl-search-form {
    flex-wrap: wrap;
    border-radius: 24px;
    padding: 8px;
    gap: 8px;
    min-height: auto;
  }
  .aqpl-field-wrap,
  .aqpl-field-wrap--location,
  .aqpl-field-wrap--select,
  .aqpl-field-wrap--submit {
    flex: 1 1 calc(50% - 4px);
  }
  .aqpl-field-wrap + .aqpl-field-wrap::before { display:none; }
  .aqpl-search-form input,
  .aqpl-search-form input[type="search"],
  .aqpl-search-form input[type="text"],
  .aqpl-search-form select,
  .aqpl-btn-search {
    height: 56px;
    border-radius: 16px;
  }
}
@media (max-width: 640px) {
  .aqpl-field-wrap,
  .aqpl-field-wrap--location,
  .aqpl-field-wrap--select,
  .aqpl-field-wrap--submit {
    flex: 1 1 100%;
  }
  .aqpl-btn-search { width: 100%; }
}


/* Results bar */
.aqpl-results-bar {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  margin-bottom:   20px;
  font-size:       14px;
  color:           #777;
  flex-wrap:       wrap;
  gap:             10px;
}
.aqpl-sort {
  padding:       6px 12px;
  border:        1px solid #ddd;
  border-radius: 7px;
  font-size:     13px;
  background:    #fafafa;
  cursor:        pointer;
}

/* Loading spinner */
.aqpl-loading {
  grid-column: 1/-1;
  text-align:  center;
  padding:     52px;
  color:       #aaa;
}
.aqpl-loading::before {
  content:       '';
  display:       block;
  width:         38px;
  height:        38px;
  margin:        0 auto 14px;
  border:        3px solid #eee;
  border-top:    3px solid var(--aqpl-gold);
  border-radius: 50%;
  animation:     aqpl-spin .7s linear infinite;
}
@keyframes aqpl-spin { to { transform:rotate(360deg); } }

.aqpl-no-results {
  grid-column: 1/-1;
  text-align:  center;
  padding:     56px 20px;
  color:       #bbb;
  font-size:   16px;
}
.aqpl-no-results::before { content:'🏠'; display:block; font-size:40px; margin-bottom:12px; }

/* ─────────────────────────────────────────────────────────────────────────
   PAGINATION / LOAD MORE
   ──────────────────────────────────────────────────────────────────────── */
.aqpl-pagination { display:flex; gap:8px; flex-wrap:wrap; margin-top:32px; justify-content:center; }
.aqpl-pg-btn {
  padding:       7px 16px;
  border:        1px solid #ddd;
  border-radius: 7px;
  background:    #fff;
  font-size:     13px;
  cursor:        pointer;
  transition:    all .2s;
}
.aqpl-pg-btn:hover,.aqpl-pg-btn.active {
  background:   var(--aqpl-gold);
  border-color: var(--aqpl-gold);
  color:        #fff;
}
.aqpl-load-more { text-align:center; margin-top:32px; }
.aqpl-btn-more {
  padding:       12px 40px;
  background:    transparent;
  border:        2px solid var(--aqpl-gold);
  color:         var(--aqpl-gold);
  border-radius: 9px;
  font-size:     14px;
  font-weight:   700;
  cursor:        pointer;
  transition:    all .22s;
}
.aqpl-btn-more:hover { background:var(--aqpl-gold); color:#fff; }

/* ─────────────────────────────────────────────────────────────────────────
   SINGLE PROPERTY PAGE
   ──────────────────────────────────────────────────────────────────────── */
.aqpl-single {
  max-width:  1160px;
  margin:     0 auto;
  padding:    40px 20px 60px;
  font-family:var(--aqpl-font);
}
.aqpl-single__hero {
  width:         100%;
  border-radius: 18px;
  overflow:      hidden;
  margin-bottom: 36px;
  box-shadow:    0 4px 28px rgba(0,0,0,.12);
}
.aqpl-single__hero img { width:100%; height:480px; object-fit:cover; display:block; }
@media(max-width:768px){ .aqpl-single__hero img { height:260px; } }

.aqpl-single__layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 36px;
  align-items: start;
}
@media(max-width:900px){ .aqpl-single__layout{ grid-template-columns:1fr; } }

.aqpl-single__title {
  font-size:   32px;
  font-weight: 900;
  color:       var(--aqpl-title);
  margin:      0 0 10px;
  line-height: 1.2;
}
.aqpl-single__address {
  display:     flex;
  align-items: center;
  gap:         6px;
  color:       var(--aqpl-address);
  font-size:   15px;
  margin-bottom: 16px;
}
.aqpl-single__address svg { color:var(--aqpl-gold); flex-shrink:0; }
.aqpl-single__price {
  font-size:   30px;
  font-weight: 900;
  color:       var(--aqpl-gold);
  margin-bottom: 24px;
  letter-spacing: -.03em;
}
.aqpl-single__badge {
  display:    inline-block;
  background: var(--aqpl-badge-bg);
  color:      var(--aqpl-badge-txt);
  font-size:  12px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  padding:    5px 14px;
  border-radius:7px;
  margin-bottom:20px;
}
.aqpl-single__stats {
  display:       flex;
  flex-wrap:     wrap;
  gap:           20px;
  padding:       18px 0;
  border-top:    1px solid #eee;
  border-bottom: 1px solid #eee;
  margin-bottom: 28px;
}
.aqpl-single__stat {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-size:   15px;
  color:       #444;
  font-weight: 600;
}
.aqpl-single__stat svg { color:var(--aqpl-gold); width:20px; height:20px; }

.aqpl-single__desc-heading {
  font-size:   18px;
  font-weight: 700;
  margin:      0 0 12px;
  color:       var(--aqpl-title);
}
.aqpl-single__desc {
  font-size:   15px;
  line-height: 1.8;
  color:       #555;
}
.aqpl-gallery-heading { font-size:18px; font-weight:700; margin:32px 0 14px; color:var(--aqpl-title); }
.aqpl-gallery-grid {
  display:               grid;
  grid-template-columns: repeat(3,1fr);
  gap:                   10px;
}
.aqpl-gallery-grid a { display:block; border-radius:10px; overflow:hidden; }
.aqpl-gallery-grid img { width:100%; height:150px; object-fit:cover; display:block; transition:transform .35s ease; }
.aqpl-gallery-grid a:hover img { transform:scale(1.06); }
@media(max-width:600px){ .aqpl-gallery-grid{ grid-template-columns:repeat(2,1fr); } }

/* Sidebar card */
.aqpl-single__sidebar {}
.aqpl-sidebar-card {
  background:    var(--aqpl-white);
  border:        1px solid #e8e8e8;
  border-radius: 14px;
  padding:       24px;
  box-shadow:    0 2px 16px rgba(0,0,0,.07);
  position:      sticky;
  top:           90px;
}
.aqpl-sidebar-card h3 {
  font-size:     16px;
  font-weight:   800;
  margin:        0 0 18px;
  color:         var(--aqpl-title);
  padding-bottom:12px;
  border-bottom: 2px solid var(--aqpl-badge-bg);
}
.aqpl-detail-row {
  display:         flex;
  justify-content: space-between;
  align-items:     center;
  padding:         10px 0;
  border-bottom:   1px solid #f3f3f3;
  font-size:       14px;
}
.aqpl-detail-row:last-child { border-bottom:none; padding-bottom:0; }
.aqpl-detail-label { color:#999; font-weight:500; }
.aqpl-detail-value { font-weight:700; color:var(--aqpl-title); text-align:right; }
.aqpl-back-link {
  display:         inline-flex;
  align-items:     center;
  gap:             10px;
  justify-content: center;
  width:           100%;
  margin-top:      18px;
  color:           var(--aqpl-gold);
  font-size:       var(--aqpl-back-link-size, 16px);
  font-weight:     700;
  line-height:     1.3;
  text-decoration: none;
}
.aqpl-back-link__icon {
  font-size:       calc(var(--aqpl-back-link-size, 16px) + 4px);
  line-height:     1;
  flex-shrink:     0;
}
.aqpl-back-link__text {
  display:         inline-block;
}
.aqpl-back-link:hover { text-decoration:none; color:var(--aqpl-gold-dark); }

/* ─────────────────────────────────────────────────────────────────────────
   LANDING PAGE SECTIONS
   ──────────────────────────────────────────────────────────────────────── */

/* Hero section */
.aqpl-lp-hero {
  position:   relative;
  width:      100%;
  min-height: 520px;
  display:    flex;
  align-items: center;
  overflow:   hidden;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
}
.aqpl-lp-hero__bg {
  position:   absolute;
  inset:      0;
  object-fit: cover;
  width:      100%;
  height:     100%;
  opacity:    .35;
}
.aqpl-lp-hero__overlay {
  position:   absolute;
  inset:      0;
  background: linear-gradient(to right, rgba(0,0,0,.7) 0%, rgba(0,0,0,.2) 100%);
}
.aqpl-lp-hero__content {
  position:   relative;
  z-index:    2;
  max-width:  760px;
  padding:    60px 40px;
  color:      #fff;
}
.aqpl-lp-hero__eyebrow {
  font-size:      12px;
  font-weight:    700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color:          var(--aqpl-badge-bg);
  margin-bottom:  14px;
}
.aqpl-lp-hero__title {
  font-size:   46px;
  font-weight: 900;
  line-height: 1.1;
  margin:      0 0 18px;
}
.aqpl-lp-hero__sub {
  font-size:   18px;
  line-height: 1.6;
  opacity:     .85;
  margin:      0 0 30px;
}
.aqpl-lp-hero__cta {
  display:       inline-block;
  padding:       14px 34px;
  background:    var(--aqpl-gold);
  color:         #fff;
  border-radius: 10px;
  font-size:     15px;
  font-weight:   800;
  text-decoration: none;
  transition:    background .22s, transform .22s;
}
.aqpl-lp-hero__cta:hover { background:var(--aqpl-gold-dark); transform:translateY(-2px); color:#fff; }

/* Stats bar */
.aqpl-lp-stats {
  background: var(--aqpl-gold);
  padding:    24px 40px;
  display:    flex;
  justify-content: center;
  gap:        60px;
  flex-wrap:  wrap;
}
.aqpl-lp-stat { text-align:center; }
.aqpl-lp-stat__num  { font-size:28px; font-weight:900; color:#fff; display:block; }
.aqpl-lp-stat__label{ font-size:12px; font-weight:600; color:rgba(255,255,255,.8); text-transform:uppercase; letter-spacing:.06em; }

/* Listings section */
.aqpl-lp-listings { padding:60px 0; }
.aqpl-lp-listings__inner { max-width:1200px; margin:0 auto; padding:0 24px; }
.aqpl-lp-section-hd { text-align:center; margin-bottom:40px; }
.aqpl-lp-section-hd h2 { font-size:32px; font-weight:900; color:var(--aqpl-title); margin:0 0 10px; }
.aqpl-lp-section-hd p  { font-size:16px; color:#888; margin:0; }
.aqpl-lp-section-hd .aqpl-lp-divider {
  width:50px; height:4px; background:var(--aqpl-gold); border-radius:2px; margin:14px auto 0;
}

/* Amenities section */
.aqpl-lp-amenities { background:#f9f8f5; padding:60px 0; }
.aqpl-lp-amenities__inner { max-width:1200px; margin:0 auto; padding:0 24px; }
.aqpl-amenities-grid {
  display:               grid;
  grid-template-columns: repeat(4,1fr);
  gap:                   24px;
  margin-top:            36px;
}
@media(max-width:900px){ .aqpl-amenities-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .aqpl-amenities-grid{ grid-template-columns:1fr; } }
.aqpl-amenity-card {
  background:     #fff;
  border-radius:  12px;
  padding:        28px 20px;
  text-align:     center;
  border:         1px solid #ece9e0;
  transition:     transform .22s, box-shadow .22s;
}
.aqpl-amenity-card:hover { transform:translateY(-4px); box-shadow:0 8px 28px rgba(0,0,0,.09); }
.aqpl-amenity-icon { font-size:36px; margin-bottom:12px; display:block; }
.aqpl-amenity-title { font-size:15px; font-weight:700; color:var(--aqpl-title); margin:0; }

/* Contact section */
.aqpl-lp-contact { padding:60px 0; background:#fff; }
.aqpl-lp-contact__inner {
  max-width:    900px;
  margin:       0 auto;
  padding:      0 24px;
  text-align:   center;
}
.aqpl-lp-contact__box {
  background:    linear-gradient(135deg,#1a1a2e,#0f3460);
  border-radius: 20px;
  padding:       52px 48px;
  color:         #fff;
}
.aqpl-lp-contact__box h2 { font-size:30px; font-weight:900; margin:0 0 12px; }
.aqpl-lp-contact__box p  { font-size:16px; opacity:.8; margin:0 0 28px; }
.aqpl-lp-contact__cta {
  display:       inline-block;
  padding:       14px 38px;
  background:    var(--aqpl-gold);
  color:         #fff;
  border-radius: 10px;
  font-weight:   800;
  font-size:     15px;
  text-decoration:none;
  transition:    background .22s, transform .22s;
}
.aqpl-lp-contact__cta:hover { background:var(--aqpl-gold-dark); transform:translateY(-2px); color:#fff; }
.aqpl-lp-contact__phone {
  display:     block;
  margin-top:  18px;
  font-size:   18px;
  font-weight: 700;
  color:       var(--aqpl-badge-bg);
}

/* Elementor widget wrapper */
.aqpl-elementor-wrap { width:100%; }


.aqpl-units-frontend{margin:24px 0;overflow:auto}
.aqpl-units-frontend-table{width:100%;border-collapse:collapse;background:#fff}
.aqpl-units-frontend-table th,.aqpl-units-frontend-table td{padding:14px 16px;border-bottom:1px solid #e6e6e6;text-align:left;white-space:nowrap}
.aqpl-units-frontend-table th{font-weight:600;background:#fafafa}


/* Compact hero-style search */
.aqpl-search-box--hero {
  background: rgba(255,255,255,.96);
  border-radius: 999px;
  padding: 0;
  overflow: hidden;
  border: none;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.aqpl-search-form--compact {
  display: grid;
  grid-template-columns: 1.6fr .8fr .8fr auto;
  gap: 0;
  align-items: stretch;
}
.aqpl-search-form--compact .aqpl-field-wrap { min-width: 0; gap: 0; }
.aqpl-search-form--compact input,
.aqpl-search-form--compact select {
  height: 100%;
  min-height: 56px;
  border: 0;
  border-right: 1px solid #e9e9e9;
  border-radius: 0;
  background: transparent;
  padding: 0 20px;
  font-size: 16px;
  box-shadow: none;
}
.aqpl-search-form--compact .aqpl-field-wrap--location input { padding-left: 22px; }
.aqpl-search-form--compact .aqpl-field-wrap--submit { display:flex; }
.aqpl-search-form--compact .aqpl-btn-search {
  min-width: 190px;
  min-height: 56px;
  border-radius: 0 999px 999px 0;
  padding: 0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.aqpl-btn-search__icon { font-size: 17px; line-height: 1; }
@media (max-width: 900px) {
  .aqpl-search-box--hero { border-radius: 22px; }
  .aqpl-search-form--compact { grid-template-columns: 1fr; }
  .aqpl-search-form--compact input,
  .aqpl-search-form--compact select {
    border-right: 0;
    border-bottom: 1px solid #e9e9e9;
  }
  .aqpl-search-form--compact .aqpl-btn-search {
    width: 100%;
    border-radius: 0 0 22px 22px;
  }
}


/* Live homepage search results */
.aqpl-wrap--live .aqpl-live-results{
    margin-top:24px;
}
.aqpl-results-bar--live{
    margin-bottom:16px;
}
.aqpl-wrap--live .aqpl-results-grid{
    min-height:80px;
}
.aqpl-wrap--live .aqpl-search-form--compact{
    margin-bottom:0;
}
@media (max-width: 767px){
    .aqpl-wrap--live .aqpl-live-results{
        margin-top:18px;
    }
}


/* Live search dropdown */
.aqpl-wrap--live-dropdown{position:relative;z-index:40}
.aqpl-wrap--live-dropdown .aqpl-search-box{position:relative;z-index:2}
.aqpl-wrap--live-dropdown .aqpl-search-form input[type="text"],
.aqpl-wrap--live-dropdown .aqpl-search-form input[type="search"],
.aqpl-wrap--live-dropdown .aqpl-search-form select{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
}
.aqpl-wrap--live-dropdown .aqpl-search-form input[type="text"]:focus,
.aqpl-wrap--live-dropdown .aqpl-search-form input[type="search"]:focus,
.aqpl-wrap--live-dropdown .aqpl-search-form select:focus{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
}
.aqpl-live-results{
  position:absolute;
  top:calc(100% + 12px);
  left:0;
  right:0;
  z-index:9999;
  display:none;
  background:#fff;
  border:1px solid rgba(17,17,17,.06);
  border-radius:22px;
  box-shadow:0 20px 50px rgba(0,0,0,.15);
  overflow:hidden;
}
.aqpl-wrap--live-dropdown.aqpl-live-open .aqpl-live-results{display:block}
.aqpl-results-bar--live{padding:14px 18px;border-bottom:1px solid rgba(17,17,17,.06);background:#fff}
.aqpl-live-results-list{display:block;padding:8px;max-height:420px;overflow:auto}
.aqpl-live-item{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px;
  border-radius:16px;
  transition:background .2s ease, transform .2s ease;
}
.aqpl-live-item:hover{background:#f8f8f8;transform:translateY(-1px)}
.aqpl-live-item__media{width:84px;height:64px;flex:0 0 84px;border-radius:12px;overflow:hidden;background:#f1f1f1}
.aqpl-live-item__media img{width:100%;height:100%;object-fit:cover;display:block}
.aqpl-live-item__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f3f3f3,#e6e6e6)}
.aqpl-live-item__body{min-width:0;flex:1}
.aqpl-live-item__top{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}
.aqpl-live-item__title{margin:0;font-size:16px;line-height:1.25;color:#111;font-weight:700}
.aqpl-live-item__tag{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgba(176,141,47,.12);color:var(--aqpl-gold-dark);font-size:12px;font-weight:700;white-space:nowrap}
.aqpl-live-item__address{margin:6px 0 0;color:#6f6f6f;font-size:13px;line-height:1.4}
.aqpl-live-item__meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:13px}
.aqpl-live-item__price{color:var(--aqpl-gold-dark);font-weight:800}
.aqpl-live-item__area{color:#444;font-weight:600}
@media(max-width:767px){
  .aqpl-live-results{top:calc(100% + 10px)}
  .aqpl-live-item{padding:10px;gap:10px}
  .aqpl-live-item__media{width:72px;height:56px;flex-basis:72px}
  .aqpl-live-item__title{font-size:15px}
}


/* v2.6 dynamic society filter */
.aqpl-search-form--compact{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr auto;align-items:stretch;overflow:hidden;}
.aqpl-search-form--compact .aqpl-field-wrap{min-width:0;}
.aqpl-search-form--compact .aqpl-field-wrap--submit{display:flex;align-items:stretch;}
.aqpl-card__society,.aqpl-live-item__society{font-weight:700;color:var(--aqpl-gold-dark);margin:0 0 6px;}
@media (max-width: 1100px){.aqpl-search-form--compact{grid-template-columns:1fr 1fr;}.aqpl-search-form--compact .aqpl-field-wrap--submit{grid-column:1/-1;}}
@media (max-width: 767px){.aqpl-search-form--compact{grid-template-columns:1fr;}}


.aqpl-btn-filters {
  width: 100%;
  height: 64px;
  border: 0 !important;
  background: #f4f4f4;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.aqpl-advanced-filters {
  width: 100%;
  flex: 0 0 100%;
  padding: 14px;
  border-top: 1px solid rgba(17,24,39,.08);
  background: rgba(255,255,255,.96);
}
.aqpl-advanced-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
}
.aqpl-wrap--live {
  position: relative;
}
.aqpl-live-results {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 9999;
  display: none;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
  border: 1px solid rgba(17,24,39,.08);
  overflow: hidden;
}
.aqpl-live-results.is-open { display:block; }
.aqpl-results-bar--live { padding: 14px 18px 0; margin-bottom: 0; }
.aqpl-live-results-list { display:flex; flex-direction:column; max-height:420px; overflow:auto; padding: 10px; }
.aqpl-live-results-list .aqpl-no-results { padding: 24px 16px; }
@media(max-width:991px){
  .aqpl-advanced-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px){
  .aqpl-advanced-grid { grid-template-columns: 1fr; }
}


/* Search form refinements */
.aqpl-search-form .aqpl-field-wrap--location input,
.aqpl-search-form .aqpl-field-wrap--location input:hover,
.aqpl-search-form .aqpl-field-wrap--location input:focus,
.aqpl-search-form .aqpl-field-wrap--location input:active {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}
.aqpl-btn-search__icon {
  transform: none;
  margin-right: 2px;
}
.aqpl-btn-search span:last-child {
  display: inline-flex;
  align-items: center;
}


/* Elegant heading refinements */
.aqpl-page-title,
.aqpl-single__title,
.aqpl-lp-hero__title {
  letter-spacing: -0.03em;
}
.aqpl-page-title { font-size: clamp(24px, 3vw, 34px); }
.aqpl-single__title {
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 12px;
  color: #111827;
}
.aqpl-lp-hero__title {
  display: block;
  font-size: clamp(34px, 6vw, 64px);
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 14px;
}
.aqpl-back-link {
  text-decoration: none !important;
  font-size: clamp(16px, 2vw, 22px) !important;
  font-weight: 700;
  gap: 10px;
}
.aqpl-back-link__text {
  text-decoration: none !important;
  line-height: 1.2;
}
.aqpl-back-link__icon {
  font-size: 1.1em !important;
}

/* Modern search styling */
.aqpl-search-form {
  min-height: 74px;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}
.aqpl-search-form input,
.aqpl-search-form select {
  font-size: 15px !important;
  color: #111827 !important;
}
.aqpl-search-form input::placeholder { color: #6b7280; }
.aqpl-btn-search {
  min-width: 154px;
  justify-content: center;
}
.aqpl-btn-search__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(1px);
}
.aqpl-search-form--society-only .aqpl-field-wrap--society {
  flex: 1 1 auto;
}
.aqpl-search-form--society-only .aqpl-field-wrap--submit {
  flex: 0 0 180px;
}
.aqpl-wrap--society-only .aqpl-live-results {
  top: calc(100% + 10px);
}
@media (max-width: 991px) {
  .aqpl-search-form {
    flex-wrap: wrap;
    border-radius: 20px;
  }
  .aqpl-field-wrap,
  .aqpl-search-form--society-only .aqpl-field-wrap--submit {
    flex: 1 1 50%;
  }
  .aqpl-field-wrap + .aqpl-field-wrap::before {
    display: none;
  }
}
@media (max-width: 640px) {
  .aqpl-field-wrap,
  .aqpl-search-form--society-only .aqpl-field-wrap--submit {
    flex: 1 1 100%;
  }
  .aqpl-search-form input,
  .aqpl-search-form select,
  .aqpl-btn-search {
    height: 60px;
  }
}
