/* PropSG Listing Styles v1.1.0 — sprop-listing-* namespace
   Hybrid of PropSG brand (Urbanist + #E03C31) and SEO content style (Urbanist headings, content card, sidebar cards) */

/* CSS Variables (will inherit from theme if defined; fall back to brand defaults) */
.sprop-reset {
  --sprop-red: #E03C31;
  --sprop-red-dark: #c02b22;
  --sprop-black: #0a0a0a;
  --sprop-g50: #f9fafb;
  --sprop-g100: #f3f4f6;
  --sprop-g200: #e5e7eb;
  --sprop-g400: #9ca3af;
  --sprop-g600: #6b7280;
  --sprop-blue: #2563eb;
  --sprop-cream: #fff8f7;
  --sprop-beige: #f4ede7;
  --sprop-white: #ffffff;
  --sprop-rad: 12px;
  --sprop-sm: 8px;
  --sprop-pill: 999px;
  --sprop-font: 'Urbanist', system-ui, -apple-system, sans-serif;
  --sprop-serif: 'Urbanist', system-ui, -apple-system, sans-serif;
  font-family: var(--sprop-font);
  color: var(--sprop-black);
}

.sprop-listing-container { max-width:1280px !important; margin:0 auto !important; padding:0 24px !important; }
@media (max-width:768px) { .sprop-listing-container { padding:0 16px !important; } }

/* Breadcrumb */
.sprop-listing-breadcrumb { padding:14px 0 !important; background:var(--sprop-g50) !important; font-family:var(--sprop-font) !important; border-bottom:1px solid var(--sprop-g100) !important; }
.sprop-listing-breadcrumb ol { display:flex !important; flex-wrap:wrap !important; gap:6px !important; list-style:none !important; margin:0 !important; padding:0 !important; font-size:13px !important; color:var(--sprop-g600) !important; }
.sprop-listing-breadcrumb li { list-style:none !important; }
.sprop-listing-breadcrumb a { color:var(--sprop-blue) !important; text-decoration:none !important; }
.sprop-listing-breadcrumb a:hover { text-decoration:underline !important; }

/* Hero Gallery */
.sprop-listing-hero { padding:24px 0 !important; background:var(--sprop-white) !important; }
.sprop-listing-hero__grid { display:grid !important; grid-template-columns:1.6fr 1fr !important; gap:8px !important; border-radius:var(--sprop-rad) !important; overflow:hidden !important; }
.sprop-listing-hero__main { position:relative !important; overflow:hidden !important; cursor:pointer !important; }
.sprop-listing-hero__main img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .4s ease !important; }
.sprop-listing-hero__main:hover img { transform:scale(1.03) !important; }
.sprop-listing-hero__side { display:grid !important; grid-template-columns:1fr 1fr !important; grid-template-rows:1fr 1fr !important; gap:8px !important; }
.sprop-listing-hero__thumb { position:relative !important; overflow:hidden !important; cursor:pointer !important; }
.sprop-listing-hero__thumb img { width:100% !important; height:100% !important; object-fit:cover !important; transition:transform .4s ease !important; }
.sprop-listing-hero__thumb:hover img { transform:scale(1.05) !important; }
.sprop-listing-hero__more { position:absolute !important; inset:0 !important; background:rgba(15,15,15,.65) !important; color:white !important; border:0 !important; font-family:var(--sprop-font) !important; font-size:16px !important; font-weight:700 !important; cursor:pointer !important; backdrop-filter:blur(4px) !important; }
.sprop-listing-verified-badge { position:absolute !important; top:16px !important; left:16px !important; background:#16a34a !important; color:white !important; padding:6px 12px !important; border-radius:var(--sprop-pill) !important; font-size:12px !important; font-weight:700 !important; z-index:2 !important; }
@media (max-width:768px) {
  .sprop-listing-hero__grid { grid-template-columns:1fr !important; height:auto !important; }
  .sprop-listing-hero__main { height:280px !important; }
  .sprop-listing-hero__side { grid-template-rows:100px 100px !important; height:208px !important; }
}

/* ─── ARTICLE HEADER (SEO style) ─── */
.sprop-article-header { padding:36px 0 0 !important; }
.sprop-article-cat { font-size:0.72rem !important; font-weight:700 !important; letter-spacing:0.12em !important; text-transform:uppercase !important; color:var(--sprop-red) !important; margin-bottom:12px !important; display:flex !important; align-items:center !important; gap:8px !important; }
.sprop-article-cat::before { content:'' !important; display:inline-block !important; width:20px !important; height:2px !important; background:var(--sprop-red) !important; border-radius:2px !important; }
.sprop-article-title { font-family:var(--sprop-serif) !important; font-size:clamp(1.8rem,3.2vw,2.6rem) !important; font-weight:800 !important; color:var(--sprop-black) !important; line-height:1.2 !important; margin:0 0 16px !important; letter-spacing:-0.02em !important; }
.sprop-article-meta { display:flex !important; gap:18px !important; font-size:0.82rem !important; color:var(--sprop-g600) !important; padding-bottom:20px !important; border-bottom:1px solid var(--sprop-g100) !important; flex-wrap:wrap !important; }
.sprop-article-meta__item { display:flex !important; align-items:center !important; gap:6px !important; }
.sprop-article-meta__item--mrt { color:var(--sprop-blue) !important; font-weight:600 !important; }

/* Price panel */
.sprop-pricepanel { display:grid !important; grid-template-columns:auto 1fr !important; gap:24px !important; align-items:center !important; padding:20px 24px !important; background:var(--sprop-cream) !important; border-radius:var(--sprop-rad) !important; margin-top:24px !important; }
.sprop-pricepanel__price { border-right:1px solid var(--sprop-g200) !important; padding-right:24px !important; }
.sprop-pricepanel__amount { font-family:var(--sprop-serif) !important; font-size:clamp(1.6rem,2.5vw,2.2rem) !important; font-weight:800 !important; color:var(--sprop-red) !important; line-height:1.1 !important; }
.sprop-pricepanel__amount .sprop-listing-price__type { font-size:0.7em !important; color:var(--sprop-g600) !important; font-weight:600 !important; font-family:var(--sprop-font) !important; }
.sprop-pricepanel__psf { font-size:13px !important; color:var(--sprop-g600) !important; margin-top:4px !important; }
.sprop-pricepanel__stats { display:flex !important; gap:24px !important; flex-wrap:wrap !important; }
.sprop-pricepanel__stat { display:flex !important; flex-direction:column !important; }
.sprop-pricepanel__stat .num { font-family:var(--sprop-font) !important; font-size:24px !important; font-weight:900 !important; color:var(--sprop-black) !important; line-height:1 !important; letter-spacing:-0.5px !important; }
.sprop-pricepanel__stat .lbl { font-size:11px !important; color:var(--sprop-g600) !important; text-transform:uppercase !important; letter-spacing:0.5px !important; font-weight:600 !important; margin-top:4px !important; }
@media (max-width:640px) {
  .sprop-pricepanel { grid-template-columns:1fr !important; }
  .sprop-pricepanel__price { border-right:0 !important; border-bottom:1px solid var(--sprop-g200) !important; padding-right:0 !important; padding-bottom:14px !important; }
}

/* ─── TAKEAWAYS / HIGHLIGHTS ─── */
.sprop-takeaways { background:#f8faff !important; border:1px solid #dbeafe !important; border-radius:var(--sprop-rad) !important; padding:20px 26px !important; margin:24px 0 8px !important; }
.sprop-takeaways__title { font-size:0.74rem !important; font-weight:800 !important; letter-spacing:0.1em !important; text-transform:uppercase !important; color:#1d4ed8 !important; margin-bottom:14px !important; display:flex !important; align-items:center !important; gap:8px !important; }
.sprop-takeaways__title::before { content:'★' !important; color:var(--sprop-red) !important; font-size:0.85rem !important; }
.sprop-takeaways ul { list-style:none !important; padding:0 !important; margin:0 !important; }
.sprop-takeaways li { padding:5px 0 5px 22px !important; position:relative !important; font-size:0.92rem !important; color:#1e3a5f !important; line-height:1.6 !important; }
.sprop-takeaways li::before { content:'✓' !important; position:absolute !important; left:0 !important; color:var(--sprop-blue) !important; font-weight:700 !important; font-size:0.78rem !important; top:8px !important; }

/* ─── PAGE BODY (main + sidebar) ─── */
.sprop-pagebody { display:grid !important; grid-template-columns:1fr 320px !important; gap:32px !important; padding:24px 0 60px !important; align-items:start !important; }
@media (max-width:1024px) { .sprop-pagebody { grid-template-columns:1fr !important; } }

/* ─── CONTENT CARD (SEO style) ─── */
.sprop-content-card { background:var(--sprop-white) !important; border-radius:var(--sprop-rad) !important; padding:32px 36px !important; border:1px solid var(--sprop-g100) !important; }
@media (max-width:640px) { .sprop-content-card { padding:24px 20px !important; } }
.sprop-content-card h2 { font-family:var(--sprop-serif) !important; font-size:clamp(1.4rem,2.2vw,1.7rem) !important; font-weight:800 !important; color:var(--sprop-black) !important; margin:36px 0 14px !important; line-height:1.28 !important; letter-spacing:-0.01em !important; }
.sprop-content-card h2:first-child { margin-top:0 !important; }
.sprop-content-card h3 { font-family:var(--sprop-font) !important; font-size:1.05rem !important; font-weight:800 !important; color:var(--sprop-black) !important; margin:24px 0 10px !important; }
.sprop-content-card p { color:#374151 !important; font-size:0.95rem !important; line-height:1.82 !important; margin:0 0 16px !important; }
.sprop-content-card a { color:var(--sprop-blue) !important; text-decoration:none !important; border-bottom:1px solid #bfdbfe !important; transition:border-color .18s ease !important; }
.sprop-content-card a:hover { border-color:var(--sprop-blue) !important; }
.sprop-content-card strong { color:var(--sprop-black) !important; font-weight:700 !important; }
.sprop-content-card em { font-style:italic !important; }
.sprop-content-card blockquote { border-left:3px solid var(--sprop-red) !important; background:var(--sprop-cream) !important; padding:16px 20px !important; border-radius:0 var(--sprop-sm) var(--sprop-sm) 0 !important; margin:22px 0 !important; font-style:italic !important; font-size:0.95rem !important; color:#374151 !important; line-height:1.72 !important; }

/* Description fade */
.sprop-desc-wrap { font-size:0.95rem !important; color:#374151 !important; line-height:1.82 !important; max-height:240px !important; overflow:hidden !important; position:relative !important; transition:max-height .3s ease !important; }
.sprop-desc-wrap.sprop-desc-wrap--open { max-height:none !important; }
.sprop-desc-wrap p { margin:0 0 14px !important; }
.sprop-desc-wrap:not(.sprop-desc-wrap--open)::after { content:'' !important; position:absolute !important; bottom:0 !important; left:0 !important; right:0 !important; height:60px !important; background:linear-gradient(to bottom,transparent,var(--sprop-white)) !important; pointer-events:none !important; }
.sprop-readmore { background:transparent !important; border:0 !important; color:var(--sprop-red) !important; font-family:var(--sprop-font) !important; font-size:13px !important; font-weight:700 !important; cursor:pointer !important; padding:10px 0 0 !important; text-transform:uppercase !important; letter-spacing:0.5px !important; }
.sprop-readmore:hover { color:var(--sprop-black) !important; }

/* Detail list — uses red arrow bullets matching SEO style */
.sprop-detail-list { list-style:none !important; padding:0 !important; margin:0 0 18px !important; }
.sprop-detail-list li { padding:6px 0 6px 24px !important; position:relative !important; color:#374151 !important; font-size:0.94rem !important; line-height:1.65 !important; }
.sprop-detail-list li::before { content:'→' !important; position:absolute !important; left:0 !important; color:var(--sprop-red) !important; font-size:0.85rem !important; top:9px !important; font-weight:700 !important; }

/* Chips */
.sprop-chip-grid { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:8px 0 16px !important; }
.sprop-chip { background:var(--sprop-g50) !important; color:var(--sprop-black) !important; padding:8px 14px !important; border-radius:var(--sprop-pill) !important; font-size:13px !important; font-weight:600 !important; border:1px solid var(--sprop-g100) !important; }

/* Floor plans */
.sprop-floorplans { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important; gap:16px !important; margin-top:14px !important; }
.sprop-floorplans img { width:100% !important; border-radius:var(--sprop-sm) !important; background:var(--sprop-g50) !important; border:1px solid var(--sprop-g100) !important; }

/* Project stats */
.sprop-projstats { display:flex !important; gap:14px !important; margin:14px 0 18px !important; flex-wrap:wrap !important; }
.sprop-projstats__stat { flex:1 !important; min-width:120px !important; background:var(--sprop-cream) !important; border-radius:var(--sprop-sm) !important; padding:16px !important; text-align:center !important; border:1px solid var(--sprop-beige) !important; }
.sprop-projstats__num { font-family:var(--sprop-serif) !important; font-size:1.5rem !important; font-weight:800 !important; color:var(--sprop-red) !important; line-height:1 !important; }
.sprop-projstats__lbl { font-size:11px !important; color:var(--sprop-g600) !important; text-transform:uppercase !important; letter-spacing:0.5px !important; margin-top:6px !important; font-weight:600 !important; }

/* FAQs — SEO style */
.sprop-faq-wrap { margin-top:24px !important; }
.sprop-faq-h2 { font-family:var(--sprop-serif) !important; font-size:1.5rem !important; font-weight:800 !important; color:var(--sprop-black) !important; margin:24px 0 18px !important; letter-spacing:-0.01em !important; }
.sprop-faq-item { border:1px solid var(--sprop-g100) !important; border-radius:var(--sprop-sm) !important; margin-bottom:8px !important; background:var(--sprop-white) !important; overflow:hidden !important; transition:border-color .15s ease !important; }
.sprop-faq-item:hover { border-color:var(--sprop-g200) !important; }
.sprop-faq-q { padding:16px 20px !important; font-weight:600 !important; font-size:0.92rem !important; color:var(--sprop-black) !important; cursor:pointer !important; display:flex !important; justify-content:space-between !important; align-items:center !important; gap:16px !important; user-select:none !important; transition:background .15s ease !important; }
.sprop-faq-q:hover { background:var(--sprop-g50) !important; }
.sprop-faq-icon { width:24px !important; height:24px !important; border-radius:50% !important; background:var(--sprop-g100) !important; display:flex !important; align-items:center !important; justify-content:center !important; font-size:1.1rem !important; color:var(--sprop-g600) !important; flex-shrink:0 !important; transition:all .22s ease !important; line-height:1 !important; }
.sprop-faq-item.open .sprop-faq-icon { background:var(--sprop-red) !important; color:#fff !important; transform:rotate(45deg) !important; }
.sprop-faq-a { display:none !important; padding:0 20px 18px !important; font-size:0.9rem !important; color:#374151 !important; line-height:1.72 !important; }
.sprop-faq-item.open .sprop-faq-a { display:block !important; }

/* ─── SIDEBAR ─── */
.sprop-sidebar { display:flex !important; flex-direction:column !important; gap:18px !important; position:sticky !important; top:96px !important; }
@media (max-width:1024px) { .sprop-sidebar { position:static !important; } }

.sprop-scard { background:var(--sprop-white) !important; border-radius:var(--sprop-rad) !important; border:1px solid var(--sprop-g100) !important; padding:18px 20px !important; }
.sprop-scard__title { font-size:0.74rem !important; font-weight:800 !important; letter-spacing:0.1em !important; text-transform:uppercase !important; color:var(--sprop-black) !important; padding-bottom:12px !important; border-bottom:1px solid var(--sprop-g100) !important; margin-bottom:14px !important; display:flex !important; align-items:center !important; gap:8px !important; }
.sprop-scard__title::before { content:'' !important; width:3px !important; height:14px !important; background:var(--sprop-red) !important; border-radius:2px !important; display:inline-block !important; }

.sprop-fact-row { display:flex !important; justify-content:space-between !important; padding:8px 0 !important; border-bottom:1px solid var(--sprop-g50) !important; font-size:0.84rem !important; gap:12px !important; }
.sprop-fact-row:last-child { border-bottom:0 !important; }
.sprop-fact-row span:first-child { color:var(--sprop-g600) !important; flex-shrink:0 !important; }
.sprop-fact-row span:last-child { color:var(--sprop-black) !important; font-weight:600 !important; text-align:right !important; }

.sprop-check-item { display:flex !important; align-items:flex-start !important; gap:8px !important; padding:6px 0 !important; font-size:0.82rem !important; color:#374151 !important; line-height:1.5 !important; }
.sprop-check-item .chk { width:16px !important; height:16px !important; border-radius:50% !important; background:#dcfce7 !important; display:flex !important; align-items:center !important; justify-content:center !important; flex-shrink:0 !important; margin-top:2px !important; font-size:0.6rem !important; color:#16a34a !important; font-weight:700 !important; }

.sprop-related-link { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:10px 0 !important; border-bottom:1px solid var(--sprop-g50) !important; color:var(--sprop-black) !important; font-size:0.86rem !important; text-decoration:none !important; transition:color .15s ease !important; }
.sprop-related-link:last-child { border-bottom:0 !important; }
.sprop-related-link:hover { color:var(--sprop-red) !important; }
.sprop-related-link span { color:var(--sprop-g400) !important; font-size:1rem !important; }

/* ─── CONTACT / LEAD CARD ─── */
.sprop-contact-card { background:var(--sprop-white) !important; border-radius:var(--sprop-rad) !important; padding:24px 22px !important; border:1px solid var(--sprop-g100) !important; box-shadow:0 4px 24px rgba(0,0,0,.06) !important; }
.sprop-contact-card__logo { margin-bottom:14px !important; display:flex !important; justify-content:flex-start !important; }
.sprop-contact-card__h3 { font-family:var(--sprop-serif) !important; font-size:1.25rem !important; font-weight:800 !important; color:var(--sprop-black) !important; margin:0 0 8px !important; line-height:1.25 !important; }
.sprop-contact-card__sub { font-size:0.85rem !important; color:var(--sprop-g600) !important; line-height:1.5 !important; margin:0 0 18px !important; }

/* Lead form */
.sprop-lead-form { position:relative !important; }
.sprop-lead-label { display:block !important; margin-bottom:12px !important; }
.sprop-lead-label > span { display:block !important; font-size:11px !important; font-weight:700 !important; color:var(--sprop-g600) !important; text-transform:uppercase !important; letter-spacing:0.6px !important; margin-bottom:4px !important; }
.sprop-lead-label .req { color:var(--sprop-red) !important; }
.sprop-lead-label .opt { color:var(--sprop-g400) !important; font-weight:500 !important; text-transform:none !important; letter-spacing:0 !important; }
.sprop-lead-label input,
.sprop-lead-label textarea { width:100% !important; padding:10px 12px !important; border:1px solid var(--sprop-g200) !important; border-radius:var(--sprop-sm) !important; font-family:var(--sprop-font) !important; font-size:14px !important; color:var(--sprop-black) !important; background:var(--sprop-white) !important; transition:border-color .15s ease, box-shadow .15s ease !important; box-sizing:border-box !important; }
.sprop-lead-label input:focus,
.sprop-lead-label textarea:focus { outline:0 !important; border-color:var(--sprop-red) !important; box-shadow:0 0 0 3px rgba(224,60,49,0.12) !important; }
.sprop-lead-label textarea { resize:vertical !important; min-height:70px !important; font-family:var(--sprop-font) !important; }

.sprop-lead-submit { display:block !important; width:100% !important; padding:14px 20px !important; background:var(--sprop-red) !important; color:#fff !important; border:0 !important; border-radius:var(--sprop-sm) !important; font-family:var(--sprop-font) !important; font-size:14px !important; font-weight:800 !important; cursor:pointer !important; transition:background .2s ease, transform .15s ease !important; letter-spacing:0.02em !important; }
.sprop-lead-submit:hover:not(:disabled) { background:var(--sprop-red-dark) !important; transform:translateY(-1px) !important; }
.sprop-lead-submit:disabled { background:var(--sprop-g400) !important; cursor:not-allowed !important; }
.sprop-lead-msg { margin-top:12px !important; font-size:0.85rem !important; padding:10px 12px !important; border-radius:var(--sprop-sm) !important; display:none !important; }
.sprop-lead-msg.show { display:block !important; }
.sprop-lead-msg.success { background:#dcfce7 !important; color:#15803d !important; border:1px solid #bbf7d0 !important; }
.sprop-lead-msg.error { background:#fee2e2 !important; color:#991b1b !important; border:1px solid #fecaca !important; }
.sprop-lead-fineprint { font-size:11px !important; color:var(--sprop-g400) !important; margin:14px 0 0 !important; line-height:1.5 !important; }

.sprop-contact-card__alt { margin-top:18px !important; padding-top:18px !important; border-top:1px solid var(--sprop-g100) !important; text-align:center !important; }
.sprop-contact-card__or { font-size:11px !important; color:var(--sprop-g400) !important; text-transform:uppercase !important; letter-spacing:1px !important; display:block !important; margin-bottom:10px !important; }
.sprop-contact-card__btns { display:flex !important; gap:8px !important; flex-direction:column !important; }
.sprop-contact-card__alt-btn { display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; padding:10px 14px !important; border-radius:var(--sprop-sm) !important; font-family:var(--sprop-font) !important; font-size:13px !important; font-weight:700 !important; text-decoration:none !important; transition:transform .15s ease, box-shadow .15s ease !important; border:1px solid transparent !important; }
.sprop-contact-card__alt-btn--wa { background:#25D366 !important; color:#fff !important; }
.sprop-contact-card__alt-btn--wa:hover { transform:translateY(-1px) !important; box-shadow:0 6px 18px rgba(37,211,102,.3) !important; }
.sprop-contact-card__alt-btn--call { background:var(--sprop-white) !important; color:var(--sprop-black) !important; border:1px solid var(--sprop-g200) !important; }
.sprop-contact-card__alt-btn--call:hover { border-color:var(--sprop-black) !important; }

.sprop-contact-card__meta { padding-top:16px !important; margin-top:16px !important; border-top:1px solid var(--sprop-g100) !important; font-size:11px !important; color:var(--sprop-g600) !important; text-align:left !important; }
.sprop-contact-card__meta p { margin:3px 0 !important; }

/* ─── SIMILAR LISTINGS ─── */
.sprop-similar { padding:48px 0 !important; background:var(--sprop-g50) !important; border-top:1px solid var(--sprop-g100) !important; }
.sprop-similar__h2 { font-family:var(--sprop-serif) !important; font-size:1.6rem !important; font-weight:800 !important; color:var(--sprop-black) !important; margin:0 0 24px !important; letter-spacing:-0.01em !important; }
.sprop-similar__grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important; gap:20px !important; }

/* Listing card (used in grids) */
.sprop-listing-card { background:var(--sprop-white) !important; border-radius:var(--sprop-rad) !important; overflow:hidden !important; text-decoration:none !important; color:var(--sprop-black) !important; display:block !important; transition:transform .2s ease,box-shadow .2s ease !important; border:1px solid var(--sprop-g100) !important; }
.sprop-listing-card:hover { transform:translateY(-4px) !important; box-shadow:0 12px 32px rgba(0,0,0,.08) !important; }
.sprop-listing-card__img { width:100% !important; height:200px !important; background-color:var(--sprop-g100) !important; background-size:cover !important; background-position:center !important; position:relative !important; }
.sprop-listing-card__badge { position:absolute !important; top:12px !important; left:12px !important; background:#16a34a !important; color:white !important; padding:4px 10px !important; border-radius:var(--sprop-pill) !important; font-size:11px !important; font-weight:700 !important; }
.sprop-listing-card__count { position:absolute !important; bottom:12px !important; right:12px !important; background:rgba(0,0,0,.7) !important; color:white !important; padding:4px 10px !important; border-radius:var(--sprop-pill) !important; font-size:11px !important; font-weight:700 !important; }
.sprop-listing-card__body { padding:20px !important; }
.sprop-listing-card__price { font-family:var(--sprop-font) !important; font-size:20px !important; font-weight:900 !important; color:var(--sprop-red) !important; letter-spacing:-.3px !important; margin-bottom:8px !important; }
.sprop-listing-card__title { font-family:var(--sprop-font) !important; font-size:16px !important; font-weight:800 !important; margin:0 0 6px !important; color:var(--sprop-black) !important; letter-spacing:-.2px !important; }
.sprop-listing-card__address { font-size:13px !important; color:var(--sprop-g600) !important; margin:0 0 12px !important; }
.sprop-listing-card__stats { display:flex !important; gap:16px !important; font-size:13px !important; color:var(--sprop-g600) !important; padding-top:12px !important; border-top:1px solid var(--sprop-g100) !important; }
.sprop-listing-card__mrt { font-size:12px !important; color:var(--sprop-blue) !important; margin:8px 0 0 !important; font-weight:600 !important; }

/* ─── IMAGE BANNER (archive + single) ─── */
.sprop-listing-banner { position:relative !important; min-height:46vh !important; display:flex !important; align-items:center !important; justify-content:center !important; overflow:hidden !important; padding:140px 24px 64px !important; background:var(--sprop-black) !important; }
.sprop-listing-banner__bg { position:absolute !important; inset:0 !important; z-index:0 !important; }
.sprop-listing-banner__bg img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; opacity:0.5 !important; }
.sprop-listing-banner::after { content:'' !important; position:absolute !important; inset:0 !important; z-index:1 !important; background:linear-gradient(180deg,rgba(10,10,10,.35),rgba(10,10,10,.7)) !important; }
.sprop-listing-banner__content { position:relative !important; z-index:2 !important; text-align:center !important; width:100% !important; max-width:1000px !important; margin:0 auto !important; }
.sprop-listing-banner__eye { display:inline-block !important; font-family:var(--sprop-font) !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.18em !important; text-transform:uppercase !important; color:#fff !important; background:var(--sprop-red) !important; padding:6px 14px !important; border-radius:var(--sprop-pill) !important; margin:0 0 18px !important; }
.sprop-listing-banner__title { font-family:var(--sprop-serif) !important; font-size:clamp(34px,5vw,64px) !important; font-weight:800 !important; letter-spacing:-1px !important; color:#fff !important; margin:0 0 14px !important; line-height:1.08 !important; }
.sprop-listing-banner__sub { font-size:17px !important; color:rgba(255,255,255,.82) !important; margin:0 auto !important; max-width:680px !important; line-height:1.6 !important; }
.sprop-listing-banner__meta { display:flex !important; flex-wrap:wrap !important; gap:10px 20px !important; justify-content:center !important; margin:20px 0 0 !important; font-size:15px !important; font-weight:600 !important; color:rgba(255,255,255,.92) !important; }
.sprop-listing-banner__meta span { display:inline-flex !important; align-items:center !important; gap:6px !important; }
@media (max-width:768px) { .sprop-listing-banner { min-height:40vh !important; padding:110px 16px 48px !important; } }

/* ─── ARCHIVE / CATEGORY ─── */
.sprop-listing-archive-hero { padding:48px 0 32px !important; background:linear-gradient(180deg,var(--sprop-cream),var(--sprop-white)) !important; }
.sprop-listing-archive-hero__title { font-family:var(--sprop-serif) !important; font-size:clamp(32px,4vw,52px) !important; font-weight:800 !important; letter-spacing:-1px !important; color:var(--sprop-black) !important; margin:0 0 8px !important; line-height:1.1 !important; }
.sprop-listing-archive-hero__count { font-size:16px !important; color:var(--sprop-g600) !important; margin:0 0 24px !important; }
.sprop-listing-quickfilters { display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
.sprop-listing-quickfilter { display:inline-block !important; padding:8px 16px !important; background:var(--sprop-white) !important; border:1px solid var(--sprop-g200) !important; border-radius:var(--sprop-pill) !important; font-family:var(--sprop-font) !important; font-size:13px !important; font-weight:700 !important; color:var(--sprop-black) !important; text-decoration:none !important; transition:all .15s ease !important; }
.sprop-listing-quickfilter:hover { border-color:var(--sprop-red) !important; color:var(--sprop-red) !important; }
.sprop-listing-quickfilter--active { background:var(--sprop-black) !important; color:white !important; border-color:var(--sprop-black) !important; }

.sprop-listing-sortbar { padding:16px 0 !important; background:var(--sprop-white) !important; border-top:1px solid var(--sprop-g100) !important; border-bottom:1px solid var(--sprop-g100) !important; position:sticky !important; top:72px !important; z-index:10 !important; }
.sprop-listing-sortbar__inner { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:16px !important; flex-wrap:wrap !important; }
.sprop-listing-sortbar__results { font-size:14px !important; color:var(--sprop-g600) !important; }
.sprop-listing-sortbar__controls { display:flex !important; align-items:center !important; gap:8px !important; }
.sprop-listing-sortbar__controls label { font-size:13px !important; color:var(--sprop-g600) !important; font-weight:600 !important; }
.sprop-listing-sortbar__controls select { padding:8px 12px !important; border:1px solid var(--sprop-g200) !important; border-radius:var(--sprop-sm) !important; font-family:var(--sprop-font) !important; font-size:13px !important; font-weight:600 !important; cursor:pointer !important; background:var(--sprop-white) !important; }

.sprop-listing-archive-main { padding:32px 0 !important; }
.sprop-listing-archive-grid { display:grid !important; grid-template-columns:260px 1fr !important; gap:32px !important; align-items:start !important; }
@media (max-width:1024px) { .sprop-listing-archive-grid { grid-template-columns:1fr !important; } }

.sprop-listing-filters { background:var(--sprop-white) !important; border:1px solid var(--sprop-g100) !important; border-radius:var(--sprop-rad) !important; padding:20px !important; position:sticky !important; top:140px !important; }
@media (max-width:1024px) { .sprop-listing-filters { position:static !important; } }
.sprop-listing-filters__h3 { font-family:var(--sprop-font) !important; font-size:14px !important; font-weight:800 !important; text-transform:uppercase !important; letter-spacing:.8px !important; color:var(--sprop-black) !important; margin:0 0 16px !important; padding-bottom:12px !important; border-bottom:2px solid var(--sprop-red) !important; }
.sprop-listing-filter { border-bottom:1px solid var(--sprop-g100) !important; }
.sprop-listing-filter:last-child { border-bottom:0 !important; }
.sprop-listing-filter summary { padding:14px 0 !important; font-weight:700 !important; font-size:13px !important; cursor:pointer !important; list-style:none !important; text-transform:uppercase !important; letter-spacing:.5px !important; color:var(--sprop-black) !important; }
.sprop-listing-filter summary::-webkit-details-marker { display:none !important; }
.sprop-listing-filter summary::after { content:'+' !important; float:right !important; font-size:18px !important; color:var(--sprop-g600) !important; font-weight:400 !important; }
.sprop-listing-filter[open] summary::after { content:'−' !important; }
.sprop-listing-filter__body { padding:0 0 16px !important; max-height:260px !important; overflow-y:auto !important; }
.sprop-listing-filter__link { display:flex !important; justify-content:space-between !important; align-items:center !important; padding:6px 0 !important; font-size:13px !important; color:var(--sprop-g600) !important; text-decoration:none !important; }
.sprop-listing-filter__link:hover { color:var(--sprop-red) !important; }
.sprop-listing-filter__link span { color:var(--sprop-g400) !important; font-size:12px !important; }

.sprop-listing-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important; gap:20px !important; }
.sprop-listing-pagination { display:flex !important; justify-content:center !important; gap:8px !important; margin-top:40px !important; flex-wrap:wrap !important; }
.sprop-listing-pagination .page-numbers { padding:10px 16px !important; background:var(--sprop-white) !important; border:1px solid var(--sprop-g200) !important; border-radius:var(--sprop-sm) !important; text-decoration:none !important; color:var(--sprop-black) !important; font-family:var(--sprop-font) !important; font-weight:700 !important; font-size:13px !important; }
.sprop-listing-pagination .page-numbers.current { background:var(--sprop-red) !important; color:white !important; border-color:var(--sprop-red) !important; }
.sprop-listing-pagination .page-numbers:hover:not(.current) { border-color:var(--sprop-red) !important; color:var(--sprop-red) !important; }
.sprop-listing-empty { text-align:center !important; padding:80px 20px !important; background:var(--sprop-cream) !important; border-radius:var(--sprop-rad) !important; }

.sprop-listing-seo { padding:48px 0 !important; background:var(--sprop-cream) !important; }
.sprop-listing-seo__inner { max-width:880px !important; margin:0 auto !important; }
.sprop-listing-seo__body { font-size:15px !important; color:var(--sprop-g600) !important; line-height:1.8 !important; }
.sprop-listing-h2 { font-family:var(--sprop-serif) !important; font-size:1.6rem !important; font-weight:800 !important; letter-spacing:-0.5px !important; color:var(--sprop-black) !important; margin:0 0 16px !important; }

.sprop-listing-related-cats { padding:48px 0 !important; }
.sprop-listing-related-cats__grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)) !important; gap:12px !important; margin-top:24px !important; }
.sprop-listing-related-cat { display:flex !important; flex-direction:column !important; padding:16px !important; background:var(--sprop-white) !important; border:1px solid var(--sprop-g100) !important; border-radius:var(--sprop-sm) !important; text-decoration:none !important; transition:all .15s ease !important; }
.sprop-listing-related-cat:hover { border-color:var(--sprop-red) !important; transform:translateY(-2px) !important; }
.sprop-listing-related-cat__name { font-family:var(--sprop-font) !important; font-size:15px !important; font-weight:800 !important; color:var(--sprop-black) !important; }
.sprop-listing-related-cat__count { font-size:12px !important; color:var(--sprop-g600) !important; margin-top:4px !important; }

/* Lightbox */
.sprop-listing-lightbox { position:fixed !important; inset:0 !important; background:rgba(15,15,15,.95) !important; z-index:9999 !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.sprop-listing-lightbox[hidden] { display:none !important; }
.sprop-listing-lightbox__img { max-width:90vw !important; max-height:90vh !important; object-fit:contain !important; }
.sprop-listing-lightbox__close,
.sprop-listing-lightbox__prev,
.sprop-listing-lightbox__next { position:absolute !important; background:rgba(255,255,255,.1) !important; color:white !important; border:0 !important; width:48px !important; height:48px !important; border-radius:50% !important; cursor:pointer !important; font-size:24px !important; font-family:var(--sprop-font) !important; backdrop-filter:blur(8px) !important; }
.sprop-listing-lightbox__close { top:24px !important; right:24px !important; }
.sprop-listing-lightbox__prev { left:24px !important; top:50% !important; transform:translateY(-50%) !important; }
.sprop-listing-lightbox__next { right:24px !important; top:50% !important; transform:translateY(-50%) !important; }
.sprop-listing-lightbox__counter { position:absolute !important; bottom:24px !important; left:50% !important; transform:translateX(-50%) !important; color:white !important; font-family:var(--sprop-font) !important; font-weight:700 !important; background:rgba(255,255,255,.1) !important; padding:8px 16px !important; border-radius:var(--sprop-pill) !important; backdrop-filter:blur(8px) !important; }
/* ─── v1.2.0 CATEGORY PAGE + AI ARTICLE STYLES ─── */

/* ─────────────────────────────────────────────────────────────
   CATEGORY PAGE — v1.2.0
   Uses exact theme tokens: #E03C31 #0f0f0f #fbfaf6 #f3eadb
   Font: Urbanist 900 headings, italic+red on emphasis word
   ───────────────────────────────────────────────────────────── */

.sprop-cat-wrap { padding-top:72px !important; } /* header offset */

/* Breadcrumb */
.sprop-cat-bc { display:flex !important; align-items:center !important; gap:8px !important; font-size:12px !important; color:#555 !important; padding:14px 0 !important; font-weight:600 !important; }
.sprop-cat-bc a { color:#2563EB !important; text-decoration:none !important; }
.sprop-cat-bc a:hover { text-decoration:underline !important; }
.sprop-cat-bc span { color:#a0a0a0 !important; }

/* Article header */
.sprop-cat-header { padding:28px 0 22px !important; }
.sprop-cat-tag { font-size:11px !important; font-weight:800 !important; letter-spacing:0.14em !important; text-transform:uppercase !important; color:#E03C31 !important; margin-bottom:14px !important; }
.sprop-cat-h1 { font-family:'Urbanist',sans-serif !important; font-size:clamp(28px,4vw,48px) !important; font-weight:900 !important; line-height:1.08 !important; letter-spacing:-1.2px !important; color:#0f0f0f !important; margin:0 0 18px !important; }
.sprop-cat-h1 em { font-style:italic !important; color:#E03C31 !important; font-weight:900 !important; }

/* Meta bar */
.sprop-cat-meta { display:flex !important; flex-wrap:wrap !important; gap:20px !important; font-size:13px !important; color:#555 !important; padding-bottom:20px !important; border-bottom:1px solid #f0f0f0 !important; font-weight:600 !important; }
.sprop-cat-meta i { font-size:14px !important; vertical-align:-2px !important; margin-right:5px !important; color:#0f0f0f !important; }
.sprop-cat-meta strong { color:#E03C31 !important; font-weight:900 !important; }
.sprop-cat-meta__mrt { color:#2563EB !important; font-weight:700 !important; }
.sprop-cat-meta__mrt i { color:#2563EB !important; }

/* Key Takeaways */
.sprop-cat-tk { background:#fbfaf6 !important; border-radius:16px !important; padding:22px 26px !important; margin:22px 0 !important; border:1px solid #f3eadb !important; }
.sprop-cat-tk__title { font-size:11px !important; font-weight:900 !important; letter-spacing:0.14em !important; text-transform:uppercase !important; color:#0f0f0f !important; margin-bottom:14px !important; }
.sprop-cat-tk ul { list-style:none !important; padding:0 !important; margin:0 !important; }
.sprop-cat-tk li { padding:7px 0 7px 22px !important; position:relative !important; font-size:14.5px !important; line-height:1.65 !important; color:#0f0f0f !important; font-weight:500 !important; }
.sprop-cat-tk li::before { content:'' !important; position:absolute !important; left:0 !important; top:14px !important; width:8px !important; height:8px !important; background:#E03C31 !important; border-radius:50% !important; }

/* SEO Article body */
.sprop-cat-article { padding:8px 0 32px !important; }
.sprop-cat-article h2 { font-family:'Urbanist',sans-serif !important; font-size:clamp(22px,2.8vw,30px) !important; font-weight:900 !important; line-height:1.15 !important; letter-spacing:-0.8px !important; color:#0f0f0f !important; margin:36px 0 14px !important; }
.sprop-cat-article h2 em { font-style:italic !important; color:#E03C31 !important; }
.sprop-cat-article h3 { font-family:'Urbanist',sans-serif !important; font-size:18px !important; font-weight:800 !important; line-height:1.3 !important; color:#0f0f0f !important; margin:26px 0 10px !important; letter-spacing:-0.2px !important; }
.sprop-cat-article p { font-size:15.5px !important; line-height:1.85 !important; color:#555 !important; margin:0 0 16px !important; font-weight:400 !important; }
.sprop-cat-article strong { color:#0f0f0f !important; font-weight:700 !important; }
.sprop-cat-article a { color:#2563EB !important; text-decoration:none !important; border-bottom:1px solid rgba(37,99,235,.3) !important; font-weight:600 !important; }
.sprop-cat-article a:hover { border-bottom-color:#2563EB !important; }
.sprop-cat-article ul,.sprop-cat-article ol { padding-left:22px !important; margin:8px 0 18px !important; }
.sprop-cat-article li { font-size:15.5px !important; line-height:1.85 !important; margin-bottom:6px !important; color:#555 !important; }
.sprop-cat-article li::marker { color:#E03C31 !important; }
.sprop-cat-article blockquote { background:#fbfaf6 !important; padding:18px 24px !important; margin:22px 0 !important; font-size:16px !important; line-height:1.75 !important; color:#0f0f0f !important; font-weight:500 !important; font-style:italic !important; border-radius:10px !important; border:1px solid #f3eadb !important; }
.sprop-cat-article table { width:100% !important; border-collapse:collapse !important; margin:16px 0 20px !important; font-size:14px !important; border-radius:10px !important; overflow:hidden !important; }
.sprop-cat-article th { background:#0f0f0f !important; color:#fff !important; padding:11px 14px !important; text-align:left !important; font-weight:800 !important; font-size:11px !important; text-transform:uppercase !important; letter-spacing:0.08em !important; }
.sprop-cat-article td { padding:11px 14px !important; border-top:1px solid #f0f0f0 !important; color:#0f0f0f !important; font-weight:500 !important; }
.sprop-cat-article tr:nth-child(even) td { background:#fbfaf6 !important; }

/* AI article on single listing */
.sprop-ai-article h2 { font-family:'Urbanist',sans-serif !important; font-size:clamp(18px,2.2vw,24px) !important; font-weight:900 !important; line-height:1.2 !important; letter-spacing:-0.6px !important; color:#0f0f0f !important; margin:30px 0 12px !important; }
.sprop-ai-article h2 em { font-style:italic !important; color:#E03C31 !important; }
.sprop-ai-article h3 { font-size:16px !important; font-weight:800 !important; color:#0f0f0f !important; margin:22px 0 8px !important; }
.sprop-ai-article p { font-size:15px !important; line-height:1.82 !important; color:#555 !important; margin:0 0 14px !important; }
.sprop-ai-article strong { color:#0f0f0f !important; font-weight:700 !important; }
.sprop-ai-article a { color:#2563EB !important; text-decoration:none !important; border-bottom:1px solid rgba(37,99,235,.3) !important; font-weight:600 !important; }
.sprop-ai-article ul,.sprop-ai-article ol { padding-left:20px !important; margin:8px 0 16px !important; }
.sprop-ai-article li { font-size:15px !important; line-height:1.82 !important; margin-bottom:5px !important; color:#555 !important; }
.sprop-ai-article li::marker { color:#E03C31 !important; }
.sprop-ai-article blockquote { background:#fbfaf6 !important; padding:16px 22px !important; margin:18px 0 !important; font-size:15px !important; line-height:1.75 !important; color:#0f0f0f !important; font-weight:500 !important; font-style:italic !important; border-radius:10px !important; border:1px solid #f3eadb !important; }
.sprop-ai-article table { width:100% !important; border-collapse:collapse !important; margin:14px 0 18px !important; font-size:14px !important; }
.sprop-ai-article th { background:#0f0f0f !important; color:#fff !important; padding:10px 13px !important; text-align:left !important; font-weight:800 !important; font-size:11px !important; text-transform:uppercase !important; letter-spacing:0.06em !important; }
.sprop-ai-article td { padding:10px 13px !important; border-top:1px solid #f0f0f0 !important; color:#0f0f0f !important; font-weight:500 !important; }
.sprop-ai-article tr:nth-child(even) td { background:#fbfaf6 !important; }

/* Divider with label */
.sprop-cat-divider { display:flex !important; align-items:center !important; gap:16px !important; margin:16px 0 0 !important; }
.sprop-cat-divider::before,.sprop-cat-divider::after { content:'' !important; flex:1 !important; height:1px !important; background:#f0f0f0 !important; }
.sprop-cat-divider span { font-family:'Urbanist',sans-serif !important; font-size:16px !important; font-weight:900 !important; color:#0f0f0f !important; white-space:nowrap !important; letter-spacing:-0.3px !important; }

/* Sort bar + chips */
.sprop-cat-sortbar { background:#fff !important; border-top:1px solid #f0f0f0 !important; border-bottom:1px solid #f0f0f0 !important; padding:14px 0 !important; position:sticky !important; top:72px !important; z-index:10 !important; }
.sprop-cat-sortbar__inner { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; flex-wrap:wrap !important; }
.sprop-cat-chips { display:flex !important; gap:6px !important; flex-wrap:wrap !important; }
.sprop-cat-chip { display:inline-block !important; padding:7px 14px !important; background:#fff !important; border:1.5px solid #e0e0e0 !important; border-radius:100px !important; font-family:'Urbanist',sans-serif !important; font-size:13px !important; font-weight:700 !important; color:#0f0f0f !important; text-decoration:none !important; transition:all .15s ease !important; }
.sprop-cat-chip:hover { border-color:#E03C31 !important; color:#E03C31 !important; }
.sprop-cat-chip.active { background:#0f0f0f !important; color:#fff !important; border-color:#0f0f0f !important; }

/* Listings grid */
.sprop-cat-listings { padding:28px 0 !important; }
.sprop-cat-grid { display:grid !important; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)) !important; gap:20px !important; }
@media(max-width:640px) { .sprop-cat-grid { grid-template-columns:1fr !important; } }

/* Override article-cat::before removed as requested */
.sprop-article-cat::before { display:none !important; }
.sprop-cat-article h2:first-child { margin-top:0 !important; }

/* ── FAQ Section — plain open style ─────────────────────────────── */
.sprop-faqs {
    padding: 56px 0 64px !important;
    background: #fbfaf6 !important;
}

.sprop-faqs__heading {
    font-family: 'Urbanist', sans-serif !important;
    font-size: clamp(26px, 3.5vw, 36px) !important;
    font-weight: 900 !important;
    letter-spacing: -0.7px !important;
    color: #0f0f0f !important;
    margin: 0 0 40px !important;
    line-height: 1.15 !important;
}

.sprop-faqs__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.sprop-faq-item {
    padding: 28px 0 !important;
    border-bottom: 1px solid #e2dbd0 !important;
}

.sprop-faq-item:first-child {
    border-top: 1px solid #e2dbd0 !important;
}

.sprop-faq-item__q {
    font-family: 'Urbanist', sans-serif !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #0f0f0f !important;
    margin: 0 0 14px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.2px !important;
}

.sprop-faq-item__a {
    font-family: 'Urbanist', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #555 !important;
    line-height: 1.85 !important;
    margin: 0 !important;
}

.sprop-faq-item__a strong {
    font-weight: 700 !important;
    color: #0f0f0f !important;
}

.sprop-faq-item__a a {
    color: #E03C31 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

@media (max-width: 768px) {
    .sprop-faqs {
        padding: 40px 0 48px !important;
    }
    .sprop-faqs__heading {
        font-size: 24px !important;
        margin-bottom: 28px !important;
    }
    .sprop-faq-item {
        padding: 22px 0 !important;
    }
    .sprop-faq-item__q {
        font-size: 15px !important;
        margin-bottom: 10px !important;
    }
    .sprop-faq-item__a {
        font-size: 14px !important;
        line-height: 1.75 !important;
    }
}
