{"id":1616,"date":"2026-05-22T14:32:02","date_gmt":"2026-05-22T11:32:02","guid":{"rendered":"https:\/\/bellamarportghalib.com\/?page_id=1616"},"modified":"2026-09-02T14:22:31","modified_gmt":"2026-09-02T11:22:31","slug":"units-prices","status":"publish","type":"page","link":"https:\/\/bellamarportghalib.com\/pl\/units-prices\/","title":{"rendered":"Apartamenty &amp; Ceny"},"content":{"rendered":"\n<!-- ============================================================\n     BELLA MAR \u2014 UNITS & PRICES PAGE\n     ========================================\n     Full 21-unit inventory with real-time filter tabs.\n     All units shown (including sold) for maximum transparency.\n     Sold units show a \"Sold\" badge \u2014 no buyer name\/nationality\n     displayed here (kept in \"Our First Owners\" homepage section\n     for the 4 approved international clients only).\n     ========================================\n     \ud83d\udd27 REPLACE the 3 floor plan image URLs (search \"REPLACE-FLOORPLAN\")\n     with your real floor plan images.\n     Paste this whole thing into a Custom HTML block on the\n     \"Units & Prices\" page (set page template to Full Width first).\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,700;1,600&#038;family=Inter:wght@300;400;500;600&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n.bmunits *, .bmunits *::before, .bmunits *::after {\n  box-sizing: border-box; margin: 0; padding: 0;\n}\n:root {\n  --navy:   #1B3A5C;\n  --navy-d: #122A44;\n  --teal:   #0E7C7B;\n  --gold:   #C9952A;\n  --dark:   #2C2C2C;\n  --mid:    #555555;\n  --subtle: #888888;\n  --off:    #FAFAFA;\n  --sold:   #B23A3A;\n  --ff-d:   'Playfair Display', Georgia, serif;\n  --ff-b:   'Inter', system-ui, sans-serif;\n}\n\n.bmunits {\n  width: 100vw;\n  margin-left: calc(-50vw + 50%);\n  margin-right: calc(-50vw + 50%);\n  margin-top: calc(-50vw + 50%);\n  margin-bottom: calc(-50vw + 50%);\n  font-family: var(--ff-b);\n  background: var(--off);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 BANNER \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.bmunits__banner {\n  background: linear-gradient(135deg, var(--navy) 0%, var(--navy-d) 100%);\n  padding: clamp(3.5rem, 7vw, 5.5rem) 2.5rem clamp(2.5rem, 5vw, 3.5rem);\n  text-align: center;\n}\n.bmunits__banner-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  font-size: 10.5px;\n  font-weight: 600;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  color: var(--gold);\n  margin-bottom: 0.25rem;\n  margin-top: 50px;\n}\n\/* .bmunits__banner-eyebrow::before,\n.bmunits__banner-eyebrow::after {\n  content: '';\n  width: 22px; height: 1.5px;\n  background: var(--gold);\n} *\/\n.bmunits__banner-title {\n  font-family: var(--ff-d);\n  font-size: clamp(2rem, 4.5vw, 3.2rem);\n  font-weight: 700;\n  color: #fff;\n  margin-bottom: 0.75rem;\n}\n.bmunits__banner-title em {\n  font-style: italic;\n  color: var(--gold);\n}\n.bmunits__banner-sub {\n  font-size: 15px;\n  color: rgba(255,255,255,0.68);\n  max-width: 560px;\n  margin: 0 auto 2rem;\n  line-height: 1.6;\n}\n\n\/* quick stats row *\/\n.bmunits__stats {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: clamp(1.5rem, 4vw, 3rem);\n  flex-wrap: wrap;\n}\n.bmunits__stat {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 2px;\n}\n.bmunits__stat-num {\n  font-family: var(--ff-d);\n  font-size: 1.9rem;\n  font-weight: 700;\n  color: var(--gold);\n}\n.bmunits__stat-label {\n  font-size: 11px;\n  color: rgba(255,255,255,0.55);\n  text-transform: uppercase;\n  letter-spacing: 0.06em;\n}\n.bmunits__stat-sep {\n  width: 1px;\n  height: 32px;\n  background: rgba(255,255,255,0.15);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 FILTER TABS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.bmunits__tabs-wrap {\n  position: sticky;\n  top: 0;\n  z-index: 20;\n  background: #fff;\n  border-bottom: 1px solid rgba(27,58,92,0.08);\n  box-shadow: 0 2px 12px rgba(27,58,92,0.04);\n}\n.bmunits__tabs {\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 1rem 2.5rem;\n  display: flex;\n  gap: 0.6rem;\n  flex-wrap: wrap;\n  justify-content: center;\n}\n.bmunits__tab {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  padding: 10px 20px;\n  border-radius: 100px;\n  border: 1.5px solid rgba(27,58,92,0.15);\n  background: #fff;\n  color: var(--navy);\n  font-family: var(--ff-b);\n  font-size: 13.5px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;\n}\n.bmunits__tab-count {\n  font-size: 11px;\n  padding: 1px 7px;\n  border-radius: 100px;\n  background: rgba(27,58,92,0.08);\n  color: var(--navy);\n}\n.bmunits__tab--active {\n  background: var(--navy);\n  border-color: var(--navy);\n  color: #fff;\n}\n.bmunits__tab--active .bmunits__tab-count {\n  background: rgba(255,255,255,0.18);\n  color: #fff;\n}\n.bmunits__tab:hover:not(.bmunits__tab--active) {\n  border-color: var(--teal);\n  color: var(--teal);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 GRID \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.bmunits__body {\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: clamp(2.5rem, 5vw, 3.5rem) 2.5rem;\n}\n\n.bmunits__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));\n  gap: 1.25rem;\n}\n\n.bmunits__card {\n  background: #fff;\n  border: 1px solid rgba(27,58,92,0.08);\n  border-radius: 14px;\n  padding: 1.4rem 1.3rem;\n  display: flex;\n  flex-direction: column;\n  gap: 0.85rem;\n  transition: transform 0.22s ease, box-shadow 0.22s ease;\n  position: relative;\n}\n.bmunits__card:hover {\n  transform: translateY(-4px);\n  box-shadow: 0 12px 32px rgba(27,58,92,0.10);\n}\n.bmunits__card--sold {\n  opacity: 0.6;\n}\n.bmunits__card--sold:hover {\n  transform: none;\n  box-shadow: none;\n}\n\n.bmunits__card-top {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n}\n.bmunits__unit-id {\n  font-family: var(--ff-d);\n  font-size: 1.25rem;\n  font-weight: 700;\n  color: var(--navy);\n}\n.bmunits__unit-floor {\n  font-size: 11.5px;\n  color: var(--subtle);\n  margin-top: 2px;\n}\n\n.bmunits__badge {\n  font-size: 10.5px;\n  font-weight: 700;\n  letter-spacing: 0.04em;\n  text-transform: uppercase;\n  padding: 4px 10px;\n  border-radius: 100px;\n  white-space: nowrap;\n}\n.bmunits__badge--available {\n  background: rgba(14,124,123,0.12);\n  color: var(--teal);\n}\n.bmunits__badge--sold {\n  background: rgba(178,58,58,0.12);\n  color: var(--sold);\n}\n\n.bmunits__specs-row {\n  display: flex;\n  gap: 1rem;\n  font-size: 12.5px;\n  color: var(--mid);\n}\n.bmunits__spec {\n  display: flex;\n  align-items: center;\n  gap: 5px;\n}\n\n.bmunits__price {\n  font-family: var(--ff-d);\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: var(--navy);\n}\n.bmunits__card--sold .bmunits__price {\n  text-decoration: line-through;\n  color: var(--subtle);\n}\n.bmunits__cash-price {\n  font-size: 12px;\n  color: var(--teal);\n  font-weight: 600;\n  margin-top: -4px;\n}\n.bmunits__cash-price strong {\n  font-weight: 700;\n}\n\n.bmunits__card-actions {\n  display: flex;\n  gap: 8px;\n  margin-top: auto;\n}\n.bmunits__btn-plan {\n  flex: 1;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  padding: 9px 12px;\n  border-radius: 7px;\n  border: 1.5px solid rgba(27,58,92,0.18);\n  background: transparent;\n  color: var(--navy);\n  font-family: var(--ff-b);\n  font-size: 12px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: background 0.2s ease, border-color 0.2s ease;\n}\n.bmunits__btn-plan:hover {\n  background: rgba(27,58,92,0.05);\n  border-color: var(--navy);\n}\n.bmunits__btn-plan:disabled {\n  opacity: 0.4;\n  cursor: not-allowed;\n}\n.bmunits__btn-whatsapp {\n  flex: 1;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  padding: 9px 12px;\n  border-radius: 7px;\n  border: none;\n  background: var(--teal);\n  color: #fff;\n  font-family: var(--ff-b);\n  font-size: 12px;\n  font-weight: 600;\n  text-decoration: none;\n  cursor: pointer;\n  transition: background 0.2s ease, transform 0.2s ease;\n}\n.bmunits__btn-whatsapp:hover {\n  background: #0a5f5e;\n  transform: translateY(-1px);\n}\n.bmunits__price-hidden {\n  font-size: 12.5px;\n  color: var(--subtle);\n  font-style: italic;\n  margin-bottom: 2px;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 PAYMENT STRIP \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.bmunits__payment {\n  margin-top: clamp(3rem, 6vw, 4rem);\n  margin-bottom: clamp(10rem, 9vw, 7rem);\n  background: linear-gradient(135deg, var(--navy) 0%, var(--teal) 100%);\n  border-radius: 18px;\n  padding: clamp(2rem, 4vw, 2.75rem);\n  display: grid;\n  gap: 1.5rem;\n  align-items: center;\n}\n.bmunits__payment-title {\n  font-family: var(--ff-d);\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: #fff;\n  line-height: 1.25;\n}\n.bmunits__payment-title span {\n  display: block;\n  font-size: 12.5px;\n  font-weight: 400;\n  color: rgba(255,255,255,0.7);\n  margin-top: 6px;\n  font-family: var(--ff-b);\n}\n.bmunits__plan {\n  background: rgba(255,255,255,0.08);\n  border: 1px solid rgba(255,255,255,0.14);\n  border-radius: 12px;\n  padding: 0.25rem 0.25rem;\n  text-align: center;\n}\n.bmunits__plan-down {\n  font-family: var(--ff-d);\n  font-size: 1.6rem;\n  font-weight: 700;\n  color: var(--gold);\n}\n.bmunits__plan-years {\n  font-size: 12px;\n  color: #fff;\n  font-weight: 600;\n  margin: 4px 0 3px;\n}\n.bmunits__plan-note {\n  font-size: 10.5px;\n  color: rgba(255,255,255,0.6);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 FLOOR PLAN MODAL \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.bmunits__modal-overlay {\n  position: fixed;\n  inset: 0;\n  background: rgba(11,28,46,0.82);\n  z-index: 100;\n  display: none;\n  align-items: flex-start;\n  justify-content: center;\n  padding: 2rem 1rem;\n  overflow-y: auto;\n  -webkit-overflow-scrolling: touch;\n  backdrop-filter: blur(4px);\n}\n.bmunits__modal-overlay--open {\n  display: flex;\n}\n.bmunits__modal {\n  background: #fff;\n  border-radius: 16px;\n  max-width: 780px;\n  width: 100%;\n  margin: 0 auto;\n  display: flex;\n  flex-direction: column;\n}\n.bmunits__modal-head {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 1.1rem 1.4rem;\n  border-bottom: 1px solid rgba(27,58,92,0.08);\n}\n.bmunits__modal-title {\n  font-family: var(--ff-d);\n  font-size: 1.15rem;\n  font-weight: 700;\n  color: var(--navy);\n}\n.bmunits__modal-close {\n  width: 32px; height: 32px;\n  border-radius: 8px;\n  border: none;\n  background: rgba(27,58,92,0.06);\n  color: var(--navy);\n  font-size: 18px;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transition: background 0.2s ease;\n}\n.bmunits__modal-close:hover {\n  background: rgba(27,58,92,0.12);\n}\n.bmunits__modal-close:focus-visible,\n.bmunits__btn-plan:focus-visible,\n.bmunits__tab:focus-visible {\n  outline: 2px solid var(--teal);\n  outline-offset: 2px;\n}\n.bmunits__modal-body {\n  padding: 1.4rem;\n  background: var(--off);\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n  gap: 1.2rem;\n}\n.bmunits__modal-img-block {\n  background: #fff;\n  border-radius: 10px;\n  overflow: hidden;\n  border: 1px solid rgba(27,58,92,0.08);\n}\n.bmunits__modal-img-block img {\n  width: 100%;\n  height: auto;\n  display: block;\n  background: #eee;\n}\n.bmunits__modal-img-caption {\n  padding: 10px 14px;\n  font-size: 12px;\n  font-weight: 600;\n  color: var(--navy);\n  border-top: 1px solid rgba(27,58,92,0.06);\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 RESPONSIVE \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n@media (max-width: 900px) {\n  .bmunits__payment {\n    grid-template-columns: 1fr;\n  }\n}\n@media (max-width: 560px) {\n  .bmunits__banner { padding: 3rem 1.25rem 2rem; }\n  .bmunits__body { padding: 2rem 1.25rem; }\n  .bmunits__tabs { padding: 0.85rem 1.25rem; gap: 0.4rem; }\n  .bmunits__tab { padding: 8px 14px; font-size: 12.5px; }\n  .bmunits__grid { grid-template-columns: 1fr; }\n}\n\n\/* reveal *\/\n.bmunits-reveal {\n  opacity: 0;\n  transform: translateY(16px);\n  transition: opacity 0.45s ease, transform 0.45s ease;\n}\n.bmunits-reveal.bmunits--in { opacity: 1; transform: translateY(0); }\n@media (prefers-reduced-motion: reduce) {\n  .bmunits-reveal { opacity: 1; transform: none; transition: none; }\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 STICKY MOBILE CTA \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.bmunits__sticky-cta {\n  display: none;\n}\n@media (max-width: 768px) {\n  .bmunits__sticky-cta {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    position: fixed;\n    bottom: 0; left: 0; right: 0;\n    z-index: 50;\n    padding: 14px;\n    background: var(--teal);\n    color: #fff;\n    text-decoration: none;\n    font-family: var(--ff-b);\n    font-size: 14px;\n    font-weight: 600;\n    box-shadow: 0 -4px 16px rgba(0,0,0,0.15);\n  }\n}\n<\/style>\n\n<div class=\"bmunits\">\n\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 BANNER \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n  <div class=\"bmunits__banner\">\n    <p class=\"bmunits__banner-eyebrow\"><\/p>\n    <h1 class=\"bmunits__banner-title\">\n      Units &amp; <em>Prices<\/em>\n    <\/h1>\n    <p class=\"bmunits__banner-sub\">\n      All 21 residences at Bella Mar, shown transparently \u2014\n      including units already reserved by our first owners.\n    <\/p>\n    <p style=\"font-size:13px;color:rgba(255,255,255,0.6);max-width:620px;margin:0 auto 1.5rem;line-height:1.7;\">\n      Curious about Port Ghalib apartment prices at Bella Mar? Because payment plans and unit pricing are updated regularly, we don&#8217;t publish figures here \u2014 message our team on WhatsApp for the current price list, tailored to the unit and payment plan (1, 2 or 3-year instalments) that suits you. Below, you&#8217;ll find all 21 residences at Bella Mar: 1-bedroom, 2-bedroom and duplex apartments in Port Ghalib, on Egypt&#8217;s Red Sea coast, each shown with floor, size and current availability.\n    <\/p>\n    <div class=\"bmunits__stats\">\n      <div class=\"bmunits__stat\">\n        <span class=\"bmunits__stat-num\" id=\"bmunits-available-count\">12<\/span>\n        <span class=\"bmunits__stat-label\">Available<\/span>\n      <\/div>\n      <div class=\"bmunits__stat-sep\" aria-hidden=\"true\"><\/div>\n      <div class=\"bmunits__stat\">\n        <span class=\"bmunits__stat-num\">21<\/span>\n        <span class=\"bmunits__stat-label\">Total Residences<\/span>\n      <\/div>\n      <!-- <div class=\"bmunits__stat-sep\" aria-hidden=\"true\"><\/div>\n      <div class=\"bmunits__stat\">\n        <span class=\"bmunits__stat-num\">\u221220%<\/span>\n        <span class=\"bmunits__stat-label\">Cash Discount<\/span>\n      <\/div> --> \n    <\/div>\n  <\/div>\n\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 FILTER TABS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n  <div class=\"bmunits__tabs-wrap\">\n    <div class=\"bmunits__tabs\" role=\"tablist\" aria-label=\"Filter units by type\">\n      <button class=\"bmunits__tab bmunits__tab--active\" data-filter=\"all\" role=\"tab\" aria-selected=\"true\">\n        All <span class=\"bmunits__tab-count\">21<\/span>\n      <\/button>\n      <button class=\"bmunits__tab\" data-filter=\"1br\" role=\"tab\" aria-selected=\"false\">\n        1-Bedroom <span class=\"bmunits__tab-count\">6<\/span>\n      <\/button>\n      <button class=\"bmunits__tab\" data-filter=\"2br\" role=\"tab\" aria-selected=\"false\">\n        2-Bedroom <span class=\"bmunits__tab-count\">13<\/span>\n      <\/button>\n      <button class=\"bmunits__tab\" data-filter=\"duplex\" role=\"tab\" aria-selected=\"false\">\n        Duplex <span class=\"bmunits__tab-count\">2<\/span>\n      <\/button>\n    <\/div>\n  <\/div>\n\n  <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 GRID BODY \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n  <div class=\"bmunits__body\">\n    <div class=\"bmunits__grid\" id=\"bmunits-grid\">\n      <!-- Cards are injected by JS from the UNITS array below -->\n    <\/div>\n\n    <!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 PAYMENT STRIP \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n    <div class=\"bmunits__payment bmunits-reveal\">\n      <div class=\"bmunits__payment-title\">\n        Flexible Payment Plans\n        <span>Choose the term that fits you \u2014 every plan includes the same unit price.<\/span>\n        <span style=\"display:block;margin-top:8px;\">No annual service fees \u00b7 Airbnb permitted \u00b7 Reg. No. 247613<\/span>\n      <\/div>\n      <div class=\"bmunits__plan\">\n        <div class=\"bmunits__plan-down\">20%<\/div>\n        <div class=\"bmunits__plan-years\">1 Year<\/div>\n        <div class=\"bmunits__plan-note\">down payment<\/div>\n      <\/div>\n      <div class=\"bmunits__plan\">\n        <div class=\"bmunits__plan-down\">25%<\/div>\n        <div class=\"bmunits__plan-years\">2 Years<\/div>\n        <div class=\"bmunits__plan-note\">down payment<\/div>\n      <\/div>\n      <div class=\"bmunits__plan\">\n        <div class=\"bmunits__plan-down\">35%<\/div>\n        <div class=\"bmunits__plan-years\">3 Years<\/div>\n        <div class=\"bmunits__plan-note\">down payment<\/div>\n      <\/div>\n      <div class=\"bmunits__plan\">\n        <div class=\"bmunits__plan-down\">Cash<\/div>\n        <div class=\"bmunits__plan-years\">-10%<\/div>\n        <div class=\"bmunits__plan-note\">discount<\/div>\n      <\/div> \n    <\/div>\n  <\/div>\n\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 FLOOR PLAN MODAL \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"bmunits__modal-overlay\" id=\"bmunits-modal-overlay\">\n  <div class=\"bmunits__modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"bmunits-modal-title\">\n    <div class=\"bmunits__modal-head\">\n      <span class=\"bmunits__modal-title\" id=\"bmunits-modal-title\">Floor Plan<\/span>\n      <button class=\"bmunits__modal-close\" id=\"bmunits-modal-close\" aria-label=\"Close floor plan\">\u2715<\/button>\n    <\/div>\n    <div class=\"bmunits__modal-body\">\n      <div class=\"bmunits__modal-img-block\">\n        <img decoding=\"async\" id=\"bmunits-modal-img-plan\" src=\"\" alt=\"Unit floor plan \u2014 location within the building\">\n        <div class=\"bmunits__modal-img-caption\">Floor Plan \u2014 Location in Building<\/div>\n      <\/div>\n      <div class=\"bmunits__modal-img-block\">\n        <img decoding=\"async\" id=\"bmunits-modal-img-interior\" src=\"\" alt=\"Unit interior layout\">\n        <div class=\"bmunits__modal-img-caption\">Interior Layout<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n(function () {\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     UNIT DATA \u2014 official price list, 21 units total.\n     Prices must never exceed the official range.\n     status: \"available\" | \"sold\"\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  var UNITS = [\n    \/\/ 1-Bedroom (75\u201376 m\u00b2)\n    { id:'104', type:'1br', typeLabel:'1-Bedroom', floor:'1st Floor', size:69, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom_diagram-1.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom-1-Copy.jpg' },\n    { id:'204', type:'1br', typeLabel:'1-Bedroom', floor:'2nd Floor', size:69, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom_diagram-1.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom-1-Copy.jpg' },\n    { id:'304', type:'1br', typeLabel:'1-Bedroom', floor:'3rd Floor', size:69, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom_diagram-1.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom-1-Copy.jpg' },\n    { id:'105', type:'1br', typeLabel:'1-Bedroom', floor:'1st Floor', size:76, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom_diagram-2.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom-2-Copy.jpg' },\n    { id:'205', type:'1br', typeLabel:'1-Bedroom', floor:'2nd Floor', size:69, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom_diagram-2.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom-2-Copy.jpg' },\n    { id:'305', type:'1br', typeLabel:'1-Bedroom', floor:'3rd Floor', size:69, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom_diagram-2.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/one-bedroom-2-Copy.jpg' },\n\n    \/\/ 2-Bedroom (84\u201395 m\u00b2)\n    { id:'107', type:'2br', typeLabel:'2-Bedroom', floor:'1st Floor', size:79, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-5.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-5-Copy.jpg' },\n    { id:'207', type:'2br', typeLabel:'2-Bedroom', floor:'2nd Floor', size:79, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-5.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-5-Copy.jpg' },\n    { id:'307', type:'2br', typeLabel:'2-Bedroom', floor:'3rd Floor', size:79, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-5.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-5-Copy.jpg' },\n    { id:'202', type:'2br', typeLabel:'2-Bedroom', floor:'2nd Floor', size:82, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-2.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-2.jpg' },\n    { id:'302', type:'2br', typeLabel:'2-Bedroom', floor:'3rd Floor', size:82, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-2.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-2.jpg' },\n    { id:'101', type:'2br', typeLabel:'2-Bedroom', floor:'1st Floor', size:84, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-3.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-3.jpg' },\n    { id:'201', type:'2br', typeLabel:'2-Bedroom', floor:'2nd Floor', size:84, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-3.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-3.jpg' },\n    { id:'301', type:'2br', typeLabel:'2-Bedroom', floor:'3rd Floor', size:84, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-3.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-3.jpg' },\n    { id:'106', type:'2br', typeLabel:'2-Bedroom', floor:'1st Floor', size:86, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-4.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-4-Copy.jpg' },\n    { id:'206', type:'2br', typeLabel:'2-Bedroom', floor:'2nd Floor', size:86, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-4.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-4-Copy.jpg' },\n    { id:'306', type:'2br', typeLabel:'2-Bedroom', floor:'3rd Floor', size:86, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-4.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-4-Copy.jpg' },\n    { id:'203', type:'2br', typeLabel:'2-Bedroom', floor:'2nd Floor', size:87, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-1.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-1.jpg' },\n    { id:'303', type:'2br', typeLabel:'2-Bedroom', floor:'3rd Floor', size:87, status:'sold', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom_diagram-1.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/two-bedroom-1.jpg' },\n\n    \/\/ Duplex (170\u2013188 m\u00b2)\n    { id:'102', type:'duplex', typeLabel:'Duplex', floor:'Ground + Pool Level', size:280, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-16-214138.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-16-213719.jpg' },\n    { id:'103', type:'duplex', typeLabel:'Duplex', floor:'Ground + Pool Level', size:220, status:'available', floorPlanImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-16-224614.jpg', interiorImg:'https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/Screenshot-2026-07-16-224508.jpg' }\n  ];\n\n  var grid = document.getElementById('bmunits-grid');\n  var tabs = document.querySelectorAll('.bmunits__tab');\n  var modalOverlay = document.getElementById('bmunits-modal-overlay');\n  var modalImgPlan = document.getElementById('bmunits-modal-img-plan');\n  var modalImgInterior = document.getElementById('bmunits-modal-img-interior');\n  var modalTitle = document.getElementById('bmunits-modal-title');\n  var modalClose = document.getElementById('bmunits-modal-close');\n  var lastFocusedTrigger = null;\n\n  function euro(n) {\n    return '\u20ac' + n.toLocaleString('en-US');\n  }\n\n  \/* \u2500\u2500 Language detection: works with TranslatePress's \/pl\/ URL prefix \u2500\u2500 *\/\n  function getLang() {\n    var htmlLang = document.documentElement.lang || '';\n    if (htmlLang.toLowerCase().indexOf('pl') === 0) return 'pl';\n    if (window.location.pathname.indexOf('\/pl\/') !== -1) return 'pl';\n    return 'en';\n  }\n  var LANG = getLang();\n\n  var I18N = {\n    en: {\n      unitWord: 'Unit',\n      available: 'Available',\n      sold: 'Sold',\n      priceOnRequest: 'Price on request',\n      viewPlan: 'View Floor Plan &amp; Interior',\n      askPrice: 'Ask Price',\n      floorPlanCaption: 'Floor Plan \u2014 Location in Building',\n      interiorCaption: 'Interior Layout',\n      typeLabels: { '1-Bedroom': '1-Bedroom', '2-Bedroom': '2-Bedroom', 'Duplex': 'Duplex' },\n      floorLabels: { '1st Floor': '1st Floor', '2nd Floor': '2nd Floor', '3rd Floor': '3rd Floor', 'Ground + Pool Level': 'Ground + Pool Level' },\n      waMessage: function (u) {\n        return 'Hi, I\\'m interested in Unit ' + u.id + ' (' + u.typeLabel + ', ' + u.size + ' m\u00b2) at Bella Mar. Could you send me the price?';\n      }\n    },\n    pl: {\n      unitWord: 'Apartament',\n      available: 'Dost\u0119pny',\n      sold: 'Sprzedany',\n      priceOnRequest: 'Cena na zapytanie',\n      viewPlan: 'Zobacz Rzut i Wn\u0119trze',\n      askPrice: 'Zapytaj o Cen\u0119',\n      floorPlanCaption: 'Rzut \u2014 Lokalizacja w Budynku',\n      interiorCaption: 'Uk\u0142ad Wn\u0119trza',\n      typeLabels: { '1-Bedroom': 'Z 1 Sypialni\u0105', '2-Bedroom': 'Z 2 Sypialniami', 'Duplex': 'Duplex' },\n      floorLabels: { '1st Floor': '1. Pi\u0119tro', '2nd Floor': '2. Pi\u0119tro', '3rd Floor': '3. Pi\u0119tro', 'Ground + Pool Level': 'Parter + Poziom Basenu' },\n      waMessage: function (u) {\n        return 'Dzie\u0144 dobry, jestem zainteresowany\/a Apartamentem ' + u.id + ' (' + I18N.pl.typeLabels[u.typeLabel] + ', ' + u.size + ' m\u00b2) w Bella Mar. Czy mogliby Pa\u0144stwo przes\u0142a\u0107 mi cen\u0119?';\n      }\n    }\n  };\n  var t = I18N[LANG];\n\n  \/* Edit 1: compute the \"Available\" stat from UNITS instead of hardcoding it *\/\n  function updateAvailableCount() {\n    var availableCount = UNITS.filter(function (u) { return u.status === 'available'; }).length;\n    var el = document.getElementById('bmunits-available-count');\n    if (el) el.textContent = availableCount;\n  }\n\n  function renderCards(filter) {\n    grid.innerHTML = '';\n    var list = filter === 'all' ? UNITS : UNITS.filter(function(u){ return u.type === filter; });\n\n    list.forEach(function(u, i) {\n      var isSold = u.status === 'sold';\n      var card = document.createElement('div');\n      card.className = 'bmunits__card bmunits-reveal' + (isSold ? ' bmunits__card--sold' : '');\n      card.setAttribute('data-type', u.type);\n\nvar floorLabel = t.floorLabels[u.floor] || u.floor;\n      var typeLabelText = t.typeLabels[u.typeLabel] || u.typeLabel;\n\n      card.innerHTML =\n        '<div class=\"bmunits__card-top\">' +\n          '<div>' +\n            '<div class=\"bmunits__unit-id\">' + t.unitWord + ' ' + u.id + '<\/div>' +\n            '<div class=\"bmunits__unit-floor\">' + floorLabel + '<\/div>' +\n          '<\/div>' +\n          '<span class=\"bmunits__badge ' + (isSold ? 'bmunits__badge--sold' : 'bmunits__badge--available') + '\">' +\n            (isSold ? t.sold : t.available) +\n          '<\/span>' +\n        '<\/div>' +\n        '<div class=\"bmunits__specs-row\">' +\n          '<span class=\"bmunits__spec\">\u25a2 ' + u.size + ' m\u00b2<\/span>' +\n          '<span class=\"bmunits__spec\">' + typeLabelText + '<\/span>' +\n        '<\/div>' +\n        (!isSold ? '<div class=\"bmunits__price-hidden\">' + t.priceOnRequest + '<\/div>' : '') +\n        '<div class=\"bmunits__card-actions\">' +\n          '<button class=\"bmunits__btn-plan\" data-plan-unit=\"' + u.id + '\">' +\n            t.viewPlan +\n          '<\/button>' +\n          (!isSold ?\n            '<a class=\"bmunits__btn-whatsapp\" target=\"_blank\" rel=\"noopener\" href=\"https:\/\/wa.me\/201130924774?text=' +\n            encodeURIComponent(t.waMessage(u)) +\n            '\"><img decoding=\"async\" src=\"https:\/\/bellamarportghalib.com\/wp-content\/uploads\/2026\/07\/icons8-whatsapp-logo-50.png\" alt=\"WhatsApp\" style=\"width: 20px; height: 20px;\"> ' + t.askPrice + ' <\/a>'\n          : '') +\n        '<\/div>';\n\n      grid.appendChild(card);\n\n      \/* stagger reveal *\/\n      setTimeout(function () {\n        card.classList.add('bmunits--in');\n      }, 20 * i);\n    });\n\n    \/* wire up floor plan buttons *\/\n    grid.querySelectorAll('.bmunits__btn-plan').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        var unitId = this.getAttribute('data-plan-unit');\n        lastFocusedTrigger = this;\n        openModal(unitId);\n      });\n    });\n  }\n\n  function getFocusableInModal() {\n    return modalOverlay.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n  }\n\n  function trapFocus(e) {\n    if (e.key !== 'Tab') return;\n    var focusable = getFocusableInModal();\n    if (!focusable.length) return;\n    var first = focusable[0];\n    var last = focusable[focusable.length - 1];\n    if (e.shiftKey && document.activeElement === first) {\n      e.preventDefault();\n      last.focus();\n    } else if (!e.shiftKey && document.activeElement === last) {\n      e.preventDefault();\n      first.focus();\n    }\n  }\n\n  function openModal(unitId) {\n    var unit = UNITS.filter(function (u) { return u.id === unitId; })[0];\n    if (!unit) return;\n    var typeLabelText = t.typeLabels[unit.typeLabel] || unit.typeLabel;\n    modalTitle.textContent = t.unitWord + ' ' + unit.id + ' \u2014 ' + typeLabelText + ' (' + unit.size + ' m\u00b2)';\n    modalImgPlan.src = unit.floorPlanImg || '';\n    modalImgInterior.src = unit.interiorImg || '';\n    if (modalImgPlan.nextElementSibling) modalImgPlan.nextElementSibling.textContent = t.floorPlanCaption;\n    if (modalImgInterior.nextElementSibling) modalImgInterior.nextElementSibling.textContent = t.interiorCaption;\n    modalOverlay.classList.add('bmunits__modal-overlay--open');\n    document.body.style.overflow = 'hidden';\n    modalClose.focus();\n    document.addEventListener('keydown', trapFocus);\n  }\n\n  function closeModal() {\n    modalOverlay.classList.remove('bmunits__modal-overlay--open');\n    document.body.style.overflow = '';\n    document.removeEventListener('keydown', trapFocus);\n    if (lastFocusedTrigger) {\n      lastFocusedTrigger.focus();\n      lastFocusedTrigger = null;\n    }\n  }\n\n  modalClose.addEventListener('click', closeModal);\n  modalOverlay.addEventListener('click', function (e) {\n    if (e.target === modalOverlay) closeModal();\n  });\n  document.addEventListener('keydown', function (e) {\n    if (e.key === 'Escape') closeModal();\n  });\n\n  \/* tab switching *\/\n  tabs.forEach(function (tab) {\n    tab.addEventListener('click', function () {\n      tabs.forEach(function (t) {\n        t.classList.remove('bmunits__tab--active');\n        t.setAttribute('aria-selected', 'false');\n      });\n      this.classList.add('bmunits__tab--active');\n      this.setAttribute('aria-selected', 'true');\n      renderCards(this.getAttribute('data-filter'));\n    });\n  });\n\n  \/* initial render *\/\n  updateAvailableCount();\n  renderCards('all');\n\n  \/* scroll reveal for payment strip *\/\n  if ('IntersectionObserver' in window) {\n    var obs = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('bmunits--in');\n          obs.unobserve(entry.target);\n        }\n      });\n    }, { threshold: 0.15 });\n    document.querySelectorAll('.bmunits__payment.bmunits-reveal').forEach(function (el) {\n      obs.observe(el);\n    });\n  } else {\n    document.querySelector('.bmunits__payment').classList.add('bmunits--in');\n  }\n\n})();\n<\/script>\n\n\n\n<!-- ============================================================\n     BELLA MAR \u2014 FOOTER\n     ========================================\n     Final conversion point + legal (GDPR) + contact.\n     Contact details pulled from project files:\n       Phone\/WhatsApp: +20 1130924774\n       Email: info@bellamarportghalib.com\n       Web: www.bellamarportghalib.com\n     ========================================\n     Paste into a Custom HTML block at the very bottom.\n     \ud83d\udd27 Update social links + privacy policy URL as needed.\n-->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,700;1,600&#038;family=Inter:wght@300;400;500;600&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n.bmfoot *, .bmfoot *::before, .bmfoot *::after {\n  box-sizing: border-box; margin: 0; padding: 0;\n}\n:root {\n  --navy:  #1B3A5C;\n  --navy-d:#122A44;\n  --teal:  #0E7C7B;\n  --gold:  #C9952A;\n  --ff-d:  'Playfair Display', Georgia, serif;\n  --ff-b:  'Inter', system-ui, sans-serif;\n}\n\n.bmfoot {\n  position: relative;\n  width: 100vw;\n  margin-left: calc(-50vw + 50%);\n  margin-right: calc(-50vw + 50%);\n  margin-bottom: calc(-50vw + 50%);\n  padding: 0;\n  background: var(--navy-d);\n  font-family: var(--ff-b);\n  color: rgba(255,255,255,0.7);\n}\n\n\/* \u2500\u2500 TOP CTA BAND \u2500\u2500 *\/\n.bmfoot__cta-band {\n  background: linear-gradient(135deg, var(--navy) 0%, var(--teal) 100%);\n  padding: clamp(2.5rem, 5vw, 3.5rem) 2.5rem;\n}\n.bmfoot__cta-inner {\n  max-width: 1160px;\n  margin: 0 auto;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 2rem;\n  flex-wrap: wrap;\n}\n.bmfoot__cta-text {\n  flex: 1;\n  min-width: 260px;\n}\n.bmfoot__cta-title {\n  font-family: var(--ff-d);\n  font-size: clamp(1.5rem, 3vw, 2.1rem);\n  font-weight: 700;\n  color: #fff;\n  line-height: 1.2;\n  margin-bottom: 0.5rem;\n}\n.bmfoot__cta-sub {\n  font-size: 14.5px;\n  color: rgba(255,255,255,0.8);\n  line-height: 1.5;\n}\n.bmfoot__cta-sub-pl {\n  font-size: 12.5px;\n  color: rgba(255,255,255,0.55);\n  font-style: italic;\n  margin-top: 4px;\n}\n.bmfoot__cta-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 9px;\n  padding: 16px 32px;\n  border-radius: 8px;\n  background: var(--gold);\n  color: var(--navy);\n  text-decoration: none;\n  font-size: 15px;\n  font-weight: 600;\n  white-space: nowrap;\n  box-shadow: 0 6px 20px rgba(0,0,0,0.2);\n  transition: background 0.2s ease, transform 0.2s ease;\n}\n.bmfoot__cta-btn:hover {\n  background: #dba830;\n  transform: translateY(-2px);\n}\n\n\/* \u2500\u2500 MAIN FOOTER \u2500\u2500 *\/\n.bmfoot__main {\n  max-width: 1160px;\n  margin: 0 auto;\n  padding: clamp(3rem, 6vw, 4.5rem) 2.5rem clamp(2rem, 4vw, 3rem);\n  display: grid;\n  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;\n  gap: 3rem;\n}\n\n\/* Brand column *\/\n.bmfoot__brand-name {\n  font-family: var(--ff-d);\n  font-size: 1.6rem;\n  font-weight: 700;\n  color: #fff;\n  letter-spacing: 0.02em;\n  margin-bottom: 4px;\n}\n.bmfoot__brand-tag {\n  font-size: 10.5px;\n  letter-spacing: 0.22em;\n  text-transform: uppercase;\n  color: var(--gold);\n  margin-bottom: 1.25rem;\n}\n.bmfoot__brand-desc {\n  font-size: 13.5px;\n  line-height: 1.7;\n  color: rgba(255,255,255,0.6);\n  max-width: 300px;\n  margin-bottom: 1.5rem;\n}\n.bmfoot__badges {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n.bmfoot__badge {\n  font-size: 11px;\n  padding: 5px 11px;\n  border-radius: 100px;\n  border: 1px solid rgba(255,255,255,0.14);\n  color: rgba(255,255,255,0.65);\n}\n\n\/* Column headings *\/\n.bmfoot__col-title {\n  font-size: 11px;\n  font-weight: 600;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: rgba(255,255,255,0.9);\n  margin-bottom: 1.25rem;\n}\n\n\/* Link lists *\/\n.bmfoot__links {\n  list-style: none;\n  display: flex;\n  flex-direction: column;\n  gap: 11px;\n}\n.bmfoot__links a {\n  font-size: 13.5px;\n  color: rgba(255,255,255,0.62);\n  text-decoration: none;\n  transition: color 0.2s ease, padding-left 0.2s ease;\n}\n.bmfoot__links a:hover {\n  color: var(--gold);\n  padding-left: 4px;\n}\n\n\/* Contact column *\/\n.bmfoot__contact-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  margin-bottom: 14px;\n  font-size: 13.5px;\n  color: rgba(255,255,255,0.62);\n}\n.bmfoot__contact-item a {\n  color: rgba(255,255,255,0.62);\n  text-decoration: none;\n  transition: color 0.2s ease;\n}\n.bmfoot__contact-item a:hover { color: var(--gold); }\n.bmfoot__contact-icon {\n  flex-shrink: 0;\n  margin-top: 2px;\n  color: var(--gold);\n}\n\n\/* Language switch *\/\n.bmfoot__lang {\n  display: flex;\n  gap: 8px;\n  margin-top: 1.5rem;\n}\n.bmfoot__lang-btn {\n  display: inline-flex;\n  align-items: center;\n  gap: 6px;\n  padding: 7px 14px;\n  border-radius: 6px;\n  border: 1px solid rgba(255,255,255,0.16);\n  background: transparent;\n  color: rgba(255,255,255,0.7);\n  font-size: 12.5px;\n  font-weight: 500;\n  font-family: var(--ff-b);\n  text-decoration: none;\n  cursor: pointer;\n  transition: background 0.2s ease, border-color 0.2s ease;\n}\n.bmfoot__lang-btn:hover,\n.bmfoot__lang-btn--active {\n  background: rgba(255,255,255,0.08);\n  border-color: var(--gold);\n  color: #fff;\n}\n\/* Social icons *\/\n.bmfoot__social {\n  display: flex;\n  gap: 8px;\n  margin-top: 1.25rem;\n}\n.bmfoot__social a {\n  width: 34px; height: 34px;\n  border-radius: 9px;\n  background: rgba(255,255,255,0.06);\n  border: 1px solid rgba(255,255,255,0.1);\n  color: rgba(255,255,255,0.7);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-decoration: none;\n  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;\n}\n.bmfoot__social a:hover {\n  background: var(--gold);\n  border-color: var(--gold);\n  color: var(--navy);\n}\n\n\/* \u2500\u2500 BOTTOM BAR \u2500\u2500 *\/\n.bmfoot__bottom {\n  border-top: 1px solid rgba(255,255,255,0.1);\n}\n.bmfoot__bottom-inner {\n  max-width: 1160px;\n  margin: 0 auto;\n  padding: 1.5rem 2.5rem;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 1rem;\n  flex-wrap: wrap;\n}\n.bmfoot__copy {\n  font-size: 12.5px;\n  color: rgba(255,255,255,0.45);\n}\n.bmfoot__legal-links {\n  display: flex;\n  gap: 1.5rem;\n}\n.bmfoot__legal-links a {\n  font-size: 12.5px;\n  color: rgba(255,255,255,0.5);\n  text-decoration: none;\n  transition: color 0.2s ease;\n}\n.bmfoot__legal-links a:hover { color: var(--gold); }\n\n\/* Developer credit *\/\n.bmfoot__developer {\n  font-size: 12px;\n  color: rgba(255,255,255,0.4);\n}\n.bmfoot__developer strong {\n  color: rgba(255,255,255,0.6);\n  font-weight: 600;\n}\n\n\/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n@media (max-width: 880px) {\n  .bmfoot__main {\n    grid-template-columns: 1fr 1fr;\n    gap: 2.5rem;\n  }\n  .bmfoot__brand { grid-column: 1 \/ -1; }\n}\n@media (max-width: 520px) {\n  .bmfoot__main { grid-template-columns: 1fr; }\n  .bmfoot__cta-inner { flex-direction: column; align-items: flex-start; }\n  .bmfoot__bottom-inner { flex-direction: column; align-items: flex-start; }\n}\n<\/style>\n\n<footer class=\"bmfoot\" aria-label=\"Site footer\">\n\n  <!-- TOP CTA BAND \n  <div class=\"bmfoot__cta-band\">\n    <div class=\"bmfoot__cta-inner\">\n      <div class=\"bmfoot__cta-text\">\n        <h2 class=\"bmfoot__cta-title\">Ready to own your place on the Red Sea?<\/h2>\n        <p class=\"bmfoot__cta-sub\">\n          Download the free Investor Pack \u2014 full pricing, floor plans, and payment plans.\n        <\/p>\n        <p class=\"bmfoot__cta-sub-pl\">\n          Pobierz bezp\u0142atny Pakiet Inwestora \u2014 dost\u0119pny w j\u0119zyku polskim.\n        <\/p>\n      <\/div>\n      <a href=\"#investor-pack\" class=\"bmfoot__cta-btn\">\n        Download Investor Pack\n        <span aria-hidden=\"true\">\u2192<\/span>\n      <\/a>\n    <\/div>\n  <\/div>-->\n\n  <!-- MAIN -->\n  <div class=\"bmfoot__main\">\n\n    <!-- Brand -->\n    <div class=\"bmfoot__brand\">\n      <div class=\"bmfoot__brand-name\">BELLA MAR<\/div>\n      <div class=\"bmfoot__brand-tag\">Port Ghalib \u00b7 Red Sea \u00b7 Egypt<\/div>\n      <p class=\"bmfoot__brand-desc\">\n        An intimate community of just 21 residences, 50 metres from the marina \u2014\n        fully finished and built for an international community.\n      <\/p>\n      <div class=\"bmfoot__badges\">\n        <span class=\"bmfoot__badge\">No Annual Service Fees<\/span>\n        <span class=\"bmfoot__badge\">Smart Investment<\/span>\n        <span class=\"bmfoot__badge\">Fully Finished<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- Explore -->\n    <div class=\"bmfoot__col\">\n      <h3 class=\"bmfoot__col-title\">Explore<\/h3>\n      <ul class=\"bmfoot__links\">\n        <li><a href=\"\/\">Home<\/a><\/li>\n        <li><a href=\"\/units-prices\">Units &amp; Prices<\/a><\/li>\n        <li><a href=\"\/investment\">Investment<\/a><\/li>\n        <li><a href=\"\/legal\">Legal<\/a><\/li>\n        <li><a href=\"\/gallery\">Gallery<\/a><\/li>\n        <li><a href=\"\/faq\">FAQ<\/a><\/li>\n        <li><a href=\"\/contact\">Contact<\/a><\/li>\n        <li><a href=\"\/blog\">Blog<\/a><\/li> \n      <\/ul>\n    <\/div>\n\n    <!-- Buyer info -->\n    <div class=\"bmfoot__col\">\n      <h3 class=\"bmfoot__col-title\">Buyer Info<\/h3>\n      <ul class=\"bmfoot__links\">\n        <li><a href=\"\/faq\">FAQ<\/a><\/li>\n        <li><a href=\"\/legal\">Legal Framework<\/a><\/li>\n        <!-- <li><a href=\"#investor-pack\">Investor Pack<\/a><\/li> -->\n        <li><a href=\"\/contact\">Contact Us<\/a><\/li>\n      <\/ul>\n    <\/div>\n\n    <!-- Contact -->\n    <div class=\"bmfoot__col\">\n      <h3 class=\"bmfoot__col-title\">Get in Touch<\/h3>\n\n      <div class=\"bmfoot__contact-item\">\n        <svg class=\"bmfoot__contact-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n          <path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z\"><\/path>\n        <\/svg>\n        <a href=\"tel:+201130924774\">+20 113 092 4774<\/a>\n      <\/div>\n\n      <div class=\"bmfoot__contact-item\">\n        <svg class=\"bmfoot__contact-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n          <path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"><\/path>\n          <path d=\"M22 6l-10 7L2 6\"><\/path>\n        <\/svg>\n        <a href=\"mailto:info@bellamarportghalib.com\">info@bellamarportghalib.com<\/a>\n      <\/div>\n\n      <div class=\"bmfoot__contact-item\">\n        <svg class=\"bmfoot__contact-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n          <path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"><\/path>\n          <circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle>\n        <\/svg>\n        <span>Port Ghalib Marina, Marsa Alam, Red Sea, Egypt<\/span>\n      <\/div>\n\n      <!-- Language switch (TranslatePress will handle actual switching) \n      <div class=\"bmfoot__lang\">\n        <a href=\"#\" class=\"bmfoot__lang-btn bmfoot__lang-btn--active\">EN English<\/a>\n        <a href=\"#\" class=\"bmfoot__lang-btn\">PL Polski<\/a>\n      <\/div>-->\n      <!-- Social icons -->\n      <div class=\"bmfoot__social\">\n        <a href=\"https:\/\/www.facebook.com\/bellamar.portghalib.eg?mibextid=wwXIfr&#038;mibextid=wwXIfr\" target=\"_blank\" rel=\"noopener nofollow\" aria-label=\"Facebook\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M22 12a10 10 0 1 0-11.5 9.87v-6.98H7.9V12h2.6V9.8c0-2.56 1.52-3.98 3.86-3.98 1.12 0 2.29.2 2.29.2v2.5h-1.29c-1.27 0-1.67.79-1.67 1.6V12h2.84l-.45 2.89h-2.39v6.98A10 10 0 0 0 22 12z\"\/><\/svg>\n        <\/a>\n        <a href=\"https:\/\/www.instagram.com\/bellamar.portghalib.eg?igsh=aG1vcW1zcjZpZG1k&#038;utm_source=qr\" target=\"_blank\" rel=\"noopener nofollow\" aria-label=\"Instagram\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12 2.16c3.2 0 3.58.01 4.85.07 3.25.15 4.77 1.69 4.92 4.92.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.15 3.23-1.66 4.77-4.92 4.92-1.27.06-1.64.07-4.85.07s-3.58-.01-4.85-.07c-3.26-.15-4.77-1.7-4.92-4.92-.06-1.27-.07-1.65-.07-4.85s.02-3.58.07-4.85c.15-3.23 1.67-4.77 4.92-4.92 1.27-.06 1.65-.07 4.85-.07zM12 0C8.74 0 8.33.01 7.05.07c-4.35.2-6.78 2.62-6.98 6.98C.01 8.33 0 8.74 0 12s.01 3.67.07 4.95c.2 4.36 2.62 6.78 6.98 6.98C8.33 23.99 8.74 24 12 24s3.67-.01 4.95-.07c4.35-.2 6.78-2.62 6.98-6.98.06-1.28.07-1.69.07-4.95s-.01-3.67-.07-4.95c-.2-4.35-2.62-6.78-6.98-6.98C15.67.01 15.26 0 12 0zm0 5.84A6.16 6.16 0 1 0 18.16 12 6.16 6.16 0 0 0 12 5.84zM12 16a4 4 0 1 1 4-4 4 4 0 0 1-4 4zm6.41-10.85a1.44 1.44 0 1 0 1.44 1.44 1.44 1.44 0 0 0-1.44-1.44z\"\/><\/svg>\n        <\/a>\n        <!-- <a href=\"#\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M23.5 6.19a3.02 3.02 0 0 0-2.12-2.14C19.51 3.5 12 3.5 12 3.5s-7.51 0-9.38.55A3.02 3.02 0 0 0 .5 6.19 31.6 31.6 0 0 0 0 12a31.6 31.6 0 0 0 .5 5.81 3.02 3.02 0 0 0 2.12 2.14C4.49 20.5 12 20.5 12 20.5s7.51 0 9.38-.55a3.02 3.02 0 0 0 2.12-2.14A31.6 31.6 0 0 0 24 12a31.6 31.6 0 0 0-.5-5.81zM9.6 15.6V8.4l6.4 3.6z\"\/><\/svg>\n        <\/a> -->\n        <a href=\"https:\/\/wa.me\/201130924774\" target=\"_blank\" rel=\"noopener nofollow\" aria-label=\"WhatsApp\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M17.47 14.38c-.29-.15-1.7-.84-1.96-.93-.26-.1-.46-.15-.65.14-.19.29-.75.93-.92 1.12-.17.19-.34.22-.63.07-.29-.15-1.22-.45-2.32-1.43-.86-.76-1.44-1.71-1.61-2-.17-.29-.02-.45.13-.6.13-.13.29-.34.44-.5.15-.17.19-.29.29-.48.1-.19.05-.36-.02-.5-.07-.15-.65-1.58-.9-2.16-.24-.57-.48-.49-.65-.5-.17-.01-.36-.01-.56-.01-.19 0-.5.07-.77.36-.26.29-1 .98-1 2.4s1.03 2.78 1.17 2.97c.15.19 2.03 3.1 4.92 4.35.69.3 1.22.47 1.64.61.69.22 1.31.19 1.81.11.55-.08 1.7-.7 1.94-1.37.24-.67.24-1.25.17-1.37-.07-.12-.26-.19-.55-.34z\"\/><path d=\"M12.01 2C6.5 2 2 6.48 2 11.98c0 1.85.5 3.58 1.36 5.07L2 22l5.09-1.33a10.05 10.05 0 0 0 4.92 1.28h.01c5.5 0 10-4.48 10-9.98C22 6.48 17.5 2 12.01 2zm0 18.2h-.01a8.2 8.2 0 0 1-4.18-1.15l-.3-.18-3.02.79.81-2.93-.2-.3a8.17 8.17 0 0 1-1.26-4.37c0-4.52 3.7-8.2 8.24-8.2 2.2 0 4.27.86 5.83 2.41a8.14 8.14 0 0 1 2.41 5.8c0 4.52-3.7 8.13-8.32 8.13z\"\/><\/svg>\n        <\/a>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <!-- BOTTOM BAR -->\n  <div class=\"bmfoot__bottom\">\n    <div class=\"bmfoot__bottom-inner\">\n      <span class=\"bmfoot__copy\">\n        \u00a9 2026 Bella Mar \u00b7 Deutsche House Real Estate \u00b7 Commercial Reg. 247613\n      <\/span>\n      <div class=\"bmfoot__legal-links\">\n        <a href=\"\/privacy-policy\">Privacy Policy<\/a>\n        <a href=\"\/legal\">Legal<\/a>\n        <a href=\"\/contact\">Contact<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n\n<\/footer>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Units &amp; Prices All 21 residences at Bella Mar, shown transparently \u2014 including units already reserved by our first owners. Curious about Port Ghalib apartment prices at Bella Mar? Because payment plans and unit pricing are updated regularly, we don&#8217;t publish figures here \u2014 message our team on WhatsApp for the current price list, tailored&#8230;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-1616","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/pages\/1616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/comments?post=1616"}],"version-history":[{"count":39,"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/pages\/1616\/revisions"}],"predecessor-version":[{"id":2229,"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/pages\/1616\/revisions\/2229"}],"wp:attachment":[{"href":"https:\/\/bellamarportghalib.com\/pl\/wp-json\/wp\/v2\/media?parent=1616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}