/* OTDELKA78 V1.16.27.10 — apartments-only Mobile First CRO.
   No display:none for content, no JS required, no desktop architecture change.
   Keeps all 14 intent links, 6 work groups, 8 operations and 5 object links.
*/
body.service-apartments .od78-subtitle,
body.service-apartments .od78-swipe-hint { display: none; }
/* Wrappers are invisible to desktop grid — original 3-column layout preserved. */
body.service-apartments .od78-intent-group,
body.service-apartments .od78-intent-subheading { display: contents; }
@media (max-width: 680px) {
  body.service-apartments .od78-work-mobile,
  body.service-apartments .od78-intent-mobile,
  body.service-apartments .od78-separate-mobile { padding-block: 52px; }
  body.service-apartments .od78-work-mobile .format-grid,
  body.service-apartments .od78-separate-mobile .format-grid { gap: 10px; margin-top: 26px; }
  body.service-apartments .od78-work-mobile .format-card,
  body.service-apartments .od78-separate-mobile .format-card {
    min-height: 0; padding: 16px 18px 17px; border-radius: 16px;
  }
  body.service-apartments .od78-work-mobile .format-card h3,
  body.service-apartments .od78-separate-mobile .format-card h3 {
    margin: 8px 0 6px; font-size: clamp(19px,5vw,22px); line-height: 1.25;
  }
  body.service-apartments .od78-work-mobile .format-card p,
  body.service-apartments .od78-separate-mobile .format-card p {
    font-size: 13px; line-height: 1.48;
  }
  body.service-apartments .od78-work-mobile .format-card a,
  body.service-apartments .od78-separate-mobile .format-card a {
    display: inline-flex; align-items: center; min-height: 44px;
    padding: 8px 0 0; margin-top: 4px; font-size: 13px;
  }
  /* Four succinct columns become a visible, non-hidden list of operations. */
  body.service-apartments .od78-separate-mobile .format-grid {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px;
  }
  body.service-apartments .od78-separate-mobile .format-card { min-width: 0; padding: 14px 12px 13px; }
  body.service-apartments .od78-separate-mobile .format-card h3 {
    font-size: clamp(15px,4.25vw,19px); overflow-wrap: anywhere;
  }
  body.service-apartments .od78-separate-mobile .format-card p { font-size: 12px; line-height: 1.43; }
  body.service-apartments .od78-separate-mobile .format-card a { font-size: 12px; }

  /* 14 intent cards grouped. Eight main intents are compact but fully visible. */
  body.service-apartments .od78-intent-grid { display: block; margin-top: 28px; }
  body.service-apartments .od78-subtitle {
    display: block; color: var(--bronze-hi); text-transform: uppercase;
    font-weight: 700; font-size: 11px; line-height: 1.4;
    letter-spacing: .14em; margin: 24px 0 12px;
  }
  body.service-apartments .od78-intent-group {
    display: grid; grid-template-columns: 1fr; gap: 8px; min-width: 0;
  }
  body.service-apartments .od78-intent-group .format-card {
    border-radius: 15px; min-height: 0; padding: 14px 17px 13px; min-width: 0;
  }
  body.service-apartments .od78-intent-group .format-card h3 {
    margin: 7px 0 5px; font-size: clamp(18px,5vw,21px); line-height: 1.22;
  }
  body.service-apartments .od78-intent-group .format-card p {
    font-size: 12px; line-height: 1.44;
  }
  body.service-apartments .od78-intent-group .format-card a {
    display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px;
    padding-top: 6px; font-size: 12px;
  }
  body.service-apartments .od78-intent-zones {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px;
  }
  body.service-apartments .od78-intent-zones .format-card { padding: 13px 12px; }
  body.service-apartments .od78-intent-zones .format-card h3 { font-size: 17px; }
  body.service-apartments .od78-intent-subheading {
    display: flex; align-items: baseline; justify-content: space-between;
    flex-wrap: wrap; gap: 6px 12px; margin-top: 24px;
  }
  body.service-apartments .od78-intent-subheading .od78-subtitle { margin: 0; }
  body.service-apartments .od78-swipe-hint {
    display: block; font-size: 12px; line-height: 1.35; color: var(--muted);
  }
  /* Only the room-type group uses scroll: partial next card + visible scrollbar. */
  body.service-apartments .od78-intent-rooms {
    display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory; scroll-padding-inline: 2px;
    overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch;
    padding: 12px 0 17px; margin-top: 4px; scrollbar-width: thin;
    scrollbar-color: var(--bronze) rgba(255,255,255,.10);
  }
  body.service-apartments .od78-intent-rooms::-webkit-scrollbar { height: 5px; }
  body.service-apartments .od78-intent-rooms::-webkit-scrollbar-thumb { background: var(--bronze); border-radius: 10px; }
  body.service-apartments .od78-intent-rooms::-webkit-scrollbar-track { background: rgba(255,255,255,.10); }
  body.service-apartments .od78-intent-rooms .format-card {
    flex: 0 0 min(78vw,280px); scroll-snap-align: start;
    min-height: 217px; padding: 17px; border-radius: 18px;
  }
  body.service-apartments .od78-intent-rooms .format-card p { font-size: 13px; line-height: 1.55; }
  body.service-apartments .od78-intent-rooms .format-card a { margin-top: auto; padding-top: 16px; }
  body.service-apartments .od78-intent-mobile .service-cases-actions { margin-top: 16px; }

  /* Real projects: photo-backed cards with adjacent-card peek; no content removed. */
  body.service-apartments #materials .service-case-grid,
  body.service-apartments #materials .service-case-grid.cols-3 {
    display: flex; gap: 13px; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory; scroll-padding-inline: 0;
    padding: 4px 0 16px; margin-top: 26px;
    scrollbar-width: thin; scrollbar-color: var(--bronze) rgba(255,255,255,.10);
    overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch;
  }
  body.service-apartments #materials .service-case-grid::-webkit-scrollbar { height: 5px; }
  body.service-apartments #materials .service-case-grid::-webkit-scrollbar-thumb { background: var(--bronze); border-radius: 10px; }
  body.service-apartments #materials .service-case-grid::-webkit-scrollbar-track { background: rgba(255,255,255,.10); }
  body.service-apartments #materials .service-case-card {
    flex: 0 0 min(81vw,315px); scroll-snap-align: start; border-radius: 18px;
  }
  body.service-apartments #materials .service-case-card figure { aspect-ratio: 1.5; }
  body.service-apartments #materials .service-case-body { padding: 18px; }
  body.service-apartments #materials .service-case-body h3 { font-size: 21px; }
  body.service-apartments #materials .service-case-body p { font-size: 13px; }
  body.service-apartments #materials .od78-gallery-hint {
    display: block; color: var(--muted); font-size: 13px; line-height: 1.45;
    margin: 12px 0 0;
  }
}
@media (min-width: 681px) { body.service-apartments .od78-gallery-hint { display: none; } }
@media (max-width: 350px) {
  body.service-apartments .od78-intent-zones .format-card h3,
  body.service-apartments .od78-separate-mobile .format-card h3 { font-size: 15px; }
  body.service-apartments .od78-intent-rooms .format-card { flex-basis: 78vw; }
}
@media (prefers-reduced-motion: reduce) {
  body.service-apartments .od78-intent-rooms,
  body.service-apartments #materials .service-case-grid { scroll-behavior: auto; }
}
