/* Oathwood Realty interaction add-on.
   Additive only: this does not replace your existing realty.css. */

.ow-clickable-realty-card{
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.ow-clickable-realty-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 45px rgba(18,45,31,.18);
}
.ow-clickable-realty-card:focus-visible{
  outline:3px solid #d6a84d;
  outline-offset:4px;
}

.ow-realty-detail-dialog{
  width:min(1040px,calc(100vw - 28px));
  max-height:92vh;
  padding:0;
  border:0;
  border-radius:24px;
  background:#f8f2df;
  color:#172019;
  box-shadow:0 30px 90px rgba(0,0,0,.36);
}
.ow-realty-detail-dialog::backdrop{
  background:rgba(4,12,8,.72);
  backdrop-filter:blur(7px);
}
.ow-realty-modal{padding:0;overflow:hidden}
.ow-realty-modal-head{
  position:sticky;top:0;z-index:3;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:20px 24px;
  background:#102218;color:#fff;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.ow-realty-modal-head small{
  display:block;color:#c5df77;font-weight:900;letter-spacing:.14em;font-size:.62rem;
}
.ow-realty-modal-head h2{
  margin:3px 0 0;font-family:"Fredoka",system-ui,sans-serif;
  font-size:clamp(1.7rem,4vw,2.7rem);
}
#owRealtyClose{
  width:42px;height:42px;border:1px solid rgba(255,255,255,.22);
  border-radius:50%;background:rgba(255,255,255,.08);color:#fff;
  font-size:1.8rem;line-height:1;cursor:pointer;
}
#owRealtyBody{padding:24px;max-height:calc(92vh - 86px);overflow:auto}

.ow-realty-detail-grid{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:24px;align-items:start;
}
.ow-realty-gallery>img,.ow-realty-hero-placeholder{
  width:100%;aspect-ratio:16/10;border-radius:18px;object-fit:cover;
  background:#dfe7cd;border:1px solid rgba(16,34,24,.12);
}
.ow-realty-hero-placeholder{
  display:grid;place-items:center;font-size:6rem;
}
.ow-realty-thumbs{
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px;
}
.ow-realty-thumbs button{
  padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;cursor:pointer;
}
.ow-realty-thumbs button.active{border-color:#6f934b}
.ow-realty-thumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover}

.ow-realty-info{padding:4px 0}
.ow-realty-badges{display:flex;flex-wrap:wrap;gap:7px}
.ow-realty-badges span{
  padding:6px 9px;border-radius:999px;background:#e2ead1;color:#385132;
  font-size:.7rem;font-weight:1000;letter-spacing:.06em;
}
.ow-realty-location{color:#6e786c;font-weight:800}
.ow-realty-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
.ow-realty-price-grid>div{
  padding:16px;border-radius:14px;background:#fff;border:1px solid #d8ccb0;
}
.ow-realty-price-grid small{display:block;font-size:.61rem;letter-spacing:.11em;font-weight:1000;color:#71806d}
.ow-realty-price-grid strong{display:block;font:700 1.65rem "Fredoka",system-ui,sans-serif;color:#234629}
.ow-realty-price-grid span{font-size:.72rem;color:#747b70}
.ow-realty-description{line-height:1.7;color:#4f5a50;white-space:pre-wrap}
.ow-realty-listed-by{
  margin-top:18px;padding:13px 14px;border-radius:12px;background:#eee4cb;
  border:1px solid #d6c8a6;
}
.ow-realty-listed-by span{margin-left:7px;color:#4d793d;font-weight:900}

.ow-realty-interest-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;
}
.ow-realty-form,.ow-realty-login-note,.ow-realty-owner-note{
  padding:20px;border-radius:18px;background:#fff;border:1px solid #d8ccb0;
  box-shadow:0 10px 28px rgba(43,52,39,.07);
}
.ow-realty-form>div small,.ow-realty-section-title small{
  color:#71806d;font-size:.61rem;font-weight:1000;letter-spacing:.12em;
}
.ow-realty-form h3,.ow-realty-section-title h3{
  margin:3px 0 15px;font-family:"Fredoka",system-ui,sans-serif;
}
.ow-realty-form label{
  display:grid;gap:6px;margin:11px 0;font-size:.75rem;font-weight:900;color:#465347;
}
.ow-realty-form input,.ow-realty-form textarea,.ow-realty-form select{
  width:100%;padding:12px 13px;border:1px solid #c7b994;border-radius:10px;
  background:#fffdf6;color:#172019;font:inherit;
}
.ow-realty-action{
  display:inline-flex;align-items:center;justify-content:center;
  padding:11px 15px;border:0;border-radius:11px;background:#244d34;color:#fff;
  font-weight:1000;text-decoration:none;cursor:pointer;
}
.ow-realty-action.primary{background:#356c40}
.ow-realty-action.gold{background:#d6a84d;color:#25311f}
.ow-realty-form-message{min-height:20px;margin:8px 0 0;font-weight:900;font-size:.78rem}
.ow-realty-form-message.success{color:#3f7042}
.ow-realty-form-message.error{color:#a24f42}

.ow-realty-existing{
  margin-top:24px;padding-top:22px;border-top:1px solid #d8ccb0;
}
.ow-realty-existing article{
  margin-top:9px;padding:14px;border-radius:12px;background:#fff;border:1px solid #ddd1b5;
}
.ow-realty-existing article>div{display:flex;justify-content:space-between;gap:15px}
.ow-realty-existing article span{
  padding:4px 8px;border-radius:999px;background:#edf0e3;font-size:.68rem;font-weight:900;
}
.ow-realty-existing article p{margin:7px 0 0;color:#667066}
.ow-realty-loading,.ow-realty-error{
  padding:45px;text-align:center;border-radius:16px;background:#fff;border:1px solid #ddd1b5;
}
.ow-realty-error strong{font-family:"Fredoka",system-ui,sans-serif;font-size:1.5rem}
.ow-realty-tiny{font-size:.75rem;color:#7b8178}

@media(max-width:760px){
  .ow-realty-detail-grid,.ow-realty-interest-grid{grid-template-columns:1fr}
  .ow-realty-price-grid{grid-template-columns:1fr}
  .ow-realty-thumbs{grid-template-columns:repeat(4,1fr)}
  #owRealtyBody{padding:15px}
  .ow-realty-modal-head{padding:16px}
}


/* OWNER LISTING EDITOR — safe front-end controls for description/photos/prices */
.ow-realty-owner-editor{margin-top:16px}
.ow-realty-edit-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.ow-owner-photo-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:10px 0 16px}
.ow-owner-photo{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#e6e0cd;border:1px solid #d0c29d}
.ow-owner-photo img{width:100%;height:100%;object-fit:cover}
.ow-owner-photo button{position:absolute;right:5px;top:5px;width:28px;height:28px;border:0;border-radius:50%;background:#7f332d;color:white;font-weight:1000;cursor:pointer}
@media(max-width:720px){.ow-realty-edit-row{grid-template-columns:1fr}.ow-owner-photo-preview{grid-template-columns:repeat(3,1fr)}}
.ow-realty-buy-now{margin:18px 0;background:linear-gradient(135deg,#fff8df,#edf4df);border:1px solid #cbb879;border-radius:16px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.ow-realty-buy-now h3{font:700 1.4rem Fredoka;margin:.15rem 0}.ow-realty-buy-now p{margin:0;color:#59675b;line-height:1.5}.ow-realty-buy-now small{font-weight:1000;letter-spacing:.12em;color:#6c7f45}.ow-realty-buy-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.ow-realty-buy-now{grid-template-columns:1fr}.ow-realty-buy-buttons{justify-content:flex-start}}
