.elementor-190 .elementor-element.elementor-element-07c4192{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:90px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-190 .elementor-element.elementor-element-07c4192:not(.elementor-motion-effects-element-type-background), .elementor-190 .elementor-element.elementor-element-07c4192 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-190 .elementor-element.elementor-element-917ab0f .gallery-item .gallery-caption{text-align:center;}.elementor-190 .elementor-element.elementor-element-83dfd16{--display:flex;--padding-top:30px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-190 .elementor-element.elementor-element-83dfd16:not(.elementor-motion-effects-element-type-background), .elementor-190 .elementor-element.elementor-element-83dfd16 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-200b3a4{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-190 .elementor-element.elementor-element-200b3a4:not(.elementor-motion-effects-element-type-background), .elementor-190 .elementor-element.elementor-element-200b3a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-bd24abd{--display:flex;--gap:80px 80px;--row-gap:80px;--column-gap:80px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-37a955e{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;font-family:"DM Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-190 .elementor-element.elementor-element-cdaf57d{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-190 .elementor-element.elementor-element-cdaf57d:not(.elementor-motion-effects-element-type-background), .elementor-190 .elementor-element.elementor-element-cdaf57d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-07b019b{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-190 .elementor-element.elementor-element-07b019b:not(.elementor-motion-effects-element-type-background), .elementor-190 .elementor-element.elementor-element-07b019b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-d0da0f9{width:100%;max-width:100%;}.elementor-190 .elementor-element.elementor-element-c3b0a6a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-2c3b0e2 .elementor-icon-wrapper{text-align:center;}.elementor-190 .elementor-element.elementor-element-2c3b0e2.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-accent );}.elementor-190 .elementor-element.elementor-element-2c3b0e2.elementor-view-framed .elementor-icon, .elementor-190 .elementor-element.elementor-element-2c3b0e2.elementor-view-default .elementor-icon{color:var( --e-global-color-accent );border-color:var( --e-global-color-accent );}.elementor-190 .elementor-element.elementor-element-2c3b0e2.elementor-view-framed .elementor-icon, .elementor-190 .elementor-element.elementor-element-2c3b0e2.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-accent );}.elementor-190 .elementor-element.elementor-element-2c3b0e2 .elementor-icon{font-size:8px;}.elementor-190 .elementor-element.elementor-element-2c3b0e2 .elementor-icon svg{height:8px;}@media(min-width:768px){.elementor-190 .elementor-element.elementor-element-bd24abd{--width:70%;}.elementor-190 .elementor-element.elementor-element-c3b0a6a{--width:33%;}}@media(max-width:1024px) and (min-width:768px){.elementor-190 .elementor-element.elementor-element-bd24abd{--width:100%;}.elementor-190 .elementor-element.elementor-element-c3b0a6a{--width:100%;}}@media(max-width:1024px){.elementor-190 .elementor-element.elementor-element-200b3a4{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-190 .elementor-element.elementor-element-c3b0a6a{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}@media(max-width:767px){.elementor-190 .elementor-element.elementor-element-37a955e{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-173b45e */.crumbs{
  display:flex; flex-wrap:wrap; gap:10px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px; line-height:1.4;
  letter-spacing:.08em; text-transform:uppercase;
  color:#121212;
}
.crumbs a{ color:#5C5E57; text-decoration:none; transition:color .3s ease; }
.crumbs a:hover{ color:#B5502F; }
.crumbs .sep{ color:#5C5E57; }/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-917ab0f *//* ---------- Property gallery: 1 large + 2 stacked ---------- */
.property-gallery .gallery{
  display:grid !important;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr);
  grid-template-rows:1fr 1fr;
  gap:16px;
  aspect-ratio:2 / 1;            /* large image ends up about 4:3 */
}
.property-gallery .gallery-item{
  position:relative;
  float:none !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
}
.property-gallery .gallery-icon,
.property-gallery .gallery-icon a{
  display:block;
  height:100%;
}
.property-gallery .gallery-item img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.property-gallery .gallery-item:hover img{ transform:scale(1.05); }

/* First image is the large one */
.property-gallery .gallery-item:nth-child(1){ grid-row:1 / span 2; }

/* Only three are shown; the rest open in the lightbox */
.property-gallery .gallery-item:nth-child(n+4){ display:none; }

/* "View all photos" label on the third image */
.property-gallery .gallery-item:nth-child(3)::after{
  content:"View all photos";
  position:absolute;
  right:18px; bottom:18px;
  padding:12px 16px;
  background:#F4EFE6;
  color:#121212;
  font:500 13px/1 "DM Sans",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  pointer-events:none;           /* clicks still open the lightbox */
  transition:background .3s ease, color .3s ease;
}
.property-gallery .gallery-item:nth-child(3):hover::after{
  background:#B5502F;
  color:#F4EFE6;
}

/* Tablet: large image on top, two below */
@media (max-width:1024px){
  .property-gallery .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
    aspect-ratio:auto;
  }
  .property-gallery .gallery-item:nth-child(1){
    grid-column:1 / -1;
    grid-row:auto;
    aspect-ratio:4 / 3;
  }
  .property-gallery .gallery-item:nth-child(2),
  .property-gallery .gallery-item:nth-child(3){ aspect-ratio:1 / 1; }
}

/* Mobile */
@media (max-width:620px){
  .property-gallery .gallery{ gap:8px; }
  .property-gallery .gallery-item:nth-child(1){ aspect-ratio:4 / 5; }
  .property-gallery .gallery-item:nth-child(3)::after{
    right:10px; bottom:10px; padding:10px 12px; font-size:11px;
  }
}

@media (prefers-reduced-motion:reduce){
  .property-gallery .gallery-item img{ transition:none; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-58df977 */.feat{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:48px;
}
.feat > div{
  display:flex;
  gap:20px;
  align-items:baseline;
  padding:18px 0;
  border-top:1px solid rgba(18,18,18,.25);
  font:400 16px/1.3 "DM Sans",sans-serif;
}
.feat .mono{
  min-width:24px;
  font:400 11px/1.4 "JetBrains Mono",monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5C5E57;
}
@media (max-width:620px){
  .feat{ grid-template-columns:minmax(0,1fr); }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d0da0f9 */.property-map{ position:relative; overflow:hidden; }
.property-map iframe{ display:block; width:100%; height:420px; filter:grayscale(1) contrast(1.05); }
.property-map__circle{
  position:absolute; top:50%; left:50%;
  width:150px; height:150px;
  transform:translate(-50%,-50%);
  border:1px solid #B5502F;
  background:rgba(181,80,47,.18);
  border-radius:50%;
  pointer-events:none;
}
@media (max-width:620px){
  .property-map iframe{ height:300px; }
  .property-map__circle{ width:110px; height:110px; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-6a01349 *//* ---------- Booking form (Contact Form 7, light card) ---------- */
.booking-form{
  --bf-ink:#121212;
  --bf-muted:#5C5E57;
  --bf-line:rgba(18,18,18,.35);
  --bf-accent:#B5502F;
}

/* Neutralise Contact Form 7's extra tags */
.booking-form br{ display:none; }
.booking-form p{ margin:0; }
.booking-form .wpcf7-form-control-wrap{ display:block; }

/* Fields */
.booking-form .field{ display:block; margin-bottom:22px; }
.booking-form .field__label{
  display:block;
  margin-bottom:4px;
  font:400 11px/1.4 "JetBrains Mono",monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--bf-muted);
}
.booking-form input.wpcf7-form-control,
.booking-form textarea.wpcf7-form-control{
  width:100%;
  box-sizing:border-box;
  padding:6px 0 12px;
  background:transparent;
  border:0;
  border-bottom:1px solid var(--bf-line);
  border-radius:0;
  box-shadow:none;
  outline:0;
  color:var(--bf-ink);
  font:300 22px/1.25 "Fraunces",serif;
  letter-spacing:0;
  transition:border-color .3s ease;
}
.booking-form textarea.wpcf7-form-control{
  min-height:84px;
  resize:none;
}
.booking-form ::placeholder{ color:var(--bf-muted); opacity:1; }
.booking-form input.wpcf7-form-control:focus,
.booking-form textarea.wpcf7-form-control:focus{
  border-bottom-color:var(--bf-ink);
}
.booking-form input:-webkit-autofill{
  -webkit-text-fill-color:var(--bf-ink);
  box-shadow:0 0 0 1000px #FBF8F1 inset;
  caret-color:var(--bf-ink);
}

/* Main button: black, with a terracotta arrow square */
.booking-form .btn-book{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  height:56px;
  margin-top:34px;
  padding:0 0 0 24px;
  background:var(--bf-ink);
  color:#F4EFE6;
  border:0;
  border-radius:0;
  cursor:pointer;
  font:500 13px/1 "DM Sans",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:background .3s ease;
}
.booking-form .btn-book__arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  background:var(--bf-accent);
  color:#F4EFE6;
  transition:background .3s ease, color .3s ease;
}
.booking-form .btn-book__arrow svg{ transition:transform .3s ease; }
.booking-form .btn-book:hover .btn-book__arrow{ background:#F4EFE6; color:var(--bf-ink); }
.booking-form .btn-book:hover .btn-book__arrow svg{ transform:translate(3px,-3px); }
.booking-form .btn-book:focus-visible{ outline:2px solid var(--bf-ink); outline-offset:3px; }

/* WhatsApp button: outlined */
.btn-wa,
.btn-wa .elementor-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  height:56px;
  margin-top:14px;
  padding:0 20px;
  background:transparent;
  color:#121212;
  border:1px solid #121212;
  border-radius:0;
  text-decoration:none;
  font:500 13px/1 "DM Sans",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:background .3s ease, color .3s ease;
}
.btn-wa:hover,
.btn-wa .elementor-button:hover{
  background:#121212;
  color:#F4EFE6;
}

/* Validation and status messages */
.booking-form .wpcf7-not-valid-tip{
  margin-top:6px;
  font:400 11px/1.4 "JetBrains Mono",monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#9A4125;
}
.wpcf7 form .wpcf7-response-output{
  margin:20px 0 0;
  padding:0;
  border:0;
  color:#121212;
  font:400 12px/1.5 "JetBrains Mono",monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wpcf7-spinner{ margin:0 12px; }/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-1539585 *//* WhatsApp link (output of [property_whatsapp]) */
.elementor a.wa-link,
a.wa-link{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
  height:56px;
  margin-top:14px;
  padding:0 20px;
  background:transparent !important;
  color:#121212 !important;
  border:1px solid #121212 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-family:"DM Sans",sans-serif;
  font-size:13px;
  font-weight:500;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .3s ease, color .3s ease;
}

.elementor a.wa-link:hover,
.elementor a.wa-link:focus-visible,
a.wa-link:hover,
a.wa-link:focus-visible{
  background:#121212 !important;
  color:#F4EFE6 !important;
  text-decoration:none !important;
}

.elementor a.wa-link:focus-visible{
  outline:2px solid #121212;
  outline-offset:3px;
}/* End custom CSS */