/* BSK Property Listings 1.2.0: Zameen-style directory and listing pages.
   Every rule is scoped to .bskpl so the theme and BSK New Projects are not styled. */

.bskpl {
  --g: #2c8a31;
  --g-brand: #33a137;
  --g-soft: #eef8ee;
  --ink: #222222;
  --muted: #5f6b7a;
  --line: #e3e7ec;
  --bg: #f4f6f8;
  --card: #ffffff;
  --super: #d7262e;
  --hot: #f26b1d;
  --feat: #2563eb;
  --wa: #1a8f4c;
  --radius: 5px;
  --radius-lg: 8px;
  font-family: Lato, "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--bg);
  box-sizing: border-box;
}
.bskpl *, .bskpl *::before, .bskpl *::after { box-sizing: border-box; }
.bskpl h1, .bskpl h2, .bskpl h3, .bskpl p { margin: 0; }
.bskpl a { color: var(--g); }
.bskpl img { max-width: 100%; height: auto; }
.bskpl :focus-visible { outline: 2px solid var(--g-brand); outline-offset: 2px; }
.bskpl-wrap { max-width: 1200px; margin: 0 auto; padding: 16px; }
/* Pages stay in the theme's content column (at most 1200px, centred by .bskpl-wrap above). Do not add a
   left offset or negative margins here: a live theme's column is not always centred, and the page moves to one side. */
.bskpl-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.bskpl-i { width: 18px; height: 18px; flex: 0 0 auto; display: inline-block; vertical-align: -0.2em; }
.bskpl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Buttons */
.bskpl-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 42px; padding: 0 16px; border-radius: var(--radius);
  border: 1px solid var(--g); background: var(--g); color: #fff;
  font: inherit; font-weight: 700; font-size: 14px; line-height: 1; text-decoration: none; cursor: pointer;
}
.bskpl-btn:hover { background: #257a2a; border-color: #257a2a; color: #fff; }
.bskpl-btn .bskpl-i { width: 18px; height: 18px; }
.bskpl-btn.bskpl-wa { background: var(--wa); border-color: var(--wa); }
.bskpl-btn.bskpl-wa:hover { background: #157a3f; border-color: #157a3f; }
.bskpl-btn.bskpl-call { background: #fff; color: var(--g); border-color: var(--g); }
.bskpl-btn.bskpl-call:hover { background: var(--g-soft); color: var(--g); }
.bskpl-btn-ghost { background: #fff; color: var(--g); border-color: var(--g); }
.bskpl-btn-ghost:hover { background: var(--g-soft); color: var(--g); }
.bskpl-btn-go { width: 100%; }
.bskpl-btn-sm { min-height: 34px; padding: 0 12px; font: inherit; font-size: 13px; font-weight: 700; border-radius: var(--radius); border: 1px solid var(--g); background: var(--g); color: #fff; cursor: pointer; }
.bskpl.is-js .bskpl-sort-go { display: none; }
.bskpl-full { width: 100%; }
.bskpl-textlink { color: var(--g); font-weight: 700; text-decoration: underline; font-size: 14px; }
.bskpl-textlink.danger { color: #b42318; }

/* Search bar */
.bskpl-searchbar { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 14px; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.bskpl-tabs-purpose { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.bskpl-tab { position: relative; cursor: pointer; }
.bskpl-tab input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.bskpl-tab span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px; border-radius: var(--radius); border: 1px solid var(--line); color: var(--ink); font-weight: 700; background: #fff; }
.bskpl-tab.on span { background: var(--g); border-color: var(--g); color: #fff; }
.bskpl-tab input:focus-visible + span { outline: 2px solid var(--g-brand); outline-offset: 2px; }
.bskpl-fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; align-items: end; }
.bskpl-f { display: grid; gap: 4px; min-width: 0; }
.bskpl-f-label { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; }
.bskpl-f-city, .bskpl-f-loc, .bskpl-f-type { grid-column: span 2; }
.bskpl-f-area, .bskpl-f-price { grid-column: span 3; }
.bskpl-f-beds, .bskpl-f-baths { grid-column: span 1; }
.bskpl-f-kw { grid-column: span 4; }
.bskpl-more { grid-column: span 2; position: relative; align-self: end; }
.bskpl-go { grid-column: span 2; display: grid; gap: 6px; }
.bskpl-f select, .bskpl-f input[type="number"], .bskpl-f input[type="search"] {
  font: inherit; width: 100%; min-height: 42px; padding: 0 10px; border: 1px solid #cdd3dc; border-radius: var(--radius); background: #fff; color: var(--ink);
}
.bskpl-f select:focus, .bskpl-f input:focus { border-color: var(--g-brand); outline: 2px solid var(--g-brand); outline-offset: 0; }
.bskpl-range { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.bskpl-f-area .bskpl-range { grid-template-columns: 1fr 1fr 1.15fr; }
.bskpl-more summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; min-height: 42px; padding: 0 10px; color: var(--g); font-weight: 700; border: 1px dashed #b8c4b8; border-radius: var(--radius); }
.bskpl-more summary::-webkit-details-marker { display: none; }
.bskpl-more[open] summary { background: var(--g-soft); }
.bskpl-more-field { display: grid; gap: 5px; font-size: 13px; font-weight: 700; min-width: 0; }
.bskpl-checks .bskpl-more-field { display: grid; gap: 5px; font-size: 13px; }
.bskpl-more-field select { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #cdd3dc; border-radius: var(--radius); background: #fff; color: var(--ink); font: inherit; font-weight: 400; }
.bskpl-more .bskpl-checks { position: absolute; z-index: 20; top: 100%; left: 0; right: 0; margin-top: 6px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 12px; box-shadow: 0 8px 24px rgba(16, 24, 40, .12); display: grid; gap: 8px; }
.bskpl-checks label { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.bskpl-checks input { width: 18px; height: 18px; accent-color: var(--g); }
.bskpl-go .bskpl-textlink { justify-self: center; font-size: 13px; }
.bskpl-mobile-row { display: none; }
.bskpl-mobile-toggle { display: none; }

/* Results header, sort, chips */
.bskpl-results { margin-top: 18px; }
.bskpl-results-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 20px; flex-wrap: wrap; }
.bskpl-results-title h1 { font-size: 24px; line-height: 1.25; font-weight: 900; }
.bskpl-summary { color: var(--muted); font-size: 14px; margin-top: 2px; }
.bskpl-sort { display: flex; align-items: center; gap: 8px; }
.bskpl-sort label { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.bskpl-sort select { min-height: 38px; padding: 0 10px; border: 1px solid #cdd3dc; border-radius: var(--radius); background: #fff; font: inherit; }
.bskpl-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 12px 0 0; }
.bskpl-chips li { display: inline-flex; align-items: center; gap: 4px; background: var(--g-soft); border: 1px solid #cfe7d0; color: #1f5f22; border-radius: 999px; padding: 4px 4px 4px 12px; font-size: 13px; font-weight: 700; }
.bskpl-chips a { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #1f5f22; }
.bskpl-chips a:hover { background: #d7ecd8; }
.bskpl-chips .bskpl-i { width: 14px; height: 14px; }

/* Listing cards */
.bskpl-list { display: grid; gap: 14px; margin-top: 16px; }
.bskpl-card { position: relative; display: grid; grid-template-columns: 300px minmax(0, 1fr); background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.bskpl-card:hover { border-color: #c9d2dc; box-shadow: 0 4px 16px rgba(16, 24, 40, .08); }
.bskpl-card-media { position: relative; aspect-ratio: 4 / 3; background: #e9edf1; }
.bskpl-card-link { position: absolute; inset: 0; display: block; }
.bskpl-card-link img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bskpl-badge { position: absolute; top: 10px; left: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 4px; color: #fff; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; padding: 4px 8px; border-radius: 4px; }
.bskpl-badge .bskpl-i { width: 14px; height: 14px; }
.bskpl-badge.super { background: var(--super); }
.bskpl-badge.hot { background: var(--hot); }
.bskpl-badge.feat { background: var(--feat); }
.bskpl-photos { position: absolute; left: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; background: rgba(0, 0, 0, .72); color: #fff; font-size: 13px; font-weight: 700; padding: 3px 8px; border-radius: 4px; }
.bskpl-photos .bskpl-i { width: 15px; height: 15px; }
.bskpl-save { position: absolute; top: 8px; right: 8px; z-index: 3; width: 38px; height: 38px; border-radius: 50%; border: 0; background: #fff; color: #3d4652; display: grid; place-items: center; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .22); }
.bskpl-save .bskpl-i { width: 20px; height: 20px; }
.bskpl-save[aria-pressed="true"] { color: #e11d48; }
.bskpl-nophoto { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #7b8593; font-size: 13px; background: linear-gradient(135deg, #eef2f5, #dce3ea); }
.bskpl-nophoto .bskpl-i { width: 30px; height: 30px; }
.bskpl-card-body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; min-width: 0; }
.bskpl-card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.bskpl-card-price { font-size: 23px; font-weight: 900; color: #111; line-height: 1.15; }
.bskpl-cur { font-size: 14px; font-weight: 700; color: var(--muted); margin-right: 2px; }
.bskpl-purpose { font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .04em; color: #fff; background: var(--g); padding: 4px 8px; border-radius: 4px; white-space: nowrap; }
.bskpl-purpose-rent { background: var(--feat); }
.bskpl-card-title { font-size: 17px; line-height: 1.3; font-weight: 700; }
.bskpl-card-title a { color: var(--ink); text-decoration: none; }
.bskpl-card-title a:hover { text-decoration: underline; }
.bskpl-card-loc { display: flex; align-items: flex-start; gap: 6px; color: var(--muted); font-size: 14px; }
.bskpl-card-loc .bskpl-i { width: 16px; height: 16px; margin-top: 2px; }
.bskpl-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; padding: 0; margin: 4px 0 0; }
.bskpl-facts li { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #3a4350; }
.bskpl-facts b { font-size: 16px; font-weight: 900; color: var(--ink); }
.bskpl-facts .bskpl-i { width: 18px; height: 18px; color: var(--g); }
.bskpl-tags { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 0; }
.bskpl-tags li { display: inline-flex; align-items: center; gap: 5px; background: #f1f4f7; color: #3a4350; font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 4px; }
.bskpl-tags .bskpl-i { width: 14px; height: 14px; }
.bskpl-card-desc { color: #4b5563; font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bskpl-card-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 6px 12px; margin-top: auto; color: #4b5563; font-size: 13px; }
.bskpl-agency, .bskpl-added { display: inline-flex; align-items: center; gap: 6px; }
.bskpl-agency .bskpl-i, .bskpl-added .bskpl-i { width: 15px; height: 15px; }
.bskpl-card-actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; padding-top: 8px; border-top: 1px solid #eef1f4; }
.bskpl-card-actions .bskpl-btn { min-height: 38px; padding: 0 14px; font-size: 14px; }

/* Pager, popular locations, empty state, alerts */
.bskpl-pager { display: flex; justify-content: center; align-items: center; gap: 6px; flex-wrap: wrap; margin: 24px 0 8px; }
.bskpl-pager a, .bskpl-pager span { min-width: 40px; height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); font-weight: 700; text-decoration: none; }
.bskpl-pager .on { background: var(--g); border-color: var(--g); color: #fff; }
.bskpl-pager .is-off { opacity: .45; }
.bskpl-pager .bskpl-gap { border: 0; background: transparent; min-width: 20px; padding: 0; }
.bskpl-pager .bskpl-i { width: 16px; height: 16px; }
.bskpl-popular { margin: 30px 0 10px; }
.bskpl-popular h2 { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 900; margin-bottom: 10px; }
.bskpl-popular ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
.bskpl-popular a { display: inline-block; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 13px; color: #333; font-size: 14px; text-decoration: none; }
.bskpl-popular a:hover { border-color: var(--g-brand); color: var(--g); }
.bskpl-empty { background: #fff; border: 1px dashed #c3ccd6; border-radius: var(--radius-lg); padding: 28px; text-align: center; display: grid; justify-items: center; gap: 8px; margin-top: 16px; }
.bskpl-empty > .bskpl-i { width: 38px; height: 38px; color: #94a3b8; }
.bskpl-empty p { color: var(--muted); }
.bskpl-alert { background: #ecfdf3; border: 1px solid #b7e4c7; color: #14532d; padding: 10px 14px; border-radius: var(--radius); margin: 12px 0; font-weight: 700; }

/* Shared form controls (listing form, enquiry form, auth) */
.bskpl-form label { display: grid; gap: 6px; font-weight: 700; font-size: 14px; margin-bottom: 12px; }
.bskpl-form input:not([type="checkbox"]):not([type="file"]):not([type="hidden"]), .bskpl-form select, .bskpl-form textarea,
.bskpl-enquiry input:not([type="hidden"]), .bskpl-enquiry select, .bskpl-enquiry textarea {
  font: inherit; font-weight: 400; width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #cdd3dc; border-radius: var(--radius); background: #fff; color: var(--ink);
}
.bskpl-form textarea, .bskpl-enquiry textarea { min-height: 84px; resize: vertical; }
.bskpl-form input:focus, .bskpl-form select:focus, .bskpl-form textarea:focus,
.bskpl-enquiry input:focus, .bskpl-enquiry textarea:focus { border-color: var(--g-brand); outline: 2px solid var(--g-brand); outline-offset: 0; }
.bskpl-fine { font-size: 13px; color: var(--muted); font-weight: 400; }

/* Listing detail */
.bskpl-single { padding-bottom: 16px; }
.bskpl-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; padding: 0; margin: 14px 0 10px; font-size: 13px; color: var(--muted); }
.bskpl-crumbs li + li::before { content: "/"; margin-right: 6px; color: #a3acb8; }
.bskpl-crumbs a { color: var(--muted); text-decoration: none; }
.bskpl-crumbs a:hover { color: var(--g); text-decoration: underline; }
.bskpl-single-head h1 { font-size: 27px; line-height: 1.25; font-weight: 900; margin: 8px 0 6px; }
.bskpl-badges { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.bskpl-badges .bskpl-badge, .bskpl-badges .bskpl-purpose { position: static; }
.bskpl-badges .bskpl-type { font-size: 12px; font-weight: 700; background: #e9eef3; padding: 4px 8px; border-radius: 4px; }
.bskpl-single-loc { display: flex; align-items: center; gap: 6px; color: var(--muted); }
.bskpl-single-loc .bskpl-i { width: 16px; height: 16px; }
.bskpl-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--muted); font-size: 13px; margin-top: 6px; }
.bskpl-meta span { display: inline-flex; align-items: center; gap: 5px; }
.bskpl-meta .bskpl-i { width: 15px; height: 15px; }
.bskpl-single-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 22px; align-items: start; margin-top: 14px; }
.bskpl-single-side { position: sticky; top: 16px; }
.bskpl-single-main { min-width: 0; }
.bskpl-gallery { margin: 0; }
.bskpl-gallery-stage { position: relative; aspect-ratio: 16 / 10; background: #111; border-radius: var(--radius-lg); overflow: hidden; }
.bskpl-gallery-stage .bskpl-nophoto { position: absolute; }
.bskpl-gallery-main { width: 100%; height: 100%; object-fit: contain; display: block; }
.bskpl-gal-prev, .bskpl-gal-next { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); color: #222; display: grid; place-items: center; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.bskpl-gal-prev { left: 12px; }
.bskpl-gal-next { right: 12px; }
.bskpl-gal-count { position: absolute; right: 12px; bottom: 12px; background: rgba(0, 0, 0, .7); color: #fff; font-weight: 700; font-size: 13px; padding: 4px 9px; border-radius: 4px; }
.bskpl-thumbs { display: flex; gap: 6px; overflow-x: auto; padding: 8px 2px 4px; }
.bskpl-thumbs button { flex: 0 0 auto; width: 96px; height: 66px; padding: 0; border: 2px solid transparent; border-radius: 4px; overflow: hidden; background: #ddd; cursor: pointer; }
.bskpl-thumbs button.on { border-color: var(--g-brand); }
.bskpl-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bskpl-pricebar { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 16px 18px; margin-top: 14px; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.bskpl-price-big { font-size: 30px; font-weight: 900; line-height: 1.1; }
.bskpl-price-big .bskpl-cur { font-size: 17px; }
.bskpl-keyfacts { display: flex; gap: 18px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap; }
.bskpl-keyfacts li { display: flex; align-items: center; gap: 7px; }
.bskpl-keyfacts .bskpl-i { width: 22px; height: 22px; color: var(--g); }
.bskpl-keyfacts b { font-size: 18px; font-weight: 900; }
.bskpl-keyfacts span { color: var(--muted); font-size: 14px; }
.bskpl-block { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px; margin-top: 14px; }
.bskpl-block h2 { font-size: 19px; font-weight: 900; margin-bottom: 12px; }
.bskpl-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; margin: 0; }
.bskpl-overview > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed #dfe4ea; }
.bskpl-overview dt { color: var(--muted); font-size: 14px; }
.bskpl-overview dd { margin: 0; font-weight: 700; text-align: right; }
.bskpl-checklist { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 16px; }
.bskpl-checklist li { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.bskpl-checklist .bskpl-i { width: 20px; height: 20px; color: var(--g); }
.bskpl-prose { line-height: 1.75; color: #2d3643; }
.bskpl-prose p { margin: 0 0 12px; }
.bskpl-addr { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 12px; }
.bskpl-addr .bskpl-i { width: 18px; height: 18px; color: var(--g); margin-top: 2px; }
.bskpl-similar { display: grid; gap: 12px; }
.bskpl-similar .bskpl-card { grid-template-columns: 210px minmax(0, 1fr); }
.bskpl-similar .bskpl-card-desc { display: none; }
.bskpl-agent { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.bskpl-agent-kicker { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.bskpl-agent-name { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 900; margin: 4px 0; }
.bskpl-agent-name .bskpl-i { width: 22px; height: 22px; color: var(--g); }
.bskpl-agent-ref { font-size: 13px; color: var(--muted); }
.bskpl-agent-actions { display: grid; gap: 8px; margin: 14px 0 16px; }
.bskpl-agent-actions .bskpl-btn { width: 100%; }
.bskpl-agent-more { margin: 4px 0 0; font-size: 14px; font-weight: 700; }
.bskpl-agent-person { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); }
.bskpl-agent-person small { color: var(--muted); font-size: 13px; }
.bskpl-agent-person .bskpl-thumb { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; border: 1px solid var(--line); background: #fff; }
.bskpl-agent-person .bskpl-thumb-empty { display: grid; place-items: center; background: var(--g-soft); color: var(--g); }
.bskpl-agent-person .bskpl-thumb-empty .bskpl-i { width: 22px; height: 22px; }
.bskpl-enquiry { border-top: 1px solid #eef1f4; padding-top: 14px; display: grid; gap: 4px; }
.bskpl-enquiry label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.bskpl-enquiry label i { font-style: normal; font-weight: 400; color: var(--muted); }
.bskpl-enq-title { font-weight: 900; font-size: 16px; margin-bottom: 4px; }
/* Optional site visit (date and time slot) inside the enquiry forms */
.bskpl-visit { border: 0; padding: 0; margin: 0 0 8px; min-width: 0; }
.bskpl-visit legend { font-size: 13px; font-weight: 700; padding: 0; margin-bottom: 4px; }
.bskpl-visit legend i { font-style: normal; font-weight: 400; color: var(--muted); }
.bskpl-visit-row { display: grid; min-width: 0; }
/* Email alert box under the search results */
.bskpl-alert-box { margin-top: 18px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #f9fdf9; display: grid; gap: 8px; }
.bskpl-alert-box h2 { font-size: 18px; font-weight: 900; line-height: 1.25; }
.bskpl-alert-box > p { color: var(--muted); font-size: 14px; }
.bskpl-alert-form { display: grid; gap: 8px; }
.bskpl-alert-form label { display: grid; gap: 4px; font-size: 13px; font-weight: 700; }
.bskpl-alert-form input[type="email"] { font: inherit; font-size: 15px; width: 100%; min-height: 42px; padding: 9px 12px; border: 1px solid #cdd3dc; border-radius: var(--radius); background: #fff; color: var(--ink); }
.bskpl-alert-form .bskpl-btn { justify-self: start; }
.bskpl-agent .bskpl-fine { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.bskpl-agent .bskpl-fine .bskpl-i { width: 14px; height: 14px; }
.bskpl-mobilebar { display: none; }

/* Tablet and phone */
@media (max-width: 1020px) {
  .bskpl-fields { display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }
  .bskpl-searchbar.open .bskpl-fields { display: grid; }
  .bskpl-f-city, .bskpl-f-loc, .bskpl-f-type, .bskpl-f-beds, .bskpl-f-baths { grid-column: span 1; }
  .bskpl-f-kw, .bskpl-f-area, .bskpl-f-price, .bskpl-more, .bskpl-go { grid-column: span 2; }
  .bskpl-go .bskpl-btn-go { display: none; }
  .bskpl-mobile-row { display: grid; grid-template-columns: 1fr 1.3fr; gap: 8px; margin-top: 10px; }
  .bskpl-mobile-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; border: 1px solid #cdd3dc; border-radius: var(--radius); background: #fff; color: var(--ink); font: inherit; font-weight: 700; cursor: pointer; }
  .bskpl-mobile-row .bskpl-btn { width: 100%; }
  .bskpl-single-grid { grid-template-columns: minmax(0, 1fr); }
  .bskpl-single-side { position: static; }
  .bskpl-single { padding-bottom: 84px; }
  .bskpl-mobilebar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 12px; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -4px 14px rgba(16, 24, 40, .1); }
  .bskpl-mobilebar a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; border-radius: var(--radius); text-decoration: none; font-weight: 700; font-size: 14px; color: #fff; background: var(--g); }
  .bskpl-mobilebar a.bskpl-wa { background: var(--wa); }
  .bskpl-mobilebar a.bskpl-call, .bskpl-mobilebar a.bskpl-enq { background: #fff; color: var(--g); border: 1px solid var(--g); }
  .bskpl-mobilebar .bskpl-i { width: 18px; height: 18px; }
  .bskpl-similar .bskpl-card { grid-template-columns: 1fr; }
}
@media (min-width: 1021px) {
  .bskpl-fields { display: grid; }
}
@media (max-width: 720px) {
  .bskpl-wrap { padding: 16px; }
  .bskpl-card { grid-template-columns: 1fr; }
  .bskpl-card-media { aspect-ratio: 16 / 10; }
  .bskpl-card-price { font-size: 21px; }
  .bskpl-results-title h1 { font-size: 20px; }
  .bskpl-single-head h1 { font-size: 22px; }
  .bskpl-price-big { font-size: 25px; }
  .bskpl-overview { grid-template-columns: 1fr; }
  .bskpl-card-actions .bskpl-btn { flex: 1 1 140px; }
  .bskpl-sort, .bskpl-sort label { width: 100%; }
  .bskpl-sort select { flex: 1; }
  .bskpl-fields, .bskpl-searchbar.open .bskpl-fields { grid-template-columns: 1fr; }
  .bskpl-f-city, .bskpl-f-loc, .bskpl-f-type, .bskpl-f-area, .bskpl-f-price, .bskpl-f-beds, .bskpl-f-baths, .bskpl-f-kw, .bskpl-more, .bskpl-go { grid-column: span 1; }
  .bskpl-mobile-row { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .bskpl * { transition: none !important; animation: none !important; }
}

/* Our pages print their own H1, so the theme's page title is hidden there (one H1 per page). */
.bskpl-page .wp-block-post-title,
.bskpl-page .entry-title,
.bskpl-page .page-title { display: none; }
.bskpl-empty-title { font-size: 22px; line-height: 1.3; margin: 0 0 8px; font-weight: 700; }

/* 1.1.1: button text colour. ".bskpl a" made link text green, so green buttons hid their text until hover. */
.bskpl a.bskpl-btn:not(.bskpl-call):not(.bskpl-btn-ghost):not(.bskpl-enq) { color: #fff; }
