/* Landlord Compliance modals — mirrors the site's lcuk- design tokens.
   Self-contained so the plugin works even if homepage.css is absent. */
:root{
  --lcuk-navy:#000080; --lcuk-navy-dark:#00005c; --lcuk-ink:#0b0f1a;
  --lcuk-muted:#5a6170; --lcuk-line:#e4e7ef; --lcuk-bg-soft:#f4f6fb;
  --lcuk-radius:6px; --lcuk-radius-lg:10px;
  --lcuk-shadow-lg:0 14px 40px rgba(0,0,64,.12);
}

.lcuk-modal{
  position:fixed; inset:0; z-index:99999;
  background:rgba(10,12,30,.6);
  display:none; align-items:flex-start; justify-content:center;
  padding:40px 20px; overflow-y:auto;
}
.lcuk-modal.is-open{ display:flex; }
.lcuk-modal__box{
  background:#fff; width:100%; max-width:520px; margin:auto;
  border-radius:var(--lcuk-radius-lg); padding:34px;
  box-shadow:var(--lcuk-shadow-lg); position:relative;
}
.lcuk-modal__close{
  position:absolute; top:10px; right:10px;
  background:none; border:0; font-size:26px; line-height:1; cursor:pointer;
  color:var(--lcuk-muted); width:36px; height:36px; border-radius:50%;
}
.lcuk-modal__close:hover{ background:var(--lcuk-bg-soft); }
.lcuk-modal h3{ font-size:22px; margin:0 0 22px; text-align:center; color:var(--lcuk-ink); line-height:1.3; }
.lcuk-modal__h-sub{ display:inline-block; margin-top:4px; color:var(--lcuk-navy); font-size:20px; font-weight:700; }
.lcuk-modal__lead{ font-size:15px; color:var(--lcuk-muted); text-align:center; margin:0 0 22px; }
.lcuk-modal__contact{
  font-size:14px; color:var(--lcuk-muted); text-align:center;
  margin:18px 0 0; line-height:1.55;
}
.lcuk-modal__contact a{ color:var(--lcuk-navy); font-weight:700; text-decoration:none; }
.lcuk-modal__contact a:hover{ text-decoration:underline; }

/* Property selector */
.lcuk-prop-options{ display:grid; gap:10px; margin-bottom:18px; }
.lcuk-prop{
  display:flex; align-items:center; gap:12px;
  border:2px solid var(--lcuk-line); border-radius:var(--lcuk-radius);
  padding:14px 16px; cursor:pointer; transition:all .15s ease;
}
.lcuk-prop:hover{ border-color:var(--lcuk-navy); background:var(--lcuk-bg-soft); }
.lcuk-prop input{ accent-color:var(--lcuk-navy); width:18px; height:18px; }
.lcuk-prop:has(input:checked){ border-color:var(--lcuk-navy); background:var(--lcuk-bg-soft); }
.lcuk-prop__count{ font-weight:700; color:var(--lcuk-ink); }
.lcuk-prop__price{ margin-left:auto; font-size:14px; color:var(--lcuk-muted); }

.lcuk-total{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 16px; background:var(--lcuk-bg-soft);
  border-radius:var(--lcuk-radius); margin-bottom:12px;
}
.lcuk-total span{ color:var(--lcuk-muted); font-size:15px; }
.lcuk-total strong{ color:var(--lcuk-navy); font-size:22px; }
.lcuk-modal__note{ font-size:12.5px; color:var(--lcuk-muted); text-align:center; margin:0 0 18px; }
.lcuk-modal__secure{ font-size:12px; color:var(--lcuk-muted); text-align:center; margin:10px 0 0; }

/* Form */
.lcuk-form{ display:grid; gap:12px; }
.lcuk-form input, .lcuk-form textarea{
  width:100%; padding:13px 14px;
  border:1.5px solid var(--lcuk-line); border-radius:var(--lcuk-radius);
  font:inherit; font-size:15px; box-sizing:border-box;
}
.lcuk-form input:focus, .lcuk-form textarea:focus{ outline:0; border-color:var(--lcuk-navy); }
.lcuk-form__label{ font-size:13px; color:var(--lcuk-muted); margin-top:4px; }
.lcuk-form__row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* Feedback */
.lcuk-modal__error{
  background:#fdeaea; border:1px solid #f3c2c2; color:#8B0000;
  border-radius:var(--lcuk-radius); padding:11px 14px; font-size:14px; margin:6px 0;
}
.lcuk-modal__success{
  background:#eafaf0; border:1px solid #b9e6cb; color:#1a6b3c;
  border-radius:var(--lcuk-radius); padding:14px; font-size:14px; text-align:center; margin:6px 0;
}
.lcuk-modal__submit.is-loading{ opacity:.65; pointer-events:none; }

/* Fallback button styling if Elementor's button CSS is unavailable */
.lcuk-modal .elementor-button{
  display:inline-flex; align-items:center; justify-content:center;
  margin-top:6px; border:0; cursor:pointer;
}
.lcuk-modal .elementor-button:not([class*="elementor-size"]){ padding:14px 22px; }

@media (max-width:520px){
  .lcuk-prop__price{ margin-left:0; }
  .lcuk-prop{ flex-wrap:wrap; }
}
