/* First Lion Single Listing V4 — modular and editable with native Elementor controls.
   These defaults are purposely non-!important, so Elementor Style tab can override them. */
.flpd-builder{--fl4-navy:#072335;--fl4-gold:#b69d79;--fl4-muted:#62727b;--fl4-line:#dde3e4;--fl4-paper:#fff;width:100%;min-width:0;background:#fff;color:var(--fl4-navy);font-family:'DM Sans',Arial,sans-serif;font-size:14px;overflow:clip}
.flpd-builder *,.flpd-builder *::before,.flpd-builder *::after{box-sizing:border-box}
.flpd-builder .e-con{min-width:0}
.flpd-builder .flpdv4-wrap{width:92%;max-width:1480px;margin-inline:auto}
.flpd-builder .flpdv4-intro{padding:clamp(50px,6vw,100px) 0 48px}
.flpd-builder :where(.flpdv4-back .elementor-button){background:transparent;color:var(--fl4-navy);border:0;padding:0;font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.flpd-builder :where(.flpdv4-eyebrow .elementor-heading-title){font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:10px;color:var(--fl4-gold);line-height:1.5}
.flpd-builder .flpdv4-intro-eyebrow{margin-bottom:18px}
.flpd-builder :where(.flpdv4-property-title .flpdv4-field-value){font:400 clamp(60px,7vw,112px)/.96 'Cormorant Garamond',Georgia,serif;letter-spacing:-.045em;color:var(--fl4-navy);margin:0;overflow-wrap:anywhere}
.flpd-builder :where(.flpdv4-property-summary .flpdv4-field-value){font:500 12px/1.7 'DM Sans',sans-serif;letter-spacing:.1em;color:var(--fl4-muted);text-transform:uppercase;margin:22px 0 0}
.flpd-builder :where(.flpdv4-price .flpdv4-field-value){font:500 clamp(22px,2.5vw,31px)/1.2 'DM Sans',Arial,sans-serif;white-space:normal;color:var(--fl4-navy);margin:0}
.flpd-builder :where(.flpdv4-price .flpdv4-field-label){display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--fl4-muted);margin-bottom:13px}
.flpd-builder :where(.flpdv4-ask-button .elementor-button){background:transparent;padding:0 0 9px;color:var(--fl4-navy);border:0;border-bottom:1px solid var(--fl4-gold);border-radius:0;font:600 10px 'DM Sans',sans-serif;letter-spacing:.09em;text-transform:uppercase}
.flpd-builder .flpdv4-hero-right{align-items:flex-end;text-align:right;gap:15px}
.flpd-builder .flpdv4-hero-left{gap:0}
.flpd-builder .flpdv4-gallery-section{width:100%;padding:0}
.flpd-builder .flpdv4-gallery-scope{max-width:1780px;margin:0 auto}
.flpd-builder .flpdv4-facts{border-bottom:1px solid var(--fl4-line);padding-top:35px;padding-bottom:42px;gap:0}
.flpd-builder .flpdv4-facts > .e-con{border-right:1px solid var(--fl4-line);margin-right:0;padding-right:35px;min-width:0}
.flpd-builder .flpdv4-facts > .e-con:last-child{border:0}
.flpd-builder :where(.flpdv4-fact .flpdv4-field-label){display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--fl4-muted);margin-bottom:9px}
.flpd-builder :where(.flpdv4-fact .flpdv4-field-value){font:400 34px/1 'Cormorant Garamond',Georgia,serif;color:var(--fl4-navy);margin:0}
.flpd-builder .flpdv4-main{padding-top:clamp(75px,8vw,135px);padding-bottom:clamp(75px,8vw,135px);gap:min(5vw,6%)}
.flpd-builder .flpdv4-main-left{max-width:850px;gap:0}
.flpd-builder .flpdv4-content-block{margin-bottom:clamp(65px,7vw,110px)}
.flpd-builder :where(.flpdv4-block-title .elementor-heading-title){font:400 clamp(41px,5vw,74px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em;color:var(--fl4-navy)}
.flpd-builder .flpdv4-block-title{margin-top:14px;margin-bottom:35px}
.flpd-builder :where(.flpdv4-prose){font:400 15px/1.94 'DM Sans',Arial,sans-serif;color:#536772;max-width:760px}
.flpd-builder :where(.flpdv4-prose) p{margin:0 0 22px}.flpd-builder :where(.flpdv4-prose) ul{padding-left:20px}
.flpd-builder .flpdv4-detail-list{column-gap:4%;row-gap:0}
.flpd-builder .flpdv4-spec .flpdv4-field{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;border-top:1px solid var(--fl4-line);padding:18px 0}
.flpd-builder :where(.flpdv4-spec .flpdv4-field-label){color:var(--fl4-muted);font:400 12px/1.5 'DM Sans',sans-serif}
.flpd-builder :where(.flpdv4-spec .flpdv4-field-value){color:var(--fl4-navy);font:600 12px/1.5 'DM Sans',sans-serif;text-align:right;margin:0}
.flpd-builder .flpdv4-features{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;margin:0}
.flpd-builder :where(.flpdv4-features li){border-bottom:1px solid var(--fl4-line);padding:15px 0;display:flex;align-items:baseline;gap:12px;color:var(--fl4-navy);font:400 13px/1.6 'DM Sans',sans-serif}
.flpd-builder :where(.flpdv4-features li) span{color:var(--fl4-gold)}
.flpd-builder .flpdv4-side{align-self:flex-start}
.flpd-builder .flpdv4-form-scope .flpd-enquiry{scroll-margin-top:80px}
.flpd-builder :where(.flpdv4-form-scope .flpd-enquiry h2){font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.035em}
.flpd-builder .flpdv4-related-section{border-top:1px solid var(--fl4-line);padding:90px 0 135px}
.flpd-builder .flpdv4-related-top{margin-bottom:42px}
.flpd-builder :where(.flpdv4-related-link .elementor-button){background:transparent;color:var(--fl4-navy);border:0;border-bottom:1px solid var(--fl4-gold);border-radius:0;padding:0 0 8px;font:600 11px 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.flpd-builder .flpdv4-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.flpd-builder .flpdv4-related-card{display:flex;flex-direction:column;color:var(--fl4-navy);min-width:0;text-decoration:none}
.flpd-builder .flpdv4-related-image{width:100%;aspect-ratio:1.18/1;object-fit:cover;display:block;margin-bottom:20px;background:#e6e8e3}
.flpd-builder .flpdv4-related-city{color:var(--fl4-gold);font:600 10px/1.5 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.flpd-builder :where(.flpdv4-related-name){font:400 clamp(24px,3vw,36px)/1.06 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;color:var(--fl4-navy);margin-bottom:17px}
.flpd-builder .flpdv4-related-price{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--fl4-line);padding-top:15px;font:600 13px 'DM Sans',sans-serif;margin-top:auto}
.flpd-builder .flpdv4-preview{padding:20px;background:#f1f5f6;color:#345;border-left:3px solid var(--fl4-gold);font-size:12px}
/* The firstlion-gallery and -form widgets reuse production-tested shortcodes internally,
   while their content and appearance are controlled from Elementor. */
.flpd-builder .flpdv4-gallery-scope,.flpd-builder .flpdv4-form-scope{overflow:visible}
@media(max-width:1024px){
 .flpd-builder .flpdv4-main{flex-direction:column!important;gap:35px!important}
 .flpd-builder .flpdv4-main>.e-con{width:100%!important;max-width:none!important}
 .flpd-builder .flpdv4-facts>.e-con{margin-right:0;padding-right:18px}
}
@media(max-width:767px){
 .flpd-builder .flpdv4-wrap{width:88%}
 .flpd-builder .flpdv4-intro{padding:42px 0 33px}
 .flpd-builder .flpdv4-hero-grid{flex-direction:column!important;gap:20px!important}
 .flpd-builder .flpdv4-hero-grid >.e-con{width:100%!important;max-width:none!important;align-items:flex-start!important}
 .flpd-builder :where(.flpdv4-property-title .flpdv4-field-value){font-size:clamp(52px,12vw,76px)}
 .flpd-builder .flpdv4-hero-right{text-align:left;align-items:flex-start;gap:10px}
 .flpd-builder .flpdv4-facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;padding:26px 0}
 .flpd-builder .flpdv4-facts >.e-con{padding:0;margin:0;border:0;width:100%!important}
 .flpd-builder .flpdv4-main{flex-direction:column!important;gap:24px!important;padding:65px 0 78px}
 .flpd-builder .flpdv4-main >.e-con{width:100%!important;max-width:none!important}
 .flpd-builder .flpdv4-detail-list >.e-con{width:100%!important}
 .flpd-builder .flpdv4-features{grid-template-columns:minmax(0,1fr)}
 .flpd-builder .flpdv4-related-section{padding:65px 0 85px}
 .flpd-builder .flpdv4-related-top{flex-direction:column!important;align-items:flex-start!important;gap:20px!important}
 .flpd-builder .flpdv4-related-grid{grid-template-columns:minmax(0,1fr);gap:42px}
}


/* V4.1 — Dynamic H1: theme H1 rules no longer supersede the selected title face.
   Do not use !important: Elementor typography controls must remain authoritative. */
.flpd-builder .flpdv4-property-title .flpdv4-field-value{
    font-family:'Cormorant Garamond',Georgia,serif;
    font-weight:400;
    font-style:normal;
    font-optical-sizing:auto;
}
/* The question occupies its own row; answers sit below as two adjacent buttons. */
.flpd-builder .flpdv4-form-scope .flpd-contact-intent{display:block;width:100%}
.flpd-builder .flpdv4-form-scope .flpd-contact-intent legend{display:block;float:none;width:100%;margin:0 0 12px}
.flpd-builder .flpdv4-form-scope .flpd-contact-intent-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
@media(max-width:390px){
  .flpd-builder .flpdv4-form-scope .flpd-contact-intent-options{grid-template-columns:minmax(0,1fr)}
}


/* V1.4.6 — restore the approved Vercel interaction while keeping Elementor styles editable.
   The sticky child needs a stretching sidebar; sticky on a short flex child does not work. */
@media (min-width:1025px) and (min-height:620px) {
  .flpd-builder .flpdv4-main {
    align-items:stretch;
  }
  .flpd-builder .flpdv4-main > .flpdv4-side {
    align-self:stretch;
    position:relative;
    min-height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    overflow:visible;
  }
  .flpd-builder .flpdv4-side > :is(.flpdv4-form-widget,.flpdv4-form-scope) {
    position:sticky;
    top:var(--flpdv4-sticky-top,clamp(24px,4vh,44px));
    align-self:flex-start;
    width:100%;
    max-width:100%;
    z-index:2;
  }
}
/* On tablets / phones (or very short desktop viewports) use the natural document flow. */
@media (max-width:1024px), (max-height:619px) {
  .flpd-builder .flpdv4-main > .flpdv4-side {align-self:stretch;min-height:auto;}
  .flpd-builder .flpdv4-side > :is(.flpdv4-form-widget,.flpdv4-form-scope) {
    position:static;
    top:auto;
    width:100%;
  }
}
/* Editorial rhythm: separate section kickers, headings and content. */
.flpd-builder .flpdv4-content-block > .flpdv4-eyebrow {
  margin-block:0 18px;
}
.flpd-builder .flpdv4-content-block > .flpdv4-block-title {
  margin-top:0;
  margin-bottom:clamp(38px,4vw,55px);
}
.flpd-builder .flpdv4-content-block > .flpdv4-block-title + .elementor-widget {
  margin-top:0;
}
.flpd-builder .flpdv4-related-top .flpdv4-block-title {
  margin-bottom:0;
}
.flpd-builder .flpdv4-property-summary .flpdv4-field-value {
  margin-top:clamp(23px,2.6vw,32px);
}
.flpd-builder .flpdv4-form-scope .flpd-enquiry h2 {
  margin-bottom:30px;
}
/* Keep the form heading consistent with the approved editorial font; native
   Elementor heading typography controls can still override this default. */
.flpd-builder .flpdv4-form-scope :where(.flpd-enquiry h2) {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.08;
}
.flpd-builder .flpdv4-form-scope .flpd-enquiry > p:not(.flpd-eyebrow) {
  margin-bottom:32px;
}
/* Elementor buttons: narrow, editorial First Lion design with sufficient specificity
   to defeat Houzez defaults. Avoid !important so per-widget Elementor typography,
   colors and padding can still be customized. */
.flpd-builder .flpdv4-back .elementor-button,
.flpd-builder .flpdv4-ask-button .elementor-button,
.flpd-builder .flpdv4-related-link .elementor-button {
  box-shadow:none;
  text-shadow:none;
  border-radius:0;
  background-color:transparent;
  background-image:none;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:.115em;
  text-transform:uppercase;
  color:var(--fl4-navy);
  width:auto;
  min-height:unset;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  transition:opacity .2s ease, border-color .2s ease;
}
.flpd-builder .flpdv4-back .elementor-button {
  border:0;
  padding:0;
}
.flpd-builder .flpdv4-ask-button .elementor-button,
.flpd-builder .flpdv4-related-link .elementor-button {
  border:0;
  border-bottom:1px solid var(--fl4-gold);
  padding:0 0 10px;
}
.flpd-builder .flpdv4-back .elementor-button:hover,
.flpd-builder .flpdv4-ask-button .elementor-button:hover,
.flpd-builder .flpdv4-related-link .elementor-button:hover {
  background-color:transparent;
  color:var(--fl4-navy);
  opacity:.72;
}
.flpd-builder :is(.flpdv4-back,.flpdv4-ask-button,.flpdv4-related-link) .elementor-button:focus-visible {
  outline:2px solid var(--fl4-gold);
  outline-offset:5px;
}
/* Gold form action and white photo-gallery action match the Vercel reference. */
.flpd-builder .flpdv4-form-scope .flpd-contact-submit {
  background-color:var(--fl4-gold) !important;
  border:0;
  border-radius:0;
  color:var(--fl4-navy) !important;
  min-height:53px;
  letter-spacing:.1em;
  box-shadow:none;
}
.flpd-builder .flpdv4-gallery-scope .flpd-see-all {
  background-color:#fff;
  border:0;
  border-radius:0;
  color:var(--fl4-navy);
  box-shadow:none;
}
/* Tablet/mobile: preserve readable spacing and avoid unnatural large white gaps. */
@media(max-width:767px) {
  .flpd-builder .flpdv4-content-block > .flpdv4-eyebrow {margin-bottom:14px;}
  .flpd-builder .flpdv4-content-block > .flpdv4-block-title {margin-bottom:32px;}
}
@media (prefers-reduced-motion:reduce) {
  .flpd-builder :is(.flpdv4-back,.flpdv4-ask-button,.flpdv4-related-link) .elementor-button {
    transition:none;
  }
}
