/* Round 60: Modern Homes cards now open a true responsive preview.
   Existing quote request and form behavior unchanged. */
body.pmm-modern .r5-grid article.r39-model-card {cursor:pointer;}
body.pmm-modern .r5-grid article.r39-model-card .r60-modern-preview {
 display:block;width:100%;height:100%;background:none;border:0;padding:0;
 text-align:inherit;cursor:zoom-in;overflow:hidden;position:relative;
}
body.pmm-modern .r5-grid article.r39-model-card .r60-modern-preview img {display:block;width:100%;height:100%;object-fit:cover;}
body.pmm-modern .r5-grid article.r39-model-card .r60-modern-preview:focus-visible {outline:3px solid #b38e4f;outline-offset:-4px;}
.r60-modern-overlay {
 position:fixed;inset:0;z-index:10050;
 display:none;align-items:center;justify-content:center;
 padding:clamp(10px,2vw,24px);
 background:rgba(7,26,21,.83);
}
.r60-modern-overlay.open {display:flex;}
.r60-modern-dialog {
 display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.82fr);
 width:min(1050px,100%);max-height:calc(100dvh - 28px);
 background:#fcfbf8;color:#173c2d;border-radius:12px;
 overflow-y:auto;overflow-x:hidden;box-shadow:0 28px 80px rgba(0,0,0,.38);
}
.r60-modern-media {display:flex;align-items:center;justify-content:center;background:#e6ebe4;min-height:350px;overflow:hidden;}
.r60-modern-media img {display:block;width:100%;height:auto;max-height:min(74dvh,700px);object-fit:contain;}
.r60-modern-info {position:relative;display:flex;flex-direction:column;padding:clamp(22px,3vw,36px);min-width:0;}
.r60-modern-close {
 align-self:flex-end;flex:0 0 auto;min-width:44px;min-height:44px;
 display:inline-flex;align-items:center;justify-content:center;
 font:400 30px/1 Arial,sans-serif;color:#173c2d;
 background:white;border:1px solid #c5d5cb;border-radius:50%;cursor:pointer;
}
.r60-modern-close:focus-visible,.r60-modern-ask:focus-visible {outline:3px solid #b38e4f;outline-offset:3px;}
.r60-modern-kicker {font:800 11px/1.4 Arial,sans-serif;letter-spacing:.13em;color:#ad8647;margin:20px 0 8px;}
.r60-modern-info h2 {font:400 clamp(29px,4vw,45px)/1.05 Georgia,serif;color:#163f30;margin:0 0 14px;}
.r60-modern-desc {font-size:15px;line-height:1.6;color:#557064;margin:0 0 19px;}
.r60-modern-size {display:inline-flex;align-self:flex-start;background:#e7efe6;border-radius:4px;padding:9px 12px;font-size:15px;font-weight:800;color:#254d3b;margin:0 0 17px;}
.r60-modern-price {display:flex;flex-direction:column;gap:4px;padding-top:16px;border-top:1px solid #dfe6df;}
.r60-modern-price strong {font-size:24px;line-height:1.25;color:#1b543e;}
.r60-modern-price small {font-size:14px;line-height:1.45;color:#61756a;}
.r60-modern-specs {display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px;}
.r60-modern-specs span {font:700 12px/1.35 Arial,sans-serif;padding:8px 10px;border-radius:4px;background:#f0f3ef;color:#355646;}
.r60-modern-ask {margin-top:auto;border:0;border-radius:5px;padding:15px 18px;min-height:48px;background:#174533;color:white;cursor:pointer;font-weight:800;font-size:14px;text-align:center;}
@media(max-width:760px) {
 .r60-modern-overlay {padding:8px;align-items:center;}
 .r60-modern-dialog {display:flex;flex-direction:column;max-height:calc(100dvh - 16px);}
 .r60-modern-media {order:2;min-height:0;}
 .r60-modern-media img {max-height:34dvh;}
 .r60-modern-info {order:1;padding:13px 19px 17px;}
 .r60-modern-close {position:sticky;top:0;z-index:5;margin:-2px -5px 0 auto;}
 .r60-modern-kicker {margin:0 0 5px;}
 .r60-modern-info h2 {font-size:32px;margin:0 0 9px;}
 .r60-modern-desc {font-size:14px;margin:0 0 10px;}
 .r60-modern-size {padding:6px 10px;margin:0 0 10px;}
 .r60-modern-price {padding-top:10px;}
 .r60-modern-price strong {font-size:21px;}
 .r60-modern-specs {margin:10px 0 14px;}
 .r60-modern-ask {margin-top:0;}
}
/* Mobile preview opens on the image; the close control is always reachable. */
@media(max-width:760px){
 .r60-modern-media {order:1;}
 .r60-modern-info {order:2;}
 .r60-modern-close {
   position:fixed; top:max(14px,env(safe-area-inset-top));
   right:max(14px,env(safe-area-inset-right));
   z-index:10060; background:#fcfbf8;box-shadow:0 3px 15px #0003;
 }
}
