/* AZ-LAND-BUILD: 2026-09-03a */
/* =====================================================================
   LISTING SURFACES — unit toggle, water/access/record block, facets
   Its own file on purpose. /listings.php is generated from the static
   Rajasthan page and carries its own inline stylesheet — it does NOT load
   az-market.css — so rules for the unit toggle parked there applied on the
   detail page and silently did nothing on the listings page. One small
   file, loaded by both, is the fix.

   Versioned from its own filemtime by az_land_v(); editing this file is
   the cache bust.
   ================================================================== */

/* ---- unit note, behind an (i) --------------------------------------
   The caveat — "Bigha here means the Rajasthan pucca bigha…" — used to be a
   dashed box spanning the page. It is now folded behind the (i) beside the
   Area in control it qualifies, and opens under the filter row. */
.azl-lrow{display:flex;align-items:center;gap:6px;min-height:22px}
.azl-lrow label{margin:0}
.azu-i{flex:none;width:20px;height:20px;border-radius:50%;padding:0;
  border:1.5px solid rgba(200,169,81,.85);background:#FBF7EC;color:#6F5518;
  font:inherit;font-size:12px;font-weight:800;line-height:1;cursor:pointer;
  display:inline-grid;place-items:center;position:relative}
/* The visible circle is small; the TAP TARGET is not. A 20px dot is fine
   under a fingertip only because this pseudo-element pads it out to 44px,
   which is the size a thumb actually needs. */
.azu-i::after{content:"";position:absolute;top:50%;left:50%;
  width:44px;height:44px;transform:translate(-50%,-50%)}
.azu-i:hover{background:#1A3C2A;color:#F5F0E6;border-color:#1A3C2A}
.azu-i[aria-expanded="true"]{background:#1A3C2A;color:#F5F0E6;border-color:#1A3C2A}
.azu-i:focus-visible{outline:2px solid #6F5518;outline-offset:2px}
.azu-note{font-size:12.5px;line-height:1.75;color:#6F5518;background:#FBF7EC;
  border:1px dashed rgba(200,169,81,.7);border-radius:10px;padding:9px 12px;
  margin:-4px 0 14px}
.azu-note[hidden]{display:none}
.azu-note:empty{display:none}
.azu-second{display:block;font-size:12px;font-weight:600;opacity:.8;margin-top:2px}

/* ---- water / access / record ------------------------------------- */
.azw{margin:18px 0}
.azw h2{font-family:'Playfair Display',Georgia,serif;font-size:19px;
  color:#0F2419;margin:0 0 4px}
.azw-lede{font-size:13px;color:#6B4F3A;margin:0 0 12px}
.azw-row{display:grid;grid-template-columns:minmax(96px,26%) 1fr;gap:6px 14px;
  align-items:start;padding:12px 0;border-top:1px solid rgba(200,169,81,.35)}
.azw-row:last-child{border-bottom:1px solid rgba(200,169,81,.35)}
.azw-k{font-weight:800;font-size:14px;color:#1A3C2A;line-height:1.65}
.azw-v{min-width:0}
.azw-pill{display:inline-block;font-size:12.5px;font-weight:800;line-height:1.6;
  border-radius:999px;padding:4px 12px;white-space:normal}
.azw-confirmed{background:#E8F0E7;border:1px solid #4E7A57;color:#23522F}
.azw-not_confirmed{background:#F1EFE9;border:1px solid #9A9384;color:#544E43}
.azw-flagged{background:#FBF3E4;border:1px solid #C6543F;color:#8C2F1E}
.azw-when{display:block;font-size:12.5px;color:#5f6b60;margin-top:5px;line-height:1.7}
.azw-note{display:block;font-size:13px;color:#8C2F1E;margin-top:5px;line-height:1.7}
.azw-foot{font-size:12px;color:#6B4F3A;margin:12px 0 0;line-height:1.75}
@media(max-width:520px){
  .azw-row{grid-template-columns:1fr;gap:4px}
}

/* ---- land-native filter row -------------------------------------- */
/* A grid, not a flex row. On a 390px screen five stacked full-width
   dropdowns pushed the first parcel most of a screen further down — the
   buyer scrolled past a wall of controls to reach any land. Pairing them
   halves that, and auto-fit still gives one row on a wide screen. */
.azl-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));
  gap:10px 12px;align-items:end;margin:0 0 14px}
.azl-filters .azl-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.azl-filters select{width:100%}
.azl-filters label{font-size:12px;font-weight:700;color:#6B4F3A;line-height:1.7}
.azl-filters select{font:inherit;font-size:14.5px;padding:10px 11px;min-height:44px;
  border:1px solid rgba(15,36,25,.18);border-radius:10px;background:#fff;color:#0F2419}

/* ---- photograph month -------------------------------------------- */
.azm-shot{font-size:12.5px;color:#5f6b60;margin:6px 0 0;line-height:1.75}

/* ---- one-page PDF button ----------------------------------------- */
.azp-line{margin:14px 0 0}
.azp-line .hint{margin-top:5px}

/* ---- seller status timeline -------------------------------------- */
.azt-line{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0;padding:0;list-style:none}
.azt-step{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  line-height:1.7;color:#6B6353;background:#F1EFE9;border:1px solid #DCD5C4;
  border-radius:999px;padding:4px 11px}
.azt-step.is-done{background:#E8F0E7;border-color:#4E7A57;color:#23522F}
.azt-step.is-now{background:#1A3C2A;border-color:#1A3C2A;color:#F5F0E6}
.azt-n{display:inline-block;min-width:20px;text-align:center;font-weight:800;
  background:rgba(255,255,255,.65);border-radius:999px;padding:0 6px;color:#23522F}
.azt-step.is-now .azt-n{background:rgba(255,255,255,.22);color:#F5F0E6}
.azt-priv{font-size:11.5px;color:#6B6353;margin:6px 0 0;line-height:1.7}

/* =====================================================================
   BELT MAP
   Lives in az-land.css, NOT az-market.css: /listings.php carries its own
   inline stylesheet and does not load az-market.css, so #azMap{height} put
   there gave the map a container 0px tall — Leaflet built its panes and
   drew all five shapes into a box nobody could see. Second time this file
   boundary has bitten in one session.

   Leaflet is vendored at /assets/leaflet/. The OpenStreetMap attribution
   Leaflet renders into .leaflet-control-attribution is a licence
   condition — it must stay visible and must not be styled away.
   ================================================================== */
/* Narrowed at the Buy Land merge. This row moved up into the line freed by
   the removed "Current Land Listings" heading, and a full-width band there
   pushed the filters below the fold. inline-flex + a border makes it size
   to its own text — a control beside the content, not a section above it. */
/* Centred: the row is an inline-flex box that sizes to its text, and
   left-aligned it read as a stray fragment under a full-width hero. */
.azmap-wrap{margin:0 0 14px;text-align:center}
.azmap-head{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  margin:0 0 8px;background:var(--cream,#F5F0E6);border:1px solid rgba(200,169,81,.45);
  border-radius:12px;padding:8px 14px;max-width:100%}
.azmap-head h2{margin:0;font-size:1.05rem}
.azmap-head .azmap-n{font-size:.85rem;color:#6B4F3A}
#azMap{height:420px;border-radius:14px;border:1px solid rgba(200,169,81,.45);
  background:#F1EFE9;z-index:0}
@media (max-width:640px){#azMap{height:320px}}
.azmap-empty{display:flex;align-items:center;justify-content:center;height:100%;
  margin:0;padding:24px;text-align:center;font-size:.88rem;color:#6B4F3A}
.azmap-note{font-size:.78rem;color:#6B4F3A;margin:8px 0 0;line-height:1.7}
.azmap-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;padding:0;list-style:none;
  font-size:.78rem;color:#5f6b60}
.azmap-key li{display:flex;align-items:center;gap:6px}
.azmap-key i{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none}
.azmap-pop{font-family:'DM Sans',system-ui,sans-serif;min-width:180px}
.azmap-pop-t{font-weight:700;color:#0F2419;margin:0 0 3px;font-size:.92rem;line-height:1.35}
.azmap-pop-m{margin:0 0 2px;font-size:.8rem;color:#5f6b60;line-height:1.5}
.azmap-pop-s{margin:4px 0 6px;font-size:.78rem;font-weight:700;color:#1A3C2A}
.azmap-pop-a{display:inline-block;font-weight:700;font-size:.83rem;color:#6F5518;
  text-decoration:none}
.azmap-pop-a:hover{text-decoration:underline}
.azmap-pop-g{display:block;margin-top:5px;font-weight:700;font-size:.8rem;color:#1A3C2A;
  text-decoration:none}
.azmap-pop-g:hover{text-decoration:underline}
/* The listing pin: a teardrop in the status colour with a cream core, drawn
   in CSS so no image has to load on slow rural connections. */
.azmap-pin{background:none;border:none}
.azmap-pin-i{display:block;width:26px;height:26px;background:var(--pc,#1A3C2A);
  border:2.5px solid #F5F0E6;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);box-shadow:0 2px 6px rgba(15,36,25,.35);position:relative}
.azmap-pin-i::after{content:'';position:absolute;inset:7px;background:#F5F0E6;border-radius:50%}
.azmap-pop-n{margin:6px 0 0;font-size:.72rem;color:#8a8474;line-height:1.5}
.azmap-ref{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.78rem}

/* The show/hide control uses .azm-btn, which is defined in az-market.css —
   a file /listings.php does not load. Rather than pull the whole marketplace
   stylesheet onto a public page, the one button it needs is defined here.
   Same boundary that flattened the map container; worth stating twice. */
.azmap-head .azm-btn{display:inline-flex;align-items:center;justify-content:center;
  font:inherit;font-size:.84rem;font-weight:700;line-height:1.25;
  padding:9px 16px;min-height:40px;border-radius:999px;cursor:pointer;
  background:transparent;color:#1A3C2A;border:1.5px solid rgba(200,169,81,.75);
  text-decoration:none;box-sizing:border-box}
.azmap-head .azm-btn:hover{background:#F5F0E6}
.azmap-head .azm-btn:focus-visible{outline:2px solid #6F5518;outline-offset:2px}

/* The card's own map button. Sits beside the evidence-pack link rather than
   taking a line of its own. */
.lst-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px}
.azl-mapbtn{font:inherit;font-size:13px;font-weight:800;line-height:1.4;cursor:pointer;
  color:#1A3C2A;background:#F5F0E6;border:1.5px solid rgba(200,169,81,.7);
  border-radius:999px;padding:7px 13px;min-height:38px;box-sizing:border-box}
.azl-mapbtn:hover{background:#EFE7D4}
.azl-mapbtn:focus-visible{outline:2px solid #6F5518;outline-offset:2px}

/* Said above the map, not instead of it. */
.azmap-banner{margin:8px 0 0;padding:9px 12px;border-radius:10px;
  background:#FBF7EC;border:1px dashed rgba(200,169,81,.7);
  font-size:.82rem;color:#6F5518;line-height:1.7}

/* The bigha caveat rides the unit toggle instead of taking its own line. */


/* ---- WhatsApp QR for a listing ---------------------------------------- */
.azqr-box{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin:14px 0 0;
  padding:14px 16px;background:#FBF7EC;border:1px solid rgba(200,169,81,.55);border-radius:14px}
.azqr{width:132px;height:132px;flex:none;background:#fff;border-radius:8px;padding:6px;
  box-sizing:border-box}
.azqr svg{width:100%;height:100%;display:block}
.azqr-txt{flex:1 1 240px;min-width:0}
.azqr-txt p{margin:0 0 6px;font-size:.84rem;line-height:1.7;color:#5f6b60}
.azqr-txt strong{color:#0F2419}
.azqr-link{display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:800;
  text-decoration:none;color:#1A3C2A;background:#F5F0E6;border:1.5px solid rgba(200,169,81,.75);
  border-radius:999px;padding:9px 15px;min-height:42px;box-sizing:border-box}
.azqr-link:hover{background:#EFE7D4}
@media print{
  .azqr-box{break-inside:avoid;border-color:#000}
  .azqr-link{display:none}
}

/* =====================================================================
   LISTING CARD — rebuilt

   The old card was a stack of ten blocks with four calls to action, a
   full-width gold area bar and a bordered panel nested inside a bordered
   panel. This is the layout the property marketplaces have converged on:
   one image, one headline number, two muted lines, one action.

   Area is the headline because this platform publishes no price, so area
   is the number doing the work a price does elsewhere. Everything the old
   card shouted — document chips, land class, evidence pack — is either one
   quiet line or lives on the listing page where there is room for it.
   ================================================================== */
.grid{gap:18px}

.lst-card{position:relative;background:#FEFDFB;border:1px solid rgba(200,169,81,.42);
  border-radius:16px;padding:0;overflow:hidden;box-shadow:0 1px 3px rgba(15,36,25,.06);
  display:flex;flex-direction:column;gap:0;transition:box-shadow .18s,transform .18s}
.lst-card:hover{box-shadow:0 8px 26px rgba(15,36,25,.13);transform:translateY(-2px)}
.lst-card:focus-within{outline:2px solid #6F5518;outline-offset:2px}

/* ---- image ------------------------------------------------------- */
.lst-photo{position:relative;aspect-ratio:4/3;background:#EFEADC;overflow:hidden}
.lst-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lst-noimg{display:flex;align-items:center;justify-content:center;height:100%;
  font-size:38px;opacity:.35}
.lst-chip{position:absolute;left:10px;bottom:10px;z-index:2;
  font-size:11px;font-weight:800;line-height:1.6;padding:4px 11px;border-radius:999px;
  backdrop-filter:blur(3px)}
.lst-chip.is-ver{background:rgba(15,36,25,.88);color:#E8D48B}
.lst-chip.is-pend{background:rgba(245,236,212,.94);color:#7A4E12}
.lst-heart{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;
  border-radius:50%;border:0;cursor:pointer;background:rgba(254,253,251,.92);
  color:#8A8474;font-size:17px;line-height:1;box-shadow:0 1px 4px rgba(15,36,25,.18)}
.lst-heart[aria-pressed="true"]{color:#C6543F}

/* ---- body: one headline, two muted lines ------------------------- */
.lst-body{display:flex;flex-direction:column;gap:3px;padding:13px 15px 14px}
.lst-size{margin:0;font-size:1.06rem;font-weight:800;color:#0F2419;line-height:1.35}
.lst-size .azu-second{display:inline;font-size:.86rem;font-weight:600;opacity:.62;margin-left:6px}
.lst-ttl{margin:1px 0 0;font-family:'DM Sans',system-ui,sans-serif;font-size:.95rem;
  font-weight:700;line-height:1.4;color:#26221B;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lst-ttl a{color:inherit;text-decoration:none}
/* Stretches the title's link across the whole card — one real anchor for a
   screen reader, a click target the size of the card for everyone else. */
.lst-ttl a::after{content:"";position:absolute;inset:0;z-index:1}
.lst-where,.lst-spec{margin:0;font-size:.82rem;line-height:1.6;color:#6B6353}
.lst-spec{color:#8A8474}
.lst-flag{margin:6px 0 0;font-size:.78rem;line-height:1.6;color:#8C2F1E}

/* ---- one action ---------------------------------------------------- */
.lst-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:10px;padding-top:11px;border-top:1px solid rgba(200,169,81,.3)}
.lst-price{font-size:.82rem;font-weight:800;color:#1A3C2A}
.lst-acts{display:flex;align-items:center;gap:7px;position:relative;z-index:2}
.lst-wa{font-size:.8rem;font-weight:800;background:#1A3C2A;color:#fff;
  padding:9px 14px;border-radius:999px;text-decoration:none;white-space:nowrap;min-height:38px;
  display:inline-flex;align-items:center;box-sizing:border-box}
.lst-wa:hover{background:#0F2419;color:#E8D48B}
.azl-mapbtn{font:inherit;font-size:15px;line-height:1;cursor:pointer;width:38px;height:38px;
  border-radius:50%;border:1.5px solid rgba(200,169,81,.7);background:#F5F0E6;color:#1A3C2A;
  padding:0;box-sizing:border-box}
.azl-mapbtn:hover{background:#EFE7D4}

/* ---- technical data: a quiet line, not a panel --------------------- */
.lst-card details{margin-top:9px;position:relative;z-index:2}
.lst-card details summary{list-style:none;cursor:pointer;font-size:.78rem;font-weight:700;
  color:#6F5518;padding:0;background:none;border:0}
.lst-card details summary::-webkit-details-marker{display:none}
.lst-card details summary::after{content:" ▾"}
.lst-card details[open] summary::after{content:" ▴"}
.lst-card details > div{margin-top:7px;font-size:.78rem;line-height:1.65;color:#5f6b60}

/* ---- overrides for /listings.php's own inline <style> -----------------
   That page carries its own stylesheet inside the document, which comes
   after this file and therefore wins every tie. Three rules there were
   quietly beating the card above: .lst-card h3 (0,1,1) kept the serif
   title, .lst-price kept a size that wrapped "Price on Request" onto two
   lines, and .lst-tech kept the dashed panel this layout is meant to
   retire. Matched weight, so the intended rule is the one that applies. */
.lst-card h3.lst-ttl{font-family:'DM Sans',system-ui,sans-serif;font-size:.95rem;
  font-weight:700;color:#26221B;line-height:1.4}
.lst-foot .lst-price{font-size:.8rem;white-space:nowrap;color:#1A3C2A}
.lst-body details.lst-tech{margin:9px 0 0;border:0;border-radius:0;background:none}
.lst-body details.lst-tech summary{padding:0;font-size:.78rem;color:#6F5518}
.lst-body details.lst-tech .lst-tech-b{padding:7px 0 0;font-size:.78rem}

/* Below 560px the card is about 350px wide and the footer needs 358px:
   "Price on Request" + the map pin + "Enquire on WhatsApp" does not fit, and
   the card's overflow:hidden CLIPPED the button rather than scrolling — so a
   page-level horizontal-scroll check reported clean while the main call to
   action was cut in half. Stack it instead, which also gives the thumb a
   full-width target. */
/* No media query. The grid auto-fills, so card width does not track
   viewport width — at 1024px it gives three ~320px columns, narrower than
   the two columns at 900px. A breakpoint keyed to the viewport fixed 390px
   and 768px and left 1024px clipping by 47px.

   flex-wrap asks the right question instead: if the price and the buttons
   do not fit on one line, the buttons take their own. That is true at every
   container width, now and after any future grid change. */
.lst-foot{flex-wrap:wrap;gap:9px 10px}
.lst-price{flex:0 0 auto}
.lst-acts{flex:1 1 auto;justify-content:flex-end;min-width:0}

/* Same guard on the public forms. */
input:invalid:not(:placeholder-shown){border-color:#C6543F;background:#FDF6F4}

/* ---- the PDF gate ------------------------------------------------------ */
.azpdf-scrim{position:fixed;inset:0;z-index:9000;background:rgba(15,36,25,.5);
  display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;
  overflow:auto;-webkit-overflow-scrolling:touch}
.azpdf-scrim[hidden]{display:none}
.azpdf{position:relative;background:#FEFDFB;border-radius:18px;width:100%;max-width:430px;
  padding:20px;box-shadow:0 20px 50px rgba(15,36,25,.3)}
.azpdf-x{position:absolute;top:8px;right:10px;width:38px;height:38px;border:0;background:none;
  font-size:26px;line-height:1;color:#6B6353;cursor:pointer;border-radius:50%}
.azpdf-x:hover{background:#F1EFE9}
.azpdf-h{font-family:'Playfair Display',Georgia,serif;font-size:19px;color:#0F2419;margin:0 0 3px}
.azpdf-s{font-size:12.5px;color:#5f6b60;margin:0 0 12px;line-height:1.6}
.azpdf-parcel{display:flex;flex-direction:column;gap:2px;background:#F5F0E6;
  border:1px solid rgba(200,169,81,.45);border-radius:10px;padding:9px 11px;margin:0 0 14px}
.azpdf-parcel strong{font-size:13.5px;color:#0F2419}
.azpdf-parcel span{font-size:12px;color:#5f6b60}
.azpdf .f{display:block;font-size:12px;font-weight:700;color:#6B4F3A;margin:0 0 4px}
.azpdf input[type=text],.azpdf input[type=tel]{width:100%;font:inherit;font-size:16px;
  padding:11px 13px;border:1px solid rgba(15,36,25,.18);border-radius:10px;margin:0 0 12px;
  background:#fff;box-sizing:border-box}
.azpdf-chk{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.6;
  background:#FBF7EC;border:1px dashed rgba(200,169,81,.6);border-radius:10px;
  padding:10px 12px;margin:0 0 12px;cursor:pointer}
.azpdf-chk input{flex:none;width:18px;height:18px;margin:2px 0 0}
.azpdf-fine{font-size:11.5px;color:#6B6353;line-height:1.65;margin:10px 0 0}
.azpdf-alt{text-align:center;font-size:12.5px;margin:10px 0 0;color:#6B6353}
.azpdf-alt a,.azpdf-fine a{color:#6F5518;font-weight:700}

/* The map button had to be re-specified at .lst-card level. On the Rajasthan
   page a descendant rule on the card was styling any button inside it into a
   38px circle — so the label wrapped into a pin shape and collided with the
   price line. A single class (0,1,0) loses to that; .lst-card .azl-mapbtn
   (0,2,0) wins. It shipped once looking like this because the check counted
   the buttons instead of looking at one. */
.lst-card .azl-mapbtn,
.lst-links .azl-mapbtn{
  width:auto;height:auto;min-width:0;border-radius:999px;
  padding:7px 13px;min-height:38px;white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font:inherit;font-size:13px;font-weight:800;line-height:1.4;cursor:pointer;
  color:#1A3C2A;background:#F5F0E6;border:1.5px solid rgba(200,169,81,.7);
  box-sizing:border-box;flex:none}
.lst-card .azl-mapbtn:hover{background:#EFE7D4}

/* =====================================================================
   CARD C — photo carries the identity, one spec row, price bar
   ================================================================== */
.azc{background:#FEFDFB;border:1px solid rgba(200,169,81,.45);border-radius:16px;
  overflow:hidden;display:flex;flex-direction:column}
.azc-photo{position:relative;aspect-ratio:16/9;background:#EFEADC;overflow:hidden}
.azc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.azc .lst-noimg{width:100%;height:100%;display:flex;align-items:center;
  justify-content:center;font-size:38px;opacity:.5}
.azc-chip{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;
  align-items:center;gap:5px;font-size:10.5px;font-weight:800;border-radius:999px;
  padding:4px 10px;white-space:nowrap}
.azc-chip.is-ver{background:#1A3C2A;color:#F5F0E6}
.azc-chip.is-pend{background:#FBF3E4;color:#7A4E12;border:1px solid #D9A441}
.azc-heart{position:absolute;top:8px;right:8px;z-index:3;width:36px;height:36px;
  border-radius:50%;border:0;cursor:pointer;font-size:17px;line-height:1;
  background:rgba(255,255,255,.92);color:#8A8474;display:flex;align-items:center;
  justify-content:center;padding:0}
.azc-heart[aria-pressed="true"]{color:#C6543F}
.azc-heart:hover{background:#fff}
.azc-over{position:absolute;inset:auto 0 0 0;z-index:2;padding:26px 14px 11px;color:#fff;
  background:linear-gradient(to top,rgba(15,36,25,.9),rgba(15,36,25,0))}
.azc-v{font-family:'Playfair Display',Georgia,serif;font-size:16.5px;font-weight:700;
  margin:0 0 1px;line-height:1.3}
.azc-v a{color:#fff;text-decoration:none}
.azc-v a:hover{text-decoration:underline}
.azc-loc{margin:0;font-size:12px;opacity:.92;letter-spacing:.02em}
.azc-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:1px;
  background:rgba(200,169,81,.45)}
.azc-cell{background:#FEFDFB;padding:9px 13px;min-width:0}
.azc-k{display:block;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;
  color:#5f6b60}
.azc-val{display:block;font-size:13.5px;font-weight:700;color:#0F2419;line-height:1.4}
.azc .azl-mapbtn.azc-map{background:#FEFDFB;border:0;border-radius:0;width:auto;height:auto;
  min-height:0;padding:8px 14px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:1px;font:inherit;font-size:11.5px;font-weight:800;
  color:#1A3C2A;cursor:pointer;white-space:nowrap}
.azc .azl-mapbtn.azc-map:hover{background:#F5F0E6}
.azc-pin{font-size:14px;line-height:1}
.azc-flag{margin:0;padding:8px 13px;background:#FBF3E4;font-size:12px;color:#8C2F1E;
  line-height:1.6;border-top:1px solid rgba(200,169,81,.45)}
.azc-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;
  flex-wrap:wrap;padding:11px 13px;background:#F5F0E6;margin-top:auto}
/* Moved out of listings.php's inline <style> on 26 Aug 2026. It was the
   one card rule still living on the page rather than in the sheet, so
   the seller profile at /s/ - which reuses these cards - rendered the
   Maps link as a bare blue anchor. --forest is declared on :root by
   both pages; the fallback keeps it right if a third one ever is not. */
.azc-gmap{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  color:var(--forest,#1A3C2A);text-decoration:none;border:1.5px solid rgba(200,169,81,.55);
  border-radius:100px;padding:5px 12px;margin:8px 0 0;background:#fff;white-space:nowrap}
.azc-gmap:hover{background:rgba(200,169,81,.12)}
.azc-price{font-weight:800;font-size:13.5px;color:#0F2419}
.azc-acts{display:flex;gap:7px;flex-wrap:wrap}
.azc-wa,.azc-view{display:inline-flex;align-items:center;justify-content:center;gap:5px;
  font-size:12.5px;font-weight:800;border-radius:999px;padding:8px 14px;min-height:38px;
  text-decoration:none;box-sizing:border-box;white-space:nowrap}
.azc-wa{background:#1A3C2A;color:#fff}
.azc-view{background:transparent;color:#1A3C2A;border:1.5px solid rgba(200,169,81,.75)}
.azc-view:hover{background:#EFE7D4}
@media(max-width:400px){.azc-grid{grid-template-columns:1fr 1fr}
  .azc .azl-mapbtn.azc-map{grid-column:1/-1;flex-direction:row;border-top:1px solid rgba(200,169,81,.45)}}

/* The village sits on a dark gradient, so it must be white. A bare
   `.azc-v a` (0,1,1) was losing to the page's own heading-link colour;
   this is 0,3,1 and wins without !important. */
.azc .azc-over .azc-v a,
.azc .azc-over .azc-v a:visited{color:#FFFFFF}
.azc .azc-over .azc-v a:hover{color:#F5F0E6}

/* Rate large, total quiet beneath it. */
.azc-priceblk{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;
  column-gap:8px;row-gap:0;min-width:0}
/* Rate and total on one line, rate leading. Wraps rather than overflowing
   on a narrow card, which is where a two-figure price line usually breaks. */
.azc-rate{font-weight:800;font-size:16px;color:#0F2419;line-height:1.25}
.azc-rate small{font-weight:600;font-size:12px;color:#5f6b60}
.azc-total{font-size:12px;font-weight:600;color:#5f6b60}

/* A borrowed belt photograph says so, on the photograph. */
.azc-rep{position:absolute;left:10px;bottom:auto;top:44px;z-index:2;
  background:rgba(15,36,25,.82);color:#F5F0E6;font-size:10px;font-weight:700;
  border-radius:999px;padding:3px 9px;letter-spacing:.02em}

/* Jamabandi verification — the tick and its footnote. Green is reserved for
   this one meaning on the listing page. */
.azd-jb{display:inline-flex;align-items:center;gap:4px;margin-left:8px;color:#1c7a3d;
  font-weight:800;font-size:.76rem;white-space:nowrap}
.azd-jb::before{content:'✓';display:inline-flex;width:15px;height:15px;border-radius:50%;
  background:#1c7a3d;color:#fff;align-items:center;justify-content:center;font-size:10px}
.azd-jbnote{background:#EAF3EC;border-radius:12px;padding:12px 16px;margin-top:14px;
  font-size:.82rem;color:#204a2e;line-height:1.6}
.azd-jbnote span{font-size:.74rem;color:#557a60}

/* ---- plot outline (naksha) -----------------------------------------
   The card is inline SVG so it stays sharp on a phone and inherits the
   page's own fonts. Everything visual lives here rather than as
   attributes on the SVG, so a brand change is one edit in one file.

   In az-land.css and not az-market.css: /listings.php does not load
   az-market.css, and the outline appears on both listing surfaces. */
.az-nk{margin:22px 0}
.az-nk h2{font-family:'Playfair Display',Georgia,serif;font-size:19px;
  font-weight:700;color:#0F2419;margin:0 0 10px;line-height:1.35}
.az-nk h2 .az-nk-hi{display:block;font-size:15px;font-weight:600;color:#6B6353;
  font-family:'DM Sans',system-ui,sans-serif;margin-top:2px}

.az-nk-wrap{background:#FEFDFB;border:1px solid rgba(200,169,81,.42);
  border-radius:16px;padding:12px 12px 14px}
.az-nk-svg{display:block;width:100%;height:auto;
  font-family:'DM Sans',system-ui,sans-serif}

.az-nk-bg{fill:#E9EFE2;stroke:#C8A951;stroke-width:2.5}
.az-nk-plot{fill:#CBD8C4;fill-opacity:.85;stroke:#1A3C2A;stroke-width:4;
  stroke-linejoin:round}
.az-nk-node{fill:#C8A951;stroke:#FEFDFB;stroke-width:2}

.az-nk-lab rect{fill:#1A3C2A}
.az-nk-lab text{fill:#F5F0E6;font-size:16px;font-weight:700;text-anchor:middle;
  letter-spacing:.01em}

.az-nk-chip rect{fill:#C8A951}
.az-nk-chip text{fill:#0F2419;font-size:17px;font-weight:800;text-anchor:middle;
  letter-spacing:.06em}

.az-nk-n text{fill:#0F2419;font-size:19px;font-weight:800;text-anchor:middle}
.az-nk-n circle{fill:#FEFDFB;stroke:#C9C4B4;stroke-width:1.5}
.az-nk-n .hi{fill:#C8A951}
.az-nk-n .lo{fill:#B9C4B2}

.az-nk-foot{fill:#8A9583;font-size:15px;font-weight:500}

.az-nk-area{display:block;margin:12px 0 0;background:#C8A951;color:#0F2419;
  border-radius:12px;padding:13px 16px;text-align:center;
  font-weight:800;line-height:1.35;letter-spacing:.01em;
  /* One line on a 390px phone. Three figures separated by dots read as one
     fact; wrapped onto two lines they read as two, and the second line
     ("sq yd" alone) looked like a caption for something else. */
  font-size:clamp(.86rem,3.45vw,1.18rem)}

/* The caveat is not decoration. A traced length is derived, and saying so
   in the same block as the number is the only honest way to show it. */
.az-nk-note{margin:10px 0 0;font-size:.8rem;line-height:1.65;color:#6B6353}
.az-nk-note strong{color:#0F2419}
.az-nk-note .az-nk-src{display:block;margin-top:5px;color:#8A8474}

@media (max-width:520px){
  .az-nk-wrap{padding:8px 8px 10px;border-radius:13px}
  .az-nk-area{padding:11px 10px}
  .az-nk h2{font-size:17.5px}
}

/* ============================================================
   Adheer's annotated pass on listing-detail, 23 Aug 2026
   ============================================================ */

/* ---- ⓘ info icon + panel ---------------------------------
   The long explanatory paragraphs moved behind these. Closed is the
   markup default, so JS-off shows the facts and hides the prose —
   which is exactly why no WARNING was moved behind one. */
.azi-b{appearance:none;-webkit-appearance:none;border:1.5px solid rgba(154,123,46,.55);
  background:#FBF7EC;color:#6F5518;width:19px;height:19px;border-radius:50%;
  font:700 12px/1 Georgia,serif;font-style:italic;cursor:pointer;padding:0;
  display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;
  margin-left:7px;flex:none}
.azi-b:hover{background:#F4E7C8;border-color:#6F5518}
.azi-b[aria-expanded="true"]{background:#1A3C2A;border-color:#1A3C2A;color:#F5F0E6}
.azi-b:focus-visible{outline:2px solid #1A3C2A;outline-offset:2px}
.azi-p{background:#FBF7EC;border:1px solid rgba(154,123,46,.4);border-left:4px solid #6F5518;
  border-radius:11px;padding:11px 14px;margin:10px 0 2px;font-size:12.8px;line-height:1.75;
  color:#5a5343}
.azi-p p{margin:0 0 8px}
.azi-p p:last-child{margin:0}
/* Pair every panel with this — [hidden] loses to a display rule. */
.azi-p[hidden]{display:none}
.azi-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;border:0;padding:0;margin:-1px}

/* ---- the save toggle -------------------------------------
   Grey and "Save this land" until it is saved; red and "Remove from
   saved" once it is. Colour and words move together, because a heart
   on its own never said which way the next tap goes. */
/* .azm-fav-line retired 24 Aug — the pill lives in the hero's
   pg-h1aside slot now; no page renders the standalone line. */
.azf-big{display:inline-flex;align-items:center;gap:9px;appearance:none;-webkit-appearance:none;
  cursor:pointer;font:600 15.5px/1 'DM Sans',system-ui,sans-serif;
  border:1.5px solid #CFC8B8;background:#F4F2EC;color:#6b6357;
  border-radius:100px;padding:9px 16px 9px 13px}
.azf-big:hover{border-color:#B9B09C;background:#EEEBE2}
.azf-big:focus-visible{outline:2px solid #1A3C2A;outline-offset:2px}
.azf-big.is-on{border-color:#C0392B;background:#FDEDEB;color:#A5281B}
.azf-big.is-on:hover{background:#FBE2DE}
.azf-lab{white-space:nowrap}
@media (max-width:420px){ .azf-lab{white-space:normal} }

/* ---- act-on-it row (QR · WhatsApp · PDF · picture) -------
   Moved under the enquiry form. The buttons wrap in their own row
   rather than stretching the QR block. */
/* 2 Sep 2026: PDF and Picture on ONE row, with the QR text beside the code
   rather than under it, so the block does not grow. flex-wrap off — three
   short controls fit at 320px once the labels are PDF and Picture. */
.azqr-acts{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin:8px 0 0}
.azqr-acts .azm-btn{flex:0 0 auto;padding:7px 12px}
.azqr-shape{font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--azc-line);
  border-radius:8px;background:#fff;flex:1 1 auto;min-width:0;max-width:130px}
.azqr-box{display:flex;gap:12px;align-items:flex-start}
.azqr-box .azqr{flex:0 0 auto}
.azqr-txt{flex:1 1 auto;min-width:0}
.azqr-txt>p:first-child{margin-top:0;font-size:12.6px;line-height:1.5}
@media(max-width:400px){.azqr-txt>p:first-child{font-size:12px}}
.azqr-acts .azm-btn{margin:0}

/* ---- sign-in-to-keep dialog ------------------------------
   This had NO stylesheet rule anywhere: when it opened it rendered as
   loose inline text at the foot of the page instead of a modal. Now a
   real overlay, full width on a phone as a bottom sheet. */
.azf-dlg{position:fixed;inset:0;z-index:1200;background:rgba(15,36,25,.55);
  display:flex;align-items:flex-end;justify-content:center;padding:0}
.azf-dlg[hidden]{display:none}
.azf-box{width:100%;max-width:none;background:#FEFDFB;border-top:4px solid #C8A951;
  border-radius:18px 18px 0 0;padding:22px 20px 24px;box-shadow:0 -8px 40px rgba(15,36,25,.3)}
.azf-box h2{font-family:'Playfair Display',Georgia,serif;color:#1A3C2A;
  font-size:clamp(1.15rem,3vw,1.45rem);margin:0 0 10px}
.azf-box p{font-size:14.5px;line-height:1.75;color:#3d463e;margin:0 0 16px;max-width:760px}
.azf-acts{display:flex;flex-wrap:wrap;gap:10px}
@media (min-width:760px){
  .azf-dlg{align-items:center;padding:24px}
  .azf-box{border-radius:18px;border-top-width:4px;max-width:none}
}

/* ---- Location card, one row --------------------------------
   Heading · rounded coordinate · both map links on a single line,
   wrapping under on a phone. The coordinate keeps the tabular look it
   had as its own paragraph. */
.az-loc-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}
.az-loc-head h2{margin:0}
.az-loc-co{font-size:13.5px;color:#5f6b60;font-variant-numeric:tabular-nums;
  background:#F5F0E6;border-radius:7px;padding:4px 9px}
.az-loc-btns{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.az-loc-btns .azm-btn{margin:0}
@media (max-width:560px){
  /* Heading takes its own line; the coordinate chip and the map link
     share the next (Adheer's annotated pass — the button had a
     full-width line to itself and the card ran three rows deep). */
  .az-loc-head h2{width:100%}
  .az-loc-btns{margin-left:auto;width:auto}
}

/* ---- save pill --------------------------------------------
   Rides the heading row in az_hero's pg-h1aside slot (moved 24 Aug);
   az-market.css owns the slot's placement and its ≤760px wrap. */

/* ---- enquiry form: name + mobile share one row -------------
   .azm .row's 150px per-cell minimum was sized for the wide column;
   inside the enquiry card two cells + gap need 310px and the card is
   ~300px in the two-column grid, so the pair wrapped. 118px keeps both
   pairs (name·mobile, budget·budget) 2-up down to a 390px phone, and
   flex-wrap still stacks them on anything narrower. */
#enquire .row>*{min-width:118px}

/* ---- enquiry form: both actions on one row -----------------
   Same decision point, one line. Under 560px the padding narrows so
   "Send enquiry · भेजें" and "WhatsApp us" hold the row on a phone. */
.az-enq-acts{flex-wrap:nowrap}
.az-enq-acts>*{flex:1 1 0;min-width:0;justify-content:center;text-align:center}
@media (max-width:560px){
  .az-enq-acts>*{padding-left:10px;padding-right:10px;font-size:13.5px;white-space:nowrap}
}

/* ---- enquiry disclaimer: one line, Read more ---------------
   A checkbox toggle so it works with JS off; with CSS off the full
   paragraph prints. The text never leaves the page — it folds. */
.azm input.az-clip-t{position:absolute;width:1px;height:1px;padding:0;border:0;
  overflow:hidden;clip:rect(0 0 0 0);opacity:0;pointer-events:none}
.az-clip{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;
  overflow:hidden;margin:14px 0 2px}
.az-clip-t:checked~.az-clip{display:block;-webkit-line-clamp:unset}
.az-clip-more{display:inline-block;cursor:pointer;font-size:.78rem;font-weight:600;
  color:#6F5518;text-decoration:underline;text-underline-offset:2px}
.az-clip-t:checked~.az-clip-more{display:none}

/* ---- enquiry heading + ⓘ hold one line on a phone ---------- */
@media (max-width:420px){
  #enquire h3{font-size:1.02rem;white-space:nowrap}
  #enquire h3 .azi-b{vertical-align:middle}
}

/* ---- phone: tighter gaps between the cards -----------------
   (Adheer's annotated pass — the band between Location and the form
   read as dead space on a phone.) */
@media (max-width:560px){
  .azm-grid{gap:10px}
  .azm-card{padding:16px 14px;margin-bottom:10px}
}

/* ---- PHOTO · VIDEO · DOCS strip ----------------------------
   Full width under the grid. Two across from 900px so a photo set and a
   record extract sit side by side instead of stacking a screen apart;
   the photograph card is allowed the wider half when it is alone. */
.azm-media-strip{display:grid;grid-template-columns:1fr;gap:0 18px;margin-top:2px}
@media (min-width:900px){
  .azm-media-strip{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .azm-media-strip > .azm-card:only-child{grid-column:1/-1}
}
.azm-media-strip .azm-lead img{width:100%;height:auto;border-radius:11px;display:block}

/* ---- More Details: label and pill on ONE row (Adheer, 2 Sep 2026) ----
   Three checks used to take six rows on a phone because the pill wrapped
   under its label. .azw-head puts them on the same line and lets the pill
   sit hard right; a note or a date still wraps into .azw-v beneath, where
   there is room for a sentence. */
/* THE BUG (2 Sep 2026): .azw-row is a two-column grid — minmax(96px,26%) 1fr —
   so .azw-head, being the first grid child, was squeezed into 26% of the card
   and the pill wrapped under the label exactly as before. The markup changed
   and nothing moved. The row is a block now; .azw-head owns the whole width
   and lays the label and pill out itself. */
.azw-row{display:block!important;grid-template-columns:none}
.azw-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}
.azw-head .azw-k{margin:0;flex:0 1 auto;min-width:0}
.azw-head .azw-pill{flex:0 0 auto;margin:0}
.azw-row>.azw-v:empty{display:none}
.azw-row>.azw-v{margin-top:4px}
@media(max-width:340px){.azw-head{flex-wrap:wrap}}

/* ---- Share row: PDF + PICTURE on one line, QR copy behind Read more ---- */
/* The text belongs BESIDE the QR, not under it (Adheer, 2 Sep 2026).
   .azqr-box inherits flex-wrap:wrap from the earlier rule, and .azqr-txt
   carried flex-basis:240px — 132px of QR + 240px + an 18px gap needs 390px
   before padding, so on a phone the basis lost and the whole column dropped
   below the code, leaving a block of empty cream beside it. The QR shrinks a
   little on narrow screens and the text takes whatever is left; nothing
   wraps until 320px, where stacking is the honest answer. */
.azqr-box{flex-wrap:nowrap;align-items:flex-start;gap:12px}
.azqr-box>.azqr{flex:0 0 auto;width:108px;height:108px}
.azqr-box>.azqr-txt{flex:1 1 auto;min-width:0;flex-basis:auto}
@media(max-width:430px){
  .azqr-box>.azqr{width:88px;height:88px;padding:4px}
  /* PDF and PICTURE must stay on ONE line beside the QR. In a 190px column
     the default padding pushed the second button down, so the pair is sized
     to the space that is actually there rather than to a desktop guess. */
  .azqr-acts{gap:6px}
  .azqr-acts .azm-btn{padding:7px 9px;font-size:12px;letter-spacing:-.1px}
}
@media(max-width:320px){
  .azqr-box{flex-wrap:wrap}
  .azqr-box>.azqr-txt{flex-basis:100%}
}
.azqr-lead{margin:0 0 6px}
.azqr-rm{background:none;border:0;padding:0;margin-left:4px;color:var(--forest,#1A3C2A);
  font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.azqr-more[hidden]{display:none}
