/* JM IMÓVEIS 360 — V4.5: correções de layout, vitrine lateral e edição de mídia */
:root{--jm45-gold:#e8b84f;--jm45-gold2:#ffd77d;--jm45-navy:#061126;--jm45-panel:#0d2343;--jm45-line:#d8e1ee}
html,body{max-width:100%;overflow-x:hidden}
.public-main{width:min(1180px,calc(100% - 32px));max-width:1180px;box-sizing:border-box;margin-inline:auto;padding-left:0;padding-right:0}
.public-hero{grid-template-columns:minmax(0,1.45fr) minmax(320px,.78fr)!important;align-items:start;width:100%;max-width:100%}
.public-hero>*{min-width:0;max-width:100%}
.public-hero>div:first-child,.jm-property-gallery-main,.gallery-main,.jm-swipe-gallery,.jm-swipe-track,.gallery-public{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.gallery-main{min-height:0!important;aspect-ratio:16/10;overflow:hidden}
.gallery-main>.jm-swipe-gallery{height:100%}
.gallery-main .jm-swipe-track,.gallery-main .jm-swipe-slide{height:100%;min-height:0}
.gallery-main .jm-swipe-slide img{height:100%!important;min-height:0;object-fit:contain}
.gallery-public{overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain}
.public-info{width:100%;min-width:0;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--jm45-line);box-shadow:0 14px 36px rgba(7,26,56,.08)}
.public-info h1{font-size:clamp(26px,3vw,38px);line-height:1.08;word-break:normal;overflow-wrap:anywhere;margin-bottom:10px}
.public-info p,.formatted-property-copy{overflow-wrap:anywhere;word-break:normal}
.public-info .price{font-size:clamp(26px,3vw,38px);line-height:1.1;margin:12px 0}
.public-video-section{clear:both;width:100%;max-width:100%;box-sizing:border-box}
.public-video-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
.property-floating-actions{z-index:9997!important}

/* Vitrine pública: imóveis à esquerda e ações úteis na lateral */
.jm-public-content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:24px;align-items:start;margin-top:22px}
.jm-public-listings,.jm-public-sidebar{min-width:0}
.jm-public-sidebar{position:sticky;top:18px;display:grid;gap:16px}
.jm-public-sidebar .public-lead-form,.jm-public-sidebar .public-actions-hub{margin:0}
.jm-public-sidebar .public-actions-hub{display:grid;grid-template-columns:1fr;gap:14px}
.jm-public-sidebar .public-action-card{padding:18px}
.jm-public-sidebar .public-lead-form{padding:18px}
.jm-public-sidebar .public-lead-form .form-grid{grid-template-columns:1fr!important}
.jm-public-sidebar .public-lead-form .field,.jm-public-sidebar .public-lead-form .field.double,.jm-public-sidebar .public-lead-form .field.full{grid-column:auto!important}
.jm-public-sidebar .jm-news-form{grid-template-columns:1fr!important}
.jm-public-sidebar .jm-news-form .full{grid-column:auto!important}
.jm-public-sidebar .btn{width:100%;justify-content:center}
.jm-install-cta.jm-install-premium{display:none;position:relative;overflow:hidden;width:100%;padding:14px 16px;border:1px solid rgba(255,215,125,.55);background:linear-gradient(135deg,#f5c85f,#d99b26);color:#061126;font-weight:950;box-shadow:0 12px 28px rgba(227,176,75,.25)}
.jm-install-cta.jm-install-premium.ready{display:inline-flex}
.jm-install-cta.jm-install-premium:before{content:'◆';margin-right:9px}
.jm-install-help{display:block;color:#c6d1e2;font-size:12px;line-height:1.45;margin-top:8px}

/* Cadastro e edição: mídia visível dentro do imóvel */
.jm-inline-media-editor{margin-top:10px;padding:18px;border-radius:20px;border:1px solid rgba(227,176,75,.45);background:linear-gradient(150deg,#fffaf0,#f7faff)}
.jm-inline-media-editor h3{margin:0;color:#071a38}.jm-inline-media-editor .muted{margin:5px 0 14px}
.jm-edit-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0}
.jm-edit-media-card{position:relative;overflow:hidden;border-radius:14px;background:#07162d;color:#fff;border:1px solid rgba(227,176,75,.28);min-height:120px}
.jm-edit-media-card img,.jm-edit-media-card video{display:block;width:100%;height:132px;object-fit:cover;background:#020814}
.jm-edit-media-card .body{padding:9px;font-size:12px}.jm-edit-media-card strong{display:block;color:#ffd77d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jm-edit-media-empty{padding:16px;border:1px dashed #bdc9d9;border-radius:14px;color:#607089;background:#fff}
.jm-inline-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.jm-inline-upload-box{background:#fff;border:1px solid #dce4ef;border-radius:14px;padding:12px}.jm-inline-upload-box label{font-weight:900;color:#071a38}.jm-inline-upload-box input{width:100%;margin:8px 0}
.jm-location-share-box{padding:14px;border-radius:16px;border:1px solid rgba(227,176,75,.35);background:rgba(227,176,75,.08)}
.jm-field-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.jm-field-tools .btn{padding:9px 12px;font-size:12px}
.jm-code-hint{display:block;margin-top:5px;color:#8b621c;font-weight:800}

@media(max-width:980px){
  .public-hero{grid-template-columns:1fr!important}
  .jm-public-content-layout{grid-template-columns:1fr}
  .jm-public-sidebar{position:static;grid-template-columns:1fr 1fr}
  .jm-public-sidebar .public-lead-form{grid-column:1/-1}
}
@media(max-width:720px){
  .public-main{width:min(100% - 20px,1180px)}
  .public-hero{gap:14px}
  .gallery-main{aspect-ratio:4/3}
  .public-info{padding:15px}
  .jm-public-sidebar{grid-template-columns:1fr}
  .jm-public-sidebar .public-lead-form{grid-column:auto}
  .jm-inline-upload-grid{grid-template-columns:1fr}
  .jm-edit-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .property-floating-actions{right:10px!important;bottom:84px!important}
  .property-floating-actions .btn{max-width:78vw}
}
