.fomp{
    --blue:#1a7fd4; --blue-dark:#1260a8; --blue-light:#e8f3fc; --blue-mid:#2d91e0;
    --dark:#0d1f35; --white:#ffffff; --gray:#64748b; --light:#f5f9fe; --border:#d1e6f7;
    --sold:#c0392b;
    font-family:'Nunito Sans',sans-serif;color:var(--dark);background:var(--light)
  }
  .fomp *{margin:0;padding:0;box-sizing:border-box}
  .fomp h1,.fomp h2,.fomp h3,.fomp .btn{font-family:'Nunito',sans-serif}

  .fomp-hero{background:linear-gradient(135deg,#0d1f35 0%,#0d2a4a 100%);color:var(--white);padding:48px 20px 40px;text-align:center}
  .fomp-hero h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:900;line-height:1.2}
  .fomp-hero h1 span{color:var(--blue-mid)}
  .fomp-hero p{color:#b8cbe0;margin:10px auto 0;font-size:1.05rem;max-width:640px}
  .fomp-hero .updated{margin-top:14px;font-size:.85rem;color:#7e97b3}

  .fomp-wrap{max-width:1160px;margin:0 auto;padding:36px 20px 72px}
  .fomp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}

  .fomp-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(13,31,53,.06)}
  .fomp-card .photo{position:relative;aspect-ratio:4/3;background:var(--blue-light);display:flex;align-items:center;justify-content:center;overflow:hidden}
  .fomp-card .photo img{width:100%;height:100%;object-fit:cover}
  .fomp-card .photo .ph{font-size:3rem;opacity:.35}
  .fomp-badge{position:absolute;top:12px;left:12px;padding:5px 14px;border-radius:20px;font-weight:800;font-size:.8rem;letter-spacing:.04em;font-family:'Nunito',sans-serif}
  .fomp-badge.avail{background:var(--blue);color:#fff}
  .fomp-badge.sold{background:var(--sold);color:#fff}
  .fomp-card.is-sold .photo img,.fomp-card.is-sold .photo .ph{filter:grayscale(70%);opacity:.75}

  .fomp-card .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
  .fomp-price{font-family:'Nunito',sans-serif;font-weight:900;font-size:1.45rem;color:var(--blue-dark)}
  .fomp-price .label{display:block;font-size:.72rem;font-weight:600;color:var(--gray);letter-spacing:.05em;text-transform:uppercase}
  .fomp-addr{font-weight:700;font-size:1.02rem;line-height:1.35}
  .fomp-specs{display:flex;gap:14px;flex-wrap:wrap;color:var(--gray);font-size:.9rem;margin-top:2px}
  .fomp-specs b{color:var(--dark)}

  .fomp .btn{margin-top:auto;display:block;width:100%;padding:13px;border:none;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;font-size:1rem;cursor:pointer;text-align:center;transition:background .15s}
  .fomp .btn:hover{background:var(--blue-dark)}
  .fomp .btn[disabled]{background:#9db4c9;cursor:default}

  .fomp-empty,.fomp-loading{padding:70px 20px;text-align:center;color:var(--gray);font-size:1.05rem}

  .fomp-overlay{position:fixed;inset:0;background:rgba(13,31,53,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:99999}
  .fomp-overlay.open{display:flex}
  .fomp-modal{background:#fff;border-radius:16px;max-width:430px;width:100%;padding:28px;font-family:'Nunito Sans',sans-serif}
  .fomp-modal h3{font-size:1.25rem;font-weight:800;margin-bottom:4px;font-family:'Nunito',sans-serif}
  .fomp-modal .sub{color:var(--gray);font-size:.92rem;margin-bottom:18px}
  .fomp-modal label{display:block;font-size:.85rem;font-weight:600;margin:12px 0 5px}
  .fomp-modal input[type=text],.fomp-modal input[type=tel]{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;font-size:1rem;font-family:inherit}
  .fomp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .fomp-consent{display:flex;gap:9px;align-items:flex-start;margin-top:14px;font-size:.78rem;color:var(--gray);line-height:1.45}
  .fomp-consent input{margin-top:3px;flex:none}
  .fomp-consent label{margin:0;font-weight:400;font-size:.78rem}
  .fomp-modal .btn{margin-top:18px}
  .fomp-modal .close{background:none;border:none;color:var(--gray);font-size:.9rem;margin-top:10px;width:100%;cursor:pointer;font-family:inherit}
  .fomp-msg{margin-top:12px;font-size:.92rem;display:none;padding:10px 12px;border-radius:8px}
  .fomp-msg.ok{display:block;background:#e8f8ee;color:#1e7a41}
  .fomp-msg.err{display:block;background:#fdecea;color:#b3261e}
  /* The theme prints its own page title above the hero, duplicating it. */
  .page-id-246 h1.entry-title{display:none}