/* Every surface belongs to this component; no theme heading, dt or button colors leak in. */
.lm2-single-page { width:100%; min-width:0; background:var(--lm2-single-bg-color,#fff); color:var(--lm2-single-text-color,#212529); padding:28px 0 48px; font-size:15px; line-height:1.6; }
.lm2-single-page,.lm2-single-page * { box-sizing:border-box; }
.lm2-single-page .lm2-single-shell { max-width:1280px; margin:0 auto; padding:0 32px; }
.lm2-single-page .lm2-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 26px; font-size:13px; }
.lm2-single-page a { color:var(--lm2-single-header-color,#212529); }
.lm2-single-page h1,.lm2-single-page h2,.lm2-single-page h3 { color:var(--lm2-single-header-color,#212529)!important; margin:0 0 18px; padding:0; line-height:1.25; }
.lm2-single-page h1 { font-size:clamp(27px,3vw,38px); letter-spacing:-.025em; margin:10px 0 0; }
.lm2-single-page h2 { font-size:23px; }
.lm2-single-page h3 { font-size:20px; }
.lm2-single-page p { color:inherit; padding:0; margin:0 0 14px; line-height:1.6; }
.lm2-single-page .lm2-apartment-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:0 0 28px; }
.lm2-single-page .lm2-investment-logo { display:block; width:auto; max-width:145px; max-height:64px; object-fit:contain; margin:0; }
.lm2-single-page .lm2-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:32px; align-items:start; }
.lm2-single-page .lm2-column { min-width:0; }
.lm2-single-page .lm2-section-label { font-size:20px; margin:24px 0 14px; }
.lm2-single-page .lm2-mieszkanie-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.lm2-single-page .lm2-mieszkanie-detail-item { display:flex; align-items:center; gap:12px; padding:13px 14px; border:1px solid var(--lm2-single-border-color,#dedbd5); border-radius:10px; background:var(--lm2-single-surface-color,#f8f7f5); }
.lm2-single-page .lm2-mieszkanie-detail-item .lm2-icon { color:var(--lm2-single-text-color,#212529); width:23px; height:23px; flex-shrink:0; }
.lm2-single-page .lm2-mieszkanie-detail-item dt,.lm2-single-page .lm2-company-addresses dt { margin:0!important; padding:0!important; color:var(--lm2-single-muted-color,#555)!important; font-size:12px; font-weight:400; line-height:1.5; }
.lm2-single-page .lm2-mieszkanie-detail-item dd { margin:2px 0 0!important; padding:0!important; color:var(--lm2-single-text-color,#212529)!important; font-weight:650; font-size:17px; line-height:1.4; }
.lm2-single-page .lm2-buttons-container { display:flex; gap:14px 20px; flex-wrap:wrap; align-items:center; margin:22px 0 0; }
.lm2-single-page .lm2-btn { display:inline-flex; gap:8px; align-items:center; justify-content:center; padding:12px 18px; margin:0; background:var(--lm2-button-color,#c2986d)!important; color:var(--lm2-button-text-color,#212529)!important; border:0; border-radius:8px; font:inherit; font-size:14px; font-weight:650; line-height:1.4; text-decoration:none; }
.lm2-single-page .lm2-text-link { font-size:13px; font-weight:600; text-underline-offset:4px; }
.lm2-single-page :focus-visible { outline:3px solid #428bca!important; outline-offset:4px; }
.lm2-single-page .lm2-plans { display:grid; gap:18px; }
.lm2-single-page .lm2-plans figure { margin:0; border:1px solid var(--lm2-single-border-color,#dedbd5); border-radius:12px; overflow:hidden; background:#fff; color:#212529; }
.lm2-single-page .lm2-plan-link { display:block; color:#212529!important; text-decoration:none!important; cursor:zoom-in; }
.lm2-single-page .lm2-plans img { display:block; width:100%; max-width:100%; height:auto; max-height:580px; aspect-ratio:1/1; object-fit:contain; padding:12px; margin:0; }
.lm2-single-page .lm2-plan-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; line-height:1.4; padding:14px 18px; border-top:1px solid #e5e7eb; color:#212529!important; }
.lm2-single-page .lm2-plan-caption>span { display:inline-flex; align-items:center; gap:7px; font-size:12px; }
.lm2-single-page .lm2-plan-caption .lm2-icon { width:16px; height:16px; }
.lm2-single-page .lm2-plan-empty { display:grid; place-content:center; justify-items:center; min-height:300px; padding:30px; border:1px dashed var(--lm2-single-border-color,#dedbd5); border-radius:12px; text-align:center; }
.lm2-single-page .lm2-plan-empty .lm2-icon { width:42px; height:42px; margin-bottom:12px; }
.lm2-single-page .lm2-description { margin:32px 0; }
.lm2-single-page .lm2-status { display:inline-block; align-self:flex-start; border-radius:6px; padding:5px 10px; font-size:12px; font-weight:650; line-height:1.5; color:#343a40!important; background:#e7eaed!important; }
.lm2-single-page .lm2-status-wolne { background:#e3f1e5!important; color:#196b2e!important; }
.lm2-single-page .lm2-status-zarezerwowane { background:#fff0b3!important; color:#685000!important; }
.lm2-single-page .lm2-status-sprzedane { background:#f8d7da!important; color:#98212d!important; }
.lm2-single-page .lm2-related-section { margin-top:36px; }
.lm2-single-page .related-apartments-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.lm2-single-page .lm2-related-apartment { display:flex; flex-direction:column; border:1px solid var(--lm2-single-border-color,#dedbd5); background:var(--lm2-single-surface-color,#f8f7f5); border-radius:10px; padding:16px; gap:10px; }
.lm2-single-page .lm2-related-apartment h3,.lm2-single-page .lm2-related-apartment p { margin:0!important; padding:0!important; }
.lm2-single-page .lm2-related-apartment .lm2-text-link { margin-top:auto; padding-top:4px; }
.lm2-single-page .lm2-related-thumbnail { display:block; background:#fff; border-radius:6px; overflow:hidden; }
.lm2-single-page .lm2-related-thumbnail img { display:block; height:145px; width:100%; object-fit:contain; margin:0; }
.lm2-single-page .lm2-related-price { font-size:18px; font-weight:650; }
.lm2-single-page .lm2-see-all-container { text-align:center; margin:30px 0 0; }
html.lm2-lightbox-open { overflow:hidden; }
dialog.lm2-lightbox { box-sizing:border-box; width: min(1400px,94vw); max-width:94vw; height:92vh; height:92dvh; max-height:92dvh; padding:0; margin:auto; border:0; border-radius:12px; background:#fff; color:#212529; box-shadow:0 20px 90px #0006; }
dialog.lm2-lightbox[open] { display:flex; flex-direction:column; }
dialog.lm2-lightbox::backdrop { background:rgba(8,15,30,.85); }
dialog.lm2-lightbox .lm2-lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:16px; padding:16px 22px; border-bottom:1px solid #ddd; }
dialog.lm2-lightbox h2 { margin:0!important; padding:0!important; font:600 16px/1.4 system-ui!important; color:#212529!important; }
dialog.lm2-lightbox .lm2-lightbox-close { display:flex; align-items:center; gap:10px; flex-shrink:0; border:1px solid #cbd0d6; border-radius:6px; padding:8px 12px; min-height:44px; background:#fff!important; color:#212529!important; font:600 14px/1.4 system-ui; cursor:pointer; }
dialog.lm2-lightbox .lm2-lightbox-close span { font-size:24px; line-height:1; }
dialog.lm2-lightbox .lm2-lightbox-actions { display:flex; align-items:center; gap:8px; }
dialog.lm2-lightbox .lm2-lightbox-zoom { min-height:44px; padding:8px 12px; border:1px solid #cbd0d6; border-radius:6px; background:#fff!important; color:#212529!important; font:600 13px/1.4 system-ui; cursor:pointer; }
dialog.lm2-lightbox .lm2-lightbox-canvas { min-height:0; flex:1; display:grid; place-items:center; padding:12px; }
dialog.lm2-lightbox img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; margin:0; padding:0; }
dialog.lm2-lightbox.lm2-lightbox-zoomed .lm2-lightbox-canvas { display:block; overflow:auto; }
dialog.lm2-lightbox.lm2-lightbox-zoomed img { width:200%; height:200%; max-width:none!important; }
dialog.lm2-lightbox [hidden] { display:none!important; }
dialog.lm2-lightbox .lm2-lightbox-status { color:#212529!important; font:15px/1.6 system-ui; padding:20px; margin:0; }
dialog.lm2-lightbox .lm2-lightbox-original { display:block; flex-shrink:0; padding:10px 22px; text-align:center; color:#253e89!important; font:14px/1.5 system-ui; border-top:1px solid #ddd; }
dialog.lm2-lightbox :focus-visible { outline:3px solid #176ca4!important; outline-offset:3px; }
@media(max-width:1000px) { .lm2-single-page .lm2-layout { gap:24px; } .lm2-single-page .related-apartments-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .lm2-single-page .lm2-layout { grid-template-columns:1fr; } .lm2-single-page .lm2-single-shell { padding:0 18px; } .lm2-single-page .lm2-investment-logo { max-width:100px; max-height:48px; } .lm2-single-page .lm2-apartment-header { align-items:flex-start; gap:12px; } .lm2-single-page h1 { font-size:26px; } .lm2-single-page h2 { font-size:21px; } }
@media(max-width:420px) { .lm2-single-page .related-apartments-grid { grid-template-columns:1fr; } .lm2-single-page .lm2-mieszkanie-detail-item { padding:10px; gap:8px; } dialog.lm2-lightbox .lm2-lightbox-toolbar { padding:12px; gap:8px; flex-wrap:wrap; } dialog.lm2-lightbox h2 { font-size:13px!important; } }
