[hidden] { display: none !important; }
.nema-preview { background:#252525; color:#fff; padding:6px 16px; text-align:center; font:13px/1.5 Manrope,sans-serif; position:relative; z-index:10000; }
.nema-filter-status { display:flex; justify-content:space-between; align-items:center; gap:1rem; width:100%; padding:12px 0; }
.row-filters .elementor-widget-jet-smart-filters-select { flex:1 1 200px; width:auto!important; }
body .nema-filter-status button,body .nema-media button,body .nema-search-page button { color:#252525; background:#d8be7d; border:1px solid #d8be7d; padding:10px 18px; font:inherit; cursor:pointer; }
.elementor .elementor-widget-container .nema-media button:is(:hover,:focus) { color:#252525; background:#d8be7d; }
.nema-form-status { width:100%; padding:12px; font-size:14px; color:#252525; background:#f5f5f3; }
.nema-form-status:empty { display:none; }
.nema-form-status[data-state="error"] { color:#9b2828; }
.nema-form-status[data-state="success"] { color:#245f37; }
[data-nema-form] button:disabled { opacity:.55; cursor:wait; }
[data-nema-search] { position:relative; }
.e-search-results-container { display:none !important; }
.nema-search-results { background:white; color:#252525; border:1px solid #ddd; padding:16px; position:absolute; top:100%; left:0; right:0; z-index:11000; max-height:50vh; overflow:auto; font-size:15px; }
.nema-results-list { padding:0; margin:0; list-style:none; }
.nema-results-list li { border-bottom:1px solid #e0e0e0; padding:12px 0; }
.nema-results-list a, .nema-not-found a, .nema-media-link a { color:#252525; text-decoration:underline; text-underline-offset:4px; }
.nema-search-page { max-width:1100px; min-height:65vh; margin:0 auto; padding:80px 24px; }
.nema-search-page h1 { font:300 clamp(40px,6vw,80px)/1.1 Manrope,sans-serif; margin-bottom:32px; }
.nema-search-page form { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px; }
.nema-search-page label { width:100%; }
.nema-search-page input { flex:1; min-width:180px; border:1px solid #777; padding:12px; font:inherit; }
.nema-media { min-height:300px; padding:30px; background:#f5f5f3; color:#252525; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:12px; font:15px/1.6 Manrope,sans-serif; }
.nema-media iframe { border:0; width:100%; min-height:420px; }
/* The captured layouts lay the enquiry card over the map's lower part, so a link panel keeps
   its text at the top, where nothing covers it (D11). */
.nema-media-link { justify-content:flex-start; }
.nema-media [role="status"] { max-width:50ch; }
.nema-lightbox { border:0; background:#171717; padding:16px; max-width:95vw; max-height:95vh; color:white; }
.nema-lightbox::backdrop { background:rgb(0 0 0 / 85%); }
.nema-lightbox button { display:block; margin:0 0 12px auto; background:#d8be7d; color:#252525; border:0; padding:10px 18px; cursor:pointer; }
.nema-lightbox img { display:block; max-width:90vw; max-height:80vh; object-fit:contain; }
.elementor-background-video-fallback { display:block; }
:where(button,a,input,select,textarea):focus-visible { outline:3px solid #ad844b; outline-offset:3px; }
@media(max-width:600px) { .nema-media { padding:20px; } .nema-media iframe { min-height:320px; } .nema-search-page { padding:40px 20px; } }
/* Floor-plan tabs on a phone (D10). The captured widget sets the tab list as a column beside
   the plan, which leaves the plan 80px wide below 768px, so the old site hid it altogether.
   Here the tabs wrap into rows above a plan that takes the full width. */
@media(max-width:767px) {
  .elementor-widget-jet-tabs .jet-tabs { flex-direction:column!important; }
  /* flex-basis is the column's width on desktop; in a column container it would become height. */
  .elementor-widget-jet-tabs .jet-tabs__control-wrapper { flex:0 0 auto!important; flex-direction:row!important; flex-wrap:wrap!important; align-content:flex-start!important; width:100%!important; max-width:100%!important; min-width:0!important; height:auto!important; min-height:0!important; border-right:0!important; }
  .elementor-widget-jet-tabs .jet-tabs__control { flex:1 1 auto!important; width:auto!important; }
  .elementor-widget-jet-tabs .jet-tabs__content-wrapper { flex:0 0 auto!important; width:100%!important; max-width:100%!important; min-width:0!important; }
  .elementor-widget-jet-tabs .jet-tabs__content img { width:100%; height:auto; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Page heading for assistive technology and search engines. The captured Elementor
   layouts start at <h2>; this adds the missing <h1> without changing what is drawn. */
.nema-page-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
