/* Sigma Club V4: route composition only. Component rules belong elsewhere. */

/* Split section: content sizes only. Composition is .v4-split in sigma-layout.css. */
body.v4-room-page .lp-hero{--v4-split-media:360px}

@media(min-width:768px) and (width < 1024px){
  body.pg-master .mp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--v4-gap)}
  body.pg-master .mp-gallery{width:min(100%,520px);aspect-ratio:4/5;margin-inline:auto;border-radius:var(--r-card)}
  body.pg-master .mp-side{position:static;margin-top:0;gap:var(--v4-gap)}
  body.pg-master .mp-side>.mp-card:first-child{border:1px solid var(--line);border-radius:var(--r-card)}
  body.pg-master .mp-side>#programs{margin-top:0}
  /* M08: «О себе» больше не потомок .mp-side, поэтому её нулевой отступ
     объявлен здесь явно, а не наследуется от .mp-side .mp-panel. Разрыв
     между «Программы и цены» и «О себе» по-прежнему один — gap .mp-grid. */
  body.pg-master .mp-about-section{max-width:var(--v4-measure);margin-top:0}
  body.pg-master .mp-where{max-width:var(--v4-measure)}
}

@media(min-width:1024px){
  body.pg-massage .dv2-hero{display:block;max-width:var(--v4-measure)}
  body.pg-massage .dv2-hero-copy{max-width:var(--v4-measure)}

  /* M08 (C-PROFILE, Opus R-4B): у профиля три объявленные области и
     content-sized строки. Раньше галерея стояла в grid-row:1/span 2 поверх
     двух НЕЯВНЫХ строк, которые размеряла соседняя колонка (.mp-card и
     #programs были отдельными grid-элементами через .mp-side{display:contents}):
     grid-область фотографии, а с ней и вся сетка, была функцией длины чужого
     текста. Теперь .mp-side — снова обычная колонка и один grid-элемент,
     строка `gallery` меряется только фотографией (max-content), а всё, что
     информационная колонка несёт сверх неё, попадает в объявленный трек
     `1fr`. Это не компенсация: ни height, ни min-height, ни отрицательного
     margin, ни дополнительного gap, ни наполнителя здесь нет — остаток
     видно ровно там, где он есть, и он равен разнице собственных высот двух
     колонок. Закрыть его может только фотография (owner-gated, M22). */
  body.pg-master .mp-grid{
    display:grid;
    grid-template-columns:minmax(0,7fr) minmax(360px,5fr);
    grid-template-rows:max-content 1fr max-content;
    grid-template-areas:
      "gallery side"
      ".       side"
      "about   about";
    gap:var(--v4-gap);
    align-items:start;
  }
  body.pg-master .mp-gallery{aspect-ratio:4/5}
  body.pg-master .mp-gallery{border-radius:var(--r-card)}
  body.pg-master .mp-gallery .cslide img,
  body.pg-master .mp-gallery .cslide .cvid{object-position:50% 18%}
  body.pg-master .mp-media{grid-area:gallery}
  body.pg-master .mp-side{grid-area:side}
  body.pg-master .mp-side>.mp-card:first-child{border:1px solid var(--line);border-radius:var(--r-card)}
  body.pg-master .mp-about-section{grid-area:about;max-width:var(--v4-measure);margin-top:var(--v4-section)}
  body.pg-master .mp-about-more-body{columns:2;column-gap:48px}
  body.pg-master .mp-about-more-body>*{break-inside:avoid}
  body.pg-master .mp-where{max-width:var(--v4-measure)}
  body.pg-master .mp-others-card{max-width:none}
  body.pg-master .mp-others.v4-master-grid{display:flex;overflow:visible}
  body.pg-master .mp-others .master-card__media img{object-position:50% 18%}
}

@media(min-width:768px) and (width < 1024px){
  body.v4-room-page .lp-gal{width:min(100%,640px);margin-inline:auto}
  body.v4-room-page .lp-specs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.v4-room-page .room-practice-featured,
  body.v4-room-page .inc-acc,
  body.v4-room-page .room-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v4-room-page .inc-acc>.inc-shared-note{grid-column:1/-1}
  body.v4-room-page .room-facts .room-fact:last-child{grid-column:1/-1}
}

@media(min-width:1024px){
  body.v4-room-page .lp-hero{--v4-split-media-h:520px}
  body.v4-room-page .room-gallery,
  body.v4-room-page .room-gallery>figure{height:100%}
  body.v4-room-page .room-gallery>figure{aspect-ratio:auto}
  body.v4-room-page .lp-specs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.v4-room-page .room-practice-featured,
  body.v4-room-page .room-practice-more-body,
  body.v4-room-page .inc-acc{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--v4-gap);align-items:start}
  body.v4-room-page .inc-acc>.inc-shared-note{grid-column:1/-1}
  body.v4-room-page .room-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--v4-gap)}
  body.v4-room-page .room-facts .room-fact:last-child{grid-column:auto}
  body.v4-room-page .room-question-body .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--v4-gap);align-items:start}
  body.v4-room-page .room-final-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center}
  body.v4-room-page .room-final-cta .btn{margin-top:0}
  body.v4-room-page .room-next-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
  body.v4-room-page .room-next-links a{border-bottom:0}
  body.v4-room-page .room-next-links a+a{padding-left:32px;border-left:1px solid var(--line)}
}
