:root{
  --la-navy:#0B1324;
  --la-gold:#C8A64D;
  --la-soft:#F5F6F8;
  --la-text:#111827;
  --la-muted:#6B7280;
  --la-card:#FFFFFF;
  --la-border:#E7E9EE;
  --la-radius:22px;
}

/* Base */
.la-card{
  background:var(--la-card);
  border:1px solid var(--la-border);
  border-radius:var(--la-radius);
  padding:22px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  margin: 18px 0;
}
.la-h{
  font-size:18px;
  margin:0 0 14px;
  font-weight:900;
  letter-spacing:-0.01em;
  color:var(--la-text);
}
.la-head-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; }

/* Tables */
.la-table-wrap{ overflow:auto; }
.la-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:520px;
}
.la-table th, .la-table td{
  padding:12px 14px;
  border-bottom:1px solid var(--la-border);
  text-align:left;
  font-size:14px;
  color:var(--la-text);
}
.la-table thead th{
  font-weight:800;
  color:var(--la-muted);
  background: #FAFBFC;
}
.la-table tbody tr:last-child td{ border-bottom:0; }

/* Fact sheet */
.la-fact-grid{
  display:grid;
  grid-template-columns: 1fr 2fr;
  gap:10px 14px;
}
.la-fact-k{ color:var(--la-muted); font-weight:700; font-size:13px; }
.la-fact-v{ color:var(--la-text); font-weight:700; font-size:13px; }

/* Buttons */
.la-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:12px;
  font-weight:900;
  text-decoration:none !important;
  cursor:pointer;
  line-height:1;
  border:0;
}
.la-btn-gold{
  background:var(--la-gold);
  color:#fff !important;
}
.la-btn-outline{
  background:transparent;
  border:2px solid var(--la-gold);
  color:var(--la-gold) !important;
}
.la-btn:hover{ opacity:.92; }

/* WhatsApp icon */
.la-wa-ico{
  width:18px;
  height:18px;
  display:inline-block;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.53c-.28-.14-1.64-.81-1.9-.9s-.45-.14-.64.14-.73.9-.9 1.09-.33.21-.61.07c-.28-.14-1.2-.44-2.29-1.41-.85-.76-1.42-1.7-1.59-1.98-.17-.28-.02-.43.13-.57.13-.13.28-.33.43-.49.14-.16.19-.28.28-.47.09-.19.05-.35-.02-.49-.07-.14-.64-1.55-.88-2.13-.23-.55-.47-.48-.64-.49h-.55c-.19 0-.49.07-.75.35-.26.28-.99.97-.99 2.37s1.02 2.75 1.16 2.94c.14.19 2.01 3.07 4.87 4.3.68.29 1.21.47 1.62.6.68.22 1.3.19 1.79.12.55-.08 1.64-.67 1.87-1.32.23-.65.23-1.2.16-1.32-.07-.12-.26-.19-.54-.33zM16.04 27.5h-.01c-1.78 0-3.52-.48-5.04-1.39l-.36-.21-3.74.98 1-3.65-.24-.38c-1-1.58-1.53-3.41-1.53-5.3 0-5.52 4.49-10.01 10.01-10.01 2.68 0 5.2 1.04 7.09 2.93 1.89 1.89 2.93 4.41 2.92 7.08 0 5.52-4.49 10.01-10.1 9.95zm8.56-18.61A12.06 12.06 0 0 0 16.15 5C9.42 5 3.94 10.48 3.94 17.2c0 2.14.56 4.24 1.63 6.09L3.8 29.8l6.7-1.75a12.13 12.13 0 0 0 5.65 1.44h.01c6.72 0 12.2-5.48 12.2-12.2 0-3.26-1.27-6.33-3.76-8.8z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.53c-.28-.14-1.64-.81-1.9-.9s-.45-.14-.64.14-.73.9-.9 1.09-.33.21-.61.07c-.28-.14-1.2-.44-2.29-1.41-.85-.76-1.42-1.7-1.59-1.98-.17-.28-.02-.43.13-.57.13-.13.28-.33.43-.49.14-.16.19-.28.28-.47.09-.19.05-.35-.02-.49-.07-.14-.64-1.55-.88-2.13-.23-.55-.47-.48-.64-.49h-.55c-.19 0-.49.07-.75.35-.26.28-.99.97-.99 2.37s1.02 2.75 1.16 2.94c.14.19 2.01 3.07 4.87 4.3.68.29 1.21.47 1.62.6.68.22 1.3.19 1.79.12.55-.08 1.64-.67 1.87-1.32.23-.65.23-1.2.16-1.32-.07-.12-.26-.19-.54-.33zM16.04 27.5h-.01c-1.78 0-3.52-.48-5.04-1.39l-.36-.21-3.74.98 1-3.65-.24-.38c-1-1.58-1.53-3.41-1.53-5.3 0-5.52 4.49-10.01 10.01-10.01 2.68 0 5.2 1.04 7.09 2.93 1.89 1.89 2.93 4.41 2.92 7.08 0 5.52-4.49 10.01-10.1 9.95zm8.56-18.61A12.06 12.06 0 0 0 16.15 5C9.42 5 3.94 10.48 3.94 17.2c0 2.14.56 4.24 1.63 6.09L3.8 29.8l6.7-1.75a12.13 12.13 0 0 0 5.65 1.44h.01c6.72 0 12.2-5.48 12.2-12.2 0-3.26-1.27-6.33-3.76-8.8z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Donut */
.la-donut-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  flex-wrap:wrap;
}
.la-donut-num{ font-size:26px; font-weight:950; fill:var(--la-text); }
.la-donut-sub{ font-size:12px; fill:var(--la-muted); }
.la-donut-legend{ display:flex; flex-direction:column; gap:12px; }
.la-legend-item{ display:flex; align-items:center; gap:10px; color:var(--la-text); }
.la-dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }
.la-dot-navy{ background:var(--la-navy); }
.la-dot-gold{ background:var(--la-gold); }

/* Tabs */
.la-tablist{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.la-tab{
  border:1px solid var(--la-border);
  background:#fff;
  padding:10px 12px;
  border-radius:999px;
  font-weight:800;
  color:var(--la-text);
  cursor:pointer;
}
.la-tab.is-active{
  background:var(--la-navy);
  border-color:var(--la-navy);
  color:#fff;
}
.la-tabpanel{ display:none; }
.la-tabpanel.is-active{ display:block; }

/* Floorplan grid */
.la-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:16px;
}
.la-fp-card{
  background:#fff;
  border:1px solid var(--la-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 25px rgba(0,0,0,.05);
}
.la-fp-img{
  display:block;
  background:#F8FAFC;
}
.la-fp-img img{
  width:100%;
  height:280px;
  object-fit:contain;
  display:block;
}
.la-fp-actions{
  display:flex;
  gap:10px;
  padding:14px;
}
.la-fp-actions .la-btn{ flex:1; padding:12px 14px; }

/* Load more */
.la-loadmore{
  margin-top:16px;
  padding:12px 16px;
  border-radius:12px;
  background:var(--la-soft);
  border:1px solid var(--la-border);
  font-weight:900;
  cursor:pointer;
}

/* Gallery */
.la-gallery-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.la-gallery-item{
  display:block;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--la-border);
  background:#F8FAFC;
}
.la-gallery-item img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}

/* Brochure card */
.la-brochure-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 22px;
}
.la-brochure-left{
  display:flex;
  align-items:center;
  gap:16px;
}
.la-brochure-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  background:#F2EBDD;
  display:flex;
  align-items:center;
  justify-content:center;
}
.la-brochure-icon-inner{
  font-weight:950;
  color:var(--la-gold);
  font-size:13px;
}
.la-brochure-title{
  font-weight:950;
  font-size:18px;
  color:var(--la-text);
}
.la-brochure-sub{
  color:var(--la-text);
  opacity:.85;
  font-weight:700;
  font-size:13px;
}
.la-brochure-note{
  margin-top:4px;
  color:var(--la-muted);
  font-size:12px;
}
.la-brochure-right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.la-brochure-preview{
  color:#2563EB;
	font-size:12px;
  text-decoration:none;
  font-weight:600;
}

/* Mini hero elements (no overlay / no layout) */
.la-hero-eyebrow{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.9;
}
.la-hero-price{
  font-size:36px;
  font-weight:950;
  letter-spacing:-0.02em;
}

/* Admin gallery preview */
.la-admin-gallery-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap:10px;
}
.la-admin-thumb{
  border:1px solid #e5e7eb;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  padding:6px;
}
.la-admin-thumb img{
  width:100%;
  height:80px;
  object-fit:cover;
  display:block;
  border-radius:8px;
}
.la-admin-remove{
  margin-top:6px !important;
  width:100%;
}

/* Responsive */
@media (max-width: 980px){
  .la-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .la-gallery-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .la-brochure-card{ flex-direction:column; align-items:flex-start; }
  .la-admin-gallery-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


.la-brochure-thumb{
  width:52px;
  height:52px;
  border-radius:16px;
  object-fit:cover;
  display:block;
}

/* ============================
   MOBILE RESPONSIVE PATCH
   ============================ */
@media (max-width: 767px){

  /* -------- 1) Available Units table -> stacked cards -------- */
  .la-table-wrap{
    overflow: visible !important;
  }

  .la-table{
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0 12px; /* spacing between "cards" */
  }

  .la-table thead{
    display:none !important;
  }

  .la-table,
  .la-table tbody,
  .la-table tr,
  .la-table td{
    display:block !important;
    width:100% !important;
  }

  .la-table tr{
    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    border-radius:16px;
    padding:12px 12px;
    box-shadow:0 8px 22px rgba(0,0,0,.05);
  }

  .la-table td{
    border:none !important;
    padding:8px 6px !important;
  }

  /* label/value format */
  .la-table td::before{
    display:block;
    font-size:12px;
    font-weight:600;
    opacity:.65;
    margin-bottom:3px;
  }

  /* Column labels based on the 3-col Available Units table:
     1=Type, 2=Size, 3=From */
  .la-table td:nth-child(1)::before{ content:"Type"; }
  .la-table td:nth-child(2)::before{ content:"Size (sqft)"; }
  .la-table td:nth-child(3)::before{ content:"From"; }

  /* Make "From" look more premium */
  .la-table td:nth-child(3){
    font-weight:800;
  }

  /* -------- 2) Floorplan cards: prevent button cut + improve spacing -------- */
  .la-fp-card{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .la-fp-img{
    display:block;
    border-radius:16px;
    overflow:hidden;
  }

  .la-fp-img img{
    width:100% !important;
    height:auto !important;
    display:block;
    object-fit:contain;
  }

  .la-fp-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;              /* allow wrap if tight */
    padding:12px 12px 14px;
  }

  .la-fp-actions .la-btn{
    flex:1 1 calc(50% - 10px);   /* 2 buttons per row */
    min-width:140px;             /* avoids tiny buttons */
    justify-content:center;
    text-align:center;
    white-space:nowrap;
  }

  /* Ensure WA icon never gets clipped */
  .la-btn-wa{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* -------- 3) Brochure card: image top + bigger, CTA full width -------- */
  .la-brochure-card{
    display:block !important;
    padding:0 !important;
    overflow:hidden;
  }

  .la-brochure-left{
    display:block !important;
    padding:16px 16px 6px !important;
  }

  .la-brochure-icon{
    width:100% !important;
    height:auto !important;
    margin:0 0 12px 0 !important;
  }

  .la-brochure-thumb{
    width:100% !important;
    height:180px !important;
    border-radius:18px !important;
    object-fit:cover !important;
  }

  /* Text spacing */
  .la-brochure-title{
    font-size:18px !important;
    line-height:1.25 !important;
    margin-bottom:6px !important;
  }

  .la-brochure-sub{
    font-size:14px !important;
  }

  .la-brochure-note{
    font-size:13px !important;
    line-height:1.35 !important;
    margin-top:6px !important;
  }

  .la-brochure-right{
    display:block !important;
    padding:12px 16px 16px !important;
  }

  .la-brochure-right .la-btn{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    margin-bottom:10px !important;
  }

  .la-brochure-preview{
    display:block !important;
    text-align:center !important;
    font-weight:700;
  }
}
@media (max-width: 767px){
  .la-table td:nth-child(3){
    color: var(--la-gold);
  }
}


/* ============================
   PATCH: Mobile overflow + 2-col floorplans
   Paste at VERY BOTTOM of la-projects.css
   ============================ */

/* 1) Available Units: stop card/table overflow on mobile */
@media (max-width: 767px){

  /* hard-stop any horizontal overflow from this section */
  .la-card,
  .la-table-wrap,
  .la-table,
  .la-table tbody,
  .la-table tr,
  .la-table td{
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ensure nothing forces width wider than viewport */
  .la-table-wrap{
    overflow-x: hidden !important;
  }

  /* your mobile "card rows" */
  .la-table tr{
    margin: 0 !important;
    width: 100% !important;
  }

  /* reduce padding slightly to fit cleanly */
  .la-table tr{
    padding: 10px 10px !important;
    border-radius: 14px !important;
  }

  .la-table td{
    padding: 7px 4px !important;
    word-break: break-word;      /* prevent long strings pushing width */
    overflow-wrap: anywhere;
  }

  /* Keep headings aligned */
  .la-h{
    word-break: break-word;
  }
}

/* 2) Floorplans: keep 2 columns on mobile (like your current) */
@media (max-width: 767px){
  .la-fp-grid{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  /* make cards fit 2-col nicely */
  .la-fp-card{
    width: 100% !important;
    min-width: 0 !important;
  }

  /* make images scale better inside smaller cards */
  .la-fp-img img{
    width: 100% !important;
    height: auto !important;
  }

  /* buttons stack within each card for better fit */
  .la-fp-actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 10px 10px 12px !important;
  }

  .la-fp-actions .la-btn{
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* ultra small phones: fall back to 1 column to avoid cramped cards */
@media (max-width: 380px){
  .la-fp-grid{
    grid-template-columns: 1fr !important;
  }
}

/* HERO shortcode typography helpers (Divi handles layout/overlay) */
.la-hero-eyebrow{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  font-size:12px;
  opacity:.85;
}

.la-hero-from-prefix{
  font-size:13px;
  opacity:.8;
  margin-bottom:6px;
}

.la-hero-from-price{
  font-size:48px;
  font-weight:800;
  line-height:1.05;
}

.la-hero-from-note{
  font-size:12px;
  opacity:.75;
  margin-top:8px;
}
/* =========================================================
   HERO SHORTCODE STYLING (Luxury Dark)
   Applies to shortcode outputs inside Divi Text modules.
========================================================= */

:root{
  /* Brand feel */
  --la-gold: #c8a24a;         /* premium gold */
  --la-navy: #0b1324;         /* deep navy */
  --la-white: #ffffff;

  /* Glass outline style for secondary CTA */
  --la-glass-bg: rgba(255,255,255,.08);
  --la-glass-bg-hover: rgba(255,255,255,.14);
  --la-glass-border: rgba(255,255,255,.30);
  --la-glass-border-hover: rgba(255,255,255,.45);
}

/* ---------- Eyebrow ---------- */
.la-hero-eyebrow{
  color: rgba(255,255,255,.85);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.3;
  margin: 0 0 12px 0;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* ---------- From Price Block ---------- */
.la-hero-from{
  margin: 8px 0 18px 0;
}

.la-hero-from-prefix{
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 6px;
}

.la-hero-from-price{
  color: var(--la-gold);
  font-size: 54px;          /* desktop */
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -.01em;
  text-shadow: 0 10px 28px rgba(0,0,0,.45);
}

.la-hero-from-note{
  color: rgba(255,255,255,.70);
  font-size: 12px;
  line-height: 1.35;
  margin-top: 10px;
  max-width: 520px;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* ---------- Button base (shortcodes) ---------- */
.la-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none !important;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.la-btn:active{ transform: translateY(1px); }

/* Primary gold */
.la-btn-gold{
  background: var(--la-gold);
  color: #111827 !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.10);
}

.la-btn-gold:hover{
  filter: brightness(1.03);
  box-shadow: 0 18px 40px rgba(0,0,0,.30);
}

/* Secondary glass outline (THIS fixes your Get Price List style) */
.la-btn-outline{
  background: var(--la-glass-bg);
  color: var(--la-white) !important;
  border: 1px solid var(--la-glass-border);
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.la-btn-outline:hover{
  background: var(--la-glass-bg-hover);
  border-color: var(--la-glass-border-hover);
}

/* ---------- WhatsApp icon ---------- */
.la-btn-wa .la-wa-ico{
  width: 18px;
  height: 18px;
  display: inline-block;
  flex: 0 0 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .95;

  /* inline SVG WA icon (white). Works everywhere */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23ffffff' d='M19.11 17.53c-.27-.14-1.6-.79-1.85-.88-.25-.09-.43-.14-.61.14-.18.27-.7.88-.86 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.2-1.34-.82-.73-1.38-1.62-1.54-1.9-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.61-1.47-.84-2.01-.22-.53-.45-.46-.61-.46-.16 0-.34-.02-.52-.02-.18 0-.48.07-.73.34-.25.27-.95.93-.95 2.27s.98 2.64 1.12 2.82c.14.18 1.92 2.93 4.66 4.1.65.28 1.16.44 1.56.57.65.2 1.24.17 1.7.1.52-.08 1.6-.66 1.83-1.29.23-.63.23-1.18.16-1.29-.07-.11-.25-.18-.52-.32z'/%3E%3Cpath fill='%23ffffff' d='M16 3C8.83 3 3 8.83 3 16c0 2.52.73 4.97 2.11 7.07L4 29l6.09-1.08C12.06 28.97 14.02 29.5 16 29.5c7.17 0 13-5.83 13-13S23.17 3 16 3zm0 23.5c-1.77 0-3.49-.46-5-1.33l-.36-.21-3.61.64.68-3.52-.24-.37C6.56 20.02 6 18.03 6 16 6 10.49 10.49 6 16 6s10 4.49 10 10-4.49 10-10 10z'/%3E%3C/svg%3E");
}

/* On gold buttons, icon should be dark for contrast */
.la-btn-gold.la-btn-wa .la-wa-ico{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%23111827' d='M19.11 17.53c-.27-.14-1.6-.79-1.85-.88-.25-.09-.43-.14-.61.14-.18.27-.7.88-.86 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.2-1.34-.82-.73-1.38-1.62-1.54-1.9-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.61-1.47-.84-2.01-.22-.53-.45-.46-.61-.46-.16 0-.34-.02-.52-.02-.18 0-.48.07-.73.34-.25.27-.95.93-.95 2.27s.98 2.64 1.12 2.82c.14.18 1.92 2.93 4.66 4.1.65.28 1.16.44 1.56.57.65.2 1.24.17 1.7.1.52-.08 1.6-.66 1.83-1.29.23-.63.23-1.18.16-1.29-.07-.11-.25-.18-.52-.32z'/%3E%3Cpath fill='%23111827' d='M16 3C8.83 3 3 8.83 3 16c0 2.52.73 4.97 2.11 7.07L4 29l6.09-1.08C12.06 28.97 14.02 29.5 16 29.5c7.17 0 13-5.83 13-13S23.17 3 16 3zm0 23.5c-1.77 0-3.49-.46-5-1.33l-.36-.21-3.61.64.68-3.52-.24-.37C6.56 20.02 6 18.03 6 16 6 10.49 10.49 6 16 6s10 4.49 10 10-4.49 10-10 10z'/%3E%3C/svg%3E");
}

/* ---------- Better spacing if shortcode buttons are stacked in a Text module ---------- */
.et_pb_text .la-btn{
  margin: 0 0 12px 0;
}
.et_pb_text .la-btn:last-child{
  margin-bottom: 0;
}

/* ---------- Mobile tuning for hero pricing ---------- */
@media (max-width: 767px){
  .la-hero-from-price{
    font-size: 46px;
  }
  .la-hero-from-note{
    max-width: 100%;
  }
}
.la-hero-cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
@media(max-width:767px){
  .la-hero-cta-row{ flex-direction:column; align-items:flex-start; }
  .la-hero-cta-row .la-btn{ width:100%; }
}
/* =========================================================
   HOTFIX: Prevent hero shortcode button CSS from affecting floorplans
   Requires Divi hero section class: .la-hero
========================================================= */

/* Scope ALL hero shortcode button styling */
.la-hero .la-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none !important;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1;
  transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* keep the WA icon rules scoped too */
.la-hero .la-btn-wa .la-wa-ico{}

/* IMPORTANT: undo global margin rule that affected buttons elsewhere */
.et_pb_text .la-btn{
  margin: initial !important;
}

/* Re-apply spacing for hero only */
.la-hero .la-btn{
  margin: 0 0 12px 0;
}
.la-hero .la-btn:last-child{
  margin-bottom: 0;
}

/* Floorplan buttons: restore visibility & layout */
.la-fp-actions .la-btn,
.la-fp-actions a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

/* Force the "View" button text to be visible */
.la-fp-actions .la-btn-outline{
  background: transparent !important;
  border: 1px solid rgba(17,24,39,.25) !important;
  color: #111827 !important;
  box-shadow: none !important;
}

/* Ensure any icon doesn't hide text */
.la-fp-actions .la-btn-outline .la-wa-ico{
  display: none !important;
}

/* =========================================================
   STICKY MOBILE CTA BAR (hide on hero + slide animation)
========================================================= */

.la-sticky-cta{
  display:none;
}

@media (max-width:767px){

  .la-sticky-cta{
    display:block;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background:rgba(6,10,18,.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top:1px solid rgba(255,255,255,.08);
    padding:10px 12px;
    z-index:9999;

    /* animation base state */
    transform: translateY(110%);
    opacity: 0;
    pointer-events: none;
    transition: transform .35s ease, opacity .35s ease;
  }

  /* mounted means it exists, but visibility controlled by is-visible */
  .la-sticky-cta.is-mounted{
    /* keep same; class used for clarity */
  }

  .la-sticky-cta.is-visible{
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .la-sticky-inner{
    display:flex;
    gap:10px;
  }

  .la-sticky-btn{
    flex:1;
    text-align:center;
    padding:12px 10px;
    border-radius:12px;
    font-weight:700;
    font-size:14px;
    text-decoration:none !important;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
  }

  .la-sticky-primary{
    background:var(--la-gold);
    color:#111827 !important;
  }

  .la-sticky-secondary{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.25);
    color:#fff !important;
  }

  /* prevent content being hidden behind sticky bar */
  body{
    padding-bottom:80px;
  }
}

/* =========================================================
   V1.7 — Compliance Footer (Luxury Dark, minimal)
========================================================= */

.la-comp-footer{
  margin-top: 28px;
  padding: 22px 0;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(6,10,18,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.la-comp-inner{
  width: min(1100px, 92%);
  margin: 0 auto;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: flex-start;
}

.la-comp-brand{
  color: rgba(255,255,255,.92);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 8px;
}

.la-comp-meta{
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  line-height: 1.45;
  margin-bottom: 8px;
}

.la-comp-note{
  color: rgba(255,255,255,.72);
  font-size: 12px;
  line-height: 1.45;
  margin-bottom: 10px;
}

.la-comp-disclaimer{
  color: rgba(255,255,255,.65);
  font-size: 12px;
  line-height: 1.55;
  max-width: 720px;
}

.la-comp-right{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  text-align: right;
  white-space: nowrap;
}

.la-comp-right a{
  color: rgba(255,255,255,.82) !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .01em;
  border-bottom: 1px solid rgba(255,255,255,.20);
  padding-bottom: 2px;
}

.la-comp-right a:hover{
  border-bottom-color: rgba(255,255,255,.45);
}

@media (max-width: 767px){
  .la-comp-inner{
    flex-direction: column;
    align-items: flex-start;
  }
  .la-comp-right{
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
  }
}

/* Project Intro Section */
.la-intro{
max-width:1000px;
margin:80px auto 60px auto;
padding:40px 50px;
text-align:center;

background:linear-gradient(180deg,#fafafa,#f6f7f8);
border-radius:14px;

box-shadow:
0 10px 30px rgba(0,0,0,.05),
0 1px 2px rgba(0,0,0,.05);
}

/* Title */
.la-intro h2{
font-family:"Playfair Display",serif;
font-size:34px;
font-weight:600;
color:#1d2430;
letter-spacing:.4px;
margin-bottom:20px;
}

/* Paragraph */
.la-intro p{
font-family:"Montserrat",sans-serif;
font-size:16px;
line-height:1.8;
color:#5c6675;
max-width:760px;
margin:0 auto 14px auto;
}

/* subtle luxury divider */
.la-intro:after{
content:"";
display:block;
width:70px;
height:2px;
background:#caa44a;
margin:26px auto 0 auto;
border-radius:2px;
}

/* More Projects */
.la-more-projects{
margin:28px 0;
padding:26px;
border-radius:18px;
}

.la-more-head{
display:flex;
justify-content:space-between;
align-items:flex-end;
margin-bottom:14px;
}

.la-more-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:16px;
}

.la-more-item{
display:block;
text-decoration:none !important;
border-radius:16px;
overflow:hidden;
border:1px solid rgba(0,0,0,.06);
background:#fff;
transition:transform .18s ease, box-shadow .18s ease;
}

.la-more-item:hover{
transform:translateY(-2px);
box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.la-more-img{
width:100%;
aspect-ratio: 16 / 10;
background-size:cover;
background-position:center;
background-color:#f2f3f5; /* fallback if no image */
}

.la-more-body{
padding:14px 14px 16px;
}

.la-more-title{
font-weight:700;
font-size:16px;
line-height:1.2;
color:#0b1220;
margin-bottom:6px;
}

.la-more-sub{
font-size:13px;
color:#5b6472;
margin-bottom:12px;
}

.la-more-cta{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 14px;
border-radius:12px;
background:#caa44a; /* gold */
color:#0b1220;
font-weight:700;
font-size:13px;
}

/* Tablet */
@media (max-width: 980px){
  .la-more-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

/* Mobile */
@media (max-width: 600px){
  .la-more-projects{ padding:18px; }
  .la-more-grid{ grid-template-columns:1fr; }
  .la-more-img{ aspect-ratio: 16 / 9; }
}

/* Floating Card (Luxury) */
.la-float-card{
position:fixed;
right:18px;
bottom:18px;
z-index:999999;
width:320px;
max-width:calc(100vw - 36px);
border-radius:18px;
padding:16px;
background:rgba(16, 22, 32, 0.66);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border:1px solid rgba(255,255,255,0.12);
box-shadow:0 18px 50px rgba(0,0,0,0.25);
color:#fff;
}

.la-float-close{
position:absolute;
top:10px;
right:12px;
width:30px;
height:30px;
border-radius:10px;
border:1px solid rgba(255,255,255,0.12);
background:rgba(255,255,255,0.06);
color:#fff;
font-size:18px;
line-height:28px;
cursor:pointer;
}

.la-float-brand{
font-weight:700;
letter-spacing:.08em;
text-transform:uppercase;
font-size:12px;
opacity:.9;
}

.la-float-help{
margin-top:6px;
font-size:13px;
opacity:.92;
}

.la-float-meta{
margin-top:12px;
}

.la-float-name{
font-size:15px;
font-weight:800;
}

.la-float-sub{
font-size:12px;
opacity:.8;
margin-top:2px;
}

.la-float-actions{
display:flex;
gap:10px;
align-items:center;
margin-top:12px;
flex-wrap:wrap;
}

.la-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:10px 12px;
border-radius:12px;
font-weight:800;
text-decoration:none !important;
cursor:pointer;
border:1px solid rgba(255,255,255,0.12);
}

.la-btn span{ color:inherit; }

.la-btn-wa{
background:#caa44a; /* gold */
color:#0b1220;
border-color:rgba(0,0,0,0.10);
}

.la-btn-call{
background:rgba(255,255,255,0.06);
color:#ffffff;
}

.la-ico{ display:inline-block; }

.la-float-profile{
font-size:12px;
opacity:.9;
text-decoration:underline;
color:#fff !important;
}

.la-float-proof{
margin-top:12px;
padding-top:10px;
border-top:1px solid rgba(255,255,255,0.12);
display:grid;
gap:6px;
font-size:12px;
opacity:.92;
}

/* Hide on very small screens if needed */
@media (max-width: 420px){
  .la-float-card{ width: 300px; }
}

/* FAQ */
.la-faq .la-faq-list{
margin-top:10px;
display:grid;
gap:10px;
}

.la-faq-item{
border:1px solid rgba(0,0,0,0.06);
border-radius:14px;
padding:10px 12px;
background:#fff;
}

.la-faq-q{
font-weight:800;
cursor:pointer;
list-style:none;
}

.la-faq-q::-webkit-details-marker{ display:none; }

.la-faq-a{
margin-top:8px;
color:#4c5564;
line-height:1.55;
font-size:14px;
}

