/**
 * Раскладки сеток фото прайса:
 * — превью в админке (.admin-price-list-grid--*)
 * — редактор (.admin-price-list-photos--*)
 * — публичный лист (.pl-excursion__photos--g*)
 *
 * Одиночное фото: .pl-excursion__photos--n1 в price-list.css.
 */

.admin-price-list-photos > *,
.pl-excursion__photos > *,
.admin-price-list-grid__preview > * {
  min-width: 0;
  min-height: 0;
  max-width: 100%;
}

/* Превью выбора сетки в админке (фиксированная высота — см. admin-panel.css) */
.admin-price-list-grid__preview {
  align-items: stretch;
}

.admin-price-list-grid__cell {
  align-self: stretch;
  width: 100%;
  height: 100%;
  min-height: 0;
}

/* --- 1-wide: одна панорама на всю ширину --- */
:is(
  .admin-price-list-grid--g1-wide .admin-price-list-grid__preview,
  .admin-price-list-photos--g1-wide,
  .pl-excursion__photos--g1-wide
) {
  grid-template-columns: minmax(0, 1fr);
}

:is(
  .admin-price-list-photos--g1-wide > .admin-price-list-photo-tile,
  .pl-excursion__photos--g1-wide > .pl-excursion__photo
) {
  aspect-ratio: 4 / 1;
  width: 100%;
  height: auto;
}

.admin-price-list-grid--g1-wide .admin-price-list-grid__preview {
  grid-template-rows: 1fr 2fr;
}

.admin-price-list-grid--g1-wide .admin-price-list-grid__cell {
  grid-row: 1;
}

/* --- 2 / 4 (2×2) --- */
:is(
  .admin-price-list-grid--g2 .admin-price-list-grid__preview,
  .admin-price-list-grid--g4 .admin-price-list-grid__preview,
  .admin-price-list-photos--g2,
  .admin-price-list-photos--g4,
  .pl-excursion__photos--g2,
  .pl-excursion__photos--g4
) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

:is(
  .admin-price-list-photos--g2 > .admin-price-list-photo-tile,
  .admin-price-list-photos--g4 > .admin-price-list-photo-tile,
  .pl-excursion__photos--g2 > .pl-excursion__photo,
  .pl-excursion__photos--g4 > .pl-excursion__photo
) {
  aspect-ratio: 16 / 9;
}

/* --- 3 / 6 (3×2) --- */
:is(
  .admin-price-list-grid--g3 .admin-price-list-grid__preview,
  .admin-price-list-grid--g6 .admin-price-list-grid__preview,
  .admin-price-list-photos--g3,
  .admin-price-list-photos--g6,
  .pl-excursion__photos--g3,
  .pl-excursion__photos--g6
) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-price-list-grid--g3 .admin-price-list-grid__preview,
.admin-price-list-grid--g6 .admin-price-list-grid__preview {
  grid-template-rows: 1fr 1fr;
}

.admin-price-list-grid--g3 .admin-price-list-grid__cell {
  grid-row: 1;
}

/* --- 5: 3+2 / 2+3 --- */
:is(
  .admin-price-list-grid--g5-3-2 .admin-price-list-grid__preview,
  .admin-price-list-grid--g5-2-3 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-3-2,
  .admin-price-list-photos--g5-2-3,
  .pl-excursion__photos--g5-3-2,
  .pl-excursion__photos--g5-2-3
) {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

:is(
  .admin-price-list-grid--g5-3-2 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-3-2,
  .pl-excursion__photos--g5-3-2
) > :nth-child(-n + 3) {
  grid-column: span 2;
}

:is(
  .admin-price-list-grid--g5-3-2 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-3-2,
  .pl-excursion__photos--g5-3-2
) > :nth-child(4) {
  grid-column: 1 / 4;
}

:is(
  .admin-price-list-grid--g5-3-2 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-3-2,
  .pl-excursion__photos--g5-3-2
) > :nth-child(5) {
  grid-column: 4 / 7;
}

:is(
  .admin-price-list-grid--g5-2-3 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-2-3,
  .pl-excursion__photos--g5-2-3
) > :nth-child(1) {
  grid-column: 1 / 4;
}

:is(
  .admin-price-list-grid--g5-2-3 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-2-3,
  .pl-excursion__photos--g5-2-3
) > :nth-child(2) {
  grid-column: 4 / 7;
}

:is(
  .admin-price-list-grid--g5-2-3 .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-2-3,
  .pl-excursion__photos--g5-2-3
) > :nth-child(n + 3) {
  grid-column: span 2;
}

/* --- 5-left / 5-right --- */
:is(
  .admin-price-list-grid--g5-left .admin-price-list-grid__preview,
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-left,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-left,
  .pl-excursion__photos--g5-right
) {
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
}

:is(
  .admin-price-list-grid--g5-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-left,
  .pl-excursion__photos--g5-left
) {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}

:is(
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr);
}

:is(
  .admin-price-list-grid--g5-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-left,
  .pl-excursion__photos--g5-left
) > :nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
}

:is(
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) > :nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) > :nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) > :nth-child(3) {
  grid-column: 1;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) > :nth-child(4) {
  grid-column: 2;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g5-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) > :nth-child(5) {
  grid-column: 3;
  grid-row: 1 / 3;
}

/* --- 4-left / 4-right (широкий кадр 8:3) --- */
:is(
  .admin-price-list-grid--g4-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-left,
  .pl-excursion__photos--g4-left
) {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}

:is(
  .admin-price-list-grid--g4-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr);
}

.admin-price-list-grid--g4-left .admin-price-list-grid__preview,
.admin-price-list-grid--g4-right .admin-price-list-grid__preview {
  grid-template-rows: 1fr 1fr;
}

:is(
  .admin-price-list-photos--g4-left,
  .pl-excursion__photos--g4-left,
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) {
  grid-template-rows: auto auto;
  align-items: start;
}

:is(
  .admin-price-list-grid--g4-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-left,
  .pl-excursion__photos--g4-left
) > :nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
}

:is(
  .admin-price-list-grid--g4-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-left,
  .pl-excursion__photos--g4-left
) > :nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g4-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-left,
  .pl-excursion__photos--g4-left
) > :nth-child(3) {
  grid-column: 3;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g4-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-left,
  .pl-excursion__photos--g4-left
) > :nth-child(4) {
  grid-column: 2 / 4;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g4-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) > :nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g4-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) > :nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g4-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) > :nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g4-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) > :nth-child(4) {
  grid-column: 3;
  grid-row: 1 / 3;
}

:is(
  .admin-price-list-photos--g4-left > :nth-child(2),
  .admin-price-list-photos--g4-left > :nth-child(3),
  .admin-price-list-photos--g4-right > :nth-child(2),
  .admin-price-list-photos--g4-right > :nth-child(3),
  .pl-excursion__photos--g4-left > :nth-child(2),
  .pl-excursion__photos--g4-left > :nth-child(3),
  .pl-excursion__photos--g4-right > :nth-child(2),
  .pl-excursion__photos--g4-right > :nth-child(3)
) {
  width: 100%;
  height: auto;
}

:is(
  .admin-price-list-photos--g4-left > :nth-child(4),
  .admin-price-list-photos--g4-right > :nth-child(1),
  .pl-excursion__photos--g4-left > :nth-child(4),
  .pl-excursion__photos--g4-right > :nth-child(1)
) {
  aspect-ratio: 8 / 3;
  width: 100%;
  height: auto;
}

/* --- 3-left / 3-right --- */
:is(
  .admin-price-list-grid--g3-left .admin-price-list-grid__preview,
  .admin-price-list-grid--g3-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-left,
  .admin-price-list-photos--g3-right,
  .pl-excursion__photos--g3-left,
  .pl-excursion__photos--g3-right
) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
}

:is(
  .admin-price-list-grid--g3-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-left,
  .pl-excursion__photos--g3-left
) > :nth-child(1) {
  grid-column: 1;
  grid-row: 1 / 3;
}

:is(
  .admin-price-list-grid--g3-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-left,
  .pl-excursion__photos--g3-left
) > :nth-child(2) {
  grid-column: 2;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g3-left .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-left,
  .pl-excursion__photos--g3-left
) > :nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g3-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-right,
  .pl-excursion__photos--g3-right
) > :nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

:is(
  .admin-price-list-grid--g3-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-right,
  .pl-excursion__photos--g3-right
) > :nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

:is(
  .admin-price-list-grid--g3-right .admin-price-list-grid__preview,
  .admin-price-list-photos--g3-right,
  .pl-excursion__photos--g3-right
) > :nth-child(3) {
  grid-column: 2;
  grid-row: 1 / 3;
}

:is(
  .admin-price-list-photos--g3-left > :nth-child(2),
  .admin-price-list-photos--g3-left > :nth-child(3),
  .admin-price-list-photos--g3-right > :nth-child(1),
  .admin-price-list-photos--g3-right > :nth-child(2),
  .pl-excursion__photos--g3-left > :nth-child(2),
  .pl-excursion__photos--g3-left > :nth-child(3),
  .pl-excursion__photos--g3-right > :nth-child(1),
  .pl-excursion__photos--g3-right > :nth-child(2)
) {
  aspect-ratio: 16 / 9;
}

/* Высокая ячейка на два ряда (только фото на листе и в редакторе) */
:is(
  .admin-price-list-photos--g5-left,
  .admin-price-list-photos--g4-left,
  .admin-price-list-photos--g3-left,
  .pl-excursion__photos--g5-left,
  .pl-excursion__photos--g4-left,
  .pl-excursion__photos--g3-left
) > :nth-child(1),
:is(
  .admin-price-list-photos--g5-right,
  .pl-excursion__photos--g5-right
) > :nth-child(5),
:is(
  .admin-price-list-photos--g4-right,
  .pl-excursion__photos--g4-right
) > :nth-child(4),
:is(
  .admin-price-list-photos--g3-right,
  .pl-excursion__photos--g3-right
) > :nth-child(3) {
  aspect-ratio: auto;
  align-self: stretch;
  width: 100%;
  height: 100%;
}
