/* ROGACHEV — интерьеры: лента (единственная неровная сетка на сайте) и страница интерьера.
   Значения — макеты Main/FeedMobile/Interior/InteriorMobile и design/tokens.css.
   Плитка (.rg-tile) живёт не только в ленте: её же рисуют каталог и блок «В интерьере»,
   поэтому своей ширины у неё нет — ширину задаёт сетка, в которой она стоит. */

/* ---------- Лента: заголовок */
.rg-feed__head{padding-top:48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:end}
.rg-feed__title{font-family:var(--font-display);font-weight:400;font-size:64px;line-height:1;overflow-wrap:break-word}
/* Заголовок отбора длиннее «Интерьеры» — в 64 px он рвался бы на две строки */
.rg-feed__title--long{font-size:44px;line-height:1.08}
.rg-feed__lead{font-size:16px;line-height:1.6;color:var(--text-2);max-width:520px;justify-self:end}
.rg-feed__lead-short{display:none}

/* ---------- Лента: два ряда плашек (комнаты 44, настроения 40) */
.rg-feed__filters{padding-top:28px}
.rg-feed__row{display:flex;flex-wrap:wrap;gap:8px}
/* Компьютер: два ряда друг под другом; на телефоне остаётся .rg-pills — один ряд с прокруткой вбок */
@media (min-width:761px){
  .rg-feed__rows{display:flex;flex-direction:column;gap:10px;overflow:visible;margin:0;padding:0}
}
/* Ниже 1100 px (там же, где включается шапка телефона) заголовок и текст встают в одну колонку:
   в половине узкой страницы «Интерьеры» в 64 px рвалось на две строки. */
@media (min-width:761px) and (max-width:1099px){
  .rg-feed__head{grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
  .rg-feed__title{font-size:48px}
  .rg-feed__lead{justify-self:start}
}
@media (max-width:760px){
  .rg-feed__row{display:contents}
}
.rg-feed__pill{font-size:14px}
/* Настроения: видимая высота 40, нажимаемая — 44 (как .rg-chip в UI-ките) */
.rg-feed__pill--mood{height:var(--tap);padding:0 18px;font-size:13px;border:0;position:relative;z-index:0}
.rg-feed__pill--mood::before{content:"";position:absolute;inset:2px 0;border:1px solid var(--line);z-index:-1}
.rg-feed__pill--mood:hover::before{border-color:var(--ink)}
.rg-feed__pill--mood.is-on{background:transparent}
.rg-feed__pill--mood.is-on::before{border-color:var(--ink);background:var(--surface)}

/* ---------- Лента: неровная сетка. Колонки, а не grid: порядок сверху вниз по колонкам,
   подгрузка новых плиток не перекладывает уже показанные. */
.rg-feed__body{padding-top:40px}
.rg-feed__grid{column-count:3;column-gap:24px}
.rg-feed__grid > .rg-tile{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin-bottom:32px}

/* ---------- Плитка интерьера */
.rg-tile{display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
/* Вся плитка — одна ссылка: растянута через ::after; поверх неё нажимается только «Сохранить» */
.rg-tile__link::after{content:"";position:absolute;inset:0;z-index:1}
.rg-tile__link:focus-visible{outline:none}
.rg-tile__link:focus-visible::after{outline:2px solid var(--ink);outline-offset:-2px}
.rg-tile__media{position:relative;overflow:hidden;background:linear-gradient(160deg,#F1F3EE 0%,var(--tile) 100%)}
.rg-tile__img{width:100%;height:100%;object-fit:cover;display:block}
.rg-tile__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 12px;text-align:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.rg-tile__source{position:absolute;left:12px;bottom:12px;z-index:2;background:var(--surface);color:var(--text);font-size:11px;line-height:1.4;padding:4px 8px;pointer-events:none}
/* Значок 36×36, нажимаемая область 44×44; рамка фокуса у края — внутрь */
.rg-tile__pin{position:absolute;right:8px;top:8px;z-index:3;width:var(--tap);height:var(--tap);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.rg-tile__pin::before{content:"";position:absolute;inset:4px;background:var(--surface)}
.rg-tile__pin .rg-icon{position:relative}
.rg-tile__pin:hover{color:var(--patina)}
.rg-tile__pin:focus-visible{outline-offset:-2px}
.rg-tile__text{display:flex;flex-direction:column;gap:3px;min-width:0}
.rg-tile__title{font-family:var(--font-body);font-weight:400;font-size:15px;line-height:1.3;overflow-wrap:break-word}
.rg-tile__meta{font-family:var(--font-mono);font-size:11px;line-height:1.4;color:var(--text-3)}
.rg-tile__meta-short{display:none}
/* Компьютер: при наведении проявляются «Сохранить» и лёгкое затемнение фото.
   Название всегда тёмное (решение дизайна): серое в ленте из 20+ плиток читается хуже. */
@media (hover:hover) and (pointer:fine){
  .rg-tile__media::after{content:"";position:absolute;inset:0;z-index:1;background:var(--ink);opacity:0;transition:opacity .15s;pointer-events:none}
  .rg-tile:hover .rg-tile__media::after,.rg-tile:focus-within .rg-tile__media::after{opacity:.1}
  .rg-tile__pin{opacity:0;transition:opacity .15s}
  .rg-tile:hover .rg-tile__pin,.rg-tile__pin:focus-visible{opacity:1}
}
@media (prefers-reduced-motion:reduce){ .rg-tile__media::after,.rg-tile__pin{transition:none} }

/* ---------- Лента: «Показать ещё» */
.rg-feed__more{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:64px;padding-bottom:72px}
.rg-feed__more-btn{min-height:58px;padding:8px 28px}
.rg-feed__error{font-size:14px;color:var(--brick)}
.rg-feed__error button{border-bottom:1px solid currentColor;min-height:var(--tap);margin:-12px 0}
.rg-feed__shown{font-size:12px;line-height:1.5;color:var(--text-3)}
.rg-feed__empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-5);padding-top:var(--s-7);padding-bottom:var(--s-9);max-width:680px}

@media (max-width:760px){
  .rg-feed__head{padding-top:28px;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
  .rg-feed__title{font-size:40px}
  .rg-feed__title--long{font-size:30px;line-height:1.12}
  .rg-feed__lead{font-size:15px;line-height:1.55;max-width:none;justify-self:start}
  .rg-feed__lead-full{display:none}
  .rg-feed__lead-short{display:inline}
  .rg-feed__filters{padding-top:20px}
  .rg-feed__body{padding-top:20px}
  .rg-feed__grid{column-count:2;column-gap:12px}
  .rg-feed__grid > .rg-tile{margin-bottom:20px}
  .rg-tile__title{font-size:13px}
  .rg-tile__meta-full{display:none}
  .rg-tile__meta-short{display:inline}
  /* Телефон: «Сохранить» — на странице интерьера (макет FeedMobile) */
  .rg-tile__pin{display:none}
  .rg-feed__more{padding-top:36px;padding-bottom:44px;gap:12px}
  .rg-feed__more-btn{width:100%;min-height:54px;font-size:15px}
  .rg-feed__empty{padding-top:var(--s-5);padding-bottom:var(--s-8)}
}

/* ---------- Страница интерьера: путь и «← Интерьеры» */
.rg-int__top{padding-top:22px}
.rg-int__back{display:none}

/* ---------- Кадр с метками */
.rg-int__stagewrap{padding-top:24px}
.rg-int__stage{position:relative}
/* Кадр высокого формата не должен уходить за нижний край окна: ширину ограничиваем
   по пропорции первого кадра (--shot-ratio задаёт шаблон), высота остаётся по пропорции. */
@media (min-width:761px){
  .rg-int__stage{max-width:calc(var(--shot-ratio,1.6) * max(820px, 100vh - 120px));margin-left:auto;margin-right:auto}
}
.rg-int__frames{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.rg-int__frames::-webkit-scrollbar{display:none}
.rg-int__frame{position:relative;flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(160deg,#F1F3EE 0%,var(--tile) 100%)}
.rg-int__img{width:100%;height:100%;object-fit:cover;display:block}
.rg-int__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}

/* Метка: кнопка 44, кружок 18. Ореол двойной — виден и на светлом, и на тёмном фото */
.rg-int__point{position:absolute;z-index:2}
.rg-int__mark{width:var(--tap);height:var(--tap);margin:-22px 0 0 -22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(246,247,244,.35)}
.rg-int__mark i{width:18px;height:18px;border-radius:50%;display:block;background:var(--surface);box-shadow:0 0 0 1px rgba(23,30,26,.45),0 0 0 5px rgba(246,247,244,.3)}
.rg-int__mark:hover i{box-shadow:0 0 0 2px rgba(23,30,26,.7),0 0 0 6px rgba(246,247,244,.35)}
.rg-int__mark[aria-expanded="true"] i{box-shadow:0 0 0 3px var(--ink),0 0 0 7px rgba(246,247,244,.35)}
.rg-int__mark:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.rg-int__stage.is-marks-off .rg-int__point{display:none}

/* Мини-карточка метки: рядом с меткой на компьютере, снизу во всю ширину на телефоне */
.rg-int__pop{position:absolute;left:34px;top:-60px;width:310px;z-index:5;background:var(--surface);box-shadow:0 24px 50px -24px rgba(23,30,26,.55);padding:14px;display:grid;grid-template-columns:80px minmax(0,1fr);grid-template-areas:"media text" "media link";gap:4px 14px}
.rg-int__pop-media{grid-area:media;width:80px;height:100px;overflow:hidden;background:linear-gradient(160deg,#F1F3EE 0%,var(--tile) 100%)}
.rg-int__pop-img{width:100%;height:100%;object-fit:cover;display:block}
.rg-int__pop-text{grid-area:text;display:flex;flex-direction:column;gap:4px;min-width:0}
.rg-int__pop-name{font-size:15px;line-height:1.3}
.rg-int__pop-meta{font-family:var(--font-mono);font-size:11px;line-height:1.4;color:var(--text-3)}
.rg-int__pop-price{font-family:var(--font-display);font-size:18px;line-height:1.2}
.rg-int__pop-link{grid-area:link;justify-self:start;align-self:start;display:inline-flex;align-items:center;min-height:var(--tap);font-size:13px;position:relative}
.rg-int__pop-link::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:1px;background:var(--underline)}
.rg-int__pop-link:hover::after{background:var(--patina)}
.rg-int__pop-link-short{display:none}

/* Кнопки в углу фото: видимая высота 40, нажимаемая — 44 */
.rg-int__acts{position:absolute;right:18px;top:16px;z-index:4;display:flex;gap:8px}
.rg-int__act{position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--tap);padding:0 14px;font-size:13px;color:var(--text);white-space:nowrap}
.rg-int__act::before{content:"";position:absolute;inset:2px 0;background:var(--surface);z-index:-1}
.rg-int__act:hover{color:var(--patina)}
.rg-int__act:focus-visible{outline-offset:-2px}
.rg-int__source{position:absolute;left:18px;bottom:16px;z-index:3;background:var(--surface);color:var(--text);font-size:11px;line-height:1.4;padding:4px 8px;pointer-events:none}
.rg-int__counter{position:absolute;right:18px;bottom:16px;z-index:3;background:var(--surface);color:var(--text-3);font-size:11px;line-height:1.4;padding:4px 8px;pointer-events:none}
.rg-int__arrow{position:absolute;top:50%;margin-top:-22px;z-index:4;width:var(--tap);height:var(--tap);display:flex;align-items:center;justify-content:center;background:var(--surface);font-size:16px}
.rg-int__arrow--prev{left:18px}
.rg-int__arrow--next{right:18px}
.rg-int__arrow:hover{color:var(--patina)}
.rg-int__arrow:disabled{color:var(--disabled)}

/* ---------- Название, разделы и текст */
.rg-int__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:72px;align-items:start;padding-top:48px;padding-bottom:72px}
.rg-int__intro-main{display:flex;flex-direction:column;gap:16px}
.rg-int__title{font-family:var(--font-display);font-weight:400;font-size:44px;line-height:1.08;overflow-wrap:break-word}
.rg-int__terms{display:flex;flex-wrap:wrap;gap:8px}
.rg-int__term{position:relative;z-index:0;display:inline-flex;align-items:center;min-height:var(--tap);padding:0 12px;font-size:13px}
.rg-int__term::before{content:"";position:absolute;inset:6px 0;border:1px solid var(--line);z-index:-1}
.rg-int__term:hover::before{border-color:var(--ink)}
.rg-int__text{font-size:17px;line-height:1.65;color:var(--text-2);display:flex;flex-direction:column;gap:var(--s-4)}
.rg-int__text p{margin:0}
.rg-int__text a{border-bottom:1px solid var(--underline)}

/* ---------- «Предметы в кадре» и «Похожие интерьеры» */
.rg-int__sec{display:flex;flex-direction:column;gap:28px;padding-bottom:80px}
.rg-int__sec--products{border-top:1px solid var(--line);padding-top:56px}
.rg-int__sec--similar{padding-bottom:88px}
.rg-int__h2{font-family:var(--font-display);font-weight:400;font-size:32px;line-height:1.15}
.rg-int__similar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}

@media (max-width:1099px){
  .rg-int__similar{grid-template-columns:repeat(3,minmax(0,1fr))}
  /* Узкая страница: название и текст в одну колонку — иначе заголовок рвётся на три строки */
  .rg-int__intro{grid-template-columns:minmax(0,1fr);gap:20px}
}
@media (max-width:760px){
  .rg-int__top{padding-top:0}
  .rg-int__crumbs{display:none}
  .rg-int__back{display:flex;align-items:center;min-height:var(--tap);font-size:14px;color:var(--text-3)}
  .rg-int__stagewrap{padding-left:0;padding-right:0;padding-top:0}
  .rg-int__acts{right:12px;top:10px}
  .rg-int__source{left:12px;bottom:12px}
  .rg-int__counter{right:12px;bottom:12px}
  .rg-int__arrow{display:none}
  /* Телефон: карточка метки выезжает снизу во всю ширину */
  .rg-int__pop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;z-index:70;padding:12px;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"media text link";gap:12px;align-items:center;box-shadow:0 -18px 40px -18px rgba(23,30,26,.6)}
  .rg-int__point:has(> .rg-int__pop:not([hidden])){z-index:70} /* открытая карточка снизу экрана — поверх карточек «Предметы в кадре» (у сердечек z-index 4) */
  .rg-int__pop-media{width:64px;height:80px}
  .rg-int__pop-name{font-size:14px}
  .rg-int__pop-price{font-size:17px}
  .rg-int__pop-link{justify-self:end;align-self:center;height:var(--tap);padding:0 16px;background:var(--ink);color:var(--surface);font-size:14px}
  .rg-int__pop-link::after{display:none}
  .rg-int__pop-link:hover{color:var(--surface)}
  .rg-int__pop-link-full{display:none}
  .rg-int__pop-link-short{display:inline}
  .rg-int__intro{grid-template-columns:minmax(0,1fr);gap:14px;padding-top:28px;padding-bottom:36px}
  .rg-int__title{font-size:30px;line-height:1.12}
  .rg-int__text{font-size:15px;line-height:1.6;gap:var(--s-3)}
  .rg-int__sec{gap:16px;padding-bottom:40px}
  .rg-int__sec--products{padding-top:28px}
  .rg-int__sec--similar{padding-bottom:48px}
  .rg-int__h2{font-size:24px}
  .rg-int__similar{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
}
