/* Layout defaults for the native Elementor widgets. Widget style controls take precedence. */
.ve-elementor{--e-global-color-primary:#20343b;--e-global-color-secondary:#ad5940;--e-global-color-text:#637077;--e-global-color-accent:#347d8a}
.ve-elementor .elementor-heading-title,.ve-elementor .elementor-widget-text-editor,.ve-elementor .elementor-button{font-family:var(--sans)}
.ve-elementor .elementor-widget{min-width:0;max-width:100%}
.ve-elementor .elementor-widget-text-editor p:last-child{margin-bottom:0}
.ve-elementor .ve-e-width{width:min(1440px,calc(100% - 112px));margin-inline:auto}
.ve-elementor .ve-e-section{padding-block:50px}
.ve-elementor .ve-e-hero{padding-block:40px}
.ve-e-hero-title .elementor-heading-title span{display:block;color:var(--terra);margin-top:7px}
.ve-e-hero-images .elementor-widget-image,.ve-e-hero-images .elementor-widget-container,.ve-e-hero-images a{display:block;width:100%}
.ve-e-hero-images img{display:block}
.ve-elementor .ve-e-eyebrow{letter-spacing:.22em;text-transform:uppercase}
.ve-elementor .ve-e-details{padding-top:30px;border-top:1px solid var(--line)}
.ve-elementor .ve-e-comfort{padding-block:35px 55px}
.ve-elementor .ve-e-comfort>.e-con{flex:1;min-width:0}
.ve-elementor .ve-e-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.ve-elementor .ve-e-gallery-card{width:100%;gap:10px}
.ve-e-caption{font-size:12px;line-height:1.6}
.ve-elementor .ve-e-invitation{padding-block:35px;border-block:1px solid var(--line);margin-top:35px}
.ve-elementor .ve-e-invitation>.elementor-widget-button{flex-shrink:0}
.ve-elementor .ve-e-contact{padding-block:80px}
.ve-elementor .ve-e-contact-form{padding-left:40px;border-left:1px solid var(--line)}
.ve-elementor .elementor-shortcode .availability-section{width:min(1440px,calc(100% - 112px))}
.ve-elementor .elementor-shortcode .stay-form{margin-top:15px}
.ve-elementor .elementor-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;line-height:1.4}
.ve-elementor .e-con{min-width:0}
.ve-elementor .e-con h1,.ve-elementor .e-con h2,.ve-elementor .e-con h3{overflow-wrap:break-word}
@media(max-width:1120px){.ve-elementor .ve-e-width,.ve-elementor .elementor-shortcode .availability-section{width:calc(100% - 72px)}.ve-e-hero-title .elementor-heading-title{font-size:7.1vw}.ve-elementor .ve-e-contact-form{padding-left:25px}}
@media(min-width:768px) and (max-width:1024px){.ve-elementor .ve-e-hero{gap:30px}.ve-elementor .ve-e-section{gap:30px}.ve-elementor .ve-e-comfort{gap:25px}}
@media(max-width:767px){
  .ve-elementor .ve-e-width,.ve-elementor .elementor-shortcode .availability-section{width:calc(100% - 40px)}
  .ve-elementor .ve-e-hero{padding-block:30px;align-items:stretch;gap:23px}
  .ve-elementor .ve-e-section{padding-block:30px;gap:25px;align-items:stretch}
  .ve-e-hero-title .elementor-heading-title{font-size:clamp(40px,10.3vw,64px)}
  .ve-elementor .ve-e-hero-images{gap:6px;flex-wrap:nowrap}
  .ve-elementor .ve-e-comfort{padding-block:30px;gap:25px}
  .ve-elementor .ve-e-comfort>.e-con{flex:auto;width:100%}
  .ve-elementor .ve-e-gallery{grid-template-columns:1fr 1fr;gap:18px 12px}
  .ve-elementor .ve-e-gallery-card img{height:190px}
  .ve-elementor .ve-e-invitation{padding-block:28px;margin-top:25px;align-items:stretch;gap:25px}
  .ve-elementor .ve-e-contact-form{padding:25px 0 0;border:0;border-top:1px solid var(--line)}
  .ve-elementor .ve-e-contact{padding-block:45px}
}
@media(max-width:420px){.ve-elementor .ve-e-gallery{grid-template-columns:1fr}.ve-elementor .ve-e-gallery-card img{height:250px}}
@media print{.ve-elementor .ve-e-width{width:100%}.ve-elementor .ve-e-contact{display:none}}
