/* NA Plots Listings — front-end styles.
   Uses the theme's CSS variables when present, with sensible fallbacks. */

.nap-wrap{--nap-gold:var(--gold,#C4922A);--nap-green:var(--grn,#1C5C38);--nap-green2:var(--grn2,#28784A);--nap-bg:var(--bg,#F8F5EE);--nap-surface:var(--wht,#fff);--nap-txt:var(--txt,#1E2C24);--nap-txt2:var(--txt2,#3A5244);--nap-txt3:var(--txt3,#687C70);--nap-bdr:var(--bdr,#D4C8B0);font-family:var(--font-b,system-ui,sans-serif);max-width:1260px;margin:0 auto;padding:0 20px}

/* Filters */
.nap-filters{display:flex;flex-wrap:wrap;gap:26px;margin:0 0 34px;padding:22px 24px;background:var(--nap-surface);border:1.5px solid var(--nap-bdr);border-radius:16px}
.nap-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.nap-filter-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nap-txt3);margin-right:4px}
.nap-chip{border:1.5px solid var(--nap-bdr);background:transparent;color:var(--nap-txt2);padding:7px 15px;border-radius:30px;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .25s ease}
.nap-chip:hover{border-color:var(--nap-gold);color:var(--nap-green)}
.nap-chip.is-active{background:var(--nap-green);border-color:var(--nap-green);color:#fff}

/* Grid */
.nap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.nap-card{background:var(--nap-surface);border:1.5px solid var(--nap-bdr);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.nap-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(28,92,56,.13);border-color:var(--nap-gold)}
.nap-card.nap-status-booked{opacity:.86}

.nap-card-media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#E6F0EA,#F2EDE0);overflow:hidden}
.nap-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.nap-card-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;opacity:.5}
.nap-badge{position:absolute;top:12px;right:12px;padding:5px 13px;border-radius:30px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.nap-badge-available{background:var(--nap-green)}
.nap-badge-booked{background:#8a8a8a}

.nap-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:16px;flex:1}
.nap-card-title{font-family:var(--font-d,Georgia,serif);font-size:1.45rem;font-weight:600;color:var(--nap-green);margin:0;line-height:1.2}
.nap-card-meta{display:flex;gap:10px;flex-wrap:wrap}
.nap-meta-item{flex:1;min-width:78px;background:var(--nap-bg);border-radius:11px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.nap-meta-k{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--nap-txt3)}
.nap-meta-v{font-size:.98rem;font-weight:700;color:var(--nap-txt)}

.nap-enquire-btn{margin-top:auto;border:none;background:linear-gradient(135deg,var(--nap-gold),#E0B84A);color:#3a2a06;font-weight:700;font-size:.92rem;padding:13px 18px;border-radius:30px;cursor:pointer;transition:filter .25s ease,transform .25s ease}
.nap-enquire-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.nap-enquire-btn.nap-disabled{background:#e3ddd0;color:#9a9a9a;cursor:not-allowed}

.nap-empty,.nap-noresults{text-align:center;padding:60px 20px;color:var(--nap-txt3);font-size:1.05rem}

/* Modal */
.nap-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}
.nap-modal.is-open{display:flex}
.nap-modal-overlay{position:absolute;inset:0;background:rgba(12,32,24,.55);backdrop-filter:blur(4px)}
.nap-modal-box{position:relative;background:var(--nap-surface,#fff);border-radius:20px;max-width:460px;width:100%;padding:34px 30px 30px;box-shadow:0 30px 80px rgba(0,0,0,.3);animation:napPop .3s ease}
@keyframes napPop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.nap-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.8rem;line-height:1;color:var(--nap-txt3);cursor:pointer}
.nap-modal-title{font-family:var(--font-d,Georgia,serif);font-size:1.5rem;color:var(--nap-green);margin:0 0 6px}
.nap-modal-title span{color:var(--nap-gold)}
.nap-modal-sub{color:var(--nap-txt2);font-size:.92rem;margin:0 0 20px}
#napEnquiryForm input{width:100%;padding:12px 14px;border:1.5px solid var(--nap-bdr);border-radius:10px;font-size:.95rem;margin-bottom:12px;font-family:inherit;background:#fff;color:var(--nap-txt)}
#napEnquiryForm input:focus{outline:none;border-color:var(--nap-gold)}
.nap-form-row{display:flex;gap:12px}
.nap-form-row input{flex:1}
.nap-submit{width:100%;border:none;background:linear-gradient(135deg,var(--nap-green),var(--nap-green2));color:#fff;font-weight:700;font-size:1rem;padding:14px;border-radius:30px;cursor:pointer;margin-top:4px;transition:filter .25s}
.nap-submit:hover{filter:brightness(1.08)}
.nap-form-msg{padding:11px 14px;border-radius:10px;font-size:.88rem;font-weight:500;margin-bottom:12px;background:rgba(28,92,56,.07)}

@media(max-width:960px){.nap-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.nap-grid{grid-template-columns:1fr}.nap-form-row{flex-direction:column;gap:0}.nap-filters{gap:16px;padding:18px}}
