/* Compact, row-by-row gallery. Opening a thumbnail shows the complete image. */
.mobile-interiors { background: #26372d; border-block: 1px solid var(--line); padding-block: 56px; }
.mobile-interiors .section-head { margin-bottom: 26px; }
.interior-gallery { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 16px; }
.interior-card { display: flex; flex-direction: column; min-width: 0; width: 100%; margin: 0; padding: 0; color: var(--ink); background: #1d2922; border: 1px solid #435246; text-align: left; cursor: zoom-in; }
.interior-card-image { display: block; width: 100%; aspect-ratio: 3/2; overflow: hidden; }
.interior-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.interior-card-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 11px 12px; font-size: .875rem; line-height: 1.4; font-weight: 700; }
.interior-card:hover,.interior-card:focus-visible { border-color: var(--lime); }
.interior-scope { max-width: 900px; margin-top: 22px; font-size: .875rem; line-height: 1.6; color: var(--muted); }
.media-description { max-width: 900px; font-size: 1rem; line-height: 1.65; color: var(--muted); margin-bottom: 22px; }
.product-section.mobile-production { padding-block:48px; }
.mobile-production .section-head { margin-bottom:26px; }
.mobile-production-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mobile-production-grid .interior-card-image { aspect-ratio:4/3; }
.mobile-production-grid .interior-card:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
@media(max-width:640px) {
  .product-section.mobile-production { padding-block:36px; }
  .mobile-production-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media (max-width:1100px) { .interior-gallery { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width:820px) { .interior-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; } }
@media (max-width:540px) {
  .mobile-interiors { padding-block: 40px; }
  .interior-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .interior-card-title { margin: 9px 10px; }
}

/* Preserve both homes in the selected category opening photograph. */
.product-hero-photo.mobile-hero-photo { width:100%; max-width:640px; height:auto; aspect-ratio:4/3; justify-self:center; }
.product-hero-photo.mobile-hero-photo img { object-fit:contain; object-position:center; }

/* Compact mobile-home technology and construction details. */
.product-section.mobile-technology-section,.product-section.mobile-compact-guide { padding-block:44px; }
.mobile-technology-section .section-head,.mobile-compact-guide .section-head { margin-bottom:26px; }
.mobile-technology-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; align-items:start; }
.mobile-technology-steps article { display:grid; grid-template-columns:28px minmax(0,1fr); gap:14px; padding:16px 0; border-top:1px solid var(--line); }
.mobile-technology-steps article:last-child { border-bottom:1px solid var(--line); }
.mobile-step-number { color:var(--lime); font-size:.875rem; line-height:1.6; }
.mobile-technology-steps h3 { font-size:1.125rem; line-height:1.4; margin:0 0 8px; }
.mobile-technology-steps p { color:var(--muted); font-size:1rem; line-height:1.6; margin:0; }
.mobile-technology-photos { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; width:100%; max-width:360px; justify-self:center; align-self:center; }
.mobile-technology-photo { display:block; width:100%; min-width:0; aspect-ratio:4/3; overflow:hidden; padding:0; border:1px solid var(--line); background:var(--soft); cursor:zoom-in; }
.mobile-technology-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.mobile-technology-photo:hover { border-color:var(--lime); }
.mobile-technology-photo:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
.mobile-compact-guide .section-head { margin-bottom:32px; }
.mobile-node-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; scroll-margin-top:calc(var(--header-height) + var(--section-nav-height) + 24px); }
.mobile-node-figure,.mobile-node-copy { min-width:0; }
.mobile-node-figure { width:100%; max-width:600px; }
.mobile-node-intro { font-size:1rem; line-height:1.6; margin:0 0 18px; }
.mobile-node-parts details { border-top:1px solid var(--line); }
.mobile-node-parts details:last-child { border-bottom:1px solid var(--line); }
.mobile-node-parts summary,.mobile-specifications summary { padding-block:14px; font-size:1rem; line-height:1.5; font-weight:700; cursor:pointer; }
.mobile-node-parts summary:focus-visible,.mobile-specifications summary:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.mobile-node-parts p { font-size:1rem; line-height:1.6; color:var(--muted); margin:0 0 18px; }
.mobile-node-note { font-size:.875rem; line-height:1.6; color:var(--muted); margin:18px 0 0; }
.mobile-specifications { margin-top:24px; border-block:1px solid var(--line); }
.mobile-specifications .spec-grid { padding:6px 0 20px; }
@media(max-width:1000px) {
  .mobile-node-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:28px; }
}
@media(max-width:900px) {
  .mobile-technology-layout { grid-template-columns:1fr; gap:24px; }
  .mobile-technology-photos { grid-row:1; gap:16px; }
}
@media(max-width:700px) {
  .mobile-node-layout { grid-template-columns:1fr; gap:22px; }
  .mobile-node-figure { justify-self:center; max-width:400px; }
  .product-section.mobile-technology-section,.product-section.mobile-compact-guide { padding-block:36px; }
}

/* Selected mobile-home exteriors: two symmetric rows on desktop. */
.product-section.mobile-exteriors { padding-block:48px; background:#26372d; border-block:1px solid var(--line); }
.mobile-exteriors .section-head { margin-bottom:26px; }
.mobile-exterior-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.mobile-exterior-grid .interior-card-image { aspect-ratio:4/3; }
.mobile-exterior-grid .interior-card:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
@media(max-width:820px) {
  .mobile-exterior-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
}
@media(max-width:540px) {
  .product-section.mobile-exteriors { padding-block:36px; }
  .mobile-exterior-grid { gap:10px; }
}

/* Twenty selected images fill even rows at every mobile-gallery breakpoint. */
@media(max-width:820px){.mobile-interiors .interior-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
