/* Claude v3.8 (E10): вид списков покупателя — сердечко карточки, кнопка PDP, сердечко шапки со счётчиком, панель избранного, разделы кабинета.
   Разметка — inc/account-lists.php, поведение — assets/hg-lists.js. Цвета — токены темы (hub.css), день и ночь.
   Без JS и без localStorage кнопок нет (hidden); html.hg-fav-on ставит скрипт в <head> — место кнопок держится с первой отрисовки, CLS 0. */

/* ---------------------------------------------------------------- скрытые и резерв места
   hidden сильнее правил вида (0,3,2 против ≤0,3,0: у сердечка шапки .hg-store .jp-header .hg-fav-head), резерв — ещё сильнее (0,4,2) */
html body.hg-store :is(.hg-fav-card,.hg-fav-pdp,.hg-fav-head,.hg-lists-all)[hidden],html body.hg-store .hg-fav-head__count[hidden]{display:none}
html.hg-fav-on body.hg-store :is(.hg-fav-card,.hg-fav-pdp,.hg-fav-head)[hidden]{display:inline-flex;visibility:hidden}
/* «блик» Ecomus button:hover::after (анимация shine) — не у этих кнопок: прозрачное поле сердечка над фото и строки панели (как в доке) */
.hg-store :is(.hg-fav-card,.hg-fav-pdp,.hg-fav-head,.hg-fav-row__rm,.hg-lists-car__rm,.hg-lists-all,.hg-fav-panel__close,.hg-fav-toast .hg-toast__link)::after{content:none}

/* ---------------------------------------------------------------- сердечко (общая линия, заливка — у нажатой кнопки) */
.hg-fav-heart{display:block;flex:none;fill:none;stroke:currentColor;transition:fill .2s var(--hg-ease),stroke .2s var(--hg-ease)}
.hg-store :is(.hg-fav-card,.hg-fav-pdp)[aria-pressed=true] .hg-fav-heart{fill:var(--hg-fav-on);stroke:var(--hg-fav-on)}
.hg-fav-inline{display:inline-block;color:var(--hg-red);line-height:0;vertical-align:-.2em}
.hg-fav-inline .hg-fav-heart{width:1.15em;height:1.15em;fill:currentColor;stroke:currentColor}

/* ---------------------------------------------------------------- карточка: над быстрым просмотром, тот же белый круг; поле нажатия — весь квадрат 44×44
   (кнопка прозрачная и без скругления: у круглой кнопки углы квадрата уходили бы в ссылку фото) */
.hg-store .hg-fav-card{--hg-fav-on:#c92720;position:absolute;right:8px;bottom:56px;z-index:3;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#181a1d;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hg-store .hg-fav-card:is(:hover,:focus,:active){background:transparent;box-shadow:none;color:#181a1d}
.hg-fav-card__disc{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 3px 12px #00000033;transition:background-color .2s var(--hg-ease),color .2s var(--hg-ease)}
.hg-fav-card .hg-fav-heart{width:20px;height:20px}
@media (hover:hover){
  .hg-store .hg-fav-card:hover{--hg-fav-on:#ff6b57}
  .hg-store .hg-fav-card:hover .hg-fav-card__disc{background:#181a1d;color:#fff}
}
.hg-store .hg-fav-card:focus-visible{outline:0}
.hg-store .hg-fav-card:focus-visible .hg-fav-card__disc{outline:2px solid var(--hg-red);outline-offset:2px}
@media (max-width:680px){
  .hg-store .hg-fav-card{right:3px;bottom:47px}
  .hg-fav-card__disc{width:36px;height:36px}
  .hg-fav-card .hg-fav-heart{width:18px;height:18px}
}

/* ---------------------------------------------------------------- PDP: строка «問い合わせる» + кнопка; узкая строка — только значок (имя кнопки остаётся текстом) */
.hg-store .hg-buy__ask-row{display:flex;align-items:stretch;gap:8px;margin-top:8px;container:hg-ask/inline-size}
.hg-store .hg-buy .hg-buy__ask-row>.hg-buy__ask.jp-button{flex:1 1 0;width:auto;min-width:0;margin-top:0}
.hg-store .hg-fav-pdp{--hg-fav-on:var(--hg-red);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;box-sizing:border-box;min-width:54px;min-height:46px;margin:0;padding:0 16px;border:1px solid var(--hg-line);border-radius:8px;background:transparent;box-shadow:none;color:var(--hg-ink);font:600 14px/1.5 Montserrat,'Noto Sans JP','Noto Sans JP Fallback',sans-serif;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:background-color .2s var(--hg-ease),border-color .2s var(--hg-ease)}
.hg-store .hg-fav-pdp:is(:hover,:focus,:active){background:transparent;box-shadow:none;color:var(--hg-ink)}
.hg-store .hg-fav-pdp:hover{background:var(--hg-soft)}
.hg-store .hg-fav-pdp[aria-pressed=true]{border-color:color-mix(in srgb,var(--hg-red) 55%,var(--hg-line))}
.hg-store .hg-fav-pdp:focus-visible{outline:2px solid var(--hg-red);outline-offset:2px}
.hg-fav-pdp .hg-fav-heart{width:20px;height:20px}
@container hg-ask (max-width:439px){
  .hg-store .hg-fav-pdp{width:54px;padding:0}
  .hg-store .hg-fav-pdp__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* ---------------------------------------------------------------- шапка: ПК — между кабинетом и корзиной; телефон — справа от поиска */
.hg-store .jp-header .hg-fav-head{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0 -12px;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none;color:var(--hg-ink);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hg-store .jp-header .hg-fav-head:is(:hover,:focus,:active){background:transparent;box-shadow:none;color:var(--hg-ink)}
@media (hover:hover){.hg-store .jp-header .hg-fav-head:hover{color:var(--hg-red)}}
.hg-store .jp-header .hg-fav-head:focus-visible{outline:2px solid var(--hg-red);outline-offset:2px}
.hg-fav-head .hg-fav-heart{width:22px;height:22px}
.hg-fav-head__count{position:absolute;top:3px;left:24px;display:inline-grid;place-items:center;box-sizing:border-box;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--hg-red);color:#fff;font-size:10px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;pointer-events:none}
html[data-theme=dark] .hg-fav-head__count{background:var(--hg-action);color:#fff}
/* 681–1000: зазор шапки 12 px, поля −12 px — поля нажатия кабинета, сердечка и корзины встык (без наложения); шире не делать:
   подпись бренда ru на 681 переносится при ширине бренда < 229 px (header_widths: before/after) */
@media (max-width:680px){
  html.hg-fav-on .hg-store .jp-header .jp-search{grid-column:1/3}
  .hg-store .jp-header .hg-fav-head{grid-column:3;grid-row:2;justify-self:center;align-self:center;margin:0}
}
/* ≤370: подпись бренда скрыта (hub.css) — в первой строке есть место; поиск остаётся во всю ширину */
@media (max-width:370px){
  html.hg-fav-on .hg-store .jp-header-main{grid-template-columns:minmax(0,1fr) 44px 48px 44px}
  html.hg-fav-on .hg-store .jp-header .jp-search{grid-column:1/-1}
  .hg-store .jp-header .hg-fav-head{grid-column:4;grid-row:1}
}

/* ---------------------------------------------------------------- уведомление: кнопка «お気に入りを見る» в виде ссылки .hg-toast__link */
.hg-fav-toast .hg-toast__link{margin:0;padding:0;border:0;background:none;box-shadow:none;font:inherit;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer}
.hg-fav-toast .hg-toast__link:is(:hover,:focus){background:none;color:var(--hg-red-hover)}
.hg-fav-toast :is(.hg-toast__link,.hg-toast__close):focus-visible{outline:2px solid var(--hg-red);outline-offset:2px}

/* ---------------------------------------------------------------- панель избранного: ПК — справа во всю высоту, телефон — лист снизу */
.hg-fav-panel{position:fixed;inset:0 0 0 auto;box-sizing:border-box;flex-direction:column;width:min(440px,100vw);max-width:100vw;height:100%;max-height:100%;margin:0;padding:0;border:0;border-left:1px solid var(--hg-line);border-radius:0;background:var(--hg-white);color:var(--hg-ink);box-shadow:-18px 0 48px #0000002e;overflow:hidden;overscroll-behavior:contain}
.hg-fav-panel[open]{display:flex}
.hg-fav-panel::backdrop{background:rgb(0 0 0/.48)}
body.hg-fav-lock{overflow:hidden;padding-right:var(--hg-fav-gutter,0px)}
html:has(>body.hg-fav-lock){overflow:hidden}
.hg-fav-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 10px 12px 20px;border-bottom:1px solid var(--hg-line)}
.hg-fav-panel .hg-fav-panel__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0;margin:0;font-size:20px;font-weight:700;line-height:1.4;letter-spacing:0}
/* заголовок получает фокус программно (tabindex=-1, не в порядке Tab): без рамки — WebKit рисовал её и после касания */
.hg-fav-panel .hg-fav-panel__title:focus{outline:0}
.hg-fav-panel__n{color:var(--hg-muted);font-size:14px;font-weight:600}
.hg-fav-panel .hg-fav-panel__close{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--hg-ink);cursor:pointer}
.hg-fav-panel .hg-fav-panel__close:hover{background:var(--hg-soft);color:var(--hg-ink)}
.hg-fav-panel .hg-fav-panel__note{margin:0;padding:10px 20px 0;color:var(--hg-muted);font-size:12px;line-height:1.6}
.hg-fav-panel .hg-fav-panel__status{margin:8px 20px 0;padding:8px 12px;border-radius:8px;background:var(--hg-soft);color:var(--hg-ink);font-size:13px;line-height:1.6}
.hg-fav-panel .hg-fav-panel__status:empty{display:none}
.hg-fav-panel .hg-fav-panel__status[data-say=quiet]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hg-fav-panel__body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:4px 20px 20px}
.hg-fav-list{list-style:none;margin:0;padding:0}
.hg-fav-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:12px 0;border-bottom:1px solid var(--hg-line)}
.hg-fav-row:last-child{border-bottom:0}
.hg-fav-row__media{display:block;width:64px;height:64px;border-radius:8px;overflow:hidden;background:var(--hg-soft)}
.hg-fav-row__media img{display:block;width:100%;height:100%;object-fit:cover}
.hg-fav-row:is([data-state=sold],[data-state=gone]) .hg-fav-row__media img{opacity:.55;filter:grayscale(1)}
.hg-fav-row__body{display:grid;gap:2px;min-width:0}
.hg-fav-panel .hg-fav-row__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--hg-ink);font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;word-break:auto-phrase;overflow-wrap:anywhere}
.hg-fav-panel .hg-fav-row__title:hover{color:var(--hg-red);text-decoration:underline;text-underline-offset:3px}
.hg-fav-panel .hg-fav-row__size{margin:0;color:var(--hg-muted);font-size:12.5px;line-height:1.5}
.hg-fav-panel .hg-fav-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-height:22px;margin:2px 0 0;font-size:13px;line-height:1.5}
.hg-fav-list[aria-busy=true] .hg-fav-row[data-state=wait] .hg-fav-row__meta::before{content:"";display:block;width:104px;height:12px;border-radius:6px;background:var(--hg-soft)}
.hg-fav-price{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:0 6px}
.hg-fav-price b{font-size:15px;font-weight:700}
.hg-fav-price small{color:var(--hg-muted);font-size:12px}
.hg-fav-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:var(--hg-soft);color:var(--hg-ink);font-size:12px;font-weight:700}
.hg-fav-panel .hg-fav-row__same{display:inline-flex;align-items:center;min-height:44px;margin:-11px 0;color:var(--hg-red);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hg-fav-muted{color:var(--hg-muted)}
.hg-store :is(.hg-fav-row__rm,.hg-lists-car__rm){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;margin:0;padding:0 12px;border:1px solid var(--hg-line);border-radius:8px;background:transparent;box-shadow:none;color:var(--hg-ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:0;white-space:nowrap;cursor:pointer}
.hg-store :is(.hg-fav-row__rm,.hg-lists-car__rm):is(:hover,:focus){background:var(--hg-soft);color:var(--hg-ink)}
.hg-fav-panel :is(a,button):focus-visible,.hg-lists-dash :is(a,button):focus-visible{outline:2px solid var(--hg-red);outline-offset:2px}

/* пусто: лицо маскота и реплика (как строчные подсказки маскота), под ней — действие */
.hg-fav-empty,.hg-lists-empty{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:14px}
.hg-fav-empty{padding:24px 0 8px}
.hg-fav-empty[hidden]{display:none}
:is(.hg-fav-empty,.hg-lists-empty)>span:first-child{display:block;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--hg-soft)}
:is(.hg-fav-empty,.hg-lists-empty)>span:first-child img{display:block;width:100%;height:100%;object-fit:cover}
.hg-fav-empty__text,.hg-lists-empty__text{display:grid;justify-items:start;gap:12px;min-width:0}
.hg-store :is(.hg-fav-empty__say,.hg-lists-empty__say){position:relative;margin:4px 0 0;padding:12px 16px;border:1px solid var(--hg-line);border-radius:14px;background:var(--hg-paper);color:var(--hg-ink);font-size:14px;line-height:1.7;word-break:auto-phrase;overflow-wrap:anywhere}
:is(.hg-fav-empty__say,.hg-lists-empty__say)::before{content:"";position:absolute;left:-7px;top:18px;width:12px;height:12px;border-left:1px solid var(--hg-line);border-bottom:1px solid var(--hg-line);background:var(--hg-paper);transform:rotate(45deg)}
.hg-store .hg-fav-empty__cta.jp-button{display:inline-flex;width:auto;min-height:48px;margin:0;padding:12px 24px}
.hg-store .hg-lists-empty__link{display:inline-flex;align-items:center;min-height:44px;color:var(--hg-red);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.hg-store [data-hg-lists-theme=night]{display:none}
html[data-theme=dark] .hg-store [data-hg-lists-theme=day]{display:none}
html[data-theme=dark] .hg-store [data-hg-lists-theme=night]{display:block}

@media (max-width:680px){
  .hg-fav-panel{inset:auto 0 0 0;width:100%;height:auto;max-height:min(88dvh,calc(100dvh - 48px));border-left:0;border-top:1px solid var(--hg-line);border-radius:16px 16px 0 0;box-shadow:0 -18px 48px #0000002e}
  .hg-fav-panel__head{padding:10px 8px 10px 16px}
  .hg-fav-panel .hg-fav-panel__note{padding:10px 16px 0}
  .hg-fav-panel .hg-fav-panel__status{margin:8px 16px 0}
  .hg-fav-panel__body{padding:4px 16px calc(16px + env(safe-area-inset-bottom,0px))}
  .hg-fav-row{grid-template-columns:56px minmax(0,1fr) auto;gap:10px}
  .hg-fav-row__media{width:56px;height:56px}
}

/* ---------------------------------------------------------------- кабинет: разделы «お気に入り» и «マイカー» */
.hg-lists-dash{min-width:0;container:hg-dash/inline-size}
.hg-account-page .hg-lists-section .hg-member-section-head{margin-bottom:14px}
.hg-account-page .hg-lists-section .hg-member-section-head h3{display:flex;align-items:baseline;gap:10px}
.hg-lists-n{color:var(--hg-muted);font-size:14px;font-weight:600}
.hg-lists-section h3:focus{outline:0}
.hg-account-page .hg-lists-all{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--hg-ink);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.hg-account-page .hg-lists-all:hover{background:none;color:var(--hg-red)}
.hg-lists-body{box-sizing:border-box;padding:16px;border:1px solid var(--hg-line);border-radius:12px;background:var(--hg-white)}
.hg-lists-body:empty{display:none}
.hg-lists-nojs{margin:0;padding:16px;border:1px dashed var(--hg-line);border-radius:12px;color:var(--hg-muted);font-size:14px}
.hg-lists-grid{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0}
.hg-lists-tile{margin:0;min-width:0}
.hg-account-page .hg-lists-tile__link{display:grid;gap:8px;color:var(--hg-ink);text-decoration:none}
.hg-lists-tile__media{position:relative;display:block;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--hg-soft)}
.hg-lists-tile__media img{display:block;width:100%;height:100%;object-fit:cover}
.hg-lists-tile[data-state=sold] .hg-lists-tile__media img{opacity:.55;filter:grayscale(1)}
.hg-lists-tile__text{display:grid;gap:2px;min-width:0}
.hg-lists-tile__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3em;font-size:13px;font-weight:600;line-height:1.5;word-break:auto-phrase;overflow-wrap:anywhere}
/* размер и «売り切れ» — одна строка постоянной высоты: пометка после загрузки статуса не сдвигает страницу */
.hg-lists-tile__meta{display:block;height:18px;overflow:hidden;color:var(--hg-muted);font-size:12px;line-height:18px;white-space:nowrap;text-overflow:ellipsis}
.hg-lists-tile__sold{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--hg-soft);color:var(--hg-ink);font-size:11px;font-weight:700;line-height:18px;vertical-align:top}
.hg-lists-tile__meta>.hg-lists-tile__sold:first-child{margin-left:0}
.hg-account-page .hg-lists-tile__link:hover .hg-lists-tile__title{color:var(--hg-red);text-decoration:underline;text-underline-offset:3px}
.hg-lists-cars{list-style:none;display:grid;margin:0;padding:0}
.hg-lists-car{display:flex;align-items:center;gap:12px;margin:0;padding:6px 0}
.hg-lists-car+.hg-lists-car{border-top:1px solid var(--hg-line)}
.hg-account-page .hg-lists-car__link{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0;min-height:44px;color:var(--hg-ink);font-size:15px;font-weight:600;line-height:1.5;text-decoration:none}
.hg-lists-car__link svg{flex:none;color:var(--hg-muted)}
.hg-store .hg-lists-car__rm{flex:none}
.hg-lists-car__name{min-width:0;overflow-wrap:anywhere}
.hg-account-page .hg-lists-car__link:hover{color:var(--hg-red);text-decoration:underline;text-underline-offset:3px}
@container hg-dash (max-width:899px){.hg-lists-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container hg-dash (max-width:479px){
  .hg-lists-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .hg-lists-tile+.hg-lists-tile{border-top:1px solid var(--hg-line)}
  .hg-account-page .hg-lists-tile__link{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:8px 0}
  .hg-lists-tile__title{min-height:0}
  .hg-lists-tile__media{width:56px}
  .hg-lists-body{padding:8px 14px}
  .hg-lists-empty{padding:8px 0}
}

@media (prefers-reduced-motion:reduce){
  .hg-fav-heart,.hg-fav-card__disc,.hg-store .hg-fav-pdp{transition:none}
}
