/* ROGACHEV — каталог: заголовок, быстрые ссылки, фильтры, сетка, подгрузка (docs/spec-catalog.html, design/catalog). */

.rg-catalog__crumbs{padding-top:22px}
.rg-catalog__back{display:none}
.rg-catalog__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 64px;align-items:end;padding-top:36px;padding-bottom:40px}
/* Нет текста под заголовком — заголовок занимает всю ширину: длинные названия разделов не переносятся. */
.rg-catalog__head--wide{grid-template-columns:minmax(0,1fr)}
.rg-catalog__titlerow{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;min-width:0;max-width:100%}
/* Размер заголовка подстраивается под ширину колонки: «Настольные лампы» остаётся в одну строку. */
.rg-catalog__title{font-family:var(--font-display);font-weight:400;font-size:clamp(40px,4.4vw,64px);line-height:1;overflow-wrap:break-word;max-width:100%}
.rg-catalog__count{font-size:13px;white-space:nowrap}
.rg-catalog__intro{font-size:16px;line-height:1.6;color:var(--text-2);max-width:520px;justify-self:end}
/* Компьютер: ссылки переносятся на следующую строку (прокрутки вбок мышью нет — хвост обрезался у края экрана).
   Планшет и телефон: одна строка с прокруткой пальцем, до краёв экрана — видно, что ряд продолжается. */
.rg-catalog__quick{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:28px}
.rg-catalog__quick::-webkit-scrollbar{display:none}

/* ---------- Строка фильтров (компьютер) */
/* Строка фильтров и сортировки закрепляется под шапкой (компьютер и телефон), строка выбранных фильтров — нет.
   У обёртки нет своей коробки: иначе строка прилипала бы только в её пределах, а не на всю высоту каталога.
   Верхняя линия строки ложится под нижнюю линию шапки (--rg-header-h — высота шапки без линии) — линия одна. */
.rg-filters{display:contents}
.rg-fbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;padding-bottom:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:var(--rg-header-h);z-index:30;background:var(--ground)}
/* Закреплённая строка ужимается: отступы 8 px вместо 20 — строка ~62 px (решение дизайна 22.09). Разницу добирает
   нижний отступ снаружи, поэтому сетка под строкой в момент закрепления не прыгает. header.js ставит is-stuck. */
.rg-fbar{transition:padding .15s ease,margin .15s ease}
.rg-fbar.is-stuck{padding-top:8px;padding-bottom:8px;margin-bottom:24px}
@media (prefers-reduced-motion:reduce){.rg-fbar{transition:none}}
.rg-fbar__left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.rg-fbar__right{display:flex;gap:22px;align-items:center;flex:none}
.rg-fdrop{position:relative}
.rg-fdrop__panel{position:absolute;top:52px;left:0;z-index:35;width:300px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(23,30,26,.35);padding:14px 20px 18px}
.rg-fdrop__panel--sort{left:auto;right:0;width:240px;padding:8px 20px}
.rg-fdrop__list{display:flex;flex-direction:column;max-height:420px;overflow-y:auto}
.rg-fdrop__list.is-collapsed{max-height:320px;overflow:hidden}
.rg-fdrop__row{display:flex;align-items:center;gap:12px;min-height:40px;font-size:14px;cursor:pointer;position:relative}
.rg-fdrop__row.is-off{opacity:.38;cursor:default}
.rg-fdrop__row--child{padding-left:30px}
.rg-fdrop__row--parent{font-weight:500}
.rg-fdrop__row input{position:absolute;opacity:0;width:1px;height:1px}
.rg-fdrop__box{width:18px;height:18px;border:1px solid #B5BDB5;flex:none;display:flex;align-items:center;justify-content:center;color:transparent}
.rg-fdrop__row input:checked ~ .rg-fdrop__box{border-color:var(--ink);background:var(--ink);color:var(--surface)}
.rg-fdrop__row input:focus-visible ~ .rg-fdrop__box,.rg-fdrop__row input:focus-visible ~ .rg-fdrop__radio{outline:2px solid var(--ink);outline-offset:2px}
.rg-fdrop__radio{width:18px;height:18px;border-radius:50%;border:1px solid #B5BDB5;flex:none;position:relative}
.rg-fdrop__row input:checked ~ .rg-fdrop__radio{border-color:var(--ink)}
.rg-fdrop__row input:checked ~ .rg-fdrop__radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--ink)}
.rg-fdrop__dot{width:16px;height:16px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(23,30,26,.18)}
.rg-fdrop__name{flex:1;min-width:0}
.rg-fdrop__count{font-size:12px;color:var(--text-3)}
.rg-fdrop__search{width:100%;height:40px;padding:0 12px;margin-bottom:8px;border:1px solid var(--line);background:var(--ground);font-size:14px;outline:none;appearance:none;-webkit-appearance:none}
.rg-fdrop__search:focus{border-color:var(--ink)}
.rg-fdrop__all{font-size:13px;color:var(--text-3);border-bottom:1px solid var(--line);margin-top:8px;align-self:flex-start;min-height:32px}
.rg-fdrop__foot{display:flex;justify-content:space-between;border-top:1px solid var(--line-soft);margin-top:10px;padding-top:14px;font-size:14px}
.rg-fdrop__foot button{min-height:32px}
.rg-fdrop__foot button:first-child{color:var(--text-3)}
.rg-fdrop__foot button:last-child{border-bottom:1px solid var(--ink);min-height:0;line-height:1.3;align-self:center}

/* Переключатель «Можно с водой» в строке */
.rg-fwater{display:flex;align-items:center;gap:10px;height:var(--tap);padding:0 4px;font-size:14px;cursor:pointer;position:relative}
.rg-fwater input{position:absolute;opacity:0;width:1px;height:1px}
.rg-fwater__track{width:36px;height:20px;border-radius:10px;background:var(--line);position:relative;flex:none;transition:background-color .15s}
.rg-fwater__track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface);transition:transform .15s}
.rg-fwater input:checked ~ .rg-fwater__track{background:var(--patina)}
.rg-fwater input:checked ~ .rg-fwater__track::after{transform:translateX(16px)}
.rg-fwater input:focus-visible ~ .rg-fwater__track{outline:2px solid var(--ink);outline-offset:2px}
.rg-fwater__track--big{width:44px;height:26px;border-radius:13px}
.rg-fwater__track--big::after{top:3px;left:3px;width:20px;height:20px}
input:checked ~ .rg-fwater__track--big::after{transform:translateX(18px)}

/* Сортировка и вид */
.rg-fsort__btn{display:inline-flex;align-items:center;gap:9px;font-size:14px;min-height:var(--tap)}
.rg-fsort__btn .rg-muted{font-size:14px}
.rg-fsort__btn .rg-icon,.rg-filterbtn .rg-icon{color:var(--text-3)}
/* Значки вида — как в макете: залитые 18 px, зазор 10, неактивный светлый; нажимаемая область 44 */
.rg-fview{display:flex;gap:10px}
.rg-fview__btn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#B5BDB5;position:relative}
.rg-fview__btn::before{content:"";position:absolute;inset:-13px}
/* Две кнопки вида стоят в 10 px друг от друга: зоны нажатия 44×44 расходятся наружу, а не перекрываются */
.rg-fview__btn:first-child::before{left:-21px;right:-5px}
.rg-fview__btn:last-child::before{left:-5px;right:-21px}
.rg-fview__btn:hover{color:var(--text-3)}
.rg-fview__btn[aria-pressed="true"]{color:var(--text)}

/* Телефонная строка */
.rg-fmobile{display:none}

/* Выбранные фильтры */
.rg-fchips{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:18px}
.rg-fchips__list{display:flex;gap:10px;flex-wrap:wrap}
.rg-fchips__reset{font-size:13px;color:var(--text-3);border-bottom:1px solid var(--line);margin-left:8px;min-height:var(--tap);display:inline-flex;align-items:center;border-bottom:0;position:relative}
.rg-fchips__reset::after{content:"";position:absolute;left:0;right:0;bottom:12px;height:1px;background:var(--line)}
.rg-fchips__total{margin-left:auto;font-size:12px}

/* ---------- Сетка */
.rg-catalog__body{padding-top:40px}
.rg-catalog.has-filters .rg-catalog__body{padding-top:32px}
.rg-catalog__grid{gap:48px 24px}
.rg-catalog__grid[data-cols="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.rg-catalog__grid.is-loading{opacity:.55;pointer-events:none}
.rg-grid__item--insert{grid-column:span 2}
.rg-insert{display:flex;align-items:flex-end;position:relative;height:100%;min-height:100%;background:linear-gradient(170deg,#E7E1D6 0%,#CFC6B6 100%);overflow:hidden}
.rg-insert img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rg-insert__text{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px;background:linear-gradient(to top,rgba(246,247,244,.92),rgba(246,247,244,0));width:100%}
.rg-insert__eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5E4B2C}
.rg-insert__title{font-family:var(--font-display);font-size:22px;line-height:1.15;color:#2A241B}
.rg-insert__link{font-size:13px;color:#5E4B2C;border-bottom:1px solid #A8997C;align-self:flex-start}
.rg-insert--mobile{display:none}

/* Подгрузка */
.rg-catalog__more{display:flex;flex-direction:column;align-items:center;gap:16px;padding:72px 0 80px}
.rg-catalog__more-btn{min-height:58px;padding:8px 56px}
.rg-catalog__more-error{font-size:14px;color:var(--brick)}
.rg-catalog__more-error button{border-bottom:1px solid currentColor;min-height:var(--tap);margin:-12px 0}
.rg-catalog__progress{width:280px;height:2px;background:var(--line)}
.rg-catalog__progress i{display:block;height:2px;background:var(--ink);transition:width .3s}
.rg-catalog__shown{font-size:12px;text-align:center}
/* Номера страниц — вся строка серая, как в макете; нажимаемая область больше строки, не раздвигая её */
.rg-catalog__pages a{display:inline-block;padding:14px 4px;margin:-14px -2px;color:var(--text-3)}
.rg-catalog__pages a:hover{color:var(--text)}
.rg-catalog__empty{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:24px 0 80px}
.rg-catalog__empty .rg-grid{width:100%}

/* Текст о разделе */
.rg-catalog__about{border-top:1px solid var(--line)}
.rg-catalog__about-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;padding-top:64px;padding-bottom:88px}
.rg-catalog__about-title{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1.2}
.rg-catalog__about-text{font-size:15px;line-height:1.7;color:var(--text-2);display:flex;flex-direction:column;gap:12px}
.rg-catalog__viewed{padding:0 0 96px}
.rg-catalog__viewed .rg-container{display:flex;flex-direction:column;gap:32px}
.rg-catalog__h2{font-size:34px}

/* ================= Телефон и планшет */
@media (max-width:1023px){
  .rg-catalog__crumbs{display:none}
  .rg-catalog__back{display:flex;align-items:center;height:var(--tap);padding:0 var(--page-x);font-size:14px;color:var(--text-3)}
  .rg-catalog__head{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:8px;padding-bottom:24px}
  .rg-catalog__titlerow{gap:12px;width:100%}
  .rg-catalog__title{font-size:clamp(28px,8.4vw,40px)}
  .rg-catalog__count{font-size:12px}
  .rg-catalog__intro{font-size:15px;line-height:1.55;max-width:none;justify-self:start}
  .rg-catalog__quick{flex-wrap:nowrap;gap:8px;padding-bottom:20px;overflow-x:auto;scrollbar-width:none;max-width:none;margin:0;padding-left:var(--page-x);padding-right:var(--page-x);scroll-padding-inline:var(--page-x)}
  .rg-fchips{display:none}
  .rg-catalog__body{padding-top:24px}
  .rg-catalog.has-filters .rg-catalog__body{padding-top:24px}
  .rg-catalog__grid{gap:28px 12px}
  .rg-catalog__grid[data-cols="1"]{grid-template-columns:minmax(0,1fr)}
  .rg-catalog__grid[data-cols="1"] .rg-card__name{font-size:16px}
  .rg-catalog__grid[data-cols="1"] .rg-card__price{font-size:19px}
  .rg-catalog__grid[data-cols="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rg-grid__item--insert{grid-column:span 2}
  /* Одна колонка: вставка не растягивается на две (иначе сетка получает пустую колонку 0 px и сдвиг на промежуток) */
  .rg-catalog__grid[data-cols="1"] .rg-grid__item--insert{grid-column:auto}
  .rg-insert{height:250px;min-height:0}
  .rg-insert--mobile{display:block}
  .rg-catalog__more{padding:40px 0 48px;gap:14px}
  .rg-catalog__more-btn{width:100%;min-height:54px;font-size:15px;padding:8px 16px}
  .rg-catalog__progress{display:none}
  .rg-catalog__pages{display:block;padding-top:6px}
  .rg-catalog__about-inner{display:flex;flex-direction:column;gap:16px;padding-top:36px;padding-bottom:44px}
  .rg-catalog__about-title{font-size:24px}
  .rg-catalog__viewed{padding-bottom:44px}
  .rg-catalog__viewed .rg-container{gap:18px}
  .rg-catalog__h2{font-size:24px}
}
/* ================= Строка фильтров ниже 1280 px — «телефонная», одной строкой: «Фильтры · N» · сортировка · вид.
   Полная строка выпадающих списков на 1100–1279 переносилась в две строки и вместе с шапкой занимала треть экрана ноутбука. */
@media (max-width:1279px){
  .rg-fbar{display:none}
  .rg-fmobile{position:sticky;top:var(--rg-header-h);z-index:30;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 92px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ground)}
  .rg-fmobile__cell{display:flex;align-items:center;justify-content:center;gap:9px;height:52px;font-size:14px;border-right:1px solid var(--line);white-space:nowrap}
  .rg-fmobile__cell:last-child,.rg-fmobile__view{border-right:0}
  .rg-fmobile__view{gap:12px}
  .rg-fmobile__n{white-space:pre}
  /* Кнопки вида: сетка каталога от 1024 — компьютерная (4 или 3 в ряд), ниже — телефонная (2 или 1) */
  .rg-fmobile__views{display:contents}
  .rg-fmobile__views--m{display:none}
  .rg-fdrop__panel--sortm{position:absolute;top:52px;left:0;right:0;width:auto;z-index:35}

  /* Панель фильтров: на телефоне — снизу, от 761 — справа (ниже) */
  .rg-fsheet{position:fixed;inset:0;z-index:70}
  .rg-fsheet__overlay{position:absolute;inset:0;background:var(--overlay);opacity:0;transition:opacity .2s}
  .rg-fsheet__panel{position:absolute;left:0;right:0;bottom:0;top:56px;background:var(--surface);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .24s ease-out;box-shadow:0 -20px 40px rgba(23,30,26,.18)}
  .rg-fsheet.is-open .rg-fsheet__overlay{opacity:1}
  .rg-fsheet.is-open .rg-fsheet__panel{transform:none}
  .rg-fsheet__head{display:flex;align-items:center;gap:12px;height:64px;padding:0 8px 0 20px;border-bottom:1px solid var(--line);flex:none}
  .rg-fsheet__title{font-family:var(--font-display);font-size:24px;flex:1}
  .rg-fsheet__reset{font-size:14px;color:var(--text-3);border-bottom:1px solid var(--line);line-height:1.3}
  .rg-fsheet__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 20px}
  .rg-fsheet__sec{border-bottom:1px solid var(--line-soft)}
  .rg-fsheet__row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:56px;font-size:16px;cursor:pointer}
  .rg-fsheet__row > span:first-child{flex:1}
  .rg-fsheet__row .rg-icon{color:var(--text-3);transition:transform .15s}
  details[open] > .rg-fsheet__row .rg-icon{transform:rotate(180deg)}
  .rg-fsheet__row--static{cursor:default;padding-top:4px}
  .rg-fsheet__val{font-size:13px;color:var(--text-3);text-align:right;max-width:55%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rg-fsheet__val:empty{display:none}
  .rg-fsheet__list{padding:0 0 12px}
  .rg-fcolors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 6px;padding:8px 0 18px}
  .rg-fcolor{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;position:relative}
  .rg-fcolor input{position:absolute;opacity:0;width:1px;height:1px}
  .rg-fcolor i{width:44px;height:44px;border-radius:50%;display:block;box-shadow:inset 0 0 0 1px rgba(23,30,26,.18)}
  .rg-fcolor input:checked ~ i{box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--ink)}
  .rg-fcolor input:focus-visible ~ i{outline:2px solid var(--ink);outline-offset:6px}
  .rg-fcolor__name{font-size:12px;text-align:center;line-height:1.2}
  .rg-fcolor__count{font-size:10px;color:var(--text-3)}
  .rg-fcolor.is-off{opacity:.38}
  .rg-fchipset{display:flex;gap:8px;flex-wrap:wrap;padding:6px 0 18px}
  .rg-fchipset--pad{padding-top:0}
  .rg-fchipbox{position:relative;cursor:pointer}
  .rg-fchipbox input{position:absolute;opacity:0;width:1px;height:1px}
  .rg-fchipbox span{display:flex;align-items:center;height:var(--tap);padding:0 14px;border:1px solid var(--line);font-size:14px;white-space:nowrap}
  .rg-fchipbox input:checked ~ span{border-color:var(--ink);background:var(--ground)}
  .rg-fchipbox input:focus-visible ~ span{outline:2px solid var(--ink);outline-offset:2px}
  .rg-fchipbox.is-off{opacity:.38}
  .rg-fsheet__row--toggle{min-height:60px;position:relative}
  .rg-fsheet__row--toggle input{position:absolute;opacity:0;width:1px;height:1px}
  .rg-fsheet__foot{flex:none;padding:12px 20px max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
  .rg-fsheet .rg-fdrop__row{min-height:44px}
  .rg-fsheet .rg-fprice{padding:6px 0 8px}
  @media (prefers-reduced-motion:reduce){ .rg-fsheet__panel,.rg-fsheet__overlay{transition:none} }
}
@media (max-width:1023px){
  .rg-fmobile__views--m{display:contents}
  .rg-fmobile__views--d{display:none}
}
/* 761–1279: панель фильтров выезжает справа во всю высоту, как панель корзины; список сортировки — под своей кнопкой */
@media (min-width:761px) and (max-width:1279px){
  .rg-fdrop__panel--sortm{left:calc((100% - 92px) / 2);right:auto;width:calc((100% - 92px) / 2)}
  .rg-fsheet__panel{top:0;left:auto;right:0;bottom:0;width:min(420px,100%);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);box-shadow:-24px 0 60px -30px var(--overlay)}
  .rg-fsheet__overlay{transition:opacity .25s ease}
  .rg-fsheet__head{height:84px;padding:0 20px 0 32px}
  .rg-fsheet__title{font-size:26px;line-height:1.1}
  .rg-fsheet__body{padding:0 32px}
  .rg-fsheet__foot{padding:20px 32px 28px}
  @media (prefers-reduced-motion:reduce){ .rg-fsheet__panel,.rg-fsheet__overlay{transition:none} }
}
@media (min-width:1280px){ .rg-fsheet{display:none!important} }
/* Страница поиска: отступ над строкой фильтров (search.css задаёт его обёртке, у которой теперь нет коробки) */
@media (max-width:760px){ .rg-catalog--search .rg-fmobile{margin-top:16px} }
/* Страница поиска, 761–1279: верхнюю линию строки даёт линия вкладок (как у строки от 1280 — search.css), без двойной линии */
@media (min-width:761px) and (max-width:1279px){ .rg-catalog--search .rg-fmobile{border-top:0} }

/* ---------- Цена: поля и ползунок «от — до» */
.rg-fprice{display:flex;flex-direction:column;gap:16px}
.rg-fprice__inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rg-fprice__field{display:flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:1px solid var(--line);background:var(--ground);font-size:13px;color:var(--text-3)}
.rg-fprice__field input{width:100%;min-width:0;border:0;background:transparent;padding:0;font-family:var(--font-mono);font-size:14px;color:var(--text);outline:none}
.rg-fprice__slider{position:relative;height:24px}
.rg-fprice__slider input[type="range"]{position:absolute;left:0;right:0;top:0;width:100%;height:24px;margin:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none;z-index:2}
.rg-fprice__slider input[type="range"]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--surface);border:1px solid var(--ink);pointer-events:auto;cursor:pointer}
.rg-fprice__slider input[type="range"]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--surface);border:1px solid var(--ink);pointer-events:auto;cursor:pointer}
.rg-fprice__slider input[type="range"]:focus-visible{outline:none}
.rg-fprice__slider input[type="range"]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--ink);outline-offset:2px}
.rg-fprice__track{position:absolute;left:10px;right:10px;top:11px;height:2px;background:var(--line);display:block}
.rg-fprice__track b{position:absolute;top:0;height:2px;background:var(--ink);display:block}

/* ---------- Раздел света: переключатель «Включить свет» (catalog.js, data-rg-lights).
   У светильника два кадра с одной точки — «выключен» днём и «включён» вечером (мета _rg_light, слой .rg-card__light
   в карточке). Включили — кадры плавно сменяются по очереди, раздел уходит в вечер. Класс .is-night у раздела,
   поэтому режим переживает фильтры, сортировку и «Показать ещё». */
.rg-lights{margin-left:auto;display:inline-flex;align-items:center;gap:14px;height:var(--tap);padding:0 4px 0 18px;border:1px solid var(--line);flex:none;font-size:14px;transition:border-color .6s,background-color .6s,color .6s}
.rg-lights:hover{border-color:var(--ink)}
.rg-lights__label{white-space:nowrap}
.rg-lights__track{position:relative;width:44px;height:26px;margin-right:8px;background:var(--line);border-radius:13px;transition:background-color .5s,box-shadow .5s}
.rg-lights__knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);box-shadow:0 1px 3px rgba(23,30,26,.3);transition:transform .35s cubic-bezier(.3,1.4,.5,1),background-color .5s}
.rg-lights[aria-checked="true"]{border-color:#8A6A3A}
.rg-lights[aria-checked="true"] .rg-lights__track{background:#E0A954;box-shadow:0 0 18px rgba(255,186,90,.65)}
.rg-lights[aria-checked="true"] .rg-lights__knob{transform:translateX(18px);background:#FFF7E6}
.rg-lights.is-hint .rg-lights__knob{animation:rg-lights-hint 1.1s ease-in-out 2}
@keyframes rg-lights-hint{50%{transform:translateX(7px)}}

/* Слой света в карточке: вне разделов света не показывается (там обычные кадры) */
.rg-card__light{display:none}
.rg-catalog--lights .rg-card__light{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;transition:opacity .45s ease}
.rg-catalog--lights .rg-card__light.is-away{display:none}
.rg-card__light img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rg-card__light-on{opacity:0;transition:opacity 1.1s cubic-bezier(.4,0,.2,1)}
/* Мышь над выключенной лампой — слой уходит, видны остальные кадры (листаются движением, main.js) */
@media (hover:hover) and (pointer:fine){
  .rg-catalog--lights:not(.is-night) .rg-card:hover .rg-card__light{opacity:0}
}
/* Лампы загораются волной слева направо */
.rg-catalog--lights .rg-grid__item:nth-child(4n+2) .rg-card__light-on{transition-delay:.12s}
.rg-catalog--lights .rg-grid__item:nth-child(4n+3) .rg-card__light-on{transition-delay:.24s}
.rg-catalog--lights .rg-grid__item:nth-child(4n+4) .rg-card__light-on{transition-delay:.36s}
.rg-catalog--lights.is-night .rg-card__light-on{opacity:1;animation:rg-lamp-on 1.1s steps(1,end) both}
.rg-catalog--lights.is-night .rg-grid__item:nth-child(4n+2) .rg-card__light-on{animation-delay:.12s}
.rg-catalog--lights.is-night .rg-grid__item:nth-child(4n+3) .rg-card__light-on{animation-delay:.24s}
.rg-catalog--lights.is-night .rg-grid__item:nth-child(4n+4) .rg-card__light-on{animation-delay:.36s}
/* Короткое «моргание» при включении — как у настоящей лампы */
@keyframes rg-lamp-on{0%{opacity:0}8%{opacity:.7}14%{opacity:.15}22%{opacity:.9}30%{opacity:.5}40%,100%{opacity:1}}

/* Вечер: раздел темнеет вместе с кадрами. Фото без пары кадров просто приглушаются. */
.rg-catalog--lights{transition:background-color 1s ease,color 1s ease}
.rg-catalog--lights .rg-card__img{transition:filter 1s ease}
.rg-catalog--lights.is-night{
  --ground:#15120F; --surface:#221C17; --tile:#1D1814; --line:#3B3129; --line-soft:#2A231D; --ink:#F2E5CE;
  --text:#F2E5CE; --text-2:#CBBDA6; --text-3:#9A8D79; --underline:#7A6D5A;
  background:#15120F;color:var(--text)}
.rg-catalog--lights.is-night .rg-card__media{background:#1D1814}
.rg-catalog--lights.is-night .rg-card__img{filter:brightness(.55) saturate(.85)}
.rg-catalog--lights.is-night .rg-card__bars i{background:#4A3E33}
.rg-catalog--lights.is-night .rg-card__bars i.is-on{background:var(--ink)}
.rg-catalog--lights.is-night .rg-card__light ~ .rg-card__bars{opacity:0}

@media (max-width:760px){
  .rg-lights{order:-1;margin-left:0;padding-left:14px;gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .rg-lights.is-hint .rg-lights__knob,.rg-catalog--lights.is-night .rg-card__light-on{animation:none}
  .rg-catalog--lights,.rg-catalog--lights .rg-card__img,.rg-card__light-on{transition-duration:.01s!important;transition-delay:0s!important}
}
