/* Completed-home photography and clearly separated illustrative materials. */
.real-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.real-gallery-card,
.visual-card { display:flex; min-width:0; flex-direction:column; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--white); }
.gallery-enhanced .real-gallery-card--extra,
.gallery-enhanced .visual-card--extra { display:none; }
[data-gallery-open-group] { display:none; }
.gallery-enhanced [data-gallery-open-group] { display:inline-flex; }
.real-gallery-link,
.visual-card > a { position:relative; display:block; min-height:0; flex:1; overflow:hidden; background:var(--cream); }
.real-gallery-link:focus-visible,
.visual-card > a:focus-visible { outline:3px solid var(--focus); outline-offset:-4px; }
.real-gallery-link { aspect-ratio:4 / 3; }
.real-gallery-link img,
.visual-card img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.real-gallery-expand { position:absolute; right:14px; bottom:14px; display:inline-flex; min-height:36px; align-items:center; gap:8px; padding:7px 12px; border-radius:999px; color:var(--white); background:rgb(39 51 97 / 92%); font-size:.875rem; font-weight:600; line-height:1; }
.real-gallery-card figcaption,
.visual-card figcaption { padding:12px 15px 14px; color:var(--navy); font-size:.875rem; font-weight:600; line-height:1.45; }
.media-kind { display:block; margin-bottom:4px; color:var(--forest); font-size:.875rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.gallery-section-action { display:flex; justify-content:center; margin-top:24px; }

.lewkow-visuals { background:var(--surface); }
.visual-group + .visual-group { margin-top:48px; padding-top:42px; border-top:1px solid var(--line); }
.visual-group-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }
.visual-group-head h3 { margin:0; font-size:clamp(1.45rem,2.2vw,1.9rem); }
.visual-group-head .text-link { flex:0 0 auto; padding-inline:0; color:var(--navy); background:transparent; border:0; border-bottom:1px solid var(--accent); border-radius:0; }
.visual-group-head button.text-link::after { content:none; }
.visual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.visual-grid--exterior { grid-template-columns:repeat(3,minmax(0,1fr)); }
.visual-card > a,
.visual-card img { aspect-ratio:16 / 9; }
.visual-card > a::after { position:absolute; right:10px; bottom:10px; padding:7px 10px; color:var(--navy); background:rgb(255 255 255 / 94%); border-radius:7px; font-size:.8125rem; font-weight:600; content:"Powiększ"; }
.visual-card > a:hover::after { color:#fff; background:var(--navy); }
.visual-grid--exterior .visual-card:first-child { grid-column:auto; }
.visual-note { margin:24px 0 0; color:var(--ink-soft); font-size:.8125rem; line-height:1.65; }

@media (hover:hover) {
  .real-gallery-link:hover img,
  .visual-card > a:hover img { transform:scale(1.015); }
}

@media (max-width:700px) {
  .real-gallery,
  .visual-grid { grid-auto-flow:column; grid-auto-columns:min(84vw,360px); grid-template-columns:none; gap:14px; margin-inline:-20px; padding:0 20px 10px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .real-gallery::-webkit-scrollbar,
  .visual-grid::-webkit-scrollbar { display:none; }
  .real-gallery-card,
  .real-gallery-card--main,
  .visual-card,
  .visual-grid--exterior .visual-card:first-child { grid-column:auto; grid-row:auto; scroll-snap-align:start; }
  .real-gallery-link { aspect-ratio:4 / 3; }
  .visual-group + .visual-group { margin-top:38px; padding-top:34px; }
  .visual-group-head { align-items:flex-start; flex-direction:column; gap:10px; }
  .visual-group-head .text-link { min-height:44px; text-align:left; }
  .gallery-section-action { justify-content:stretch; margin-top:18px; }
  .gallery-section-action .btn { width:100%; }
}

@media (max-width:640px) {
  .real-gallery,
  .visual-grid { margin-inline:-18px; padding-inline:18px; }
}

@media (prefers-reduced-motion:reduce) {
  .real-gallery-link img,
  .visual-card img { transition:none; }
}
