/* ============================================================
   ARM Ultimate Marketplace Pro — Frontend
   Driven by CSS variables from the Appearance Manager.
   Mobile-first · 4 cards desktop / 2 tablet / 2 mobile
   ============================================================ */

.armmp-page{background:var(--armmp-bg,#F8FAF9)}
.armmp-container{max-width:1220px;margin:0 auto;padding:0 20px}

/* ── Type & buttons ─────────────────────────────────────── */
.armmp-single,.armmp-archive,.armmp-grid,.armmp-search,.armmp-filterwrap,
.armmp-wishlist-page,.armmp-compare-page{
  font-family:var(--armmp-font-body,'Inter',sans-serif);
  color:var(--armmp-text,#5C6E64);
}
.armmp-single h1,.armmp-single h2,.armmp-archive h1,
.armmp-card__title,.armmp-related h2{
  font-family:var(--armmp-font-heading,'Poppins',sans-serif);
  color:var(--armmp-heading,#13231B);
}
.armmp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--armmp-font-button,'Inter',sans-serif);
  font-size:14px;font-weight:600;line-height:1;
  background:var(--armmp-button,#007A3D);color:#fff;
  border:1px solid var(--armmp-button,#007A3D);border-radius:30px;
  padding:12px 22px;cursor:pointer;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.armmp-btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px -8px rgba(4,23,15,.4);color:#fff}
.armmp-btn--ghost{background:transparent;color:var(--armmp-heading,#13231B);border-color:#D7E0DB}
.armmp-btn--ghost:hover{border-color:var(--armmp-primary,#007A3D);color:var(--armmp-primary,#007A3D);box-shadow:none}
.armmp-btn--wa{background:#1FAF5A;border-color:#1FAF5A}
.armmp-btn--big{width:100%;padding:15px 22px;font-size:15px}
.armmp-btn i{font-size:18px}
.armmp-dim{color:#9FB0A7}
.armmp-empty{
  grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:10px;
  padding:60px 20px;text-align:center;font-size:15px;
}
.armmp-empty i{font-size:38px;color:var(--armmp-primary,#007A3D)}

/* ── Price ──────────────────────────────────────────────── */
.armmp-price{
  font-family:var(--armmp-font-heading,'Poppins',sans-serif);
  font-weight:700;color:var(--armmp-primary,#007A3D);font-size:17px;
}
.armmp-price small{font-size:12px;font-weight:500;color:var(--armmp-text,#5C6E64);margin-left:3px}
.armmp-price--poa{font-size:13.5px;font-weight:600;color:var(--armmp-accent,#D4A017)}
.armmp-price__alts{
  display:block;font-family:var(--armmp-font-body,'Inter',sans-serif);
  font-size:12.5px;font-weight:600;color:var(--armmp-text,#5C6E64);
  margin-top:3px;letter-spacing:.01em;
}

/* ── Badges ─────────────────────────────────────────────── */
.armmp-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:4px 9px;border-radius:20px;color:#fff;
}
.armmp-badge i{font-size:12px}
.armmp-badge--featured{background:var(--armmp-primary,#007A3D)}
.armmp-badge--premium{background:var(--armmp-dark,#04170F)}
.armmp-badge--verified{background:var(--armmp-accent,#D4A017);color:var(--armmp-dark,#04170F)}
.armmp-badge--sponsored{background:#5C6E64}

/* ── Card grid: 4 / 2 / 2 ───────────────────────────────── */
.armmp-grid{display:grid;gap:18px;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.armmp-grid--cols-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.armmp-grid--cols-4{grid-template-columns:repeat(4,1fr)}
  .armmp-grid--cols-3{grid-template-columns:repeat(3,1fr)}}

/* ── Listing card ───────────────────────────────────────── */
.armmp-card{
  background:#fff;border:1px solid #E3EAE6;border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.armmp-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px -16px rgba(4,23,15,.2);border-color:#CBD8D1}
.armmp-card__media{position:relative;display:block;aspect-ratio:4/3;background:#EEF3F0;overflow:hidden}
.armmp-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.armmp-card:hover .armmp-card__media img{transform:scale(1.05)}
.armmp-card__placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:42px;color:#B9C8C0}
.armmp-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:5px}
.armmp-card__body{display:flex;flex-direction:column;gap:6px;padding:14px 15px 15px;flex:1}
.armmp-card__title{font-size:14.5px;font-weight:600;line-height:1.35;margin:0}
.armmp-card__title a{color:inherit;text-decoration:none}
.armmp-card__title a:hover{color:var(--armmp-primary,#007A3D)}
.armmp-card__loc{display:flex;align-items:center;gap:5px;font-size:12px;margin:0}
.armmp-card__loc i{font-size:14px;color:var(--armmp-accent,#D4A017)}
.armmp-card__specs{display:flex;flex-wrap:wrap;gap:6px 12px;padding-top:2px}
.armmp-spec{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:500}
.armmp-spec i{font-size:14px;color:var(--armmp-primary,#007A3D)}
.armmp-card__actions{
  display:flex;align-items:center;gap:8px;margin-top:auto;
  padding-top:12px;border-top:1px solid #EEF3F0;
}
.armmp-wish,.armmp-comp{
  width:34px;height:34px;border-radius:10px;border:1px solid #E3EAE6;background:#fff;
  display:flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;
  color:var(--armmp-text,#5C6E64);transition:all .15s ease;
}
.armmp-wish:hover,.armmp-comp:hover{border-color:var(--armmp-primary,#007A3D);color:var(--armmp-primary,#007A3D)}
.armmp-wish.is-active{background:#FDECEC;border-color:#F3B8B8;color:#C0392B}
.armmp-wish.is-active i{font-weight:bold}
.armmp-comp.is-active{background:#EAF4EE;border-color:#9CCDB2;color:var(--armmp-primary,#007A3D)}
.armmp-card__wa{
  margin-left:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:700;color:#1FAF5A;text-decoration:none;
}
.armmp-card__wa i{font-size:17px}
.armmp-card__wa:hover{text-decoration:underline}

/* ── Smart search (tabbed) ──────────────────────────────── */
.armmp-search{background:#fff;border:1px solid #E3EAE6;border-radius:20px;padding:14px;box-shadow:0 20px 50px -28px rgba(4,23,15,.25)}
.armmp-search__tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid #EEF3F0;scrollbar-width:none}
.armmp-search__tabs::-webkit-scrollbar{display:none}
.armmp-search__tab{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-family:var(--armmp-font-menu,'Inter',sans-serif);font-size:13px;font-weight:600;
  background:transparent;border:0;border-radius:10px;padding:9px 13px;cursor:pointer;
  color:var(--armmp-text,#5C6E64);
}
.armmp-search__tab i{font-size:17px}
.armmp-search__tab.is-active{background:var(--armmp-dark,#04170F);color:#fff}
.armmp-search__panel{display:none;padding-top:12px}
.armmp-search__panel.is-active{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.armmp-search__fields{display:flex;flex-wrap:wrap;gap:10px;flex:1}
.armmp-search__field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:140px}
.armmp-search__field span{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.armmp-search__field select,.armmp-search__field input{
  font-family:inherit;font-size:13.5px;padding:10px 12px;
  border:1px solid #E3EAE6;border-radius:11px;background:var(--armmp-bg,#F8FAF9);color:var(--armmp-heading,#13231B);
}
.armmp-search__go{padding:12px 26px}

/* ── Filter portal ──────────────────────────────────────── */
.armmp-filters{
  display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
  background:#fff;border:1px solid #E3EAE6;border-radius:18px;padding:16px;margin-bottom:14px;
}
.armmp-filters__field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:130px}
.armmp-filters__field span{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.armmp-filters__field select,.armmp-filters__field input{
  font-family:inherit;font-size:13.5px;padding:10px 12px;
  border:1px solid #E3EAE6;border-radius:11px;background:var(--armmp-bg,#F8FAF9);color:var(--armmp-heading,#13231B);
}
.armmp-filters__meta{display:flex;justify-content:flex-end;margin-bottom:12px;font-size:13px}
.armmp-filterwrap.is-loading .armmp-results{opacity:.45;pointer-events:none}
.armmp-results{transition:opacity .2s ease}
.armmp-loadmore-wrap{display:flex;justify-content:center;padding:26px 0 4px}
.armmp-loadmore[hidden]{display:none}

/* ── Archive hero ───────────────────────────────────────── */
.armmp-archive__hero{background:var(--armmp-dark,#04170F);padding:58px 0 50px;margin-bottom:34px}
.armmp-archive__eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--armmp-accent,#D4A017);margin:0 0 12px;
}
.armmp-archive__hero h1{color:#fff;font-size:clamp(26px,4vw,40px);margin:0}
.armmp-archive__desc{color:#A7BBAF;max-width:560px;margin:12px 0 0;line-height:1.7}
.armmp-archive{padding-bottom:70px}

/* ── Single ─────────────────────────────────────────────── */
.armmp-single{padding:26px 0 70px}
.armmp-crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-bottom:18px;flex-wrap:wrap}
.armmp-crumbs a{color:var(--armmp-text,#5C6E64);text-decoration:none}
.armmp-crumbs a:hover{color:var(--armmp-primary,#007A3D)}
.armmp-crumbs i{font-size:12px;color:#B9C8C0}
.armmp-crumbs span{color:var(--armmp-heading,#13231B);font-weight:600}

/* ── Gallery carousel ────────────────────────────────────── */
.armmp-gal-wrap{position:relative;margin-bottom:26px;border-radius:20px;overflow:hidden;background:#04170F;user-select:none}
.armmp-gal-track{
  display:flex;
  overflow-x:scroll;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  cursor:grab;
}
.armmp-gal-track::-webkit-scrollbar{display:none}
.armmp-gal-track.grabbing{cursor:grabbing}
.armmp-gal-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  display:block;
  aspect-ratio:16/9;
}
/* contain = whole image visible (letterboxed), not cropped/zoomed in */
.armmp-gal-slide img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;background:#04170F}
/* Thumbnail strip */
.armmp-gal-thumbs{
  display:flex;gap:8px;
  overflow-x:auto;
  margin:-14px 0 26px;
  padding:4px 2px 8px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.armmp-gal-thumbs::-webkit-scrollbar{height:4px}
.armmp-gal-thumbs::-webkit-scrollbar-thumb{background:#E4ECE7;border-radius:4px}
.armmp-gal-thumb{
  flex:0 0 78px;height:58px;
  padding:0;cursor:pointer;
  border:2px solid transparent;border-radius:9px;
  background:#04170F;overflow:hidden;
  opacity:.55;
  transition:opacity .2s,border-color .2s;
}
.armmp-gal-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.armmp-gal-thumb:hover{opacity:1}
.armmp-gal-thumb.active{opacity:1;border-color:#007A3D}
.armmp-gal-thumb:focus-visible{outline:2px solid #007A3D;outline-offset:2px}
@media(max-width:560px){
  .armmp-gal-thumb{flex:0 0 62px;height:47px}
}
/* Dots */
.armmp-gal-dots{
  position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;z-index:2;
}
.armmp-gal-dot{
  width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,0.45);
  transition:background .2s,transform .2s;
  cursor:pointer;
}
.armmp-gal-dot.active{background:#fff;transform:scale(1.3)}
@media(max-width:560px){
  .armmp-gal-slide{aspect-ratio:4/3}
}


.armmp-single__cols{display:grid;grid-template-columns:1fr 350px;gap:26px;align-items:start}
@media(max-width:960px){.armmp-single__cols{grid-template-columns:1fr}}
.armmp-single__head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}
.armmp-single__badges{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.armmp-single__title{font-size:clamp(22px,3vw,30px);line-height:1.25;margin:0}
.armmp-single__loc{display:flex;align-items:center;gap:6px;font-size:14px;margin:8px 0 0}
.armmp-single__loc i{color:var(--armmp-accent,#D4A017);font-size:17px}
.armmp-single__price .armmp-price{font-size:24px}

.armmp-panel{background:#fff;border:1px solid #E3EAE6;border-radius:18px;padding:24px;margin-bottom:18px}
.armmp-panel h2{display:flex;align-items:center;gap:9px;font-size:17px;margin:0 0 16px}
.armmp-panel h2 i{color:var(--armmp-primary,#007A3D);font-size:21px}
.armmp-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 22px;margin:0}
.armmp-specs__row{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #EEF3F0}
.armmp-specs__row dt{display:flex;align-items:center;gap:7px;font-size:13px;margin:0}
.armmp-specs__row dt i{font-size:16px;color:var(--armmp-primary,#007A3D)}
.armmp-specs__row dd{font-size:13.5px;font-weight:600;color:var(--armmp-heading,#13231B);margin:0;text-align:right}
.armmp-content{line-height:1.8;font-size:15px}

.armmp-mortgage__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
@media(max-width:600px){.armmp-mortgage__grid{grid-template-columns:1fr}}
.armmp-mortgage label{display:flex;flex-direction:column;gap:5px}
.armmp-mortgage label span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.armmp-mortgage input{font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid #E3EAE6;border-radius:11px}
.armmp-mortgage__result{font-size:15px;margin:0 0 6px}
.armmp-mc-result{font-family:var(--armmp-font-heading,'Poppins',sans-serif);color:var(--armmp-primary,#007A3D);font-size:19px}
.armmp-mortgage__note{font-size:12px;margin:0}

.armmp-single__aside{position:sticky;top:90px}
.armmp-enquiry{background:#fff;border:1px solid #E3EAE6;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px}
.armmp-enquiry__kicker{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--armmp-primary,#007A3D);margin:0}
.armmp-enquiry__kicker i{font-size:17px;color:var(--armmp-accent,#D4A017)}
.armmp-enquiry__price .armmp-price{font-size:23px}
.armmp-enquiry__row{display:flex;gap:8px}
.armmp-enquiry__row .armmp-btn{flex:1;padding:11px 10px;font-size:13px}
.armmp-enquiry__ref{font-size:11.5px;color:#9FB0A7;text-align:center;margin:0}

.armmp-related{margin-top:46px}
.armmp-related h2{font-size:20px;margin:0 0 18px}

/* ── Compare table ──────────────────────────────────────── */
.armmp-compare-scroll{overflow-x:auto;border:1px solid #E3EAE6;border-radius:18px;background:#fff}
.armmp-compare-table{width:100%;border-collapse:collapse;min-width:640px;font-size:13.5px}
.armmp-compare-table th,.armmp-compare-table td{padding:13px 16px;border-bottom:1px solid #EEF3F0;text-align:left;vertical-align:top}
.armmp-compare-table thead th{position:relative;min-width:170px}
.armmp-compare-table thead th a{display:block;color:var(--armmp-heading,#13231B);text-decoration:none;font-family:var(--armmp-font-heading,'Poppins',sans-serif);font-size:14px}
.armmp-compare-table thead img{width:100%;border-radius:12px;aspect-ratio:4/3;object-fit:cover;margin-bottom:8px}
.armmp-compare-table tbody td:first-child{font-weight:600;color:var(--armmp-heading,#13231B);white-space:nowrap}
.armmp-compare-table tbody td:first-child i{color:var(--armmp-primary,#007A3D);margin-right:5px}
.armmp-comp-remove{
  position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;
  border:0;background:var(--armmp-dark,#04170F);color:#fff;font-size:15px;cursor:pointer;line-height:1;
}

/* ── Lightbox ───────────────────────────────────────────── */
.armmp-lightbox{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:rgba(4,23,15,.92);padding:30px;
}
.armmp-lightbox img{max-width:100%;max-height:88vh;border-radius:10px;object-fit:contain}
.armmp-lightbox__close{
  position:absolute;top:18px;right:20px;width:42px;height:42px;border-radius:50%;
  border:0;background:rgba(255,255,255,.15);color:#fff;font-size:24px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .2s;
}
.armmp-lightbox__close:hover{background:rgba(255,255,255,.3)}
.armmp-lightbox__prev,
.armmp-lightbox__next{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.15);border:none;color:#fff;
  font-size:38px;line-height:1;width:50px;height:50px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;z-index:2;
}
.armmp-lightbox__prev{left:16px}
.armmp-lightbox__next{right:16px}
.armmp-lightbox__prev:hover,.armmp-lightbox__next:hover{background:rgba(255,255,255,.3)}
.armmp-lightbox__counter{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.75);font-size:13px;font-weight:600;
  background:rgba(4,23,15,.5);padding:4px 12px;border-radius:20px;
}


/* ── Toast ──────────────────────────────────────────────── */
.armmp-toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);z-index:99998;
  background:var(--armmp-dark,#04170F);color:#fff;font-size:13.5px;font-weight:500;
  padding:12px 20px;border-radius:30px;opacity:0;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;display:flex;align-items:center;gap:8px;
}
.armmp-toast i{color:var(--armmp-accent,#D4A017);font-size:17px}
.armmp-toast.is-show{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
  .armmp-card,.armmp-btn,.armmp-card__media img,.armmp-results{transition:none}
}

/* ── Booking / quote request form ─────────────────────── */
.armmp-booking{max-width:820px;margin:26px auto 60px}
.armmp-booking__form{
  background:var(--armmp-bg,#fff);
  border:1px solid var(--armmp-line,#E4ECE7);
  border-radius:20px;
  padding:32px;
  box-shadow:0 10px 40px -18px rgba(4,23,15,.18);
}
.armmp-booking__title{
  display:flex;align-items:center;gap:10px;
  font-family:var(--armmp-font-heading,'Poppins'),sans-serif;
  font-size:24px;font-weight:800;color:var(--armmp-heading,#13231B);
  margin:0 0 6px;
}
.armmp-booking__title i{color:var(--armmp-primary,#007A3D)}
.armmp-booking__lead{color:var(--armmp-text,#5C6E64);font-size:14px;margin:0 0 24px;line-height:1.55}
.armmp-booking__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.armmp-bk-field{display:flex;flex-direction:column;gap:6px}
.armmp-bk-field--full{grid-column:1 / -1}
.armmp-bk-field>span{
  font-size:12.5px;font-weight:600;color:var(--armmp-heading,#13231B);
  letter-spacing:.01em;
}
.armmp-bk-field>span em{color:#C0392B;font-style:normal}
.armmp-bk-field input,
.armmp-bk-field select,
.armmp-bk-field textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--armmp-line,#E4ECE7);
  border-radius:11px;
  font-size:14px;font-family:inherit;color:var(--armmp-heading,#13231B);
  background:#fff;
  transition:border-color .18s,box-shadow .18s;
}
.armmp-bk-field textarea{resize:vertical;min-height:96px}
.armmp-bk-field input:focus,
.armmp-bk-field select:focus,
.armmp-bk-field textarea:focus{
  outline:none;
  border-color:var(--armmp-primary,#007A3D);
  box-shadow:0 0 0 3px rgba(0,122,61,.12);
}
.armmp-bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.armmp-booking__actions{margin-top:24px}
.armmp-booking__msg{
  margin:16px 0 0;padding:0;font-size:14px;font-weight:500;
  border-radius:10px;line-height:1.5;
}
.armmp-booking__msg.is-ok{
  background:#EAF5EF;color:#0E7A3D;padding:13px 16px;
  border:1px solid #B7E0C7;
}
.armmp-booking__msg.is-err{
  background:#FDECEA;color:#B93A28;padding:13px 16px;
  border:1px solid #F3C4BC;
}
.armmp-bk-submit i{margin-right:2px}
@media(max-width:560px){
  .armmp-booking__form{padding:22px 18px;border-radius:16px}
  .armmp-booking__grid{grid-template-columns:1fr;gap:14px}
  .armmp-booking__title{font-size:20px}
}
